@cratis/chronicle 6.41.1 → 6.42.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/dist/projections/captureProjectionProvenance.d.ts.map +1 -1
- package/dist/projections/captureProjectionProvenance.js +2 -0
- package/dist/projections/captureProjectionProvenance.js.map +1 -1
- package/dist/projections/declarative/FromAllBuilder.d.ts +18 -0
- package/dist/projections/declarative/FromAllBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/FromAllBuilder.js +36 -0
- package/dist/projections/declarative/FromAllBuilder.js.map +1 -0
- package/dist/projections/declarative/IFromAllBuilder.d.ts +33 -0
- package/dist/projections/declarative/IFromAllBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IFromAllBuilder.js +4 -0
- package/dist/projections/declarative/IFromAllBuilder.js.map +1 -0
- package/dist/projections/declarative/IProjectionBuilderFor.d.ts +8 -0
- package/dist/projections/declarative/IProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts +4 -0
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.js +15 -0
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/projections/declarative/index.d.ts +2 -0
- package/dist/projections/declarative/index.d.ts.map +1 -1
- package/dist/projections/declarative/index.js +1 -0
- package/dist/projections/declarative/index.js.map +1 -1
- package/dist/projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.d.ts +6 -0
- package/dist/projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.d.ts.map +1 -0
- package/dist/projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.js +12 -0
- package/dist/projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.js.map +1 -0
- package/dist/projections/modelBound/fromAll.d.ts +2 -1
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
- package/dist/projections/modelBound/fromAll.js +2 -1
- package/dist/projections/modelBound/fromAll.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/projections/captureProjectionProvenance.ts +1 -0
- package/projections/declarative/FromAllBuilder.ts +49 -0
- package/projections/declarative/IFromAllBuilder.ts +39 -0
- package/projections/declarative/IProjectionBuilderFor.ts +9 -0
- package/projections/declarative/ProjectionBuilderFor.ts +17 -0
- package/projections/declarative/for_ProjectionBuilderFor/when_subscribing_to_all_events.spec.ts +111 -0
- package/projections/declarative/index.ts +2 -0
- package/projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.ts +15 -0
- package/projections/for_ProjectionDefinitionCompiler/when_compiling_from_all.spec.ts +90 -0
- package/projections/for_ProjectionDefinitionCompiler/when_compiling_from_all.standard.spec.ts +69 -0
- package/projections/modelBound/fromAll.ts +2 -1
- package/testing/projections/ProjectionReadModelProcessor.fixtures.spec.ts +5 -0
- package/testing/projections/for_ProjectionCapabilities/when_rejecting_unsupported_operations.spec.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureProjectionProvenance.d.ts","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAI1F,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAAG,8BAA8B,EAAE,
|
|
1
|
+
{"version":3,"file":"captureProjectionProvenance.d.ts","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAI1F,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAAG,8BAA8B,EAAE,CA0C1L"}
|
|
@@ -38,6 +38,8 @@ export function captureProjectionProvenance(definition, modelBound, overrides =
|
|
|
38
38
|
add(`${section}.${property}`, modelBound ? (section === 'Children' ? '@childrenFrom' : '@nested') : `.${section.toLowerCase()}`);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
if (definition.SubscribesToAllEvents === true)
|
|
42
|
+
add('SubscribesToAllEvents', `${prefix}fromAll`);
|
|
41
43
|
const all = definition.All;
|
|
42
44
|
if (all?.IncludeChildren || Object.keys(all?.Properties ?? {}).length)
|
|
43
45
|
add('All', modelBound ? '@fromEvery' : '.fromEvery');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureProjectionProvenance.js","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"captureProjectionProvenance.js","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PropertyAccessor } from '@cratis/fundamentals';
|
|
2
|
+
import type { IAllSetBuilder } from './IAllSetBuilder.js';
|
|
3
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
4
|
+
/** Accumulates all-event mappings without restricting the event subscription to known types. */
|
|
5
|
+
export declare class FromAllBuilder<TReadModel> implements IFromAllBuilder<TReadModel> {
|
|
6
|
+
readonly properties: Record<string, string>;
|
|
7
|
+
/** @inheritdoc */
|
|
8
|
+
set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAllSetBuilder<TReadModel, IFromAllBuilder<TReadModel>>;
|
|
9
|
+
/** @inheritdoc */
|
|
10
|
+
count(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
15
|
+
private operation;
|
|
16
|
+
private targetProperty;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=FromAllBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromAllBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/FromAllBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAE1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,gGAAgG;AAChG,qBAAa,cAAc,CAAC,UAAU,CAAE,YAAW,eAAe,CAAC,UAAU,CAAC;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEjD,kBAAkB;IAClB,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAMpH;IAED,kBAAkB;IAClB,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAExH;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAE5H;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAE5H;IAED,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,cAAc;CAKzB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
|
|
4
|
+
import { AllSetBuilder } from './AllSetBuilder.js';
|
|
5
|
+
/** Accumulates all-event mappings without restricting the event subscription to known types. */
|
|
6
|
+
export class FromAllBuilder {
|
|
7
|
+
properties = {};
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
set(readModelPropertyAccessor) {
|
|
10
|
+
return new AllSetBuilder(this.targetProperty(readModelPropertyAccessor), (property, expression) => { this.properties[property] = expression; }, this);
|
|
11
|
+
}
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
count(readModelPropertyAccessor, contextPropertyName) {
|
|
14
|
+
return this.operation(readModelPropertyAccessor, '$count', contextPropertyName);
|
|
15
|
+
}
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
increment(readModelPropertyAccessor, contextPropertyName) {
|
|
18
|
+
return this.operation(readModelPropertyAccessor, '$increment', contextPropertyName);
|
|
19
|
+
}
|
|
20
|
+
/** @inheritdoc */
|
|
21
|
+
decrement(readModelPropertyAccessor, contextPropertyName) {
|
|
22
|
+
return this.operation(readModelPropertyAccessor, '$decrement', contextPropertyName);
|
|
23
|
+
}
|
|
24
|
+
operation(accessor, expression, contextPropertyName) {
|
|
25
|
+
const property = this.targetProperty(accessor);
|
|
26
|
+
const target = contextPropertyName === undefined ? property : `${property}.$eventContext.${contextPropertyName}`;
|
|
27
|
+
this.properties[target] = expression;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
targetProperty(accessor) {
|
|
31
|
+
const handler = new PropertyPathResolverProxyHandler();
|
|
32
|
+
accessor(new Proxy({}, handler));
|
|
33
|
+
return handler.property;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=FromAllBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromAllBuilder.js","sourceRoot":"","sources":["../../../projections/declarative/FromAllBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,gGAAgG;AAChG,MAAM,OAAO,cAAc;IACd,UAAU,GAA2B,EAAE,CAAC;IAEjD,kBAAkB;IAClB,GAAG,CAAC,yBAAuD;QACvD,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAC9C,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACrE,IAAI,CACP,CAAC;IACN,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,yBAAuD,EAAE,mBAA4B;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACpF,CAAC;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAuD,EAAE,mBAA4B;QAC3F,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;IAClB,SAAS,CAAC,yBAAuD,EAAE,mBAA4B;QAC3F,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACxF,CAAC;IAEO,SAAS,CAAC,QAAsC,EAAE,UAAkB,EAAE,mBAA4B;QACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,kBAAkB,mBAAmB,EAAE,CAAC;QACjH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,QAAsC;QACzD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAe,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;CACJ"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { PropertyAccessor } from '@cratis/fundamentals';
|
|
2
|
+
import type { IAllSetBuilder } from './IAllSetBuilder.js';
|
|
3
|
+
/** Configures mappings for every event, including types not otherwise declared by the projection. */
|
|
4
|
+
export interface IFromAllBuilder<TReadModel> {
|
|
5
|
+
/**
|
|
6
|
+
* Starts an assignment to a read-model property.
|
|
7
|
+
* @param readModelPropertyAccessor - Target property accessor.
|
|
8
|
+
* @returns The assignment builder, continuing with this all-events builder.
|
|
9
|
+
*/
|
|
10
|
+
set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAllSetBuilder<TReadModel, IFromAllBuilder<TReadModel>>;
|
|
11
|
+
/**
|
|
12
|
+
* Counts every event, optionally under a dynamic dictionary key.
|
|
13
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
14
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key, such as `eventType.id`.
|
|
15
|
+
* @returns This builder for chaining.
|
|
16
|
+
*/
|
|
17
|
+
count(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
18
|
+
/**
|
|
19
|
+
* Increments a property for every event, optionally under a dynamic dictionary key.
|
|
20
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
21
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key.
|
|
22
|
+
* @returns This builder for chaining.
|
|
23
|
+
*/
|
|
24
|
+
increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
25
|
+
/**
|
|
26
|
+
* Decrements a property for every event, optionally under a dynamic dictionary key.
|
|
27
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
28
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key.
|
|
29
|
+
* @returns This builder for chaining.
|
|
30
|
+
*/
|
|
31
|
+
decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=IFromAllBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFromAllBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/IFromAllBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qGAAqG;AACrG,MAAM,WAAW,eAAe,CAAC,UAAU;IACvC;;;;OAIG;IACH,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtH;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE1H;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE9H;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;CACjI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFromAllBuilder.js","sourceRoot":"","sources":["../../../projections/declarative/IFromAllBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { PropertyAccessor } from '@cratis/fundamentals';
|
|
2
2
|
import { IProjectionBuilder } from './IProjectionBuilder.js';
|
|
3
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
3
4
|
/**
|
|
4
5
|
* Defines the top-level projection builder for a specific read model type.
|
|
5
6
|
* Extends the core builder with projection-wide configuration options.
|
|
6
7
|
* @template TReadModel - The read model type this projection produces.
|
|
7
8
|
*/
|
|
8
9
|
export interface IProjectionBuilderFor<TReadModel> extends IProjectionBuilder<TReadModel, IProjectionBuilderFor<TReadModel>> {
|
|
10
|
+
/**
|
|
11
|
+
* Subscribes to every event type, including types not explicitly declared.
|
|
12
|
+
* Mappings share the All block with fromEvery. Unlike fromEvery, this expands the subscription.
|
|
13
|
+
* @param builderCallback - Callback for configuring all-event assignments and counters.
|
|
14
|
+
* @returns This builder for fluent chaining.
|
|
15
|
+
*/
|
|
16
|
+
fromAll(builderCallback: (builder: IFromAllBuilder<TReadModel>) => void): IProjectionBuilderFor<TReadModel>;
|
|
9
17
|
/**
|
|
10
18
|
* Specifies the event sequence this projection should read from.
|
|
11
19
|
* @param eventSequenceId - The identifier of the event sequence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IProjectionBuilderFor.d.ts","sourceRoot":"","sources":["../../../projections/declarative/IProjectionBuilderFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"IProjectionBuilderFor.d.ts","sourceRoot":"","sources":["../../../projections/declarative/IProjectionBuilderFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,UAAU,CAC7C,SAAQ,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzE;;;;;OAKG;IACH,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE5G;;;;OAIG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE9E;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/D;;;OAGG;IACH,aAAa,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEnD;;;OAGG;IACH,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE7C;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE5G;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAClF"}
|
|
@@ -2,6 +2,7 @@ import { PropertyAccessor } from '@cratis/fundamentals';
|
|
|
2
2
|
import { IChildrenBuilder } from './IChildrenBuilder.js';
|
|
3
3
|
import { INestedBuilder } from './INestedBuilder.js';
|
|
4
4
|
import { IProjectionBuilderFor } from './IProjectionBuilderFor.js';
|
|
5
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
5
6
|
import { ChildrenDefinitionLike, ContractEventType, ProjectionBuilderCore } from './ProjectionBuilderCore.js';
|
|
6
7
|
/**
|
|
7
8
|
* Concrete implementation of {@link IProjectionBuilderFor} that accumulates projection
|
|
@@ -13,11 +14,14 @@ export declare class ProjectionBuilderFor<TReadModel> extends ProjectionBuilderC
|
|
|
13
14
|
private _containerName;
|
|
14
15
|
private _rewindable;
|
|
15
16
|
private _active;
|
|
17
|
+
private _subscribesToAllEvents;
|
|
16
18
|
private _variantIdentity;
|
|
17
19
|
private _variantKey;
|
|
18
20
|
private readonly _enteringEventTypes;
|
|
19
21
|
constructor();
|
|
20
22
|
/** @inheritdoc */
|
|
23
|
+
fromAll(builderCallback: (builder: IFromAllBuilder<TReadModel>) => void): this;
|
|
24
|
+
/** @inheritdoc */
|
|
21
25
|
fromEventSequence(eventSequenceId: string): this;
|
|
22
26
|
/** @inheritdoc */
|
|
23
27
|
containerName(name: string): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionBuilderFor.d.ts","sourceRoot":"","sources":["../../../projections/declarative/ProjectionBuilderFor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectionBuilderFor.d.ts","sourceRoot":"","sources":["../../../projections/declarative/ProjectionBuilderFor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE9G;;;;GAIG;AACH,qBAAa,oBAAoB,CAAC,UAAU,CAAE,SAAQ,qBAAqB,CAAC,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAE,YAAW,qBAAqB,CAAC,UAAU,CAAC;IAClK,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAE/D,cAGC;IAED,kBAAkB;IAClB,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,IAAI,CAU7E;IAED,kBAAkB;IAClB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAG/C;IAED,kBAAkB;IAClB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGhC;IAED,kBAAkB;IAClB,aAAa,IAAI,IAAI,CAGpB;IAED,kBAAkB;IAClB,OAAO,IAAI,IAAI,CAGd;IAED,kBAAkB;IAClB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAQ7E;IAED,kBAAkB;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAUhD;IAED;;;OAGG;IACH,qBAAqB,IAAI;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,SAAS,CAMhH;IAED,kBAAkB;IAClB,QAAQ,CAAC,WAAW,EAChB,sBAAsB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACpD,eAAe,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,IAAI,GAC9E,IAAI,CASN;IAED,kBAAkB;IAClB,MAAM,CAAC,YAAY,EACf,sBAAsB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACpD,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,IAAI,GAC7E,IAAI,CASN;IAED,+EAA+E;IAC/E,uBAAuB,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;KAAE,CAE9H;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBxE;IAED;;;OAGG;IACH,4BAA4B,IAAI,MAAM,EAAE,CAoBvC;IAED;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CASnC"}
|
|
@@ -5,6 +5,7 @@ import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
|
|
|
5
5
|
import { EventSequenceId } from '../../eventSequences/EventSequenceId.js';
|
|
6
6
|
import { canonicalStringify } from '../canonicalStringify.js';
|
|
7
7
|
import { ChildrenBuilder } from './ChildrenBuilder.js';
|
|
8
|
+
import { FromAllBuilder } from './FromAllBuilder.js';
|
|
8
9
|
import { NestedBuilder } from './NestedBuilder.js';
|
|
9
10
|
import { ProjectionBuilderCore } from './ProjectionBuilderCore.js';
|
|
10
11
|
/**
|
|
@@ -17,6 +18,7 @@ export class ProjectionBuilderFor extends ProjectionBuilderCore {
|
|
|
17
18
|
_containerName;
|
|
18
19
|
_rewindable = true;
|
|
19
20
|
_active = true;
|
|
21
|
+
_subscribesToAllEvents = false;
|
|
20
22
|
_variantIdentity;
|
|
21
23
|
_variantKey;
|
|
22
24
|
_enteringEventTypes = [];
|
|
@@ -25,6 +27,18 @@ export class ProjectionBuilderFor extends ProjectionBuilderCore {
|
|
|
25
27
|
this._autoMap = AutoMap.Enabled;
|
|
26
28
|
}
|
|
27
29
|
/** @inheritdoc */
|
|
30
|
+
fromAll(builderCallback) {
|
|
31
|
+
const builder = new FromAllBuilder();
|
|
32
|
+
builderCallback(builder);
|
|
33
|
+
this._subscribesToAllEvents = true;
|
|
34
|
+
this._all = {
|
|
35
|
+
Properties: { ...this._all.Properties, ...builder.properties },
|
|
36
|
+
IncludeChildren: true,
|
|
37
|
+
AutoMap: AutoMap.Inherit
|
|
38
|
+
};
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/** @inheritdoc */
|
|
28
42
|
fromEventSequence(eventSequenceId) {
|
|
29
43
|
this._eventSequenceId = eventSequenceId;
|
|
30
44
|
return this;
|
|
@@ -119,6 +133,7 @@ export class ProjectionBuilderFor extends ProjectionBuilderCore {
|
|
|
119
133
|
Children: this._children,
|
|
120
134
|
FromEvery: [],
|
|
121
135
|
All: this._all,
|
|
136
|
+
...(this._subscribesToAllEvents ? { SubscribesToAllEvents: true } : {}),
|
|
122
137
|
FromEventProperty: undefined,
|
|
123
138
|
RemovedWith: this._removedWith,
|
|
124
139
|
RemovedWithJoin: this._removedWithJoin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionBuilderFor.js","sourceRoot":"","sources":["../../../projections/declarative/ProjectionBuilderFor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectionBuilderFor.js","sourceRoot":"","sources":["../../../projections/declarative/ProjectionBuilderFor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAA6C,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE9G;;;;GAIG;AACH,MAAM,OAAO,oBAAiC,SAAQ,qBAAmE;IAC7G,gBAAgB,GAAW,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1D,cAAc,CAAqB;IACnC,WAAW,GAAY,IAAI,CAAC;IAC5B,OAAO,GAAY,IAAI,CAAC;IACxB,sBAAsB,GAAG,KAAK,CAAC;IAC/B,gBAAgB,CAAuB;IACvC,WAAW,CAAqB;IACvB,mBAAmB,GAAwB,EAAE,CAAC;IAE/D;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,eAA+D;QACnE,MAAM,OAAO,GAAG,IAAI,cAAc,EAAc,CAAC;QACjD,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG;YACR,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;YAC9D,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,eAAuB;QACrC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,aAAa,CAAC,IAAY;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,aAAa;QACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,OAAO;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,SAAS,CAAC,QAAkB,EAAE,WAAyC;QACnE,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,KAAmB,CAAC,CAAC;QAEjC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,SAAmB,EAAE,GAAY;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC;YACpI,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACpH,CAAC;IAED,kBAAkB;IAClB,QAAQ,CACJ,sBAAoD,EACpD,eAA6E;QAE7E,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,sBAAsB,CAAC,KAAmB,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,eAAe,EAA2B,CAAC;QAC/D,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,MAAM,CACF,sBAAoD,EACpD,eAA4E;QAE5E,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,sBAAsB,CAAC,KAAmB,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,aAAa,EAA4B,CAAC;QAC9D,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,uBAAuB;QACnB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAkB,EAAE,aAAqB;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,UAAU,GAA4B;YACxC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,aAAa;YAC/C,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,iBAAiB,EAAE,IAAI,CAAC,aAAa;YACrC,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,iBAAiB,EAAE,SAAS;YAC5B,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO;SACvB,CAAC;QACF,UAAU,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,4BAA4B;QACxB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,UAAmC;QAChE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;QACnD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;CACJ"}
|
|
@@ -8,6 +8,8 @@ export { AddChildBuilder } from './AddChildBuilder.js';
|
|
|
8
8
|
export type { ChildAdditionEntry } from './AddChildBuilder.js';
|
|
9
9
|
export { CompositeKeyBuilder } from './CompositeKeyBuilder.js';
|
|
10
10
|
export { FromBuilder } from './FromBuilder.js';
|
|
11
|
+
export { FromAllBuilder } from './FromAllBuilder.js';
|
|
12
|
+
export type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
11
13
|
export { JoinBuilder } from './JoinBuilder.js';
|
|
12
14
|
export { SetBuilder } from './SetBuilder.js';
|
|
13
15
|
export { AddBuilder } from './AddBuilder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../projections/declarative/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../projections/declarative/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -8,6 +8,7 @@ export { NestedBuilder } from './NestedBuilder.js';
|
|
|
8
8
|
export { AddChildBuilder } from './AddChildBuilder.js';
|
|
9
9
|
export { CompositeKeyBuilder } from './CompositeKeyBuilder.js';
|
|
10
10
|
export { FromBuilder } from './FromBuilder.js';
|
|
11
|
+
export { FromAllBuilder } from './FromAllBuilder.js';
|
|
11
12
|
export { JoinBuilder } from './JoinBuilder.js';
|
|
12
13
|
export { SetBuilder } from './SetBuilder.js';
|
|
13
14
|
export { AddBuilder } from './AddBuilder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projections/declarative/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projections/declarative/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Constructor } from '@cratis/fundamentals';
|
|
2
|
+
export declare function compileModelBound(model: Constructor): {
|
|
3
|
+
compiled: import("../../CompiledProjectionDefinitions.js").CompiledProjectionDefinitions;
|
|
4
|
+
definition: import("@cratis/chronicle.contracts").ProjectionDefinition;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=compile_model_bound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile_model_bound.d.ts","sourceRoot":"","sources":["../../../../projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW;;;EAOnD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
import { ProjectionDefinitionCompiler } from '../../ProjectionDefinitionCompiler.js';
|
|
4
|
+
export function compileModelBound(model) {
|
|
5
|
+
const artifacts = {
|
|
6
|
+
readModels: [model], projections: [], eventTypes: [], globalForHandlers: [], reducers: [],
|
|
7
|
+
reactors: [], seeders: [], constraints: [], webhooks: [], eventTypeMigrations: []
|
|
8
|
+
};
|
|
9
|
+
const compiled = new ProjectionDefinitionCompiler(artifacts, 'test-sink').compile([], [model]);
|
|
10
|
+
return { compiled, definition: compiled.definitions[0] };
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=compile_model_bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile_model_bound.js","sourceRoot":"","sources":["../../../../projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAIrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAChD,MAAM,SAAS,GAA6B;QACxC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;QACzF,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE;KACpF,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -11,7 +11,8 @@ export interface FromAllMetadata {
|
|
|
11
11
|
* Property decorator that sets the decorated read model property from a property present on every
|
|
12
12
|
* event type the projection is built from - the convention-based counterpart to declaring the same
|
|
13
13
|
* mapping on every individual `fromEvent`. Equivalent to {@link fromEvery} for model-bound
|
|
14
|
-
* projections
|
|
14
|
+
* projections.
|
|
15
|
+
* @deprecated In the next major, @fromAll subscribes to every event type like fluent fromAll() and .NET [FromAll]; use @fromEvery to keep the current behavior.
|
|
15
16
|
* @param property - Optional event property name. If not specified, uses the model property name.
|
|
16
17
|
* @param contextProperty - Optional event context property name.
|
|
17
18
|
* @returns A property decorator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromAll.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID
|
|
1
|
+
{"version":3,"file":"fromAll.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEnG"}
|
|
@@ -9,7 +9,8 @@ const METADATA_KEY = 'chronicle:projection:fromAll';
|
|
|
9
9
|
* Property decorator that sets the decorated read model property from a property present on every
|
|
10
10
|
* event type the projection is built from - the convention-based counterpart to declaring the same
|
|
11
11
|
* mapping on every individual `fromEvent`. Equivalent to {@link fromEvery} for model-bound
|
|
12
|
-
* projections
|
|
12
|
+
* projections.
|
|
13
|
+
* @deprecated In the next major, @fromAll subscribes to every event type like fluent fromAll() and .NET [FromAll]; use @fromEvery to keep the current behavior.
|
|
13
14
|
* @param property - Optional event property name. If not specified, uses the model property name.
|
|
14
15
|
* @param contextProperty - Optional event context property name.
|
|
15
16
|
* @returns A property decorator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,QAAiB,EAAE,eAAwB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAkB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"7.0.2","root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../WellKnownTelemetryNames.ts","../index.ts","../artifacts/ActivatedArtifact.ts","../artifacts/ArtifactActivationContext.ts","../artifacts/ArtifactCompletionFailed.ts","../artifacts/ArtifactDelivery.ts","../artifacts/ArtifactInvocationContext.ts","../artifacts/ArtifactKind.ts","../artifacts/ClientArtifactsActivator.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../artifacts/validateArtifactSchemas.ts","../artifacts/withActivatedArtifact.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/IPIIManager.ts","../compliance/PIIManager.ts","../compliance/PIINotSupportedOnEventSourceId.ts","../compliance/index.ts","../compliance/pii.ts","../compliance/resolveEventSubject.ts","../compliance/subject.ts","../confidentiality/EncryptedNotSupportedOnEventSourceId.ts","../confidentiality/EncryptionScope.ts","../confidentiality/PIIAndEncryptedCombinedNotSupported.ts","../confidentiality/SecurityMetadata.ts","../confidentiality/SecurityMetadataResolver.ts","../confidentiality/SecurityMetadataType.ts","../confidentiality/encrypted.ts","../confidentiality/index.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/CompatibilityPreflight.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/IncompatibleChronicleServer.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RejectedChronicleCredentials.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/TraceContextMiddleware.ts","../connection/callResults.ts","../connection/clientVersion.ts","../connection/encodeExplicitFalse.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../connection/for_encodeExplicitFalse/wireFields.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOperationsBroadcaster.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/AppendedEventWithResult.ts","../eventSequences/CompleteStreamError.ts","../eventSequences/CompleteStreamResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConcurrencyViolation.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/WaitForCompletionOptions.ts","../eventSequences/WaitForCompletionResult.ts","../eventSequences/createAppendNotification.ts","../eventSequences/createAppendResult.ts","../eventSequences/index.ts","../eventSequences/prepareBatchAppend.ts","../eventSequences/prepareSingleAppend.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/Tag.ts","../events/WireEventContext.ts","../events/eventTypeDecorator.ts","../events/filterEventsByTagDecorator.ts","../events/handles.ts","../events/index.ts","../events/isRegisteredEvent.ts","../events/mergeTags.ts","../events/tagDecorator.ts","../events/toClientEventContext.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/constraints/removeConstraint.ts","../events/constraints/unique.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../externalServices/ExternalServiceBuilder.ts","../externalServices/ExternalServices.ts","../externalServices/IExternalServiceBuilder.ts","../externalServices/IExternalServices.ts","../externalServices/index.ts","../identities/IIdentityManager.ts","../identities/IdentityManager.ts","../identities/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../logging/ChronicleLogEntry.ts","../logging/ChronicleLogLevel.ts","../logging/DiagChronicleLogger.ts","../logging/IChronicleLogger.ts","../logging/createLogger.ts","../observation/EventHandler.ts","../observation/FailedPartition.ts","../observation/FailedPartitionAttempt.ts","../observation/FailedPartitions.ts","../observation/ICanBeNotifiedWhenPartitionReplayed.ts","../observation/ICanBeNotifiedWhenReplay.ts","../observation/IFailedPartitions.ts","../observation/IObservers.ts","../observation/ObserverId.ts","../observation/ObserverInformation.ts","../observation/ObserverRemovalOutcome.ts","../observation/ObserverRemovalResult.ts","../observation/ObserverRunningState.ts","../observation/ObserverType.ts","../observation/Observers.ts","../observation/createHandlerInstanceValidator.ts","../observation/getEventHandlers.ts","../observation/getInstanceMethods.ts","../observation/index.ts","../observation/notifyReplayLifecycle.ts","../observation/toClientFailedPartition.ts","../observation/toObserverInformation.ts","../observation/toObserverRemovalResult.ts","../observation/toObserverRunningState.ts","../patterns/BehaviorPattern.ts","../patterns/DayOfWeek.ts","../patterns/FacetName.ts","../patterns/FacetSet.ts","../patterns/IPatterns.ts","../patterns/PatternMoment.ts","../patterns/PatternQueryOptions.ts","../patterns/Patterns.ts","../patterns/PatternsAtOptions.ts","../patterns/TimeBucket.ts","../patterns/index.ts","../patterns/toBehaviorPattern.ts","../patterns/toDayOfWeek.ts","../patterns/toOffsetDate.ts","../patterns/toTimeBucket.ts","../projections/CompiledProjectionDefinitions.ts","../projections/GlobalHandlerPropertyNotOnVariant.ts","../projections/IProjections.ts","../projections/InvalidEventContextPropertyError.ts","../projections/ProjectionCapabilityProvenance.ts","../projections/ProjectionDefinitionCompiler.ts","../projections/ProjectionEventSchema.ts","../projections/ProjectionId.ts","../projections/ProjectionQueryResult.ts","../projections/ProjectionState.ts","../projections/Projections.ts","../projections/ResolvedModelBoundMetadata.ts","../projections/UnableToQueryProjection.ts","../projections/VariantMustDeclareEntersOnEvent.ts","../projections/VariantReclassifier.ts","../projections/canonicalStringify.ts","../projections/captureProjectionProvenance.ts","../projections/constantValueExpression.ts","../projections/eventContextPropertyExpression.ts","../projections/eventContractPath.ts","../projections/index.ts","../projections/invalidEventContextPropertyInProjection.ts","../projections/notSetPropertyPath.ts","../projections/declarative/AddBuilder.ts","../projections/declarative/AddChildBuilder.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/ChildrenBuilder.ts","../projections/declarative/CompositeKeyBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/NestedBuilder.ts","../projections/declarative/ProjectionBuilderCore.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/SubtractBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/declarative/projectionBuilderProvenance.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenAndNestedBuilder.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/entersOn.ts","../projections/modelBound/eventSequence.ts","../projections/modelBound/fromAll.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/globalFor.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/isModelBoundProjection.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/noAutoMap.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../projections/modelBound/variantOf.ts","../reactors/IReactors.ts","../reactors/ReactorDispatcher.ts","../reactors/ReactorId.ts","../reactors/ReactorResultHandler.ts","../reactors/ReactorServices.ts","../reactors/ReactorSideEffects.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/onceOnly.ts","../reactors/reactor.ts","../reactors/replay.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelNamingPolicy.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModelSubjectResolver.ts","../readModels/ReadModels.ts","../readModels/assertUniqueReadModelIds.ts","../readModels/buildReadModelDefinition.ts","../readModels/deserializeReadModel.ts","../readModels/index.ts","../readModels/indexDecorator.ts","../readModels/readModel.ts","../readModels/rootReadModelTypes.ts","../readModels/for_ReadModelNamingPolicy/given/registered_read_models.ts","../readModels/for_ReadModels/given/a_stored_read_model.ts","../reducers/IReducers.ts","../reducers/ReducerEventDispatcher.ts","../reducers/ReducerEventHandler.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/createDeferredSchema.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../telemetry/ChronicleTelemetryOptions.ts","../telemetry/observeOperation.ts","../telemetry/runInBackgroundContext.ts","../telemetry/spanAttributes.ts","../testing/ConstraintScope.ts","../testing/EventFieldSchema.ts","../testing/EventScenario.ts","../testing/EventScenarioGiven.ts","../testing/EventScenarioGivenBuilder.ts","../testing/EventScenarioOptions.ts","../testing/EventScenarioSeed.ts","../testing/EventScenarioWhen.ts","../testing/EventScenarioWhenBuilder.ts","../testing/IReadModelProcessor.ts","../testing/InProcessConstraints.ts","../testing/InProcessEventSequence.ts","../testing/ReactorDeliveryResult.ts","../testing/ReactorScenario.ts","../testing/ReactorScenarioOptions.ts","../testing/ReadModelScenario.ts","../testing/ReadModelScenarioGiven.ts","../testing/ReadModelScenarioGivenBuilder.ts","../testing/ReadModelState.ts","../testing/RecordedReactorSideEffect.ts","../testing/ReducerReadModelProcessor.ts","../testing/ScenarioEvent.ts","../testing/UnsupportedEventSequenceOperation.ts","../testing/UnsupportedReactorOperation.ts","../testing/index.ts","../testing/singleAppendRoute.ts","../testing/projections/ProjectionArithmetic.ts","../testing/projections/ProjectionCapabilities.ts","../testing/projections/ProjectionChildrenCapabilities.ts","../testing/projections/ProjectionExpressionEvaluator.ts","../testing/projections/ProjectionJoinRecord.ts","../testing/projections/ProjectionJoinValidationContext.ts","../testing/projections/ProjectionJoins.ts","../testing/projections/ProjectionJoinsCapabilities.ts","../testing/projections/ProjectionReadModelProcessor.ts","../testing/projections/ProjectionValueConverter.ts","../testing/projections/UnsupportedProjectionOperation.ts","../testing/projections/for_ProjectionCapabilities/given/Changed.ts","../testing/projections/for_ProjectionCapabilities/given/Model.ts","../testing/projections/for_ProjectionCapabilities/given/Removed.ts","../testing/projections/for_ProjectionCapabilities/given/compile.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/conceptValueType.ts","../types/index.ts","../types/modelBoundProperty.ts","../types/modelBoundPropertyMetadata.ts","../types/propertyDecoratorMetadata.ts","../types/standardDecoratorMetadata.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"packageJsons":["../package.json","../../node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/package.json","../../node_modules/@cratis/fundamentals/dist/esm/package.json","../../node_modules/@cratis/fundamentals/package.json","../../node_modules/@grpc/grpc-js/package.json","../../node_modules/@grpc/proto-loader/package.json","../../node_modules/@js-sdsl/ordered-map/package.json","../../node_modules/@opentelemetry/api/package.json","../../node_modules/@types/chai/package.json","../../node_modules/@types/deep-eql/package.json","../../node_modules/@types/node/package.json","../../node_modules/@vitest/mocker/package.json","../../node_modules/assertion-error/package.json","../../node_modules/chai/package.json","../../node_modules/esbuild/package.json","../../node_modules/expect-type/package.json","../../node_modules/glob/dist/esm/package.json","../../node_modules/glob/package.json","../../node_modules/long/package.json","../../node_modules/long/umd/package.json","../../node_modules/lru-cache/dist/esm/package.json","../../node_modules/lru-cache/package.json","../../node_modules/minimatch/dist/esm/package.json","../../node_modules/minimatch/package.json","../../node_modules/minipass/dist/esm/package.json","../../node_modules/minipass/package.json","../../node_modules/nice-grpc-common/package.json","../../node_modules/nice-grpc/package.json","../../node_modules/path-scurry/dist/esm/package.json","../../node_modules/path-scurry/package.json","../../node_modules/protobufjs/package.json","../../node_modules/reflect-metadata/package.json","../../node_modules/tinybench/package.json","../../node_modules/ts-error/package.json","../../node_modules/tsx/package.json","../../node_modules/undici-types/package.json","../../node_modules/undici/package.json","../../node_modules/vite/package.json","../../node_modules/vitest/package.json","../../node_modules/yaml/package.json"],"missingPackageJsons":["../../node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/google/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/google/protobuf/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/protobuf-net/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/dist/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/nice-grpc-common/package.json","../../node_modules/@cratis/fundamentals/dist/esm/geospatial/package.json","../../node_modules/@cratis/fundamentals/dist/esm/json/package.json","../../node_modules/@edge-runtime/vm/package.json","../../node_modules/@grpc/grpc-js/build/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/package.json","../../node_modules/@grpc/grpc-js/build/src/package.json","../../node_modules/@grpc/proto-loader/build/package.json","../../node_modules/@grpc/proto-loader/build/src/package.json","../../node_modules/@js-sdsl/ordered-map/dist/esm/package.json","../../node_modules/@js-sdsl/ordered-map/dist/package.json","../../node_modules/@opentelemetry/api/build/package.json","../../node_modules/@opentelemetry/api/build/src/api/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/internal/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/package.json","../../node_modules/@opentelemetry/api/build/src/common/package.json","../../node_modules/@opentelemetry/api/build/src/context/package.json","../../node_modules/@opentelemetry/api/build/src/diag/package.json","../../node_modules/@opentelemetry/api/build/src/metrics/package.json","../../node_modules/@opentelemetry/api/build/src/package.json","../../node_modules/@opentelemetry/api/build/src/propagation/package.json","../../node_modules/@opentelemetry/api/build/src/trace/internal/package.json","../../node_modules/@opentelemetry/api/build/src/trace/package.json","../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/node/assert/package.json","../../node_modules/@types/node/dns/package.json","../../node_modules/@types/node/fs/package.json","../../node_modules/@types/node/inspector/package.json","../../node_modules/@types/node/path/package.json","../../node_modules/@types/node/readline/package.json","../../node_modules/@types/node/stream/package.json","../../node_modules/@types/node/test/package.json","../../node_modules/@types/node/timers/package.json","../../node_modules/@types/node/util/package.json","../../node_modules/@types/node/web-globals/package.json","../../node_modules/@types/node/zlib/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/iter/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/@vitejs/devtools/package.json","../../node_modules/@vitest/browser-playwright/package.json","../../node_modules/@vitest/browser-preview/package.json","../../node_modules/@vitest/browser-webdriverio/package.json","../../node_modules/@vitest/coverage-istanbul/package.json","../../node_modules/@vitest/coverage-v8/package.json","../../node_modules/@vitest/mocker/dist/package.json","../../node_modules/@vitest/ui/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/deep-eql/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/expect-type/dist/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/happy-dom/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/jiti/package.json","../../node_modules/jsdom/package.json","../../node_modules/less/package.json","../../node_modules/module/package.json","../../node_modules/msw/package.json","../../node_modules/net/package.json","../../node_modules/nice-grpc-common/lib/client/package.json","../../node_modules/nice-grpc-common/lib/package.json","../../node_modules/nice-grpc-common/lib/server/package.json","../../node_modules/nice-grpc/lib/client/package.json","../../node_modules/nice-grpc/lib/package.json","../../node_modules/nice-grpc/lib/server/package.json","../../node_modules/nice-grpc/lib/service-definitions/package.json","../../node_modules/nice-grpc/lib/utils/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/protobufjs/ext/descriptor/package.json","../../node_modules/protobufjs/ext/package.json","../../node_modules/protobufjs/node_modules/@types/long/package.json","../../node_modules/protobufjs/node_modules/long/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/sass-embedded/package.json","../../node_modules/sass/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/iter/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/string_decoder/package.json","../../node_modules/stylus/package.json","../../node_modules/sugarss/package.json","../../node_modules/terser/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tinybench/dist/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/ts-error/lib/package.json","../../node_modules/tty/package.json","../../node_modules/undici/types/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vite/dist/node/chunks/package.json","../../node_modules/vite/dist/node/package.json","../../node_modules/vite/dist/package.json","../../node_modules/vite/module-runner/package.json","../../node_modules/vite/types/package.json","../../node_modules/vitest/dist/chunks/package.json","../../node_modules/vitest/dist/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json"]}
|
|
1
|
+
{"version":"7.0.2","root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../WellKnownTelemetryNames.ts","../index.ts","../artifacts/ActivatedArtifact.ts","../artifacts/ArtifactActivationContext.ts","../artifacts/ArtifactCompletionFailed.ts","../artifacts/ArtifactDelivery.ts","../artifacts/ArtifactInvocationContext.ts","../artifacts/ArtifactKind.ts","../artifacts/ClientArtifactsActivator.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../artifacts/validateArtifactSchemas.ts","../artifacts/withActivatedArtifact.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/IPIIManager.ts","../compliance/PIIManager.ts","../compliance/PIINotSupportedOnEventSourceId.ts","../compliance/index.ts","../compliance/pii.ts","../compliance/resolveEventSubject.ts","../compliance/subject.ts","../confidentiality/EncryptedNotSupportedOnEventSourceId.ts","../confidentiality/EncryptionScope.ts","../confidentiality/PIIAndEncryptedCombinedNotSupported.ts","../confidentiality/SecurityMetadata.ts","../confidentiality/SecurityMetadataResolver.ts","../confidentiality/SecurityMetadataType.ts","../confidentiality/encrypted.ts","../confidentiality/index.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/CompatibilityPreflight.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/IncompatibleChronicleServer.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RejectedChronicleCredentials.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/TraceContextMiddleware.ts","../connection/callResults.ts","../connection/clientVersion.ts","../connection/encodeExplicitFalse.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../connection/for_encodeExplicitFalse/wireFields.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOperationsBroadcaster.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/AppendedEventWithResult.ts","../eventSequences/CompleteStreamError.ts","../eventSequences/CompleteStreamResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConcurrencyViolation.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/WaitForCompletionOptions.ts","../eventSequences/WaitForCompletionResult.ts","../eventSequences/createAppendNotification.ts","../eventSequences/createAppendResult.ts","../eventSequences/index.ts","../eventSequences/prepareBatchAppend.ts","../eventSequences/prepareSingleAppend.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/Tag.ts","../events/WireEventContext.ts","../events/eventTypeDecorator.ts","../events/filterEventsByTagDecorator.ts","../events/handles.ts","../events/index.ts","../events/isRegisteredEvent.ts","../events/mergeTags.ts","../events/tagDecorator.ts","../events/toClientEventContext.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/constraints/removeConstraint.ts","../events/constraints/unique.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../externalServices/ExternalServiceBuilder.ts","../externalServices/ExternalServices.ts","../externalServices/IExternalServiceBuilder.ts","../externalServices/IExternalServices.ts","../externalServices/index.ts","../identities/IIdentityManager.ts","../identities/IdentityManager.ts","../identities/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../logging/ChronicleLogEntry.ts","../logging/ChronicleLogLevel.ts","../logging/DiagChronicleLogger.ts","../logging/IChronicleLogger.ts","../logging/createLogger.ts","../observation/EventHandler.ts","../observation/FailedPartition.ts","../observation/FailedPartitionAttempt.ts","../observation/FailedPartitions.ts","../observation/ICanBeNotifiedWhenPartitionReplayed.ts","../observation/ICanBeNotifiedWhenReplay.ts","../observation/IFailedPartitions.ts","../observation/IObservers.ts","../observation/ObserverId.ts","../observation/ObserverInformation.ts","../observation/ObserverRemovalOutcome.ts","../observation/ObserverRemovalResult.ts","../observation/ObserverRunningState.ts","../observation/ObserverType.ts","../observation/Observers.ts","../observation/createHandlerInstanceValidator.ts","../observation/getEventHandlers.ts","../observation/getInstanceMethods.ts","../observation/index.ts","../observation/notifyReplayLifecycle.ts","../observation/toClientFailedPartition.ts","../observation/toObserverInformation.ts","../observation/toObserverRemovalResult.ts","../observation/toObserverRunningState.ts","../patterns/BehaviorPattern.ts","../patterns/DayOfWeek.ts","../patterns/FacetName.ts","../patterns/FacetSet.ts","../patterns/IPatterns.ts","../patterns/PatternMoment.ts","../patterns/PatternQueryOptions.ts","../patterns/Patterns.ts","../patterns/PatternsAtOptions.ts","../patterns/TimeBucket.ts","../patterns/index.ts","../patterns/toBehaviorPattern.ts","../patterns/toDayOfWeek.ts","../patterns/toOffsetDate.ts","../patterns/toTimeBucket.ts","../projections/CompiledProjectionDefinitions.ts","../projections/GlobalHandlerPropertyNotOnVariant.ts","../projections/IProjections.ts","../projections/InvalidEventContextPropertyError.ts","../projections/ProjectionCapabilityProvenance.ts","../projections/ProjectionDefinitionCompiler.ts","../projections/ProjectionEventSchema.ts","../projections/ProjectionId.ts","../projections/ProjectionQueryResult.ts","../projections/ProjectionState.ts","../projections/Projections.ts","../projections/ResolvedModelBoundMetadata.ts","../projections/UnableToQueryProjection.ts","../projections/VariantMustDeclareEntersOnEvent.ts","../projections/VariantReclassifier.ts","../projections/canonicalStringify.ts","../projections/captureProjectionProvenance.ts","../projections/constantValueExpression.ts","../projections/eventContextPropertyExpression.ts","../projections/eventContractPath.ts","../projections/index.ts","../projections/invalidEventContextPropertyInProjection.ts","../projections/notSetPropertyPath.ts","../projections/declarative/AddBuilder.ts","../projections/declarative/AddChildBuilder.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/ChildrenBuilder.ts","../projections/declarative/CompositeKeyBuilder.ts","../projections/declarative/FromAllBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromAllBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/NestedBuilder.ts","../projections/declarative/ProjectionBuilderCore.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/SubtractBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/declarative/projectionBuilderProvenance.ts","../projections/for_ProjectionDefinitionCompiler/given/compile_model_bound.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenAndNestedBuilder.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/entersOn.ts","../projections/modelBound/eventSequence.ts","../projections/modelBound/fromAll.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/globalFor.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/isModelBoundProjection.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/noAutoMap.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../projections/modelBound/variantOf.ts","../reactors/IReactors.ts","../reactors/ReactorDispatcher.ts","../reactors/ReactorId.ts","../reactors/ReactorResultHandler.ts","../reactors/ReactorServices.ts","../reactors/ReactorSideEffects.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/onceOnly.ts","../reactors/reactor.ts","../reactors/replay.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelNamingPolicy.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModelSubjectResolver.ts","../readModels/ReadModels.ts","../readModels/assertUniqueReadModelIds.ts","../readModels/buildReadModelDefinition.ts","../readModels/deserializeReadModel.ts","../readModels/index.ts","../readModels/indexDecorator.ts","../readModels/readModel.ts","../readModels/rootReadModelTypes.ts","../readModels/for_ReadModelNamingPolicy/given/registered_read_models.ts","../readModels/for_ReadModels/given/a_stored_read_model.ts","../reducers/IReducers.ts","../reducers/ReducerEventDispatcher.ts","../reducers/ReducerEventHandler.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/createDeferredSchema.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../telemetry/ChronicleTelemetryOptions.ts","../telemetry/observeOperation.ts","../telemetry/runInBackgroundContext.ts","../telemetry/spanAttributes.ts","../testing/ConstraintScope.ts","../testing/EventFieldSchema.ts","../testing/EventScenario.ts","../testing/EventScenarioGiven.ts","../testing/EventScenarioGivenBuilder.ts","../testing/EventScenarioOptions.ts","../testing/EventScenarioSeed.ts","../testing/EventScenarioWhen.ts","../testing/EventScenarioWhenBuilder.ts","../testing/IReadModelProcessor.ts","../testing/InProcessConstraints.ts","../testing/InProcessEventSequence.ts","../testing/ReactorDeliveryResult.ts","../testing/ReactorScenario.ts","../testing/ReactorScenarioOptions.ts","../testing/ReadModelScenario.ts","../testing/ReadModelScenarioGiven.ts","../testing/ReadModelScenarioGivenBuilder.ts","../testing/ReadModelState.ts","../testing/RecordedReactorSideEffect.ts","../testing/ReducerReadModelProcessor.ts","../testing/ScenarioEvent.ts","../testing/UnsupportedEventSequenceOperation.ts","../testing/UnsupportedReactorOperation.ts","../testing/index.ts","../testing/singleAppendRoute.ts","../testing/projections/ProjectionArithmetic.ts","../testing/projections/ProjectionCapabilities.ts","../testing/projections/ProjectionChildrenCapabilities.ts","../testing/projections/ProjectionExpressionEvaluator.ts","../testing/projections/ProjectionJoinRecord.ts","../testing/projections/ProjectionJoinValidationContext.ts","../testing/projections/ProjectionJoins.ts","../testing/projections/ProjectionJoinsCapabilities.ts","../testing/projections/ProjectionReadModelProcessor.ts","../testing/projections/ProjectionValueConverter.ts","../testing/projections/UnsupportedProjectionOperation.ts","../testing/projections/for_ProjectionCapabilities/given/Changed.ts","../testing/projections/for_ProjectionCapabilities/given/Model.ts","../testing/projections/for_ProjectionCapabilities/given/Removed.ts","../testing/projections/for_ProjectionCapabilities/given/compile.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/conceptValueType.ts","../types/index.ts","../types/modelBoundProperty.ts","../types/modelBoundPropertyMetadata.ts","../types/propertyDecoratorMetadata.ts","../types/standardDecoratorMetadata.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"packageJsons":["../package.json","../../node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/package.json","../../node_modules/@cratis/fundamentals/dist/esm/package.json","../../node_modules/@cratis/fundamentals/package.json","../../node_modules/@grpc/grpc-js/package.json","../../node_modules/@grpc/proto-loader/package.json","../../node_modules/@js-sdsl/ordered-map/package.json","../../node_modules/@opentelemetry/api/package.json","../../node_modules/@types/chai/package.json","../../node_modules/@types/deep-eql/package.json","../../node_modules/@types/node/package.json","../../node_modules/@vitest/mocker/package.json","../../node_modules/assertion-error/package.json","../../node_modules/chai/package.json","../../node_modules/esbuild/package.json","../../node_modules/expect-type/package.json","../../node_modules/glob/dist/esm/package.json","../../node_modules/glob/package.json","../../node_modules/long/package.json","../../node_modules/long/umd/package.json","../../node_modules/lru-cache/dist/esm/package.json","../../node_modules/lru-cache/package.json","../../node_modules/minimatch/dist/esm/package.json","../../node_modules/minimatch/package.json","../../node_modules/minipass/dist/esm/package.json","../../node_modules/minipass/package.json","../../node_modules/nice-grpc-common/package.json","../../node_modules/nice-grpc/package.json","../../node_modules/path-scurry/dist/esm/package.json","../../node_modules/path-scurry/package.json","../../node_modules/protobufjs/package.json","../../node_modules/reflect-metadata/package.json","../../node_modules/tinybench/package.json","../../node_modules/ts-error/package.json","../../node_modules/tsx/package.json","../../node_modules/undici-types/package.json","../../node_modules/undici/package.json","../../node_modules/vite/package.json","../../node_modules/vitest/package.json","../../node_modules/yaml/package.json"],"missingPackageJsons":["../../node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/google/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/google/protobuf/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/protobuf-net/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/dist/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/nice-grpc-common/package.json","../../node_modules/@cratis/fundamentals/dist/esm/geospatial/package.json","../../node_modules/@cratis/fundamentals/dist/esm/json/package.json","../../node_modules/@edge-runtime/vm/package.json","../../node_modules/@grpc/grpc-js/build/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/package.json","../../node_modules/@grpc/grpc-js/build/src/package.json","../../node_modules/@grpc/proto-loader/build/package.json","../../node_modules/@grpc/proto-loader/build/src/package.json","../../node_modules/@js-sdsl/ordered-map/dist/esm/package.json","../../node_modules/@js-sdsl/ordered-map/dist/package.json","../../node_modules/@opentelemetry/api/build/package.json","../../node_modules/@opentelemetry/api/build/src/api/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/internal/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/package.json","../../node_modules/@opentelemetry/api/build/src/common/package.json","../../node_modules/@opentelemetry/api/build/src/context/package.json","../../node_modules/@opentelemetry/api/build/src/diag/package.json","../../node_modules/@opentelemetry/api/build/src/metrics/package.json","../../node_modules/@opentelemetry/api/build/src/package.json","../../node_modules/@opentelemetry/api/build/src/propagation/package.json","../../node_modules/@opentelemetry/api/build/src/trace/internal/package.json","../../node_modules/@opentelemetry/api/build/src/trace/package.json","../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/node/assert/package.json","../../node_modules/@types/node/dns/package.json","../../node_modules/@types/node/fs/package.json","../../node_modules/@types/node/inspector/package.json","../../node_modules/@types/node/path/package.json","../../node_modules/@types/node/readline/package.json","../../node_modules/@types/node/stream/package.json","../../node_modules/@types/node/test/package.json","../../node_modules/@types/node/timers/package.json","../../node_modules/@types/node/util/package.json","../../node_modules/@types/node/web-globals/package.json","../../node_modules/@types/node/zlib/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/iter/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/@vitejs/devtools/package.json","../../node_modules/@vitest/browser-playwright/package.json","../../node_modules/@vitest/browser-preview/package.json","../../node_modules/@vitest/browser-webdriverio/package.json","../../node_modules/@vitest/coverage-istanbul/package.json","../../node_modules/@vitest/coverage-v8/package.json","../../node_modules/@vitest/mocker/dist/package.json","../../node_modules/@vitest/ui/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/deep-eql/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/expect-type/dist/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/happy-dom/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/jiti/package.json","../../node_modules/jsdom/package.json","../../node_modules/less/package.json","../../node_modules/module/package.json","../../node_modules/msw/package.json","../../node_modules/net/package.json","../../node_modules/nice-grpc-common/lib/client/package.json","../../node_modules/nice-grpc-common/lib/package.json","../../node_modules/nice-grpc-common/lib/server/package.json","../../node_modules/nice-grpc/lib/client/package.json","../../node_modules/nice-grpc/lib/package.json","../../node_modules/nice-grpc/lib/server/package.json","../../node_modules/nice-grpc/lib/service-definitions/package.json","../../node_modules/nice-grpc/lib/utils/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/protobufjs/ext/descriptor/package.json","../../node_modules/protobufjs/ext/package.json","../../node_modules/protobufjs/node_modules/@types/long/package.json","../../node_modules/protobufjs/node_modules/long/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/sass-embedded/package.json","../../node_modules/sass/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/iter/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/string_decoder/package.json","../../node_modules/stylus/package.json","../../node_modules/sugarss/package.json","../../node_modules/terser/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tinybench/dist/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/ts-error/lib/package.json","../../node_modules/tty/package.json","../../node_modules/undici/types/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vite/dist/node/chunks/package.json","../../node_modules/vite/dist/node/package.json","../../node_modules/vite/dist/package.json","../../node_modules/vite/module-runner/package.json","../../node_modules/vite/types/package.json","../../node_modules/vitest/dist/chunks/package.json","../../node_modules/vitest/dist/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratis/chronicle",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.42.0",
|
|
4
4
|
"description": "Event sourcing for TypeScript and Node.js — the idiomatic client for Cratis Chronicle, the open-source event-sourcing database",
|
|
5
5
|
"author": "Cratis",
|
|
6
6
|
"license": "MIT",
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"clean": "rm -rf dist",
|
|
174
174
|
"test": "vitest run",
|
|
175
175
|
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
176
|
-
"test:standard-types": "tsc --ignoreConfig --noEmit --target es2022 --module es2022 --moduleResolution bundler --lib es2022,esnext.decorators --types node --skipLibCheck --strict schemas/decorators.standard.spec.ts projections/declarative/addChildCompatibility.standard.spec.ts projections/modelBound/decorators.standard.spec.ts events/classDecorators.standard.spec.ts reactors/decorators.standard.spec.ts readModels/standardFallbacks.standard.spec.ts readModels/registration.standard.spec.ts for_ChronicleClient/when_registering_artifacts/with_standard_property_mappings.standard.spec.ts artifacts/validateArtifactSchemas.spec.ts testing/for_EventScenario/when_appending_concept_fields/with_standard_decorators.standard.spec.ts testing/for_EventScenario/when_appending_scoped_constraints/with_standard_decorators.standard.spec.ts schemas/for_JsonSchemaGenerator/when_generating_children/with_standard_decorators.standard.spec.ts events/for_handles/when_decorating_a_method.standard.spec.ts testing/for_ReadModelScenario/when_evaluating_arithmetic/with_standard_decorators.standard.spec.ts testing/for_ReadModelScenario/when_evaluating_joins/with_standard_decorators.standard.spec.ts testing/for_EventScenario/when_appending_field_types/with_standard_decorators.standard.spec.ts eventSequences/for_EventSequence/when_appending/with_subject_annotations.standard.spec.ts",
|
|
176
|
+
"test:standard-types": "tsc --ignoreConfig --noEmit --target es2022 --module es2022 --moduleResolution bundler --lib es2022,esnext.decorators --types node --skipLibCheck --strict schemas/decorators.standard.spec.ts projections/declarative/addChildCompatibility.standard.spec.ts projections/modelBound/decorators.standard.spec.ts events/classDecorators.standard.spec.ts reactors/decorators.standard.spec.ts readModels/standardFallbacks.standard.spec.ts readModels/registration.standard.spec.ts for_ChronicleClient/when_registering_artifacts/with_standard_property_mappings.standard.spec.ts artifacts/validateArtifactSchemas.spec.ts testing/for_EventScenario/when_appending_concept_fields/with_standard_decorators.standard.spec.ts testing/for_EventScenario/when_appending_scoped_constraints/with_standard_decorators.standard.spec.ts schemas/for_JsonSchemaGenerator/when_generating_children/with_standard_decorators.standard.spec.ts events/for_handles/when_decorating_a_method.standard.spec.ts testing/for_ReadModelScenario/when_evaluating_arithmetic/with_standard_decorators.standard.spec.ts testing/for_ReadModelScenario/when_evaluating_joins/with_standard_decorators.standard.spec.ts testing/for_EventScenario/when_appending_field_types/with_standard_decorators.standard.spec.ts eventSequences/for_EventSequence/when_appending/with_subject_annotations.standard.spec.ts projections/for_ProjectionDefinitionCompiler/when_compiling_from_all.standard.spec.ts",
|
|
177
177
|
"test:native": "node ./scripts/check-native-esm.mjs"
|
|
178
178
|
},
|
|
179
179
|
"dependencies": {
|
|
@@ -39,6 +39,7 @@ export function captureProjectionProvenance(definition: Record<string, unknown>,
|
|
|
39
39
|
add(`${section}.${property}`, modelBound ? (section === 'Children' ? '@childrenFrom' : '@nested') : `.${section.toLowerCase()}`);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
if (definition.SubscribesToAllEvents === true) add('SubscribesToAllEvents', `${prefix}fromAll`);
|
|
42
43
|
const all = definition.All as { Properties?: Record<string, string>; IncludeChildren?: boolean } | undefined;
|
|
43
44
|
if (all?.IncludeChildren || Object.keys(all?.Properties ?? {}).length) add('All', modelBound ? '@fromEvery' : '.fromEvery');
|
|
44
45
|
for (const property of Object.keys(all?.Properties ?? {})) add(`All.Properties.${property}`, modelBound ? '@fromEvery' : '.fromEvery');
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { PropertyAccessor, PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
|
|
5
|
+
import { AllSetBuilder } from './AllSetBuilder.js';
|
|
6
|
+
import type { IAllSetBuilder } from './IAllSetBuilder.js';
|
|
7
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
8
|
+
|
|
9
|
+
/** Accumulates all-event mappings without restricting the event subscription to known types. */
|
|
10
|
+
export class FromAllBuilder<TReadModel> implements IFromAllBuilder<TReadModel> {
|
|
11
|
+
readonly properties: Record<string, string> = {};
|
|
12
|
+
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAllSetBuilder<TReadModel, IFromAllBuilder<TReadModel>> {
|
|
15
|
+
return new AllSetBuilder<TReadModel, IFromAllBuilder<TReadModel>>(
|
|
16
|
+
this.targetProperty(readModelPropertyAccessor),
|
|
17
|
+
(property, expression) => { this.properties[property] = expression; },
|
|
18
|
+
this
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
count(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel> {
|
|
24
|
+
return this.operation(readModelPropertyAccessor, '$count', contextPropertyName);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel> {
|
|
29
|
+
return this.operation(readModelPropertyAccessor, '$increment', contextPropertyName);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel> {
|
|
34
|
+
return this.operation(readModelPropertyAccessor, '$decrement', contextPropertyName);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private operation(accessor: PropertyAccessor<TReadModel>, expression: string, contextPropertyName?: string): this {
|
|
38
|
+
const property = this.targetProperty(accessor);
|
|
39
|
+
const target = contextPropertyName === undefined ? property : `${property}.$eventContext.${contextPropertyName}`;
|
|
40
|
+
this.properties[target] = expression;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private targetProperty(accessor: PropertyAccessor<TReadModel>): string {
|
|
45
|
+
const handler = new PropertyPathResolverProxyHandler();
|
|
46
|
+
accessor(new Proxy({}, handler) as TReadModel);
|
|
47
|
+
return handler.property;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import type { PropertyAccessor } from '@cratis/fundamentals';
|
|
5
|
+
import type { IAllSetBuilder } from './IAllSetBuilder.js';
|
|
6
|
+
|
|
7
|
+
/** Configures mappings for every event, including types not otherwise declared by the projection. */
|
|
8
|
+
export interface IFromAllBuilder<TReadModel> {
|
|
9
|
+
/**
|
|
10
|
+
* Starts an assignment to a read-model property.
|
|
11
|
+
* @param readModelPropertyAccessor - Target property accessor.
|
|
12
|
+
* @returns The assignment builder, continuing with this all-events builder.
|
|
13
|
+
*/
|
|
14
|
+
set(readModelPropertyAccessor: PropertyAccessor<TReadModel>): IAllSetBuilder<TReadModel, IFromAllBuilder<TReadModel>>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Counts every event, optionally under a dynamic dictionary key.
|
|
18
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
19
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key, such as `eventType.id`.
|
|
20
|
+
* @returns This builder for chaining.
|
|
21
|
+
*/
|
|
22
|
+
count(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Increments a property for every event, optionally under a dynamic dictionary key.
|
|
26
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
27
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key.
|
|
28
|
+
* @returns This builder for chaining.
|
|
29
|
+
*/
|
|
30
|
+
increment(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Decrements a property for every event, optionally under a dynamic dictionary key.
|
|
34
|
+
* @param readModelPropertyAccessor - Scalar or dictionary target accessor.
|
|
35
|
+
* @param contextPropertyName - Optional event-context path for the dictionary key.
|
|
36
|
+
* @returns This builder for chaining.
|
|
37
|
+
*/
|
|
38
|
+
decrement(readModelPropertyAccessor: PropertyAccessor<TReadModel>, contextPropertyName?: string): IFromAllBuilder<TReadModel>;
|
|
39
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { PropertyAccessor } from '@cratis/fundamentals';
|
|
5
5
|
import { IProjectionBuilder } from './IProjectionBuilder.js';
|
|
6
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Defines the top-level projection builder for a specific read model type.
|
|
@@ -11,6 +12,14 @@ import { IProjectionBuilder } from './IProjectionBuilder.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export interface IProjectionBuilderFor<TReadModel>
|
|
13
14
|
extends IProjectionBuilder<TReadModel, IProjectionBuilderFor<TReadModel>> {
|
|
15
|
+
/**
|
|
16
|
+
* Subscribes to every event type, including types not explicitly declared.
|
|
17
|
+
* Mappings share the All block with fromEvery. Unlike fromEvery, this expands the subscription.
|
|
18
|
+
* @param builderCallback - Callback for configuring all-event assignments and counters.
|
|
19
|
+
* @returns This builder for fluent chaining.
|
|
20
|
+
*/
|
|
21
|
+
fromAll(builderCallback: (builder: IFromAllBuilder<TReadModel>) => void): IProjectionBuilderFor<TReadModel>;
|
|
22
|
+
|
|
14
23
|
/**
|
|
15
24
|
* Specifies the event sequence this projection should read from.
|
|
16
25
|
* @param eventSequenceId - The identifier of the event sequence.
|
|
@@ -9,6 +9,8 @@ import { ChildrenBuilder } from './ChildrenBuilder.js';
|
|
|
9
9
|
import { IChildrenBuilder } from './IChildrenBuilder.js';
|
|
10
10
|
import { INestedBuilder } from './INestedBuilder.js';
|
|
11
11
|
import { IProjectionBuilderFor } from './IProjectionBuilderFor.js';
|
|
12
|
+
import type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
13
|
+
import { FromAllBuilder } from './FromAllBuilder.js';
|
|
12
14
|
import { NestedBuilder } from './NestedBuilder.js';
|
|
13
15
|
import { ChildrenDefinitionLike, ContractEventType, ProjectionBuilderCore } from './ProjectionBuilderCore.js';
|
|
14
16
|
|
|
@@ -22,6 +24,7 @@ export class ProjectionBuilderFor<TReadModel> extends ProjectionBuilderCore<TRea
|
|
|
22
24
|
private _containerName: string | undefined;
|
|
23
25
|
private _rewindable: boolean = true;
|
|
24
26
|
private _active: boolean = true;
|
|
27
|
+
private _subscribesToAllEvents = false;
|
|
25
28
|
private _variantIdentity: Function | undefined;
|
|
26
29
|
private _variantKey: string | undefined;
|
|
27
30
|
private readonly _enteringEventTypes: ContractEventType[] = [];
|
|
@@ -31,6 +34,19 @@ export class ProjectionBuilderFor<TReadModel> extends ProjectionBuilderCore<TRea
|
|
|
31
34
|
this._autoMap = AutoMap.Enabled;
|
|
32
35
|
}
|
|
33
36
|
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
fromAll(builderCallback: (builder: IFromAllBuilder<TReadModel>) => void): this {
|
|
39
|
+
const builder = new FromAllBuilder<TReadModel>();
|
|
40
|
+
builderCallback(builder);
|
|
41
|
+
this._subscribesToAllEvents = true;
|
|
42
|
+
this._all = {
|
|
43
|
+
Properties: { ...this._all.Properties, ...builder.properties },
|
|
44
|
+
IncludeChildren: true,
|
|
45
|
+
AutoMap: AutoMap.Inherit
|
|
46
|
+
};
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
|
|
34
50
|
/** @inheritdoc */
|
|
35
51
|
fromEventSequence(eventSequenceId: string): this {
|
|
36
52
|
this._eventSequenceId = eventSequenceId;
|
|
@@ -146,6 +162,7 @@ export class ProjectionBuilderFor<TReadModel> extends ProjectionBuilderCore<TRea
|
|
|
146
162
|
Children: this._children,
|
|
147
163
|
FromEvery: [],
|
|
148
164
|
All: this._all,
|
|
165
|
+
...(this._subscribesToAllEvents ? { SubscribesToAllEvents: true } : {}),
|
|
149
166
|
FromEventProperty: undefined,
|
|
150
167
|
RemovedWith: this._removedWith,
|
|
151
168
|
RemovedWithJoin: this._removedWithJoin,
|
package/projections/declarative/for_ProjectionBuilderFor/when_subscribing_to_all_events.spec.ts
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
5
|
+
import { beforeEach, chai, describe, it } from 'vitest';
|
|
6
|
+
import { eventType } from '../../../events/eventTypeDecorator.js';
|
|
7
|
+
import { ProjectionBuilderFor, projection, type IFromAllBuilder, type IProjectionBuilderFor } from '../index.js';
|
|
8
|
+
import { ReadModelScenario } from '../../../testing/ReadModelScenario.js';
|
|
9
|
+
import { UnsupportedProjectionOperation } from '../../../testing/projections/UnsupportedProjectionOperation.js';
|
|
10
|
+
|
|
11
|
+
chai.should();
|
|
12
|
+
|
|
13
|
+
class Model {
|
|
14
|
+
title = '';
|
|
15
|
+
source = '';
|
|
16
|
+
lastSequence = '';
|
|
17
|
+
counted = 0;
|
|
18
|
+
incremented = 0;
|
|
19
|
+
decremented = 0;
|
|
20
|
+
countsByType: Record<string, number> = {};
|
|
21
|
+
}
|
|
22
|
+
class Declared { title = ''; }
|
|
23
|
+
class Removed {}
|
|
24
|
+
eventType('Declared')(Declared);
|
|
25
|
+
eventType('Removed')(Removed);
|
|
26
|
+
|
|
27
|
+
function mappings(all: IFromAllBuilder<Model>): void {
|
|
28
|
+
all.set(model => model.title).to(model => model.title)
|
|
29
|
+
.set(model => model.source).toEventSourceId()
|
|
30
|
+
.set(model => model.lastSequence).toEventContextProperty('sequenceNumber')
|
|
31
|
+
.count(model => model.counted)
|
|
32
|
+
.increment(model => model.incremented)
|
|
33
|
+
.decrement(model => model.decremented)
|
|
34
|
+
.count(model => model.countsByType, 'eventType.id');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function fixture(name: string) {
|
|
38
|
+
return JSON.parse(readFileSync(new URL(`../../../testing/projections/fixtures/${name}.json`, import.meta.url), 'utf8')) as {
|
|
39
|
+
wireDefinition: { All: object; SubscribesToAllEvents: boolean };
|
|
40
|
+
expected: Array<{ publicRead: Record<string, Record<string, unknown>> }>;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
for (const name of ['from-all-only', 'from-all-mixed', 'from-all-exclude-children', 'from-all-empty']) {
|
|
45
|
+
describe(`when subscribing to all events using ${name}`, () => {
|
|
46
|
+
let definition: Record<string, unknown>;
|
|
47
|
+
const captured = fixture(name);
|
|
48
|
+
beforeEach(() => {
|
|
49
|
+
const builder = new ProjectionBuilderFor<Model>().noAutoMap();
|
|
50
|
+
if (name === 'from-all-mixed' || name === 'from-all-exclude-children') {
|
|
51
|
+
builder.from(Declared, from => from.set(model => model.title).toValue('explicit')).removedWith(Removed);
|
|
52
|
+
}
|
|
53
|
+
builder.fromAll(name === 'from-all-empty' ? () => {} : mappings);
|
|
54
|
+
if (name === 'from-all-exclude-children') builder.fromEvery(every => every.excludeChildProjections());
|
|
55
|
+
definition = builder.build(name, 'OracleReadModel');
|
|
56
|
+
});
|
|
57
|
+
it('should emit the all-events subscription captured by the packaged kernel', () => {
|
|
58
|
+
definition.SubscribesToAllEvents!.should.equal(captured.wireDefinition.SubscribesToAllEvents);
|
|
59
|
+
});
|
|
60
|
+
it('should emit the mappings and child flag captured by the packaged kernel', () => {
|
|
61
|
+
definition.All!.should.deep.equal(captured.wireDefinition.All);
|
|
62
|
+
});
|
|
63
|
+
it('should have kernel evidence that an undeclared event creates a read model', () => {
|
|
64
|
+
captured.expected[0].publicRead['record-a'].id!.should.equal('record-a');
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
describe('when creating a declarative all-event scenario', () => {
|
|
70
|
+
it('should reject an empty all-event subscription before any events can be seeded', () => {
|
|
71
|
+
class AllProjection {
|
|
72
|
+
define(builder: IProjectionBuilderFor<Model>): void { builder.fromAll(() => {}); }
|
|
73
|
+
}
|
|
74
|
+
projection('all-scenario', Model)(AllProjection);
|
|
75
|
+
(() => new ReadModelScenario(Model, { readModels: [Model], eventTypes: [], projections: [AllProjection], reducers: [] }))
|
|
76
|
+
.should.throw(UnsupportedProjectionOperation, 'SubscribesToAllEvents (.fromAll)');
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
describe('when combining fromAll and fromEvery mappings', () => {
|
|
81
|
+
it('should retain every mapping and never narrow the subscription', () => {
|
|
82
|
+
const builder = new ProjectionBuilderFor<Model>();
|
|
83
|
+
builder.fromEvery(every => every.set(model => model.title).to(model => model.title));
|
|
84
|
+
builder.fromAll(all => all.count(model => model.counted));
|
|
85
|
+
builder.fromAll(all => all.increment(model => model.incremented, 'eventType.id').decrement(model => model.decremented, 'eventType.id'));
|
|
86
|
+
builder.fromEvery(every => every.set(model => model.source).toEventSourceId().excludeChildProjections());
|
|
87
|
+
const definition = builder.build('mixed', 'Model');
|
|
88
|
+
definition.SubscribesToAllEvents!.should.equal(true);
|
|
89
|
+
definition.All!.should.deep.equal({ Properties: {
|
|
90
|
+
title: 'title', counted: '$count', 'incremented.$eventContext.eventType.id': '$increment',
|
|
91
|
+
'decremented.$eventContext.eventType.id': '$decrement', source: '$eventSourceId'
|
|
92
|
+
}, IncludeChildren: false, AutoMap: 0 });
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it('should leave fromEvery subscription behavior unchanged', () => {
|
|
96
|
+
const builder = new ProjectionBuilderFor<Model>();
|
|
97
|
+
builder.from(Declared).fromEvery(every => every.set(model => model.title).to(model => model.title));
|
|
98
|
+
(builder.build('every', 'Model').SubscribesToAllEvents === undefined).should.be.true;
|
|
99
|
+
const captured = fixture('from-every-restricted');
|
|
100
|
+
captured.expected[0].publicRead.should.deep.equal({});
|
|
101
|
+
captured.expected[3].publicRead['record-a'].counted!.should.equal(1);
|
|
102
|
+
captured.expected[5].publicRead.should.deep.equal({});
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
it('should hash the subscription flag independently of identical mappings', () => {
|
|
106
|
+
const all = new ProjectionBuilderFor<Model>().fromAll(builder => builder.set(model => model.title).to(model => model.title));
|
|
107
|
+
const every = new ProjectionBuilderFor<Model>().fromEvery(builder => builder.set(model => model.title).to(model => model.title));
|
|
108
|
+
all.build('same', 'Model').LastUpdated!.should.not.deep.equal(every.build('same', 'Model').LastUpdated);
|
|
109
|
+
all.build('same', 'Model').LastUpdated!.should.deep.equal(all.build('same', 'Model').LastUpdated);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
@@ -11,6 +11,8 @@ export { AddChildBuilder } from './AddChildBuilder.js';
|
|
|
11
11
|
export type { ChildAdditionEntry } from './AddChildBuilder.js';
|
|
12
12
|
export { CompositeKeyBuilder } from './CompositeKeyBuilder.js';
|
|
13
13
|
export { FromBuilder } from './FromBuilder.js';
|
|
14
|
+
export { FromAllBuilder } from './FromAllBuilder.js';
|
|
15
|
+
export type { IFromAllBuilder } from './IFromAllBuilder.js';
|
|
14
16
|
export { JoinBuilder } from './JoinBuilder.js';
|
|
15
17
|
export { SetBuilder } from './SetBuilder.js';
|
|
16
18
|
export { AddBuilder } from './AddBuilder.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import type { Constructor } from '@cratis/fundamentals';
|
|
5
|
+
import type { IClientArtifactsProvider } from '../../../artifacts/IClientArtifactsProvider.js';
|
|
6
|
+
import { ProjectionDefinitionCompiler } from '../../ProjectionDefinitionCompiler.js';
|
|
7
|
+
|
|
8
|
+
export function compileModelBound(model: Constructor) {
|
|
9
|
+
const artifacts: IClientArtifactsProvider = {
|
|
10
|
+
readModels: [model], projections: [], eventTypes: [], globalForHandlers: [], reducers: [],
|
|
11
|
+
reactors: [], seeders: [], constraints: [], webhooks: [], eventTypeMigrations: []
|
|
12
|
+
};
|
|
13
|
+
const compiled = new ProjectionDefinitionCompiler(artifacts, 'test-sink').compile([], [model]);
|
|
14
|
+
return { compiled, definition: compiled.definitions[0] };
|
|
15
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import 'reflect-metadata';
|
|
5
|
+
import { field } from '@cratis/fundamentals';
|
|
6
|
+
import { beforeEach, chai, describe, it } from 'vitest';
|
|
7
|
+
import { fromAll } from '../modelBound/fromAll.js';
|
|
8
|
+
import { fromEvery } from '../modelBound/fromEvery.js';
|
|
9
|
+
import { ReadModelScenario } from '../../testing/ReadModelScenario.js';
|
|
10
|
+
import { UnsupportedProjectionOperation } from '../../testing/projections/UnsupportedProjectionOperation.js';
|
|
11
|
+
import { compileModelBound } from './given/compile_model_bound.js';
|
|
12
|
+
|
|
13
|
+
chai.should();
|
|
14
|
+
|
|
15
|
+
class Model {
|
|
16
|
+
id = '';
|
|
17
|
+
title = '';
|
|
18
|
+
source = '';
|
|
19
|
+
lastType = '';
|
|
20
|
+
}
|
|
21
|
+
for (const property of ['id', 'title', 'source', 'lastType']) field(String)(Model.prototype, property);
|
|
22
|
+
|
|
23
|
+
describe('when compiling legacy fromAll without explicit event subscriptions', () => {
|
|
24
|
+
let result: ReturnType<typeof compileModelBound>;
|
|
25
|
+
beforeEach(() => {
|
|
26
|
+
class Candidate extends Model {}
|
|
27
|
+
fromAll()(Candidate.prototype, 'title');
|
|
28
|
+
fromAll(undefined, 'sequenceNumber')(Candidate.prototype, 'lastType');
|
|
29
|
+
fromEvery(undefined, 'eventSourceId')(Candidate.prototype, 'source');
|
|
30
|
+
result = compileModelBound(Candidate);
|
|
31
|
+
});
|
|
32
|
+
it('should keep the alias from expanding the event subscription', () => {
|
|
33
|
+
(result.definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
34
|
+
result.definition.From.should.deep.equal([]);
|
|
35
|
+
result.definition.FromEvery.should.deep.equal([]);
|
|
36
|
+
});
|
|
37
|
+
it('should merge content and context mappings with fromEvery into All', () => {
|
|
38
|
+
result.definition.All!.Properties.should.deep.equal({ title: 'title', lastType: '$eventContext(SequenceNumber)', source: '$eventContext(EventSourceId)' });
|
|
39
|
+
result.definition.All!.IncludeChildren.should.be.false;
|
|
40
|
+
});
|
|
41
|
+
it('should preserve the decorator in the mapping diagnostic', () => {
|
|
42
|
+
result.compiled.provenance.get(result.definition)!.should.include.deep.members([
|
|
43
|
+
{ contractPath: 'All.Properties.title', declaration: '@fromAll' }
|
|
44
|
+
]);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
describe('when using legacy fromAll in a read-model scenario', () => {
|
|
49
|
+
it('should reject the all-event mapping before events can be seeded', () => {
|
|
50
|
+
class Candidate extends Model {}
|
|
51
|
+
fromAll('title')(Candidate.prototype, 'title');
|
|
52
|
+
(() => new ReadModelScenario(Candidate, { readModels: [Candidate], eventTypes: [], projections: [], reducers: [] }))
|
|
53
|
+
.should.throw(UnsupportedProjectionOperation, 'All (@fromAll)');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe('when compiling legacy fromEvery without fromAll', () => {
|
|
58
|
+
it('should preserve the existing sparse definition and child flag', () => {
|
|
59
|
+
class Candidate extends Model {}
|
|
60
|
+
fromEvery('name')(Candidate.prototype, 'title');
|
|
61
|
+
const { definition } = compileModelBound(Candidate);
|
|
62
|
+
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
63
|
+
definition.All!.should.deep.equal({ Properties: { title: 'name' }, IncludeChildren: false, AutoMap: 0 });
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('when inheriting legacy fromAll metadata', () => {
|
|
68
|
+
it('should inherit the restricted mapping without changing a sibling', () => {
|
|
69
|
+
class AllModel extends Model {}
|
|
70
|
+
fromAll('name')(AllModel.prototype, 'title');
|
|
71
|
+
class Derived extends AllModel {}
|
|
72
|
+
const { definition } = compileModelBound(Derived);
|
|
73
|
+
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
74
|
+
definition.All!.should.deep.equal({ Properties: { title: 'name' }, IncludeChildren: false, AutoMap: 0 });
|
|
75
|
+
class EveryModel extends Model {}
|
|
76
|
+
fromEvery('name')(EveryModel.prototype, 'title');
|
|
77
|
+
(compileModelBound(EveryModel).definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
describe('when both all-event decorators target the same legacy property', () => {
|
|
82
|
+
it('should preserve fromEvery mapping precedence', () => {
|
|
83
|
+
class Candidate extends Model {}
|
|
84
|
+
fromEvery('oldName')(Candidate.prototype, 'title');
|
|
85
|
+
fromAll('newName')(Candidate.prototype, 'title');
|
|
86
|
+
const { definition } = compileModelBound(Candidate);
|
|
87
|
+
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
88
|
+
definition.All!.Properties.title.should.equal('oldName');
|
|
89
|
+
});
|
|
90
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { field } from '@cratis/fundamentals';
|
|
5
|
+
import { chai, describe, it, type Assertion } from 'vitest';
|
|
6
|
+
import { fromAll } from '../modelBound/fromAll.js';
|
|
7
|
+
import { fromEvery } from '../modelBound/fromEvery.js';
|
|
8
|
+
import { ReadModelScenario } from '../../testing/ReadModelScenario.js';
|
|
9
|
+
import { UnsupportedProjectionOperation } from '../../testing/projections/UnsupportedProjectionOperation.js';
|
|
10
|
+
import { compileModelBound } from './given/compile_model_bound.js';
|
|
11
|
+
|
|
12
|
+
chai.should();
|
|
13
|
+
function should(value: unknown): Assertion { return (value as { should: Assertion }).should; }
|
|
14
|
+
|
|
15
|
+
class AllModel {
|
|
16
|
+
@field(String) id = '';
|
|
17
|
+
@field(String) @fromAll('name') title = '';
|
|
18
|
+
@field(String) @fromAll(undefined, 'sequenceNumber') lastType = '';
|
|
19
|
+
@field(String) @fromEvery(undefined, 'eventSourceId') source = '';
|
|
20
|
+
}
|
|
21
|
+
class EveryModel {
|
|
22
|
+
@field(String) id = '';
|
|
23
|
+
@field(String) @fromEvery('name') title = '';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
describe('when compiling standard fromAll without explicit event subscriptions', () => {
|
|
27
|
+
it('should emit restricted shared mappings without constructing the model', () => {
|
|
28
|
+
const { definition } = compileModelBound(AllModel);
|
|
29
|
+
should(definition.SubscribesToAllEvents === undefined).be.true;
|
|
30
|
+
should(definition.From).deep.equal([]);
|
|
31
|
+
should(definition.FromEvery).deep.equal([]);
|
|
32
|
+
should(definition.All).deep.equal({ Properties: {
|
|
33
|
+
title: 'name', lastType: '$eventContext(SequenceNumber)', source: '$eventContext(EventSourceId)'
|
|
34
|
+
}, IncludeChildren: false, AutoMap: 0 });
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should leave fromEvery subscriptions and child behavior unchanged', () => {
|
|
38
|
+
const { definition } = compileModelBound(EveryModel);
|
|
39
|
+
should(definition.SubscribesToAllEvents === undefined).be.true;
|
|
40
|
+
should(definition.All).deep.equal({ Properties: { title: 'name' }, IncludeChildren: false, AutoMap: 0 });
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('should inherit the restricted mappings without expanding subscriptions', () => {
|
|
44
|
+
class Derived extends AllModel {}
|
|
45
|
+
const { definition } = compileModelBound(Derived);
|
|
46
|
+
should(definition.SubscribesToAllEvents === undefined).be.true;
|
|
47
|
+
should(definition.All).deep.equal(compileModelBound(AllModel).definition.All);
|
|
48
|
+
should(compileModelBound(EveryModel).definition.SubscribesToAllEvents === undefined).be.true;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('should reject the shared mappings before replay with the standard decorator declaration', () => {
|
|
52
|
+
class Candidate {
|
|
53
|
+
@field(String) id = '';
|
|
54
|
+
@field(String) @fromAll('name') title = '';
|
|
55
|
+
}
|
|
56
|
+
should(() => new ReadModelScenario(Candidate, { readModels: [Candidate], eventTypes: [], projections: [], reducers: [] }))
|
|
57
|
+
.throw(UnsupportedProjectionOperation, 'All (@fromAll)');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should preserve fromEvery precedence when both decorators target one property', () => {
|
|
61
|
+
class Both {
|
|
62
|
+
@field(String) id = '';
|
|
63
|
+
@field(String) @fromEvery('oldName') @fromAll('newName') title = '';
|
|
64
|
+
}
|
|
65
|
+
const { definition } = compileModelBound(Both);
|
|
66
|
+
should(definition.SubscribesToAllEvents === undefined).be.true;
|
|
67
|
+
should(definition.All!.Properties.title).equal('oldName');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
@@ -20,7 +20,8 @@ const METADATA_KEY = 'chronicle:projection:fromAll';
|
|
|
20
20
|
* Property decorator that sets the decorated read model property from a property present on every
|
|
21
21
|
* event type the projection is built from - the convention-based counterpart to declaring the same
|
|
22
22
|
* mapping on every individual `fromEvent`. Equivalent to {@link fromEvery} for model-bound
|
|
23
|
-
* projections
|
|
23
|
+
* projections.
|
|
24
|
+
* @deprecated In the next major, @fromAll subscribes to every event type like fluent fromAll() and .NET [FromAll]; use @fromEvery to keep the current behavior.
|
|
24
25
|
* @param property - Optional event property name. If not specified, uses the model property name.
|
|
25
26
|
* @param contextProperty - Optional event context property name.
|
|
26
27
|
* @returns A property decorator.
|
|
@@ -38,6 +38,11 @@ const allFixtures = readdirSync(directory).filter(name => name.endsWith('.json')
|
|
|
38
38
|
.map(name => ({ name, fixture: JSON.parse(readFileSync(new URL(name, directory), 'utf8')) as Fixture }));
|
|
39
39
|
const fixtures = allFixtures.filter(({ fixture }) => fixture.kind === 'kernelSemantics');
|
|
40
40
|
const guardErrors: Record<string, { type: string; message: string }> = {
|
|
41
|
+
'from-all-only.json': { type: 'UnsupportedProjectionOperation', message: 'subscribe-to-all projections require a kernel-backed test' },
|
|
42
|
+
'from-all-mixed.json': { type: 'UnsupportedProjectionOperation', message: 'subscribe-to-all projections require a kernel-backed test' },
|
|
43
|
+
'from-all-exclude-children.json': { type: 'UnsupportedProjectionOperation', message: 'subscribe-to-all projections require a kernel-backed test' },
|
|
44
|
+
'from-all-empty.json': { type: 'UnsupportedProjectionOperation', message: 'subscribe-to-all projections require a kernel-backed test' },
|
|
45
|
+
'from-every-restricted.json': { type: 'UnsupportedProjectionOperation', message: 'fromEvery/all subscriptions require a kernel-backed test' },
|
|
41
46
|
'joins-custom-key.json': { type: 'UnsupportedProjectionOperation', message: 'join keys other than $eventSourceId' },
|
|
42
47
|
'joins-initial-state.json': { type: 'UnsupportedProjectionOperation', message: 'joins with initial model state' },
|
|
43
48
|
'arithmetic-string-operand.json': { type: 'UnsupportedProjectionOperation', message: 'arithmetic operands must have number/double' },
|
package/testing/projections/for_ProjectionCapabilities/when_rejecting_unsupported_operations.spec.ts
CHANGED
|
@@ -79,6 +79,8 @@ describe('when rejecting unsupported operations before any event is seeded', ()
|
|
|
79
79
|
{ name: 'removedWithJoin', define: builder => { builder.from(Changed).removedWithJoin(Removed); }, path: 'RemovedWithJoin[capability-removed:1] (.removedWithJoin)' },
|
|
80
80
|
{ name: 'removal key', define: builder => { builder.from(Removed).removedWith(Changed, removal => removal.usingKey(event => event.name)); }, path: 'RemovedWith[capability-changed:1].Key (.removedWith)' },
|
|
81
81
|
{ name: 'fromEvery', define: builder => { builder.from(Changed).fromEvery(all => all.set(model => model.name).toEventSourceId()); }, path: 'All (.fromEvery)' },
|
|
82
|
+
{ name: 'fromAll', define: builder => { builder.fromAll(all => all.set(model => model.name).toEventSourceId()); }, path: 'SubscribesToAllEvents (.fromAll)' },
|
|
83
|
+
{ name: 'empty fromAll', define: builder => { builder.fromAll(() => {}); }, path: 'SubscribesToAllEvents (.fromAll)' },
|
|
82
84
|
{ name: 'empty fromEvery', define: builder => { builder.from(Changed).fromEvery(all => all.excludeChildProjections()); }, path: 'All (.fromEvery)' },
|
|
83
85
|
{ name: 'passive', define: builder => { builder.from(Changed).passive(); }, path: 'IsActive (.passive)' },
|
|
84
86
|
{ name: 'event sequence', define: builder => { builder.from(Changed).fromEventSequence('custom'); }, path: 'EventSequenceId (.fromEventSequence)' }
|