@interop/was-client 0.100.1 → 0.102.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/README.md +44 -11
- package/dist/Collection.d.ts +21 -5
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +38 -31
- package/dist/Collection.js.map +1 -1
- package/dist/Space.d.ts +94 -22
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +162 -79
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts +5 -5
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +7 -8
- package/dist/WasClient.js.map +1 -1
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +7 -4
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/docCipher.js +2 -2
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts +6 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.js +68 -43
- package/dist/edv/logGovernedDescriptorStore.js.map +1 -1
- package/dist/internal/codec.d.ts +11 -1
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +11 -1
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/describe.d.ts +6 -0
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +18 -1
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/grant.js +1 -1
- package/dist/internal/grant.js.map +1 -1
- package/dist/internal/indexSchema.d.ts +19 -4
- package/dist/internal/indexSchema.d.ts.map +1 -1
- package/dist/internal/indexSchema.js +33 -6
- package/dist/internal/indexSchema.js.map +1 -1
- package/dist/internal/pagination.d.ts.map +1 -1
- package/dist/internal/pagination.js +2 -2
- package/dist/internal/pagination.js.map +1 -1
- package/dist/internal/paths.d.ts +21 -8
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +36 -13
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/request.d.ts +47 -14
- package/dist/internal/request.d.ts.map +1 -1
- package/dist/internal/request.js +64 -44
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/revoke.d.ts +1 -65
- package/dist/internal/revoke.d.ts.map +1 -1
- package/dist/internal/revoke.js +5 -136
- package/dist/internal/revoke.js.map +1 -1
- package/dist/internal/rootCapability.d.ts +66 -0
- package/dist/internal/rootCapability.d.ts.map +1 -0
- package/dist/internal/rootCapability.js +144 -0
- package/dist/internal/rootCapability.js.map +1 -0
- package/dist/internal/withCodec.d.ts +19 -4
- package/dist/internal/withCodec.d.ts.map +1 -1
- package/dist/internal/withCodec.js +18 -2
- package/dist/internal/withCodec.js.map +1 -1
- package/dist/internal/write.js +13 -9
- package/dist/internal/write.js.map +1 -1
- package/dist/paths.d.ts +5 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +5 -3
- package/dist/paths.js.map +1 -1
- package/package.json +3 -3
|
@@ -72,18 +72,23 @@ export function toEpochConfigurationState(descriptor) {
|
|
|
72
72
|
* pin for this log
|
|
73
73
|
* @param options.logId {string} the pin-slot key for this log, from
|
|
74
74
|
* `resourceLogPinId`
|
|
75
|
+
* @param [options.previous] {VerifiedResourceLog} the caller's own earlier
|
|
76
|
+
* `verified` from this helper: when the served log extends it and the view
|
|
77
|
+
* resolved now carries the version it was verified under, the read verifies
|
|
78
|
+
* only the entries added since (the library checks both)
|
|
75
79
|
* @returns {Promise<{ verified: VerifiedResourceLog; descriptor: CollectionEncryption; controller: ResourceLogController; etag?: string } | null>}
|
|
76
80
|
* the verified log, its head state as the descriptor, the controller view
|
|
77
81
|
* it was verified under, and the log's validator
|
|
78
82
|
*/
|
|
79
|
-
export async function readGovernedEpochConfiguration({ store, resolveController, pinStore, logId }) {
|
|
83
|
+
export async function readGovernedEpochConfiguration({ store, resolveController, pinStore, logId, previous }) {
|
|
80
84
|
const controller = await resolveController();
|
|
81
85
|
const current = await readResourceLog({
|
|
82
86
|
store,
|
|
83
87
|
controller,
|
|
84
88
|
expectedMethod: RESOURCE_LOG_METHOD,
|
|
85
89
|
pinStore,
|
|
86
|
-
logId
|
|
90
|
+
logId,
|
|
91
|
+
previous
|
|
87
92
|
});
|
|
88
93
|
if (current === null) {
|
|
89
94
|
return null;
|
|
@@ -120,6 +125,24 @@ function asDescriptorStoreConflict(err) {
|
|
|
120
125
|
}
|
|
121
126
|
return err;
|
|
122
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Whether an earlier controller view is a prefix of this one, so a record
|
|
130
|
+
* verified under the earlier one may be indexed against this one: the
|
|
131
|
+
* library's pre-write pass and its sealing shortcut both take the record's
|
|
132
|
+
* head controller version as an index into the view's version list. The
|
|
133
|
+
* controller log is append-only, so the earlier head sitting at its own index
|
|
134
|
+
* in this list is enough; an unversioned earlier view has no head to carry.
|
|
135
|
+
*
|
|
136
|
+
* @param options {object}
|
|
137
|
+
* @param options.earlier {ResourceLogController}
|
|
138
|
+
* @param options.controller {ResourceLogController}
|
|
139
|
+
* @returns {boolean}
|
|
140
|
+
*/
|
|
141
|
+
function viewCarriesHeadOf({ earlier, controller }) {
|
|
142
|
+
const headIndex = earlier.versionIds.length - 1;
|
|
143
|
+
return (headIndex < 0 ||
|
|
144
|
+
controller.versionIds[headIndex] === earlier.versionIds[headIndex]);
|
|
145
|
+
}
|
|
123
146
|
/**
|
|
124
147
|
* Builds the generic log-governed `EncryptionDescriptorStore` over a resource
|
|
125
148
|
* log's transport seam. Because the seam is the same one the edv recipient
|
|
@@ -152,12 +175,11 @@ function asDescriptorStoreConflict(err) {
|
|
|
152
175
|
*/
|
|
153
176
|
export function logGovernedDescriptorStore({ log, resolveController, pinStore, logId, signer }) {
|
|
154
177
|
// The verified log observed by the most recent read or confirmed append on
|
|
155
|
-
// this store instance, and the controller view it was verified under
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
let
|
|
160
|
-
let lastVerifiedView = null;
|
|
178
|
+
// this store instance, and the controller view it was verified under
|
|
179
|
+
// (see viewCarriesHeadOf for why the view is kept). A resumed read needs
|
|
180
|
+
// no such gate: the library checks the view for itself and falls back to
|
|
181
|
+
// a full pass.
|
|
182
|
+
let held = null;
|
|
161
183
|
function requireSigner(operation) {
|
|
162
184
|
if (signer === undefined) {
|
|
163
185
|
throw new ValidationError(`Cannot ${operation} the governed descriptor: this store was built ` +
|
|
@@ -167,31 +189,34 @@ export function logGovernedDescriptorStore({ log, resolveController, pinStore, l
|
|
|
167
189
|
}
|
|
168
190
|
async function settle({ entry, controller }) {
|
|
169
191
|
const readBack = await confirmAppend({ store: log, entry });
|
|
192
|
+
// The read-back extends the head the entry was built on, so only the
|
|
193
|
+
// appended entry is verified.
|
|
170
194
|
const confirmed = await verifyResourceLog({
|
|
171
195
|
entries: readBack.entries,
|
|
172
196
|
controller,
|
|
173
197
|
expectedMethod: RESOURCE_LOG_METHOD,
|
|
174
|
-
pin: await pinStore.read({ logId })
|
|
198
|
+
pin: await pinStore.read({ logId }),
|
|
199
|
+
previous: held?.verified ?? null
|
|
175
200
|
});
|
|
176
201
|
await pinStore.write({ logId, pin: confirmed.pin });
|
|
177
|
-
|
|
178
|
-
lastVerifiedView = controller;
|
|
202
|
+
held = { verified: confirmed, view: controller };
|
|
179
203
|
}
|
|
180
204
|
const store = {
|
|
181
205
|
async read() {
|
|
206
|
+
// A repeat read resumes from the log this instance last verified:
|
|
207
|
+
// only the entries added since are verified.
|
|
182
208
|
const current = await readGovernedEpochConfiguration({
|
|
183
209
|
store: log,
|
|
184
210
|
resolveController,
|
|
185
211
|
pinStore,
|
|
186
|
-
logId
|
|
212
|
+
logId,
|
|
213
|
+
previous: held?.verified ?? null
|
|
187
214
|
});
|
|
188
215
|
if (current === null) {
|
|
189
|
-
|
|
190
|
-
lastVerifiedView = null;
|
|
216
|
+
held = null;
|
|
191
217
|
return null;
|
|
192
218
|
}
|
|
193
|
-
|
|
194
|
-
lastVerifiedView = current.controller;
|
|
219
|
+
held = { verified: current.verified, view: current.controller };
|
|
195
220
|
return {
|
|
196
221
|
descriptor: current.descriptor,
|
|
197
222
|
verified: current.verified,
|
|
@@ -212,39 +237,37 @@ export function logGovernedDescriptorStore({ log, resolveController, pinStore, l
|
|
|
212
237
|
* head now. The caller's validator still guards the append, so a seed
|
|
213
238
|
* behind the served log loses the compare-and-swap as it would anywhere.
|
|
214
239
|
*/
|
|
215
|
-
if (
|
|
240
|
+
if (held === null) {
|
|
216
241
|
await store.read();
|
|
217
242
|
}
|
|
218
|
-
if (
|
|
243
|
+
if (held === null) {
|
|
219
244
|
throw new ValidationError('Cannot replace the governed descriptor: the log is absent.');
|
|
220
245
|
}
|
|
221
|
-
|
|
222
|
-
|
|
246
|
+
const { verified, view } = held;
|
|
247
|
+
if (verified.terminal) {
|
|
248
|
+
throw new ResourceLogClosedError({ nextLog: verified.terminal });
|
|
223
249
|
}
|
|
224
250
|
const controller = await resolveController();
|
|
225
251
|
/**
|
|
226
252
|
* The pre-write pass's precondition, enforced rather than assumed: the
|
|
227
|
-
* view that verified
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
* rebases instead of the pass refusing on a bound that indexes another
|
|
232
|
-
* list.
|
|
253
|
+
* view that verified the held log must be a prefix of this one. A
|
|
254
|
+
* resolver that regressed is reported as the port's conflict class, so
|
|
255
|
+
* the edv machinery re-reads under the current view and rebases
|
|
256
|
+
* instead of the pass refusing on a bound that indexes another list.
|
|
233
257
|
*/
|
|
234
|
-
|
|
235
|
-
if (verifiedHead !== undefined &&
|
|
236
|
-
!controller.versionIds.includes(verifiedHead)) {
|
|
258
|
+
if (!viewCarriesHeadOf({ earlier: view, controller })) {
|
|
237
259
|
throw new PreconditionFailedError('Cannot replace the governed descriptor: the controller view ' +
|
|
238
|
-
|
|
239
|
-
|
|
260
|
+
'resolved for this write does not extend the one the preceding ' +
|
|
261
|
+
`read verified against (its head version "${view.versionIds.at(-1)}" ` +
|
|
262
|
+
'is not at the same index); re-read and retry.', { status: 412 });
|
|
240
263
|
}
|
|
241
264
|
const entry = await buildResourceLogEntry({
|
|
242
|
-
head:
|
|
265
|
+
head: verified.head,
|
|
243
266
|
state: toEpochConfigurationState(descriptor),
|
|
244
267
|
controller,
|
|
245
268
|
signer: logSigner
|
|
246
269
|
});
|
|
247
|
-
await verifyResourceLogAppend({ entry, controller, head:
|
|
270
|
+
await verifyResourceLogAppend({ entry, controller, head: verified });
|
|
248
271
|
try {
|
|
249
272
|
await log.append(entry, { ifMatch });
|
|
250
273
|
}
|
|
@@ -261,8 +284,11 @@ export function logGovernedDescriptorStore({ log, resolveController, pinStore, l
|
|
|
261
284
|
* store instance verified: a rotation that just appended carries a
|
|
262
285
|
* version past the removal, so the sweep resolves noop with no
|
|
263
286
|
* re-fetch, and a stale view is safe (sealResourceLog's append path
|
|
264
|
-
* re-reads before writing). The hint carries
|
|
265
|
-
* confirmed append returns none, so the
|
|
287
|
+
* re-reads before writing, resuming from the hint). The hint carries
|
|
288
|
+
* no validator here, since a confirmed append returns none, so the
|
|
289
|
+
* append path reads for itself. The hint is withheld when the view it
|
|
290
|
+
* was verified under is not a prefix of this one (see
|
|
291
|
+
* viewCarriesHeadOf).
|
|
266
292
|
*/
|
|
267
293
|
const { sealed, verified } = await sealResourceLog({
|
|
268
294
|
store: log,
|
|
@@ -271,16 +297,16 @@ export function logGovernedDescriptorStore({ log, resolveController, pinStore, l
|
|
|
271
297
|
pinStore,
|
|
272
298
|
logId,
|
|
273
299
|
signer: logSigner,
|
|
274
|
-
...(
|
|
275
|
-
|
|
276
|
-
|
|
300
|
+
...(held !== null &&
|
|
301
|
+
viewCarriesHeadOf({ earlier: held.view, controller })
|
|
302
|
+
? { current: { verified: held.verified } }
|
|
303
|
+
: {})
|
|
277
304
|
});
|
|
278
305
|
// The sweep hands back the caller's own view untouched when it had
|
|
279
306
|
// nothing to write; only a log it read or appended was verified under
|
|
280
307
|
// this call's controller view.
|
|
281
|
-
if (verified !== null && verified !==
|
|
282
|
-
|
|
283
|
-
lastVerifiedView = controller;
|
|
308
|
+
if (verified !== null && verified !== held?.verified) {
|
|
309
|
+
held = { verified, view: controller };
|
|
284
310
|
}
|
|
285
311
|
return sealed ? 'sealed' : 'noop';
|
|
286
312
|
}
|
|
@@ -308,8 +334,7 @@ export function logGovernedDescriptorStore({ log, resolveController, pinStore, l
|
|
|
308
334
|
signer: logSigner,
|
|
309
335
|
state: toEpochConfigurationState(descriptor)
|
|
310
336
|
});
|
|
311
|
-
|
|
312
|
-
lastVerifiedView = controller;
|
|
337
|
+
held = { verified, view: controller };
|
|
313
338
|
if (!created) {
|
|
314
339
|
throw new PreconditionFailedError('The resource log create lost its guarded-create race: a log is ' +
|
|
315
340
|
'already served; re-read and adopt it.', { status: 412 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logGovernedDescriptorStore.js","sourceRoot":"","sources":["../../src/edv/logGovernedDescriptorStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EAMxB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,uBAAuB,CAAA;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAgC;IAEhC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACjD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAA;AAC1D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"logGovernedDescriptorStore.js","sourceRoot":"","sources":["../../src/edv/logGovernedDescriptorStore.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/codec.d.ts
CHANGED
|
@@ -80,7 +80,17 @@ export declare class CodecHolder {
|
|
|
80
80
|
*/
|
|
81
81
|
resolve(): Promise<CodecResolution>;
|
|
82
82
|
/**
|
|
83
|
-
* Drops any memoized codec so the next `get()` re-resolves.
|
|
83
|
+
* Drops any memoized codec so the next `get()` re-resolves. A handle calls
|
|
84
|
+
* it after every Collection Metadata write and after deleting the
|
|
85
|
+
* collection: a write can rotate the key epoch (the recipient operations
|
|
86
|
+
* CAS the `encryption` member) or flip the collection from plaintext to
|
|
87
|
+
* encrypted, and a collection re-created at the same URL may use another
|
|
88
|
+
* scheme. A codec memoized before would keep encrypting under the stale
|
|
89
|
+
* epoch (whose key a just-removed reader still holds) or write
|
|
90
|
+
* server-visible plaintext into a now-encrypted collection. Child resource
|
|
91
|
+
* handles share the holder through their thunk, so the reset reaches them
|
|
92
|
+
* too. It covers resolutions started after it returns; a resolution already
|
|
93
|
+
* in flight completes and its caller keeps the codec it resolved.
|
|
84
94
|
*
|
|
85
95
|
* @returns {void}
|
|
86
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAajD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAM7D,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EAGL,sBAAsB,EAEvB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;IACtD,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,wBAAwB,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,sBAAsB,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;IAGtB;;;OAGG;gBACS,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;IAInD;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAOnC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAczC
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAajD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAM7D,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EAGL,sBAAsB,EAEvB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;IACtD,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,wBAAwB,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,sBAAsB,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;IAGtB;;;OAGG;gBACS,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;IAInD;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAOnC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAczC;;;;;;;;;;;;;;OAcG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;;;;GAKG;AACH,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,WAAW,GACnB,WAAW,CAEb;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,aAyD3B,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,GAC5D,OAAO,CAAC,eAAe,CAAC,CA+E1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,EACE,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAClC,GACA,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAc/B;AA4CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,aAAa,CAAA;IACpB,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC7B,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CASzC"}
|
package/dist/internal/codec.js
CHANGED
|
@@ -64,7 +64,17 @@ export class CodecHolder {
|
|
|
64
64
|
return { codec, meta, ...(baseline !== undefined && { baseline }) };
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
* Drops any memoized codec so the next `get()` re-resolves.
|
|
67
|
+
* Drops any memoized codec so the next `get()` re-resolves. A handle calls
|
|
68
|
+
* it after every Collection Metadata write and after deleting the
|
|
69
|
+
* collection: a write can rotate the key epoch (the recipient operations
|
|
70
|
+
* CAS the `encryption` member) or flip the collection from plaintext to
|
|
71
|
+
* encrypted, and a collection re-created at the same URL may use another
|
|
72
|
+
* scheme. A codec memoized before would keep encrypting under the stale
|
|
73
|
+
* epoch (whose key a just-removed reader still holds) or write
|
|
74
|
+
* server-visible plaintext into a now-encrypted collection. Child resource
|
|
75
|
+
* handles share the holder through their thunk, so the reset reaches them
|
|
76
|
+
* too. It covers resolutions started after it returns; a resolution already
|
|
77
|
+
* in flight completes and its caller keeps the codec it resolved.
|
|
68
78
|
*
|
|
69
79
|
* @returns {void}
|
|
70
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAkDnE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IACb,KAAK,CAAuB;IAErC;;;OAGG;IACH,YAAY,OAAuC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACzC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAA;QAC3B,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;QAC5C,yEAAyE;QACzE,gCAAgC;QAChC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAA;QAC3B,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACrE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,12 @@ export declare function asCollectionMetadata(stored: StoredCollectionMetadata):
|
|
|
31
31
|
* rather than a client-written descriptor. The one place this distinction is
|
|
32
32
|
* drawn, shared by provisioning and the log-governed descriptor store.
|
|
33
33
|
*
|
|
34
|
+
* The member comes off the wire, so the check is structural: an absent
|
|
35
|
+
* `history` answers false, and a present one must carry string `method` and
|
|
36
|
+
* `resource`. A malformed pointer is refused with `ValidationError` rather
|
|
37
|
+
* than passed off as a client-written descriptor, which callers go on to
|
|
38
|
+
* echo back in write bodies or adopt without verifying its log.
|
|
39
|
+
*
|
|
34
40
|
* @param descriptor {CollectionEncryption}
|
|
35
41
|
* @returns {boolean}
|
|
36
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,wBAAwB,GAC/B,kBAAkB,CAMpB;AAqBD
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,wBAAwB,GAC/B,kBAAkB,CAMpB;AAqBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,oBAAoB,GAC/B,UAAU,IAAI,oBAAoB,GAAG;IACtC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9C,CAkBA;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,wBAAwB,CAQ1B;AA2BD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAKlD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAwB,CAAA;AAExE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,wBAAwB,GAC/B,oBAAoB,GAAG,SAAS,CAElC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,wBAAwB,EAChC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC9C,wBAAwB,CAgB1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAA4B,EAC7B,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAA;CAC/C,GAAG,QAAQ,CAQX"}
|
|
@@ -67,11 +67,28 @@ function isClearedCustom(custom) {
|
|
|
67
67
|
* rather than a client-written descriptor. The one place this distinction is
|
|
68
68
|
* drawn, shared by provisioning and the log-governed descriptor store.
|
|
69
69
|
*
|
|
70
|
+
* The member comes off the wire, so the check is structural: an absent
|
|
71
|
+
* `history` answers false, and a present one must carry string `method` and
|
|
72
|
+
* `resource`. A malformed pointer is refused with `ValidationError` rather
|
|
73
|
+
* than passed off as a client-written descriptor, which callers go on to
|
|
74
|
+
* echo back in write bodies or adopt without verifying its log.
|
|
75
|
+
*
|
|
70
76
|
* @param descriptor {CollectionEncryption}
|
|
71
77
|
* @returns {boolean}
|
|
72
78
|
*/
|
|
73
79
|
export function isGovernedDescriptor(descriptor) {
|
|
74
|
-
|
|
80
|
+
const history = descriptor.history;
|
|
81
|
+
if (history === undefined) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (typeof history?.method !== 'string' ||
|
|
85
|
+
typeof history.resource !== 'string') {
|
|
86
|
+
throw new ValidationError('The served encryption descriptor carries a malformed `history` ' +
|
|
87
|
+
`member (${JSON.stringify(history)}): expected an object with ` +
|
|
88
|
+
'string `method` and `resource`. Refusing to treat it as a ' +
|
|
89
|
+
'client-written descriptor.');
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
75
92
|
}
|
|
76
93
|
/**
|
|
77
94
|
* Picks the writable Collection configuration members that are set. The one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAiB9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAgC;IAEhC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,MAAuC,CAAA;IAChD,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAC5C,OAAO,IAAqC,CAAA;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,CAC3C,CAAA;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/grant.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { isValidTarget } from '@interop/zcap';
|
|
27
27
|
import { canonicalSpaceUrl } from './paths.js';
|
|
28
|
-
import { rootCapabilityId } from './
|
|
28
|
+
import { rootCapabilityId } from './rootCapability.js';
|
|
29
29
|
import { ValidationError } from '../errors.js';
|
|
30
30
|
/**
|
|
31
31
|
* Roots a grant in its Space: the root capability id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../src/internal/grant.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../src/internal/grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,24 @@ import type { ResourceMetadataCustomInput } from '../types.js';
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const INDEX_SCHEMA_PROPERTY = "indexSchema";
|
|
24
24
|
/**
|
|
25
|
-
* The schema of a collection that has declared nothing yet.
|
|
25
|
+
* The schema of a collection that has declared nothing yet. Minted fresh on
|
|
26
|
+
* every call rather than shared: a codec installs the schema it is handed by
|
|
27
|
+
* reference, so one shared empty array mutated through any handle would reach
|
|
28
|
+
* every undeclared collection in the process.
|
|
29
|
+
*
|
|
30
|
+
* @returns {IndexSchema}
|
|
31
|
+
*/
|
|
32
|
+
export declare function emptyIndexSchema(): IndexSchema;
|
|
33
|
+
/**
|
|
34
|
+
* A deep copy of a schema: new entry objects, and a compound entry's
|
|
35
|
+
* `attribute` array copied too. A codec installs the copy rather than the
|
|
36
|
+
* object it was handed, and the handle layer hands out copies, so no caller
|
|
37
|
+
* holds a reference into the schema a codec blinds and queries by.
|
|
38
|
+
*
|
|
39
|
+
* @param schema {IndexSchema}
|
|
40
|
+
* @returns {IndexSchema}
|
|
26
41
|
*/
|
|
27
|
-
export declare
|
|
42
|
+
export declare function cloneIndexSchema(schema: IndexSchema): IndexSchema;
|
|
28
43
|
/**
|
|
29
44
|
* The metadata `custom` object as the index code sees it: the user's own
|
|
30
45
|
* properties plus the schema this module owns.
|
|
@@ -35,7 +50,7 @@ export type CustomWithIndexSchema = Record<string, unknown> & {
|
|
|
35
50
|
/**
|
|
36
51
|
* Normalizes an attribute declaration: a one-element array declares the same
|
|
37
52
|
* simple index as the bare string (the same collapse the underlying index
|
|
38
|
-
* helper applies), so the two
|
|
53
|
+
* helper applies), so the two forms cannot produce two schema entries.
|
|
39
54
|
*
|
|
40
55
|
* @param attribute {string | string[]}
|
|
41
56
|
* @returns {string | string[]}
|
|
@@ -86,7 +101,7 @@ export declare function mergeIndexDeclarations({ schema, requested }: {
|
|
|
86
101
|
}): IndexSchema | null;
|
|
87
102
|
/**
|
|
88
103
|
* Reads the persisted schema out of a decoded metadata `custom` object,
|
|
89
|
-
* returning {@link
|
|
104
|
+
* returning {@link emptyIndexSchema} when none is stored (or when what is
|
|
90
105
|
* stored is malformed -- a foreign writer's value must not crash a read path,
|
|
91
106
|
* and treating it as "nothing declared" makes the next `declareIndex` rewrite
|
|
92
107
|
* it).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexSchema.d.ts","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"indexSchema.d.ts","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAA;AAElD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAUjE;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAC3B,MAAM,GAAG,MAAM,EAAE,CAKnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,KAAK,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAYtE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAiB3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,EACV,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACrC,GAAG,WAAW,GAAG,IAAI,CA4BrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAkB5D;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,MAAM,EACN,GAAG,EACJ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACjE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACxB,GAAG,IAAI,CAsBP;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,2BAA2B,CAAA;IACnC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAkBvC"}
|
|
@@ -5,13 +5,40 @@ import { ValidationError } from '../errors.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export const INDEX_SCHEMA_PROPERTY = 'indexSchema';
|
|
7
7
|
/**
|
|
8
|
-
* The schema of a collection that has declared nothing yet.
|
|
8
|
+
* The schema of a collection that has declared nothing yet. Minted fresh on
|
|
9
|
+
* every call rather than shared: a codec installs the schema it is handed by
|
|
10
|
+
* reference, so one shared empty array mutated through any handle would reach
|
|
11
|
+
* every undeclared collection in the process.
|
|
12
|
+
*
|
|
13
|
+
* @returns {IndexSchema}
|
|
9
14
|
*/
|
|
10
|
-
export
|
|
15
|
+
export function emptyIndexSchema() {
|
|
16
|
+
return { revision: 0, indexes: [] };
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A deep copy of a schema: new entry objects, and a compound entry's
|
|
20
|
+
* `attribute` array copied too. A codec installs the copy rather than the
|
|
21
|
+
* object it was handed, and the handle layer hands out copies, so no caller
|
|
22
|
+
* holds a reference into the schema a codec blinds and queries by.
|
|
23
|
+
*
|
|
24
|
+
* @param schema {IndexSchema}
|
|
25
|
+
* @returns {IndexSchema}
|
|
26
|
+
*/
|
|
27
|
+
export function cloneIndexSchema(schema) {
|
|
28
|
+
return {
|
|
29
|
+
revision: schema.revision,
|
|
30
|
+
indexes: schema.indexes.map(entry => ({
|
|
31
|
+
...entry,
|
|
32
|
+
attribute: Array.isArray(entry.attribute)
|
|
33
|
+
? [...entry.attribute]
|
|
34
|
+
: entry.attribute
|
|
35
|
+
}))
|
|
36
|
+
};
|
|
37
|
+
}
|
|
11
38
|
/**
|
|
12
39
|
* Normalizes an attribute declaration: a one-element array declares the same
|
|
13
40
|
* simple index as the bare string (the same collapse the underlying index
|
|
14
|
-
* helper applies), so the two
|
|
41
|
+
* helper applies), so the two forms cannot produce two schema entries.
|
|
15
42
|
*
|
|
16
43
|
* @param attribute {string | string[]}
|
|
17
44
|
* @returns {string | string[]}
|
|
@@ -109,7 +136,7 @@ export function mergeIndexDeclarations({ schema, requested }) {
|
|
|
109
136
|
}
|
|
110
137
|
/**
|
|
111
138
|
* Reads the persisted schema out of a decoded metadata `custom` object,
|
|
112
|
-
* returning {@link
|
|
139
|
+
* returning {@link emptyIndexSchema} when none is stored (or when what is
|
|
113
140
|
* stored is malformed -- a foreign writer's value must not crash a read path,
|
|
114
141
|
* and treating it as "nothing declared" makes the next `declareIndex` rewrite
|
|
115
142
|
* it).
|
|
@@ -120,11 +147,11 @@ export function mergeIndexDeclarations({ schema, requested }) {
|
|
|
120
147
|
export function readIndexSchema(custom) {
|
|
121
148
|
const stored = custom?.[INDEX_SCHEMA_PROPERTY];
|
|
122
149
|
if (stored === null || typeof stored !== 'object') {
|
|
123
|
-
return
|
|
150
|
+
return emptyIndexSchema();
|
|
124
151
|
}
|
|
125
152
|
const { revision, indexes } = stored;
|
|
126
153
|
if (typeof revision !== 'number' || !Array.isArray(indexes)) {
|
|
127
|
-
return
|
|
154
|
+
return emptyIndexSchema();
|
|
128
155
|
}
|
|
129
156
|
const valid = indexes.filter(entry => entry !== null &&
|
|
130
157
|
typeof entry === 'object' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexSchema.js","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"indexSchema.js","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/internal/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,uBAAuB,EACvB,KAAK,EACL,eAAe,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/internal/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,uBAAuB,EACvB,KAAK,EACL,eAAe,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAMjD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC;;;;;GAKG;AACH,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,YAAY,GAAG,uBAAuB;IACxE,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAChD,EACA,QAAQ,EACR,SAAS,EACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;CACpC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAG9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAEhD,OAAO,EAAE,aAAa,EACtB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,GACjE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAQ7B;AA6DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAuB,SAAS,CAC9B,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAEhD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,EAAE,QAA4B,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,cAAc,CAAC,CAAC,CAAC,CA6CnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAChD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAe/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAChD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAE7C;AAED;;;;;;;;GAQG;AACH,wBAAuB,gBAAgB,CACrC,CAAC,SAAS,YAAY,GAAG,uBAAuB,EAChD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAI7C;AAED;;;;;;;GAOG;AACH,wBAAuB,SAAS,CAC9B,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,GAC5C,cAAc,CAAC,eAAe,CAAC,CAIjC"}
|