@cratis/chronicle 0.0.1 → 0.1.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/Auditing/Causation.ts +29 -0
- package/Auditing/CausationManager.ts +51 -0
- package/Auditing/CausationType.ts +38 -0
- package/Auditing/ICausationManager.ts +29 -0
- package/Auditing/index.ts +15 -0
- package/Correlation/CorrelationId.ts +33 -0
- package/Correlation/CorrelationIdManager.ts +30 -0
- package/Correlation/ICorrelationIdAccessor.ts +15 -0
- package/Correlation/ICorrelationIdSetter.ts +21 -0
- package/Correlation/index.ts +15 -0
- package/EventSequences/EventSequence.ts +48 -50
- package/Identity/IIdentityProvider.ts +26 -0
- package/Identity/Identity.ts +61 -0
- package/Identity/IdentityProvider.ts +28 -0
- package/Identity/index.ts +14 -0
- package/Projections/Projections.ts +75 -20
- package/Projections/declarative/ProjectionBuilderFor.ts +19 -2
- package/Projections/declarative/projection.ts +6 -2
- package/Projections/modelBound/index.ts +0 -2
- package/Projections/modelBound/setFromContext.ts +20 -2
- package/README.md +1 -1
- package/Reactors/Reactors.ts +1 -0
- package/Reducers/Reducers.ts +66 -2
- package/Schemas/JsonSchemaGenerator.ts +20 -3
- package/artifacts/DefaultClientArtifactsProvider.ts +0 -5
- package/artifacts/IClientArtifactsProvider.ts +0 -3
- package/connection/Guid.ts +29 -1
- package/dist/Auditing/Causation.d.ts +22 -0
- package/dist/Auditing/Causation.d.ts.map +1 -0
- package/dist/Auditing/Causation.js +30 -0
- package/dist/Auditing/Causation.js.map +1 -0
- package/dist/Auditing/CausationManager.d.ts +23 -0
- package/dist/Auditing/CausationManager.d.ts.map +1 -0
- package/dist/Auditing/CausationManager.js +45 -0
- package/dist/Auditing/CausationManager.js.map +1 -0
- package/dist/Auditing/CausationType.d.ts +30 -0
- package/dist/Auditing/CausationType.d.ts.map +1 -0
- package/dist/Auditing/CausationType.js +36 -0
- package/dist/Auditing/CausationType.js.map +1 -0
- package/dist/Auditing/ICausationManager.d.ts +24 -0
- package/dist/Auditing/ICausationManager.d.ts.map +1 -0
- package/dist/Auditing/ICausationManager.js +4 -0
- package/dist/Auditing/ICausationManager.js.map +1 -0
- package/dist/Auditing/index.d.ts +11 -0
- package/dist/Auditing/index.d.ts.map +1 -0
- package/dist/Auditing/index.js +12 -0
- package/dist/Auditing/index.js.map +1 -0
- package/dist/Correlation/CorrelationId.d.ts +23 -0
- package/dist/Correlation/CorrelationId.d.ts.map +1 -0
- package/dist/Correlation/CorrelationId.js +32 -0
- package/dist/Correlation/CorrelationId.js.map +1 -0
- package/dist/Correlation/CorrelationIdManager.d.ts +17 -0
- package/dist/Correlation/CorrelationIdManager.d.ts.map +1 -0
- package/dist/Correlation/CorrelationIdManager.js +24 -0
- package/dist/Correlation/CorrelationIdManager.js.map +1 -0
- package/dist/Correlation/ICorrelationIdAccessor.d.ts +12 -0
- package/dist/Correlation/ICorrelationIdAccessor.d.ts.map +1 -0
- package/dist/Correlation/ICorrelationIdAccessor.js +4 -0
- package/dist/Correlation/ICorrelationIdAccessor.js.map +1 -0
- package/dist/Correlation/ICorrelationIdSetter.d.ts +17 -0
- package/dist/Correlation/ICorrelationIdSetter.d.ts.map +1 -0
- package/dist/Correlation/ICorrelationIdSetter.js +4 -0
- package/dist/Correlation/ICorrelationIdSetter.js.map +1 -0
- package/dist/Correlation/index.d.ts +11 -0
- package/dist/Correlation/index.d.ts.map +1 -0
- package/dist/Correlation/index.js +11 -0
- package/dist/Correlation/index.js.map +1 -0
- package/dist/EventSequences/EventSequence.d.ts.map +1 -1
- package/dist/EventSequences/EventSequence.js +45 -46
- package/dist/EventSequences/EventSequence.js.map +1 -1
- package/dist/Identity/IIdentityProvider.d.ts +21 -0
- package/dist/Identity/IIdentityProvider.d.ts.map +1 -0
- package/dist/Identity/IIdentityProvider.js +4 -0
- package/dist/Identity/IIdentityProvider.js.map +1 -0
- package/dist/Identity/Identity.d.ts +37 -0
- package/dist/Identity/Identity.d.ts.map +1 -0
- package/dist/Identity/Identity.js +60 -0
- package/dist/Identity/Identity.js.map +1 -0
- package/dist/Identity/IdentityProvider.d.ts +15 -0
- package/dist/Identity/IdentityProvider.d.ts.map +1 -0
- package/dist/Identity/IdentityProvider.js +23 -0
- package/dist/Identity/IdentityProvider.js.map +1 -0
- package/dist/Identity/index.d.ts +10 -0
- package/dist/Identity/index.d.ts.map +1 -0
- package/dist/Identity/index.js +11 -0
- package/dist/Identity/index.js.map +1 -0
- package/dist/Projections/Projections.d.ts +9 -1
- package/dist/Projections/Projections.d.ts.map +1 -1
- package/dist/Projections/Projections.js +70 -19
- package/dist/Projections/Projections.js.map +1 -1
- package/dist/Projections/declarative/ProjectionBuilderFor.d.ts +6 -0
- package/dist/Projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/Projections/declarative/ProjectionBuilderFor.js +18 -2
- package/dist/Projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/Projections/declarative/projection.d.ts +5 -1
- package/dist/Projections/declarative/projection.d.ts.map +1 -1
- package/dist/Projections/declarative/projection.js +3 -2
- package/dist/Projections/declarative/projection.js.map +1 -1
- package/dist/Projections/modelBound/index.d.ts +0 -2
- package/dist/Projections/modelBound/index.d.ts.map +1 -1
- package/dist/Projections/modelBound/index.js +0 -1
- package/dist/Projections/modelBound/index.js.map +1 -1
- package/dist/Projections/modelBound/setFromContext.d.ts +4 -1
- package/dist/Projections/modelBound/setFromContext.d.ts.map +1 -1
- package/dist/Projections/modelBound/setFromContext.js +12 -7
- package/dist/Projections/modelBound/setFromContext.js.map +1 -1
- package/dist/Reactors/Reactors.d.ts.map +1 -1
- package/dist/Reactors/Reactors.js +1 -0
- package/dist/Reactors/Reactors.js.map +1 -1
- package/dist/Reducers/Reducers.d.ts +2 -0
- package/dist/Reducers/Reducers.d.ts.map +1 -1
- package/dist/Reducers/Reducers.js +60 -2
- package/dist/Reducers/Reducers.js.map +1 -1
- package/dist/Schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/Schemas/JsonSchemaGenerator.js +17 -3
- package/dist/Schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +0 -2
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js +0 -4
- package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
- package/dist/artifacts/IClientArtifactsProvider.d.ts +0 -2
- package/dist/artifacts/IClientArtifactsProvider.d.ts.map +1 -1
- package/dist/connection/Guid.d.ts +8 -1
- package/dist/connection/Guid.d.ts.map +1 -1
- package/dist/connection/Guid.js +24 -1
- package/dist/connection/Guid.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/sinks/WellKnownSinks.d.ts +15 -0
- package/dist/sinks/WellKnownSinks.d.ts.map +1 -0
- package/dist/sinks/WellKnownSinks.js +17 -0
- package/dist/sinks/WellKnownSinks.js.map +1 -0
- package/dist/sinks/index.d.ts +2 -0
- package/dist/sinks/index.d.ts.map +1 -0
- package/dist/sinks/index.js +4 -0
- package/dist/sinks/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/DecoratorType.d.ts +1 -3
- package/dist/types/DecoratorType.d.ts.map +1 -1
- package/dist/types/DecoratorType.js +0 -2
- package/dist/types/DecoratorType.js.map +1 -1
- package/index.ts +4 -0
- package/package.json +2 -2
- package/sinks/WellKnownSinks.ts +21 -0
- package/sinks/index.ts +4 -0
- package/types/DecoratorType.ts +1 -4
- package/Projections/modelBound/modelBound.ts +0 -59
- package/dist/Grpc.d.ts +0 -19
- package/dist/Grpc.d.ts.map +0 -1
- package/dist/Grpc.js +0 -33
- package/dist/Grpc.js.map +0 -1
- package/dist/Projections/modelBound/modelBound.d.ts +0 -31
- package/dist/Projections/modelBound/modelBound.d.ts.map +0 -1
- package/dist/Projections/modelBound/modelBound.js +0 -39
- package/dist/Projections/modelBound/modelBound.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
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 { AsyncLocalStorage } from 'async_hooks';
|
|
4
|
+
import { Causation } from './Causation';
|
|
5
|
+
import { CausationType } from './CausationType';
|
|
6
|
+
/**
|
|
7
|
+
* Implements {@link ICausationManager} using {@link AsyncLocalStorage} to scope the causation chain to the active async call context.
|
|
8
|
+
*/
|
|
9
|
+
export class CausationManager {
|
|
10
|
+
_storage = new AsyncLocalStorage();
|
|
11
|
+
_root = new Causation(new Date(), CausationType.root, {});
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
get root() {
|
|
14
|
+
return this._root;
|
|
15
|
+
}
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
getCurrentChain() {
|
|
18
|
+
const chain = this._getOrInitChain();
|
|
19
|
+
return chain;
|
|
20
|
+
}
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
add(type, properties) {
|
|
23
|
+
const chain = this._getOrInitChain();
|
|
24
|
+
chain.push(new Causation(new Date(), type, properties));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Defines the root causation for the current process.
|
|
28
|
+
* @param properties - Properties associated with the root causation.
|
|
29
|
+
*/
|
|
30
|
+
defineRoot(properties) {
|
|
31
|
+
this._root = new Causation(new Date(), CausationType.root, properties);
|
|
32
|
+
}
|
|
33
|
+
_getOrInitChain() {
|
|
34
|
+
let chain = this._storage.getStore();
|
|
35
|
+
if (chain === undefined) {
|
|
36
|
+
chain = [this._root];
|
|
37
|
+
this._storage.enterWith(chain);
|
|
38
|
+
}
|
|
39
|
+
else if (chain.length === 0) {
|
|
40
|
+
chain.push(this._root);
|
|
41
|
+
}
|
|
42
|
+
return chain;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=CausationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CausationManager.js","sourceRoot":"","sources":["../../Auditing/CausationManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACR,QAAQ,GAAG,IAAI,iBAAiB,EAAe,CAAC;IACzD,KAAK,GAAc,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7E,kBAAkB;IAClB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,kBAAkB;IAClB,eAAe;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAmB,EAAE,UAAkC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,UAAkC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a type of causation.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CausationType {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/**
|
|
7
|
+
* Represents the root causation type.
|
|
8
|
+
*/
|
|
9
|
+
static readonly root: CausationType;
|
|
10
|
+
/**
|
|
11
|
+
* Represents the unknown causation type.
|
|
12
|
+
*/
|
|
13
|
+
static readonly unknown: CausationType;
|
|
14
|
+
/**
|
|
15
|
+
* Represents the causation type for a single event append via the TypeScript client.
|
|
16
|
+
*/
|
|
17
|
+
static readonly appendEvent: CausationType;
|
|
18
|
+
/**
|
|
19
|
+
* Represents the causation type for a batch event append via the TypeScript client.
|
|
20
|
+
*/
|
|
21
|
+
static readonly appendManyEvents: CausationType;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes a new instance of the {@link CausationType} class.
|
|
24
|
+
* @param name - The name of the causation type.
|
|
25
|
+
*/
|
|
26
|
+
constructor(name: string);
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
toString(): string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=CausationType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CausationType.d.ts","sourceRoot":"","sources":["../../Auditing/CausationType.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,aAAa;IAyBV,QAAQ,CAAC,IAAI,EAAE,MAAM;IAxBjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA6B;IAEjD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,gBAAgC;IAEvD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgD;IAE3E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,gBAAoD;IAEpF;;;OAGG;gBACkB,IAAI,EAAE,MAAM;IAEjC,kBAAkB;IAClB,QAAQ,IAAI,MAAM;CAGrB"}
|
|
@@ -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
|
+
/**
|
|
4
|
+
* Represents a type of causation.
|
|
5
|
+
*/
|
|
6
|
+
export class CausationType {
|
|
7
|
+
name;
|
|
8
|
+
/**
|
|
9
|
+
* Represents the root causation type.
|
|
10
|
+
*/
|
|
11
|
+
static root = new CausationType('Root');
|
|
12
|
+
/**
|
|
13
|
+
* Represents the unknown causation type.
|
|
14
|
+
*/
|
|
15
|
+
static unknown = new CausationType('Unknown');
|
|
16
|
+
/**
|
|
17
|
+
* Represents the causation type for a single event append via the TypeScript client.
|
|
18
|
+
*/
|
|
19
|
+
static appendEvent = new CausationType('TypeScriptClient.Append');
|
|
20
|
+
/**
|
|
21
|
+
* Represents the causation type for a batch event append via the TypeScript client.
|
|
22
|
+
*/
|
|
23
|
+
static appendManyEvents = new CausationType('TypeScriptClient.AppendMany');
|
|
24
|
+
/**
|
|
25
|
+
* Initializes a new instance of the {@link CausationType} class.
|
|
26
|
+
* @param name - The name of the causation type.
|
|
27
|
+
*/
|
|
28
|
+
constructor(name) {
|
|
29
|
+
this.name = name;
|
|
30
|
+
}
|
|
31
|
+
/** @inheritdoc */
|
|
32
|
+
toString() {
|
|
33
|
+
return this.name;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=CausationType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CausationType.js","sourceRoot":"","sources":["../../Auditing/CausationType.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG;;GAEG;AACH,MAAM,OAAO,aAAa;IAyBD;IAxBrB;;OAEG;IACH,MAAM,CAAU,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,CAAU,OAAO,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvD;;OAEG;IACH,MAAM,CAAU,WAAW,GAAG,IAAI,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAE3E;;OAEG;IACH,MAAM,CAAU,gBAAgB,GAAG,IAAI,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAEpF;;;OAGG;IACH,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAErC,kBAAkB;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Causation } from './Causation';
|
|
2
|
+
import { CausationType } from './CausationType';
|
|
3
|
+
/**
|
|
4
|
+
* Defines a system that manages causation for the active call context.
|
|
5
|
+
*/
|
|
6
|
+
export interface ICausationManager {
|
|
7
|
+
/**
|
|
8
|
+
* Gets the root causation.
|
|
9
|
+
*/
|
|
10
|
+
readonly root: Causation;
|
|
11
|
+
/**
|
|
12
|
+
* Gets the full causation chain for the current call context.
|
|
13
|
+
* The chain always starts with {@link root} if no other causation has been added.
|
|
14
|
+
* @returns An array of {@link Causation} representing the current chain.
|
|
15
|
+
*/
|
|
16
|
+
getCurrentChain(): ReadonlyArray<Causation>;
|
|
17
|
+
/**
|
|
18
|
+
* Adds a causation entry to the current chain.
|
|
19
|
+
* @param type - The type of causation to add.
|
|
20
|
+
* @param properties - Properties associated with the causation.
|
|
21
|
+
*/
|
|
22
|
+
add(type: CausationType, properties: Record<string, string>): void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ICausationManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICausationManager.d.ts","sourceRoot":"","sources":["../../Auditing/ICausationManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB;;;;OAIG;IACH,eAAe,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICausationManager.js","sourceRoot":"","sources":["../../Auditing/ICausationManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Causation } from './Causation';
|
|
2
|
+
export { CausationType } from './CausationType';
|
|
3
|
+
export type { ICausationManager } from './ICausationManager';
|
|
4
|
+
export { CausationManager } from './CausationManager';
|
|
5
|
+
import { CausationManager } from './CausationManager';
|
|
6
|
+
/**
|
|
7
|
+
* The default singleton {@link CausationManager} for the process.
|
|
8
|
+
* Use this to manage the causation chain for the current async call context.
|
|
9
|
+
*/
|
|
10
|
+
export declare const causationManager: CausationManager;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Auditing/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -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
|
+
export { Causation } from './Causation';
|
|
4
|
+
export { CausationType } from './CausationType';
|
|
5
|
+
export { CausationManager } from './CausationManager';
|
|
6
|
+
import { CausationManager } from './CausationManager';
|
|
7
|
+
/**
|
|
8
|
+
* The default singleton {@link CausationManager} for the process.
|
|
9
|
+
* Use this to manage the causation chain for the current async call context.
|
|
10
|
+
*/
|
|
11
|
+
export const causationManager = new CausationManager();
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../Auditing/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a correlation identifier used to track operations across call boundaries.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CorrelationId {
|
|
5
|
+
readonly value: string;
|
|
6
|
+
/**
|
|
7
|
+
* A well-known {@link CorrelationId} representing an unset/empty value.
|
|
8
|
+
*/
|
|
9
|
+
static readonly notSet: CorrelationId;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new unique {@link CorrelationId}.
|
|
12
|
+
* @returns A new {@link CorrelationId} backed by a freshly generated GUID.
|
|
13
|
+
*/
|
|
14
|
+
static create(): CorrelationId;
|
|
15
|
+
/**
|
|
16
|
+
* Initializes a new instance of the {@link CorrelationId} class.
|
|
17
|
+
* @param value - The string value of the correlation identifier.
|
|
18
|
+
*/
|
|
19
|
+
constructor(value: string);
|
|
20
|
+
/** @inheritdoc */
|
|
21
|
+
toString(): string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=CorrelationId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CorrelationId.d.ts","sourceRoot":"","sources":["../../Correlation/CorrelationId.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,aAAa;IAkBV,QAAQ,CAAC,KAAK,EAAE,MAAM;IAjBlC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAA6D;IAEnF;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B;;;OAGG;gBACkB,KAAK,EAAE,MAAM;IAElC,kBAAkB;IAClB,QAAQ,IAAI,MAAM;CAGrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 { Guid } from '@cratis/fundamentals';
|
|
4
|
+
/**
|
|
5
|
+
* Represents a correlation identifier used to track operations across call boundaries.
|
|
6
|
+
*/
|
|
7
|
+
export class CorrelationId {
|
|
8
|
+
value;
|
|
9
|
+
/**
|
|
10
|
+
* A well-known {@link CorrelationId} representing an unset/empty value.
|
|
11
|
+
*/
|
|
12
|
+
static notSet = new CorrelationId('00000000-0000-0000-0000-000000000000');
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new unique {@link CorrelationId}.
|
|
15
|
+
* @returns A new {@link CorrelationId} backed by a freshly generated GUID.
|
|
16
|
+
*/
|
|
17
|
+
static create() {
|
|
18
|
+
return new CorrelationId(Guid.create().toString());
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Initializes a new instance of the {@link CorrelationId} class.
|
|
22
|
+
* @param value - The string value of the correlation identifier.
|
|
23
|
+
*/
|
|
24
|
+
constructor(value) {
|
|
25
|
+
this.value = value;
|
|
26
|
+
}
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
toString() {
|
|
29
|
+
return this.value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=CorrelationId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CorrelationId.js","sourceRoot":"","sources":["../../Correlation/CorrelationId.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,aAAa;IAkBD;IAjBrB;;OAEG;IACH,MAAM,CAAU,MAAM,GAAG,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;IAEnF;;;OAGG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,kBAAkB;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CorrelationId } from './CorrelationId';
|
|
2
|
+
import { ICorrelationIdAccessor } from './ICorrelationIdAccessor';
|
|
3
|
+
import { ICorrelationIdSetter } from './ICorrelationIdSetter';
|
|
4
|
+
/**
|
|
5
|
+
* Implements both {@link ICorrelationIdAccessor} and {@link ICorrelationIdSetter},
|
|
6
|
+
* using {@link AsyncLocalStorage} to scope the correlation identifier to the active async call context.
|
|
7
|
+
*/
|
|
8
|
+
export declare class CorrelationIdManager implements ICorrelationIdAccessor, ICorrelationIdSetter {
|
|
9
|
+
private readonly _storage;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
get current(): CorrelationId;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
setCurrent(correlationId: CorrelationId): void;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=CorrelationIdManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CorrelationIdManager.d.ts","sourceRoot":"","sources":["../../Correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,sBAAsB,EAAE,oBAAoB;IACrF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,kBAAkB;IAClB,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,kBAAkB;IAClB,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI9C,kBAAkB;IAClB,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { AsyncLocalStorage } from 'async_hooks';
|
|
4
|
+
import { CorrelationId } from './CorrelationId';
|
|
5
|
+
/**
|
|
6
|
+
* Implements both {@link ICorrelationIdAccessor} and {@link ICorrelationIdSetter},
|
|
7
|
+
* using {@link AsyncLocalStorage} to scope the correlation identifier to the active async call context.
|
|
8
|
+
*/
|
|
9
|
+
export class CorrelationIdManager {
|
|
10
|
+
_storage = new AsyncLocalStorage();
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
get current() {
|
|
13
|
+
return this._storage.getStore() ?? CorrelationId.create();
|
|
14
|
+
}
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
setCurrent(correlationId) {
|
|
17
|
+
this._storage.enterWith(correlationId);
|
|
18
|
+
}
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
clear() {
|
|
21
|
+
this._storage.enterWith(CorrelationId.create());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=CorrelationIdManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CorrelationIdManager.js","sourceRoot":"","sources":["../../Correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACZ,QAAQ,GAAG,IAAI,iBAAiB,EAAiB,CAAC;IAEnE,kBAAkB;IAClB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,UAAU,CAAC,aAA4B;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,kBAAkB;IAClB,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;CACJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CorrelationId } from './CorrelationId';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the read side of a correlation identifier provider scoped to the active call context.
|
|
4
|
+
*/
|
|
5
|
+
export interface ICorrelationIdAccessor {
|
|
6
|
+
/**
|
|
7
|
+
* Gets the current correlation identifier for the active call context.
|
|
8
|
+
* @returns The current {@link CorrelationId}.
|
|
9
|
+
*/
|
|
10
|
+
readonly current: CorrelationId;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ICorrelationIdAccessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICorrelationIdAccessor.d.ts","sourceRoot":"","sources":["../../Correlation/ICorrelationIdAccessor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICorrelationIdAccessor.js","sourceRoot":"","sources":["../../Correlation/ICorrelationIdAccessor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CorrelationId } from './CorrelationId';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the write side of a correlation identifier provider scoped to the active call context.
|
|
4
|
+
*/
|
|
5
|
+
export interface ICorrelationIdSetter {
|
|
6
|
+
/**
|
|
7
|
+
* Sets the current correlation identifier for the active call context.
|
|
8
|
+
* @param correlationId - The {@link CorrelationId} to set.
|
|
9
|
+
*/
|
|
10
|
+
setCurrent(correlationId: CorrelationId): void;
|
|
11
|
+
/**
|
|
12
|
+
* Clears the current correlation identifier for the active call context,
|
|
13
|
+
* causing the next access to generate a new unique identifier.
|
|
14
|
+
*/
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ICorrelationIdSetter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICorrelationIdSetter.d.ts","sourceRoot":"","sources":["../../Correlation/ICorrelationIdSetter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICorrelationIdSetter.js","sourceRoot":"","sources":["../../Correlation/ICorrelationIdSetter.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { CorrelationId } from './CorrelationId';
|
|
2
|
+
export type { ICorrelationIdAccessor } from './ICorrelationIdAccessor';
|
|
3
|
+
export type { ICorrelationIdSetter } from './ICorrelationIdSetter';
|
|
4
|
+
export { CorrelationIdManager } from './CorrelationIdManager';
|
|
5
|
+
import { CorrelationIdManager } from './CorrelationIdManager';
|
|
6
|
+
/**
|
|
7
|
+
* The default singleton {@link CorrelationIdManager} for the process.
|
|
8
|
+
* Use this to get and set the correlation identifier for the current async call context.
|
|
9
|
+
*/
|
|
10
|
+
export declare const correlationIdManager: CorrelationIdManager;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Correlation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
export { CorrelationId } from './CorrelationId';
|
|
4
|
+
export { CorrelationIdManager } from './CorrelationIdManager';
|
|
5
|
+
import { CorrelationIdManager } from './CorrelationIdManager';
|
|
6
|
+
/**
|
|
7
|
+
* The default singleton {@link CorrelationIdManager} for the process.
|
|
8
|
+
* Use this to get and set the correlation identifier for the current async call context.
|
|
9
|
+
*/
|
|
10
|
+
export const correlationIdManager = new CorrelationIdManager();
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../Correlation/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAE5C,QAAQ,CAAC,EAAE,EAAE,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAHnB,EAAE,EAAE,eAAe,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB;IAGrD,kBAAkB;IACZ,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAuGlG,kBAAkB;IACZ,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsH3G,kBAAkB;IACZ,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCjF,kBAAkB;IACZ,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B3D,OAAO,CAAC,iBAAiB;CAyB5B"}
|
|
@@ -6,6 +6,10 @@ import { getEventTypeFor } from '../Events/eventTypeDecorator';
|
|
|
6
6
|
import { EventSequenceNumber } from './EventSequenceNumber';
|
|
7
7
|
import { ChronicleTracer } from '../Tracing';
|
|
8
8
|
import { ChronicleMetrics } from '../Metrics';
|
|
9
|
+
import { identityProvider } from '../Identity';
|
|
10
|
+
import { causationManager, CausationType } from '../Auditing';
|
|
11
|
+
import { correlationIdManager } from '../Correlation';
|
|
12
|
+
import { toContractsGuid } from '../connection/Guid';
|
|
9
13
|
/**
|
|
10
14
|
* Implements {@link IEventSequence} by communicating with the Chronicle Kernel
|
|
11
15
|
* via gRPC using the {@link ChronicleConnection}.
|
|
@@ -25,9 +29,12 @@ export class EventSequence {
|
|
|
25
29
|
async append(eventSourceId, event, options) {
|
|
26
30
|
const eventType = getEventTypeFor(event.constructor);
|
|
27
31
|
const correlationId = options?.correlationId === undefined
|
|
28
|
-
? Guid.
|
|
32
|
+
? Guid.as(correlationIdManager.current.value)
|
|
29
33
|
: Guid.as(options.correlationId);
|
|
30
34
|
const content = JSON.stringify(event);
|
|
35
|
+
causationManager.add(CausationType.appendEvent, { eventType: eventType.id.value });
|
|
36
|
+
const causationChain = causationManager.getCurrentChain();
|
|
37
|
+
const identity = identityProvider.getCurrent();
|
|
31
38
|
const metricAttributes = {
|
|
32
39
|
'chronicle.event_store': this._eventStoreName,
|
|
33
40
|
'chronicle.namespace': this._namespace,
|
|
@@ -58,17 +65,12 @@ export class EventSequence {
|
|
|
58
65
|
Tombstone: eventType.tombstone
|
|
59
66
|
},
|
|
60
67
|
Content: content,
|
|
61
|
-
Causation:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
CausedBy:
|
|
67
|
-
Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
|
|
68
|
-
Name: '[System]',
|
|
69
|
-
UserName: '[System]',
|
|
70
|
-
OnBehalfOf: undefined
|
|
71
|
-
},
|
|
68
|
+
Causation: causationChain.map(c => ({
|
|
69
|
+
Occurred: { Value: c.occurred.toISOString() },
|
|
70
|
+
Type: c.type.name,
|
|
71
|
+
Properties: { ...c.properties }
|
|
72
|
+
})),
|
|
73
|
+
CausedBy: toContractsCausedBy(identity),
|
|
72
74
|
ConcurrencyScope: {
|
|
73
75
|
// ulong.MaxValue sent as BigInt so the server recognises it as ConcurrencyScope.None (no validation)
|
|
74
76
|
SequenceNumber: 18446744073709551615n,
|
|
@@ -122,8 +124,11 @@ export class EventSequence {
|
|
|
122
124
|
/** @inheritdoc */
|
|
123
125
|
async appendMany(eventSourceId, events, options) {
|
|
124
126
|
const correlationId = options?.correlationId === undefined
|
|
125
|
-
? Guid.
|
|
127
|
+
? Guid.as(correlationIdManager.current.value)
|
|
126
128
|
: Guid.as(options.correlationId);
|
|
129
|
+
causationManager.add(CausationType.appendManyEvents, { count: String(events.length) });
|
|
130
|
+
const batchCausationChain = causationManager.getCurrentChain();
|
|
131
|
+
const identity = identityProvider.getCurrent();
|
|
127
132
|
const eventsToAppend = events.map(event => {
|
|
128
133
|
const eventType = getEventTypeFor(event.constructor);
|
|
129
134
|
return {
|
|
@@ -137,17 +142,12 @@ export class EventSequence {
|
|
|
137
142
|
Tombstone: eventType.tombstone
|
|
138
143
|
},
|
|
139
144
|
Content: JSON.stringify(event),
|
|
140
|
-
Causation:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
CausedBy:
|
|
146
|
-
Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
|
|
147
|
-
Name: '[System]',
|
|
148
|
-
UserName: '[System]',
|
|
149
|
-
OnBehalfOf: undefined
|
|
150
|
-
},
|
|
145
|
+
Causation: batchCausationChain.map(c => ({
|
|
146
|
+
Occurred: { Value: c.occurred.toISOString() },
|
|
147
|
+
Type: c.type.name,
|
|
148
|
+
Properties: { ...c.properties }
|
|
149
|
+
})),
|
|
150
|
+
CausedBy: toContractsCausedBy(identity),
|
|
151
151
|
ConcurrencyScope: {
|
|
152
152
|
SequenceNumber: 18446744073709551615n,
|
|
153
153
|
EventSourceId: false,
|
|
@@ -181,17 +181,12 @@ export class EventSequence {
|
|
|
181
181
|
EventSequenceId: this.id.value,
|
|
182
182
|
CorrelationId: toContractsGuid(correlationId),
|
|
183
183
|
Events: eventsToAppend,
|
|
184
|
-
Causation:
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
CausedBy:
|
|
190
|
-
Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
|
|
191
|
-
Name: '[System]',
|
|
192
|
-
UserName: '[System]',
|
|
193
|
-
OnBehalfOf: undefined
|
|
194
|
-
},
|
|
184
|
+
Causation: batchCausationChain.map(c => ({
|
|
185
|
+
Occurred: { Value: c.occurred.toISOString() },
|
|
186
|
+
Type: c.type.name,
|
|
187
|
+
Properties: { ...c.properties }
|
|
188
|
+
})),
|
|
189
|
+
CausedBy: toContractsCausedBy(identity),
|
|
195
190
|
ConcurrencyScopes: {}
|
|
196
191
|
});
|
|
197
192
|
const duration = Date.now() - startTime;
|
|
@@ -321,17 +316,21 @@ export class EventSequence {
|
|
|
321
316
|
* @param guid - The Guid to convert.
|
|
322
317
|
* @returns The converted protobuf Guid with fixed64-safe hi/lo values.
|
|
323
318
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Converts an {@link Identity} into the CausedBy shape used by Chronicle contracts.
|
|
321
|
+
* @param identity - The identity to convert.
|
|
322
|
+
* @returns The contracts CausedBy object.
|
|
323
|
+
*/
|
|
324
|
+
function toContractsCausedBy(identity) {
|
|
325
|
+
const result = {
|
|
326
|
+
Subject: identity.subject,
|
|
327
|
+
Name: identity.name,
|
|
328
|
+
UserName: identity.userName,
|
|
329
|
+
OnBehalfOf: undefined
|
|
335
330
|
};
|
|
331
|
+
if (identity.onBehalfOf !== undefined) {
|
|
332
|
+
result.OnBehalfOf = toContractsCausedBy(identity.onBehalfOf);
|
|
333
|
+
}
|
|
334
|
+
return result;
|
|
336
335
|
}
|
|
337
336
|
//# sourceMappingURL=EventSequence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAMrG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;GAGG;AACH,MAAM,OAAO,aAAa;IAET;IACQ;IACA;IACA;IAJrB,YACa,EAAmB,EACX,eAAuB,EACvB,UAAkB,EAClB,WAAgC;QAHxC,OAAE,GAAF,EAAE,CAAiB;QACX,oBAAe,GAAf,eAAe,CAAQ;QACvB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAqB;IAClD,CAAC;IAEJ,kBAAkB;IAClB,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,KAAa,EAAE,OAAuB;QACtE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAuB,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,KAAK,SAAS;YACtD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACf,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,gBAAgB,GAAG;YACrB,uBAAuB,EAAE,IAAI,CAAC,eAAe;YAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;YACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;YAC5C,yBAAyB,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK;SAChD,CAAC;QAEF,OAAO,eAAe,CAAC,eAAe,CAAC,kCAAkC,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACpF,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,iCAAiC,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC;oBAC1D,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;oBAC9B,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC;oBAC7C,eAAe,EAAE,SAAS;oBAC1B,aAAa,EAAE,aAAa;oBAC5B,eAAe,EAAE,SAAS;oBAC1B,aAAa,EAAE,aAAa;oBAC5B,SAAS,EAAE;wBACP,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK;wBACtB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK;wBACtC,SAAS,EAAE,SAAS,CAAC,SAAS;qBACjC;oBACD,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,CAAC;4BACR,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;4BAC7C,IAAI,EAAE,yBAAyB;4BAC/B,UAAU,EAAE,EAAE;yBACjB,CAAC;oBACF,QAAQ,EAAE;wBACN,OAAO,EAAE,sCAAsC;wBAC/C,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,SAAS;qBACxB;oBACD,gBAAgB,EAAE;wBACd,qGAAqG;wBACrG,cAAc,EAAE,qBAA0C;wBAC1D,aAAa,EAAE,KAAK;wBACpB,eAAe,EAAE,EAAE;wBACnB,aAAa,EAAE,EAAE;wBACjB,eAAe,EAAE,EAAE;wBACnB,UAAU,EAAE,EAAE;qBACjB;oBACD,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,aAAa;iBACzB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CACjC,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,oBAAoB,IAAI,EAAE,EACnC,QAAQ,CAAC,MAAM,IAAI,EAAE,CACxB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE5C,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACzD,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACnE,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE;wBAC1E,uBAAuB,EAAE,IAAI,CAAC,eAAe;wBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;wBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;qBAC/C,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBACpD,uBAAuB,EAAE,IAAI,CAAC,eAAe;wBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;wBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;qBAC/C,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;oBACjC,uBAAuB,EAAE,IAAI,CAAC,eAAe;oBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;oBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;iBAC/C,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,MAAgB,EAAE,OAAuB;QAC7E,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,KAAK,SAAS;YACtD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACf,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAErC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAuB,CAAC,CAAC;YACjE,OAAO;gBACH,eAAe,EAAE,SAAS;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,SAAS;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,SAAS,EAAE;oBACP,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK;oBACtB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK;oBACtC,SAAS,EAAE,SAAS,CAAC,SAAS;iBACjC;gBACD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC9B,SAAS,EAAE,CAAC;wBACR,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;wBAC7C,IAAI,EAAE,mCAAmC;wBACzC,UAAU,EAAE,EAAE;qBACjB,CAAC;gBACF,QAAQ,EAAE;oBACN,OAAO,EAAE,sCAAsC;oBAC/C,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,SAAS;iBACxB;gBACD,gBAAgB,EAAE;oBACd,cAAc,EAAE,qBAA0C;oBAC1D,aAAa,EAAE,KAAK;oBACpB,eAAe,EAAE,EAAE;oBACnB,aAAa,EAAE,EAAE;oBACjB,eAAe,EAAE,EAAE;oBACnB,UAAU,EAAE,EAAE;iBACjB;gBACD,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,aAAa;aACzB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAAG;YAC1B,uBAAuB,EAAE,IAAI,CAAC,eAAe;YAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;YACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;YAC5C,wBAAwB,EAAE,MAAM,CAAC,MAAM;SAC1C,CAAC;QAEF,OAAO,eAAe,CAAC,eAAe,CAAC,uCAAuC,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACzF,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC;oBAC9D,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;oBAC9B,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC;oBAC7C,MAAM,EAAE,cAAc;oBACtB,SAAS,EAAE,CAAC;4BACR,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;4BAC7C,IAAI,EAAE,mCAAmC;4BACzC,UAAU,EAAE,EAAE;yBACjB,CAAC;oBACF,QAAQ,EAAE;wBACN,OAAO,EAAE,sCAAsC;wBAC/C,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,SAAS;qBACxB;oBACD,iBAAiB,EAAE,EAAE;iBACxB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAC1E,IAAI,CAAC,iBAAiB,CAClB,cAAc,EACd,QAAQ,CAAC,oBAAoB,IAAI,EAAE,EACnC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,CAC1E,CACJ,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE5C,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;gBACrE,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAC1E,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAE5E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAChH,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACtB,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,EAAE;wBACvD,uBAAuB,EAAE,IAAI,CAAC,eAAe;wBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;wBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;qBAC/C,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9F,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBAClB,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE;wBAC3C,uBAAuB,EAAE,IAAI,CAAC,eAAe;wBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;wBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;qBAC/C,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;oBACjC,uBAAuB,EAAE,IAAI,CAAC,eAAe;oBAC7C,qBAAqB,EAAE,IAAI,CAAC,UAAU;oBACtC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;iBAC/C,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,qBAAqB,CAAC,aAAsB;QAC9C,OAAO,eAAe,CAAC,eAAe,CAAC,oDAAoD,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACtG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,qBAAqB,CAAC;oBACzE,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;oBAC9B,aAAa,EAAE,aAAa,IAAI,EAAE;oBAClC,UAAU,EAAE,EAAE;oBACd,eAAe,EAAE,SAAS;oBAC1B,aAAa,EAAE,EAAE;oBACjB,eAAe,EAAE,SAAS;iBAC7B,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,YAAY,CAAC,aAAqB;QACpC,OAAO,eAAe,CAAC,eAAe,CAAC,0CAA0C,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YAC5F,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,yBAAyB,CAAC;oBAC7E,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;oBAC9B,aAAa,EAAE,aAAa;iBAC/B,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB,CACrB,cAAsB,EACtB,oBAA0G,EAC1G,MAAgB;QAEhB,MAAM,gBAAgB,GAA0B,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnF,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,EAAE;YAC1C,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;YAChC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;SACnC,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE1D,yEAAyE;QACzE,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,kBAAkB,GAAG,cAAc,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAE1F,OAAO;YACH,cAAc,EAAE,IAAI,mBAAmB,CAAC,kBAAkB,CAAC;YAC3D,oBAAoB,EAAE,gBAAgB;YACtC,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;SACxE,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAU;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAEhD,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7C,OAAO;QACH,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;KACxB,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|