@spine-event-engine/storage 2.0.0-snapshot.26 → 2.0.0-snapshot.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -8
- package/REFERENCE.md +22 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/entity-commit.d.ts +1 -1
- package/dist/internal/storage-preparation.d.ts +4 -0
- package/dist/internal/storage-preparation.d.ts.map +1 -1
- package/dist/internal/storage-preparation.js +18 -1
- package/dist/internal/storage-preparation.js.map +1 -1
- package/dist/memory/in-memory-storage-backend.js +2 -1
- package/dist/memory/in-memory-storage-backend.js.map +1 -1
- package/dist/memory/in-memory-storage-factory.d.ts +11 -0
- package/dist/memory/in-memory-storage-factory.d.ts.map +1 -1
- package/dist/memory/in-memory-storage-factory.js +14 -0
- package/dist/memory/in-memory-storage-factory.js.map +1 -1
- package/dist/query/query-execution.d.ts +9 -0
- package/dist/query/query-execution.d.ts.map +1 -1
- package/dist/query/query-execution.js +85 -3
- package/dist/query/query-execution.js.map +1 -1
- package/dist/record/column-mapping.d.ts +8 -1
- package/dist/record/column-mapping.d.ts.map +1 -1
- package/dist/record/column-mapping.js +5 -0
- package/dist/record/column-mapping.js.map +1 -1
- package/dist/record/column-type.d.ts +50 -4
- package/dist/record/column-type.d.ts.map +1 -1
- package/dist/record/column-type.js +41 -0
- package/dist/record/column-type.js.map +1 -1
- package/dist/record/record-column.d.ts +6 -1
- package/dist/record/record-column.d.ts.map +1 -1
- package/dist/record/record-column.js +17 -1
- package/dist/record/record-column.js.map +1 -1
- package/dist/record/record-index.d.ts +14 -0
- package/dist/record/record-index.d.ts.map +1 -0
- package/dist/record/record-index.js +15 -0
- package/dist/record/record-index.js.map +1 -0
- package/dist/record/record-spec.d.ts +17 -1
- package/dist/record/record-spec.d.ts.map +1 -1
- package/dist/record/record-spec.js +66 -1
- package/dist/record/record-spec.js.map +1 -1
- package/dist/storage/storage-factory.d.ts +24 -1
- package/dist/storage/storage-factory.d.ts.map +1 -1
- package/dist/storage/storage-factory.js +22 -1
- package/dist/storage/storage-factory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -35,18 +35,43 @@ import { create } from "@bufbuild/protobuf";
|
|
|
35
35
|
import { StringValueSchema } from "@bufbuild/protobuf/wkt";
|
|
36
36
|
import { InMemoryStorageFactory, RecordSpec } from "@spine-event-engine/storage";
|
|
37
37
|
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
);
|
|
38
|
+
const factory = new InMemoryStorageFactory();
|
|
39
|
+
const context = { name: "Users", multitenant: false } as const;
|
|
40
|
+
const spec = new RecordSpec({
|
|
41
|
+
recordType: StringValueSchema,
|
|
42
|
+
idKind: "string",
|
|
43
|
+
extractId: (user) => user.value,
|
|
44
|
+
});
|
|
45
|
+
const records = factory.createRecordStorage(context, spec);
|
|
46
46
|
await records.write(create(StringValueSchema, { value: "ava" }));
|
|
47
47
|
console.log((await records.read("ava"))?.value);
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
Record handles prepare their physical family on access by default. When an
|
|
51
|
+
application has already prepared a family, pass
|
|
52
|
+
`{ prepareOnAccess: false }` as the fourth `createRecordStorage` argument. With
|
|
53
|
+
the context and spec above, omit the group by passing `undefined`:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { StringValueSchema } from "@bufbuild/protobuf/wkt";
|
|
57
|
+
import { InMemoryStorageFactory, RecordSpec } from "@spine-event-engine/storage";
|
|
58
|
+
|
|
59
|
+
const factory = new InMemoryStorageFactory();
|
|
60
|
+
const context = { name: "Users", multitenant: false } as const;
|
|
61
|
+
const spec = new RecordSpec({
|
|
62
|
+
recordType: StringValueSchema,
|
|
63
|
+
idKind: "string",
|
|
64
|
+
extractId: (user) => user.value,
|
|
65
|
+
});
|
|
66
|
+
const unpreparedRecords = factory.createRecordStorage(context, spec, undefined, {
|
|
67
|
+
prepareOnAccess: false,
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This setting applies only to that handle. The provider's explicit
|
|
72
|
+
`StoragePreparations` create/check operations remain available; a skipped
|
|
73
|
+
handle reports missing physical structures through ordinary data errors.
|
|
74
|
+
|
|
50
75
|
For detailed query, lifecycle, and adapter notes, see
|
|
51
76
|
[REFERENCE documentation for agents](REFERENCE.md).
|
|
52
77
|
|
|
@@ -123,6 +148,14 @@ const users = await records.query({
|
|
|
123
148
|
});
|
|
124
149
|
```
|
|
125
150
|
|
|
151
|
+
`RecordSpec.indexes` can require ordered, non-unique physical lookup indexes;
|
|
152
|
+
`id` names the storage slot ID in an index. Use
|
|
153
|
+
`ColumnTypes.fixedBytes(width)` when a byte column has an exact persisted and
|
|
154
|
+
query width. Explicit or automatic preparation of indexed specifications
|
|
155
|
+
requires a provider that attests physical index checks. A handle with
|
|
156
|
+
`prepareOnAccess: false` skips preparation, while provider-local declaration
|
|
157
|
+
validation still applies.
|
|
158
|
+
|
|
126
159
|
`InMemoryStorageFactory` creates a fresh backend by default. Pass the same
|
|
127
160
|
`InMemoryStorageBackend` to separate factories only when they intentionally
|
|
128
161
|
need to share rows. Query named columns, sort them, and limit the result; the
|
package/REFERENCE.md
CHANGED
|
@@ -5,7 +5,8 @@ This reference is for coding agents working with the Spine TS storage contract.
|
|
|
5
5
|
## Public entry point
|
|
6
6
|
|
|
7
7
|
Import public types from `@spine-event-engine/storage`. The entry point exports
|
|
8
|
-
`StorageFactory`, `RecordStorage`, `
|
|
8
|
+
`StorageFactory`, `RecordStorage`, `RecordStorageOptions`, `RecordSpec`, `RecordSpecOptions`,
|
|
9
|
+
`RecordColumn`, `RecordIndex`, `RecordQuery`,
|
|
9
10
|
`StorageGroup`, `ColumnTypes`, `ColumnMappings`, the exported
|
|
10
11
|
column-mapping contracts, `InMemoryStorageFactory`,
|
|
11
12
|
`InMemoryStorageBackend`, event-store types, normalized query policy/evaluator
|
|
@@ -121,7 +122,7 @@ retained private handles.
|
|
|
121
122
|
|
|
122
123
|
## Record storage
|
|
123
124
|
|
|
124
|
-
`StorageFactory.createRecordStorage(context, spec, group?)` returns an
|
|
125
|
+
`StorageFactory.createRecordStorage(context, spec, group?, options?)` returns an
|
|
125
126
|
independently closeable `RecordStorage`. A single-tenant context forbids a
|
|
126
127
|
tenant ID. A multitenant context requires a complete generated `TenantId`.
|
|
127
128
|
The Bounded Context name is diagnostic only. A `RecordSpec` fixes the
|
|
@@ -129,11 +130,30 @@ source type, stored record type, identity extractor, ID schema or primitive ID
|
|
|
129
130
|
kind, and materialized columns. `sourceType` defaults to `recordType`; Entity
|
|
130
131
|
record specifications use the entity state type as their source type.
|
|
131
132
|
`RecordSpecOptions` is the public constructor-input contract for those fields.
|
|
133
|
+
Its optional `indexes` declare immutable, non-unique ascending lookup indexes
|
|
134
|
+
over ordered materialized columns; `id` selects the storage slot ID. Explicit
|
|
135
|
+
or automatic preparation of indexed specifications requires a provider that
|
|
136
|
+
attests physical index checks. A handle with `prepareOnAccess: false` skips
|
|
137
|
+
that preparation path; provider-local declaration validation still applies.
|
|
138
|
+
`ColumnTypes.fixedBytes(width)` declares an exact-width byte column, validated
|
|
139
|
+
on stored and queried values. The common query evaluator compares its bytes
|
|
140
|
+
in unsigned order.
|
|
132
141
|
For generated application records, Proto `(column)` declarations determine the
|
|
133
142
|
materialized fields. A field without that declaration remains only in the
|
|
134
143
|
authoritative serialized record; providers do not infer columns from every
|
|
135
144
|
field in the message.
|
|
136
145
|
|
|
146
|
+
`RecordStorageOptions.prepareOnAccess` is optional and defaults to `true`.
|
|
147
|
+
Pass `{ prepareOnAccess: false }` as the fourth argument when an application
|
|
148
|
+
has already prepared the physical family and wants data access without schema
|
|
149
|
+
creation or compatibility probes. The choice is fixed per handle, so another
|
|
150
|
+
handle on the same factory can still prepare the same family. Data operations
|
|
151
|
+
still use the provider connection and report missing structures normally.
|
|
152
|
+
Custom factories must implement the protected `onCreateUnprepared` hook to
|
|
153
|
+
support this choice; otherwise they reject it. The provider-only
|
|
154
|
+
`StoragePreparations` create/check operations remain available regardless of
|
|
155
|
+
the handle setting. Business storage retains its existing preparation path.
|
|
156
|
+
|
|
137
157
|
`StorageGroup` is an optional external physical-family identity. It is not part
|
|
138
158
|
of `RecordSpec`: use it only when records with an otherwise compatible layout
|
|
139
159
|
must remain distinct. The in-memory provider keys physical identity by backend,
|
package/dist/index.d.ts
CHANGED
|
@@ -13,9 +13,10 @@ export { ColumnMappings, type ColumnMapping, type ColumnTypeMapping, } from "./r
|
|
|
13
13
|
export type { RecordContinuation, RecordContinuationValue, RecordFilter, RecordOrder, } from "./record/record-query.js";
|
|
14
14
|
export { RecordQuery } from "./record/record-query.js";
|
|
15
15
|
export { RecordSpec, type RecordSpecOptions } from "./record/record-spec.js";
|
|
16
|
+
export type { RecordIndex } from "./record/record-index.js";
|
|
16
17
|
export { RecordStorage } from "./record/record-storage.js";
|
|
17
18
|
export { StorageGroup } from "./record/storage-group.js";
|
|
18
19
|
export type { RecordEntry } from "./record/record-storage.js";
|
|
19
20
|
export type { Storage, StorageContext, StorageMode } from "./storage/storage.js";
|
|
20
|
-
export { StorageFactory } from "./storage/storage-factory.js";
|
|
21
|
+
export { StorageFactory, type RecordStorageOptions } from "./storage/storage-factory.js";
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClG,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClG,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAgD,MAAM,wBAAwB,CAAC;AAKlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAyB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAA0B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAgD,MAAM,wBAAwB,CAAC;AAKlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAyB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAA0B,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAA6B,MAAM,8BAA8B,CAAC"}
|
|
@@ -99,7 +99,7 @@ export declare const EntityCommitSnapshots: Readonly<{
|
|
|
99
99
|
/**
|
|
100
100
|
* A provider handle for one bounded Entity scope.
|
|
101
101
|
*
|
|
102
|
-
* An ordinary `commit()` may retain a completed prefix when a later record fails.
|
|
102
|
+
* An ordinary `commit()` may retain a completed prefix when a later record fails. Retrying
|
|
103
103
|
* the same captured input reuses versions and Event IDs. An Event's presence
|
|
104
104
|
* alone does not establish that current state was saved.
|
|
105
105
|
* `commitAgent()` conditionally commits the complete live Agent transition atomically.
|
|
@@ -20,6 +20,10 @@ export type EntityStoragePreparationInput<I, S extends Message> = Omit<EntitySto
|
|
|
20
20
|
* Provider-only operations that establish physical storage requirements.
|
|
21
21
|
*/
|
|
22
22
|
export interface StoragePreparation {
|
|
23
|
+
/**
|
|
24
|
+
* Attests that record preparation verifies declared physical indexes.
|
|
25
|
+
*/
|
|
26
|
+
readonly supportsRecordIndexes?: boolean;
|
|
23
27
|
/**
|
|
24
28
|
* Prepares one ordinary record family.
|
|
25
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-preparation.d.ts","sourceRoot":"","sources":["../../src/internal/storage-preparation.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,IAAI,IAAI,CACpE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,qBAAqB,GAAG,qBAAqB,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAChC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAChC,KAAK,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,mBAAmB,CAAC,CAAC,EACnB,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAClC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACrC,KAAK,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAID;;GAEG;AACH,UAAU,wBAAwB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEzE;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"storage-preparation.d.ts","sourceRoot":"","sources":["../../src/internal/storage-preparation.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,IAAI,IAAI,CACpE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,qBAAqB,GAAG,qBAAqB,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEzC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAChC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAChC,KAAK,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,mBAAmB,CAAC,CAAC,EACnB,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAClC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACrC,KAAK,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAID;;GAEG;AACH,UAAU,wBAAwB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEzE;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,wBAiDhC,CAAC"}
|
|
@@ -23,7 +23,24 @@ export const StoragePreparations = Object.freeze({
|
|
|
23
23
|
* @param preparation Its preparation implementation.
|
|
24
24
|
*/
|
|
25
25
|
register(factory, preparation) {
|
|
26
|
-
|
|
26
|
+
const supportsRecordIndexes = preparation.supportsRecordIndexes === true;
|
|
27
|
+
preparations.set(factory, Object.freeze({
|
|
28
|
+
supportsRecordIndexes,
|
|
29
|
+
/**
|
|
30
|
+
* Rejects indexed record requirements without provider attestation.
|
|
31
|
+
*
|
|
32
|
+
* @typeParam I Record identifier type.
|
|
33
|
+
* @typeParam R Stored Protobuf record type.
|
|
34
|
+
*/
|
|
35
|
+
prepareRecord(context, spec, group, mode) {
|
|
36
|
+
if (spec.indexes.length > 0 && !supportsRecordIndexes)
|
|
37
|
+
return Promise.reject(new Error("Storage provider does not support record indexes."));
|
|
38
|
+
return preparation.prepareRecord(context, spec, group, mode);
|
|
39
|
+
},
|
|
40
|
+
prepareEntity: preparation.prepareEntity.bind(preparation),
|
|
41
|
+
prepareAgentHistory: preparation.prepareAgentHistory.bind(preparation),
|
|
42
|
+
prepareAgentCommit: preparation.prepareAgentCommit.bind(preparation),
|
|
43
|
+
}));
|
|
27
44
|
},
|
|
28
45
|
/**
|
|
29
46
|
* Finds a registered preparation port, rejecting unsupported providers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-preparation.js","sourceRoot":"","sources":["../../src/internal/storage-preparation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"storage-preparation.js","sourceRoot":"","sources":["../../src/internal/storage-preparation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+FH,MAAM,YAAY,GAAG,IAAI,OAAO,EAAsC,CAAC;AAuBvE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAuB,EAAE,WAA+B;QAC/D,MAAM,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,KAAK,IAAI,CAAC;QACzE,YAAY,CAAC,GAAG,CACd,OAAO,EACP,MAAM,CAAC,MAAM,CAAC;YACZ,qBAAqB;YAErB;;;;;eAKG;YACH,aAAa,CACX,OAAuB,EACvB,IAAsB,EACtB,KAA+B,EAC/B,IAA4B;gBAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,qBAAqB;oBACnD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;gBACxF,OAAO,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC1D,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;YACtE,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;SACrE,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAuB;QACzB,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,SAAS;YAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -159,6 +159,7 @@ const MemoryDefinitions = {
|
|
|
159
159
|
spec.recordType.typeName,
|
|
160
160
|
typeof id === "string" ? ["primitive", id] : ["message", id.typeName],
|
|
161
161
|
this.columns(spec.columns),
|
|
162
|
+
spec.indexes.map(({ name, columns }) => [name, columns]),
|
|
162
163
|
]);
|
|
163
164
|
},
|
|
164
165
|
/**
|
|
@@ -177,7 +178,7 @@ const MemoryDefinitions = {
|
|
|
177
178
|
type: [
|
|
178
179
|
type.kind,
|
|
179
180
|
type.kind === "scalar"
|
|
180
|
-
? [type.scalar, type.longAsString]
|
|
181
|
+
? [type.scalar, type.longAsString, type.byteLength ?? null]
|
|
181
182
|
: type.kind === "enum"
|
|
182
183
|
? type.enum.typeName
|
|
183
184
|
: type.message.typeName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-storage-backend.js","sourceRoot":"","sources":["../../src/memory/in-memory-storage-backend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"in-memory-storage-backend.js","sourceRoot":"","sources":["../../src/memory/in-memory-storage-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACjC,kBAAkB;IAElB;;OAEG;IACM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,wBAAwB,CAAC;IAEzD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,CACT,OAA+B,EAC/B,SAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,MAAe;QAEf,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CACX,OAA+B,EAC/B,SAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,IAAsB;QAEtB,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAChB,IAAgC,EAChC,KAAiC;QAEjC,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,OAA+B,EAAE,MAAsB;QAClE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,OAA+B,EAAE,MAAsB;QACrE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,OAA+B;QAC5C,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,OAA+B;QAChD,OAAO,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,OAA+B,EAC/B,KAAa,EACb,KAAa;QAEb,OAAO,mBAAmB,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC,CAAC;AACJ,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAuD,CAAC;AAC5F,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA4C,CAAC;AACrF,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAGrC,CAAC;AAEJ;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB;;;;;;;;;;OAUG;IACH,MAAM,CACJ,OAA+B,EAC/B,SAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,IAAsB;QAEtB,IAAI,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS;YACvB,oBAAoB,CAAC,GAAG,CACtB,OAAO,EACP,CAAC,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAC,CAC5D,CAAC;QACJ,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,CAAC;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAClD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAuB,IAAsB;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,QAAQ;YACxB,IAAI,CAAC,UAAU,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAoB,OAAmC;QAC5D,OAAO,IAAI,CAAC,SAAS,CACnB,OAAO;aACJ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE;oBACJ,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,IAAI,KAAK,QAAQ;wBACpB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;wBAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;4BACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;4BACpB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;iBAC5B;aACF,CAAC;QACJ,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;IAElB;;;;;;;;;;OAUG;IACH,IAAI,CACF,OAA+B,EAC/B,SAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,MAAe;QAEf,IAAI,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACnB,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,QAAa,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAA+B,EAAE,MAAsB;QAC3D,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO;QAC1B,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,EAAE,CAAC;YACb,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAA+B,EAAE,MAAsB;QAC9D,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAA+B;QACrC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAA+B;QACzC,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CACR,OAA+B,EAC/B,KAAa,EACb,KAAa;QAEb,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;CACF,CAAC"}
|
|
@@ -137,6 +137,17 @@ export declare class InMemoryStorageFactory extends StorageFactory implements Te
|
|
|
137
137
|
* @returns The created record storage.
|
|
138
138
|
*/
|
|
139
139
|
protected onCreateRecordStorage<I, R extends Message>(context: StorageContext, recordSpec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
140
|
+
/**
|
|
141
|
+
* Opens a memory handle without declaring or checking its family.
|
|
142
|
+
*
|
|
143
|
+
* @param context Complete storage context.
|
|
144
|
+
* @param recordSpec Record layout and source type.
|
|
145
|
+
* @param group Optional physical record family.
|
|
146
|
+
* @returns Independently closeable memory records.
|
|
147
|
+
* @typeParam I Typed record identifier.
|
|
148
|
+
* @typeParam R Stored Protobuf message.
|
|
149
|
+
*/
|
|
150
|
+
protected onCreateUnprepared<I, R extends Message>(context: StorageContext, recordSpec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
140
151
|
/**
|
|
141
152
|
* Binds the tenant and record family to the shared memory backend.
|
|
142
153
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-storage-factory.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-storage-factory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAEL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEpG,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGhG;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAe,YAAW,qBAAqB;;IAWzF;;;;OAIG;gBACS,OAAO,GAAE,sBAAqD;
|
|
1
|
+
{"version":3,"file":"in-memory-storage-factory.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-storage-factory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAEL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEpG,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGhG;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAe,YAAW,qBAAqB;;IAWzF;;;;OAIG;gBACS,OAAO,GAAE,sBAAqD;IAoB1E;;;;OAIG;IACM,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA0BrB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;OAIG;IACH,aAAa,IAAI,aAAa;IAI9B;;;;OAIG;IACM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;;;OAKG;YACW,KAAK;IAanB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA6B5C;;;;;;;OAOG;IACH,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACtD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,mBAAmB;IActB;;;;;;OAMG;IACH,SAAS,CAAC,yBAAyB,CAAC,EAAE,EACpC,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC,GAClC,mBAAmB,CAAC,EAAE,CAAC;IAM1B;;;;;;;;;OASG;IACH,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAClD,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,KAAK,CAAC,EAAE,YAAY,GACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAOtB;;;;;;;;;OASG;cACgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACxD,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,KAAK,CAAC,EAAE,YAAY,GACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAMtB;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;CAkBtB"}
|
|
@@ -52,6 +52,7 @@ export class InMemoryStorageFactory extends StorageFactory {
|
|
|
52
52
|
createEntityCommitStorage: (input) => this.createEntityCommitStorage(input),
|
|
53
53
|
});
|
|
54
54
|
StoragePreparations.register(this, {
|
|
55
|
+
supportsRecordIndexes: true,
|
|
55
56
|
prepareRecord: (context, spec, group) => this.prepareRecord(context, spec, group),
|
|
56
57
|
prepareEntity: (input) => this.prepareEntity(input),
|
|
57
58
|
prepareAgentHistory: (input) => this.prepareAgentHistory(input),
|
|
@@ -307,6 +308,19 @@ export class InMemoryStorageFactory extends StorageFactory {
|
|
|
307
308
|
this.declareRecord(context, recordSpec, group);
|
|
308
309
|
return new InMemoryRecordStorage(context, recordSpec, () => this.tenantRecords(context, recordSpec, group));
|
|
309
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Opens a memory handle without declaring or checking its family.
|
|
313
|
+
*
|
|
314
|
+
* @param context Complete storage context.
|
|
315
|
+
* @param recordSpec Record layout and source type.
|
|
316
|
+
* @param group Optional physical record family.
|
|
317
|
+
* @returns Independently closeable memory records.
|
|
318
|
+
* @typeParam I Typed record identifier.
|
|
319
|
+
* @typeParam R Stored Protobuf message.
|
|
320
|
+
*/
|
|
321
|
+
onCreateUnprepared(context, recordSpec, group) {
|
|
322
|
+
return new InMemoryRecordStorage(context, recordSpec, () => this.tenantRecords(context, recordSpec, group));
|
|
323
|
+
}
|
|
310
324
|
/**
|
|
311
325
|
* Binds the tenant and record family to the shared memory backend.
|
|
312
326
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-storage-factory.js","sourceRoot":"","sources":["../../src/memory/in-memory-storage-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"in-memory-storage-factory.js","sourceRoot":"","sources":["../../src/memory/in-memory-storage-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,9 @@ import type { NormalizedQueryPlan } from "./query-policy.js";
|
|
|
5
5
|
export declare const defaultQueryCandidateLimit = 10000;
|
|
6
6
|
/**
|
|
7
7
|
* One materialized storage row accepted by the shared normalized evaluator.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam Id Record identifier type.
|
|
10
|
+
* @typeParam Record Stored record type.
|
|
8
11
|
*/
|
|
9
12
|
export interface NormalizedQueryEntry<Id, Record> {
|
|
10
13
|
/**
|
|
@@ -36,6 +39,12 @@ export declare class QueryCandidateLimitError extends Error {
|
|
|
36
39
|
* Shared complete in-process semantics for one validated normalized query plan.
|
|
37
40
|
*/
|
|
38
41
|
export declare const StorageQueryEvaluator: Readonly<{
|
|
42
|
+
/**
|
|
43
|
+
* Applies one normalized plan to materialized rows.
|
|
44
|
+
*
|
|
45
|
+
* @typeParam Id Record identifier type.
|
|
46
|
+
* @typeParam Record Stored record type.
|
|
47
|
+
*/
|
|
39
48
|
evaluate<Id, Record>(entries: readonly NormalizedQueryEntry<Id, Record>[], plan: NormalizedQueryPlan<Id>): readonly NormalizedQueryEntry<Id, Record>[];
|
|
40
49
|
}>;
|
|
41
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../src/query/query-execution.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../src/query/query-execution.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,EAAE,EAAE,MAAM;IAG9C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAQrC,QAAQ,CAAC,cAAc,EAAE,MAAM;IAL3C;;;;OAIG;gBACkB,cAAc,EAAE,MAAM;CAI5C;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EACpD,IAAI,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAC5B,SAAS,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;CAChD,CAmBC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC;IACxC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CAChD,CAQC,CAAC"}
|
|
@@ -36,6 +36,12 @@ export class QueryCandidateLimitError extends Error {
|
|
|
36
36
|
* Shared complete in-process semantics for one validated normalized query plan.
|
|
37
37
|
*/
|
|
38
38
|
export const StorageQueryEvaluator = Object.freeze({
|
|
39
|
+
/**
|
|
40
|
+
* Applies one normalized plan to materialized rows.
|
|
41
|
+
*
|
|
42
|
+
* @typeParam Id Record identifier type.
|
|
43
|
+
* @typeParam Record Stored record type.
|
|
44
|
+
*/
|
|
39
45
|
evaluate(entries, plan) {
|
|
40
46
|
const predicate = plan.predicate;
|
|
41
47
|
const matching = predicate === undefined
|
|
@@ -65,6 +71,12 @@ const QueryPredicateMatcher = {
|
|
|
65
71
|
// prettier-ignore
|
|
66
72
|
/**
|
|
67
73
|
* Matches a row against one normalized predicate.
|
|
74
|
+
*
|
|
75
|
+
* @param entry Materialized storage row.
|
|
76
|
+
* @param predicate Normalized query predicate.
|
|
77
|
+
* @returns Whether the row matches the predicate.
|
|
78
|
+
* @typeParam Id Record identifier type.
|
|
79
|
+
* @typeParam Record Stored record type.
|
|
68
80
|
*/
|
|
69
81
|
matches(entry, predicate) {
|
|
70
82
|
switch (predicate.kind) {
|
|
@@ -79,7 +91,12 @@ const QueryPredicateMatcher = {
|
|
|
79
91
|
}
|
|
80
92
|
},
|
|
81
93
|
/**
|
|
82
|
-
*
|
|
94
|
+
* Matches one normalized comparison predicate.
|
|
95
|
+
*
|
|
96
|
+
* @param actual Materialized column value.
|
|
97
|
+
* @param expected Required comparison value.
|
|
98
|
+
* @param operator Normalized comparison operator.
|
|
99
|
+
* @returns Whether the comparison matches.
|
|
83
100
|
*/
|
|
84
101
|
comparePredicate(actual, operator, expected) {
|
|
85
102
|
if (operator === "equal")
|
|
@@ -97,6 +114,10 @@ const QueryPredicateMatcher = {
|
|
|
97
114
|
},
|
|
98
115
|
/**
|
|
99
116
|
* Compares values using normalized query equality semantics.
|
|
117
|
+
*
|
|
118
|
+
* @param left Left value in the comparison.
|
|
119
|
+
* @param right Right value in the comparison.
|
|
120
|
+
* @returns Whether the normalized values are equal.
|
|
100
121
|
*/
|
|
101
122
|
equalValues(left, right) {
|
|
102
123
|
if (QueryOrdering.isMissing(left) || QueryOrdering.isMissing(right)) {
|
|
@@ -112,6 +133,13 @@ const QueryOrdering = {
|
|
|
112
133
|
// prettier-ignore
|
|
113
134
|
/**
|
|
114
135
|
* Compares two rows by requested ordering and stable ID tie-breaker.
|
|
136
|
+
*
|
|
137
|
+
* @param left Left value in the comparison.
|
|
138
|
+
* @param plan Validated normalized query plan.
|
|
139
|
+
* @param right Right value in the comparison.
|
|
140
|
+
* @returns Requested row order with an ID tie-breaker.
|
|
141
|
+
* @typeParam Id Record identifier type.
|
|
142
|
+
* @typeParam Record Stored record type.
|
|
115
143
|
*/
|
|
116
144
|
compareEntries(left, right, plan) {
|
|
117
145
|
for (const order of plan.order ?? []) {
|
|
@@ -123,6 +151,10 @@ const QueryOrdering = {
|
|
|
123
151
|
},
|
|
124
152
|
/**
|
|
125
153
|
* Compares values while placing missing values before present values.
|
|
154
|
+
*
|
|
155
|
+
* @param left Left value in the comparison.
|
|
156
|
+
* @param right Right value in the comparison.
|
|
157
|
+
* @returns Order with missing values first.
|
|
126
158
|
*/
|
|
127
159
|
compareWithMissing(left, right) {
|
|
128
160
|
if (QueryOrdering.isMissing(left) || QueryOrdering.isMissing(right)) {
|
|
@@ -134,8 +166,14 @@ const QueryOrdering = {
|
|
|
134
166
|
},
|
|
135
167
|
/**
|
|
136
168
|
* Compares values supported by normalized query ordering.
|
|
169
|
+
*
|
|
170
|
+
* @param left Left value in the comparison.
|
|
171
|
+
* @param right Right value in the comparison.
|
|
172
|
+
* @returns Order of supported normalized values.
|
|
137
173
|
*/
|
|
138
174
|
compareOrdered(left, right) {
|
|
175
|
+
if (left instanceof Uint8Array && right instanceof Uint8Array)
|
|
176
|
+
return QueryOrdering.compareBytes(left, right);
|
|
139
177
|
if (typeof left === "number" && typeof right === "number")
|
|
140
178
|
return QueryOrdering.compareNumber(left, right);
|
|
141
179
|
if (typeof left === "bigint" && typeof right === "bigint") {
|
|
@@ -153,8 +191,29 @@ const QueryOrdering = {
|
|
|
153
191
|
}
|
|
154
192
|
throw new TypeError("Normalized query ordering value has an unsupported type.");
|
|
155
193
|
},
|
|
194
|
+
/**
|
|
195
|
+
* Compares byte arrays by unsigned lexicographic value and then length.
|
|
196
|
+
*
|
|
197
|
+
* @param left Left value in the comparison.
|
|
198
|
+
* @param right Right value in the comparison.
|
|
199
|
+
* @returns Unsigned lexicographic order.
|
|
200
|
+
*/
|
|
201
|
+
compareBytes(left, right) {
|
|
202
|
+
for (let index = 0; index < Math.min(left.length, right.length); index++) {
|
|
203
|
+
const difference = (left[index] ?? 0) - (right[index] ?? 0);
|
|
204
|
+
if (difference !== 0)
|
|
205
|
+
return difference < 0 ? -1 : 1;
|
|
206
|
+
}
|
|
207
|
+
return Math.sign(left.length - right.length);
|
|
208
|
+
},
|
|
156
209
|
/**
|
|
157
210
|
* Compares ordered-message major and minor components.
|
|
211
|
+
*
|
|
212
|
+
* @param leftMajor Major component of the left value.
|
|
213
|
+
* @param leftMinor Minor component of the left value.
|
|
214
|
+
* @param rightMajor Major component of the right value.
|
|
215
|
+
* @param rightMinor Minor component of the right value.
|
|
216
|
+
* @returns Major and minor component order.
|
|
158
217
|
*/
|
|
159
218
|
comparePair(leftMajor, leftMinor, rightMajor, rightMinor) {
|
|
160
219
|
const major = QueryOrdering.compareStable(leftMajor, rightMajor);
|
|
@@ -162,10 +221,16 @@ const QueryOrdering = {
|
|
|
162
221
|
},
|
|
163
222
|
/**
|
|
164
223
|
* Compares values with a deterministic fallback for distinct shapes.
|
|
224
|
+
*
|
|
225
|
+
* @param left Left value in the comparison.
|
|
226
|
+
* @param right Right value in the comparison.
|
|
227
|
+
* @returns Deterministic order of both values.
|
|
165
228
|
*/
|
|
166
229
|
compareStable(left, right) {
|
|
167
230
|
if (QueryOrdering.isMissing(left) || QueryOrdering.isMissing(right))
|
|
168
231
|
return QueryOrdering.compareWithMissing(left, right);
|
|
232
|
+
if (left instanceof Uint8Array && right instanceof Uint8Array)
|
|
233
|
+
return QueryOrdering.compareBytes(left, right);
|
|
169
234
|
if (typeof left === typeof right && ["number", "bigint", "string"].includes(typeof left)) {
|
|
170
235
|
return QueryOrdering.compareOrdered(left, right);
|
|
171
236
|
}
|
|
@@ -173,6 +238,9 @@ const QueryOrdering = {
|
|
|
173
238
|
},
|
|
174
239
|
/**
|
|
175
240
|
* Creates a deterministic value representation for equality and tie-breaking.
|
|
241
|
+
*
|
|
242
|
+
* @param value Value to inspect or clone.
|
|
243
|
+
* @returns Deterministic equality representation.
|
|
176
244
|
*/
|
|
177
245
|
stableKey(value) {
|
|
178
246
|
if (value instanceof Uint8Array)
|
|
@@ -189,7 +257,10 @@ const QueryOrdering = {
|
|
|
189
257
|
.join(",")}}`;
|
|
190
258
|
},
|
|
191
259
|
/**
|
|
192
|
-
*
|
|
260
|
+
* Determines whether a value is an ordered Protobuf timestamp or version.
|
|
261
|
+
*
|
|
262
|
+
* @param value Value to inspect or clone.
|
|
263
|
+
* @returns Whether the value is an ordered Protobuf message.
|
|
193
264
|
*/
|
|
194
265
|
isOrderedMessage(value) {
|
|
195
266
|
return (typeof value === "object" &&
|
|
@@ -199,6 +270,10 @@ const QueryOrdering = {
|
|
|
199
270
|
},
|
|
200
271
|
/**
|
|
201
272
|
* Compares finite numeric values.
|
|
273
|
+
*
|
|
274
|
+
* @param left Left value in the comparison.
|
|
275
|
+
* @param right Right value in the comparison.
|
|
276
|
+
* @returns Numeric order.
|
|
202
277
|
*/
|
|
203
278
|
compareNumber(left, right) {
|
|
204
279
|
if (!Number.isFinite(left) || !Number.isFinite(right)) {
|
|
@@ -208,12 +283,19 @@ const QueryOrdering = {
|
|
|
208
283
|
},
|
|
209
284
|
/**
|
|
210
285
|
* Compares text values in code-unit order.
|
|
286
|
+
*
|
|
287
|
+
* @param left Left value in the comparison.
|
|
288
|
+
* @param right Right value in the comparison.
|
|
289
|
+
* @returns Code-unit text order.
|
|
211
290
|
*/
|
|
212
291
|
compareText(left, right) {
|
|
213
292
|
return left < right ? -1 : left > right ? 1 : 0;
|
|
214
293
|
},
|
|
215
294
|
/**
|
|
216
|
-
*
|
|
295
|
+
* Determines whether a normalized query value is absent.
|
|
296
|
+
*
|
|
297
|
+
* @param value Value to inspect or clone.
|
|
298
|
+
* @returns Whether the value is absent.
|
|
217
299
|
*/
|
|
218
300
|
isMissing(value) {
|
|
219
301
|
return value === undefined || value === null;
|