@spine-event-engine/server 2.0.0-snapshot.25 → 2.0.0-snapshot.26
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 +49 -9
- package/REFERENCE.md +339 -22
- package/dist/agent/agent-history.d.ts +19 -3
- package/dist/agent/agent-history.d.ts.map +1 -1
- package/dist/agent/agent-history.js +41 -10
- package/dist/agent/agent-history.js.map +1 -1
- package/dist/agent/agent-live-read-runtime.d.ts +12 -1
- package/dist/agent/agent-live-read-runtime.d.ts.map +1 -1
- package/dist/agent/agent-live-read-runtime.js +5 -4
- package/dist/agent/agent-live-read-runtime.js.map +1 -1
- package/dist/browser/browser-server.d.ts +163 -0
- package/dist/browser/browser-server.d.ts.map +1 -1
- package/dist/browser/browser-server.js +579 -188
- package/dist/browser/browser-server.js.map +1 -1
- package/dist/browser/durable-subscription-bindings.d.ts +5 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -1
- package/dist/browser/durable-subscription-bindings.js +226 -38
- package/dist/browser/durable-subscription-bindings.js.map +1 -1
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -1
- package/dist/bus/command-bus.d.ts +3 -0
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +69 -9
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/command-errors.d.ts +20 -4
- package/dist/bus/command-errors.d.ts.map +1 -1
- package/dist/bus/command-errors.js +47 -7
- package/dist/bus/command-errors.js.map +1 -1
- package/dist/bus/event-bus.d.ts +3 -0
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +130 -8
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/context/bounded-context.d.ts +29 -11
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +147 -186
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/entity/entity.d.ts +59 -0
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +60 -0
- package/dist/entity/entity.js.map +1 -1
- package/dist/handler/app-query-handler.d.ts +60 -0
- package/dist/handler/app-query-handler.d.ts.map +1 -0
- package/dist/handler/app-query-handler.js +23 -0
- package/dist/handler/app-query-handler.js.map +1 -0
- package/dist/handler/generated-registry-discovery.d.ts +6 -0
- package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
- package/dist/handler/generated-registry-discovery.js +71 -2
- package/dist/handler/generated-registry-discovery.js.map +1 -1
- package/dist/handler/handler-decorators.d.ts +8 -29
- package/dist/handler/handler-decorators.d.ts.map +1 -1
- package/dist/handler/handler-decorators.js +33 -210
- package/dist/handler/handler-decorators.js.map +1 -1
- package/dist/handler/spine-metadata-inventory.d.ts +99 -0
- package/dist/handler/spine-metadata-inventory.d.ts.map +1 -0
- package/dist/handler/spine-metadata-inventory.js +162 -0
- package/dist/handler/spine-metadata-inventory.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/repository/repository.d.ts +44 -1
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +368 -88
- package/dist/repository/repository.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +12 -11
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +41 -25
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/node-coordinator.d.ts +18 -5
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +554 -84
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/reserved-spine-rpc-paths.json +1 -0
- package/dist/server/server-environment.d.ts +17 -0
- package/dist/server/server-environment.d.ts.map +1 -1
- package/dist/server/server-environment.js +77 -16
- package/dist/server/server-environment.js.map +1 -1
- package/dist/server/server.d.ts +45 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +111 -3
- package/dist/server/server.js.map +1 -1
- package/dist/services/app-query-execution.d.ts +53 -0
- package/dist/services/app-query-execution.d.ts.map +1 -0
- package/dist/services/app-query-execution.js +408 -0
- package/dist/services/app-query-execution.js.map +1 -0
- package/dist/services/query-reader.d.ts +32 -7
- package/dist/services/query-reader.d.ts.map +1 -1
- package/dist/services/query-reader.js +22 -2
- package/dist/services/query-reader.js.map +1 -1
- package/dist/services/read-request-status.d.ts +65 -0
- package/dist/services/read-request-status.d.ts.map +1 -0
- package/dist/services/read-request-status.js +151 -0
- package/dist/services/read-request-status.js.map +1 -0
- package/dist/services/spine-services.d.ts +36 -7
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +900 -168
- package/dist/services/spine-services.js.map +1 -1
- package/dist/services/trusted-reader-ingress.d.ts +92 -0
- package/dist/services/trusted-reader-ingress.d.ts.map +1 -0
- package/dist/services/trusted-reader-ingress.js +89 -0
- package/dist/services/trusted-reader-ingress.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +2 -0
- package/dist/spi/handler-registry.d.ts.map +1 -1
- package/dist/spi/handler-registry.js +1 -1
- package/dist/spi/handler-registry.js.map +1 -1
- package/dist/stand/read-side-filter-engine.d.ts +46 -0
- package/dist/stand/read-side-filter-engine.d.ts.map +1 -0
- package/dist/stand/read-side-filter-engine.js +356 -0
- package/dist/stand/read-side-filter-engine.js.map +1 -0
- package/dist/stand/read-side-filter.d.ts +247 -0
- package/dist/stand/read-side-filter.d.ts.map +1 -0
- package/dist/stand/read-side-filter.js +39 -0
- package/dist/stand/read-side-filter.js.map +1 -0
- package/dist/stand/read-side-message.d.ts +66 -0
- package/dist/stand/read-side-message.d.ts.map +1 -0
- package/dist/stand/read-side-message.js +167 -0
- package/dist/stand/read-side-message.js.map +1 -0
- package/dist/stand/stand-direct-delivery.d.ts +161 -0
- package/dist/stand/stand-direct-delivery.d.ts.map +1 -0
- package/dist/stand/stand-direct-delivery.js +210 -0
- package/dist/stand/stand-direct-delivery.js.map +1 -0
- package/dist/stand/stand.d.ts +80 -42
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +410 -54
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +103 -0
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-read-filters.d.ts +40 -0
- package/dist/stand/subscription-read-filters.d.ts.map +1 -0
- package/dist/stand/subscription-read-filters.js +91 -0
- package/dist/stand/subscription-read-filters.js.map +1 -0
- package/dist/stand/subscription-reader-binding.d.ts +20 -0
- package/dist/stand/subscription-reader-binding.d.ts.map +1 -0
- package/dist/stand/subscription-reader-binding.js +56 -0
- package/dist/stand/subscription-reader-binding.js.map +1 -0
- package/dist/stand/subscription-records.d.ts +30 -3
- package/dist/stand/subscription-records.d.ts.map +1 -1
- package/dist/stand/subscription-records.js +61 -16
- package/dist/stand/subscription-records.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts +49 -14
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +150 -31
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/stand/subscription-runtime.d.ts +7 -2
- package/dist/stand/subscription-runtime.d.ts.map +1 -1
- package/dist/stand/subscription-runtime.js +131 -25
- package/dist/stand/subscription-runtime.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -12,12 +12,26 @@
|
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
14
|
import { Time } from "@spine-event-engine/core/time";
|
|
15
|
+
import { createHash } from "node:crypto";
|
|
16
|
+
import { ReaderIdentities } from "@spine-event-engine/core/spi/trusted-reader";
|
|
15
17
|
import { clone, ScalarType, toBinary } from "@bufbuild/protobuf";
|
|
16
18
|
import { SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS } from "@spine-event-engine/core/spi/subscription-lifecycle";
|
|
19
|
+
import { TenantIdSchema } from "@spine-event-engine/proto";
|
|
17
20
|
import { SubscriptionIdSchema, SubscriptionSchema, SubscriptionStatus, } from "@spine-event-engine/proto/client";
|
|
18
|
-
import { ColumnTypes, RecordColumn, RecordSpec, } from "@spine-event-engine/storage";
|
|
21
|
+
import { ColumnTypes, RecordColumn, RecordSpec, StorageGroup, } from "@spine-event-engine/storage";
|
|
22
|
+
import { StoragePreparations, } from "@spine-event-engine/storage/provider";
|
|
19
23
|
import { StandSubscriptionRecords } from "./subscription-records.js";
|
|
20
24
|
const cleanupPageSize = 25;
|
|
25
|
+
/**
|
|
26
|
+
* Maps a logical Bounded Context name to one provider-safe durable record family.
|
|
27
|
+
*
|
|
28
|
+
* @param contextName Logical Bounded Context name.
|
|
29
|
+
* @returns A stable physical StorageGroup.
|
|
30
|
+
*/
|
|
31
|
+
export const subscriptionRecordGroup = (contextName) => {
|
|
32
|
+
const digest = createHash("sha256").update(contextName, "utf8").digest("hex").slice(0, 40);
|
|
33
|
+
return new StorageGroup(`sub_${digest}`);
|
|
34
|
+
};
|
|
21
35
|
/**
|
|
22
36
|
* Exact durable subscription layout shared by the registry and preparation.
|
|
23
37
|
*/
|
|
@@ -65,14 +79,16 @@ export class InMemorySubscriptionRegistry {
|
|
|
65
79
|
*
|
|
66
80
|
* @param subscription Provides the definition to create.
|
|
67
81
|
* @returns Resolves to the creation outcome.
|
|
82
|
+
* @param reader The verified reader facts for this operation.
|
|
68
83
|
*/
|
|
69
|
-
async create(subscription) {
|
|
84
|
+
async create(subscription, reader) {
|
|
70
85
|
await Promise.resolve();
|
|
71
86
|
this.#open();
|
|
72
87
|
const id = subscriptionId(subscription);
|
|
73
88
|
const existing = this.#entries.get(id);
|
|
74
89
|
if (existing !== undefined) {
|
|
75
|
-
if (!sameSubscription(existing.subscription, subscription)
|
|
90
|
+
if (!sameSubscription(existing.subscription, subscription) ||
|
|
91
|
+
!ReaderIdentities.same(existing.reader, reader))
|
|
76
92
|
throw new StandConflictError(id);
|
|
77
93
|
return Promise.resolve({ kind: "existing", entry: copy(existing) });
|
|
78
94
|
}
|
|
@@ -82,6 +98,7 @@ export class InMemorySubscriptionRegistry {
|
|
|
82
98
|
phase: "pending",
|
|
83
99
|
createdAt,
|
|
84
100
|
pendingUntil: createdAt + SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS,
|
|
101
|
+
...(reader === undefined ? {} : { reader }),
|
|
85
102
|
});
|
|
86
103
|
this.#entries.set(id, entry);
|
|
87
104
|
return Promise.resolve({ kind: "created", entry: copy(entry) });
|
|
@@ -91,14 +108,17 @@ export class InMemorySubscriptionRegistry {
|
|
|
91
108
|
*
|
|
92
109
|
* @param value Identifies the definition to activate.
|
|
93
110
|
* @returns Resolves to the activation outcome.
|
|
111
|
+
* @param reader The verified reader facts for this operation.
|
|
94
112
|
*/
|
|
95
|
-
async activate(value) {
|
|
113
|
+
async activate(value, reader) {
|
|
96
114
|
await Promise.resolve();
|
|
97
115
|
this.#open();
|
|
98
116
|
const id = idValue(value);
|
|
99
117
|
const entry = this.#entries.get(id);
|
|
100
118
|
if (entry === undefined)
|
|
101
119
|
return Promise.resolve({ kind: "missing" });
|
|
120
|
+
if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
|
|
121
|
+
return { kind: "denied" };
|
|
102
122
|
if (entry.phase === "active")
|
|
103
123
|
return Promise.resolve({ kind: "active", entry: copy(entry) });
|
|
104
124
|
if (expiresAt(entry) <= Time.currentTimeMillis()) {
|
|
@@ -109,6 +129,7 @@ export class InMemorySubscriptionRegistry {
|
|
|
109
129
|
subscription: entry.subscription,
|
|
110
130
|
phase: "active",
|
|
111
131
|
createdAt: entry.createdAt,
|
|
132
|
+
...(entry.reader === undefined ? {} : { reader: entry.reader }),
|
|
112
133
|
});
|
|
113
134
|
this.#entries.set(id, active);
|
|
114
135
|
return Promise.resolve({ kind: "activated", entry: copy(active) });
|
|
@@ -118,11 +139,19 @@ export class InMemorySubscriptionRegistry {
|
|
|
118
139
|
*
|
|
119
140
|
* @param value Identifies the definition to delete.
|
|
120
141
|
* @returns Resolves to the deletion outcome.
|
|
142
|
+
* @param reader The verified reader facts for this operation.
|
|
121
143
|
*/
|
|
122
|
-
async delete(value) {
|
|
144
|
+
async delete(value, reader) {
|
|
123
145
|
await Promise.resolve();
|
|
124
146
|
this.#open();
|
|
125
|
-
|
|
147
|
+
const id = idValue(value);
|
|
148
|
+
const entry = this.#entries.get(id);
|
|
149
|
+
if (entry === undefined)
|
|
150
|
+
return "missing";
|
|
151
|
+
if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
|
|
152
|
+
return "denied";
|
|
153
|
+
this.#entries.delete(id);
|
|
154
|
+
return "deleted";
|
|
126
155
|
}
|
|
127
156
|
/**
|
|
128
157
|
* Gets an isolated in-memory definition, when present.
|
|
@@ -184,7 +213,9 @@ export class InMemorySubscriptionRegistry {
|
|
|
184
213
|
this.#entries.clear();
|
|
185
214
|
return Promise.resolve();
|
|
186
215
|
}
|
|
187
|
-
|
|
216
|
+
/**
|
|
217
|
+
* Opens the configured boundary after lifecycle preflight.
|
|
218
|
+
*/ #open() {
|
|
188
219
|
if (this.#closed)
|
|
189
220
|
throw new Error("Stand subscription registry is closed.");
|
|
190
221
|
}
|
|
@@ -195,31 +226,53 @@ export class InMemorySubscriptionRegistry {
|
|
|
195
226
|
export class StorageSubscriptionRegistry {
|
|
196
227
|
// prettier-ignore
|
|
197
228
|
/**
|
|
198
|
-
* Indicates that the backing storage
|
|
229
|
+
* Indicates that the backing storage retains durable definitions.
|
|
199
230
|
*/
|
|
200
231
|
persistent = true;
|
|
232
|
+
/**
|
|
233
|
+
* Physical record family selected from the logical Bounded Context name.
|
|
234
|
+
*/
|
|
235
|
+
#storageGroup;
|
|
236
|
+
#context;
|
|
237
|
+
#storageFactory;
|
|
201
238
|
#storage;
|
|
202
239
|
#closed = false;
|
|
203
240
|
/**
|
|
204
241
|
* Creates a registry backed by one compare-and-set-capable record handle.
|
|
205
242
|
*
|
|
206
|
-
* @param context Identifies the storage
|
|
243
|
+
* @param context Identifies the storage context.
|
|
207
244
|
* @param storageFactory Creates the registry record handle.
|
|
245
|
+
* @param storageGroup Selects the physical subscription record family.
|
|
208
246
|
*/
|
|
209
|
-
constructor(context, storageFactory) {
|
|
210
|
-
this.#
|
|
247
|
+
constructor(context, storageFactory, storageGroup) {
|
|
248
|
+
this.#context = context.multitenant
|
|
249
|
+
? { name: context.name, multitenant: true, tenantId: clone(TenantIdSchema, context.tenantId) }
|
|
250
|
+
: { name: context.name, multitenant: false };
|
|
251
|
+
this.#storageFactory = storageFactory;
|
|
252
|
+
this.#storageGroup = storageGroup;
|
|
253
|
+
this.#storage = storageFactory.createRecordStorage(this.#context, subscriptionRecordSpec, this.#storageGroup);
|
|
211
254
|
if (!this.#storage.atomicCompareAndSet) {
|
|
212
255
|
this.#storage.close();
|
|
213
256
|
throw new Error("Stand subscription storage must support atomic compare-and-set.");
|
|
214
257
|
}
|
|
215
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Prepares this registry's captured factory, context, and physical group.
|
|
261
|
+
*
|
|
262
|
+
* @param mode Required preparation mode.
|
|
263
|
+
* @returns Completion of storage preparation.
|
|
264
|
+
*/
|
|
265
|
+
prepare(mode) {
|
|
266
|
+
return StoragePreparations.for(this.#storageFactory).prepareRecord(this.#context, subscriptionRecordSpec, this.#storageGroup, mode);
|
|
267
|
+
}
|
|
216
268
|
/**
|
|
217
269
|
* Creates a pending durable definition or finds its identical predecessor.
|
|
218
270
|
*
|
|
219
271
|
* @param subscription Provides the definition to create.
|
|
220
272
|
* @returns Resolves to the creation outcome.
|
|
273
|
+
* @param reader The verified reader facts for this operation.
|
|
221
274
|
*/
|
|
222
|
-
async create(subscription) {
|
|
275
|
+
async create(subscription, reader) {
|
|
223
276
|
this.#open();
|
|
224
277
|
const value = subscriptionId(subscription);
|
|
225
278
|
const recordId = subscription.id;
|
|
@@ -229,7 +282,8 @@ export class StorageSubscriptionRegistry {
|
|
|
229
282
|
const current = await this.#storage.read(recordId);
|
|
230
283
|
if (current !== undefined) {
|
|
231
284
|
const entry = StandSubscriptionRecords.read(current, value);
|
|
232
|
-
if (!sameSubscription(entry.subscription, subscription)
|
|
285
|
+
if (!sameSubscription(entry.subscription, subscription) ||
|
|
286
|
+
!ReaderIdentities.same(entry.reader, reader))
|
|
233
287
|
throw new StandConflictError(value);
|
|
234
288
|
return { kind: "existing", entry: copy(entry) };
|
|
235
289
|
}
|
|
@@ -239,6 +293,7 @@ export class StorageSubscriptionRegistry {
|
|
|
239
293
|
phase: "pending",
|
|
240
294
|
createdAt,
|
|
241
295
|
pendingUntil: createdAt + SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS,
|
|
296
|
+
...(reader === undefined ? {} : { reader }),
|
|
242
297
|
});
|
|
243
298
|
const next = StandSubscriptionRecords.write(entry);
|
|
244
299
|
try {
|
|
@@ -246,23 +301,38 @@ export class StorageSubscriptionRegistry {
|
|
|
246
301
|
return { kind: "created", entry: copy(entry) };
|
|
247
302
|
}
|
|
248
303
|
catch (error) {
|
|
249
|
-
|
|
250
|
-
if (observed !== undefined) {
|
|
251
|
-
const observedEntry = StandSubscriptionRecords.read(observed, value);
|
|
252
|
-
if (sameSubscription(observedEntry.subscription, subscription))
|
|
253
|
-
return { kind: "created", entry: copy(observedEntry) };
|
|
254
|
-
}
|
|
255
|
-
throw error;
|
|
304
|
+
return this.#recoverCreate(recordId, value, subscription, reader, error);
|
|
256
305
|
}
|
|
257
306
|
}
|
|
258
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* Distinguishes a committed ambiguous write from a failed record write.
|
|
310
|
+
*
|
|
311
|
+
* @param recordId The durable record identifier.
|
|
312
|
+
* @param value Serialized record bytes returned by storage.
|
|
313
|
+
* @param subscription The subscription definition being processed.
|
|
314
|
+
* @param reader The verified reader facts for this operation.
|
|
315
|
+
* @param error The failure being classified or propagated.
|
|
316
|
+
* @returns The recovered created definition.
|
|
317
|
+
*/
|
|
318
|
+
async #recoverCreate(recordId, value, subscription, reader, error) {
|
|
319
|
+
const observed = await this.#storage.read(recordId);
|
|
320
|
+
if (observed !== undefined) {
|
|
321
|
+
const observedEntry = StandSubscriptionRecords.read(observed, value);
|
|
322
|
+
if (sameSubscription(observedEntry.subscription, subscription) &&
|
|
323
|
+
ReaderIdentities.same(observedEntry.reader, reader))
|
|
324
|
+
return { kind: "created", entry: copy(observedEntry) };
|
|
325
|
+
}
|
|
326
|
+
throw error;
|
|
327
|
+
}
|
|
259
328
|
/**
|
|
260
329
|
* Activates an unexpired durable pending definition.
|
|
261
330
|
*
|
|
262
331
|
* @param value Identifies the definition to activate.
|
|
263
332
|
* @returns Resolves to the activation outcome.
|
|
333
|
+
* @param reader The verified reader facts for this operation.
|
|
264
334
|
*/
|
|
265
|
-
async activate(value) {
|
|
335
|
+
async activate(value, reader) {
|
|
266
336
|
this.#open();
|
|
267
337
|
const id = idValue(value);
|
|
268
338
|
for (;;) {
|
|
@@ -270,6 +340,8 @@ export class StorageSubscriptionRegistry {
|
|
|
270
340
|
if (current === undefined)
|
|
271
341
|
return { kind: "missing" };
|
|
272
342
|
const entry = StandSubscriptionRecords.read(current, id);
|
|
343
|
+
if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
|
|
344
|
+
return { kind: "denied" };
|
|
273
345
|
if (entry.phase === "active")
|
|
274
346
|
return { kind: "active", entry: copy(entry) };
|
|
275
347
|
if (expiresAt(entry) <= Time.currentTimeMillis()) {
|
|
@@ -281,6 +353,7 @@ export class StorageSubscriptionRegistry {
|
|
|
281
353
|
subscription: entry.subscription,
|
|
282
354
|
phase: "active",
|
|
283
355
|
createdAt: entry.createdAt,
|
|
356
|
+
...(entry.reader === undefined ? {} : { reader: entry.reader }),
|
|
284
357
|
});
|
|
285
358
|
if (await this.#storage.compareAndSet(value, current, StandSubscriptionRecords.write(active)))
|
|
286
359
|
return { kind: "activated", entry: copy(active) };
|
|
@@ -291,13 +364,17 @@ export class StorageSubscriptionRegistry {
|
|
|
291
364
|
*
|
|
292
365
|
* @param value Identifies the definition to delete.
|
|
293
366
|
* @returns Resolves to the deletion outcome.
|
|
367
|
+
* @param reader The verified reader facts for this operation.
|
|
294
368
|
*/
|
|
295
|
-
async delete(value) {
|
|
369
|
+
async delete(value, reader) {
|
|
296
370
|
this.#open();
|
|
297
371
|
for (;;) {
|
|
298
372
|
const current = await this.#storage.read(value);
|
|
299
373
|
if (current === undefined)
|
|
300
374
|
return "missing";
|
|
375
|
+
if (reader !== undefined &&
|
|
376
|
+
!ReaderIdentities.matches(StandSubscriptionRecords.read(current, idValue(value)).reader, reader))
|
|
377
|
+
return "denied";
|
|
301
378
|
if (await this.#storage.compareAndSet(value, current, undefined))
|
|
302
379
|
return "deleted";
|
|
303
380
|
}
|
|
@@ -366,43 +443,85 @@ export class StorageSubscriptionRegistry {
|
|
|
366
443
|
this.#storage.close();
|
|
367
444
|
}
|
|
368
445
|
}
|
|
369
|
-
|
|
446
|
+
/**
|
|
447
|
+
* Opens the configured boundary after lifecycle preflight.
|
|
448
|
+
*/ #open() {
|
|
370
449
|
if (this.#closed)
|
|
371
450
|
throw new Error("Stand subscription registry is closed.");
|
|
372
451
|
}
|
|
373
452
|
}
|
|
374
|
-
|
|
453
|
+
/**
|
|
454
|
+
* Reads a nonblank subscription ID from a Proto identifier.
|
|
455
|
+
*
|
|
456
|
+
* @param id The stable identifier for this record.
|
|
457
|
+
* @returns The validated subscription ID.
|
|
458
|
+
*/ function idValue(id) {
|
|
375
459
|
if (typeof id.value !== "string" || id.value.trim() === "")
|
|
376
460
|
throw new TypeError("Stand subscription ID must be non-blank.");
|
|
377
461
|
return id.value;
|
|
378
462
|
}
|
|
379
|
-
|
|
463
|
+
/**
|
|
464
|
+
* Reads the validated opaque ID from a subscription definition.
|
|
465
|
+
*
|
|
466
|
+
* @param subscription The subscription definition being processed.
|
|
467
|
+
* @returns The subscription ID.
|
|
468
|
+
*/ function subscriptionId(subscription) {
|
|
380
469
|
const topicId = subscription.topic?.id?.value;
|
|
381
470
|
if (subscription.id === undefined || typeof topicId !== "string" || topicId.trim() === "")
|
|
382
471
|
throw new TypeError("Stand subscription ID and topic ID must be non-blank.");
|
|
383
472
|
return idValue(subscription.id);
|
|
384
473
|
}
|
|
385
|
-
|
|
474
|
+
/**
|
|
475
|
+
* Reads the expiry timestamp from a pending subscription record.
|
|
476
|
+
*
|
|
477
|
+
* @param entry Retained subscription entry.
|
|
478
|
+
* @returns The stored expiry timestamp.
|
|
479
|
+
*/ function expiresAt(entry) {
|
|
386
480
|
if (entry.phase !== "pending")
|
|
387
481
|
throw new Error("Stand subscription record is invalid.");
|
|
388
482
|
return entry.pendingUntil;
|
|
389
483
|
}
|
|
390
|
-
|
|
484
|
+
/**
|
|
485
|
+
* Clones a retained subscription entry before returning it.
|
|
486
|
+
*
|
|
487
|
+
* @param entry Retained subscription entry.
|
|
488
|
+
* @returns The detached subscription entry.
|
|
489
|
+
*/ function copy(entry) {
|
|
391
490
|
return freeze({ ...entry, subscription: clone(SubscriptionSchema, entry.subscription) });
|
|
392
491
|
}
|
|
393
|
-
|
|
492
|
+
/**
|
|
493
|
+
* Prevents mutation of a returned subscription entry.
|
|
494
|
+
*
|
|
495
|
+
* @param entry Retained subscription entry.
|
|
496
|
+
* @returns The frozen entry.
|
|
497
|
+
*/ function freeze(entry) {
|
|
394
498
|
return Object.freeze(entry);
|
|
395
499
|
}
|
|
396
|
-
|
|
500
|
+
/**
|
|
501
|
+
* Compares canonical bytes of two subscription definitions.
|
|
502
|
+
*
|
|
503
|
+
* @param left First value being compared.
|
|
504
|
+
* @param right Second value being compared.
|
|
505
|
+
* @returns Whether the definitions are equal.
|
|
506
|
+
*/ function sameSubscription(left, right) {
|
|
397
507
|
const leftBytes = toBinary(SubscriptionSchema, left);
|
|
398
508
|
const rightBytes = toBinary(SubscriptionSchema, right);
|
|
399
509
|
return (leftBytes.length === rightBytes.length &&
|
|
400
510
|
leftBytes.every((value, index) => value === rightBytes[index]));
|
|
401
511
|
}
|
|
402
|
-
|
|
512
|
+
/**
|
|
513
|
+
* Converts a Proto timestamp to epoch milliseconds.
|
|
514
|
+
*
|
|
515
|
+
* @param value Stored Proto timestamp.
|
|
516
|
+
* @returns The timestamp in milliseconds.
|
|
517
|
+
*/ function time(value) {
|
|
403
518
|
return Number(value.seconds) * 1000 + Math.floor(value.nanos / 1_000_000);
|
|
404
519
|
}
|
|
405
|
-
|
|
520
|
+
/**
|
|
521
|
+
* Raises an invalid-record error with the supplied reason.
|
|
522
|
+
*
|
|
523
|
+
* @param message Public validation or error message.
|
|
524
|
+
*/ function fail(message) {
|
|
406
525
|
throw new Error(message);
|
|
407
526
|
}
|
|
408
527
|
//# sourceMappingURL=subscription-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,GAIX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,IAAI,UAAU,CAAqC;IACjD,UAAU,EAAE,wBAAwB,CAAC,MAAM;IAC3C,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,uCAAuC,CAAC;IACjF,OAAO,EAAE;QACP,IAAI,YAAY,CACd,QAAQ,EACR,WAAW,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACnE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAC1B;QACD,IAAI,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3F,MAAM,CAAC,qBAAqB,KAAK,SAAS;YACxC,CAAC,CAAC,MAAM,CAAC,gBAAgB;YACzB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACvC;KACF;CACF,CAAC,CAAC;AAoIL;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAQtB;IAPrB,kBAAkB;IAElB;;;;OAIG;IACH,YAAqB,EAAU;QAC7B,KAAK,CAAC,uBAAuB,EAAE,0CAA0C,CAAC,CAAC;QADxD,OAAE,GAAF,EAAE,CAAQ;QAE7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAmED;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,kBAAkB;IAElB;;OAEG;IACM,UAAU,GAAG,KAAK,CAAC;IAEnB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE9D,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,YAA0B;QACrC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAAE,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC;YACnB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC;YACrD,KAAK,EAAE,SAAkB;YACzB,SAAS;YACT,YAAY,EAAE,SAAS,GAAG,oCAAoC;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAClC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,QAAiB;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,KAAqB;QAChC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,KAAqB;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CACpB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;aAChD,IAAI,CACH,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CACnC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CACtE;aACA,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU;aACpB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,IAAI,EACF,UAAU,CAAC,MAAM,GAAG,eAAe;gBACnC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBAClF,IAAI,CAAC,iBAAiB,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC,kBAAkB;IAElB;;OAEG;IACM,UAAU,GAAG,IAAI,CAAC;IAElB,QAAQ,CAAoD;IAErE,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;;OAKG;IACH,YAAY,OAAuB,EAAE,cAA8B;QACjE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,YAA0B;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC5F,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrD,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC;gBACnB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC;gBACrD,KAAK,EAAE,SAAkB;gBACzB,SAAS;gBACT,YAAY,EAAE,SAAS,GAAG,oCAAoC;aAC/D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACrE,IAAI,gBAAgB,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC;wBAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3D,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACjD,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,QAAiB;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,KAAqB;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC5C,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,KAAqB;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAClE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,EAAE,eAAe,GAAG,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG;YACH,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,UAAU;aACpB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;aACzB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI;YACxB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO;YACP,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;SACxF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,SAAS,OAAO,CAAC,EAAkB;IACjC,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QACxD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,YAA0B;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;IAC9C,IAAI,YAAY,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACvF,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,KAA6B;IAC9C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxF,OAAO,KAAK,CAAC,YAAY,CAAC;AAC5B,CAAC;AAED,SAAS,IAAI,CAAC,KAA6B;IACzC,OAAO,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,MAAM,CAAC,KAA6B;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB,EAAE,KAAmB;IAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAA2D;IACvE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,IAAI,CAAC,OAAe;IAC3B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAuB,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,GAIb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAgB,EAAE;IAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,OAAO,IAAI,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,IAAI,UAAU,CAAqC;IACjD,UAAU,EAAE,wBAAwB,CAAC,MAAM;IAC3C,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,uCAAuC,CAAC;IACjF,OAAO,EAAE;QACP,IAAI,YAAY,CACd,QAAQ,EACR,WAAW,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACnE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAC1B;QACD,IAAI,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3F,MAAM,CAAC,qBAAqB,KAAK,SAAS;YACxC,CAAC,CAAC,MAAM,CAAC,gBAAgB;YACzB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACvC;KACF;CACF,CAAC,CAAC;AA+IL;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAQtB;IAPrB,kBAAkB;IAElB;;;;OAIG;IACH,YAAqB,EAAU;QAC7B,KAAK,CAAC,uBAAuB,EAAE,0CAA0C,CAAC,CAAC;QADxD,OAAE,GAAF,EAAE,CAAQ;QAE7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,kBAAkB;IAElB;;OAEG;IACM,UAAU,GAAG,KAAK,CAAC;IAEnB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE9D,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,YAA0B,EAAE,MAAuB;QAC9D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IACE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBACtD,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAE/C,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC;YACnB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC;YACrD,KAAK,EAAE,SAAkB;YACzB,SAAS;YACT,YAAY,EAAE,SAAS,GAAG,oCAAoC;YAC9D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAqB,EAAE,MAAuB;QAC3D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,QAAiB;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAqB,EAAE,MAAuB;QACzD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,KAAqB;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CACpB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;aAChD,IAAI,CACH,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CACnC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CACtE;aACA,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU;aACpB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,IAAI,EACF,UAAU,CAAC,MAAM,GAAG,eAAe;gBACnC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBAClF,IAAI,CAAC,iBAAiB,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC,kBAAkB;IAElB;;OAEG;IACM,UAAU,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACM,aAAa,CAAe;IAE5B,QAAQ,CAAiB;IAEzB,eAAe,CAAiB;IAEhC,QAAQ,CAAoD;IAErE,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;;;OAMG;IACH,YAAY,OAAuB,EAAE,cAA8B,EAAE,YAA0B;QAC7F,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9F,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,mBAAmB,CAChD,IAAI,CAAC,QAAQ,EACb,sBAAsB,EACtB,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAA4B;QAClC,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,aAAa,CAChE,IAAI,CAAC,QAAQ,EACb,sBAAsB,EACtB,IAAI,CAAC,aAAa,EAClB,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,YAA0B,EAAE,MAAuB;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC5F,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5D,IACE,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC;oBACnD,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;oBAE5C,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC;gBACnB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC;gBACrD,KAAK,EAAE,SAAkB;gBACzB,SAAS;gBACT,YAAY,EAAE,SAAS,GAAG,oCAAoC;gBAC9D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAClB,QAAwB,EACxB,KAAa,EACb,YAA0B,EAC1B,MAAkC,EAClC,KAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrE,IACE,gBAAgB,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC;gBAC1D,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEnD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAqB,EAAE,MAAuB;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACjD,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,QAAiB;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAqB,EAAE,MAAuB;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC5C,IACE,MAAM,KAAK,SAAS;gBACpB,CAAC,gBAAgB,CAAC,OAAO,CACvB,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAC7D,MAAM,CACP;gBAED,OAAO,QAAQ,CAAC;YAClB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,KAAqB;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAClE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,EAAE,eAAe,GAAG,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG;YACH,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,UAAU;aACpB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;aACzB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI;YACxB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO;YACP,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;SACxF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED;;;;;GAKG,CAAC,SAAS,OAAO,CAAC,EAAkB;IACrC,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QACxD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,CAAC;AAED;;;;;GAKG,CAAC,SAAS,cAAc,CAAC,YAA0B;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;IAC9C,IAAI,YAAY,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACvF,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG,CAAC,SAAS,SAAS,CAAC,KAA6B;IAClD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxF,OAAO,KAAK,CAAC,YAAY,CAAC;AAC5B,CAAC;AAED;;;;;GAKG,CAAC,SAAS,IAAI,CAAC,KAA6B;IAC7C,OAAO,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;GAKG,CAAC,SAAS,MAAM,CAAC,KAA6B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG,CAAC,SAAS,gBAAgB,CAAC,IAAkB,EAAE,KAAmB;IACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;QACtC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED;;;;;GAKG,CAAC,SAAS,IAAI,CAAC,KAA2D;IAC3E,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG,CAAC,SAAS,IAAI,CAAC,OAAe;IAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -2,7 +2,10 @@ import type { ILogLayer } from "loglayer";
|
|
|
2
2
|
import { type SubscriptionUpdate } from "@spine-event-engine/proto/client";
|
|
3
3
|
import type { EventBus } from "../bus/event-bus.js";
|
|
4
4
|
import { type Stand, type StandSubscription } from "./stand.js";
|
|
5
|
-
import type { StandSubscriptionRegistry } from "./subscription-registry.js";
|
|
5
|
+
import type { StandSubscriptionEntry, StandSubscriptionRegistry } from "./subscription-registry.js";
|
|
6
|
+
/**
|
|
7
|
+
* Framework hooks for logger and subscription runtime coordination.
|
|
8
|
+
*/
|
|
6
9
|
interface SubscriptionRuntimeAccess {
|
|
7
10
|
/**
|
|
8
11
|
* Registers the server logger for this runtime.
|
|
@@ -61,9 +64,11 @@ export declare class SubscriptionRuntime {
|
|
|
61
64
|
*
|
|
62
65
|
* @param id Identifies the durable subscription definition.
|
|
63
66
|
* @param onUpdate Receives rendered subscription updates.
|
|
67
|
+
* @param onInvalidated Closes this consumer when its retained entry changes or disappears.
|
|
68
|
+
* @param expected Admitted entry that must still be current before delivery.
|
|
64
69
|
* @returns Resolves to the consumer removal handle.
|
|
65
70
|
*/
|
|
66
|
-
consume(id: string, onUpdate: (update: SubscriptionUpdate) => void): Promise<StandSubscription>;
|
|
71
|
+
consume(id: string, onUpdate: (update: SubscriptionUpdate) => void, onInvalidated?: () => void, expected?: StandSubscriptionEntry): Promise<StandSubscription>;
|
|
67
72
|
/**
|
|
68
73
|
* Updates local attachments from one complete registry snapshot.
|
|
69
74
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-runtime.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscription-runtime.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-runtime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAcpG;;GAEG;AACH,UAAU,yBAAyB;IACjC;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3F;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEhD;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;;IA6B9B;;;;;;;;OAQG;gBAED,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,EAClB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,QAAQ,EACxB,QAAQ,EAAE,yBAAyB;IAUrC;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB;;;;;;;;OAQG;IACH,OAAO,CACL,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,EAC9C,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAuB7B;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA+D1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA2CxB;;;;OAIG;IACH,QAAQ,IAAI,yBAAyB;IAIrC;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB;;;;OAIG;IACH,UAAU,IAAI,IAAI;CAwLnB;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,yBAwCtC,CAAC"}
|