@karmaniverous/entity-manager 5.0.7 → 5.0.9
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.
package/README.md
CHANGED
|
@@ -452,5 +452,4 @@ Shard query function
|
|
|
452
452
|
|
|
453
453
|
---
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
[my GitHub Profile](https://github.com/karmaniverous)!
|
|
455
|
+
Built with ❤️ on Bali! Find more great tools & templates on [my GitHub Profile](https://github.com/karmaniverous).
|
|
@@ -69,7 +69,9 @@ class EntityManager {
|
|
|
69
69
|
*/
|
|
70
70
|
addKeys(entityToken, item) {
|
|
71
71
|
let overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
72
|
-
this.#entityManager.logger.debug(`adding sharded index keys to ${entityToken}${overwrite ? ' with overwrite' : ''}...`,
|
|
72
|
+
this.#entityManager.logger.debug(`adding sharded index keys to ${entityToken}${overwrite ? ' with overwrite' : ''}...`, {
|
|
73
|
+
item
|
|
74
|
+
});
|
|
73
75
|
|
|
74
76
|
// Validate item.
|
|
75
77
|
this.#entityManager.validateItem(item);
|
|
@@ -97,7 +99,9 @@ class EntityManager {
|
|
|
97
99
|
} = _ref2;
|
|
98
100
|
if (overwrite || (0, _isNil2.default)(newItem[key])) newItem[key] = encode(newItem);
|
|
99
101
|
});
|
|
100
|
-
this.#entityManager.logger.debug('done',
|
|
102
|
+
this.#entityManager.logger.debug('done', {
|
|
103
|
+
newItem
|
|
104
|
+
});
|
|
101
105
|
|
|
102
106
|
// Remove undefined shardKey.
|
|
103
107
|
if ((0, _isNil2.default)(newItem[shardKeyToken])) delete newItem[shardKeyToken];
|
|
@@ -189,13 +193,17 @@ class EntityManager {
|
|
|
189
193
|
*/
|
|
190
194
|
getKeySpace(entityToken, keyToken, item) {
|
|
191
195
|
let timestamp = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Date.now();
|
|
192
|
-
this.#entityManager.logger.debug(`getting shard key space for ${entityToken} on key '${keyToken}' at timestamp ${timestamp}...`,
|
|
196
|
+
this.#entityManager.logger.debug(`getting shard key space for ${entityToken} on key '${keyToken}' at timestamp ${timestamp}...`, {
|
|
197
|
+
item
|
|
198
|
+
});
|
|
193
199
|
const shardKeySpace = this.#entityManager.getShardKeySpace(entityToken, timestamp);
|
|
194
200
|
const result = (0, _sortedUniq2.default)(shardKeySpace.map(shardKey => this.getKey(entityToken, keyToken).encode({
|
|
195
201
|
...item,
|
|
196
202
|
[this.#entityManager.shardKeyToken]: shardKey
|
|
197
203
|
})));
|
|
198
|
-
this.#entityManager.logger.debug('done',
|
|
204
|
+
this.#entityManager.logger.debug('done', {
|
|
205
|
+
result
|
|
206
|
+
});
|
|
199
207
|
return result;
|
|
200
208
|
}
|
|
201
209
|
|
|
@@ -260,7 +268,7 @@ class EntityManager {
|
|
|
260
268
|
|
|
261
269
|
// Generate default pageKeys if not provided
|
|
262
270
|
pageKeys ??= (0, _fromPairs2.default)(this.getKeySpace(entityToken, keyToken, item).map(shardedKey => [shardedKey, undefined]));
|
|
263
|
-
|
|
271
|
+
this.#entityManager.logger.debug('EntityManager.query parsed params', {
|
|
264
272
|
entityToken,
|
|
265
273
|
keyToken,
|
|
266
274
|
item,
|
|
@@ -327,7 +335,9 @@ class EntityManager {
|
|
|
327
335
|
items: [],
|
|
328
336
|
pageKeys: {}
|
|
329
337
|
});
|
|
330
|
-
|
|
338
|
+
this.#entityManager.logger.debug(`EntityManager.query page ${page} result`, {
|
|
339
|
+
pageResult
|
|
340
|
+
});
|
|
331
341
|
result.count += pageResult.count;
|
|
332
342
|
result.items = [...result.items, ...pageResult.items];
|
|
333
343
|
result.pageKeys = pageResult.pageKeys;
|
|
@@ -379,7 +389,9 @@ class EntityManager {
|
|
|
379
389
|
* @throws {Error} If item is invalid.
|
|
380
390
|
*/
|
|
381
391
|
removeKeys(entityToken, item) {
|
|
382
|
-
this.#entityManager.logger.debug(`removing sharded index keys from ${entityToken}...`,
|
|
392
|
+
this.#entityManager.logger.debug(`removing sharded index keys from ${entityToken}...`, {
|
|
393
|
+
item
|
|
394
|
+
});
|
|
383
395
|
|
|
384
396
|
// Validate item.
|
|
385
397
|
this.#entityManager.validateItem(item);
|
|
@@ -402,7 +414,9 @@ class EntityManager {
|
|
|
402
414
|
(0, _forEach2.default)(keys, (value, key) => {
|
|
403
415
|
if (!value.retain) delete newItem[key];
|
|
404
416
|
});
|
|
405
|
-
this.#entityManager.logger.debug('done',
|
|
417
|
+
this.#entityManager.logger.debug('done', {
|
|
418
|
+
newItem
|
|
419
|
+
});
|
|
406
420
|
return newItem;
|
|
407
421
|
}
|
|
408
422
|
}
|
|
@@ -44,7 +44,7 @@ export class EntityManager {
|
|
|
44
44
|
`adding sharded index keys to ${entityToken}${
|
|
45
45
|
overwrite ? ' with overwrite' : ''
|
|
46
46
|
}...`,
|
|
47
|
-
item
|
|
47
|
+
{ item }
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
// Validate item.
|
|
@@ -66,7 +66,7 @@ export class EntityManager {
|
|
|
66
66
|
_.forEach(keys, ({ encode }, key) => {
|
|
67
67
|
if (overwrite || _.isNil(newItem[key])) newItem[key] = encode(newItem);
|
|
68
68
|
});
|
|
69
|
-
this.#entityManager.logger.debug('done', newItem);
|
|
69
|
+
this.#entityManager.logger.debug('done', { newItem });
|
|
70
70
|
|
|
71
71
|
// Remove undefined shardKey.
|
|
72
72
|
if (_.isNil(newItem[shardKeyToken])) delete newItem[shardKeyToken];
|
|
@@ -164,7 +164,7 @@ export class EntityManager {
|
|
|
164
164
|
getKeySpace(entityToken, keyToken, item, timestamp = Date.now()) {
|
|
165
165
|
this.#entityManager.logger.debug(
|
|
166
166
|
`getting shard key space for ${entityToken} on key '${keyToken}' at timestamp ${timestamp}...`,
|
|
167
|
-
item
|
|
167
|
+
{ item }
|
|
168
168
|
);
|
|
169
169
|
|
|
170
170
|
const shardKeySpace = this.#entityManager.getShardKeySpace(
|
|
@@ -180,7 +180,7 @@ export class EntityManager {
|
|
|
180
180
|
})
|
|
181
181
|
)
|
|
182
182
|
);
|
|
183
|
-
this.#entityManager.logger.debug('done', result);
|
|
183
|
+
this.#entityManager.logger.debug('done', { result });
|
|
184
184
|
|
|
185
185
|
return result;
|
|
186
186
|
}
|
|
@@ -263,7 +263,7 @@ export class EntityManager {
|
|
|
263
263
|
])
|
|
264
264
|
);
|
|
265
265
|
|
|
266
|
-
|
|
266
|
+
this.#entityManager.logger.debug('EntityManager.query parsed params', {
|
|
267
267
|
entityToken,
|
|
268
268
|
keyToken,
|
|
269
269
|
item,
|
|
@@ -312,9 +312,9 @@ export class EntityManager {
|
|
|
312
312
|
{ count: 0, items: [], pageKeys: {} }
|
|
313
313
|
);
|
|
314
314
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
pageResult
|
|
315
|
+
this.#entityManager.logger.debug(
|
|
316
|
+
`EntityManager.query page ${page} result`,
|
|
317
|
+
{ pageResult }
|
|
318
318
|
);
|
|
319
319
|
|
|
320
320
|
result.count += pageResult.count;
|
|
@@ -369,7 +369,7 @@ export class EntityManager {
|
|
|
369
369
|
removeKeys(entityToken, item) {
|
|
370
370
|
this.#entityManager.logger.debug(
|
|
371
371
|
`removing sharded index keys from ${entityToken}...`,
|
|
372
|
-
item
|
|
372
|
+
{ item }
|
|
373
373
|
);
|
|
374
374
|
|
|
375
375
|
// Validate item.
|
|
@@ -389,7 +389,7 @@ export class EntityManager {
|
|
|
389
389
|
_.forEach(keys, (value, key) => {
|
|
390
390
|
if (!value.retain) delete newItem[key];
|
|
391
391
|
});
|
|
392
|
-
this.#entityManager.logger.debug('done', newItem);
|
|
392
|
+
this.#entityManager.logger.debug('done', { newItem });
|
|
393
393
|
|
|
394
394
|
return newItem;
|
|
395
395
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@karmaniverous/entity-manager",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -27,24 +27,24 @@
|
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/cli": "^7.24.8",
|
|
30
|
-
"@babel/core": "^7.
|
|
31
|
-
"@babel/eslint-parser": "^7.
|
|
30
|
+
"@babel/core": "^7.25.2",
|
|
31
|
+
"@babel/eslint-parser": "^7.25.1",
|
|
32
32
|
"@babel/plugin-syntax-import-assertions": "^7.24.7",
|
|
33
|
-
"@babel/preset-env": "^7.
|
|
33
|
+
"@babel/preset-env": "^7.25.3",
|
|
34
34
|
"@babel/register": "^7.24.6",
|
|
35
35
|
"@karmaniverous/edge-logger": "^1.3.12",
|
|
36
36
|
"@karmaniverous/tagged-templates": "^0.1.2",
|
|
37
|
-
"@types/node": "^20.
|
|
37
|
+
"@types/node": "^20.16.1",
|
|
38
38
|
"babel-plugin-lodash": "^3.3.4",
|
|
39
39
|
"chai": "^5.1.1",
|
|
40
40
|
"concat-md": "^0.5.1",
|
|
41
41
|
"eslint": "=8",
|
|
42
|
-
"eslint-plugin-jsdoc": "^48.
|
|
43
|
-
"eslint-plugin-mocha": "^10.
|
|
44
|
-
"eslint-plugin-promise": "^6.
|
|
45
|
-
"jsdoc-to-markdown": "^8.0.
|
|
46
|
-
"knip": "^5.
|
|
47
|
-
"mocha": "^10.
|
|
42
|
+
"eslint-plugin-jsdoc": "^48.11.0",
|
|
43
|
+
"eslint-plugin-mocha": "^10.5.0",
|
|
44
|
+
"eslint-plugin-promise": "^6.6.0",
|
|
45
|
+
"jsdoc-to-markdown": "^8.0.3",
|
|
46
|
+
"knip": "^5.27.2",
|
|
47
|
+
"mocha": "^10.7.3",
|
|
48
48
|
"release-it": "^17.6.0"
|
|
49
49
|
},
|
|
50
50
|
"exports": {
|