@karmaniverous/entity-manager 6.1.0-5 → 6.1.0

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 (79) hide show
  1. package/dist/cjs/{src/EntityManager.js → EntityManager.js} +4 -4
  2. package/dist/cjs/{src/EntityManagerClient.js → EntityManagerClient.js} +6 -6
  3. package/dist/cjs/{src/ParsedConfig.js → ParsedConfig.js} +52 -52
  4. package/dist/cjs/{src/addKeys.js → addKeys.js} +2 -2
  5. package/dist/cjs/{src/decodeGeneratedProperty.js → decodeGeneratedProperty.js} +2 -2
  6. package/dist/cjs/{src/encodeGeneratedProperty.js → encodeGeneratedProperty.js} +2 -2
  7. package/dist/cjs/{src/getHashKeySpace.js → getHashKeySpace.js} +2 -2
  8. package/dist/cjs/{src/query.js → query.js} +7 -9
  9. package/dist/cjs/{src/rehydrateIndexItem.js → rehydrateIndexItem.js} +2 -3
  10. package/dist/cjs/{src/rehydratePageKeyMap.js → rehydratePageKeyMap.js} +4 -5
  11. package/dist/cjs/{src/unwrapIndex.js → unwrapIndex.js} +2 -2
  12. package/dist/cjs/{src/updateItemHashKey.js → updateItemHashKey.js} +5 -5
  13. package/dist/cjs/{src/updateItemRangeKey.js → updateItemRangeKey.js} +2 -2
  14. package/dist/mjs/{src/EntityManager.js → EntityManager.js} +1 -1
  15. package/dist/mjs/{src/EntityManagerClient.js → EntityManagerClient.js} +2 -2
  16. package/dist/mjs/{src/ParsedConfig.js → ParsedConfig.js} +3 -3
  17. package/dist/mjs/{src/addKeys.js → addKeys.js} +1 -1
  18. package/dist/mjs/{src/decodeGeneratedProperty.js → decodeGeneratedProperty.js} +1 -1
  19. package/dist/mjs/{src/encodeGeneratedProperty.js → encodeGeneratedProperty.js} +1 -1
  20. package/dist/mjs/{src/getHashKeySpace.js → getHashKeySpace.js} +1 -1
  21. package/dist/mjs/{src/query.js → query.js} +3 -5
  22. package/dist/mjs/{src/rehydrateIndexItem.js → rehydrateIndexItem.js} +1 -2
  23. package/dist/mjs/{src/rehydratePageKeyMap.js → rehydratePageKeyMap.js} +1 -2
  24. package/dist/mjs/{src/unwrapIndex.js → unwrapIndex.js} +1 -1
  25. package/dist/mjs/{src/updateItemHashKey.js → updateItemHashKey.js} +2 -2
  26. package/dist/mjs/{src/updateItemRangeKey.js → updateItemRangeKey.js} +1 -1
  27. package/package.json +6 -6
  28. package/dist/cjs/_virtual/_commonjsHelpers.js +0 -7
  29. package/dist/cjs/_virtual/index.js +0 -9
  30. package/dist/cjs/_virtual/lz-string.js +0 -9
  31. package/dist/cjs/_virtual/lz-string2.js +0 -5
  32. package/dist/cjs/node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js +0 -14
  33. package/dist/cjs/node_modules/@karmaniverous/entity-tools/dist/mjs/defaultTranscodes.js +0 -94
  34. package/dist/cjs/node_modules/@karmaniverous/entity-tools/dist/mjs/sort.js +0 -52
  35. package/dist/cjs/node_modules/lz-string/libs/lz-string.js +0 -520
  36. package/dist/cjs/node_modules/radash/dist/esm/array.js +0 -90
  37. package/dist/cjs/node_modules/radash/dist/esm/async.js +0 -62
  38. package/dist/cjs/node_modules/radash/dist/esm/object.js +0 -25
  39. package/dist/cjs/node_modules/radash/dist/esm/typed.js +0 -35
  40. package/dist/cjs/node_modules/string-hash/index.js +0 -28
  41. package/dist/cjs/node_modules/tslib/tslib.es6.js +0 -39
  42. package/dist/cjs/node_modules/zod/lib/index.js +0 -4342
  43. package/dist/mjs/_virtual/_commonjsHelpers.js +0 -5
  44. package/dist/mjs/_virtual/index.js +0 -7
  45. package/dist/mjs/_virtual/lz-string.js +0 -7
  46. package/dist/mjs/_virtual/lz-string2.js +0 -3
  47. package/dist/mjs/node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js +0 -12
  48. package/dist/mjs/node_modules/@karmaniverous/entity-tools/dist/mjs/defaultTranscodes.js +0 -92
  49. package/dist/mjs/node_modules/@karmaniverous/entity-tools/dist/mjs/sort.js +0 -50
  50. package/dist/mjs/node_modules/lz-string/libs/lz-string.js +0 -518
  51. package/dist/mjs/node_modules/radash/dist/esm/array.js +0 -80
  52. package/dist/mjs/node_modules/radash/dist/esm/async.js +0 -58
  53. package/dist/mjs/node_modules/radash/dist/esm/object.js +0 -22
  54. package/dist/mjs/node_modules/radash/dist/esm/typed.js +0 -28
  55. package/dist/mjs/node_modules/string-hash/index.js +0 -26
  56. package/dist/mjs/node_modules/tslib/tslib.es6.js +0 -36
  57. package/dist/mjs/node_modules/zod/lib/index.js +0 -4233
  58. /package/dist/cjs/{src/conditionalize.js → conditionalize.js} +0 -0
  59. /package/dist/cjs/{src/decodeEntityElement.js → decodeEntityElement.js} +0 -0
  60. /package/dist/cjs/{src/dehydrateIndexItem.js → dehydrateIndexItem.js} +0 -0
  61. /package/dist/cjs/{src/dehydratePageKeyMap.js → dehydratePageKeyMap.js} +0 -0
  62. /package/dist/cjs/{src/encodeEntityElement.js → encodeEntityElement.js} +0 -0
  63. /package/dist/cjs/{src/getShardBump.js → getShardBump.js} +0 -0
  64. /package/dist/cjs/{src/index.js → index.js} +0 -0
  65. /package/dist/cjs/{src/removeKeys.js → removeKeys.js} +0 -0
  66. /package/dist/cjs/{src/validateEntityGeneratedProperty.js → validateEntityGeneratedProperty.js} +0 -0
  67. /package/dist/cjs/{src/validateEntityIndexToken.js → validateEntityIndexToken.js} +0 -0
  68. /package/dist/cjs/{src/validateEntityToken.js → validateEntityToken.js} +0 -0
  69. /package/dist/mjs/{src/conditionalize.js → conditionalize.js} +0 -0
  70. /package/dist/mjs/{src/decodeEntityElement.js → decodeEntityElement.js} +0 -0
  71. /package/dist/mjs/{src/dehydrateIndexItem.js → dehydrateIndexItem.js} +0 -0
  72. /package/dist/mjs/{src/dehydratePageKeyMap.js → dehydratePageKeyMap.js} +0 -0
  73. /package/dist/mjs/{src/encodeEntityElement.js → encodeEntityElement.js} +0 -0
  74. /package/dist/mjs/{src/getShardBump.js → getShardBump.js} +0 -0
  75. /package/dist/mjs/{src/index.js → index.js} +0 -0
  76. /package/dist/mjs/{src/removeKeys.js → removeKeys.js} +0 -0
  77. /package/dist/mjs/{src/validateEntityGeneratedProperty.js → validateEntityGeneratedProperty.js} +0 -0
  78. /package/dist/mjs/{src/validateEntityIndexToken.js → validateEntityIndexToken.js} +0 -0
  79. /package/dist/mjs/{src/validateEntityToken.js → validateEntityToken.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var addKeys = require('./addKeys.js');
5
5
  var ParsedConfig = require('./ParsedConfig.js');
6
6
  var query = require('./query.js');
@@ -21,7 +21,7 @@ class EntityManager {
21
21
  */
22
22
  constructor(config) {
23
23
  _EntityManager_config.set(this, void 0);
24
- tslib_es6.__classPrivateFieldSet(this, _EntityManager_config, ParsedConfig.configSchema.parse(config), "f");
24
+ tslib.__classPrivateFieldSet(this, _EntityManager_config, ParsedConfig.configSchema.parse(config), "f");
25
25
  }
26
26
  /**
27
27
  * Get the current EntityManager {@link Config | `Config`} object.
@@ -29,7 +29,7 @@ class EntityManager {
29
29
  * @returns Current {@link Config | `Config`} object.
30
30
  */
31
31
  get config() {
32
- return tslib_es6.__classPrivateFieldGet(this, _EntityManager_config, "f");
32
+ return tslib.__classPrivateFieldGet(this, _EntityManager_config, "f");
33
33
  }
34
34
  /**
35
35
  * Set the current EntityManager {@link Config | `Config`} object.
@@ -37,7 +37,7 @@ class EntityManager {
37
37
  * @param value - {@link Config | `Config`} object.
38
38
  */
39
39
  set config(value) {
40
- tslib_es6.__classPrivateFieldSet(this, _EntityManager_config, ParsedConfig.configSchema.parse(value), "f");
40
+ tslib.__classPrivateFieldSet(this, _EntityManager_config, ParsedConfig.configSchema.parse(value), "f");
41
41
  }
42
42
  /**
43
43
  * Update generated properties, hash key, and range key on an {@link ItemMap | `ItemMap`} object. Mutates `item`.
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
+ var radash = require('radash');
4
5
  var conditionalize = require('./conditionalize.js');
5
- var typed = require('../node_modules/radash/dist/esm/typed.js');
6
6
 
7
7
  var _EntityManagerClient_options;
8
8
  /**
@@ -13,11 +13,11 @@ var _EntityManagerClient_options;
13
13
  class EntityManagerClient {
14
14
  constructor({ batchSize = 25, delayIncrement = 100, maxRetries = 5, throttle = 10, logger = console, logInternals = false, ...childOptions }) {
15
15
  _EntityManagerClient_options.set(this, void 0);
16
- if (!typed.isFunction(logger.debug))
16
+ if (!radash.isFunction(logger.debug))
17
17
  throw new Error('logger must support debug method');
18
- if (!typed.isFunction(logger.error))
18
+ if (!radash.isFunction(logger.error))
19
19
  throw new Error('logger must support error method');
20
- tslib_es6.__classPrivateFieldSet(this, _EntityManagerClient_options, {
20
+ tslib.__classPrivateFieldSet(this, _EntityManagerClient_options, {
21
21
  batchSize,
22
22
  delayIncrement,
23
23
  maxRetries,
@@ -34,7 +34,7 @@ class EntityManagerClient {
34
34
  * Returns the options used to create the EntityManagerClient instance.
35
35
  */
36
36
  get options() {
37
- return tslib_es6.__classPrivateFieldGet(this, _EntityManagerClient_options, "f");
37
+ return tslib.__classPrivateFieldGet(this, _EntityManagerClient_options, "f");
38
38
  }
39
39
  }
40
40
  _EntityManagerClient_options = new WeakMap();
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var defaultTranscodes = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/defaultTranscodes.js');
4
- var index = require('../node_modules/zod/lib/index.js');
5
- var array = require('../node_modules/radash/dist/esm/array.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
+ var radash = require('radash');
5
+ var zod = require('zod');
6
6
 
7
7
  const defaultShardBump = { timestamp: 0, charBits: 1, chars: 0 };
8
8
  const validateArrayUnique = (arr, ctx, identity = (item) => item, path = []) => {
9
- const counts = array.counting(arr, identity);
9
+ const counts = radash.counting(arr, identity);
10
10
  for (const [element, count] of Object.entries(counts)) {
11
11
  if (count > 1)
12
12
  ctx.addIssue({
13
- code: index.default.ZodIssueCode.custom,
13
+ code: zod.z.ZodIssueCode.custom,
14
14
  message: `duplicate array element '${element}'`,
15
15
  path,
16
16
  });
@@ -19,56 +19,56 @@ const validateArrayUnique = (arr, ctx, identity = (item) => item, path = []) =>
19
19
  const validateKeyExclusive = (key, label, ref, ctx) => {
20
20
  if (ref.includes(key))
21
21
  ctx.addIssue({
22
- code: index.default.ZodIssueCode.custom,
22
+ code: zod.z.ZodIssueCode.custom,
23
23
  message: `${label} '${key}' is not exclusive`,
24
24
  });
25
25
  };
26
- const configSchema = index.default
26
+ const configSchema = zod.z
27
27
  .object({
28
- entities: index.default
29
- .record(index.default
28
+ entities: zod.z
29
+ .record(zod.z
30
30
  .object({
31
- defaultLimit: index.default
31
+ defaultLimit: zod.z
32
32
  .number()
33
33
  .int()
34
34
  .positive()
35
35
  .safe()
36
36
  .optional()
37
37
  .default(10),
38
- defaultPageSize: index.default
38
+ defaultPageSize: zod.z
39
39
  .number()
40
40
  .int()
41
41
  .positive()
42
42
  .safe()
43
43
  .optional()
44
44
  .default(10),
45
- generated: index.default
46
- .record(index.default
45
+ generated: zod.z
46
+ .record(zod.z
47
47
  .object({
48
- atomic: index.default.boolean().optional().default(false),
49
- elements: index.default
50
- .array(index.default.string().min(1))
48
+ atomic: zod.z.boolean().optional().default(false),
49
+ elements: zod.z
50
+ .array(zod.z.string().min(1))
51
51
  .nonempty()
52
52
  .superRefine(validateArrayUnique),
53
- sharded: index.default.boolean().optional().default(false),
53
+ sharded: zod.z.boolean().optional().default(false),
54
54
  })
55
55
  .optional())
56
56
  .optional()
57
57
  .default({}),
58
- elementTranscodes: index.default.record(index.default.string()).optional().default({}),
59
- indexes: index.default
60
- .record(index.default
61
- .array(index.default.string().min(1))
58
+ elementTranscodes: zod.z.record(zod.z.string()).optional().default({}),
59
+ indexes: zod.z
60
+ .record(zod.z
61
+ .array(zod.z.string().min(1))
62
62
  .nonempty()
63
63
  .superRefine(validateArrayUnique))
64
64
  .optional()
65
65
  .default({}),
66
- shardBumps: index.default
67
- .array(index.default
66
+ shardBumps: zod.z
67
+ .array(zod.z
68
68
  .object({
69
- timestamp: index.default.number().nonnegative().safe(),
70
- charBits: index.default.number().int().min(1).max(5),
71
- chars: index.default.number().int().min(0).max(40),
69
+ timestamp: zod.z.number().nonnegative().safe(),
70
+ charBits: zod.z.number().int().min(1).max(5),
71
+ chars: zod.z.number().int().min(0).max(40),
72
72
  })
73
73
  .strict())
74
74
  .optional()
@@ -81,7 +81,7 @@ const configSchema = index.default
81
81
  })
82
82
  .transform((val) => {
83
83
  // sort shardBumps by timestamp.
84
- let sorted = array.sort(val, ({ timestamp }) => timestamp);
84
+ let sorted = radash.sort(val, ({ timestamp }) => timestamp);
85
85
  // prepend defaultShardBump if missing zero-timestamp bump.
86
86
  if (sorted[0].timestamp !== 0) {
87
87
  sorted = [defaultShardBump, ...sorted];
@@ -94,14 +94,14 @@ const configSchema = index.default
94
94
  for (let i = 1; i < val.length; i++)
95
95
  if (val[i].chars <= val[i - 1].chars)
96
96
  ctx.addIssue({
97
- code: index.default.ZodIssueCode.custom,
97
+ code: zod.z.ZodIssueCode.custom,
98
98
  message: `shardBump chars do not monotonically increase at timestamp ${val[i].timestamp.toString()}`,
99
99
  path: [i],
100
100
  });
101
101
  }
102
102
  }),
103
- timestampProperty: index.default.string().min(1),
104
- uniqueProperty: index.default.string().min(1),
103
+ timestampProperty: zod.z.string().min(1),
104
+ uniqueProperty: zod.z.string().min(1),
105
105
  })
106
106
  .strict()
107
107
  .superRefine((data, ctx) => {
@@ -113,60 +113,60 @@ const configSchema = index.default
113
113
  }))
114
114
  .optional()
115
115
  .default({}),
116
- generatedKeyDelimiter: index.default.string().regex(/\W+/).optional().default('|'),
117
- generatedValueDelimiter: index.default.string().regex(/\W+/).optional().default('#'),
118
- shardKeyDelimiter: index.default.string().regex(/\W+/).optional().default('!'),
119
- hashKey: index.default.string().optional().default('hashKey'),
120
- rangeKey: index.default.string().optional().default('rangeKey'),
121
- throttle: index.default.number().int().positive().safe().optional().default(10),
122
- transcodes: index.default
123
- .record(index.default
116
+ generatedKeyDelimiter: zod.z.string().regex(/\W+/).optional().default('|'),
117
+ generatedValueDelimiter: zod.z.string().regex(/\W+/).optional().default('#'),
118
+ shardKeyDelimiter: zod.z.string().regex(/\W+/).optional().default('!'),
119
+ hashKey: zod.z.string().optional().default('hashKey'),
120
+ rangeKey: zod.z.string().optional().default('rangeKey'),
121
+ throttle: zod.z.number().int().positive().safe().optional().default(10),
122
+ transcodes: zod.z
123
+ .record(zod.z
124
124
  .object({
125
- encode: index.default.function().args(index.default.any()).returns(index.default.string()),
126
- decode: index.default.function().args(index.default.string()).returns(index.default.any()),
125
+ encode: zod.z.function().args(zod.z.any()).returns(zod.z.string()),
126
+ decode: zod.z.function().args(zod.z.string()).returns(zod.z.any()),
127
127
  })
128
128
  .strict())
129
129
  .optional()
130
- .default(defaultTranscodes.defaultTranscodes),
130
+ .default(entityTools.defaultTranscodes),
131
131
  })
132
132
  .strict()
133
133
  .superRefine((data, ctx) => {
134
134
  // validate no generated key delimiter collision
135
135
  if (data.generatedKeyDelimiter.includes(data.generatedValueDelimiter))
136
136
  ctx.addIssue({
137
- code: index.default.ZodIssueCode.custom,
137
+ code: zod.z.ZodIssueCode.custom,
138
138
  message: 'generatedKeyDelimiter contains generatedValueDelimiter',
139
139
  path: ['generatedKeyDelimiter'],
140
140
  });
141
141
  if (data.generatedKeyDelimiter.includes(data.shardKeyDelimiter))
142
142
  ctx.addIssue({
143
- code: index.default.ZodIssueCode.custom,
143
+ code: zod.z.ZodIssueCode.custom,
144
144
  message: 'generatedKeyDelimiter contains shardKeyDelimiter',
145
145
  path: ['generatedKeyDelimiter'],
146
146
  });
147
147
  // validate no generated value delimiter collision
148
148
  if (data.generatedValueDelimiter.includes(data.generatedKeyDelimiter))
149
149
  ctx.addIssue({
150
- code: index.default.ZodIssueCode.custom,
150
+ code: zod.z.ZodIssueCode.custom,
151
151
  message: 'generatedValueDelimiter contains generatedKeyDelimiter',
152
152
  path: ['generatedValueDelimiter'],
153
153
  });
154
154
  if (data.generatedValueDelimiter.includes(data.shardKeyDelimiter))
155
155
  ctx.addIssue({
156
- code: index.default.ZodIssueCode.custom,
156
+ code: zod.z.ZodIssueCode.custom,
157
157
  message: 'generatedValueDelimiter contains shardKeyDelimiter',
158
158
  path: ['generatedValueDelimiter'],
159
159
  });
160
160
  // validate no shard key delimiter collision
161
161
  if (data.shardKeyDelimiter.includes(data.generatedKeyDelimiter))
162
162
  ctx.addIssue({
163
- code: index.default.ZodIssueCode.custom,
163
+ code: zod.z.ZodIssueCode.custom,
164
164
  message: 'shardKeyDelimiter contains generatedKeyDelimiter',
165
165
  path: ['shardKeyDelimiter'],
166
166
  });
167
167
  if (data.shardKeyDelimiter.includes(data.generatedValueDelimiter))
168
168
  ctx.addIssue({
169
- code: index.default.ZodIssueCode.custom,
169
+ code: zod.z.ZodIssueCode.custom,
170
170
  message: 'shardKeyDelimiter contains generatedValueDelimiter',
171
171
  path: ['shardKeyDelimiter'],
172
172
  });
@@ -187,7 +187,7 @@ const configSchema = index.default
187
187
  for (const [element, generatedElementType] of Object.entries(entity.elementTranscodes))
188
188
  if (!transcodes.includes(generatedElementType))
189
189
  ctx.addIssue({
190
- code: index.default.ZodIssueCode.invalid_enum_value,
190
+ code: zod.z.ZodIssueCode.invalid_enum_value,
191
191
  options: transcodes,
192
192
  path: ['entities', entityToken, 'elementTranscodes', element],
193
193
  received: generatedElementType,
@@ -198,7 +198,7 @@ const configSchema = index.default
198
198
  for (const element of generated?.elements ?? [])
199
199
  if (!typedElements.includes(element))
200
200
  ctx.addIssue({
201
- code: index.default.ZodIssueCode.invalid_enum_value,
201
+ code: zod.z.ZodIssueCode.invalid_enum_value,
202
202
  options: typedElements,
203
203
  path: [
204
204
  'entities',
@@ -211,12 +211,12 @@ const configSchema = index.default
211
211
  });
212
212
  // validate all ungenerated entity index components have a corresponding entity element type.
213
213
  const generatedProperties = Object.keys(entity.generated);
214
- for (const [indexKey, index$1] of Object.entries(entity.indexes))
215
- for (const component of index$1)
214
+ for (const [indexKey, index] of Object.entries(entity.indexes))
215
+ for (const component of index)
216
216
  if (![data.hashKey, data.rangeKey, ...generatedProperties].includes(component) &&
217
217
  !typedElements.includes(component))
218
218
  ctx.addIssue({
219
- code: index.default.ZodIssueCode.invalid_enum_value,
219
+ code: zod.z.ZodIssueCode.invalid_enum_value,
220
220
  options: typedElements,
221
221
  path: ['entities', entityToken, 'indexes', indexKey],
222
222
  received: component,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Nil = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
4
  var encodeGeneratedProperty = require('./encodeGeneratedProperty.js');
5
5
  var updateItemHashKey = require('./updateItemHashKey.js');
6
6
  var updateItemRangeKey = require('./updateItemRangeKey.js');
@@ -29,7 +29,7 @@ function addKeys(entityManager, item, entityToken, overwrite = false) {
29
29
  // Update generated properties.
30
30
  for (const property in entityManager.config.entities[entityToken]
31
31
  .generated) {
32
- if (overwrite || Nil.isNil(item[property])) {
32
+ if (overwrite || entityTools.isNil(item[property])) {
33
33
  const encoded = encodeGeneratedProperty.encodeGeneratedProperty(entityManager, item, entityToken, property);
34
34
  if (encoded)
35
35
  Object.assign(item, { [property]: encoded });
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var radash = require('radash');
3
4
  var decodeEntityElement = require('./decodeEntityElement.js');
4
5
  var validateEntityToken = require('./validateEntityToken.js');
5
- var array = require('../node_modules/radash/dist/esm/array.js');
6
6
 
7
7
  /**
8
8
  * Decode a generated property value. Returns a partial ItemMap.
@@ -37,7 +37,7 @@ function decodeGeneratedProperty(entityManager, encoded, entityToken) {
37
37
  return pair;
38
38
  });
39
39
  // Assign decoded properties.
40
- Object.assign(decoded, array.objectify(values, ([key]) => key, ([key, value]) => decodeEntityElement.decodeEntityElement(entityManager, value, entityToken, key)));
40
+ Object.assign(decoded, radash.objectify(values, ([key]) => key, ([key, value]) => decodeEntityElement.decodeEntityElement(entityManager, value, entityToken, key)));
41
41
  return decoded;
42
42
  }
43
43
  catch (error) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Nil = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
4
  var validateEntityGeneratedProperty = require('./validateEntityGeneratedProperty.js');
5
5
 
6
6
  /**
@@ -27,7 +27,7 @@ function encodeGeneratedProperty(entityManager, item, entityToken, property) {
27
27
  item[element],
28
28
  ]);
29
29
  // Validate atomicity requirement.
30
- if (atomic && elementMap.some(([, value]) => Nil.isNil(value)))
30
+ if (atomic && elementMap.some(([, value]) => entityTools.isNil(value)))
31
31
  return;
32
32
  // Encode property value.
33
33
  const encoded = [
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var radash = require('radash');
3
4
  var validateEntityToken = require('./validateEntityToken.js');
4
- var array = require('../node_modules/radash/dist/esm/array.js');
5
5
 
6
6
  /**
7
7
  * Return an array of {@link ConfigKeys.hashKey | `entityManager.config.hashKey`} property values covering the shard space bounded by `timestampFrom` & `timestampTo`.
@@ -27,7 +27,7 @@ function getHashKeySpace(entityManager, entityToken, timestampFrom = 0, timestam
27
27
  .flatMap(({ charBits, chars }) => {
28
28
  const radix = 2 ** charBits;
29
29
  return chars
30
- ? [...array.range(0, radix ** chars - 1)].map((char) => char.toString(radix).padStart(chars, '0'))
30
+ ? [...radash.range(0, radix ** chars - 1)].map((char) => char.toString(radix).padStart(chars, '0'))
31
31
  : '';
32
32
  })
33
33
  .map((shardKey) => `${entityToken}${entityManager.config.shardKeyDelimiter}${shardKey}`);
@@ -1,13 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var sort = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/sort.js');
4
- var lzString = require('../_virtual/lz-string.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
+ var lzString = require('lz-string');
5
+ var radash = require('radash');
5
6
  var dehydratePageKeyMap = require('./dehydratePageKeyMap.js');
6
7
  var rehydratePageKeyMap = require('./rehydratePageKeyMap.js');
7
8
  var validateEntityGeneratedProperty = require('./validateEntityGeneratedProperty.js');
8
- var typed = require('../node_modules/radash/dist/esm/typed.js');
9
- var async = require('../node_modules/radash/dist/esm/async.js');
10
- var array = require('../node_modules/radash/dist/esm/array.js');
11
9
 
12
10
  const { compressToEncodedURIComponent, decompressFromEncodedURIComponent } = lzString;
13
11
  /**
@@ -37,9 +35,9 @@ async function query(entityManager, { entityToken, hashKey, item, limit, pageKey
37
35
  pageSize ?? (pageSize = defaultPageSize);
38
36
  // Validate params.
39
37
  validateEntityGeneratedProperty.validateEntityGeneratedProperty(entityManager, entityToken, hashKey, true);
40
- if (!(limit === Infinity || (typed.isInt(limit) && limit >= 1)))
38
+ if (!(limit === Infinity || (radash.isInt(limit) && limit >= 1)))
41
39
  throw new Error('limit must be a positive integer or Infinity.');
42
- if (!(typed.isInt(pageSize) && pageSize >= 1))
40
+ if (!(radash.isInt(pageSize) && pageSize >= 1))
43
41
  throw new Error('pageSize must be a positive integer');
44
42
  // Rehydrate pageKeyMap.
45
43
  const rehydratedPageKeyMap = rehydratePageKeyMap.rehydratePageKeyMap(entityManager, pageKeyMap
@@ -63,7 +61,7 @@ async function query(entityManager, { entityToken, hashKey, item, limit, pageKey
63
61
  // iteration in order to keep shardsQueried * pageSize > (limit - items.length) but only just.
64
62
  // TODO: Test for invalid characters (path delimiters) in index keys & shard key values.
65
63
  // Query every shard on every index in pageKeyMap.
66
- const shardQueryResults = await async.parallel(throttle, Object.entries(rehydratedPageKeyMap).flatMap(([index, indexPageKeys]) => Object.entries(indexPageKeys).map(([hashKey, pageKey]) => [
64
+ const shardQueryResults = await radash.parallel(throttle, Object.entries(rehydratedPageKeyMap).flatMap(([index, indexPageKeys]) => Object.entries(indexPageKeys).map(([hashKey, pageKey]) => [
67
65
  index,
68
66
  hashKey,
69
67
  pageKey,
@@ -87,7 +85,7 @@ async function query(entityManager, { entityToken, hashKey, item, limit, pageKey
87
85
  Object.values(workingResult.pageKeyMap).some((indexPageKeys) => Object.values(indexPageKeys).some((pageKey) => pageKey !== undefined)) &&
88
86
  workingResult.items.length < limit);
89
87
  // Dedupe & sort working result.
90
- workingResult.items = sort.sort(array.unique(workingResult.items, (item) => item[entityManager.config.entities[entityToken]
88
+ workingResult.items = entityTools.sort(radash.unique(workingResult.items, (item) => item[entityManager.config.entities[entityToken]
91
89
  .uniqueProperty].toString()), sortOrder);
92
90
  const result = {
93
91
  count: workingResult.items.length,
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var radash = require('radash');
3
4
  var decodeEntityElement = require('./decodeEntityElement.js');
4
5
  var unwrapIndex = require('./unwrapIndex.js');
5
6
  var validateEntityIndexToken = require('./validateEntityIndexToken.js');
6
- var object = require('../node_modules/radash/dist/esm/object.js');
7
- var array = require('../node_modules/radash/dist/esm/array.js');
8
7
 
9
8
  /**
10
9
  * Convert a delimited string into a partial {@link ItemMap | `ItemMap`} object representing the ungenerated component elements of a Config entity index.
@@ -37,7 +36,7 @@ function rehydrateIndexItem(entityManager, dehydrated, entityToken, indexToken,
37
36
  if (elements.length !== values.length)
38
37
  throw new Error('index rehydration key-value mismatch');
39
38
  // Assign values to elements.
40
- const rehydrated = object.shake(array.zipToObject(elements, values.map((value, i) => decodeEntityElement.decodeEntityElement(entityManager, value, entityToken, elements[i]))));
39
+ const rehydrated = radash.shake(radash.zipToObject(elements, values.map((value, i) => decodeEntityElement.decodeEntityElement(entityManager, value, entityToken, elements[i]))));
41
40
  return rehydrated;
42
41
  }
43
42
  catch (error) {
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var radash = require('radash');
3
4
  var encodeGeneratedProperty = require('./encodeGeneratedProperty.js');
4
5
  var getHashKeySpace = require('./getHashKeySpace.js');
5
6
  var rehydrateIndexItem = require('./rehydrateIndexItem.js');
6
7
  var updateItemRangeKey = require('./updateItemRangeKey.js');
7
8
  var validateEntityIndexToken = require('./validateEntityIndexToken.js');
8
- var array = require('../node_modules/radash/dist/esm/array.js');
9
- var object = require('../node_modules/radash/dist/esm/object.js');
10
9
 
11
10
  /**
12
11
  * Rehydrate an array of dehydrated page keys into a {@link PageKeyMap | `PageKeyMap`} object.
@@ -39,12 +38,12 @@ function rehydratePageKeyMap(entityManager, dehydrated, entityToken, indexTokens
39
38
  // Get hash key space.
40
39
  const hashKeySpace = getHashKeySpace.getHashKeySpace(entityManager, entityToken, timestampFrom, timestampTo);
41
40
  // Default dehydrated.
42
- dehydrated ?? (dehydrated = [...array.range(1, hashKeySpace.length * indexTokens.length, '')]);
41
+ dehydrated ?? (dehydrated = [...radash.range(1, hashKeySpace.length * indexTokens.length, '')]);
43
42
  // Validate dehydrated length
44
43
  if (dehydrated.length !== hashKeySpace.length * indexTokens.length)
45
44
  throw new Error('dehydrated length mismatch');
46
45
  // Rehydrate pageKeys.
47
- const rehydrated = object.mapValues(array.zipToObject(indexTokens, array.cluster(dehydrated, hashKeySpace.length)), (dehydratedIndexPageKeyMaps, index) => array.zipToObject(hashKeySpace, (hashKey, i) => {
46
+ const rehydrated = radash.mapValues(radash.zipToObject(indexTokens, radash.cluster(dehydrated, hashKeySpace.length)), (dehydratedIndexPageKeyMaps, index) => radash.zipToObject(hashKeySpace, (hashKey, i) => {
48
47
  if (!dehydratedIndexPageKeyMaps[i])
49
48
  return;
50
49
  const item = {
@@ -52,7 +51,7 @@ function rehydratePageKeyMap(entityManager, dehydrated, entityToken, indexTokens
52
51
  ...rehydrateIndexItem.rehydrateIndexItem(entityManager, dehydratedIndexPageKeyMaps[i], entityToken, index, [entityManager.config.hashKey]),
53
52
  };
54
53
  updateItemRangeKey.updateItemRangeKey(entityManager, item, entityToken);
55
- return array.zipToObject(entityManager.config.entities[entityToken].indexes[index], (component) => entityManager.config.entities[entityToken].generated[component]
54
+ return radash.zipToObject(entityManager.config.entities[entityToken].indexes[index], (component) => entityManager.config.entities[entityToken].generated[component]
56
55
  ? encodeGeneratedProperty.encodeGeneratedProperty(entityManager, item, entityToken, component)
57
56
  : item[component]);
58
57
  }));
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var radash = require('radash');
3
4
  var validateEntityIndexToken = require('./validateEntityIndexToken.js');
4
- var object = require('../node_modules/radash/dist/esm/object.js');
5
5
 
6
6
  /**
7
7
  * Unwraps an {@link ConfigEntity.indexes | Entity index} into deduped, sorted, ungenerated index component elements.
@@ -20,7 +20,7 @@ function unwrapIndex(entityManager, entityToken, indexToken) {
20
20
  // Validate params.
21
21
  validateEntityIndexToken.validateEntityIndexToken(entityManager, entityToken, indexToken);
22
22
  const generated = entityManager.config.entities[entityToken].generated;
23
- const generatedKeys = Object.keys(object.shake(generated));
23
+ const generatedKeys = Object.keys(radash.shake(generated));
24
24
  return entityManager.config.entities[entityToken].indexes[indexToken]
25
25
  .map((component) => component === entityManager.config.hashKey
26
26
  ? entityManager.config.hashKey
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var Nil = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js');
4
- var index = require('../_virtual/index.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
+ var stringHash = require('string-hash');
5
5
  var getShardBump = require('./getShardBump.js');
6
6
  var validateEntityToken = require('./validateEntityToken.js');
7
7
 
@@ -27,7 +27,7 @@ function updateItemHashKey(entityManager, item, entityToken, overwrite = false)
27
27
  }
28
28
  // Get item timestamp property & validate.
29
29
  const timestamp = item[entityManager.config.entities[entityToken].timestampProperty];
30
- if (Nil.isNil(timestamp))
30
+ if (entityTools.isNil(timestamp))
31
31
  throw new Error(`missing item timestamp property`);
32
32
  // Find first entity sharding bump before timestamp.
33
33
  const { charBits, chars } = getShardBump.getShardBump(entityManager, entityToken, timestamp);
@@ -38,9 +38,9 @@ function updateItemHashKey(entityManager, item, entityToken, overwrite = false)
38
38
  // Get item unique property & validate.
39
39
  const uniqueId = item[entityManager.config.entities[entityToken]
40
40
  .uniqueProperty];
41
- if (Nil.isNil(uniqueId))
41
+ if (entityTools.isNil(uniqueId))
42
42
  throw new Error(`missing item unique property`);
43
- hashKey += (index(uniqueId.toString()) % (chars * radix))
43
+ hashKey += (stringHash(uniqueId.toString()) % (chars * radix))
44
44
  .toString(radix)
45
45
  .padStart(chars, '0');
46
46
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Nil = require('../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js');
3
+ var entityTools = require('@karmaniverous/entity-tools');
4
4
  var validateEntityToken = require('./validateEntityToken.js');
5
5
 
6
6
  /**
@@ -26,7 +26,7 @@ function updateItemRangeKey(entityManager, item, entityToken, overwrite = false)
26
26
  }
27
27
  // Get item unique property & validate.
28
28
  const uniqueProperty = item[entityManager.config.entities[entityToken].uniqueProperty];
29
- if (Nil.isNil(uniqueProperty))
29
+ if (entityTools.isNil(uniqueProperty))
30
30
  throw new Error(`missing item unique property`);
31
31
  // Update range key.
32
32
  Object.assign(item, {
@@ -1,4 +1,4 @@
1
- import { __classPrivateFieldSet, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
2
2
  import { addKeys } from './addKeys.js';
3
3
  import { configSchema } from './ParsedConfig.js';
4
4
  import { query } from './query.js';
@@ -1,6 +1,6 @@
1
- import { __classPrivateFieldSet, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
2
+ import { isFunction } from 'radash';
2
3
  import { conditionalize } from './conditionalize.js';
3
- import { isFunction } from '../node_modules/radash/dist/esm/typed.js';
4
4
 
5
5
  var _EntityManagerClient_options;
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { defaultTranscodes } from '../node_modules/@karmaniverous/entity-tools/dist/mjs/defaultTranscodes.js';
2
- import z from '../node_modules/zod/lib/index.js';
3
- import { sort, counting } from '../node_modules/radash/dist/esm/array.js';
1
+ import { defaultTranscodes } from '@karmaniverous/entity-tools';
2
+ import { sort, counting } from 'radash';
3
+ import { z } from 'zod';
4
4
 
5
5
  const defaultShardBump = { timestamp: 0, charBits: 1, chars: 0 };
6
6
  const validateArrayUnique = (arr, ctx, identity = (item) => item, path = []) => {
@@ -1,4 +1,4 @@
1
- import { isNil } from '../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js';
1
+ import { isNil } from '@karmaniverous/entity-tools';
2
2
  import { encodeGeneratedProperty } from './encodeGeneratedProperty.js';
3
3
  import { updateItemHashKey } from './updateItemHashKey.js';
4
4
  import { updateItemRangeKey } from './updateItemRangeKey.js';
@@ -1,6 +1,6 @@
1
+ import { objectify } from 'radash';
1
2
  import { decodeEntityElement } from './decodeEntityElement.js';
2
3
  import { validateEntityToken } from './validateEntityToken.js';
3
- import { objectify } from '../node_modules/radash/dist/esm/array.js';
4
4
 
5
5
  /**
6
6
  * Decode a generated property value. Returns a partial ItemMap.
@@ -1,4 +1,4 @@
1
- import { isNil } from '../node_modules/@karmaniverous/entity-tools/dist/mjs/Nil.js';
1
+ import { isNil } from '@karmaniverous/entity-tools';
2
2
  import { validateEntityGeneratedProperty } from './validateEntityGeneratedProperty.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
+ import { range } from 'radash';
1
2
  import { validateEntityToken } from './validateEntityToken.js';
2
- import { range } from '../node_modules/radash/dist/esm/array.js';
3
3
 
4
4
  /**
5
5
  * Return an array of {@link ConfigKeys.hashKey | `entityManager.config.hashKey`} property values covering the shard space bounded by `timestampFrom` & `timestampTo`.
@@ -1,11 +1,9 @@
1
- import { sort } from '../node_modules/@karmaniverous/entity-tools/dist/mjs/sort.js';
2
- import lzString from '../_virtual/lz-string.js';
1
+ import { sort } from '@karmaniverous/entity-tools';
2
+ import lzString from 'lz-string';
3
+ import { isInt, parallel, unique } from 'radash';
3
4
  import { dehydratePageKeyMap } from './dehydratePageKeyMap.js';
4
5
  import { rehydratePageKeyMap } from './rehydratePageKeyMap.js';
5
6
  import { validateEntityGeneratedProperty } from './validateEntityGeneratedProperty.js';
6
- import { isInt } from '../node_modules/radash/dist/esm/typed.js';
7
- import { parallel } from '../node_modules/radash/dist/esm/async.js';
8
- import { unique } from '../node_modules/radash/dist/esm/array.js';
9
7
 
10
8
  const { compressToEncodedURIComponent, decompressFromEncodedURIComponent } = lzString;
11
9
  /**