@karmaniverous/entity-manager
Advanced tools
Comparing version 3.0.0 to 4.0.0
@@ -220,5 +220,4 @@ "use strict"; | ||
* @param {string} shardedKey - Sharded key. | ||
* @param {object} [options] - Options object. | ||
* @param {number} [options.limit] - Request limit. | ||
* @param {*} [options.pageKey] - Page key. | ||
* @param {number} [limit] - Request limit. | ||
* @param {*} [pageKey] - Page key. | ||
* @returns {Promise<ShardQueryResult>} Sharded query result. | ||
@@ -236,7 +235,7 @@ */ | ||
* | ||
* @param {string} entityToken - Entity token. | ||
* @param {string} keyToken - Key token. | ||
* @param {object} item - Entity item sufficiently populated to generate property keyToken. | ||
* @param {ShardQueryFunction} shardQuery - Sharded query function. | ||
* @param {object} [options] - Options object. | ||
* @param {object} options - Query options. | ||
* @param {string} options.entityToken - Entity token. | ||
* @param {string} [options.keyToken=entityPK] - Key token. | ||
* @param {object} [options.item={}] - Entity item sufficiently populated to generate property keyToken. | ||
* @param {ShardQueryFunction} options.shardQuery - Sharded query function. | ||
* @param {number} [options.limit] - Request limit. | ||
@@ -246,7 +245,11 @@ * @param {object} [options.pageKeys] - Map of shard page keys. | ||
*/ | ||
async query(entityToken, keyToken, item, shardQuery) { | ||
async query() { | ||
let { | ||
entityToken, | ||
keyToken = 'entityPK', | ||
item = {}, | ||
shardQuery, | ||
limit, | ||
pageKeys | ||
} = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; | ||
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
// Validate params. | ||
@@ -272,6 +275,3 @@ _classPrivateFieldGet(this, _entityManager).validateKeyToken(entityToken, keyToken); | ||
// Query every shard in pageKeys. | ||
const shardQueryResults = await Promise.all((0, _map2.default)(pageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, { | ||
pageKey, | ||
limit: shardLimit | ||
}).then(_ref6 => { | ||
const shardQueryResults = await Promise.all((0, _map2.default)(pageKeys, (pageKey, shardedKey) => new Promise(resolve => shardQuery(shardedKey, pageKey, shardLimit).then(_ref6 => { | ||
let { | ||
@@ -278,0 +278,0 @@ items, |
@@ -199,5 +199,4 @@ /** | ||
* @param {string} shardedKey - Sharded key. | ||
* @param {object} [options] - Options object. | ||
* @param {number} [options.limit] - Request limit. | ||
* @param {*} [options.pageKey] - Page key. | ||
* @param {number} [limit] - Request limit. | ||
* @param {*} [pageKey] - Page key. | ||
* @returns {Promise<ShardQueryResult>} Sharded query result. | ||
@@ -215,7 +214,7 @@ */ | ||
* | ||
* @param {string} entityToken - Entity token. | ||
* @param {string} keyToken - Key token. | ||
* @param {object} item - Entity item sufficiently populated to generate property keyToken. | ||
* @param {ShardQueryFunction} shardQuery - Sharded query function. | ||
* @param {object} [options] - Options object. | ||
* @param {object} options - Query options. | ||
* @param {string} options.entityToken - Entity token. | ||
* @param {string} [options.keyToken=entityPK] - Key token. | ||
* @param {object} [options.item={}] - Entity item sufficiently populated to generate property keyToken. | ||
* @param {ShardQueryFunction} options.shardQuery - Sharded query function. | ||
* @param {number} [options.limit] - Request limit. | ||
@@ -225,9 +224,10 @@ * @param {object} [options.pageKeys] - Map of shard page keys. | ||
*/ | ||
async query( | ||
async query({ | ||
entityToken, | ||
keyToken, | ||
item, | ||
keyToken = 'entityPK', | ||
item = {}, | ||
shardQuery, | ||
{ limit, pageKeys } = {} | ||
) { | ||
limit, | ||
pageKeys, | ||
} = {}) { | ||
// Validate params. | ||
@@ -265,3 +265,3 @@ this.#entityManager.validateKeyToken(entityToken, keyToken); | ||
new Promise((resolve) => | ||
shardQuery(shardedKey, { pageKey, limit: shardLimit }).then( | ||
shardQuery(shardedKey, pageKey, shardLimit).then( | ||
({ items, pageKey }) => resolve({ shardedKey, items, pageKey }) | ||
@@ -268,0 +268,0 @@ ) |
{ | ||
"name": "@karmaniverous/entity-manager", | ||
"version": "3.0.0", | ||
"version": "4.0.0", | ||
"publishConfig": { | ||
@@ -5,0 +5,0 @@ "access": "public" |
@@ -227,3 +227,3 @@ # entity-manager | ||
* [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.<string></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [options])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.query(options)](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.rehydrateIndex(entityToken, indexToken, value, [delimiter])](#module_entity-manager.EntityManager+rehydrateIndex) ⇒ <code>object</code> | ||
@@ -250,3 +250,3 @@ * [.removeKeys(entityToken, item)](#module_entity-manager.EntityManager+removeKeys) ⇒ <code>object</code> | ||
* [.getKeySpace(entityToken, keyToken, item, timestamp)](#module_entity-manager.EntityManager+getKeySpace) ⇒ <code>Array.<string></code> | ||
* [.query(entityToken, keyToken, item, shardQuery, [options])](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.query(options)](#module_entity-manager.EntityManager+query) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
* [.rehydrateIndex(entityToken, indexToken, value, [delimiter])](#module_entity-manager.EntityManager+rehydrateIndex) ⇒ <code>object</code> | ||
@@ -363,3 +363,3 @@ * [.removeKeys(entityToken, item)](#module_entity-manager.EntityManager+removeKeys) ⇒ <code>object</code> | ||
#### entityManager.query(entityToken, keyToken, item, shardQuery, [options]) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
#### entityManager.query(options) ⇒ <code>Promise.<ShardedQueryResult></code> | ||
Query an entity across shards. | ||
@@ -370,11 +370,11 @@ | ||
| Param | Type | Description | | ||
| --- | --- | --- | | ||
| entityToken | <code>string</code> | Entity token. | | ||
| keyToken | <code>string</code> | Key token. | | ||
| item | <code>object</code> | Entity item sufficiently populated to generate property keyToken. | | ||
| shardQuery | <code>ShardQueryFunction</code> | Sharded query function. | | ||
| [options] | <code>object</code> | Options object. | | ||
| [options.limit] | <code>number</code> | Request limit. | | ||
| [options.pageKeys] | <code>object</code> | Map of shard page keys. | | ||
| Param | Type | Default | Description | | ||
| --- | --- | --- | --- | | ||
| options | <code>object</code> | | Query options. | | ||
| options.entityToken | <code>string</code> | | Entity token. | | ||
| [options.keyToken] | <code>string</code> | <code>"entityPK"</code> | Key token. | | ||
| [options.item] | <code>object</code> | <code>{}</code> | Entity item sufficiently populated to generate property keyToken. | | ||
| options.shardQuery | <code>ShardQueryFunction</code> | | Sharded query function. | | ||
| [options.limit] | <code>number</code> | | Request limit. | | ||
| [options.pageKeys] | <code>object</code> | | Map of shard page keys. | | ||
@@ -441,5 +441,4 @@ <a name="module_entity-manager.EntityManager+rehydrateIndex"></a> | ||
| shardedKey | <code>string</code> | Sharded key. | | ||
| [options] | <code>object</code> | Options object. | | ||
| [options.limit] | <code>number</code> | Request limit. | | ||
| [options.pageKey] | <code>\*</code> | Page key. | | ||
| [limit] | <code>number</code> | Request limit. | | ||
| [pageKey] | <code>\*</code> | Page key. | | ||
@@ -446,0 +445,0 @@ <a name="module_entity-manager..ShardedQueryResult"></a> |
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
79265
456