@cloudbase/database 1.4.3 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/commonjs/ObjectId/index.d.ts +1 -1
  2. package/dist/commonjs/ObjectId/index.js +16 -9
  3. package/dist/commonjs/aggregate.js +126 -75
  4. package/dist/commonjs/collection.d.ts +3 -2
  5. package/dist/commonjs/collection.js +131 -58
  6. package/dist/commonjs/command.d.ts +5 -5
  7. package/dist/commonjs/command.js +181 -154
  8. package/dist/commonjs/commands/logic.js +30 -20
  9. package/dist/commonjs/commands/query.d.ts +1 -1
  10. package/dist/commonjs/commands/query.js +85 -65
  11. package/dist/commonjs/commands/update.js +9 -7
  12. package/dist/commonjs/config/error.config.js +1 -0
  13. package/dist/commonjs/const/code.js +1 -0
  14. package/dist/commonjs/constant.d.ts +7 -7
  15. package/dist/commonjs/constant.js +13 -11
  16. package/dist/commonjs/document.d.ts +10 -6
  17. package/dist/commonjs/document.js +305 -193
  18. package/dist/commonjs/geo/index.js +20 -9
  19. package/dist/commonjs/geo/lineString.d.ts +1 -1
  20. package/dist/commonjs/geo/lineString.js +62 -33
  21. package/dist/commonjs/geo/multiLineString.d.ts +1 -1
  22. package/dist/commonjs/geo/multiLineString.js +71 -32
  23. package/dist/commonjs/geo/multiPoint.d.ts +1 -1
  24. package/dist/commonjs/geo/multiPoint.js +58 -29
  25. package/dist/commonjs/geo/multiPolygon.d.ts +1 -1
  26. package/dist/commonjs/geo/multiPolygon.js +96 -36
  27. package/dist/commonjs/geo/point.d.ts +1 -1
  28. package/dist/commonjs/geo/point.js +30 -23
  29. package/dist/commonjs/geo/polygon.d.ts +1 -1
  30. package/dist/commonjs/geo/polygon.js +78 -39
  31. package/dist/commonjs/helper/symbol.js +17 -5
  32. package/dist/commonjs/index.d.ts +8 -2
  33. package/dist/commonjs/index.js +73 -20
  34. package/dist/commonjs/lib/util.d.ts +1 -0
  35. package/dist/commonjs/lib/util.js +26 -0
  36. package/dist/commonjs/operator-map.js +7 -6
  37. package/dist/commonjs/query.d.ts +9 -5
  38. package/dist/commonjs/query.js +330 -205
  39. package/dist/commonjs/regexp/index.d.ts +1 -1
  40. package/dist/commonjs/regexp/index.js +16 -9
  41. package/dist/commonjs/serializer/common.d.ts +2 -2
  42. package/dist/commonjs/serializer/common.js +59 -22
  43. package/dist/commonjs/serializer/datatype.d.ts +2 -2
  44. package/dist/commonjs/serializer/datatype.js +58 -21
  45. package/dist/commonjs/serializer/query.d.ts +1 -1
  46. package/dist/commonjs/serializer/query.js +137 -127
  47. package/dist/commonjs/serializer/update.d.ts +1 -1
  48. package/dist/commonjs/serializer/update.js +83 -78
  49. package/dist/commonjs/serverDate/index.d.ts +1 -1
  50. package/dist/commonjs/serverDate/index.js +16 -9
  51. package/dist/commonjs/transaction/collection.d.ts +7 -0
  52. package/dist/commonjs/transaction/collection.js +49 -0
  53. package/dist/commonjs/transaction/document.d.ts +27 -0
  54. package/dist/commonjs/transaction/document.js +205 -0
  55. package/dist/commonjs/transaction/index.js +196 -86
  56. package/dist/commonjs/transaction/query.d.ts +43 -0
  57. package/dist/commonjs/transaction/query.js +261 -0
  58. package/dist/commonjs/typings/index.d.ts +4 -4
  59. package/dist/commonjs/typings/realtime.d.ts +16 -16
  60. package/dist/commonjs/util.js +123 -92
  61. package/dist/commonjs/utils/error.d.ts +2 -1
  62. package/dist/commonjs/utils/error.js +74 -38
  63. package/dist/commonjs/utils/symbol.js +33 -14
  64. package/dist/commonjs/utils/type.d.ts +1 -1
  65. package/dist/commonjs/utils/type.js +25 -13
  66. package/dist/commonjs/utils/utils.d.ts +5 -1
  67. package/dist/commonjs/utils/utils.js +153 -22
  68. package/dist/commonjs/validate.js +79 -63
  69. package/dist/esm/ObjectId/index.d.ts +1 -1
  70. package/dist/esm/ObjectId/index.js +15 -8
  71. package/dist/esm/aggregate.js +118 -66
  72. package/dist/esm/collection.d.ts +3 -2
  73. package/dist/esm/collection.js +125 -52
  74. package/dist/esm/command.d.ts +5 -5
  75. package/dist/esm/command.js +175 -147
  76. package/dist/esm/commands/logic.js +30 -20
  77. package/dist/esm/commands/query.d.ts +1 -1
  78. package/dist/esm/commands/query.js +91 -71
  79. package/dist/esm/commands/update.js +8 -6
  80. package/dist/esm/config/error.config.js +1 -1
  81. package/dist/esm/const/code.js +1 -1
  82. package/dist/esm/constant.d.ts +7 -7
  83. package/dist/esm/constant.js +12 -11
  84. package/dist/esm/document.d.ts +10 -6
  85. package/dist/esm/document.js +297 -185
  86. package/dist/esm/geo/interface.js +1 -0
  87. package/dist/esm/geo/lineString.d.ts +1 -1
  88. package/dist/esm/geo/lineString.js +57 -28
  89. package/dist/esm/geo/multiLineString.d.ts +1 -1
  90. package/dist/esm/geo/multiLineString.js +66 -27
  91. package/dist/esm/geo/multiPoint.d.ts +1 -1
  92. package/dist/esm/geo/multiPoint.js +53 -24
  93. package/dist/esm/geo/multiPolygon.d.ts +1 -1
  94. package/dist/esm/geo/multiPolygon.js +91 -31
  95. package/dist/esm/geo/point.d.ts +1 -1
  96. package/dist/esm/geo/point.js +26 -19
  97. package/dist/esm/geo/polygon.d.ts +1 -1
  98. package/dist/esm/geo/polygon.js +73 -34
  99. package/dist/esm/helper/symbol.js +13 -13
  100. package/dist/esm/index.d.ts +8 -2
  101. package/dist/esm/index.js +62 -9
  102. package/dist/esm/lib/util.d.ts +1 -0
  103. package/dist/esm/lib/util.js +22 -0
  104. package/dist/esm/operator-map.js +4 -4
  105. package/dist/esm/query.d.ts +9 -5
  106. package/dist/esm/query.js +321 -196
  107. package/dist/esm/regexp/index.d.ts +1 -1
  108. package/dist/esm/regexp/index.js +15 -8
  109. package/dist/esm/serializer/common.d.ts +2 -2
  110. package/dist/esm/serializer/common.js +49 -13
  111. package/dist/esm/serializer/datatype.d.ts +2 -2
  112. package/dist/esm/serializer/datatype.js +44 -8
  113. package/dist/esm/serializer/query.d.ts +1 -1
  114. package/dist/esm/serializer/query.js +112 -102
  115. package/dist/esm/serializer/update.d.ts +1 -1
  116. package/dist/esm/serializer/update.js +69 -64
  117. package/dist/esm/serverDate/index.d.ts +1 -1
  118. package/dist/esm/serverDate/index.js +15 -8
  119. package/dist/esm/transaction/collection.d.ts +7 -0
  120. package/dist/esm/transaction/collection.js +46 -0
  121. package/dist/esm/transaction/document.d.ts +27 -0
  122. package/dist/esm/transaction/document.js +202 -0
  123. package/dist/esm/transaction/index.js +191 -81
  124. package/dist/esm/transaction/query.d.ts +43 -0
  125. package/dist/esm/transaction/query.js +258 -0
  126. package/dist/esm/typings/index.d.ts +4 -4
  127. package/dist/esm/typings/index.js +1 -0
  128. package/dist/esm/typings/realtime.d.ts +16 -16
  129. package/dist/esm/typings/realtime.js +1 -0
  130. package/dist/esm/util.js +121 -90
  131. package/dist/esm/utils/error.d.ts +2 -1
  132. package/dist/esm/utils/error.js +70 -35
  133. package/dist/esm/utils/symbol.js +33 -14
  134. package/dist/esm/utils/type.d.ts +1 -1
  135. package/dist/esm/utils/type.js +12 -12
  136. package/dist/esm/utils/utils.d.ts +5 -1
  137. package/dist/esm/utils/utils.js +137 -16
  138. package/dist/esm/validate.js +65 -49
  139. package/jest.config.js +14 -0
  140. package/package.json +14 -10
  141. package/src/aggregate.ts +1 -5
  142. package/src/collection.ts +15 -2
  143. package/src/document.ts +45 -34
  144. package/src/index.ts +51 -4
  145. package/src/query.ts +48 -38
  146. package/src/serializer/query.ts +18 -6
  147. package/src/transaction/index.ts +1 -1
  148. package/src/typings/index.ts +0 -4
  149. package/src/utils/utils.ts +105 -0
  150. package/src/validate.ts +3 -6
  151. package/tests/gateway-contract.test.ts +180 -0
  152. package/tests/index.test.ts +283 -0
  153. package/tests/transaction-query.test.ts +207 -0
  154. package/tests/watch-query.test.ts +144 -0
  155. package/tsconfig.esm.json +4 -2
  156. package/tsconfig.json +16 -6
  157. package/tsconfig.test.json +15 -0
  158. package/dist/commonjs/realtime/error.d.ts +0 -7
  159. package/dist/commonjs/realtime/error.js +0 -11
  160. package/dist/commonjs/realtime/listener.d.ts +0 -14
  161. package/dist/commonjs/realtime/listener.js +0 -17
  162. package/dist/commonjs/realtime/message.d.ts +0 -3
  163. package/dist/commonjs/realtime/message.js +0 -10
  164. package/dist/commonjs/realtime/snapshot.d.ts +0 -16
  165. package/dist/commonjs/realtime/snapshot.js +0 -42
  166. package/dist/commonjs/realtime/virtual-websocket-client.d.ts +0 -63
  167. package/dist/commonjs/realtime/virtual-websocket-client.js +0 -736
  168. package/dist/commonjs/realtime/websocket-client.d.ts +0 -78
  169. package/dist/commonjs/realtime/websocket-client.js +0 -567
  170. package/dist/commonjs/realtime/ws-event.d.ts +0 -126
  171. package/dist/commonjs/realtime/ws-event.js +0 -139
  172. package/dist/commonjs/transaction.d.ts +0 -42
  173. package/dist/commonjs/transaction.js +0 -126
  174. package/dist/esm/realtime/error.d.ts +0 -7
  175. package/dist/esm/realtime/error.js +0 -8
  176. package/dist/esm/realtime/listener.d.ts +0 -14
  177. package/dist/esm/realtime/listener.js +0 -14
  178. package/dist/esm/realtime/message.d.ts +0 -3
  179. package/dist/esm/realtime/message.js +0 -6
  180. package/dist/esm/realtime/snapshot.d.ts +0 -16
  181. package/dist/esm/realtime/snapshot.js +0 -39
  182. package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
  183. package/dist/esm/realtime/virtual-websocket-client.js +0 -733
  184. package/dist/esm/realtime/websocket-client.d.ts +0 -78
  185. package/dist/esm/realtime/websocket-client.js +0 -564
  186. package/dist/esm/realtime/ws-event.d.ts +0 -126
  187. package/dist/esm/realtime/ws-event.js +0 -137
  188. package/dist/esm/transaction.d.ts +0 -42
  189. package/dist/esm/transaction.js +0 -121
  190. package/src/realtime/error.ts +0 -19
  191. package/src/realtime/listener.ts +0 -35
  192. package/src/realtime/message.ts +0 -14
  193. package/src/realtime/snapshot.ts +0 -60
  194. package/src/realtime/virtual-websocket-client.ts +0 -1195
  195. package/src/realtime/websocket-client.ts +0 -995
  196. package/src/realtime/ws-event.ts +0 -163
  197. package/src/transaction.ts +0 -190
@@ -1,55 +1,91 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const type_1 = require("./type");
4
- const error_config_1 = require("../config/error.config");
5
- class CloudSDKError extends Error {
6
- constructor(options) {
7
- super(options.errMsg);
8
- this.errCode = 'UNKNOWN_ERROR';
9
- Object.defineProperties(this, {
18
+ exports.isCancelledError = exports.CancelledError = exports.isTimeoutError = exports.TimeoutError = exports.isGenericError = exports.isSDKError = exports.CloudSDKError = void 0;
19
+ var type_1 = require("./type");
20
+ var error_config_1 = require("../config/error.config");
21
+ var CloudSDKError = (function (_super) {
22
+ __extends(CloudSDKError, _super);
23
+ function CloudSDKError(options) {
24
+ var _this = _super.call(this, options.errMsg) || this;
25
+ _this.errCode = 'UNKNOWN_ERROR';
26
+ Object.defineProperties(_this, {
10
27
  message: {
11
- get() {
12
- return (`errCode: ${this.errCode} ${error_config_1.ERR_CODE[this.errCode] ||
13
- ''} | errMsg: ` + this.errMsg);
28
+ get: function () {
29
+ return ("errCode: ".concat(this.errCode, " ").concat(error_config_1.ERR_CODE[this.errCode] ||
30
+ '', " | errMsg: ") + this.errMsg);
14
31
  },
15
- set(msg) {
32
+ set: function (msg) {
16
33
  this.errMsg = msg;
17
34
  }
18
35
  }
19
36
  });
20
- this.errCode = options.errCode || 'UNKNOWN_ERROR';
21
- this.errMsg = options.errMsg;
37
+ _this.errCode = options.errCode || 'UNKNOWN_ERROR';
38
+ _this.errMsg = options.errMsg;
39
+ return _this;
22
40
  }
23
- get message() {
24
- return `errCode: ${this.errCode} | errMsg: ` + this.errMsg;
25
- }
26
- set message(msg) {
27
- this.errMsg = msg;
28
- }
29
- }
41
+ Object.defineProperty(CloudSDKError.prototype, "message", {
42
+ get: function () {
43
+ return "errCode: ".concat(this.errCode, " | errMsg: ") + this.errMsg;
44
+ },
45
+ set: function (msg) {
46
+ this.errMsg = msg;
47
+ },
48
+ enumerable: false,
49
+ configurable: true
50
+ });
51
+ return CloudSDKError;
52
+ }(Error));
30
53
  exports.CloudSDKError = CloudSDKError;
31
54
  function isSDKError(error) {
32
- return (error && error instanceof Error && type_1.isString(error.errMsg));
55
+ return (error && error instanceof Error && (0, type_1.isString)(error.errMsg));
33
56
  }
34
57
  exports.isSDKError = isSDKError;
35
- exports.isGenericError = (e) => e.generic;
36
- class TimeoutError extends Error {
37
- constructor(message) {
38
- super(message);
39
- this.type = 'timeout';
40
- this.payload = null;
41
- this.generic = true;
58
+ var isGenericError = function (e) { return e.generic; };
59
+ exports.isGenericError = isGenericError;
60
+ var TimeoutError = (function (_super) {
61
+ __extends(TimeoutError, _super);
62
+ function TimeoutError(message) {
63
+ var _this = _super.call(this, message) || this;
64
+ _this.type = 'timeout';
65
+ _this.payload = null;
66
+ _this.generic = true;
67
+ return _this;
42
68
  }
43
- }
69
+ return TimeoutError;
70
+ }(Error));
44
71
  exports.TimeoutError = TimeoutError;
45
- exports.isTimeoutError = (e) => e.type === 'timeout';
46
- class CancelledError extends Error {
47
- constructor(message) {
48
- super(message);
49
- this.type = 'cancelled';
50
- this.payload = null;
51
- this.generic = true;
72
+ var isTimeoutError = function (e) {
73
+ return e.type === 'timeout';
74
+ };
75
+ exports.isTimeoutError = isTimeoutError;
76
+ var CancelledError = (function (_super) {
77
+ __extends(CancelledError, _super);
78
+ function CancelledError(message) {
79
+ var _this = _super.call(this, message) || this;
80
+ _this.type = 'cancelled';
81
+ _this.payload = null;
82
+ _this.generic = true;
83
+ return _this;
52
84
  }
53
- }
85
+ return CancelledError;
86
+ }(Error));
54
87
  exports.CancelledError = CancelledError;
55
- exports.isCancelledError = (e) => e.type === 'cancelled';
88
+ var isCancelledError = function (e) {
89
+ return e.type === 'cancelled';
90
+ };
91
+ exports.isCancelledError = isCancelledError;
@@ -1,9 +1,25 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const _symbols = [];
4
- const __internalMark__ = {};
5
- class HiddenSymbol {
6
- constructor(target) {
18
+ exports.InternalSymbol = void 0;
19
+ var _symbols = [];
20
+ var __internalMark__ = {};
21
+ var HiddenSymbol = (function () {
22
+ function HiddenSymbol(target) {
7
23
  Object.defineProperties(this, {
8
24
  target: {
9
25
  enumerable: false,
@@ -13,27 +29,30 @@ class HiddenSymbol {
13
29
  },
14
30
  });
15
31
  }
16
- }
17
- class InternalSymbol extends HiddenSymbol {
18
- constructor(target, __mark__) {
32
+ return HiddenSymbol;
33
+ }());
34
+ var InternalSymbol = (function (_super) {
35
+ __extends(InternalSymbol, _super);
36
+ function InternalSymbol(target, __mark__) {
19
37
  if (__mark__ !== __internalMark__) {
20
38
  throw new TypeError('InternalSymbol cannot be constructed with new operator');
21
39
  }
22
- super(target);
40
+ return _super.call(this, target) || this;
23
41
  }
24
- static for(target) {
25
- for (let i = 0, len = _symbols.length; i < len; i++) {
42
+ InternalSymbol.for = function (target) {
43
+ for (var i = 0, len = _symbols.length; i < len; i++) {
26
44
  if (_symbols[i].target === target) {
27
45
  return _symbols[i].instance;
28
46
  }
29
47
  }
30
- const symbol = new InternalSymbol(target, __internalMark__);
48
+ var symbol = new InternalSymbol(target, __internalMark__);
31
49
  _symbols.push({
32
- target,
50
+ target: target,
33
51
  instance: symbol,
34
52
  });
35
53
  return symbol;
36
- }
37
- }
54
+ };
55
+ return InternalSymbol;
56
+ }(HiddenSymbol));
38
57
  exports.InternalSymbol = InternalSymbol;
39
58
  exports.default = InternalSymbol;
@@ -3,7 +3,7 @@ export declare const isObject: <T extends object>(x: any) => x is T;
3
3
  export declare const isString: (x: any) => x is string;
4
4
  export declare const isNumber: (x: any) => x is number;
5
5
  export declare const isPromise: <T extends Promise<any> = Promise<any>>(x: any) => x is T;
6
- declare type AnyFn = (...args: any[]) => any;
6
+ type AnyFn = (...args: any[]) => any;
7
7
  export declare const isFunction: <T extends AnyFn = AnyFn>(x: any) => x is T;
8
8
  export declare const isArray: <T extends any[] = any[]>(x: any) => x is T;
9
9
  export declare const isDate: (x: any) => x is Date;
@@ -1,22 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const symbol_1 = require("./symbol");
4
- exports.getType = (x) => Object.prototype.toString.call(x).slice(8, -1).toLowerCase();
5
- exports.isObject = (x) => exports.getType(x) === 'object';
6
- exports.isString = (x) => exports.getType(x) === 'string';
7
- exports.isNumber = (x) => exports.getType(x) === 'number';
8
- exports.isPromise = (x) => exports.getType(x) === 'promise';
9
- exports.isFunction = (x) => typeof x === 'function';
10
- exports.isArray = (x) => Array.isArray(x);
11
- exports.isDate = (x) => exports.getType(x) === 'date';
12
- exports.isRegExp = (x) => exports.getType(x) === 'regexp';
13
- exports.isInternalObject = (x) => x && (x._internalType instanceof symbol_1.InternalSymbol);
14
- exports.isPlainObject = (obj) => {
3
+ exports.isPlainObject = exports.isInternalObject = exports.isRegExp = exports.isDate = exports.isArray = exports.isFunction = exports.isPromise = exports.isNumber = exports.isString = exports.isObject = exports.getType = void 0;
4
+ var symbol_1 = require("./symbol");
5
+ var getType = function (x) { return Object.prototype.toString.call(x).slice(8, -1).toLowerCase(); };
6
+ exports.getType = getType;
7
+ var isObject = function (x) { return (0, exports.getType)(x) === 'object'; };
8
+ exports.isObject = isObject;
9
+ var isString = function (x) { return (0, exports.getType)(x) === 'string'; };
10
+ exports.isString = isString;
11
+ var isNumber = function (x) { return (0, exports.getType)(x) === 'number'; };
12
+ exports.isNumber = isNumber;
13
+ var isPromise = function (x) { return (0, exports.getType)(x) === 'promise'; };
14
+ exports.isPromise = isPromise;
15
+ var isFunction = function (x) { return typeof x === 'function'; };
16
+ exports.isFunction = isFunction;
17
+ var isArray = function (x) { return Array.isArray(x); };
18
+ exports.isArray = isArray;
19
+ var isDate = function (x) { return (0, exports.getType)(x) === 'date'; };
20
+ exports.isDate = isDate;
21
+ var isRegExp = function (x) { return (0, exports.getType)(x) === 'regexp'; };
22
+ exports.isRegExp = isRegExp;
23
+ var isInternalObject = function (x) { return x && (x._internalType instanceof symbol_1.InternalSymbol); };
24
+ exports.isInternalObject = isInternalObject;
25
+ var isPlainObject = function (obj) {
15
26
  if (typeof obj !== 'object' || obj === null)
16
27
  return false;
17
- let proto = obj;
28
+ var proto = obj;
18
29
  while (Object.getPrototypeOf(proto) !== null) {
19
30
  proto = Object.getPrototypeOf(proto);
20
31
  }
21
32
  return Object.getPrototypeOf(obj) === proto;
22
33
  };
34
+ exports.isPlainObject = isPlainObject;
@@ -1,10 +1,14 @@
1
+ import { Db } from '../';
1
2
  import { QueryOption, UpdateOption } from '../query';
2
3
  export declare const sleep: (ms?: number) => Promise<unknown>;
4
+ export declare function withCallback<T>(promise: Promise<T>, callback?: any): Promise<T> | undefined;
3
5
  export declare const autoCount: (domain?: string) => number;
6
+ export declare function getWsInstance(db: Db): any;
4
7
  export declare const getReqOpts: (apiOptions: QueryOption | UpdateOption) => any;
5
8
  export declare const filterUndefined: (o: any) => any;
6
- export declare const stringifyByEJSON: (params: any) => any;
9
+ export declare const stringifyByEJSON: (params: any) => string;
7
10
  export declare const parseByEJSON: (params: any) => any;
11
+ export declare const toWatchQuery: (ejsonStr: string) => string;
8
12
  export declare class TcbError extends Error {
9
13
  readonly code: string;
10
14
  readonly message: string;
@@ -1,16 +1,90 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __values = (this && this.__values) || function(o) {
29
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
30
+ if (m) return m.call(o);
31
+ if (o && typeof o.length === "number") return {
32
+ next: function () {
33
+ if (o && i >= o.length) o = void 0;
34
+ return { value: o && o[i++], done: !o };
35
+ }
36
+ };
37
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
38
+ };
2
39
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const bson_1 = require("bson");
4
- const type_1 = require("./type");
5
- exports.sleep = (ms = 0) => new Promise(r => setTimeout(r, ms));
6
- const counters = {};
7
- exports.autoCount = (domain = 'any') => {
40
+ exports.processReturn = exports.E = exports.TcbError = exports.toWatchQuery = exports.parseByEJSON = exports.stringifyByEJSON = exports.filterUndefined = exports.getReqOpts = exports.getWsInstance = exports.autoCount = exports.withCallback = exports.sleep = void 0;
41
+ var __1 = require("../");
42
+ var bson_1 = require("bson");
43
+ var type_1 = require("./type");
44
+ var sleep = function (ms) {
45
+ if (ms === void 0) { ms = 0; }
46
+ return new Promise(function (r) { return setTimeout(r, ms); });
47
+ };
48
+ exports.sleep = sleep;
49
+ function withCallback(promise, callback) {
50
+ if (typeof callback === 'function') {
51
+ promise.then(function (res) { return callback(0, res); }, function (err) { return callback(err); });
52
+ return undefined;
53
+ }
54
+ return promise;
55
+ }
56
+ exports.withCallback = withCallback;
57
+ var counters = {};
58
+ var autoCount = function (domain) {
59
+ if (domain === void 0) { domain = 'any'; }
8
60
  if (!counters[domain]) {
9
61
  counters[domain] = 0;
10
62
  }
11
63
  return counters[domain]++;
12
64
  };
13
- exports.getReqOpts = (apiOptions) => {
65
+ exports.autoCount = autoCount;
66
+ var wsList = {};
67
+ function getWsInstance(db) {
68
+ if (!__1.Db.wsClientClass) {
69
+ throw new Error('to use realtime you must import realtime module first');
70
+ }
71
+ var env = db.config.env;
72
+ if (!wsList[env]) {
73
+ wsList[env] = new __1.Db.wsClientClass({
74
+ context: {
75
+ appConfig: {
76
+ docSizeLimit: 1000,
77
+ realtimePingInterval: 10000,
78
+ realtimePongWaitTimeout: 5000,
79
+ request: __1.Db.createRequest(db.config)
80
+ }
81
+ }
82
+ });
83
+ }
84
+ return wsList[env];
85
+ }
86
+ exports.getWsInstance = getWsInstance;
87
+ var getReqOpts = function (apiOptions) {
14
88
  if (apiOptions.timeout !== undefined) {
15
89
  return {
16
90
  timeout: apiOptions.timeout
@@ -18,42 +92,99 @@ exports.getReqOpts = (apiOptions) => {
18
92
  }
19
93
  return {};
20
94
  };
21
- exports.filterUndefined = o => {
22
- if (!type_1.isObject(o)) {
95
+ exports.getReqOpts = getReqOpts;
96
+ var filterUndefined = function (o) {
97
+ if (!(0, type_1.isObject)(o)) {
23
98
  return o;
24
99
  }
25
- for (let key in o) {
100
+ for (var key in o) {
26
101
  if (o[key] === undefined) {
27
102
  delete o[key];
28
103
  }
29
- else if (type_1.isObject(o[key])) {
30
- o[key] = exports.filterUndefined(o[key]);
104
+ else if ((0, type_1.isObject)(o[key])) {
105
+ o[key] = (0, exports.filterUndefined)(o[key]);
31
106
  }
32
107
  }
33
108
  return o;
34
109
  };
35
- exports.stringifyByEJSON = params => {
36
- params = exports.filterUndefined(params);
110
+ exports.filterUndefined = filterUndefined;
111
+ var stringifyByEJSON = function (params) {
112
+ params = (0, exports.filterUndefined)(params);
37
113
  return bson_1.EJSON.stringify(params, { relaxed: false });
38
114
  };
39
- exports.parseByEJSON = params => {
115
+ exports.stringifyByEJSON = stringifyByEJSON;
116
+ var parseByEJSON = function (params) {
40
117
  return bson_1.EJSON.parse(params);
41
118
  };
42
- class TcbError extends Error {
43
- constructor(error) {
44
- super(error.message);
45
- this.code = error.code;
46
- this.message = error.message;
119
+ exports.parseByEJSON = parseByEJSON;
120
+ var toWatchLegacyValue = function (val) {
121
+ var e_1, _a;
122
+ if (val instanceof Date) {
123
+ return { $date: +val };
47
124
  }
48
- }
125
+ if (val instanceof RegExp) {
126
+ return { $regex: val.source, $options: val.flags };
127
+ }
128
+ if (val && typeof val === 'object') {
129
+ if (val._bsontype === 'ObjectId') {
130
+ return { $oid: val.toHexString() };
131
+ }
132
+ if (val._bsontype === 'BSONRegExp') {
133
+ return { $regex: val.pattern, $options: val.options };
134
+ }
135
+ if (Array.isArray(val)) {
136
+ return val.map(toWatchLegacyValue);
137
+ }
138
+ var ret = {};
139
+ try {
140
+ for (var _b = __values(Object.keys(val)), _c = _b.next(); !_c.done; _c = _b.next()) {
141
+ var key = _c.value;
142
+ ret[key] = toWatchLegacyValue(val[key]);
143
+ }
144
+ }
145
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
146
+ finally {
147
+ try {
148
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
149
+ }
150
+ finally { if (e_1) throw e_1.error; }
151
+ }
152
+ return ret;
153
+ }
154
+ return val;
155
+ };
156
+ var toWatchQuery = function (ejsonStr) {
157
+ if (!ejsonStr) {
158
+ return '{}';
159
+ }
160
+ try {
161
+ var parsed = bson_1.EJSON.parse(ejsonStr);
162
+ return JSON.stringify(toWatchLegacyValue(parsed));
163
+ }
164
+ catch (e) {
165
+ return ejsonStr;
166
+ }
167
+ };
168
+ exports.toWatchQuery = toWatchQuery;
169
+ var TcbError = (function (_super) {
170
+ __extends(TcbError, _super);
171
+ function TcbError(error) {
172
+ var _this = _super.call(this, error.message) || this;
173
+ _this.code = error.code;
174
+ _this.message = error.message;
175
+ return _this;
176
+ }
177
+ return TcbError;
178
+ }(Error));
49
179
  exports.TcbError = TcbError;
50
- exports.E = (errObj) => {
180
+ var E = function (errObj) {
51
181
  return new TcbError(errObj);
52
182
  };
183
+ exports.E = E;
53
184
  function processReturn(throwOnCode, res) {
54
185
  if (throwOnCode === false) {
55
186
  return res;
56
187
  }
57
- throw exports.E(Object.assign({}, res));
188
+ throw (0, exports.E)(__assign({}, res));
58
189
  }
59
190
  exports.processReturn = processReturn;