@karmaniverous/entity-manager
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -139,3 +139,3 @@ "use strict"; | ||
* @property {any[]} items - Query result array. | ||
* @property {object} shardPageKeys - Shard page keys. | ||
* @property {object} pageKeys - Shard page keys. | ||
*/ | ||
@@ -150,11 +150,11 @@ | ||
* @param {ShardQueryFunction} shardQuery - Sharded query function. | ||
* @param {object} [shardPageKeys] - Map of shard page keys. | ||
* @param {object} [pageKeys] - Map of shard page keys. | ||
* @returns {Promise<ShardedQueryResult>} Sharded query result. | ||
*/ | ||
async query(entityToken, keyToken, item, shardQuery, shardPageKeys) { | ||
// Generate default shardPageKeys if not provided | ||
shardPageKeys ??= (0, _fromPairs2.default)(this.getKeySpace(entityToken, keyToken, item).map(shardedKey => [shardedKey, undefined])); | ||
async query(entityToken, keyToken, item, shardQuery, pageKeys) { | ||
// Generate default pageKeys if not provided | ||
pageKeys ??= (0, _fromPairs2.default)(this.getKeySpace(entityToken, keyToken, item).map(shardedKey => [shardedKey, undefined])); | ||
// Query every shard in shardPageKeys. | ||
const shardQueryResults = await Promise.all((0, _map2.default)(shardPageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, pageKey).then(_ref2 => { | ||
// Query every shard in pageKeys. | ||
const shardQueryResults = await Promise.all((0, _map2.default)(pageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, pageKey).then(_ref2 => { | ||
let { | ||
@@ -180,4 +180,4 @@ items, | ||
items: [...shardedQueryResult.items, ...items], | ||
shardPageKeys: { | ||
...shardedQueryResult.shardPageKeys, | ||
pageKeys: { | ||
...shardedQueryResult.pageKeys, | ||
...((0, _isUndefined2.default)(pageKey) ? {} : { | ||
@@ -190,3 +190,3 @@ [shardedKey]: pageKey | ||
items: [], | ||
shardPageKeys: {} | ||
pageKeys: {} | ||
}); | ||
@@ -193,0 +193,0 @@ return result; |
@@ -135,3 +135,3 @@ /** | ||
* @property {any[]} items - Query result array. | ||
* @property {object} shardPageKeys - Shard page keys. | ||
* @property {object} pageKeys - Shard page keys. | ||
*/ | ||
@@ -146,8 +146,8 @@ | ||
* @param {ShardQueryFunction} shardQuery - Sharded query function. | ||
* @param {object} [shardPageKeys] - Map of shard page keys. | ||
* @param {object} [pageKeys] - Map of shard page keys. | ||
* @returns {Promise<ShardedQueryResult>} Sharded query result. | ||
*/ | ||
async query(entityToken, keyToken, item, shardQuery, shardPageKeys) { | ||
// Generate default shardPageKeys if not provided | ||
shardPageKeys ??= _.fromPairs( | ||
async query(entityToken, keyToken, item, shardQuery, pageKeys) { | ||
// Generate default pageKeys if not provided | ||
pageKeys ??= _.fromPairs( | ||
this.getKeySpace(entityToken, keyToken, item).map((shardedKey) => [ | ||
@@ -159,6 +159,6 @@ shardedKey, | ||
// Query every shard in shardPageKeys. | ||
// Query every shard in pageKeys. | ||
const shardQueryResults = await Promise.all( | ||
_.map( | ||
shardPageKeys, | ||
pageKeys, | ||
(pageKey, shardedKey) => | ||
@@ -177,8 +177,8 @@ new Promise((resolve) => | ||
items: [...shardedQueryResult.items, ...items], | ||
shardPageKeys: { | ||
...shardedQueryResult.shardPageKeys, | ||
pageKeys: { | ||
...shardedQueryResult.pageKeys, | ||
...(_.isUndefined(pageKey) ? {} : { [shardedKey]: pageKey }), | ||
}, | ||
}), | ||
{ items: [], shardPageKeys: {} } | ||
{ items: [], pageKeys: {} } | ||
); | ||
@@ -185,0 +185,0 @@ |
{ | ||
"name": "@karmaniverous/entity-manager", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"publishConfig": { | ||
@@ -5,0 +5,0 @@ "access": "public" |
@@ -224,3 +224,3 @@ # entity-manager | ||
* [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.<string></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [shardPageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [pageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* _inner_ | ||
@@ -242,3 +242,3 @@ * [~ShardQueryResult](#module_entity-manager..ShardQueryResult) : <code>object</code> | ||
* [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.<string></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [shardPageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [pageKeys])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
@@ -306,3 +306,3 @@ <a name="new_module_entity-manager.EntityManager_new"></a> | ||
#### entityManager.query(entityToken, keyToken, item, shardQuery, [shardPageKeys]) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
#### entityManager.query(entityToken, keyToken, item, shardQuery, [pageKeys]) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
Query an entity across shards. | ||
@@ -319,3 +319,3 @@ | ||
| shardQuery | <code>ShardQueryFunction</code> | Sharded query function. | | ||
| [shardPageKeys] | <code>object</code> | Map of shard page keys. | | ||
| [pageKeys] | <code>object</code> | Map of shard page keys. | | ||
@@ -355,3 +355,3 @@ <a name="module_entity-manager..ShardQueryResult"></a> | ||
| items | <code>Array.<any></code> | Query result array. | | ||
| shardPageKeys | <code>object</code> | Shard page keys. | | ||
| pageKeys | <code>object</code> | Shard page keys. | | ||
@@ -358,0 +358,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
59487