-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathoptions.go
125 lines (111 loc) · 2.9 KB
/
options.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package main
import (
// Generated bindings
"time"
"github.com/couchbase-examples/wasmcloud-provider-couchbase/bindings/exports/wasmcloud/couchbase/document"
"github.com/couchbase/gocb/v2"
)
// This file contains the conversion functions for the options used in the document binding.
// TODO: complete options conversion
// GetAllReplicaOptions
func GetAllReplicaOptions(o *document.DocumentGetAllReplicaOptions) *gocb.GetAllReplicaOptions {
if o == nil {
return nil
}
return &gocb.GetAllReplicaOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// GetOptions
func GetOptions(o *document.DocumentGetOptions) *gocb.GetOptions {
if o == nil {
return &gocb.GetOptions{Transcoder: gocb.NewRawStringTranscoder()}
}
return &gocb.GetOptions{
Transcoder: gocb.NewRawStringTranscoder(),
WithExpiry: o.WithExpiry,
Project: o.Project,
// ...
}
}
// GetAndLockOptions
func GetAndLockOptions(o *document.DocumentGetAndLockOptions) *gocb.GetAndLockOptions {
if o == nil {
return nil
}
return &gocb.GetAndLockOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// GetAndTouchOptions
func GetAndTouchOptions(o *document.DocumentGetAndTouchOptions) *gocb.GetAndTouchOptions {
if o == nil {
return nil
}
return &gocb.GetAndTouchOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// GetAnyReplicaOptions
func GetAnyReplicaOptions(o *document.DocumentGetAnyReplicaOptions) *gocb.GetAnyReplicaOptions {
if o == nil {
return nil
}
return &gocb.GetAnyReplicaOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// InsertOptions
func InsertOptions(o *document.DocumentInsertOptions) *gocb.InsertOptions {
if o == nil {
return &gocb.InsertOptions{Transcoder: gocb.NewRawStringTranscoder()}
}
return &gocb.InsertOptions{
Timeout: time.Duration(*o.TimeoutNs),
Transcoder: gocb.NewRawStringTranscoder(),
}
}
// RemoveOptions
func RemoveOptions(o *document.DocumentRemoveOptions) *gocb.RemoveOptions {
if o == nil {
return nil
}
return &gocb.RemoveOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// ReplaceOptions
func ReplaceOptions(o *document.DocumentReplaceOptions) *gocb.ReplaceOptions {
if o == nil {
return &gocb.ReplaceOptions{Transcoder: gocb.NewRawStringTranscoder()}
}
return &gocb.ReplaceOptions{
Timeout: time.Duration(*o.TimeoutNs),
Transcoder: gocb.NewRawStringTranscoder(),
}
}
// TouchOptions
func TouchOptions(o *document.DocumentTouchOptions) *gocb.TouchOptions {
if o == nil {
return nil
}
return &gocb.TouchOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// UnlockOptions
func UnlockOptions(o *document.DocumentUnlockOptions) *gocb.UnlockOptions {
if o == nil {
return nil
}
return &gocb.UnlockOptions{
Timeout: time.Duration(*o.TimeoutNs),
}
}
// UpsertOptions
func UpsertOptions(o *document.DocumentUpsertOptions) *gocb.UpsertOptions {
if o == nil {
return &gocb.UpsertOptions{Transcoder: gocb.NewRawStringTranscoder()}
}
return &gocb.UpsertOptions{}
}