harperdb 4.3.21 → 4.3.22

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.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "harperdb",
3
- "version": "4.3.21",
3
+ "version": "4.3.22",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "harperdb",
9
- "version": "4.3.21",
9
+ "version": "4.3.22",
10
10
  "hasInstallScript": true,
11
11
  "license": "SEE LICENSE IN LICENSE",
12
12
  "dependencies": {
@@ -991,11 +991,11 @@
991
991
  }
992
992
  },
993
993
  "node_modules/@babel/generator": {
994
- "version": "7.25.5",
995
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.5.tgz",
996
- "integrity": "sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==",
994
+ "version": "7.25.6",
995
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
996
+ "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
997
997
  "dependencies": {
998
- "@babel/types": "^7.25.4",
998
+ "@babel/types": "^7.25.6",
999
999
  "@jridgewell/gen-mapping": "^0.3.5",
1000
1000
  "@jridgewell/trace-mapping": "^0.3.25",
1001
1001
  "jsesc": "^2.5.1"
@@ -1091,11 +1091,11 @@
1091
1091
  }
1092
1092
  },
1093
1093
  "node_modules/@babel/parser": {
1094
- "version": "7.25.4",
1095
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz",
1096
- "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==",
1094
+ "version": "7.25.6",
1095
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
1096
+ "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
1097
1097
  "dependencies": {
1098
- "@babel/types": "^7.25.4"
1098
+ "@babel/types": "^7.25.6"
1099
1099
  },
1100
1100
  "bin": {
1101
1101
  "parser": "bin/babel-parser.js"
@@ -1105,9 +1105,9 @@
1105
1105
  }
1106
1106
  },
1107
1107
  "node_modules/@babel/runtime": {
1108
- "version": "7.25.4",
1109
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.4.tgz",
1110
- "integrity": "sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==",
1108
+ "version": "7.25.6",
1109
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz",
1110
+ "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==",
1111
1111
  "dependencies": {
1112
1112
  "regenerator-runtime": "^0.14.0"
1113
1113
  },
@@ -1129,15 +1129,15 @@
1129
1129
  }
1130
1130
  },
1131
1131
  "node_modules/@babel/traverse": {
1132
- "version": "7.25.4",
1133
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz",
1134
- "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==",
1132
+ "version": "7.25.6",
1133
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
1134
+ "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
1135
1135
  "dependencies": {
1136
1136
  "@babel/code-frame": "^7.24.7",
1137
- "@babel/generator": "^7.25.4",
1138
- "@babel/parser": "^7.25.4",
1137
+ "@babel/generator": "^7.25.6",
1138
+ "@babel/parser": "^7.25.6",
1139
1139
  "@babel/template": "^7.25.0",
1140
- "@babel/types": "^7.25.4",
1140
+ "@babel/types": "^7.25.6",
1141
1141
  "debug": "^4.3.1",
1142
1142
  "globals": "^11.1.0"
1143
1143
  },
@@ -1146,9 +1146,9 @@
1146
1146
  }
1147
1147
  },
1148
1148
  "node_modules/@babel/types": {
1149
- "version": "7.25.4",
1150
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz",
1151
- "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==",
1149
+ "version": "7.25.6",
1150
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
1151
+ "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
1152
1152
  "dependencies": {
1153
1153
  "@babel/helper-string-parser": "^7.24.8",
1154
1154
  "@babel/helper-validator-identifier": "^7.24.7",
@@ -1239,9 +1239,9 @@
1239
1239
  }
1240
1240
  },
1241
1241
  "node_modules/@endo/env-options": {
1242
- "version": "1.1.5",
1243
- "resolved": "https://registry.npmjs.org/@endo/env-options/-/env-options-1.1.5.tgz",
1244
- "integrity": "sha512-Pkov8WqmOIdwgREtntxSoYgRdRXqHE9N/ZMIPjSI6LV9p7c2bC9wc4pPZPjGPIb/O4phOikbvC6BcENE83T30Q=="
1242
+ "version": "1.1.6",
1243
+ "resolved": "https://registry.npmjs.org/@endo/env-options/-/env-options-1.1.6.tgz",
1244
+ "integrity": "sha512-Uqy94PwLTco90Yfign43muvDtjsYTbL6Ck4W5sSWQUqJiFOL+YP8kiBOoGyQynDsGTY0MCQvMxEPfphaJKnzlQ=="
1245
1245
  },
1246
1246
  "node_modules/@endo/static-module-record": {
1247
1247
  "version": "1.1.2",
@@ -1256,11 +1256,11 @@
1256
1256
  }
1257
1257
  },
1258
1258
  "node_modules/@endo/static-module-record/node_modules/ses": {
1259
- "version": "1.7.0",
1260
- "resolved": "https://registry.npmjs.org/ses/-/ses-1.7.0.tgz",
1261
- "integrity": "sha512-hgoFhIT4/axmORurcIeSx/j0ZY62X4qAUuuiA0di4DZLLKjN5TKIRI5Is/nqcfxAKBw5VOa3kMX4aYanbqkaCA==",
1259
+ "version": "1.8.0",
1260
+ "resolved": "https://registry.npmjs.org/ses/-/ses-1.8.0.tgz",
1261
+ "integrity": "sha512-pis9agyAy7s9lDApaYY9OSktkzc10gkBggSbhHXwTf3cWL9H8xA7oKiXIfT/uVNf8dzZN3o2TtPYjer9/axIhw==",
1262
1262
  "dependencies": {
1263
- "@endo/env-options": "^1.1.5"
1263
+ "@endo/env-options": "^1.1.6"
1264
1264
  }
1265
1265
  },
1266
1266
  "node_modules/@fastify/accept-negotiator": {
@@ -3312,11 +3312,11 @@
3312
3312
  "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
3313
3313
  },
3314
3314
  "node_modules/debug": {
3315
- "version": "4.3.6",
3316
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
3317
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
3315
+ "version": "4.3.7",
3316
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
3317
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
3318
3318
  "dependencies": {
3319
- "ms": "2.1.2"
3319
+ "ms": "^2.1.3"
3320
3320
  },
3321
3321
  "engines": {
3322
3322
  "node": ">=6.0"
@@ -3516,9 +3516,9 @@
3516
3516
  }
3517
3517
  },
3518
3518
  "node_modules/escalade": {
3519
- "version": "3.1.2",
3520
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
3521
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
3519
+ "version": "3.2.0",
3520
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
3521
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
3522
3522
  "engines": {
3523
3523
  "node": ">=6"
3524
3524
  }
@@ -3940,9 +3940,9 @@
3940
3940
  }
3941
3941
  },
3942
3942
  "node_modules/follow-redirects": {
3943
- "version": "1.15.6",
3944
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
3945
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
3943
+ "version": "1.15.9",
3944
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
3945
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
3946
3946
  "funding": [
3947
3947
  {
3948
3948
  "type": "individual",
@@ -4904,9 +4904,9 @@
4904
4904
  }
4905
4905
  },
4906
4906
  "node_modules/micromatch": {
4907
- "version": "4.0.7",
4908
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
4909
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
4907
+ "version": "4.0.8",
4908
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
4909
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
4910
4910
  "dependencies": {
4911
4911
  "braces": "^3.0.3",
4912
4912
  "picomatch": "^2.3.1"
@@ -5041,9 +5041,9 @@
5041
5041
  }
5042
5042
  },
5043
5043
  "node_modules/ms": {
5044
- "version": "2.1.2",
5045
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
5046
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
5044
+ "version": "2.1.3",
5045
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
5046
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
5047
5047
  },
5048
5048
  "node_modules/msgpackr": {
5049
5049
  "version": "1.10.1",
@@ -5182,9 +5182,9 @@
5182
5182
  }
5183
5183
  },
5184
5184
  "node_modules/node-gyp-build": {
5185
- "version": "4.8.1",
5186
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
5187
- "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
5185
+ "version": "4.8.2",
5186
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz",
5187
+ "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==",
5188
5188
  "optional": true,
5189
5189
  "bin": {
5190
5190
  "node-gyp-build": "bin.js",
@@ -5671,9 +5671,9 @@
5671
5671
  }
5672
5672
  },
5673
5673
  "node_modules/picocolors": {
5674
- "version": "1.0.1",
5675
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
5676
- "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
5674
+ "version": "1.1.0",
5675
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
5676
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
5677
5677
  },
5678
5678
  "node_modules/picomatch": {
5679
5679
  "version": "2.3.1",
@@ -6413,9 +6413,9 @@
6413
6413
  }
6414
6414
  },
6415
6415
  "node_modules/safe-stable-stringify": {
6416
- "version": "2.4.3",
6417
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
6418
- "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
6416
+ "version": "2.5.0",
6417
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
6418
+ "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
6419
6419
  "engines": {
6420
6420
  "node": ">=10"
6421
6421
  }
@@ -6512,11 +6512,6 @@
6512
6512
  "node": ">=4"
6513
6513
  }
6514
6514
  },
6515
- "node_modules/send/node_modules/ms": {
6516
- "version": "2.1.3",
6517
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
6518
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
6519
- },
6520
6515
  "node_modules/serve-static": {
6521
6516
  "version": "1.15.0",
6522
6517
  "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
@@ -6948,9 +6943,9 @@
6948
6943
  "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
6949
6944
  },
6950
6945
  "node_modules/tslib": {
6951
- "version": "2.6.3",
6952
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
6953
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
6946
+ "version": "2.7.0",
6947
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
6948
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
6954
6949
  },
6955
6950
  "node_modules/tv4": {
6956
6951
  "version": "1.3.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harperdb",
3
- "version": "4.3.21",
3
+ "version": "4.3.22",
4
4
  "description": "HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.",
5
5
  "keywords": [
6
6
  "database",
@@ -3,10 +3,16 @@ export declare class IterableEventQueue extends EventEmitter {
3
3
  resolveNext: Function;
4
4
  queue: any[];
5
5
  hasDataListeners: boolean;
6
+ drainCloseListener: boolean;
7
+ currentDrainResolver: Function;
6
8
  [Symbol.asyncIterator](): EventQueueIterator;
7
9
  push(message: any): void;
8
10
  send(message: any): void;
9
11
  getNextMessage(): any;
12
+ /**
13
+ * Wait for the queue to be drained, resolving to true to continue or false if the queue was closed before draining.
14
+ */
15
+ waitForDrain(): Promise<boolean>;
10
16
  on(event_name: any, listener: any): this;
11
17
  }
12
18
  declare class EventQueueIterator {
@@ -128,4 +128,10 @@ export declare class Resource implements ResourceInterface {
128
128
  getContext(): Context;
129
129
  }
130
130
  export declare function snake_case(camelCase: string): string;
131
+ /**
132
+ * An array for ids that toString's back to slash-delimited string
133
+ */
134
+ export declare class MultiPartId extends Array {
135
+ toString(): string;
136
+ }
131
137
  export declare function transformForSelect(select: any, resource: any): (object: any) => any;
@@ -105,9 +105,12 @@ export declare function makeTable(options: any): {
105
105
  resolveNext: Function;
106
106
  queue: any[];
107
107
  hasDataListeners: boolean;
108
+ drainCloseListener: boolean;
109
+ currentDrainResolver: Function;
108
110
  push(message: any): void;
109
111
  send(message: any): void;
110
112
  getNextMessage(): any;
113
+ waitForDrain(): Promise<boolean>;
111
114
  on(event_name: any, listener: any): any;
112
115
  [Symbol.asyncIterator](): {
113
116
  queue: import("./IterableEventQueue").IterableEventQueue;
@@ -268,9 +271,12 @@ export declare function makeTable(options: any): {
268
271
  resolveNext: Function;
269
272
  queue: any[];
270
273
  hasDataListeners: boolean;
274
+ drainCloseListener: boolean;
275
+ currentDrainResolver: Function;
271
276
  push(message: any): void;
272
277
  send(message: any): void;
273
278
  getNextMessage(): any;
279
+ waitForDrain(): Promise<boolean>;
274
280
  on(event_name: any, listener: any): any;
275
281
  [Symbol.asyncIterator](): {
276
282
  queue: import("./IterableEventQueue").IterableEventQueue;
@@ -395,9 +401,12 @@ export declare function makeTable(options: any): {
395
401
  resolveNext: Function;
396
402
  queue: any[];
397
403
  hasDataListeners: boolean;
404
+ drainCloseListener: boolean;
405
+ currentDrainResolver: Function;
398
406
  push(message: any): void;
399
407
  send(message: any): void;
400
408
  getNextMessage(): any;
409
+ waitForDrain(): Promise<boolean>;
401
410
  on(event_name: any, listener: any): any;
402
411
  [Symbol.asyncIterator](): {
403
412
  queue: import("./IterableEventQueue").IterableEventQueue;
@@ -101,9 +101,12 @@ export declare function table({ table: table_name, database: database_name, expi
101
101
  resolveNext: Function;
102
102
  queue: any[];
103
103
  hasDataListeners: boolean;
104
+ drainCloseListener: boolean;
105
+ currentDrainResolver: Function;
104
106
  push(message: any): void;
105
107
  send(message: any): void;
106
108
  getNextMessage(): any;
109
+ waitForDrain(): Promise<boolean>;
107
110
  on(event_name: any, listener: any): any;
108
111
  [Symbol.asyncIterator](): {
109
112
  queue: import("./IterableEventQueue").IterableEventQueue;
@@ -195,9 +198,12 @@ export declare function table({ table: table_name, database: database_name, expi
195
198
  resolveNext: Function;
196
199
  queue: any[];
197
200
  hasDataListeners: boolean;
201
+ drainCloseListener: boolean;
202
+ currentDrainResolver: Function;
198
203
  push(message: any): void;
199
204
  send(message: any): void;
200
205
  getNextMessage(): any;
206
+ waitForDrain(): Promise<boolean>;
201
207
  on(event_name: any, listener: any): any;
202
208
  [Symbol.asyncIterator](): {
203
209
  queue: import("./IterableEventQueue").IterableEventQueue;
@@ -269,9 +275,12 @@ export declare function table({ table: table_name, database: database_name, expi
269
275
  resolveNext: Function;
270
276
  queue: any[];
271
277
  hasDataListeners: boolean;
278
+ drainCloseListener: boolean;
279
+ currentDrainResolver: Function;
272
280
  push(message: any): void;
273
281
  send(message: any): void;
274
282
  getNextMessage(): any;
283
+ waitForDrain(): Promise<boolean>;
275
284
  on(event_name: any, listener: any): any;
276
285
  [Symbol.asyncIterator](): {
277
286
  queue: import("./IterableEventQueue").IterableEventQueue;