@ragestudio/scylla-odm 0.22.2 → 0.22.4

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 (153) hide show
  1. package/batch/index.d.ts +3 -3
  2. package/batch/index.d.ts.map +1 -1
  3. package/client.d.ts +6 -5
  4. package/client.d.ts.map +1 -1
  5. package/client.js +11 -12
  6. package/client.js.map +1 -1
  7. package/cql_gen/create_table.d.ts +1 -1
  8. package/cql_gen/create_table.d.ts.map +1 -1
  9. package/document/index.d.ts +3 -3
  10. package/document/index.d.ts.map +1 -1
  11. package/driver/LICENSE.txt +177 -0
  12. package/driver/NOTICE.txt +67 -0
  13. package/driver/auth/index.d.ts +37 -0
  14. package/driver/auth/index.js +37 -0
  15. package/driver/auth/no-auth-provider.js +73 -0
  16. package/driver/auth/plain-text-auth-provider.js +81 -0
  17. package/driver/auth/provider.js +77 -0
  18. package/driver/client-options.js +442 -0
  19. package/driver/client.js +1267 -0
  20. package/driver/concurrent/index.d.ts +49 -0
  21. package/driver/concurrent/index.js +366 -0
  22. package/driver/connection.js +1034 -0
  23. package/driver/control-connection.js +1282 -0
  24. package/driver/encoder.js +2316 -0
  25. package/driver/errors.js +223 -0
  26. package/driver/execution-options.js +612 -0
  27. package/driver/execution-profile.js +274 -0
  28. package/driver/host-connection-pool.js +587 -0
  29. package/driver/host.js +699 -0
  30. package/driver/index.d.ts +387 -0
  31. package/driver/index.js +81 -0
  32. package/driver/mapping/cache.js +214 -0
  33. package/driver/mapping/doc-info-adapter.js +171 -0
  34. package/driver/mapping/index.d.ts +219 -0
  35. package/driver/mapping/index.js +57 -0
  36. package/driver/mapping/mapper.js +225 -0
  37. package/driver/mapping/mapping-handler.js +641 -0
  38. package/driver/mapping/model-batch-item.js +215 -0
  39. package/driver/mapping/model-batch-mapper.js +141 -0
  40. package/driver/mapping/model-mapper.js +315 -0
  41. package/driver/mapping/model-mapping-info.js +225 -0
  42. package/driver/mapping/object-selector.js +417 -0
  43. package/driver/mapping/q.js +156 -0
  44. package/driver/mapping/query-generator.js +556 -0
  45. package/driver/mapping/result-mapper.js +123 -0
  46. package/driver/mapping/result.js +139 -0
  47. package/driver/mapping/table-mappings.js +133 -0
  48. package/driver/mapping/tree.js +160 -0
  49. package/driver/metadata/aggregate.js +79 -0
  50. package/driver/metadata/client-state.js +119 -0
  51. package/driver/metadata/data-collection.js +182 -0
  52. package/driver/metadata/event-debouncer.js +174 -0
  53. package/driver/metadata/index.d.ts +276 -0
  54. package/driver/metadata/index.js +1156 -0
  55. package/driver/metadata/materialized-view.js +49 -0
  56. package/driver/metadata/schema-function.js +98 -0
  57. package/driver/metadata/schema-index.js +166 -0
  58. package/driver/metadata/schema-parser.js +1399 -0
  59. package/driver/metadata/table-metadata.js +77 -0
  60. package/driver/operation-state.js +206 -0
  61. package/driver/policies/address-resolution.js +145 -0
  62. package/driver/policies/index.d.ts +241 -0
  63. package/driver/policies/index.js +110 -0
  64. package/driver/policies/load-balancing.js +970 -0
  65. package/driver/policies/reconnection.js +166 -0
  66. package/driver/policies/retry.js +326 -0
  67. package/driver/policies/speculative-execution.js +150 -0
  68. package/driver/policies/timestamp-generation.js +176 -0
  69. package/driver/prepare-handler.js +347 -0
  70. package/driver/promise-utils.js +191 -0
  71. package/driver/readers.js +624 -0
  72. package/driver/request-execution.js +644 -0
  73. package/driver/request-handler.js +332 -0
  74. package/driver/requests.js +618 -0
  75. package/driver/stream-id-stack.js +209 -0
  76. package/driver/streams.js +745 -0
  77. package/driver/token.js +325 -0
  78. package/driver/tokenizer.js +631 -0
  79. package/driver/types/big-decimal.js +282 -0
  80. package/driver/types/duration.js +576 -0
  81. package/driver/types/index.d.ts +486 -0
  82. package/driver/types/index.js +733 -0
  83. package/driver/types/inet-address.js +262 -0
  84. package/driver/types/integer.js +818 -0
  85. package/driver/types/local-date.js +280 -0
  86. package/driver/types/local-time.js +299 -0
  87. package/driver/types/mutable-long.js +385 -0
  88. package/driver/types/protocol-version.js +391 -0
  89. package/driver/types/result-set.js +287 -0
  90. package/driver/types/result-stream.js +164 -0
  91. package/driver/types/row.js +85 -0
  92. package/driver/types/time-uuid.js +414 -0
  93. package/driver/types/tuple.js +103 -0
  94. package/driver/types/uuid.js +160 -0
  95. package/driver/types/vector.js +130 -0
  96. package/driver/types/version-number.js +153 -0
  97. package/driver/utils.js +1485 -0
  98. package/driver/writers.js +350 -0
  99. package/global.d.ts +1 -1
  100. package/global.d.ts.map +1 -1
  101. package/index.d.ts +6 -6
  102. package/index.d.ts.map +1 -1
  103. package/index.js +6 -6
  104. package/index.js.map +1 -1
  105. package/migrate/index.d.ts +1 -1
  106. package/migrate/index.d.ts.map +1 -1
  107. package/migrate/index.js +1 -1
  108. package/migrate/index.js.map +1 -1
  109. package/model/index.d.ts +6 -6
  110. package/model/index.d.ts.map +1 -1
  111. package/model/index.js +10 -10
  112. package/model/index.js.map +1 -1
  113. package/operations/countAll.d.ts +1 -1
  114. package/operations/countAll.d.ts.map +1 -1
  115. package/operations/delete.d.ts +3 -4
  116. package/operations/delete.d.ts.map +1 -1
  117. package/operations/delete.js +1 -1
  118. package/operations/delete.js.map +1 -1
  119. package/operations/find.d.ts +2 -2
  120. package/operations/find.d.ts.map +1 -1
  121. package/operations/find.js +1 -1
  122. package/operations/find.js.map +1 -1
  123. package/operations/findOne.d.ts +2 -2
  124. package/operations/findOne.d.ts.map +1 -1
  125. package/operations/findOne.js +1 -1
  126. package/operations/findOne.js.map +1 -1
  127. package/operations/insert.d.ts +3 -3
  128. package/operations/insert.d.ts.map +1 -1
  129. package/operations/insert.js +2 -2
  130. package/operations/insert.js.map +1 -1
  131. package/operations/sync.d.ts +1 -1
  132. package/operations/sync.d.ts.map +1 -1
  133. package/operations/sync.js +1 -1
  134. package/operations/sync.js.map +1 -1
  135. package/operations/tableExists.d.ts +1 -1
  136. package/operations/tableExists.d.ts.map +1 -1
  137. package/operations/update.d.ts +3 -3
  138. package/operations/update.d.ts.map +1 -1
  139. package/operations/update.js +2 -2
  140. package/operations/update.js.map +1 -1
  141. package/package.json +4 -12
  142. package/schema/index.d.ts +1 -1
  143. package/schema/index.d.ts.map +1 -1
  144. package/types.d.ts +4 -4
  145. package/types.d.ts.map +1 -1
  146. package/utils/queryParser.d.ts +1 -1
  147. package/utils/queryParser.d.ts.map +1 -1
  148. package/utils/queryParser.js +1 -1
  149. package/utils/queryParser.js.map +1 -1
  150. package/utils/typeChecker.d.ts +1 -1
  151. package/utils/typeChecker.d.ts.map +1 -1
  152. package/utils/typeChecker.js +1 -1
  153. package/utils/typeChecker.js.map +1 -1
@@ -0,0 +1,385 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import Long from "long"
20
+
21
+ const TWO_PWR_16_DBL = 1 << 16
22
+ const TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL
23
+
24
+ /**
25
+ * Constructs a signed int64 representation.
26
+ * @ignore
27
+ */
28
+ class MutableLong {
29
+ constructor(b00, b16, b32, b48) {
30
+ // Use an array of uint16
31
+ this._arr = [b00 & 0xffff, b16 & 0xffff, b32 & 0xffff, b48 & 0xffff]
32
+ }
33
+
34
+ toString() {
35
+ return this.toImmutable().toString()
36
+ }
37
+
38
+ /**
39
+ * Compares this value with the provided value.
40
+ * @param {MutableLong} other
41
+ * @return {number}
42
+ */
43
+ compare(other) {
44
+ const thisNeg = this.isNegative()
45
+ const otherNeg = other.isNegative()
46
+ if (thisNeg && !otherNeg) {
47
+ return -1
48
+ }
49
+ if (!thisNeg && otherNeg) {
50
+ return 1
51
+ }
52
+ // At this point the sign bits are the same
53
+ return this._compareBits(other)
54
+ }
55
+
56
+ _compareBits(other) {
57
+ for (let i = 3; i >= 0; i--) {
58
+ if (this._arr[i] > other._arr[i]) {
59
+ return 1
60
+ }
61
+ if (this._arr[i] < other._arr[i]) {
62
+ return -1
63
+ }
64
+ }
65
+ return 0
66
+ }
67
+
68
+ getUint16(index) {
69
+ return this._arr[index]
70
+ }
71
+
72
+ getLowBitsUnsigned() {
73
+ return (this._arr[0] | ((this._arr[1] & 0xffff) << 16)) >>> 0
74
+ }
75
+
76
+ getHighBitsUnsigned() {
77
+ return (this._arr[2] | (this._arr[3] << 16)) >>> 0
78
+ }
79
+
80
+ toNumber() {
81
+ return (
82
+ ((this._arr[3] << 16) | this._arr[2]) * TWO_PWR_32_DBL +
83
+ (((this._arr[1] << 16) | this._arr[0]) >>> 0)
84
+ )
85
+ }
86
+
87
+ /**
88
+ * Performs the bitwise NOT of this value.
89
+ * @return {MutableLong}
90
+ */
91
+ not() {
92
+ this._arr[0] = ~this._arr[0] & 0xffff
93
+ this._arr[1] = ~this._arr[1] & 0xffff
94
+ this._arr[2] = ~this._arr[2] & 0xffff
95
+ this._arr[3] = ~this._arr[3] & 0xffff
96
+ return this
97
+ }
98
+
99
+ add(addend) {
100
+ let c48 = 0,
101
+ c32 = 0,
102
+ c16 = 0,
103
+ c00 = 0
104
+ c00 += this._arr[0] + addend._arr[0]
105
+ this._arr[0] = c00 & 0xffff
106
+ c16 += c00 >>> 16
107
+ c16 += this._arr[1] + addend._arr[1]
108
+ this._arr[1] = c16 & 0xffff
109
+ c32 += c16 >>> 16
110
+ c32 += this._arr[2] + addend._arr[2]
111
+ this._arr[2] = c32 & 0xffff
112
+ c48 += c32 >>> 16
113
+ c48 += this._arr[3] + addend._arr[3]
114
+ this._arr[3] = c48 & 0xffff
115
+ return this
116
+ }
117
+
118
+ shiftLeft(numBits) {
119
+ if (numBits === 0) {
120
+ return this
121
+ }
122
+ if (numBits >= 64) {
123
+ return this.toZero()
124
+ }
125
+ const remainingBits = numBits % 16
126
+ const pos = Math.floor(numBits / 16)
127
+ if (pos > 0) {
128
+ this._arr[3] = this._arr[3 - pos]
129
+ this._arr[2] = pos > 2 ? 0 : this._arr[2 - pos]
130
+ this._arr[1] = pos > 1 ? 0 : this._arr[0]
131
+ this._arr[0] = 0
132
+ }
133
+ if (remainingBits > 0) {
134
+ // shift left within the int16 and the next one
135
+ this._arr[3] =
136
+ ((this._arr[3] << remainingBits) |
137
+ (this._arr[2] >>> (16 - remainingBits))) &
138
+ 0xffff
139
+ this._arr[2] =
140
+ ((this._arr[2] << remainingBits) |
141
+ (this._arr[1] >>> (16 - remainingBits))) &
142
+ 0xffff
143
+ this._arr[1] =
144
+ ((this._arr[1] << remainingBits) |
145
+ (this._arr[0] >>> (16 - remainingBits))) &
146
+ 0xffff
147
+ this._arr[0] = (this._arr[0] << remainingBits) & 0xffff
148
+ }
149
+ return this
150
+ }
151
+
152
+ shiftRightUnsigned(numBits) {
153
+ if (numBits === 0) {
154
+ return this
155
+ }
156
+ if (numBits >= 64) {
157
+ return this.toZero()
158
+ }
159
+ const remainingBits = numBits % 16
160
+ const pos = Math.floor(numBits / 16)
161
+ if (pos > 0) {
162
+ this._arr[0] = this._arr[pos]
163
+ this._arr[1] = pos > 2 ? 0 : this._arr[1 + pos]
164
+ this._arr[2] = pos > 1 ? 0 : this._arr[3]
165
+ this._arr[3] = 0
166
+ }
167
+ if (remainingBits > 0) {
168
+ this._arr[0] =
169
+ (this._arr[0] >>> remainingBits) |
170
+ ((this._arr[1] << (16 - remainingBits)) & 0xffff)
171
+ this._arr[1] =
172
+ (this._arr[1] >>> remainingBits) |
173
+ ((this._arr[2] << (16 - remainingBits)) & 0xffff)
174
+ this._arr[2] =
175
+ (this._arr[2] >>> remainingBits) |
176
+ ((this._arr[3] << (16 - remainingBits)) & 0xffff)
177
+ this._arr[3] = this._arr[3] >>> remainingBits
178
+ }
179
+ return this
180
+ }
181
+
182
+ or(other) {
183
+ this._arr[0] |= other._arr[0]
184
+ this._arr[1] |= other._arr[1]
185
+ this._arr[2] |= other._arr[2]
186
+ this._arr[3] |= other._arr[3]
187
+ return this
188
+ }
189
+
190
+ /**
191
+ * Returns the bitwise XOR of this Long and the given one.
192
+ * @param {MutableLong} other
193
+ * @returns {MutableLong} this instance.
194
+ */
195
+ xor(other) {
196
+ this._arr[0] ^= other._arr[0]
197
+ this._arr[1] ^= other._arr[1]
198
+ this._arr[2] ^= other._arr[2]
199
+ this._arr[3] ^= other._arr[3]
200
+ return this
201
+ }
202
+
203
+ clone() {
204
+ return new MutableLong(
205
+ this._arr[0],
206
+ this._arr[1],
207
+ this._arr[2],
208
+ this._arr[3],
209
+ )
210
+ }
211
+
212
+ /**
213
+ * Performs the product of this and the specified Long.
214
+ * @param {MutableLong} multiplier
215
+ * @returns {MutableLong} this instance.
216
+ */
217
+ multiply(multiplier) {
218
+ let negate = false
219
+ if (this.isZero() || multiplier.isZero()) {
220
+ return this.toZero()
221
+ }
222
+ if (this.isNegative()) {
223
+ this.negate()
224
+ negate = !negate
225
+ }
226
+ if (multiplier.isNegative()) {
227
+ multiplier = multiplier.clone().negate()
228
+ negate = !negate
229
+ }
230
+ // We can skip products that would overflow.
231
+ let c48 = 0,
232
+ c32 = 0,
233
+ c16 = 0,
234
+ c00 = 0
235
+ c00 += this._arr[0] * multiplier._arr[0]
236
+ c16 += c00 >>> 16
237
+ c16 += this._arr[1] * multiplier._arr[0]
238
+ c32 += c16 >>> 16
239
+ c16 &= 0xffff
240
+ c16 += this._arr[0] * multiplier._arr[1]
241
+ c32 += c16 >>> 16
242
+ c32 += this._arr[2] * multiplier._arr[0]
243
+ c48 += c32 >>> 16
244
+ c32 &= 0xffff
245
+ c32 += this._arr[1] * multiplier._arr[1]
246
+ c48 += c32 >>> 16
247
+ c32 &= 0xffff
248
+ c32 += this._arr[0] * multiplier._arr[2]
249
+ c48 += c32 >>> 16
250
+ c48 +=
251
+ this._arr[3] * multiplier._arr[0] +
252
+ this._arr[2] * multiplier._arr[1] +
253
+ this._arr[1] * multiplier._arr[2] +
254
+ this._arr[0] * multiplier._arr[3]
255
+ this._arr[0] = c00 & 0xffff
256
+ this._arr[1] = c16 & 0xffff
257
+ this._arr[2] = c32 & 0xffff
258
+ this._arr[3] = c48 & 0xffff
259
+ if (negate) {
260
+ this.negate()
261
+ }
262
+ return this
263
+ }
264
+
265
+ toZero() {
266
+ this._arr[3] = this._arr[2] = this._arr[1] = this._arr[0] = 0
267
+ return this
268
+ }
269
+
270
+ isZero() {
271
+ return (
272
+ this._arr[3] === 0 &&
273
+ this._arr[2] === 0 &&
274
+ this._arr[1] === 0 &&
275
+ this._arr[0] === 0
276
+ )
277
+ }
278
+
279
+ isNegative() {
280
+ // most significant bit turned on
281
+ return (this._arr[3] & 0x8000) > 0
282
+ }
283
+
284
+ /**
285
+ * Negates this value.
286
+ * @return {MutableLong}
287
+ */
288
+ negate() {
289
+ return this.not().add(MutableLong.one)
290
+ }
291
+
292
+ equals(other) {
293
+ if (!(other instanceof MutableLong)) {
294
+ return false
295
+ }
296
+ return (
297
+ this._arr[0] === other._arr[0] &&
298
+ this._arr[1] === other._arr[1] &&
299
+ this._arr[2] === other._arr[2] &&
300
+ this._arr[3] === other._arr[3]
301
+ )
302
+ }
303
+
304
+ toImmutable() {
305
+ return Long.fromBits(
306
+ this.getLowBitsUnsigned(),
307
+ this.getHighBitsUnsigned(),
308
+ false,
309
+ )
310
+ }
311
+
312
+ static fromNumber(value) {
313
+ if (isNaN(value) || !isFinite(value)) {
314
+ return new MutableLong()
315
+ }
316
+ if (value < 0) {
317
+ return MutableLong.fromNumber(-value).negate()
318
+ }
319
+ const low32Bits = value % TWO_PWR_32_DBL
320
+ const high32Bits = value / TWO_PWR_32_DBL
321
+ return MutableLong.fromBits(low32Bits, high32Bits)
322
+ }
323
+
324
+ static fromBits(low32Bits, high32Bits) {
325
+ return new MutableLong(
326
+ low32Bits,
327
+ low32Bits >>> 16,
328
+ high32Bits,
329
+ high32Bits >>> 16,
330
+ )
331
+ }
332
+
333
+ /**
334
+ * Returns a Long representation of the given string, written using the specified radix.
335
+ * @param {String} str
336
+ * @param {Number} [radix]
337
+ * @return {MutableLong}
338
+ */
339
+ static fromString(str, radix) {
340
+ if (typeof str !== "string") {
341
+ throw new Error("String format is not valid: " + str)
342
+ }
343
+ if (str.length === 0) {
344
+ throw Error("number format error: empty string")
345
+ }
346
+ if (
347
+ str === "NaN" ||
348
+ str === "Infinity" ||
349
+ str === "+Infinity" ||
350
+ str === "-Infinity"
351
+ ) {
352
+ return new MutableLong()
353
+ }
354
+ radix = radix || 10
355
+ if (radix < 2 || radix > 36) {
356
+ throw Error("radix out of range: " + radix)
357
+ }
358
+ let p
359
+ if ((p = str.indexOf("-")) > 0) {
360
+ throw Error('number format error: interior "-" character: ' + str)
361
+ }
362
+ if (p === 0) {
363
+ return MutableLong.fromString(str.substring(1), radix).negate()
364
+ }
365
+ // Do several (8) digits each time through the loop
366
+ const radixToPower = MutableLong.fromNumber(Math.pow(radix, 8))
367
+ const result = new MutableLong()
368
+ for (let i = 0; i < str.length; i += 8) {
369
+ const size = Math.min(8, str.length - i)
370
+ const value = parseInt(str.substring(i, i + size), radix)
371
+ if (size < 8) {
372
+ const power = MutableLong.fromNumber(Math.pow(radix, size))
373
+ result.multiply(power).add(MutableLong.fromNumber(value))
374
+ break
375
+ }
376
+ result.multiply(radixToPower)
377
+ result.add(MutableLong.fromNumber(value))
378
+ }
379
+ return result
380
+ }
381
+ }
382
+
383
+ MutableLong.one = new MutableLong(1, 0, 0, 0)
384
+
385
+ export default MutableLong