@karmaniverous/entity-manager 5.0.9 → 5.0.10

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 (139) hide show
  1. package/.github/FUNDING.yml +3 -3
  2. package/dist/cjs/BaseEntityClient/BaseEntityClient.js +28 -0
  3. package/dist/cjs/BaseQueryBuilder/BaseQueryBuilder.js +62 -0
  4. package/dist/cjs/EntityManager/EntityManager.js +131 -0
  5. package/dist/cjs/EntityManager/ParsedConfig.js +385 -0
  6. package/dist/cjs/EntityManager/addKeys.js +60 -0
  7. package/dist/cjs/EntityManager/createEntityManager.js +46 -0
  8. package/dist/cjs/EntityManager/decodeElement.js +46 -0
  9. package/dist/cjs/EntityManager/decodeGeneratedProperty.js +53 -0
  10. package/dist/cjs/EntityManager/dehydrateIndexItem.js +68 -0
  11. package/dist/cjs/EntityManager/dehydratePageKeyMap.js +93 -0
  12. package/dist/cjs/EntityManager/encodeElement.js +40 -0
  13. package/dist/cjs/EntityManager/encodeGeneratedProperty.js +55 -0
  14. package/dist/cjs/EntityManager/findIndexToken.js +10 -0
  15. package/dist/cjs/EntityManager/getHashKeySpace.js +89 -0
  16. package/dist/cjs/EntityManager/getIndexComponents.js +23 -0
  17. package/dist/cjs/EntityManager/getPrimaryKey.js +76 -0
  18. package/dist/cjs/EntityManager/getShardBump.js +24 -0
  19. package/dist/cjs/EntityManager/query.js +130 -0
  20. package/dist/cjs/EntityManager/rehydrateIndexItem.js +65 -0
  21. package/dist/cjs/EntityManager/rehydratePageKeyMap.js +103 -0
  22. package/dist/cjs/EntityManager/removeKeys.js +51 -0
  23. package/dist/cjs/EntityManager/unwrapIndex.js +59 -0
  24. package/dist/cjs/EntityManager/updateItemHashKey.js +79 -0
  25. package/dist/cjs/EntityManager/updateItemRangeKey.js +65 -0
  26. package/dist/cjs/EntityManager/validateEntityToken.js +17 -0
  27. package/dist/cjs/EntityManager/validateGeneratedProperty.js +23 -0
  28. package/dist/cjs/EntityManager/validateIndexToken.js +16 -0
  29. package/dist/cjs/EntityManager/validateTranscodedProperty.js +16 -0
  30. package/dist/cjs/index.js +15 -0
  31. package/dist/default/lib/EntityManager/EntityManager.js +46 -69
  32. package/dist/default/lib/EntityManager/PrivateEntityManager.js +44 -51
  33. package/dist/index.d.ts +1163 -0
  34. package/dist/mjs/BaseEntityClient/BaseEntityClient.js +26 -0
  35. package/dist/mjs/BaseQueryBuilder/BaseQueryBuilder.js +60 -0
  36. package/dist/mjs/EntityManager/EntityManager.js +129 -0
  37. package/dist/mjs/EntityManager/ParsedConfig.js +383 -0
  38. package/dist/mjs/EntityManager/addKeys.js +58 -0
  39. package/dist/mjs/EntityManager/createEntityManager.js +44 -0
  40. package/dist/mjs/EntityManager/decodeElement.js +44 -0
  41. package/dist/mjs/EntityManager/decodeGeneratedProperty.js +51 -0
  42. package/dist/mjs/EntityManager/dehydrateIndexItem.js +66 -0
  43. package/dist/mjs/EntityManager/dehydratePageKeyMap.js +91 -0
  44. package/dist/mjs/EntityManager/encodeElement.js +38 -0
  45. package/dist/mjs/EntityManager/encodeGeneratedProperty.js +53 -0
  46. package/dist/mjs/EntityManager/findIndexToken.js +8 -0
  47. package/dist/mjs/EntityManager/getHashKeySpace.js +87 -0
  48. package/dist/mjs/EntityManager/getIndexComponents.js +21 -0
  49. package/dist/mjs/EntityManager/getPrimaryKey.js +74 -0
  50. package/dist/mjs/EntityManager/getShardBump.js +22 -0
  51. package/dist/mjs/EntityManager/query.js +128 -0
  52. package/dist/mjs/EntityManager/rehydrateIndexItem.js +63 -0
  53. package/dist/mjs/EntityManager/rehydratePageKeyMap.js +101 -0
  54. package/dist/mjs/EntityManager/removeKeys.js +49 -0
  55. package/dist/mjs/EntityManager/unwrapIndex.js +57 -0
  56. package/dist/mjs/EntityManager/updateItemHashKey.js +77 -0
  57. package/dist/mjs/EntityManager/updateItemRangeKey.js +63 -0
  58. package/dist/mjs/EntityManager/validateEntityToken.js +15 -0
  59. package/dist/mjs/EntityManager/validateGeneratedProperty.js +21 -0
  60. package/dist/mjs/EntityManager/validateIndexToken.js +14 -0
  61. package/dist/mjs/EntityManager/validateTranscodedProperty.js +14 -0
  62. package/dist/mjs/index.js +5 -0
  63. package/docs/.nojekyll +1 -0
  64. package/docs/assets/hierarchy.js +1 -0
  65. package/docs/assets/highlight.css +99 -0
  66. package/docs/assets/icons.js +18 -0
  67. package/docs/assets/icons.svg +1 -0
  68. package/docs/assets/main.js +60 -0
  69. package/docs/assets/navigation.js +1 -0
  70. package/docs/assets/search.js +1 -0
  71. package/docs/assets/style.css +1648 -0
  72. package/docs/classes/index.BaseEntityClient.html +124 -0
  73. package/docs/classes/index.BaseQueryBuilder.html +229 -0
  74. package/docs/classes/index.EntityManager.html +510 -0
  75. package/docs/documents/CHANGELOG.html +1432 -0
  76. package/docs/documents/guides_stan-assistant-guide.html +431 -0
  77. package/docs/functions/index.createEntityManager.html +60 -0
  78. package/docs/hierarchy.html +31 -0
  79. package/docs/index.html +212 -0
  80. package/docs/interfaces/index.BaseConfigMap.html +113 -0
  81. package/docs/interfaces/index.BaseEntityClientOptions.html +82 -0
  82. package/docs/interfaces/index.BaseQueryBuilderOptions.html +92 -0
  83. package/docs/interfaces/index.CapturedConfigMapFrom.html +126 -0
  84. package/docs/interfaces/index.ConfigInput.html +189 -0
  85. package/docs/interfaces/index.ParsedConfig.html +144 -0
  86. package/docs/interfaces/index.ParsedEntityConfig.html +91 -0
  87. package/docs/interfaces/index.ParsedGeneratedPropertiesConfig.html +67 -0
  88. package/docs/interfaces/index.ParsedIndexConfig.html +79 -0
  89. package/docs/interfaces/index.ParsedTranscoder.html +71 -0
  90. package/docs/interfaces/index.QueryOptions.html +180 -0
  91. package/docs/interfaces/index.QueryResult.html +91 -0
  92. package/docs/interfaces/index.ShardBump.html +79 -0
  93. package/docs/interfaces/index.ShardQueryResult.html +93 -0
  94. package/docs/modules/index.html +47 -0
  95. package/docs/modules.html +38 -0
  96. package/docs/sitemap.xml +263 -0
  97. package/docs/types/index.BaseKeyTokens.html +39 -0
  98. package/docs/types/index.Config.html +75 -0
  99. package/docs/types/index.ConfigMap.html +41 -0
  100. package/docs/types/index.ConfigOfClient.html +45 -0
  101. package/docs/types/index.EntitiesFromSchema.html +39 -0
  102. package/docs/types/index.EntityClientItemByToken.html +45 -0
  103. package/docs/types/index.EntityClientRecordByToken.html +43 -0
  104. package/docs/types/index.EntityItem.html +41 -0
  105. package/docs/types/index.EntityItemPartial.html +44 -0
  106. package/docs/types/index.EntityKey.html +40 -0
  107. package/docs/types/index.EntityOfToken.html +39 -0
  108. package/docs/types/index.EntityRecord.html +39 -0
  109. package/docs/types/index.EntityRecordPartial.html +40 -0
  110. package/docs/types/index.EntityToken.html +40 -0
  111. package/docs/types/index.FallbackIndexTokenSet.html +40 -0
  112. package/docs/types/index.HasIndexFor.html +43 -0
  113. package/docs/types/index.HashKeyFrom.html +38 -0
  114. package/docs/types/index.IndexComponentTokens.html +45 -0
  115. package/docs/types/index.IndexHashKeyOf.html +42 -0
  116. package/docs/types/index.IndexRangeKeyOf.html +41 -0
  117. package/docs/types/index.IndexTokensFrom.html +41 -0
  118. package/docs/types/index.IndexTokensOf.html +40 -0
  119. package/docs/types/index.KeysFrom.html +38 -0
  120. package/docs/types/index.PageKey.html +40 -0
  121. package/docs/types/index.PageKeyByIndex.html +46 -0
  122. package/docs/types/index.PresentIndexTokenSet.html +45 -0
  123. package/docs/types/index.Projected.html +39 -0
  124. package/docs/types/index.QueryBuilderQueryOptions.html +45 -0
  125. package/docs/types/index.QueryOptionsByCC.html +49 -0
  126. package/docs/types/index.QueryOptionsByCF.html +47 -0
  127. package/docs/types/index.RangeKeyFrom.html +38 -0
  128. package/docs/types/index.ShardQueryFunction.html +63 -0
  129. package/docs/types/index.ShardQueryMap.html +56 -0
  130. package/docs/types/index.ShardQueryMapByCC.html +49 -0
  131. package/docs/types/index.ShardQueryMapByCF.html +47 -0
  132. package/docs/types/index.ShardedKeysFrom.html +38 -0
  133. package/docs/types/index.StorageItem.html +42 -0
  134. package/docs/types/index.StorageRecord.html +40 -0
  135. package/docs/types/index.TranscodedPropertiesFrom.html +38 -0
  136. package/docs/types/index.UnshardedKeysFrom.html +38 -0
  137. package/docs/types/index.ValidateConfigMap.html +40 -0
  138. package/lib/EntityManager/PrivateEntityManager.js +4 -0
  139. package/package.json +1 -1
@@ -0,0 +1,510 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>EntityManager | @karmaniverous/entity-manager</title><meta name="description" content="Documentation for @karmaniverous/entity-manager"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
2
+ <div class="tsd-toolbar-contents container"><a href="https://github.com/karmaniverous/entity-manager" class="title">@karmaniverous/entity-manager</a>
3
+ <div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
4
+ <ul role="listbox" id="tsd-search-results"></ul>
5
+ <div id="tsd-search-status" aria-live="polite" aria-atomic="true">
6
+ <div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
7
+ <div class="container container-main">
8
+ <div class="col-content">
9
+ <div class="tsd-page-title">
10
+ <ul class="tsd-breadcrumb" aria-label="Breadcrumb">
11
+ <li><a href="../modules/index.html">index</a></li>
12
+ <li><a href="" aria-current="page">EntityManager</a></li></ul>
13
+ <h1>Class EntityManager&lt;CC, CF&gt;</h1></div>
14
+ <section class="tsd-panel tsd-comment">
15
+ <div class="tsd-comment tsd-typography"><p>The EntityManager class applies a configuration-driven sharded data model &amp;
16
+ query strategy to NoSql data.</p>
17
+ </div>
18
+ <div class="tsd-comment tsd-typography">
19
+ <div class="tsd-tag-remarks">
20
+ <h4 class="tsd-anchor-link" id="remarks">Remarks<a href="#remarks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>While the <a href="#query" class="tsd-kind-method"><code>query</code></a> method is <code>public</code>, normally it should not be called directly. The <code>query</code> method is used by a platform-specific <a href="index.BaseQueryBuilder.html#query" class="tsd-kind-method"><code>QueryBuilder.query</code></a> method to provide a fluent query API.</p>
21
+ </div></div></section>
22
+ <section class="tsd-panel">
23
+ <h4>Type Parameters</h4>
24
+ <ul class="tsd-type-parameter-list">
25
+ <li><span id="cc"><span class="tsd-kind-type-parameter">CC</span> <span class="tsd-signature-keyword">extends</span> <a href="../interfaces/index.BaseConfigMap.html" class="tsd-signature-type tsd-kind-interface">BaseConfigMap</a></span>
26
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.ConfigMap.html" class="tsd-kind-type-alias"><code>ConfigMap</code></a> that defines the configuration's <a href="https://docs.karmanivero.us/entity-tools/types/entity-tools.EntityMap.html"><code>EntityMap</code></a>, key properties, and <a href="https://docs.karmanivero.us/entity-tools/types/entity-tools.TranscodeRegistry.html"><code>TranscodeRegistry</code></a>. If omitted, defaults to <a href="../interfaces/index.BaseConfigMap.html" class="tsd-kind-interface"><code>BaseConfigMap</code></a>.</p>
27
+ </div></li>
28
+ <li><span id="cf"><span class="tsd-kind-type-parameter">CF</span> = <span class="tsd-signature-type">unknown</span></span>
29
+ <div class="tsd-comment tsd-typography"><p>Values-first config literal type captured at construction
30
+ time (phantom generic; type-only). This is used by downstream
31
+ adapters to infer index-token unions (ITS) and per-index page
32
+ key shapes.</p>
33
+ </div></li></ul></section><aside class="tsd-sources">
34
+ <ul>
35
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L43">EntityManager/EntityManager.ts:43</a></li></ul></aside>
36
+ <section class="tsd-panel-group tsd-index-group">
37
+ <section class="tsd-panel tsd-index-panel">
38
+ <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
39
+ <h5 class="tsd-index-heading uppercase">Index</h5></summary>
40
+ <div class="tsd-accordion-details">
41
+ <section class="tsd-index-section">
42
+ <h3 class="tsd-index-heading tsd-anchor-link" id="constructors">Constructors<a href="#constructors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
43
+ <div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
44
+ </div></section>
45
+ <section class="tsd-index-section">
46
+ <h3 class="tsd-index-heading tsd-anchor-link" id="properties">Properties<a href="#properties" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
47
+ <div class="tsd-index-list"><a href="#logger" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>logger</span></a>
48
+ </div></section>
49
+ <section class="tsd-index-section">
50
+ <h3 class="tsd-index-heading tsd-anchor-link" id="accessors">Accessors<a href="#accessors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
51
+ <div class="tsd-index-list"><a href="#config" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>config</span></a>
52
+ </div></section>
53
+ <section class="tsd-index-section">
54
+ <h3 class="tsd-index-heading tsd-anchor-link" id="methods">Methods<a href="#methods" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
55
+ <div class="tsd-index-list"><a href="#addkeys" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Keys</span></a>
56
+ <a href="#encodegeneratedproperty" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>encode<wbr/>Generated<wbr/>Property</span></a>
57
+ <a href="#findindextoken" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Index<wbr/>Token</span></a>
58
+ <a href="#getprimarykey" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Primary<wbr/>Key</span></a>
59
+ <a href="#query" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>query</span></a>
60
+ <a href="#removekeys" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>remove<wbr/>Keys</span></a>
61
+ </div></section></div></details></section></section>
62
+ <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
63
+ <h2 class="tsd-anchor-link" id="constructors-1">Constructors<a href="#constructors-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
64
+ <section>
65
+ <section class="tsd-panel tsd-member">
66
+ <h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
67
+ <ul class="tsd-signatures">
68
+ <li class="">
69
+ <div class="tsd-signature tsd-anchor-link" id="constructorentitymanager"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">EntityManager</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#constructorentitymanagercc">CC</a> <span class="tsd-signature-keyword">extends</span> <a href="../interfaces/index.BaseConfigMap.html" class="tsd-signature-type tsd-kind-interface">BaseConfigMap</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#constructorentitymanagercf">CF</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">config</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.Config.html" class="tsd-signature-type tsd-kind-type-alias">Config</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">logger</span><span class="tsd-signature-symbol">?:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys" class="tsd-signature-type external" target="_blank">Pick</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Console</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;debug&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;error&quot;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">EntityManager</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span><a href="#constructorentitymanager" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
70
+ <div class="tsd-description">
71
+ <div class="tsd-comment tsd-typography"><p>Create an EntityManager instance.</p>
72
+ </div>
73
+ <section class="tsd-panel">
74
+ <h4>Type Parameters</h4>
75
+ <ul class="tsd-type-parameter-list">
76
+ <li><span id="constructorentitymanagercc"><span class="tsd-kind-type-parameter">CC</span> <span class="tsd-signature-keyword">extends</span> <a href="../interfaces/index.BaseConfigMap.html" class="tsd-signature-type tsd-kind-interface">BaseConfigMap</a></span>
77
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.ConfigMap.html" class="tsd-kind-type-alias"><code>ConfigMap</code></a> that defines the configuration's <a href="https://docs.karmanivero.us/entity-tools/types/entity-tools.EntityMap.html"><code>EntityMap</code></a>, key properties, and <a href="https://docs.karmanivero.us/entity-tools/types/entity-tools.TranscodeRegistry.html"><code>TranscodeRegistry</code></a>. If omitted, defaults to <a href="../interfaces/index.BaseConfigMap.html" class="tsd-kind-interface"><code>BaseConfigMap</code></a>.</p>
78
+ </div></li>
79
+ <li><span id="constructorentitymanagercf"><span class="tsd-kind-type-parameter">CF</span> = <span class="tsd-signature-type">unknown</span></span>
80
+ <div class="tsd-comment tsd-typography"><p>Values-first config literal type captured at construction
81
+ time (phantom generic; type-only). This is used by downstream
82
+ adapters to infer index-token unions (ITS) and per-index page
83
+ key shapes.</p>
84
+ </div></li></ul></section>
85
+ <div class="tsd-parameters">
86
+ <h4 class="tsd-parameters-title">Parameters</h4>
87
+ <ul class="tsd-parameter-list">
88
+ <li><span><span class="tsd-kind-parameter">config</span>: <a href="../types/index.Config.html" class="tsd-signature-type tsd-kind-type-alias">Config</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span></span>
89
+ <div class="tsd-comment tsd-typography"><p>EntityManager <a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> object.</p>
90
+ </div></li>
91
+ <li><span><span class="tsd-kind-parameter">logger</span>: <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys" class="tsd-signature-type external" target="_blank">Pick</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Console</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;debug&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;error&quot;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = console</span></span>
92
+ <div class="tsd-comment tsd-typography"><p>Logger object (defaults to <code>console</code>, must support <code>debug</code> &amp; <code>error</code> methods).</p>
93
+ </div></li></ul></div>
94
+ <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">EntityManager</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
95
+ <ul>
96
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L55">EntityManager/EntityManager.ts:55</a></li></ul></aside></div></li></ul></section></section></details>
97
+ <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
98
+ <h2 class="tsd-anchor-link" id="properties-1">Properties<a href="#properties-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
99
+ <section>
100
+ <section class="tsd-panel tsd-member">
101
+ <h3 class="tsd-anchor-link" id="logger"><code class="tsd-tag">Readonly</code><span>logger</span><a href="#logger" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
102
+ <div class="tsd-signature"><span class="tsd-kind-property">logger</span><span class="tsd-signature-symbol">:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys" class="tsd-signature-type external" target="_blank">Pick</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Console</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;debug&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;error&quot;</span><span class="tsd-signature-symbol">&gt;</span></div>
103
+ <div class="tsd-comment tsd-typography"><p>Logger object (defaults to <code>console</code>, must support <code>debug</code> &amp; <code>error</code> methods).</p>
104
+ </div><aside class="tsd-sources">
105
+ <ul>
106
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L47">EntityManager/EntityManager.ts:47</a></li></ul></aside></section></section></details>
107
+ <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
108
+ <h2 class="tsd-anchor-link" id="accessors-1">Accessors<a href="#accessors-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
109
+ <section>
110
+ <section class="tsd-panel tsd-member">
111
+ <h3 class="tsd-anchor-link" id="config"><span>config</span><a href="#config" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
112
+ <ul class="tsd-signatures">
113
+ <li>
114
+ <div class="tsd-signature" id="configconfig"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">config</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/index.ParsedConfig.html" class="tsd-signature-type tsd-kind-interface">ParsedConfig</a></div>
115
+ <div class="tsd-description">
116
+ <div class="tsd-comment tsd-typography"><p>Get the current EntityManager <a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> object.</p>
117
+ </div>
118
+ <h4 class="tsd-returns-title">Returns <a href="../interfaces/index.ParsedConfig.html" class="tsd-signature-type tsd-kind-interface">ParsedConfig</a></h4><p>Current <a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> object.</p>
119
+ <aside class="tsd-sources">
120
+ <ul>
121
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L78">EntityManager/EntityManager.ts:78</a></li></ul></aside></div></li>
122
+ <li>
123
+ <div class="tsd-signature" id="configconfig-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">config</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/index.ParsedConfig.html" class="tsd-signature-type tsd-kind-interface">ParsedConfig</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div>
124
+ <div class="tsd-description">
125
+ <div class="tsd-comment tsd-typography"><p>Set the current EntityManager <a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> object.</p>
126
+ </div>
127
+ <div class="tsd-parameters">
128
+ <h4 class="tsd-parameters-title">Parameters</h4>
129
+ <ul class="tsd-parameter-list">
130
+ <li><span><span class="tsd-kind-parameter">value</span>: <a href="../interfaces/index.ParsedConfig.html" class="tsd-signature-type tsd-kind-interface">ParsedConfig</a></span>
131
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> object.</p>
132
+ </div></li></ul></div>
133
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
134
+ <ul>
135
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L87">EntityManager/EntityManager.ts:87</a></li></ul></aside></div></li></ul></section></section></details>
136
+ <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
137
+ <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
138
+ <section>
139
+ <section class="tsd-panel tsd-member">
140
+ <h3 class="tsd-anchor-link" id="addkeys"><span>add<wbr/>Keys</span><a href="#addkeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
141
+ <ul class="tsd-signatures">
142
+ <li class="">
143
+ <div class="tsd-signature tsd-anchor-link" id="addkeys-1"><span class="tsd-kind-call-signature">addKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">overwrite</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a><span class="tsd-signature-symbol">&gt;</span><a href="#addkeys-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
144
+ <div class="tsd-description">
145
+ <div class="tsd-comment tsd-typography"><p>Update generated properties, hash key, and range key on an <a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> object.</p>
146
+ </div>
147
+ <section class="tsd-panel">
148
+ <h4>Type Parameters</h4>
149
+ <ul class="tsd-type-parameter-list">
150
+ <li><span id="addkeyset"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
151
+ <div class="tsd-parameters">
152
+ <h4 class="tsd-parameters-title">Parameters</h4>
153
+ <ul class="tsd-parameter-list">
154
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a></span>
155
+ <div class="tsd-comment tsd-typography"><p>Entity token (narrows types by token).</p>
156
+ </div></li>
157
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a><span class="tsd-signature-symbol">&gt;</span></span>
158
+ <div class="tsd-comment tsd-typography"><p>Single item to update with generated keys/properties.</p>
159
+ </div></li>
160
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">overwrite</span>: <span class="tsd-signature-type">boolean</span></span>
161
+ <div class="tsd-comment tsd-typography"><p>Overwrite existing keys/properties (default <code>false</code>).</p>
162
+ </div></li></ul></div>
163
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset">ET</a><span class="tsd-signature-symbol">&gt;</span></h4><p><a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object with updated properties.</p>
164
+
165
+ <div class="tsd-comment tsd-typography">
166
+ <div class="tsd-tag-throws">
167
+ <h4 class="tsd-anchor-link" id="throws">Throws<a href="#throws" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
168
+ </div></div><aside class="tsd-sources">
169
+ <ul>
170
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L121">EntityManager/EntityManager.ts:121</a></li></ul></aside></div></li>
171
+ <li class="">
172
+ <div class="tsd-signature tsd-anchor-link" id="addkeys-2"><span class="tsd-kind-call-signature">addKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">overwrite</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><a href="#addkeys-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
173
+ <div class="tsd-description">
174
+ <div class="tsd-comment tsd-typography"><p>Update generated properties, hash key, and range key on an array of <a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> objects.</p>
175
+ </div>
176
+ <section class="tsd-panel">
177
+ <h4>Type Parameters</h4>
178
+ <ul class="tsd-type-parameter-list">
179
+ <li><span id="addkeyset-1"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
180
+ <div class="tsd-parameters">
181
+ <h4 class="tsd-parameters-title">Parameters</h4>
182
+ <ul class="tsd-parameter-list">
183
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a></span>
184
+ <div class="tsd-comment tsd-typography"><p>Entity token (narrows types by token).</p>
185
+ </div></li>
186
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span>
187
+ <div class="tsd-comment tsd-typography"><p>Items to update with generated keys/properties.</p>
188
+ </div></li>
189
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">overwrite</span>: <span class="tsd-signature-type">boolean</span></span>
190
+ <div class="tsd-comment tsd-typography"><p>Overwrite existing keys/properties (default <code>false</code>).</p>
191
+ </div></li></ul></div>
192
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#addkeyset-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><p>Array of <a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> objects with updated properties.</p>
193
+
194
+ <div class="tsd-comment tsd-typography">
195
+ <div class="tsd-tag-throws">
196
+ <h4 class="tsd-anchor-link" id="throws-1">Throws<a href="#throws-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
197
+ </div></div><aside class="tsd-sources">
198
+ <ul>
199
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L139">EntityManager/EntityManager.ts:139</a></li></ul></aside></div></li></ul></section>
200
+ <section class="tsd-panel tsd-member">
201
+ <h3 class="tsd-anchor-link" id="encodegeneratedproperty"><span>encode<wbr/>Generated<wbr/>Property</span><a href="#encodegeneratedproperty" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
202
+ <ul class="tsd-signatures">
203
+ <li class="">
204
+ <div class="tsd-signature tsd-anchor-link" id="encodegeneratedproperty-1"><span class="tsd-kind-call-signature">encodeGeneratedProperty</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">property</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.StorageItem.html" class="tsd-signature-type tsd-kind-type-alias">StorageItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><a href="#encodegeneratedproperty-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
205
+ <div class="tsd-description">
206
+ <div class="tsd-comment tsd-typography"><p>Encode a generated property value. Returns a string or undefined if atomicity requirement of sharded properties not met.</p>
207
+ </div>
208
+ <div class="tsd-parameters">
209
+ <h4 class="tsd-parameters-title">Parameters</h4>
210
+ <ul class="tsd-parameter-list">
211
+ <li><span><span class="tsd-kind-parameter">property</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span></span>
212
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias">Config</a> <code>generatedProperties</code> key.</p>
213
+ </div></li>
214
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="../types/index.StorageItem.html" class="tsd-signature-type tsd-kind-type-alias">StorageItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span></span>
215
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.StorageItem.html" class="tsd-kind-type-alias"><code>StorageItem</code></a> object.</p>
216
+ </div></li></ul></div>
217
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><p>Encoded generated property value.</p>
218
+
219
+ <div class="tsd-comment tsd-typography">
220
+ <div class="tsd-tag-throws">
221
+ <h4 class="tsd-anchor-link" id="throws-2">Throws<a href="#throws-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>property</code> is not a <a href="../types/index.Config.html" class="tsd-kind-type-alias">Config</a> <code>generatedProperties</code> key.</p>
222
+ </div></div><aside class="tsd-sources">
223
+ <ul>
224
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L101">EntityManager/EntityManager.ts:101</a></li></ul></aside></div></li></ul></section>
225
+ <section class="tsd-panel tsd-member">
226
+ <h3 class="tsd-anchor-link" id="findindextoken"><span>find<wbr/>Index<wbr/>Token</span><a href="#findindextoken" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
227
+ <ul class="tsd-signatures">
228
+ <li class="">
229
+ <div class="tsd-signature tsd-anchor-link" id="findindextoken-1"><span class="tsd-kind-call-signature">findIndexToken</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">hashKeyToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;HashKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">rangeKeyToken</span><span class="tsd-signature-symbol">:</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;RangeKey&quot;</span><span class="tsd-signature-symbol">]</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;TranscodedProperties&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">suppressError</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.IndexTokensOf.html" class="tsd-signature-type tsd-kind-type-alias">IndexTokensOf</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span><a href="#findindextoken-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
230
+ <div class="tsd-description">
231
+ <div class="tsd-comment tsd-typography"><p>Find an index token based on the configured hash and range key tokens.</p>
232
+ </div>
233
+ <div class="tsd-parameters">
234
+ <h4 class="tsd-parameters-title">Parameters</h4>
235
+ <ul class="tsd-parameter-list">
236
+ <li><span><span class="tsd-kind-parameter">hashKeyToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;HashKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span></span>
237
+ <div class="tsd-comment tsd-typography"><p>Index hash key token (global hashKey or a sharded generated key).</p>
238
+ </div></li>
239
+ <li><span><span class="tsd-kind-parameter">rangeKeyToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;RangeKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;TranscodedProperties&quot;</span><span class="tsd-signature-symbol">]</span></span>
240
+ <div class="tsd-comment tsd-typography"><p>Index range key token (global rangeKey, unsharded generated key, or a transcodable scalar).</p>
241
+ </div></li>
242
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">suppressError</span>: <span class="tsd-signature-type">false</span></span>
243
+ <div class="tsd-comment tsd-typography"><p>When false (default), throws if no match; when true, returns undefined instead.</p>
244
+ </div></li></ul></div>
245
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.IndexTokensOf.html" class="tsd-signature-type tsd-kind-type-alias">IndexTokensOf</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span></h4><p>A configured index token (narrowed to the CF.indexes key union) or undefined when allowed.</p>
246
+
247
+ <div class="tsd-comment tsd-typography">
248
+ <div class="tsd-tag-throws">
249
+ <h4 class="tsd-anchor-link" id="throws-3">Throws<a href="#throws-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if no match is found and <code>suppressError</code> is not <code>true</code>.</p>
250
+ </div></div><aside class="tsd-sources">
251
+ <ul>
252
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L272">EntityManager/EntityManager.ts:272</a></li></ul></aside></div></li>
253
+ <li class="">
254
+ <div class="tsd-signature tsd-anchor-link" id="findindextoken-2"><span class="tsd-kind-call-signature">findIndexToken</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">hashKeyToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;HashKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">rangeKeyToken</span><span class="tsd-signature-symbol">:</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;RangeKey&quot;</span><span class="tsd-signature-symbol">]</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span><br/>        <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;TranscodedProperties&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">suppressError</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.IndexTokensOf.html" class="tsd-signature-type tsd-kind-type-alias">IndexTokensOf</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><a href="#findindextoken-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
255
+ <div class="tsd-description">
256
+ <div class="tsd-comment tsd-typography"><p>Find an index token based on the configured hash and range key tokens.</p>
257
+ </div>
258
+ <div class="tsd-parameters">
259
+ <h4 class="tsd-parameters-title">Parameters</h4>
260
+ <ul class="tsd-parameter-list">
261
+ <li><span><span class="tsd-kind-parameter">hashKeyToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;HashKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;ShardedKeys&quot;</span><span class="tsd-signature-symbol">]</span></span>
262
+ <div class="tsd-comment tsd-typography"><p>Index hash key token (global hashKey or a sharded generated key).</p>
263
+ </div></li>
264
+ <li><span><span class="tsd-kind-parameter">rangeKeyToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;RangeKey&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;UnshardedKeys&quot;</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;TranscodedProperties&quot;</span><span class="tsd-signature-symbol">]</span></span>
265
+ <div class="tsd-comment tsd-typography"><p>Index range key token (global rangeKey, unsharded generated key, or a transcodable scalar).</p>
266
+ </div></li>
267
+ <li><span><span class="tsd-kind-parameter">suppressError</span>: <span class="tsd-signature-type">true</span></span>
268
+ <div class="tsd-comment tsd-typography"><p>When false (default), throws if no match; when true, returns undefined instead.</p>
269
+ </div></li></ul></div>
270
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.IndexTokensOf.html" class="tsd-signature-type tsd-kind-type-alias">IndexTokensOf</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cf">CF</a><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><p>A configured index token (narrowed to the CF.indexes key union) or undefined when allowed.</p>
271
+
272
+ <div class="tsd-comment tsd-typography">
273
+ <div class="tsd-tag-throws">
274
+ <h4 class="tsd-anchor-link" id="throws-4">Throws<a href="#throws-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if no match is found and <code>suppressError</code> is not <code>true</code>.</p>
275
+ </div></div><aside class="tsd-sources">
276
+ <ul>
277
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L278">EntityManager/EntityManager.ts:278</a></li></ul></aside></div></li></ul></section>
278
+ <section class="tsd-panel tsd-member">
279
+ <h3 class="tsd-anchor-link" id="getprimarykey"><span>get<wbr/>Primary<wbr/>Key</span><a href="#getprimarykey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
280
+ <ul class="tsd-signatures">
281
+ <li class="">
282
+ <div class="tsd-signature tsd-anchor-link" id="getprimarykey-1"><span class="tsd-kind-call-signature">getPrimaryKey</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">overwrite</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityKey.html" class="tsd-signature-type tsd-kind-type-alias">EntityKey</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><a href="#getprimarykey-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
283
+ <div class="tsd-description">
284
+ <div class="tsd-comment tsd-typography"><p>Convert one or more <a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> objects into an array of <a href="../types/index.EntityKey.html" class="tsd-kind-type-alias"><code>EntityKey</code></a> values.</p>
285
+ </div>
286
+ <section class="tsd-panel">
287
+ <h4>Type Parameters</h4>
288
+ <ul class="tsd-type-parameter-list">
289
+ <li><span id="getprimarykeyet"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
290
+ <div class="tsd-parameters">
291
+ <h4 class="tsd-parameters-title">Parameters</h4>
292
+ <ul class="tsd-parameter-list">
293
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet">ET</a></span>
294
+ <div class="tsd-comment tsd-typography"><p>Entity token (narrows types by token).</p>
295
+ </div></li>
296
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet">ET</a><span class="tsd-signature-symbol">&gt;</span></span>
297
+ <div class="tsd-comment tsd-typography"><p>Single item to derive primary keys for.</p>
298
+ </div></li>
299
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">overwrite</span>: <span class="tsd-signature-type">boolean</span></span>
300
+ <div class="tsd-comment tsd-typography"><p>Overwrite existing keys on the item before deriving (default <code>false</code>).</p>
301
+ </div></li></ul></div>
302
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityKey.html" class="tsd-signature-type tsd-kind-type-alias">EntityKey</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><p>Array of <a href="../types/index.EntityKey.html" class="tsd-kind-type-alias"><code>EntityKey</code></a> values derived from <code>item</code>.</p>
303
+
304
+ <div class="tsd-comment tsd-typography">
305
+ <div class="tsd-tag-throws">
306
+ <h4 class="tsd-anchor-link" id="throws-5">Throws<a href="#throws-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
307
+ </div></div><aside class="tsd-sources">
308
+ <ul>
309
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L170">EntityManager/EntityManager.ts:170</a></li></ul></aside></div></li>
310
+ <li class="">
311
+ <div class="tsd-signature tsd-anchor-link" id="getprimarykey-2"><span class="tsd-kind-call-signature">getPrimaryKey</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet-1">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet-1">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">items</span><span class="tsd-signature-symbol">:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">overwrite</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityKey.html" class="tsd-signature-type tsd-kind-type-alias">EntityKey</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><a href="#getprimarykey-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
312
+ <div class="tsd-description">
313
+ <div class="tsd-comment tsd-typography"><p>Convert an array of <a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> objects into <a href="../types/index.EntityKey.html" class="tsd-kind-type-alias"><code>EntityKey</code></a> values.</p>
314
+ </div>
315
+ <section class="tsd-panel">
316
+ <h4>Type Parameters</h4>
317
+ <ul class="tsd-type-parameter-list">
318
+ <li><span id="getprimarykeyet-1"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
319
+ <div class="tsd-parameters">
320
+ <h4 class="tsd-parameters-title">Parameters</h4>
321
+ <ul class="tsd-parameter-list">
322
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet-1">ET</a></span>
323
+ <div class="tsd-comment tsd-typography"><p>Entity token (narrows types by token).</p>
324
+ </div></li>
325
+ <li><span><span class="tsd-kind-parameter">items</span>: <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#getprimarykeyet-1">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span>
326
+ <div class="tsd-comment tsd-typography"><p>Array of items to derive primary keys for.</p>
327
+ </div></li>
328
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">overwrite</span>: <span class="tsd-signature-type">boolean</span></span>
329
+ <div class="tsd-comment tsd-typography"><p>Overwrite existing keys on each item before deriving (default <code>false</code>).</p>
330
+ </div></li></ul></div>
331
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityKey.html" class="tsd-signature-type tsd-kind-type-alias">EntityKey</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><p>Array of <a href="../types/index.EntityKey.html" class="tsd-kind-type-alias"><code>EntityKey</code></a> values derived from all <code>items</code>.</p>
332
+
333
+ <div class="tsd-comment tsd-typography">
334
+ <div class="tsd-tag-throws">
335
+ <h4 class="tsd-anchor-link" id="throws-6">Throws<a href="#throws-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
336
+ </div></div><aside class="tsd-sources">
337
+ <ul>
338
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L188">EntityManager/EntityManager.ts:188</a></li></ul></aside></div></li></ul></section>
339
+ <section class="tsd-panel tsd-member tsd-is-protected">
340
+ <h3 class="tsd-anchor-link" id="query"><code class="tsd-tag">Protected</code><span>query</span><a href="#query" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
341
+ <ul class="tsd-signatures tsd-is-protected">
342
+ <li class="tsd-is-protected">
343
+ <div class="tsd-signature tsd-anchor-link" id="query-1"><span class="tsd-kind-call-signature">query</span><span class="tsd-signature-symbol">&lt;</span><br/>    <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryet">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">,</span><br/>    <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryits">ITS</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <a class="tsd-signature-type tsd-kind-type-parameter" href="#querycf">CF</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/>    <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryk">K</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/index.QueryOptions.html" class="tsd-signature-type tsd-kind-interface">QueryOptions</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryet">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryits">ITS</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#querycf">CF</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryk">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/index.QueryResult.html" class="tsd-signature-type tsd-kind-interface">QueryResult</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryet">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryits">ITS</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryk">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><a href="#query-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
344
+ <div class="tsd-description"><code class="tsd-tag">Protected</code>
345
+ <div class="tsd-comment tsd-typography"><p>Query a database entity across shards in a provider-generic fashion.</p>
346
+ </div>
347
+ <section class="tsd-panel">
348
+ <h4>Type Parameters</h4>
349
+ <ul class="tsd-type-parameter-list">
350
+ <li><span id="queryet"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li>
351
+ <li><span id="queryits"><span class="tsd-kind-type-parameter">ITS</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span></span></li>
352
+ <li><span id="querycf"><span class="tsd-kind-type-parameter">CF</span> = <span class="tsd-signature-type">unknown</span></span></li>
353
+ <li><span id="queryk"><span class="tsd-kind-type-parameter">K</span> = <span class="tsd-signature-type">unknown</span></span></li></ul></section>
354
+ <div class="tsd-parameters">
355
+ <h4 class="tsd-parameters-title">Parameters</h4>
356
+ <ul class="tsd-parameter-list">
357
+ <li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/index.QueryOptions.html" class="tsd-signature-type tsd-kind-interface">QueryOptions</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryet">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryits">ITS</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#querycf">CF</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryk">K</a><span class="tsd-signature-symbol">&gt;</span></span>
358
+ <div class="tsd-comment tsd-typography"><p><a href="../interfaces/index.QueryOptions.html" class="tsd-kind-interface"><code>QueryOptions</code></a> object.</p>
359
+ </div></li></ul></div>
360
+ <h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/index.QueryResult.html" class="tsd-signature-type tsd-kind-interface">QueryResult</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryet">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryits">ITS</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#queryk">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><p><a href="../interfaces/index.QueryResult.html" class="tsd-kind-interface">QueryResult</a> object.</p>
361
+
362
+ <div class="tsd-comment tsd-typography">
363
+ <div class="tsd-tag-remarks">
364
+ <h4 class="tsd-anchor-link" id="remarks-1">Remarks<a href="#remarks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>The provided <code>shardQueryMap</code> performs the actual query of individual data pages on individual index/shard combinations.</p>
365
+ <p>Individual shard query results will be combined, deduped by <a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> <code>uniqueProperty</code> value, and sorted by <a href="../interfaces/index.QueryOptions.html#sortorder" class="tsd-kind-property"><code>sortOrder</code></a>.</p>
366
+ <p>In queries on sharded data, expect the leading and trailing edges of returned data pages to interleave somewhat with preceding &amp; following pages.</p>
367
+ <p>Unsharded query results should sort &amp; page as expected.</p>
368
+ <p><strong>Normally this method should not be called directly!</strong> It is used by a platform-specific <a href="index.BaseQueryBuilder.html#query" class="tsd-kind-method"><code>QueryBuilder.query</code></a> method to provide a fluent query API.</p>
369
+ </div>
370
+ <div class="tsd-tag-throws">
371
+ <h4 class="tsd-anchor-link" id="throws-7">Throws<a href="#throws-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Error if <code>options</code> <a href="../interfaces/index.QueryOptions.html#pagekeymap" class="tsd-kind-property"><code>pageKeyMap</code></a> <code>pageKeyMap</code> keys do not match <a href="../interfaces/index.QueryOptions.html#shardquerymap" class="tsd-kind-property"><code>shardQueryMap</code></a> keys.</p>
372
+ </div></div><aside class="tsd-sources">
373
+ <ul>
374
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L318">EntityManager/EntityManager.ts:318</a></li></ul></aside></div></li></ul></section>
375
+ <section class="tsd-panel tsd-member">
376
+ <h3 class="tsd-anchor-link" id="removekeys"><span>remove<wbr/>Keys</span><a href="#removekeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
377
+ <ul class="tsd-signatures">
378
+ <li class="">
379
+ <div class="tsd-signature tsd-anchor-link" id="removekeys-1"><span class="tsd-kind-call-signature">removeKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a><span class="tsd-signature-symbol">&gt;</span><a href="#removekeys-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
380
+ <div class="tsd-description">
381
+ <div class="tsd-comment tsd-typography"><p>Strips generated properties, hash key, and range key from an <a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
382
+ </div>
383
+ <section class="tsd-panel">
384
+ <h4>Type Parameters</h4>
385
+ <ul class="tsd-type-parameter-list">
386
+ <li><span id="removekeyset"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
387
+ <div class="tsd-parameters">
388
+ <h4 class="tsd-parameters-title">Parameters</h4>
389
+ <ul class="tsd-parameter-list">
390
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a></span>
391
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> <code>entities</code> key.</p>
392
+ </div></li>
393
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a><span class="tsd-signature-symbol">&gt;</span></span>
394
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
395
+ </div></li></ul></div>
396
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset">ET</a><span class="tsd-signature-symbol">&gt;</span></h4><p><a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> with generated properties, hash key &amp; range key removed.</p>
397
+
398
+ <div class="tsd-comment tsd-typography">
399
+ <div class="tsd-tag-throws">
400
+ <h4 class="tsd-anchor-link" id="throws-8">Throws<a href="#throws-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
401
+ <p>Overloads:</p>
402
+ </div></div><aside class="tsd-sources">
403
+ <ul>
404
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L220">EntityManager/EntityManager.ts:220</a></li></ul></aside></div></li>
405
+ <li class="">
406
+ <div class="tsd-signature tsd-anchor-link" id="removekeys-2"><span class="tsd-kind-call-signature">removeKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk">K</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">item</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecordPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecordPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk">K</a><span class="tsd-signature-symbol">&gt;</span><a href="#removekeys-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
407
+ <div class="tsd-description">
408
+ <div class="tsd-comment tsd-typography"><p>Strips generated properties, hash key, and range key from an <a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
409
+ </div>
410
+ <section class="tsd-panel">
411
+ <h4>Type Parameters</h4>
412
+ <ul class="tsd-type-parameter-list">
413
+ <li><span id="removekeyset-1"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li>
414
+ <li><span id="removekeysk"><span class="tsd-kind-type-parameter">K</span> = <span class="tsd-signature-type">unknown</span></span></li></ul></section>
415
+ <div class="tsd-parameters">
416
+ <h4 class="tsd-parameters-title">Parameters</h4>
417
+ <ul class="tsd-parameter-list">
418
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a></span>
419
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> <code>entities</code> key.</p>
420
+ </div></li>
421
+ <li><span><span class="tsd-kind-parameter">item</span>: <a href="../types/index.EntityRecordPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecordPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk">K</a><span class="tsd-signature-symbol">&gt;</span></span>
422
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
423
+ </div></li></ul></div>
424
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-1">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk">K</a><span class="tsd-signature-symbol">&gt;</span></h4><p><a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> with generated properties, hash key &amp; range key removed.</p>
425
+
426
+ <div class="tsd-comment tsd-typography">
427
+ <div class="tsd-tag-throws">
428
+ <h4 class="tsd-anchor-link" id="throws-9">Throws<a href="#throws-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
429
+ <p>Overloads:</p>
430
+ </div></div><aside class="tsd-sources">
431
+ <ul>
432
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L224">EntityManager/EntityManager.ts:224</a></li></ul></aside></div></li>
433
+ <li class="">
434
+ <div class="tsd-signature tsd-anchor-link" id="removekeys-3"><span class="tsd-kind-call-signature">removeKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">items</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><a href="#removekeys-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
435
+ <div class="tsd-description">
436
+ <div class="tsd-comment tsd-typography"><p>Strips generated properties, hash key, and range key from an <a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
437
+ </div>
438
+ <section class="tsd-panel">
439
+ <h4>Type Parameters</h4>
440
+ <ul class="tsd-type-parameter-list">
441
+ <li><span id="removekeyset-2"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li></ul></section>
442
+ <div class="tsd-parameters">
443
+ <h4 class="tsd-parameters-title">Parameters</h4>
444
+ <ul class="tsd-parameter-list">
445
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a></span>
446
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> <code>entities</code> key.</p>
447
+ </div></li>
448
+ <li><span><span class="tsd-kind-parameter">items</span>: <a href="../types/index.EntityRecord.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecord</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div>
449
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityItem.html" class="tsd-signature-type tsd-kind-type-alias">EntityItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-2">ET</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><p><a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> with generated properties, hash key &amp; range key removed.</p>
450
+
451
+ <div class="tsd-comment tsd-typography">
452
+ <div class="tsd-tag-throws">
453
+ <h4 class="tsd-anchor-link" id="throws-10">Throws<a href="#throws-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
454
+ <p>Overloads:</p>
455
+ </div></div><aside class="tsd-sources">
456
+ <ul>
457
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L228">EntityManager/EntityManager.ts:228</a></li></ul></aside></div></li>
458
+ <li class="">
459
+ <div class="tsd-signature tsd-anchor-link" id="removekeys-4"><span class="tsd-kind-call-signature">removeKeys</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk-1">K</a> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">entityToken</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">items</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityRecordPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecordPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk-1">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk-1">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><a href="#removekeys-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
460
+ <div class="tsd-description">
461
+ <div class="tsd-comment tsd-typography"><p>Strips generated properties, hash key, and range key from an <a href="../types/index.EntityRecord.html" class="tsd-kind-type-alias"><code>EntityRecord</code></a> object.</p>
462
+ </div>
463
+ <section class="tsd-panel">
464
+ <h4>Type Parameters</h4>
465
+ <ul class="tsd-type-parameter-list">
466
+ <li><span id="removekeyset-3"><span class="tsd-kind-type-parameter">ET</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span></span></li>
467
+ <li><span id="removekeysk-1"><span class="tsd-kind-type-parameter">K</span> = <span class="tsd-signature-type">unknown</span></span></li></ul></section>
468
+ <div class="tsd-parameters">
469
+ <h4 class="tsd-parameters-title">Parameters</h4>
470
+ <ul class="tsd-parameter-list">
471
+ <li><span><span class="tsd-kind-parameter">entityToken</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a></span>
472
+ <div class="tsd-comment tsd-typography"><p><a href="../types/index.Config.html" class="tsd-kind-type-alias"><code>Config</code></a> <code>entities</code> key.</p>
473
+ </div></li>
474
+ <li><span><span class="tsd-kind-parameter">items</span>: <a href="../types/index.EntityRecordPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityRecordPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk-1">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div>
475
+ <h4 class="tsd-returns-title">Returns <a href="../types/index.EntityItemPartial.html" class="tsd-signature-type tsd-kind-type-alias">EntityItemPartial</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#cc">CC</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeyset-3">ET</a><span class="tsd-signature-symbol">,</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#removekeysk-1">K</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><p><a href="../types/index.EntityItem.html" class="tsd-kind-type-alias"><code>EntityItem</code></a> with generated properties, hash key &amp; range key removed.</p>
476
+
477
+ <div class="tsd-comment tsd-typography">
478
+ <div class="tsd-tag-throws">
479
+ <h4 class="tsd-anchor-link" id="throws-11">Throws<a href="#throws-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>Error</code> if <code>entityToken</code> is invalid.</p>
480
+ <p>Overloads:</p>
481
+ </div></div><aside class="tsd-sources">
482
+ <ul>
483
+ <li>Defined in <a href="https://github.com/karmaniverous/entity-manager/blob/d2ff954ea0261727cdbac42b98076fc3e0181656/src/EntityManager/EntityManager.ts#L232">EntityManager/EntityManager.ts:232</a></li></ul></aside></div></li></ul></section></section></details></div>
484
+ <div class="col-sidebar">
485
+ <div class="page-menu">
486
+ <div class="tsd-navigation settings">
487
+ <details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
488
+ <h3>Settings</h3></summary>
489
+ <div class="tsd-accordion-details">
490
+ <div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
491
+ <ul id="tsd-filter-options">
492
+ <li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li></ul></div>
493
+ <div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
494
+ <details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
495
+ <h3>On This Page</h3></summary>
496
+ <div class="tsd-accordion-details">
497
+ <details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary>
498
+ <div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details>
499
+ <details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary>
500
+ <div><a href="#logger"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>logger</span></a></div></details>
501
+ <details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Accessors</summary>
502
+ <div><a href="#config"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>config</span></a></div></details>
503
+ <details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary>
504
+ <div><a href="#addkeys"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>add<wbr/>Keys</span></a><a href="#encodegeneratedproperty"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>encode<wbr/>Generated<wbr/>Property</span></a><a href="#findindextoken"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>find<wbr/>Index<wbr/>Token</span></a><a href="#getprimarykey"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Primary<wbr/>Key</span></a><a href="#query" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>query</span></a><a href="#removekeys"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>remove<wbr/>Keys</span></a></div></details></div></details></div>
505
+ <div class="site-menu">
506
+ <nav class="tsd-navigation"><a href="../modules.html">@karmaniverous/entity-manager</a>
507
+ <ul class="tsd-small-nested-navigation" id="tsd-nav-container">
508
+ <li>Loading...</li></ul></nav></div></div></div><footer>
509
+ <p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
510
+ <div class="overlay"></div></body></html>