@powerhousedao/reactor 5.1.0-dev.24 → 5.1.0-dev.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/dist/src/cache/document-meta-cache.d.ts.map +1 -1
- package/dist/src/cache/document-meta-cache.js +2 -1
- package/dist/src/cache/document-meta-cache.js.map +1 -1
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
- package/dist/src/cache/kysely-write-cache.js +2 -1
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +7 -8
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +18 -6
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +1 -0
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +5 -5
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +15 -5
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +18 -5
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/events/types.d.ts +1 -0
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +1 -1
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +33 -3
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/util.d.ts +14 -5
- package/dist/src/executor/util.d.ts.map +1 -1
- package/dist/src/executor/util.js +36 -9
- package/dist/src/executor/util.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/queue/types.d.ts +2 -0
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +3 -1
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +8 -7
- package/dist/src/read-models/coordinator.js.map +1 -1
- package/dist/src/registry/implementation.d.ts +42 -34
- package/dist/src/registry/implementation.d.ts.map +1 -1
- package/dist/src/registry/implementation.js +168 -48
- package/dist/src/registry/implementation.js.map +1 -1
- package/dist/src/registry/interfaces.d.ts +69 -8
- package/dist/src/registry/interfaces.d.ts.map +1 -1
- package/dist/src/shared/errors.d.ts +16 -0
- package/dist/src/shared/errors.d.ts.map +1 -1
- package/dist/src/shared/errors.js +28 -0
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/types.d.ts +4 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +16 -0
- package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -0
- package/dist/src/subs/subscription-notification-read-model.js +51 -0
- package/dist/src/subs/subscription-notification-read-model.js.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts +1 -1
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/composite-channel-factory.js +5 -8
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel.js +13 -0
- package/dist/src/sync/channels/gql-channel.js.map +1 -1
- package/dist/src/sync/channels/index.d.ts +1 -1
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +1 -1
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/polling-channel.d.ts +39 -0
- package/dist/src/sync/channels/polling-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/polling-channel.js +70 -0
- package/dist/src/sync/channels/polling-channel.js.map +1 -0
- package/dist/src/sync/errors.d.ts +1 -1
- package/dist/src/sync/errors.d.ts.map +1 -1
- package/dist/src/sync/errors.js +2 -2
- package/dist/src/sync/errors.js.map +1 -1
- package/dist/src/sync/index.d.ts +2 -2
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +2 -2
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +7 -0
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +6 -2
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/sync/channels/internal-channel.d.ts +0 -62
- package/dist/src/sync/channels/internal-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/internal-channel.js +0 -113
- package/dist/src/sync/channels/internal-channel.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/executor/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/executor/util.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -44,5 +44,5 @@ export { type IWriteCache } from "./cache/write/interfaces.js";
|
|
|
44
44
|
export { ConsoleLogger } from "./logging/console.js";
|
|
45
45
|
export { type ILogger } from "./logging/types.js";
|
|
46
46
|
export { KyselySyncCursorStorage, KyselySyncRemoteStorage, type ISyncCursorStorage, type ISyncRemoteStorage, } from "./storage/index.js";
|
|
47
|
-
export { ChannelError, ChannelErrorSource, CompositeChannelFactory, GqlChannelFactory,
|
|
47
|
+
export { ChannelError, ChannelErrorSource, CompositeChannelFactory, GqlChannelFactory, PollingChannel, PollingChannelError, Mailbox, SyncBuilder, SyncOperation, SyncOperationAggregateError, SyncOperationStatus, type ChannelConfig, type ChannelHealth, type ChannelMeta, type IChannel, type IChannelFactory, type ISyncManager, type MailboxItem, type Remote, type RemoteCursor, type RemoteFilter, type RemoteOptions, type RemoteRecord, type RemoteStatus, type SyncEnvelope, type SyncEnvelopeType, type SyncOperationErrorType, } from "./sync/index.js";
|
|
48
48
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -51,5 +51,5 @@ export { ConsoleLogger } from "./logging/console.js";
|
|
|
51
51
|
export {} from "./logging/types.js";
|
|
52
52
|
// Synchronization
|
|
53
53
|
export { KyselySyncCursorStorage, KyselySyncRemoteStorage, } from "./storage/index.js";
|
|
54
|
-
export { ChannelError, ChannelErrorSource, CompositeChannelFactory, GqlChannelFactory,
|
|
54
|
+
export { ChannelError, ChannelErrorSource, CompositeChannelFactory, GqlChannelFactory, PollingChannel, PollingChannelError, Mailbox, SyncBuilder, SyncOperation, SyncOperationAggregateError, SyncOperationStatus, } from "./sync/index.js";
|
|
55
55
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,8 @@ export type Job = {
|
|
|
52
52
|
lastError?: ErrorInfo;
|
|
53
53
|
/** History of all errors from each attempt (ordered) */
|
|
54
54
|
errorHistory: ErrorInfo[];
|
|
55
|
+
/** Optional metadata that flows through the job lifecycle */
|
|
56
|
+
meta?: Record<string, unknown>;
|
|
55
57
|
};
|
|
56
58
|
/**
|
|
57
59
|
* Event types for the queue system
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,oBAAY,aAAa;IACvB,OAAO,KAAK;IACZ,aAAa,IAAI;IACjB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IAEX,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC;IAEd,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,6DAA6D;IAC7D,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,wDAAwD;IACxD,YAAY,EAAE,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,oBAAY,aAAa;IACvB,OAAO,KAAK;IACZ,aAAa,IAAI;IACjB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IAEX,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC;IAEd,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,6DAA6D;IAC7D,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,wDAAwD;IACxD,YAAY,EAAE,SAAS,EAAE,CAAC;IAE1B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,wDAAY,CAAA;IACZ,mEAAiB,CAAA;IACjB,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,wDAAY,CAAA;IACZ,mEAAiB,CAAA;IACjB,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AA6DD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa,EAAE,KAAK;CACZ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IEventBus } from "../events/interfaces.js";
|
|
2
|
+
import type { ReactorSubscriptionManager } from "../subs/react-subscription-manager.js";
|
|
2
3
|
import type { IReadModel, IReadModelCoordinator } from "./interfaces.js";
|
|
3
4
|
/**
|
|
4
5
|
* Coordinates read model synchronization by listening to operation write events
|
|
@@ -18,7 +19,8 @@ export declare class ReadModelCoordinator implements IReadModelCoordinator {
|
|
|
18
19
|
private readModels;
|
|
19
20
|
private unsubscribe?;
|
|
20
21
|
private isRunning;
|
|
21
|
-
|
|
22
|
+
private subscriptionNotificationReadModel;
|
|
23
|
+
constructor(eventBus: IEventBus, readModels: IReadModel[], subscriptionManager: ReactorSubscriptionManager);
|
|
22
24
|
/**
|
|
23
25
|
* Start listening for operation events and updating read models.
|
|
24
26
|
* Can be called multiple times safely (subsequent calls are no-ops).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/read-models/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOzD,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/read-models/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAExF,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAM9D,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iCAAiC,CAAoC;gBAGnE,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,UAAU,EAAE,EAChC,mBAAmB,EAAE,0BAA0B;IAMjD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAgBb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAaZ;;;OAGG;YACW,sBAAsB;CAuBrC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OperationEventTypes, } from "../events/types.js";
|
|
2
|
+
import { SubscriptionNotificationReadModel } from "../subs/subscription-notification-read-model.js";
|
|
2
3
|
/**
|
|
3
4
|
* Coordinates read model synchronization by listening to operation write events
|
|
4
5
|
* and updating all registered read models in parallel.
|
|
@@ -17,9 +18,12 @@ export class ReadModelCoordinator {
|
|
|
17
18
|
readModels;
|
|
18
19
|
unsubscribe;
|
|
19
20
|
isRunning = false;
|
|
20
|
-
|
|
21
|
+
subscriptionNotificationReadModel;
|
|
22
|
+
constructor(eventBus, readModels, subscriptionManager) {
|
|
21
23
|
this.eventBus = eventBus;
|
|
22
24
|
this.readModels = readModels;
|
|
25
|
+
this.subscriptionNotificationReadModel =
|
|
26
|
+
new SubscriptionNotificationReadModel(subscriptionManager);
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
29
|
* Start listening for operation events and updating read models.
|
|
@@ -58,16 +62,13 @@ export class ReadModelCoordinator {
|
|
|
58
62
|
// If any read model fails, the error will be collected by the event bus
|
|
59
63
|
await Promise.all(this.readModels.map((readModel) => readModel.indexOperations(event.operations)));
|
|
60
64
|
// Emit OPERATIONS_READY event after all read models have completed
|
|
61
|
-
// Use fire-and-forget pattern to avoid blocking
|
|
62
65
|
const readyEvent = {
|
|
63
66
|
jobId: event.jobId,
|
|
64
67
|
operations: event.operations,
|
|
65
68
|
};
|
|
66
|
-
this.eventBus
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
// No-op: Event emission is fire-and-forget
|
|
70
|
-
});
|
|
69
|
+
await this.eventBus.emit(OperationEventTypes.OPERATIONS_READY, readyEvent);
|
|
70
|
+
// Notify subscriptions AFTER OPERATIONS_READY so reactor.get() returns fresh data
|
|
71
|
+
await this.subscriptionNotificationReadModel.indexOperations(event.operations);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
//# sourceMappingURL=coordinator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/read-models/coordinator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAIpB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/read-models/coordinator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAIpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AAGpG;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,oBAAoB;IAMrB;IACA;IANF,WAAW,CAAe;IAC1B,SAAS,GAAG,KAAK,CAAC;IAClB,iCAAiC,CAAoC;IAE7E,YACU,QAAmB,EACnB,UAAwB,EAChC,mBAA+C;QAFvC,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAc;QAGhC,IAAI,CAAC,iCAAiC;YACpC,IAAI,iCAAiC,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxC,mBAAmB,CAAC,iBAAiB,EACrC,KAAK,EAAE,IAAI,EAAE,KAA4B,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAClC,KAA4B;QAE5B,yCAAyC;QACzC,wEAAwE;QACxE,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAChC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAC5C,CACF,CAAC;QAEF,mEAAmE;QACnE,MAAM,UAAU,GAAyB;YACvC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAE3E,kFAAkF;QAClF,MAAM,IAAI,CAAC,iCAAiC,CAAC,eAAe,CAC1D,KAAK,CAAC,UAAU,CACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type { DocumentModelModule } from "document-model";
|
|
1
|
+
import type { DocumentModelModule, UpgradeManifest, UpgradeReducer, UpgradeTransition } from "document-model";
|
|
2
2
|
import type { IDocumentModelRegistry } from "./interfaces.js";
|
|
3
3
|
/**
|
|
4
4
|
* Error thrown when a document model module is not found in the registry.
|
|
5
5
|
*/
|
|
6
6
|
export declare class ModuleNotFoundError extends Error {
|
|
7
|
-
constructor(documentType: string);
|
|
7
|
+
constructor(documentType: string, version?: number);
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Error thrown when attempting to register a module that already exists.
|
|
11
11
|
*/
|
|
12
12
|
export declare class DuplicateModuleError extends Error {
|
|
13
|
-
constructor(documentType: string);
|
|
13
|
+
constructor(documentType: string, version?: number);
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Error thrown when a module is invalid or malformed.
|
|
@@ -18,45 +18,53 @@ export declare class DuplicateModuleError extends Error {
|
|
|
18
18
|
export declare class InvalidModuleError extends Error {
|
|
19
19
|
constructor(message: string);
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Error thrown when attempting to register an upgrade manifest that already exists.
|
|
23
|
+
*/
|
|
24
|
+
export declare class DuplicateManifestError extends Error {
|
|
25
|
+
constructor(documentType: string);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Error thrown when an upgrade manifest is not found.
|
|
29
|
+
*/
|
|
30
|
+
export declare class ManifestNotFoundError extends Error {
|
|
31
|
+
constructor(documentType: string);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Error thrown when attempting a downgrade operation.
|
|
35
|
+
*/
|
|
36
|
+
export declare class DowngradeNotSupportedError extends Error {
|
|
37
|
+
constructor(documentType: string, fromVersion: number, toVersion: number);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error thrown when a required upgrade transition is missing from the manifest.
|
|
41
|
+
*/
|
|
42
|
+
export declare class MissingUpgradeTransitionError extends Error {
|
|
43
|
+
constructor(documentType: string, fromVersion: number, toVersion: number);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Error thrown when getUpgradeReducer is called with a non-single-step version increment.
|
|
47
|
+
*/
|
|
48
|
+
export declare class InvalidUpgradeStepError extends Error {
|
|
49
|
+
constructor(documentType: string, fromVersion: number, toVersion: number);
|
|
50
|
+
}
|
|
21
51
|
/**
|
|
22
52
|
* In-memory implementation of the IDocumentModelRegistry interface.
|
|
23
|
-
* Manages document model modules
|
|
53
|
+
* Manages document model modules with version-aware storage and upgrade manifest support.
|
|
24
54
|
*/
|
|
25
55
|
export declare class DocumentModelRegistry implements IDocumentModelRegistry {
|
|
26
56
|
private modules;
|
|
27
|
-
|
|
28
|
-
* Register multiple modules at once.
|
|
29
|
-
*
|
|
30
|
-
* @param modules Document model modules to register
|
|
31
|
-
* @throws DuplicateModuleError if a module with the same document type is already registered
|
|
32
|
-
* @throws InvalidModuleError if a module is malformed
|
|
33
|
-
*/
|
|
57
|
+
private manifests;
|
|
34
58
|
registerModules(...modules: DocumentModelModule<any>[]): void;
|
|
35
|
-
/**
|
|
36
|
-
* Unregister multiple document model modules at once.
|
|
37
|
-
*
|
|
38
|
-
* @param documentTypes The document types to unregister
|
|
39
|
-
* @returns true if all modules were unregistered, false if any were not found
|
|
40
|
-
*/
|
|
41
59
|
unregisterModules(...documentTypes: string[]): boolean;
|
|
42
|
-
|
|
43
|
-
* Get a specific document model module by document type.
|
|
44
|
-
*
|
|
45
|
-
* @param documentType The document type identifier
|
|
46
|
-
* @returns The document model module
|
|
47
|
-
* @throws ModuleNotFoundError if the document type is not registered
|
|
48
|
-
*/
|
|
49
|
-
getModule(documentType: string): DocumentModelModule<any>;
|
|
50
|
-
/**
|
|
51
|
-
* Get all registered document model modules.
|
|
52
|
-
* Note: This only returns loaded modules, not lazy-loaded ones.
|
|
53
|
-
*
|
|
54
|
-
* @returns Array of all registered modules
|
|
55
|
-
*/
|
|
60
|
+
getModule(documentType: string, version?: number): DocumentModelModule<any>;
|
|
56
61
|
getAllModules(): DocumentModelModule<any>[];
|
|
57
|
-
/**
|
|
58
|
-
* Clear all registered modules
|
|
59
|
-
*/
|
|
60
62
|
clear(): void;
|
|
63
|
+
getSupportedVersions(documentType: string): number[];
|
|
64
|
+
getLatestVersion(documentType: string): number;
|
|
65
|
+
registerUpgradeManifests(...manifests: UpgradeManifest<readonly number[]>[]): void;
|
|
66
|
+
getUpgradeManifest(documentType: string): UpgradeManifest<readonly number[]>;
|
|
67
|
+
computeUpgradePath(documentType: string, fromVersion: number, toVersion: number): UpgradeTransition[];
|
|
68
|
+
getUpgradeReducer(documentType: string, fromVersion: number, toVersion: number): UpgradeReducer<any, any>;
|
|
61
69
|
}
|
|
62
70
|
//# sourceMappingURL=implementation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAOnD;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAOnD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,YAAY,EAAE,MAAM;CAIjC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,YAAY,EAAE,MAAM;CAIjC;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMzE;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMzE;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMzE;AAED;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAA4C;IAE7D,eAAe,CAAC,GAAG,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAmB7D,iBAAiB,CAAC,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO;IAoBtD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC;IA4B3E,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE;IAI3C,KAAK,IAAI,IAAI;IAKb,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBpD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAqB9C,wBAAwB,CACtB,GAAG,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GACjD,IAAI;IAWP,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC;IAS5E,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,iBAAiB,EAAE;IA+BtB,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;CAoB5B"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Error thrown when a document model module is not found in the registry.
|
|
3
3
|
*/
|
|
4
4
|
export class ModuleNotFoundError extends Error {
|
|
5
|
-
constructor(documentType) {
|
|
6
|
-
|
|
5
|
+
constructor(documentType, version) {
|
|
6
|
+
const versionSuffix = version !== undefined ? ` version ${version}` : "";
|
|
7
|
+
super(`Document model module not found for type: ${documentType}${versionSuffix}`);
|
|
7
8
|
this.name = "ModuleNotFoundError";
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -11,8 +12,9 @@ export class ModuleNotFoundError extends Error {
|
|
|
11
12
|
* Error thrown when attempting to register a module that already exists.
|
|
12
13
|
*/
|
|
13
14
|
export class DuplicateModuleError extends Error {
|
|
14
|
-
constructor(documentType) {
|
|
15
|
-
|
|
15
|
+
constructor(documentType, version) {
|
|
16
|
+
const versionSuffix = version !== undefined ? ` (version ${version})` : "";
|
|
17
|
+
super(`Document model module already registered for type: ${documentType}${versionSuffix}`);
|
|
16
18
|
this.name = "DuplicateModuleError";
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -25,72 +27,190 @@ export class InvalidModuleError extends Error {
|
|
|
25
27
|
this.name = "InvalidModuleError";
|
|
26
28
|
}
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Error thrown when attempting to register an upgrade manifest that already exists.
|
|
32
|
+
*/
|
|
33
|
+
export class DuplicateManifestError extends Error {
|
|
34
|
+
constructor(documentType) {
|
|
35
|
+
super(`Upgrade manifest already registered for type: ${documentType}`);
|
|
36
|
+
this.name = "DuplicateManifestError";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error thrown when an upgrade manifest is not found.
|
|
41
|
+
*/
|
|
42
|
+
export class ManifestNotFoundError extends Error {
|
|
43
|
+
constructor(documentType) {
|
|
44
|
+
super(`Upgrade manifest not found for type: ${documentType}`);
|
|
45
|
+
this.name = "ManifestNotFoundError";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when attempting a downgrade operation.
|
|
50
|
+
*/
|
|
51
|
+
export class DowngradeNotSupportedError extends Error {
|
|
52
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
53
|
+
super(`Downgrade not supported for ${documentType}: cannot go from version ${fromVersion} to ${toVersion}`);
|
|
54
|
+
this.name = "DowngradeNotSupportedError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Error thrown when a required upgrade transition is missing from the manifest.
|
|
59
|
+
*/
|
|
60
|
+
export class MissingUpgradeTransitionError extends Error {
|
|
61
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
62
|
+
super(`Missing upgrade transition for ${documentType}: v${fromVersion} to v${toVersion}`);
|
|
63
|
+
this.name = "MissingUpgradeTransitionError";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Error thrown when getUpgradeReducer is called with a non-single-step version increment.
|
|
68
|
+
*/
|
|
69
|
+
export class InvalidUpgradeStepError extends Error {
|
|
70
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
71
|
+
super(`Invalid upgrade step for ${documentType}: must be single version increment, got v${fromVersion} to v${toVersion}`);
|
|
72
|
+
this.name = "InvalidUpgradeStepError";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
28
75
|
/**
|
|
29
76
|
* In-memory implementation of the IDocumentModelRegistry interface.
|
|
30
|
-
* Manages document model modules
|
|
77
|
+
* Manages document model modules with version-aware storage and upgrade manifest support.
|
|
31
78
|
*/
|
|
32
79
|
export class DocumentModelRegistry {
|
|
33
|
-
modules =
|
|
34
|
-
|
|
35
|
-
* Register multiple modules at once.
|
|
36
|
-
*
|
|
37
|
-
* @param modules Document model modules to register
|
|
38
|
-
* @throws DuplicateModuleError if a module with the same document type is already registered
|
|
39
|
-
* @throws InvalidModuleError if a module is malformed
|
|
40
|
-
*/
|
|
80
|
+
modules = [];
|
|
81
|
+
manifests = [];
|
|
41
82
|
registerModules(...modules) {
|
|
42
83
|
for (const module of modules) {
|
|
43
84
|
const documentType = module.documentModel.global.id;
|
|
44
|
-
|
|
45
|
-
|
|
85
|
+
const version = module.version ?? 1;
|
|
86
|
+
for (let i = 0; i < this.modules.length; i++) {
|
|
87
|
+
const existing = this.modules[i];
|
|
88
|
+
const existingType = existing.documentModel.global.id;
|
|
89
|
+
const existingVersion = existing.version ?? 1;
|
|
90
|
+
if (existingType === documentType && existingVersion === version) {
|
|
91
|
+
throw new DuplicateModuleError(documentType, version);
|
|
92
|
+
}
|
|
46
93
|
}
|
|
47
|
-
this.modules.
|
|
94
|
+
this.modules.push(module);
|
|
48
95
|
}
|
|
49
96
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Unregister multiple document model modules at once.
|
|
52
|
-
*
|
|
53
|
-
* @param documentTypes The document types to unregister
|
|
54
|
-
* @returns true if all modules were unregistered, false if any were not found
|
|
55
|
-
*/
|
|
56
97
|
unregisterModules(...documentTypes) {
|
|
57
98
|
let allFound = true;
|
|
58
99
|
for (const documentType of documentTypes) {
|
|
59
|
-
const
|
|
60
|
-
if (!
|
|
100
|
+
const hasModule = this.modules.some((m) => m.documentModel.global.id === documentType);
|
|
101
|
+
if (!hasModule) {
|
|
61
102
|
allFound = false;
|
|
62
103
|
}
|
|
104
|
+
this.modules = this.modules.filter((m) => m.documentModel.global.id !== documentType);
|
|
63
105
|
}
|
|
64
106
|
return allFound;
|
|
65
107
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
108
|
+
getModule(documentType, version) {
|
|
109
|
+
let latestModule;
|
|
110
|
+
let latestVersion = -1;
|
|
111
|
+
for (let i = 0; i < this.modules.length; i++) {
|
|
112
|
+
const module = this.modules[i];
|
|
113
|
+
const moduleType = module.documentModel.global.id;
|
|
114
|
+
const moduleVersion = module.version ?? 1;
|
|
115
|
+
if (moduleType === documentType) {
|
|
116
|
+
if (version !== undefined && moduleVersion === version) {
|
|
117
|
+
return module;
|
|
118
|
+
}
|
|
119
|
+
if (moduleVersion > latestVersion) {
|
|
120
|
+
latestModule = module;
|
|
121
|
+
latestVersion = moduleVersion;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
77
124
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
* @returns Array of all registered modules
|
|
85
|
-
*/
|
|
125
|
+
if (version === undefined && latestModule !== undefined) {
|
|
126
|
+
return latestModule;
|
|
127
|
+
}
|
|
128
|
+
throw new ModuleNotFoundError(documentType, version);
|
|
129
|
+
}
|
|
86
130
|
getAllModules() {
|
|
87
|
-
return
|
|
131
|
+
return [...this.modules];
|
|
88
132
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Clear all registered modules
|
|
91
|
-
*/
|
|
92
133
|
clear() {
|
|
93
|
-
this.modules
|
|
134
|
+
this.modules = [];
|
|
135
|
+
this.manifests = [];
|
|
136
|
+
}
|
|
137
|
+
getSupportedVersions(documentType) {
|
|
138
|
+
const versions = [];
|
|
139
|
+
for (const module of this.modules) {
|
|
140
|
+
if (module.documentModel.global.id === documentType) {
|
|
141
|
+
versions.push(module.version ?? 1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (versions.length === 0) {
|
|
145
|
+
throw new ModuleNotFoundError(documentType);
|
|
146
|
+
}
|
|
147
|
+
return versions.sort((a, b) => a - b);
|
|
148
|
+
}
|
|
149
|
+
getLatestVersion(documentType) {
|
|
150
|
+
let latest = -1;
|
|
151
|
+
let found = false;
|
|
152
|
+
for (const module of this.modules) {
|
|
153
|
+
if (module.documentModel.global.id === documentType) {
|
|
154
|
+
found = true;
|
|
155
|
+
const version = module.version ?? 1;
|
|
156
|
+
if (version > latest) {
|
|
157
|
+
latest = version;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (!found) {
|
|
162
|
+
throw new ModuleNotFoundError(documentType);
|
|
163
|
+
}
|
|
164
|
+
return latest;
|
|
165
|
+
}
|
|
166
|
+
registerUpgradeManifests(...manifests) {
|
|
167
|
+
for (const manifest of manifests) {
|
|
168
|
+
for (let i = 0; i < this.manifests.length; i++) {
|
|
169
|
+
if (this.manifests[i].documentType === manifest.documentType) {
|
|
170
|
+
throw new DuplicateManifestError(manifest.documentType);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
this.manifests.push(manifest);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
getUpgradeManifest(documentType) {
|
|
177
|
+
for (let i = 0; i < this.manifests.length; i++) {
|
|
178
|
+
if (this.manifests[i].documentType === documentType) {
|
|
179
|
+
return this.manifests[i];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
throw new ManifestNotFoundError(documentType);
|
|
183
|
+
}
|
|
184
|
+
computeUpgradePath(documentType, fromVersion, toVersion) {
|
|
185
|
+
if (fromVersion === toVersion) {
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
if (toVersion < fromVersion) {
|
|
189
|
+
throw new DowngradeNotSupportedError(documentType, fromVersion, toVersion);
|
|
190
|
+
}
|
|
191
|
+
const manifest = this.getUpgradeManifest(documentType);
|
|
192
|
+
const path = [];
|
|
193
|
+
for (let v = fromVersion + 1; v <= toVersion; v++) {
|
|
194
|
+
const key = `v${v}`;
|
|
195
|
+
if (!(key in manifest.upgrades)) {
|
|
196
|
+
throw new MissingUpgradeTransitionError(documentType, v - 1, v);
|
|
197
|
+
}
|
|
198
|
+
const transition = manifest.upgrades[key];
|
|
199
|
+
path.push(transition);
|
|
200
|
+
}
|
|
201
|
+
return path;
|
|
202
|
+
}
|
|
203
|
+
getUpgradeReducer(documentType, fromVersion, toVersion) {
|
|
204
|
+
if (toVersion !== fromVersion + 1) {
|
|
205
|
+
throw new InvalidUpgradeStepError(documentType, fromVersion, toVersion);
|
|
206
|
+
}
|
|
207
|
+
const manifest = this.getUpgradeManifest(documentType);
|
|
208
|
+
const key = `v${toVersion}`;
|
|
209
|
+
if (!(key in manifest.upgrades)) {
|
|
210
|
+
throw new MissingUpgradeTransitionError(documentType, fromVersion, toVersion);
|
|
211
|
+
}
|
|
212
|
+
const transition = manifest.upgrades[key];
|
|
213
|
+
return transition.upgradeReducer;
|
|
94
214
|
}
|
|
95
215
|
}
|
|
96
216
|
//# sourceMappingURL=implementation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"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"}
|