@karmaniverous/entity-manager 0.1.0 → 0.1.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.
package/README.md CHANGED
@@ -221,7 +221,7 @@ This change can be accomplished with no breaking changes to existing implementat
221
221
  * [new exports.EntityManager(options)](#new_module_entity-manager.EntityManager_new)
222
222
  * [.addKeys(entityToken, item, [overwrite])](#module_entity-manager.EntityManager+addKeys) ⇒ <code>object</code>
223
223
  * [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.&lt;string&gt;</code>
224
- * [.query(entityToken, keyToken, item, shardQuery, [shardPageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
224
+ * [.query(entityToken, keyToken, item, shardQuery, [pageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
225
225
  * _inner_
226
226
  * [~ShardQueryResult](#module_entity-manager..ShardQueryResult) : <code>object</code>
227
227
  * [~ShardQueryFunction](#module_entity-manager..ShardQueryFunction) ⇒ <code>Promise.&lt;ShardQueryResult&gt;</code>
@@ -238,7 +238,7 @@ Manage DynamoDb entities.
238
238
  * [new exports.EntityManager(options)](#new_module_entity-manager.EntityManager_new)
239
239
  * [.addKeys(entityToken, item, [overwrite])](#module_entity-manager.EntityManager+addKeys) ⇒ <code>object</code>
240
240
  * [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.&lt;string&gt;</code>
241
- * [.query(entityToken, keyToken, item, shardQuery, [shardPageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
241
+ * [.query(entityToken, keyToken, item, shardQuery, [pageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
242
242
 
243
243
  <a name="new_module_entity-manager.EntityManager_new"></a>
244
244
 
@@ -301,7 +301,7 @@ Return an array of sharded keys valid for a given entity token & timestamp.
301
301
 
302
302
  <a name="module_entity-manager.EntityManager+query"></a>
303
303
 
304
- #### entityManager.query(entityToken, keyToken, item, shardQuery, [shardPageKeys]) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
304
+ #### entityManager.query(entityToken, keyToken, item, shardQuery, [pageKeys]) ⇒ <code>Promise.&lt;ShardedQueryResult&gt;</code>
305
305
  Query an entity across shards.
306
306
 
307
307
  **Kind**: instance method of [<code>EntityManager</code>](#module_entity-manager.EntityManager)
@@ -313,7 +313,7 @@ Query an entity across shards.
313
313
  | keyToken | <code>string</code> | Key token. |
314
314
  | item | <code>object</code> | Entity item sufficiently populated to generate property keyToken. |
315
315
  | shardQuery | <code>ShardQueryFunction</code> | Sharded query function. |
316
- | [shardPageKeys] | <code>object</code> | Map of shard page keys. |
316
+ | [pageKeys] | <code>object</code> | Map of shard page keys. |
317
317
 
318
318
  <a name="module_entity-manager..ShardQueryResult"></a>
319
319
 
@@ -348,7 +348,7 @@ Shard query function
348
348
  | Name | Type | Description |
349
349
  | --- | --- | --- |
350
350
  | items | <code>Array.&lt;any&gt;</code> | Query result array. |
351
- | shardPageKeys | <code>object</code> | Shard page keys. |
351
+ | pageKeys | <code>object</code> | Shard page keys. |
352
352
 
353
353
 
354
354
  ---
@@ -136,7 +136,7 @@ class EntityManager {
136
136
  /**
137
137
  * @typedef {object} ShardedQueryResult
138
138
  * @property {any[]} items - Query result array.
139
- * @property {object} shardPageKeys - Shard page keys.
139
+ * @property {object} pageKeys - Shard page keys.
140
140
  */
141
141
 
142
142
  /**
@@ -146,15 +146,15 @@ class EntityManager {
146
146
  * @param {string} keyToken - Key token.
147
147
  * @param {object} item - Entity item sufficiently populated to generate property keyToken.
148
148
  * @param {ShardQueryFunction} shardQuery - Sharded query function.
149
- * @param {object} [shardPageKeys] - Map of shard page keys.
149
+ * @param {object} [pageKeys] - Map of shard page keys.
150
150
  * @returns {Promise<ShardedQueryResult>} Sharded query result.
151
151
  */
152
- async query(entityToken, keyToken, item, shardQuery, shardPageKeys) {
153
- // Generate default shardPageKeys if not provided
154
- shardPageKeys ??= (0, _fromPairs2.default)(this.getKeySpace(entityToken, keyToken, item).map(shardedKey => [shardedKey, undefined]));
152
+ async query(entityToken, keyToken, item, shardQuery, pageKeys) {
153
+ // Generate default pageKeys if not provided
154
+ pageKeys ??= (0, _fromPairs2.default)(this.getKeySpace(entityToken, keyToken, item).map(shardedKey => [shardedKey, undefined]));
155
155
 
156
- // Query every shard in shardPageKeys.
157
- const shardQueryResults = await Promise.all((0, _map2.default)(shardPageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, pageKey).then(_ref2 => {
156
+ // Query every shard in pageKeys.
157
+ const shardQueryResults = await Promise.all((0, _map2.default)(pageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, pageKey).then(_ref2 => {
158
158
  let {
159
159
  items,
160
160
  pageKey
@@ -175,8 +175,8 @@ class EntityManager {
175
175
  } = _ref3;
176
176
  return {
177
177
  items: [...shardedQueryResult.items, ...items],
178
- shardPageKeys: {
179
- ...shardedQueryResult.shardPageKeys,
178
+ pageKeys: {
179
+ ...shardedQueryResult.pageKeys,
180
180
  ...((0, _isUndefined2.default)(pageKey) ? {} : {
181
181
  [shardedKey]: pageKey
182
182
  })
@@ -184,7 +184,7 @@ class EntityManager {
184
184
  };
185
185
  }, {
186
186
  items: [],
187
- shardPageKeys: {}
187
+ pageKeys: {}
188
188
  });
189
189
  return result;
190
190
  }
@@ -132,7 +132,7 @@ export class EntityManager {
132
132
  /**
133
133
  * @typedef {object} ShardedQueryResult
134
134
  * @property {any[]} items - Query result array.
135
- * @property {object} shardPageKeys - Shard page keys.
135
+ * @property {object} pageKeys - Shard page keys.
136
136
  */
137
137
 
138
138
  /**
@@ -142,22 +142,22 @@ export class EntityManager {
142
142
  * @param {string} keyToken - Key token.
143
143
  * @param {object} item - Entity item sufficiently populated to generate property keyToken.
144
144
  * @param {ShardQueryFunction} shardQuery - Sharded query function.
145
- * @param {object} [shardPageKeys] - Map of shard page keys.
145
+ * @param {object} [pageKeys] - Map of shard page keys.
146
146
  * @returns {Promise<ShardedQueryResult>} Sharded query result.
147
147
  */
148
- async query(entityToken, keyToken, item, shardQuery, shardPageKeys) {
149
- // Generate default shardPageKeys if not provided
150
- shardPageKeys ??= _.fromPairs(
148
+ async query(entityToken, keyToken, item, shardQuery, pageKeys) {
149
+ // Generate default pageKeys if not provided
150
+ pageKeys ??= _.fromPairs(
151
151
  this.getKeySpace(entityToken, keyToken, item).map((shardedKey) => [
152
152
  shardedKey,
153
153
  undefined,
154
154
  ])
155
155
  );
156
156
 
157
- // Query every shard in shardPageKeys.
157
+ // Query every shard in pageKeys.
158
158
  const shardQueryResults = await Promise.all(
159
159
  _.map(
160
- shardPageKeys,
160
+ pageKeys,
161
161
  (pageKey, shardedKey) =>
162
162
  new Promise((resolve) =>
163
163
  shardQuery(shardedKey, pageKey).then(({ items, pageKey }) =>
@@ -171,12 +171,12 @@ export class EntityManager {
171
171
  const result = shardQueryResults.reduce(
172
172
  (shardedQueryResult, { shardedKey, items, pageKey }) => ({
173
173
  items: [...shardedQueryResult.items, ...items],
174
- shardPageKeys: {
175
- ...shardedQueryResult.shardPageKeys,
174
+ pageKeys: {
175
+ ...shardedQueryResult.pageKeys,
176
176
  ...(_.isUndefined(pageKey) ? {} : { [shardedKey]: pageKey }),
177
177
  },
178
178
  }),
179
- { items: [], shardPageKeys: {} }
179
+ { items: [], pageKeys: {} }
180
180
  );
181
181
 
182
182
  return result;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karmaniverous/entity-manager",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },