@procedures/client 0.14.1 → 0.15.0
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/CHANGELOG.md +33 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/http/client/transport.d.ts.map +1 -1
- package/dist/adapters/http/client/transport.js +4 -0
- package/dist/adapters/http/client/transport.js.map +1 -1
- package/dist/adapters/http/server/handler.js +3 -0
- package/dist/adapters/http/server/handler.js.map +1 -1
- package/dist/adapters/local/client/transport.d.ts.map +1 -1
- package/dist/adapters/local/client/transport.js +5 -0
- package/dist/adapters/local/client/transport.js.map +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -0
- package/dist/browser.js.map +1 -1
- package/dist/client/client.js +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/errors/registry.d.ts.map +1 -1
- package/dist/client/errors/registry.js +1 -0
- package/dist/client/errors/registry.js.map +1 -1
- package/dist/client/types.d.ts +6 -1
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +7 -1
- package/dist/client/types.js.map +1 -1
- package/dist/procedures/collection/index.d.ts +3 -1
- package/dist/procedures/collection/index.d.ts.map +1 -1
- package/dist/procedures/collection/index.js +2 -0
- package/dist/procedures/collection/index.js.map +1 -1
- package/dist/procedures/collection/precondition.d.ts +111 -0
- package/dist/procedures/collection/precondition.d.ts.map +1 -0
- package/dist/procedures/collection/precondition.js +153 -0
- package/dist/procedures/collection/precondition.js.map +1 -0
- package/dist/procedures/collection/procedures.d.ts.map +1 -1
- package/dist/procedures/collection/procedures.js +16 -3
- package/dist/procedures/collection/procedures.js.map +1 -1
- package/dist/procedures/collection/query.d.ts +2 -0
- package/dist/procedures/collection/query.d.ts.map +1 -1
- package/dist/procedures/collection/query.js +3 -0
- package/dist/procedures/collection/query.js.map +1 -1
- package/dist/procedures/collection/schemas.d.ts +16 -0
- package/dist/procedures/collection/schemas.d.ts.map +1 -1
- package/dist/procedures/collection/schemas.js +26 -5
- package/dist/procedures/collection/schemas.js.map +1 -1
- package/dist/procedures/collection/storage.d.ts +34 -6
- package/dist/procedures/collection/storage.d.ts.map +1 -1
- package/dist/procedures/collection/storage.js +3 -0
- package/dist/procedures/collection/storage.js.map +1 -1
- package/dist/procedures/index.d.ts +2 -2
- package/dist/procedures/index.d.ts.map +1 -1
- package/dist/procedures/index.js +1 -1
- package/dist/procedures/index.js.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +1 -0
- package/dist/protocol.js.map +1 -1
- package/dist/server/procedure-server.d.ts.map +1 -1
- package/dist/server/procedure-server.js +5 -0
- package/dist/server/procedure-server.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/http/client/transport.ts +3 -0
- package/src/adapters/http/server/handler.ts +3 -0
- package/src/adapters/local/client/transport.ts +4 -0
- package/src/browser.ts +16 -0
- package/src/client/client.ts +1 -1
- package/src/client/errors/registry.ts +1 -0
- package/src/client/types.ts +8 -0
- package/src/procedures/collection/index.ts +17 -0
- package/src/procedures/collection/precondition.ts +180 -0
- package/src/procedures/collection/procedures.ts +17 -4
- package/src/procedures/collection/query.ts +16 -0
- package/src/procedures/collection/schemas.ts +43 -6
- package/src/procedures/collection/storage.ts +36 -6
- package/src/procedures/index.ts +15 -0
- package/src/protocol.ts +3 -1
- package/src/server/procedure-server.ts +4 -0
package/dist/client/types.js
CHANGED
|
@@ -10,11 +10,17 @@
|
|
|
10
10
|
export class ClientError extends Error {
|
|
11
11
|
status;
|
|
12
12
|
responseId;
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The metadata of the error response, for example `reason` of a `FORBIDDEN` error, or
|
|
15
|
+
* `conflicts` of a `VERSION_CONFLICT` error (roadmap CLI-16). Empty when the response has none.
|
|
16
|
+
*/
|
|
17
|
+
metadata;
|
|
18
|
+
constructor(status, responseId, metadata = {}) {
|
|
14
19
|
super(status.message);
|
|
15
20
|
this.status = status;
|
|
16
21
|
this.responseId = responseId;
|
|
17
22
|
this.name = "ClientError";
|
|
23
|
+
this.metadata = metadata;
|
|
18
24
|
}
|
|
19
25
|
get code() {
|
|
20
26
|
return this.status.code;
|
package/dist/client/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+TH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+TH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAQlB,MAAM;IACN,UAAU;IAR5B;;;OAGG;IACa,QAAQ,CAAW;IAEnC,YACkB,MAA0C,EAC1C,UAAkB,EAClC,QAAQ,GAAa,EAAE;QAEvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;sBAJN,MAAM;0BACN,UAAU;QAI1B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -13,7 +13,9 @@ export { PARTITION_PATTERN, collectionTopicPartition, collectionTopicTarget, par
|
|
|
13
13
|
export type { CollectionPartitions, PartitionInput, PartitionResolver } from "./partition.js";
|
|
14
14
|
export { admittedStorage, admitsRow } from "./admission.js";
|
|
15
15
|
export type { CollectionAdmission, CollectionRow, CollectionWrite, CollectionWriteGuard } from "./admission.js";
|
|
16
|
-
export type { CollectionStorage, StorageChanges, StorageMetadata, StorageWriteOptions, StorageSetChange, StorageDeleteChange, StorageClearChange, StorageChangeEvent, StorageChangeBatch, StorageObserver, } from "./storage.js";
|
|
16
|
+
export type { CollectionStorage, StorageChanges, StorageMetadata, StorageWriteOptions, StorageItemWriteOptions, StorageBatchWriteOptions, StorageSetChange, StorageDeleteChange, StorageClearChange, StorageChangeEvent, StorageChangeBatch, StorageObserver, } from "./storage.js";
|
|
17
|
+
export { MAX_EXPECTED_VERSION_LENGTH, PRECONDITION_NOT_SUPPORTED, VERSION_CONFLICTS_METADATA_KEY, VersionConflictError, asVersionConflictError, isExpectedVersion, preconditionNotSupported, versionConflict, versionConflicts, versionConflictsOf, } from "./precondition.js";
|
|
18
|
+
export type { CurrentItem, VersionConflict, VersionOf } from "./precondition.js";
|
|
17
19
|
export { DEFAULT_FIND_LIMIT, DEFAULT_QUERY_OPERATORS, DEFAULT_QUERY_POLICY, QUERY_OPERATORS, applyPatch, compareStorageValues, compileSelector, isPatchOperations, matchesSelector, mergePatch, patchProblems, queryEntries, queryOptionsProblems, selectorProblems, } from "./query.js";
|
|
18
20
|
export type { StorageFieldOperators, StoragePatch, StoragePatchOperations, StorageQueryOperator, StorageQueryOptions, StorageQueryPolicy, StorageSelector, StorageSort, StorageSortDirection, } from "./query.js";
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnJ,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG9F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhH,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnJ,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG9F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhH,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIjF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -13,6 +13,8 @@ export { collectionChangeTopic, collectionTopicReads } from "./changes.js";
|
|
|
13
13
|
export { PARTITION_PATTERN, collectionTopicPartition, collectionTopicTarget, partitionOfCall, storageOfCall, withPartition } from "./partition.js";
|
|
14
14
|
// The rules of the rows of a collection: a filter of the reads and a guard of the writes (roadmap CLI-41)
|
|
15
15
|
export { admittedStorage, admitsRow } from "./admission.js";
|
|
16
|
+
// The precondition of the writes: the expected version and VERSION_CONFLICT (roadmap CLI-16)
|
|
17
|
+
export { MAX_EXPECTED_VERSION_LENGTH, PRECONDITION_NOT_SUPPORTED, VERSION_CONFLICTS_METADATA_KEY, VersionConflictError, asVersionConflictError, isExpectedVersion, preconditionNotSupported, versionConflict, versionConflicts, versionConflictsOf, } from "./precondition.js";
|
|
16
18
|
// The query language of the storages: the same JSON on the wire and in query() (roadmap CLI-34:
|
|
17
19
|
// the one copy of the language)
|
|
18
20
|
export { DEFAULT_FIND_LIMIT, DEFAULT_QUERY_OPERATORS, DEFAULT_QUERY_POLICY, QUERY_OPERATORS, applyPatch, compareStorageValues, compileSelector, isPatchOperations, matchesSelector, mergePatch, patchProblems, queryEntries, queryOptionsProblems, selectorProblems, } from "./query.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAuBtB,aAAa;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,mDAAmD;AACnD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG3E,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGnJ,0GAA0G;AAC1G,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAuBtB,aAAa;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,mDAAmD;AACnD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG3E,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGnJ,0GAA0G;AAC1G,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmB5D,6FAA6F;AAC7F,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,gGAAgG;AAChG,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The precondition of a collection write (roadmap CLI-16, decision D11).
|
|
3
|
+
*
|
|
4
|
+
* - `set` and `delete` take `expectedVersion`. `setBatch` takes `expectedVersions`, with one
|
|
5
|
+
* expected version for each id. The value is the version of the current item that the write
|
|
6
|
+
* expects. `null` expects no item.
|
|
7
|
+
* - The version of an item is the value that the function `versionOf` of the storage gives for
|
|
8
|
+
* the item, for example a revision field. `HybridStorage` reads the same versions with its own
|
|
9
|
+
* `versionOf`, so its queue can send the base version of a write as the expected version.
|
|
10
|
+
* - The storage tests the precondition and writes in one step. When the version of the current
|
|
11
|
+
* item is not the expected version, the write changes nothing, and it rejects with
|
|
12
|
+
* `VersionConflictError`.
|
|
13
|
+
* - The error has the code `VERSION_CONFLICT` (HTTP 409). It has the current item and its version
|
|
14
|
+
* for each conflict. On the wire, the conflicts go in the metadata key `conflicts`.
|
|
15
|
+
* - A storage without `versionOf` cannot test a precondition. It rejects such a write with a
|
|
16
|
+
* `TypeError`, and changes nothing. It never ignores a precondition.
|
|
17
|
+
* - A write without a precondition is the same as before: the last write wins.
|
|
18
|
+
*
|
|
19
|
+
* This module has no imports: `@procedures/client/query` exports it for the storage packages.
|
|
20
|
+
*/
|
|
21
|
+
/** One conflict of a write with a precondition (roadmap CLI-16). The data is JSON. */
|
|
22
|
+
export interface VersionConflict {
|
|
23
|
+
/** The id of the item. */
|
|
24
|
+
readonly id: string;
|
|
25
|
+
/** The version that the write expected. `null`: the write expected no item. */
|
|
26
|
+
readonly expected: string | null;
|
|
27
|
+
/** True when the id has an item now. */
|
|
28
|
+
readonly found: boolean;
|
|
29
|
+
/** The current item, when `found` is true. */
|
|
30
|
+
readonly value?: unknown;
|
|
31
|
+
/**
|
|
32
|
+
* The version of the current item: `null` when the id has no item. When the current item has no
|
|
33
|
+
* version, the field is absent.
|
|
34
|
+
*/
|
|
35
|
+
readonly version?: string | null;
|
|
36
|
+
}
|
|
37
|
+
/** The function that gives the version of an item, or undefined for an item without a version. */
|
|
38
|
+
export type VersionOf<T> = (item: T) => string | undefined;
|
|
39
|
+
/** The current state of an id: no item, or an item. */
|
|
40
|
+
export type CurrentItem<T> = {
|
|
41
|
+
readonly found: false;
|
|
42
|
+
} | {
|
|
43
|
+
readonly found: true;
|
|
44
|
+
readonly value: T;
|
|
45
|
+
};
|
|
46
|
+
/** The metadata key of the conflicts of a `VERSION_CONFLICT` error on the wire. */
|
|
47
|
+
export declare const VERSION_CONFLICTS_METADATA_KEY = "conflicts";
|
|
48
|
+
/** The longest expected version, in characters. */
|
|
49
|
+
export declare const MAX_EXPECTED_VERSION_LENGTH = 1024;
|
|
50
|
+
/**
|
|
51
|
+
* A write with a precondition found an item with another version (roadmap CLI-16). The write
|
|
52
|
+
* changed nothing. `conflicts` has the current item and its version for each id of a conflict.
|
|
53
|
+
*/
|
|
54
|
+
export declare class VersionConflictError extends Error {
|
|
55
|
+
readonly name = "VersionConflictError";
|
|
56
|
+
/** The error code of the protocol: HTTP 409, not retryable. */
|
|
57
|
+
readonly code = "VERSION_CONFLICT";
|
|
58
|
+
/** A retry of the same write fails again: the caller reads the current item first. */
|
|
59
|
+
readonly retryable = false;
|
|
60
|
+
/** The conflicts, one for each id whose current item does not have the expected version. */
|
|
61
|
+
readonly conflicts: readonly VersionConflict[];
|
|
62
|
+
constructor(conflicts: readonly VersionConflict[], message?: string);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* This function gives the conflict of one id, or undefined when the current item has the expected
|
|
66
|
+
* version. `null` expects no item. An item without a version never has an expected string version.
|
|
67
|
+
*
|
|
68
|
+
* @param id - The id of the item
|
|
69
|
+
* @param expected - The expected version, or `null` for no item
|
|
70
|
+
* @param current - The current state of the id
|
|
71
|
+
* @param versionOf - The version of an item
|
|
72
|
+
*/
|
|
73
|
+
export declare function versionConflict<T>(id: string, expected: string | null, current: CurrentItem<T>, versionOf: VersionOf<T>): VersionConflict | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* This function tests the preconditions of a write against the current items, and gives the
|
|
76
|
+
* conflicts. The list is empty when each precondition holds.
|
|
77
|
+
*
|
|
78
|
+
* @param expected - The expected version of each id
|
|
79
|
+
* @param currentOf - The current state of an id, before the write
|
|
80
|
+
* @param versionOf - The version of an item
|
|
81
|
+
*/
|
|
82
|
+
export declare function versionConflicts<T>(expected: Iterable<readonly [string, string | null]>, currentOf: (id: string) => CurrentItem<T>, versionOf: VersionOf<T>): VersionConflict[];
|
|
83
|
+
/** The code of the error of a write with a precondition on a storage that cannot test it. */
|
|
84
|
+
export declare const PRECONDITION_NOT_SUPPORTED = "PRECONDITION_NOT_SUPPORTED";
|
|
85
|
+
/**
|
|
86
|
+
* The error of a write with a precondition on a storage that cannot test it: a storage without
|
|
87
|
+
* `versionOf`. The storage changes nothing. The error is a `TypeError` with the code
|
|
88
|
+
* `PRECONDITION_NOT_SUPPORTED`, so a sync does not take it for a network failure.
|
|
89
|
+
*
|
|
90
|
+
* @param storage - The name of the storage, for the message
|
|
91
|
+
* @param remedy - What makes the test possible
|
|
92
|
+
*/
|
|
93
|
+
export declare function preconditionNotSupported(storage: string, remedy?: string): TypeError & {
|
|
94
|
+
readonly code: string;
|
|
95
|
+
readonly retryable: false;
|
|
96
|
+
};
|
|
97
|
+
/** True for a value that a precondition can expect: a string of at most 1024 characters, or `null`. */
|
|
98
|
+
export declare function isExpectedVersion(value: unknown): value is string | null;
|
|
99
|
+
/**
|
|
100
|
+
* This function gives the conflicts of an error with the code `VERSION_CONFLICT`: the `conflicts`
|
|
101
|
+
* of a `VersionConflictError`, or the metadata key `conflicts` of an error from the wire (a
|
|
102
|
+
* `ClientError`). It gives undefined for another error. A `VERSION_CONFLICT` error without
|
|
103
|
+
* readable conflicts gives an empty list.
|
|
104
|
+
*/
|
|
105
|
+
export declare function versionConflictsOf(error: unknown): readonly VersionConflict[] | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* This function gives a `VersionConflictError` for an error with the code `VERSION_CONFLICT`, with
|
|
108
|
+
* its conflicts and its message. It gives undefined for another error.
|
|
109
|
+
*/
|
|
110
|
+
export declare function asVersionConflictError(error: unknown): VersionConflictError | undefined;
|
|
111
|
+
//# sourceMappingURL=precondition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precondition.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/precondition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,kGAAkG;AAClG,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3D,uDAAuD;AACvD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAErG,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,cAAc,CAAC;AAE1D,mDAAmD;AACnD,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAShD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAkB,IAAI,0BAA0B;IAChD,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,sBAAsB;IACnC,sFAAsF;IACtF,QAAQ,CAAC,SAAS,SAAS;IAC3B,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAE/C,YAAY,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAGlE;CACF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,SAAS,CAKrJ;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EACpD,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EACzC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GACtB,eAAe,EAAE,CAOnB;AAED,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAiC,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;CAAE,CAEnK;AAED,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,GAAG,IAAI,CAExE;AAuBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,GAAG,SAAS,CAOzF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAMvF"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The precondition of a collection write (roadmap CLI-16, decision D11).
|
|
3
|
+
*
|
|
4
|
+
* - `set` and `delete` take `expectedVersion`. `setBatch` takes `expectedVersions`, with one
|
|
5
|
+
* expected version for each id. The value is the version of the current item that the write
|
|
6
|
+
* expects. `null` expects no item.
|
|
7
|
+
* - The version of an item is the value that the function `versionOf` of the storage gives for
|
|
8
|
+
* the item, for example a revision field. `HybridStorage` reads the same versions with its own
|
|
9
|
+
* `versionOf`, so its queue can send the base version of a write as the expected version.
|
|
10
|
+
* - The storage tests the precondition and writes in one step. When the version of the current
|
|
11
|
+
* item is not the expected version, the write changes nothing, and it rejects with
|
|
12
|
+
* `VersionConflictError`.
|
|
13
|
+
* - The error has the code `VERSION_CONFLICT` (HTTP 409). It has the current item and its version
|
|
14
|
+
* for each conflict. On the wire, the conflicts go in the metadata key `conflicts`.
|
|
15
|
+
* - A storage without `versionOf` cannot test a precondition. It rejects such a write with a
|
|
16
|
+
* `TypeError`, and changes nothing. It never ignores a precondition.
|
|
17
|
+
* - A write without a precondition is the same as before: the last write wins.
|
|
18
|
+
*
|
|
19
|
+
* This module has no imports: `@procedures/client/query` exports it for the storage packages.
|
|
20
|
+
*/
|
|
21
|
+
/** The metadata key of the conflicts of a `VERSION_CONFLICT` error on the wire. */
|
|
22
|
+
export const VERSION_CONFLICTS_METADATA_KEY = "conflicts";
|
|
23
|
+
/** The longest expected version, in characters. */
|
|
24
|
+
export const MAX_EXPECTED_VERSION_LENGTH = 1024;
|
|
25
|
+
/** The message of an error with some conflicts. */
|
|
26
|
+
function conflictMessage(conflicts) {
|
|
27
|
+
const ids = conflicts.slice(0, 10).map((conflict) => JSON.stringify(conflict.id)).join(", ");
|
|
28
|
+
const more = conflicts.length > 10 ? ` and ${conflicts.length - 10} more` : "";
|
|
29
|
+
return `The version of the current item is not the expected version: ${ids}${more}`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A write with a precondition found an item with another version (roadmap CLI-16). The write
|
|
33
|
+
* changed nothing. `conflicts` has the current item and its version for each id of a conflict.
|
|
34
|
+
*/
|
|
35
|
+
export class VersionConflictError extends Error {
|
|
36
|
+
name = "VersionConflictError";
|
|
37
|
+
/** The error code of the protocol: HTTP 409, not retryable. */
|
|
38
|
+
code = "VERSION_CONFLICT";
|
|
39
|
+
/** A retry of the same write fails again: the caller reads the current item first. */
|
|
40
|
+
retryable = false;
|
|
41
|
+
/** The conflicts, one for each id whose current item does not have the expected version. */
|
|
42
|
+
conflicts;
|
|
43
|
+
constructor(conflicts, message) {
|
|
44
|
+
super(message ?? conflictMessage(conflicts));
|
|
45
|
+
this.conflicts = conflicts;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* This function gives the conflict of one id, or undefined when the current item has the expected
|
|
50
|
+
* version. `null` expects no item. An item without a version never has an expected string version.
|
|
51
|
+
*
|
|
52
|
+
* @param id - The id of the item
|
|
53
|
+
* @param expected - The expected version, or `null` for no item
|
|
54
|
+
* @param current - The current state of the id
|
|
55
|
+
* @param versionOf - The version of an item
|
|
56
|
+
*/
|
|
57
|
+
export function versionConflict(id, expected, current, versionOf) {
|
|
58
|
+
if (!current.found)
|
|
59
|
+
return expected === null ? undefined : { id, expected, found: false, version: null };
|
|
60
|
+
const version = versionOf(current.value);
|
|
61
|
+
if (expected !== null && version === expected)
|
|
62
|
+
return undefined;
|
|
63
|
+
return version === undefined ? { id, expected, found: true, value: current.value } : { id, expected, found: true, value: current.value, version };
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* This function tests the preconditions of a write against the current items, and gives the
|
|
67
|
+
* conflicts. The list is empty when each precondition holds.
|
|
68
|
+
*
|
|
69
|
+
* @param expected - The expected version of each id
|
|
70
|
+
* @param currentOf - The current state of an id, before the write
|
|
71
|
+
* @param versionOf - The version of an item
|
|
72
|
+
*/
|
|
73
|
+
export function versionConflicts(expected, currentOf, versionOf) {
|
|
74
|
+
const conflicts = [];
|
|
75
|
+
for (const [id, version] of expected) {
|
|
76
|
+
const conflict = versionConflict(id, version, currentOf(id), versionOf);
|
|
77
|
+
if (conflict)
|
|
78
|
+
conflicts.push(conflict);
|
|
79
|
+
}
|
|
80
|
+
return conflicts;
|
|
81
|
+
}
|
|
82
|
+
/** The code of the error of a write with a precondition on a storage that cannot test it. */
|
|
83
|
+
export const PRECONDITION_NOT_SUPPORTED = "PRECONDITION_NOT_SUPPORTED";
|
|
84
|
+
/**
|
|
85
|
+
* The error of a write with a precondition on a storage that cannot test it: a storage without
|
|
86
|
+
* `versionOf`. The storage changes nothing. The error is a `TypeError` with the code
|
|
87
|
+
* `PRECONDITION_NOT_SUPPORTED`, so a sync does not take it for a network failure.
|
|
88
|
+
*
|
|
89
|
+
* @param storage - The name of the storage, for the message
|
|
90
|
+
* @param remedy - What makes the test possible
|
|
91
|
+
*/
|
|
92
|
+
export function preconditionNotSupported(storage, remedy = "give it the option versionOf") {
|
|
93
|
+
return Object.assign(new TypeError(`${storage} cannot test expectedVersion: ${remedy}`), { code: PRECONDITION_NOT_SUPPORTED, retryable: false });
|
|
94
|
+
}
|
|
95
|
+
/** True for a value that a precondition can expect: a string of at most 1024 characters, or `null`. */
|
|
96
|
+
export function isExpectedVersion(value) {
|
|
97
|
+
return value === null || (typeof value === "string" && value.length <= MAX_EXPECTED_VERSION_LENGTH);
|
|
98
|
+
}
|
|
99
|
+
/** The conflicts of untrusted data from the wire, or undefined when the data is not a list of conflicts. */
|
|
100
|
+
function conflictsOfData(data) {
|
|
101
|
+
if (!Array.isArray(data))
|
|
102
|
+
return undefined;
|
|
103
|
+
const conflicts = [];
|
|
104
|
+
for (const entry of data) {
|
|
105
|
+
if (typeof entry !== "object" || entry === null)
|
|
106
|
+
return undefined;
|
|
107
|
+
const record = entry;
|
|
108
|
+
const { id, expected, found, version } = record;
|
|
109
|
+
if (typeof id !== "string" || typeof found !== "boolean" || !(expected === null || typeof expected === "string"))
|
|
110
|
+
return undefined;
|
|
111
|
+
if (!(version === undefined || version === null || typeof version === "string"))
|
|
112
|
+
return undefined;
|
|
113
|
+
conflicts.push({
|
|
114
|
+
id,
|
|
115
|
+
expected,
|
|
116
|
+
found,
|
|
117
|
+
...(found && Object.prototype.hasOwnProperty.call(record, "value") && { value: record["value"] }),
|
|
118
|
+
...(version !== undefined && { version }),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return conflicts;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* This function gives the conflicts of an error with the code `VERSION_CONFLICT`: the `conflicts`
|
|
125
|
+
* of a `VersionConflictError`, or the metadata key `conflicts` of an error from the wire (a
|
|
126
|
+
* `ClientError`). It gives undefined for another error. A `VERSION_CONFLICT` error without
|
|
127
|
+
* readable conflicts gives an empty list.
|
|
128
|
+
*/
|
|
129
|
+
export function versionConflictsOf(error) {
|
|
130
|
+
if (typeof error !== "object" || error === null)
|
|
131
|
+
return undefined;
|
|
132
|
+
if (error instanceof VersionConflictError)
|
|
133
|
+
return error.conflicts;
|
|
134
|
+
const { code, conflicts, metadata } = error;
|
|
135
|
+
if (code !== "VERSION_CONFLICT")
|
|
136
|
+
return undefined;
|
|
137
|
+
const fromMetadata = typeof metadata === "object" && metadata !== null ? metadata[VERSION_CONFLICTS_METADATA_KEY] : undefined;
|
|
138
|
+
return conflictsOfData(conflicts) ?? conflictsOfData(fromMetadata) ?? [];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* This function gives a `VersionConflictError` for an error with the code `VERSION_CONFLICT`, with
|
|
142
|
+
* its conflicts and its message. It gives undefined for another error.
|
|
143
|
+
*/
|
|
144
|
+
export function asVersionConflictError(error) {
|
|
145
|
+
if (error instanceof VersionConflictError)
|
|
146
|
+
return error;
|
|
147
|
+
const conflicts = versionConflictsOf(error);
|
|
148
|
+
if (conflicts === undefined)
|
|
149
|
+
return undefined;
|
|
150
|
+
const message = error instanceof Error ? error.message : undefined;
|
|
151
|
+
return new VersionConflictError(conflicts, message);
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=precondition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precondition.js","sourceRoot":"","sources":["../../../src/procedures/collection/precondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkDlE,OAAO,EAA8D,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIjH,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA6BtF,sFAAsF;AACtF,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACvH;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,6BAA6B,GAAG,SAAS,CAAC;IACnE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC7C;
|
|
1
|
+
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkDlE,OAAO,EAA8D,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIjH,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA6BtF,sFAAsF;AACtF,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACvH;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,6BAA6B,GAAG,SAAS,CAAC;IACnE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC7C;AAwBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC,GAAG,YAAY,EAAE,CA4T5H"}
|
|
@@ -38,6 +38,19 @@ function queryOptionsOf(input, policy) {
|
|
|
38
38
|
function writeOptionsOf(input) {
|
|
39
39
|
return input.origin === undefined ? undefined : { origin: input.origin };
|
|
40
40
|
}
|
|
41
|
+
/** The write options of `set` and `delete`: the origin, and the expected version (roadmap CLI-16). */
|
|
42
|
+
function itemWriteOptionsOf(input) {
|
|
43
|
+
if (input.expectedVersion === undefined)
|
|
44
|
+
return writeOptionsOf(input);
|
|
45
|
+
return { ...writeOptionsOf(input), expectedVersion: input.expectedVersion };
|
|
46
|
+
}
|
|
47
|
+
/** The write options of `setBatch`: the origin, and the expected version of each item that has one (roadmap CLI-16). */
|
|
48
|
+
function batchWriteOptionsOf(input) {
|
|
49
|
+
const expectedVersions = input.items.flatMap((item) => (item.expectedVersion === undefined ? [] : [[item.id, item.expectedVersion]]));
|
|
50
|
+
if (expectedVersions.length === 0)
|
|
51
|
+
return writeOptionsOf(input);
|
|
52
|
+
return { ...writeOptionsOf(input), expectedVersions };
|
|
53
|
+
}
|
|
41
54
|
// =============================================================================
|
|
42
55
|
// Collection Procedure Definitions
|
|
43
56
|
// =============================================================================
|
|
@@ -112,7 +125,7 @@ export function createCollectionProcedures(collectionName, options = {}) {
|
|
|
112
125
|
},
|
|
113
126
|
handler: async (input, ctx) => {
|
|
114
127
|
const { storage, view, partition } = await storageOf(input, ctx);
|
|
115
|
-
await changing(ctx, partition, storage, [input.id], input.origin, () => view.set(input.id, input.value,
|
|
128
|
+
await changing(ctx, partition, storage, [input.id], input.origin, () => view.set(input.id, input.value, itemWriteOptionsOf(input)));
|
|
116
129
|
},
|
|
117
130
|
}),
|
|
118
131
|
// Delete
|
|
@@ -127,7 +140,7 @@ export function createCollectionProcedures(collectionName, options = {}) {
|
|
|
127
140
|
},
|
|
128
141
|
handler: async (input, ctx) => {
|
|
129
142
|
const { storage, view, partition } = await storageOf(input, ctx);
|
|
130
|
-
return changing(ctx, partition, storage, [input.id], input.origin, () => view.delete(input.id,
|
|
143
|
+
return changing(ctx, partition, storage, [input.id], input.origin, () => view.delete(input.id, itemWriteOptionsOf(input)));
|
|
131
144
|
},
|
|
132
145
|
}),
|
|
133
146
|
// Has
|
|
@@ -340,7 +353,7 @@ export function createCollectionProcedures(collectionName, options = {}) {
|
|
|
340
353
|
item.id,
|
|
341
354
|
item.value,
|
|
342
355
|
]);
|
|
343
|
-
await changing(ctx, partition, storage, items.map(([id]) => id), input.origin, () => view.setBatch(items,
|
|
356
|
+
await changing(ctx, partition, storage, items.map(([id]) => id), input.origin, () => view.setBatch(items, batchWriteOptionsOf(input)));
|
|
344
357
|
},
|
|
345
358
|
}),
|
|
346
359
|
// DeleteBatch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
* - A query policy limits the operators, the size and the depth of a selector, the lists, the
|
|
31
31
|
* regular expressions and the limit. The default policy does not permit `$regex`.
|
|
32
32
|
*/
|
|
33
|
+
export { MAX_EXPECTED_VERSION_LENGTH, PRECONDITION_NOT_SUPPORTED, VERSION_CONFLICTS_METADATA_KEY, VersionConflictError, asVersionConflictError, isExpectedVersion, preconditionNotSupported, versionConflict, versionConflicts, versionConflictsOf, } from "./precondition.js";
|
|
34
|
+
export type { CurrentItem, VersionConflict, VersionOf } from "./precondition.js";
|
|
33
35
|
/**
|
|
34
36
|
* A selector of a query. Each key is a field path with a condition, or one of the operators
|
|
35
37
|
* `$and`, `$or` and `$nor`. An empty selector matches each item.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
* - A query policy limits the operators, the size and the depth of a selector, the lists, the
|
|
31
31
|
* regular expressions and the limit. The default policy does not permit `$regex`.
|
|
32
32
|
*/
|
|
33
|
+
// The precondition of the collection writes is a part of the wire contract too (roadmap CLI-16).
|
|
34
|
+
// This entry gives it to the storage packages: the module has no imports.
|
|
35
|
+
export { MAX_EXPECTED_VERSION_LENGTH, PRECONDITION_NOT_SUPPORTED, VERSION_CONFLICTS_METADATA_KEY, VersionConflictError, asVersionConflictError, isExpectedVersion, preconditionNotSupported, versionConflict, versionConflicts, versionConflictsOf, } from "./precondition.js";
|
|
33
36
|
/** Each operator of the query language. A policy with these operators permits `$regex`. */
|
|
34
37
|
export const QUERY_OPERATORS = Object.freeze([
|
|
35
38
|
"$eq",
|