@@ -17,137 +17,234 @@ class SurrealWasmMutex extends Surreal {
1717 }
1818
1919 @override
20- Future <void > let (String key, Object value) async {
21- await _mutex.protect (() async {
22- return super .let (key, value);
23- });
20+ Future <void > let (String key, Object value, {bool mutex = false }) async {
21+ if (! mutex) {
22+ await super .let (key, value);
23+ } else {
24+ await _mutex.protect (() async {
25+ return super .let (key, value);
26+ });
27+ }
2428 }
2529
2630 @override
27- Future <void > unset (String key) async {
28- await _mutex.protect (() async {
29- return super .unset (key);
30- });
31+ Future <void > unset (String key, {bool mutex = false }) async {
32+ if (! mutex) {
33+ await super .unset (key);
34+ } else {
35+ await _mutex.protect (() async {
36+ return super .unset (key);
37+ });
38+ }
3139 }
3240
3341 @override
34- Future <Object ?> signup (Map <String , dynamic > credentials) async {
35- return _mutex.protect (() async {
42+ Future <Object ?> signup (
43+ Map <String , dynamic > credentials, {
44+ bool mutex = false ,
45+ }) async {
46+ if (! mutex) {
3647 return super .signup (credentials);
37- });
48+ } else {
49+ return _mutex.protect (() async {
50+ return super .signup (credentials);
51+ });
52+ }
3853 }
3954
4055 @override
41- Future <Object ?> signin (Map <String , dynamic > credentials) async {
42- return _mutex.protect (() async {
56+ Future <Object ?> signin (
57+ Map <String , dynamic > credentials, {
58+ bool mutex = false ,
59+ }) async {
60+ if (! mutex) {
4361 return super .signin (credentials);
44- });
62+ } else {
63+ return _mutex.protect (() async {
64+ return super .signin (credentials);
65+ });
66+ }
4567 }
4668
4769 @override
48- Future <void > invalidate () async {
49- await _mutex.protect (() async {
50- return super .invalidate ();
51- });
70+ Future <void > invalidate ({bool mutex = false }) async {
71+ if (! mutex) {
72+ await super .invalidate ();
73+ } else {
74+ await _mutex.protect (() async {
75+ return super .invalidate ();
76+ });
77+ }
5278 }
5379
5480 @override
55- Future <void > authenticate (String token) async {
56- await _mutex.protect (() async {
57- return super .authenticate (token);
58- });
81+ Future <void > authenticate (String token, {bool mutex = false }) async {
82+ if (! mutex) {
83+ await super .authenticate (token);
84+ } else {
85+ await _mutex.protect (() async {
86+ return super .authenticate (token);
87+ });
88+ }
5989 }
6090
6191 @override
62- Future <Object ?> info () async {
63- return _mutex. protect (() async {
92+ Future <Object ?> info ({ bool mutex = false } ) async {
93+ if ( ! mutex) {
6494 return super .info ();
65- });
95+ } else {
96+ return _mutex.protect (() async {
97+ return super .info ();
98+ });
99+ }
66100 }
67101
68102 @override
69103 Future <Object ?> patch (
70104 String resource,
71- List <Map <String , dynamic >> data,
72- ) async {
73- return _mutex.protect (() async {
105+ List <Map <String , dynamic >> data, {
106+ bool mutex = false ,
107+ }) async {
108+ if (! mutex) {
74109 return super .patch (resource, data);
75- });
110+ } else {
111+ return _mutex.protect (() async {
112+ return super .patch (resource, data);
113+ });
114+ }
76115 }
77116
78117 @override
79- Future <String > version () async {
80- return _mutex. protect (() async {
118+ Future <String > version ({ bool mutex = false } ) async {
119+ if ( ! mutex) {
81120 return super .version ();
82- });
121+ } else {
122+ return _mutex.protect (() async {
123+ return super .version ();
124+ });
125+ }
83126 }
84127
85128 @override
86129 Future <void > connect (
87130 String endpoint, {
88131 Map <String , dynamic > options = const {},
132+ bool mutex = false ,
89133 }) async {
90- await _mutex.protect (() async {
91- return super .connect (endpoint, options: options);
92- });
134+ if (! mutex) {
135+ await super .connect (endpoint, options: options);
136+ } else {
137+ await _mutex.protect (() async {
138+ return super .connect (endpoint, options: options);
139+ });
140+ }
93141 }
94142
95143 @override
96- Future <void > close () async {
97- await _mutex.protect (() async {
98- return super .close ();
99- });
144+ Future <void > close ({bool mutex = false }) async {
145+ if (! mutex) {
146+ await super .close ();
147+ } else {
148+ await _mutex.protect (() async {
149+ return super .close ();
150+ });
151+ }
100152 }
101153
102154 @override
103- Future <void > use ({String ? namespace, String ? database}) async {
104- await _mutex.protect (() async {
105- return super .use (namespace: namespace, database: database);
106- });
155+ Future <void > use ({
156+ String ? namespace,
157+ String ? database,
158+ bool mutex = false ,
159+ }) async {
160+ if (! mutex) {
161+ await super .use (namespace: namespace, database: database);
162+ } else {
163+ await _mutex.protect (() async {
164+ return super .use (namespace: namespace, database: database);
165+ });
166+ }
107167 }
108168
109169 @override
110- Future <Object ?> create (String resource, Object data) async {
111- return _mutex.protect (() async {
170+ Future <Object ?> create (
171+ String resource,
172+ Object data, {
173+ bool mutex = false ,
174+ }) async {
175+ if (! mutex) {
112176 return super .create (resource, data);
113- });
177+ } else {
178+ return _mutex.protect (() async {
179+ return super .create (resource, data);
180+ });
181+ }
114182 }
115183
116184 @override
117- Future <Object ?> update (String resource, Object data) async {
118- return _mutex.protect (() async {
185+ Future <Object ?> update (
186+ String resource,
187+ Object data, {
188+ bool mutex = false ,
189+ }) async {
190+ if (! mutex) {
119191 return super .update (resource, data);
120- });
192+ } else {
193+ return _mutex.protect (() async {
194+ return super .update (resource, data);
195+ });
196+ }
121197 }
122198
123199 @override
124- Future <Object ?> merge (String resource, Object data) async {
125- return _mutex.protect (() async {
200+ Future <Object ?> merge (
201+ String resource,
202+ Object data, {
203+ bool mutex = false ,
204+ }) async {
205+ if (! mutex) {
126206 return super .merge (resource, data);
127- });
207+ } else {
208+ return _mutex.protect (() async {
209+ return super .merge (resource, data);
210+ });
211+ }
128212 }
129213
130214 @override
131- Future <Object ?> select (String resource) async {
132- return _mutex. protect (() async {
215+ Future <Object ?> select (String resource, { bool mutex = false } ) async {
216+ if ( ! mutex) {
133217 return super .select (resource);
134- });
218+ } else {
219+ return _mutex.protect (() async {
220+ return super .select (resource);
221+ });
222+ }
135223 }
136224
137225 @override
138226 Future <Object ?> query (
139227 String sql, {
140228 Map <String , dynamic > bindings = const {},
229+ bool mutex = false ,
141230 }) async {
142- return _mutex. protect (() async {
231+ if ( ! mutex) {
143232 return super .query (sql, bindings: bindings);
144- });
233+ } else {
234+ return _mutex.protect (() async {
235+ return super .query (sql, bindings: bindings);
236+ });
237+ }
145238 }
146239
147240 @override
148- Future <Object ?> delete (String resource) async {
149- return _mutex. protect (() async {
241+ Future <Object ?> delete (String resource, { bool mutex = false } ) async {
242+ if ( ! mutex) {
150243 return super .delete (resource);
151- });
244+ } else {
245+ return _mutex.protect (() async {
246+ return super .delete (resource);
247+ });
248+ }
152249 }
153250}
0 commit comments