@overkill-dev/run 0.0.57 → 0.0.58
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/engine/test-body-resource-attachment.d.ts +15 -0
- package/engine/test-body-resource-attachment.d.ts.map +1 -1
- package/engine/test-body-resource-attachment.js +16 -0
- package/engine/test-body-resource-attachment.js.map +1 -1
- package/package.json +6 -1
- package/packages/engine/engine.entry-point.d.ts +1 -1
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/readme.md +11 -2
- package/reporters/human-reporter-rendering.js +1 -1
- package/reporters/human-reporter-rendering.js.map +1 -1
- package/reporters/line-reporter.js +5 -2
- package/reporters/line-reporter.js.map +1 -1
- package/reporters/run-summary-rendering.js +80 -0
- package/reporters/run-summary-rendering.js.map +1 -0
- package/resources/resource-definition-brand.d.ts +2 -0
- package/resources/resource-definition-brand.d.ts.map +1 -0
- package/resources/resource-definition-brand.js +2 -0
- package/resources/resource-definition-brand.js.map +1 -0
- package/resources/resource-definition-shape.d.ts +3 -0
- package/resources/resource-definition-shape.d.ts.map +1 -1
- package/resources/resource-definition-types.d.ts +104 -0
- package/resources/resource-definition-types.d.ts.map +1 -0
- package/resources/resource-definition.js +52 -0
- package/resources/resource-definition.js.map +1 -0
- package/resources/resource-graph.d.ts +3 -3
- package/resources/resource-graph.d.ts.map +1 -1
- package/resources/resource-graph.js.map +1 -1
- package/resources/resource-scenario-binding.d.ts +37 -0
- package/resources/resource-scenario-binding.d.ts.map +1 -0
- package/resources/resource-scenario-binding.js +99 -0
- package/resources/resource-scenario-binding.js.map +1 -0
- package/resources/resource-scenario.d.ts +31 -0
- package/resources/resource-scenario.d.ts.map +1 -0
- package/resources/resource-scenario.js +68 -0
- package/resources/resource-scenario.js.map +1 -0
- package/resources/resource-session.d.ts +3 -2
- package/resources/resource-session.d.ts.map +1 -1
- package/resources/resources.d.ts +46 -76
- package/resources/resources.d.ts.map +1 -1
- package/resources/resources.js +90 -10
- package/resources/resources.js.map +1 -1
- package/resources/runtime-definition.d.ts +11 -2
- package/resources/runtime-definition.d.ts.map +1 -1
- package/resources/runtime-definition.js +66 -0
- package/resources/runtime-definition.js.map +1 -1
- package/resources/runtime-matrix-definition.d.ts +25 -6
- package/resources/runtime-matrix-definition.d.ts.map +1 -1
- package/resources/runtime-matrix-definition.js +226 -4
- package/resources/runtime-matrix-definition.js.map +1 -1
- package/run/resource-lifecycle-boundaries.js +122 -13
- package/run/resource-lifecycle-boundaries.js.map +1 -1
- package/run/resource-lifecycle-cache-identity.js +65 -0
- package/run/resource-lifecycle-cache-identity.js.map +1 -0
- package/run/resource-lifecycle-composition.d.ts +2 -0
- package/run/resource-lifecycle-composition.d.ts.map +1 -1
- package/run/resource-lifecycle-composition.js +48 -11
- package/run/resource-lifecycle-composition.js.map +1 -1
- package/run/resource-lifecycle-session-acquirer.js +11 -6
- package/run/resource-lifecycle-session-acquirer.js.map +1 -1
- package/run/resource-lifecycle-startup-budget.js +1 -0
- package/run/resource-lifecycle-startup-budget.js.map +1 -1
- package/run/resource-lifecycle.js +4 -3
- package/run/resource-lifecycle.js.map +1 -1
- package/run/run-collected-planning.js +11 -0
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collected-resolution.js +2 -1
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-facts.js +1 -1
- package/run/run-facts.js.map +1 -1
- package/run/run-local-resolution.js +2 -0
- package/run/run-local-resolution.js.map +1 -1
- package/run/work-unit-planning.js +4 -2
- package/run/work-unit-planning.js.map +1 -1
- package/run/work-unit-resource-constraints.js +17 -0
- package/run/work-unit-resource-constraints.js.map +1 -1
- package/run/worker-pool-dispatch-state.js +2 -4
- package/run/worker-pool-dispatch-state.js.map +1 -1
- package/run/worker-pool-lanes.js +7 -3
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-run.js +1 -1
- package/run/worker-pool-run.js.map +1 -1
- package/run/worker-pool-runtime.js +14 -7
- package/run/worker-pool-runtime.js.map +1 -1
- package/sbom.cdx.json +4 -4
- package/reporters/run-fact-summary.js +0 -20
- package/reporters/run-fact-summary.js.map +0 -1
- package/reporters/run-timing-summary.js +0 -11
- package/reporters/run-timing-summary.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"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"}
|
package/resources/resources.js
CHANGED
|
@@ -1,13 +1,93 @@
|
|
|
1
|
-
import "./runtime-definition.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { defineRuntime as createRuntimeDefinition, isDefinedRuntime as isRuntimeDefinition, resolvedRuntimeScenarioOwners as readRuntimeScenarioOwners } from "./runtime-definition.js";
|
|
2
|
+
import { runtimeMatrixDefinitionApi } from "./runtime-matrix-definition.js";
|
|
3
|
+
import { resourceDefinitionApi } from "./resource-definition.js";
|
|
4
|
+
import { resolvedResourceScenarioBindings as readResourceScenarioBindings } from "./resource-scenario-binding.js";
|
|
5
|
+
const composeRuntimeGraphs = runtimeMatrixDefinitionApi.composeRuntimes;
|
|
6
|
+
const createRuntimeMatrixDefinition = runtimeMatrixDefinitionApi.defineRuntimeMatrix;
|
|
7
|
+
const { isComposedRuntimeGraph } = runtimeMatrixDefinitionApi;
|
|
8
|
+
const isRuntimeMatrixDefinition = runtimeMatrixDefinitionApi.isDefinedRuntimeMatrix;
|
|
9
|
+
const runtimeGraphLeafDescriptors = runtimeMatrixDefinitionApi.runtimeGraphLeaves;
|
|
10
|
+
const createResourceDescriptor = resourceDefinitionApi.defineResource;
|
|
11
|
+
const isResourceDefinition = resourceDefinitionApi.isDefinedResource;
|
|
12
|
+
export const { isDefinedResource, resolvedResourceScenarioBindings, resolvedRuntimeScenarioOwners } = Object.freeze({
|
|
13
|
+
isDefinedResource: isResourceDefinition,
|
|
14
|
+
resolvedResourceScenarioBindings: readResourceScenarioBindings,
|
|
15
|
+
resolvedRuntimeScenarioOwners: readRuntimeScenarioOwners
|
|
16
|
+
});
|
|
17
|
+
export function defineResource(definition) {
|
|
18
|
+
return Reflect.apply(createResourceDescriptor, undefined, [definition]);
|
|
19
|
+
}
|
|
20
|
+
export const defineRuntime = createRuntimeDefinition;
|
|
21
|
+
export const isDefinedRuntime = isRuntimeDefinition;
|
|
22
|
+
export const isDefinedRuntimeMatrix = isRuntimeMatrixDefinition;
|
|
23
|
+
export const composeRuntimes = composeRuntimeGraphs;
|
|
24
|
+
function assertRuntimeContextHandles(runtime, nextRuntimes) {
|
|
25
|
+
if (!isComposedRuntimeGraph(runtime)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
for (const childRuntime of runtime.runtimes) {
|
|
29
|
+
if (!Object.hasOwn(nextRuntimes, childRuntime.name)) {
|
|
30
|
+
throw new TypeError(`Runtime scope "${childRuntime.name}" is missing.`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function runtimeContextHandles(runtime, resourceHandles) {
|
|
35
|
+
return isComposedRuntimeGraph(runtime)
|
|
36
|
+
? resourceHandles
|
|
37
|
+
: { [runtime.name]: resourceHandles };
|
|
38
|
+
}
|
|
39
|
+
function createTemporaryDirectoryResource(dependencies, name) {
|
|
40
|
+
return defineResource({
|
|
41
|
+
name,
|
|
42
|
+
scope: 'per-case',
|
|
43
|
+
requirements: [],
|
|
44
|
+
async acquire(context) {
|
|
45
|
+
context.signal.throwIfAborted();
|
|
46
|
+
return Object.freeze({
|
|
47
|
+
path: await dependencies.createTemporaryDirectory(dependencies.temporaryDirectoryPathPrefix)
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
async dispose(handle) {
|
|
51
|
+
await dependencies.removeDirectory(handle.path);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function composeRuntimeContext(context, runtime, resourceHandles) {
|
|
56
|
+
const runtimes = Object.hasOwn(context, 'runtimes') ? Reflect.get(context, 'runtimes') : {};
|
|
57
|
+
if (typeof runtimes !== 'object' || runtimes === null || Array.isArray(runtimes)) {
|
|
58
|
+
throw new TypeError('composeRuntimeContext() requires context.runtimes to be an object when present.');
|
|
59
|
+
}
|
|
60
|
+
const nextRuntimes = runtimeContextHandles(runtime, resourceHandles);
|
|
61
|
+
const duplicateRuntimeName = Object.keys(nextRuntimes).find(function runtimeNameExists(runtimeName) {
|
|
62
|
+
return Object.hasOwn(runtimes, runtimeName);
|
|
63
|
+
});
|
|
64
|
+
assertRuntimeContextHandles(runtime, nextRuntimes);
|
|
65
|
+
if (duplicateRuntimeName !== undefined) {
|
|
66
|
+
throw new TypeError(`Runtime scope "${duplicateRuntimeName}" already exists.`);
|
|
67
|
+
}
|
|
68
|
+
return Object.freeze({
|
|
69
|
+
...context,
|
|
70
|
+
runtimes: Object.freeze({
|
|
71
|
+
...runtimes,
|
|
72
|
+
...nextRuntimes
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function createResourcesModule(dependencies) {
|
|
77
|
+
return Object.freeze({
|
|
78
|
+
composeRuntimeContext,
|
|
79
|
+
createTemporaryDirectoryResource(name) {
|
|
80
|
+
return createTemporaryDirectoryResource(dependencies, name);
|
|
81
|
+
},
|
|
82
|
+
composeRuntimes,
|
|
83
|
+
defineResource,
|
|
84
|
+
defineRuntime,
|
|
85
|
+
defineRuntimeMatrix: createRuntimeMatrixDefinition
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
export function isDefinedRuntimeGraph(runtime) {
|
|
89
|
+
return isDefinedRuntime(runtime) || isDefinedRuntimeMatrix(runtime) || isComposedRuntimeGraph(runtime);
|
|
90
|
+
}
|
|
11
91
|
export function runtimeGraphLeaves(runtime) {
|
|
12
92
|
const leaves = runtimeGraphLeafDescriptors(runtime);
|
|
13
93
|
return leaves;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AACA,OAAO,EACH,aAAa,IAAI,uBAAuB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,6BAA6B,IAAI,yBAAyB,EAM7D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,0BAA0B,EAQ7B,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAyBjE,OAAO,EAAE,gCAAgC,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAElH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,eAAe,CAAC;AACxE,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;AACrF,MAAM,EAAE,sBAAsB,EAAE,GAAG,0BAA0B,CAAC;AAC9D,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,sBAAsB,CAAC;AACpF,MAAM,2BAA2B,GAAG,0BAA0B,CAAC,kBAAkB,CAAC;AAClF,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,cAAc,CAAC;AACtE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;AAwDrE,MAAM,CAAC,MAAM,EACT,iBAAiB,EACjB,gCAAgC,EAChC,6BAA6B,EAChC,GAAG,MAAM,CAAC,MAAM,CAAC;IACd,iBAAiB,EAAE,oBAAoB;IACvC,gCAAgC,EAAE,4BAA4B;IAC9D,6BAA6B,EAAE,yBAAyB;CAC3D,CAAC,CAAC;AA8HH,MAAM,UAAU,cAAc,CAAC,UAA6C;IACxE,OAAO,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS,EAAE,CAAE,UAAU,CAAE,CAAC,CAAC;AAC9E,CAAC;AAiDD,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AA6FpD,SAAS,2BAA2B,CAChC,OAAqB,EACrB,YAA+C;IAE/C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,kBAAkB,YAAY,CAAC,IAAI,eAAe,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC1B,OAAqB,EACrB,eAAkD;IAElD,OAAO,sBAAsB,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;AAC9C,CAAC;AAyBD,SAAS,gCAAgC,CACrC,YAAyC,EACzC,IAAU;IAEV,OAAO,cAAc,CAAC;QAClB,IAAI;QACJ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,EAAE;QAChB,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEhC,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,MAAM,YAAY,CAAC,wBAAwB,CAAC,YAAY,CAAC,4BAA4B,CAAC;aAC/F,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,MAAM;YAChB,MAAM,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAUD,SAAS,qBAAqB,CAC1B,OAA0C,EAC1C,OAAqB,EACrB,eAAkD;IAElD,MAAM,QAAQ,GAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErG,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,iFAAiF,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,WAAW;QAC9F,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,2BAA2B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,kBAAkB,oBAAoB,mBAAmB,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,OAAO;QACV,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,GAAG,QAAQ;YACX,GAAG,YAAY;SAClB,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAyC;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,qBAAqB;QACrB,gCAAgC,CAAC,IAAI;YACjC,OAAO,gCAAgC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,eAAe;QACf,cAAc;QACd,aAAa;QACb,mBAAmB,EAAE,6BAA6B;KACrD,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ExecutionRequirement, RuntimeResourceMap } from './resource-definition-shape.ts';
|
|
2
|
+
import { type ResourceMapScenarioSlots, type ResourceScenarioOwner } from './resource-scenario-binding.ts';
|
|
3
|
+
import type { ResourceScenarioSlots, ScenarioBindingInput } from './resource-scenario.ts';
|
|
2
4
|
declare const runtimeDefinitionBrand: unique symbol;
|
|
3
5
|
export type RuntimeDimensions = Readonly<Record<string, string>>;
|
|
4
6
|
export type RuntimeId<Name extends string = string, Dimensions extends RuntimeDimensions = RuntimeDimensions> = {
|
|
@@ -12,12 +14,19 @@ export type RuntimeDefinitionInput<Name extends string, Dimensions extends Runti
|
|
|
12
14
|
readonly requirements: readonly ExecutionRequirement[];
|
|
13
15
|
readonly resources: Resources;
|
|
14
16
|
};
|
|
15
|
-
export type
|
|
17
|
+
export type RuntimeScenarioOwner = ResourceScenarioOwner & {
|
|
18
|
+
readonly value: string;
|
|
19
|
+
};
|
|
20
|
+
type RuntimeScenarioMethod<Name extends string, Dimensions extends RuntimeDimensions, Resources extends RuntimeResourceMap, Scenarios extends ResourceScenarioSlots> = <const Bindings extends Readonly<Record<string, string>>>(bindings: Bindings & ScenarioBindingInput<Scenarios, Bindings>) => RuntimeDefinition<Name, Dimensions, Resources, Scenarios>;
|
|
21
|
+
export type RuntimeDefinition<Name extends string = string, Dimensions extends RuntimeDimensions = RuntimeDimensions, Resources extends RuntimeResourceMap = RuntimeResourceMap, Scenarios extends ResourceScenarioSlots = ResourceScenarioSlots> = RuntimeDefinitionInput<Name, Dimensions, Resources> & {
|
|
16
22
|
readonly id: RuntimeId<Name, Dimensions>;
|
|
17
23
|
readonly kind: 'runtime';
|
|
24
|
+
readonly scenario: RuntimeScenarioMethod<Name, Dimensions, Resources, Scenarios>;
|
|
25
|
+
readonly scenarios: Scenarios;
|
|
18
26
|
readonly [runtimeDefinitionBrand]: true;
|
|
19
27
|
};
|
|
20
|
-
export declare function defineRuntime<const Name extends string, const Dimensions extends RuntimeDimensions, const Resources extends RuntimeResourceMap>(definition: RuntimeDefinitionInput<Name, Dimensions, Resources>): RuntimeDefinition<Name, Dimensions, Resources
|
|
28
|
+
export declare function defineRuntime<const Name extends string, const Dimensions extends RuntimeDimensions, const Resources extends RuntimeResourceMap>(definition: RuntimeDefinitionInput<Name, Dimensions, Resources>): RuntimeDefinition<Name, Dimensions, Resources, ResourceMapScenarioSlots<Resources>>;
|
|
29
|
+
export declare function resolvedRuntimeScenarioOwners(runtime: RuntimeDefinition): ReadonlyMap<string, RuntimeScenarioOwner>;
|
|
21
30
|
export declare function isDefinedRuntime(runtime: unknown): runtime is RuntimeDefinition;
|
|
22
31
|
export {};
|
|
23
32
|
//# sourceMappingURL=runtime-definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-definition.d.ts","sourceRoot":"","sources":["../../../../source/resources/runtime-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-definition.d.ts","sourceRoot":"","sources":["../../../../source/resources/runtime-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,67 @@
|
|
|
1
|
+
import { resourceScenarioOwners } from "./resource-scenario-binding.js";
|
|
2
|
+
const runtimeDefinitionBrand = Symbol('overkill.runtimeDefinition');
|
|
3
|
+
const runtimeScenarioOwners = new WeakMap();
|
|
4
|
+
function scenarioSlots(owners) {
|
|
5
|
+
return Object.freeze(Object.fromEntries(Array.from(owners, function scenarioEntry([name, owner]) {
|
|
6
|
+
return [name, owner.slot];
|
|
7
|
+
})));
|
|
8
|
+
}
|
|
9
|
+
function resolveScenarioOwners(owners, current, overrides) {
|
|
10
|
+
for (const [name, value] of Object.entries(overrides)) {
|
|
11
|
+
const owner = owners.get(name);
|
|
12
|
+
if (owner === undefined) {
|
|
13
|
+
throw new TypeError(`Runtime scenario slot "${name}" is not declared.`);
|
|
14
|
+
}
|
|
15
|
+
if (!owner.slot.values.includes(value)) {
|
|
16
|
+
throw new TypeError(`Runtime scenario slot "${name}" does not declare value "${value}".`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return new Map(Array.from(owners, function resolvedOwner([name, owner]) {
|
|
20
|
+
return [name, {
|
|
21
|
+
...owner,
|
|
22
|
+
value: overrides[name] ?? current[name] ?? owner.slot.default
|
|
23
|
+
}];
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
function ownerBindings(owners) {
|
|
27
|
+
return Object.freeze(Object.fromEntries(Array.from(owners, function bindingEntry([name, owner]) {
|
|
28
|
+
return [name, owner.value];
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
function createRuntimeDefinition(definition, bindings) {
|
|
32
|
+
const owners = resourceScenarioOwners(definition.resources);
|
|
33
|
+
const slots = scenarioSlots(owners);
|
|
34
|
+
const resolvedOwners = resolveScenarioOwners(owners, {}, bindings);
|
|
35
|
+
const scenario = function bindRuntimeScenario(overrides) {
|
|
36
|
+
return createRuntimeDefinition(definition, {
|
|
37
|
+
...ownerBindings(resolvedOwners),
|
|
38
|
+
...overrides
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const descriptor = Object.freeze({
|
|
42
|
+
...definition,
|
|
43
|
+
id: Object.freeze({
|
|
44
|
+
name: definition.name,
|
|
45
|
+
dimensions: definition.dimensions,
|
|
46
|
+
variantId: null
|
|
47
|
+
}),
|
|
48
|
+
kind: 'runtime',
|
|
49
|
+
scenario,
|
|
50
|
+
scenarios: slots,
|
|
51
|
+
[runtimeDefinitionBrand]: true
|
|
52
|
+
});
|
|
53
|
+
runtimeScenarioOwners.set(descriptor, resolvedOwners);
|
|
54
|
+
return descriptor;
|
|
55
|
+
}
|
|
56
|
+
export function defineRuntime(definition) {
|
|
57
|
+
return createRuntimeDefinition(definition, {});
|
|
58
|
+
}
|
|
59
|
+
export function resolvedRuntimeScenarioOwners(runtime) {
|
|
60
|
+
return runtimeScenarioOwners.get(runtime) ?? new Map();
|
|
61
|
+
}
|
|
62
|
+
export function isDefinedRuntime(runtime) {
|
|
63
|
+
return typeof runtime === 'object' &&
|
|
64
|
+
runtime !== null &&
|
|
65
|
+
Reflect.get(runtime, runtimeDefinitionBrand) === true;
|
|
66
|
+
}
|
|
1
67
|
//# sourceMappingURL=runtime-definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-definition.js","sourceRoot":"","sources":["../../../../source/resources/runtime-definition.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"runtime-definition.js","sourceRoot":"","sources":["../../../../source/resources/runtime-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type RuntimeDefinition, type RuntimeDimensions } from './runtime-definition.ts';
|
|
2
2
|
import type { RuntimeResourceMap } from './resource-definition-shape.ts';
|
|
3
|
+
import type { EmptyResourceScenarioSlots, ResourceScenarioSlots, ScenarioBindingInput } from './resource-scenario.ts';
|
|
3
4
|
declare const runtimeMatrixDefinitionBrand: unique symbol;
|
|
4
5
|
declare const composedRuntimeGraphBrand: unique symbol;
|
|
5
6
|
type RuntimeMatrixVariantValue<Shared, Dimensions extends RuntimeDimensions, Resources extends RuntimeResourceMap> = RuntimeMatrixVariantValueOptions<Shared, Dimensions, Resources>[keyof RuntimeMatrixVariantValueOptions<Shared, Dimensions, Resources>];
|
|
@@ -14,18 +15,29 @@ export type RuntimeMatrixVariant<VariantId extends string = string, Runtime exte
|
|
|
14
15
|
readonly runtime: Runtime;
|
|
15
16
|
};
|
|
16
17
|
type RuntimeMatrixVariantMap = Readonly<Record<string, RuntimeMatrixVariant>>;
|
|
18
|
+
type UnionToIntersection<Value> = (Value extends unknown ? (value: Value) => void : never) extends (value: infer Intersection) => void ? Intersection : never;
|
|
19
|
+
type RuntimeDefinitionScenarios<Runtime> = Runtime extends RuntimeDefinition<string, RuntimeDimensions, RuntimeResourceMap, infer Scenarios> ? Scenarios : EmptyResourceScenarioSlots;
|
|
20
|
+
type RuntimeVariantsScenarios<Variants extends RuntimeMatrixVariantMap> = UnionToIntersection<RuntimeDefinitionScenarios<Variants[keyof Variants]['runtime']>> extends infer Scenarios extends ResourceScenarioSlots ? Scenarios : EmptyResourceScenarioSlots;
|
|
21
|
+
type CombinedRuntimeScenarios<Runtime extends RuntimeGraph> = UnionToIntersection<RuntimeGraphScenarioSlots<Runtime>> extends infer Scenarios extends ResourceScenarioSlots ? Scenarios : EmptyResourceScenarioSlots;
|
|
22
|
+
type RuntimeLeafScenarioSlots<Graph extends RuntimeGraph> = Graph extends RuntimeMatrixDefinition<string, infer Variants> ? RuntimeVariantsScenarios<Variants> : RuntimeDefinitionScenarios<Graph>;
|
|
23
|
+
type RuntimeGraphScenarioSlots<Graph extends RuntimeGraph> = Graph extends ComposedRuntimeGraph<infer Runtimes> ? CombinedRuntimeScenarios<Runtimes[number]> : RuntimeLeafScenarioSlots<Graph>;
|
|
24
|
+
type RuntimeGraphScenarioMethod<Scenarios extends ResourceScenarioSlots, Result> = <const Bindings extends Readonly<Record<string, string>>>(bindings: Bindings & ScenarioBindingInput<Scenarios, Bindings>) => Result;
|
|
17
25
|
type ResolvedRuntimeMatrixVariants<Variants extends Readonly<Record<string, RuntimeMatrixVariantValue<Shared, RuntimeDimensions, RuntimeResourceMap>>>, Shared> = {
|
|
18
26
|
readonly [VariantId in keyof Variants]: RuntimeMatrixVariant<VariantId & string, ResolvedRuntimeVariant<Variants[VariantId], Shared>>;
|
|
19
27
|
};
|
|
20
28
|
export type RuntimeMatrixDefinition<Name extends string = string, Variants extends RuntimeMatrixVariantMap = RuntimeMatrixVariantMap> = {
|
|
21
29
|
readonly kind: 'runtime-matrix';
|
|
22
30
|
readonly name: Name;
|
|
31
|
+
readonly scenario: RuntimeGraphScenarioMethod<RuntimeVariantsScenarios<Variants>, RuntimeMatrixDefinition<Name, Variants>>;
|
|
32
|
+
readonly scenarios: RuntimeVariantsScenarios<Variants>;
|
|
23
33
|
readonly variants: Variants;
|
|
24
34
|
readonly [runtimeMatrixDefinitionBrand]: true;
|
|
25
35
|
};
|
|
26
36
|
export type RuntimeGraphLeaf = RuntimeDefinition | RuntimeMatrixDefinition;
|
|
27
37
|
export type ComposedRuntimeGraph<Runtimes extends readonly RuntimeGraphLeaf[] = readonly RuntimeGraphLeaf[]> = {
|
|
28
38
|
readonly kind: 'composed-runtimes';
|
|
39
|
+
readonly scenario: RuntimeGraphScenarioMethod<CombinedRuntimeScenarios<Runtimes[number]>, ComposedRuntimeGraph<Runtimes>>;
|
|
40
|
+
readonly scenarios: CombinedRuntimeScenarios<Runtimes[number]>;
|
|
29
41
|
readonly runtimes: Runtimes;
|
|
30
42
|
readonly [composedRuntimeGraphBrand]: true;
|
|
31
43
|
};
|
|
@@ -43,11 +55,18 @@ export type SharedRuntimeMatrixDefinitionInput<Name extends string, Shared, Vari
|
|
|
43
55
|
readonly shared: Shared;
|
|
44
56
|
readonly variants: Variants;
|
|
45
57
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
58
|
+
declare function defineRuntimeMatrix<const Name extends string, const Dimensions extends RuntimeDimensions, const Resources extends RuntimeResourceMap, const Variants extends Readonly<Record<string, RuntimeDefinition<string, Dimensions, Resources>>>>(definition: RuntimeMatrixDefinitionInput<Name, Variants>): RuntimeMatrixDefinition<Name, ResolvedRuntimeMatrixVariants<Variants, never>>;
|
|
59
|
+
declare function defineRuntimeMatrix<const Name extends string, Shared, const Dimensions extends RuntimeDimensions, const Resources extends RuntimeResourceMap, const Variants extends Readonly<Record<string, RuntimeMatrixVariantValue<Shared, Dimensions, Resources>>>>(definition: SharedRuntimeMatrixDefinitionInput<Name, Shared, Variants>): RuntimeMatrixDefinition<Name, ResolvedRuntimeMatrixVariants<Variants, Shared>>;
|
|
60
|
+
declare function isDefinedRuntimeMatrix(runtime: unknown): runtime is RuntimeMatrixDefinition;
|
|
61
|
+
declare function runtimeGraphLeaves(runtime: RuntimeGraph): readonly RuntimeGraphLeaf[];
|
|
62
|
+
declare function composeRuntimes<const Runtimes extends readonly [RuntimeGraph, ...RuntimeGraph[]]>(...runtimes: Runtimes): ComposedRuntimeGraph<FlattenRuntimeGraphs<Runtimes>>;
|
|
63
|
+
declare function isComposedRuntimeGraph(runtime: unknown): runtime is ComposedRuntimeGraph;
|
|
64
|
+
export declare const runtimeMatrixDefinitionApi: Readonly<{
|
|
65
|
+
composeRuntimes: typeof composeRuntimes;
|
|
66
|
+
defineRuntimeMatrix: typeof defineRuntimeMatrix;
|
|
67
|
+
isComposedRuntimeGraph: typeof isComposedRuntimeGraph;
|
|
68
|
+
isDefinedRuntimeMatrix: typeof isDefinedRuntimeMatrix;
|
|
69
|
+
runtimeGraphLeaves: typeof runtimeGraphLeaves;
|
|
70
|
+
}>;
|
|
52
71
|
export {};
|
|
53
72
|
//# sourceMappingURL=runtime-matrix-definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-matrix-definition.d.ts","sourceRoot":"","sources":["../../../../source/resources/runtime-matrix-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-matrix-definition.d.ts","sourceRoot":"","sources":["../../../../source/resources/runtime-matrix-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,229 @@
|
|
|
1
|
-
import "./runtime-definition.js";
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { isDefinedRuntime } from "./runtime-definition.js";
|
|
2
|
+
const runtimeMatrixDefinitionBrand = Symbol('overkill.runtimeMatrixDefinition');
|
|
3
|
+
const composedRuntimeGraphBrand = Symbol('overkill.composedRuntimeGraph');
|
|
4
|
+
const descriptorNamePattern = /^[A-Za-z0-9._-]+$/u;
|
|
5
|
+
function assertDescriptorName(kind, name) {
|
|
6
|
+
if (!descriptorNamePattern.test(name)) {
|
|
7
|
+
throw new TypeError(`${kind} "${name}" must match ${descriptorNamePattern.source}.`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function compareStrings(left, right) {
|
|
11
|
+
return left.localeCompare(right);
|
|
12
|
+
}
|
|
13
|
+
function sortedKeys(record) {
|
|
14
|
+
return Object.keys(record).toSorted(compareStrings);
|
|
15
|
+
}
|
|
16
|
+
function sameStringItems(left, right) {
|
|
17
|
+
return left.length === right.length && left.every(function itemMatches(item, index) {
|
|
18
|
+
return item === right[index];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function dimensionIdentity(dimensions) {
|
|
22
|
+
return JSON.stringify(sortedKeys(dimensions).map(function toEntry(key) {
|
|
23
|
+
return [key, dimensions[key]];
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
function scenarioShape(scenarios) {
|
|
27
|
+
return JSON.stringify(Object.entries(scenarios).toSorted(function compareScenarioEntries(left, right) {
|
|
28
|
+
return left[0].localeCompare(right[0]);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
function resolveMatrixRuntime(variant, shared) {
|
|
32
|
+
return typeof variant === 'function' ? variant(shared) : variant;
|
|
33
|
+
}
|
|
34
|
+
function assertMatrixVariantRuntime(variantId, runtime) {
|
|
35
|
+
if (!isDefinedRuntime(runtime)) {
|
|
36
|
+
throw new TypeError(`Runtime matrix variant "${variantId}" must resolve to a runtime descriptor.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function assertSameShape(matrixName, variantId, runtime, state) {
|
|
40
|
+
if (!sameStringItems(sortedKeys(runtime.dimensions), state.dimensionKeys)) {
|
|
41
|
+
throw new TypeError(`Runtime matrix "${matrixName}" variant "${variantId}" has different dimension keys.`);
|
|
42
|
+
}
|
|
43
|
+
if (!sameStringItems(sortedKeys(runtime.resources), state.resourceKeys)) {
|
|
44
|
+
throw new TypeError(`Runtime matrix "${matrixName}" variant "${variantId}" has different resource keys.`);
|
|
45
|
+
}
|
|
46
|
+
if (scenarioShape(runtime.scenarios) !== state.scenarioShape) {
|
|
47
|
+
throw new TypeError(`Runtime matrix "${matrixName}" variant "${variantId}" has different scenario slots.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function nextVariantState(matrixName, variantId, runtime, state) {
|
|
51
|
+
const key = dimensionIdentity(runtime.dimensions);
|
|
52
|
+
if (state.dimensionIdentities.has(key)) {
|
|
53
|
+
throw new TypeError(`Runtime matrix "${matrixName}" variant "${variantId}" duplicates another dimension tuple.`);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
...state,
|
|
57
|
+
dimensionIdentities: new Set([...state.dimensionIdentities, key])
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function runtimeMatrixVariant(variantId, runtime) {
|
|
61
|
+
return Object.freeze({
|
|
62
|
+
id: variantId,
|
|
63
|
+
runtime
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function readShared(definition) {
|
|
67
|
+
return Object.hasOwn(definition, 'shared') ? Reflect.get(definition, 'shared') : undefined;
|
|
68
|
+
}
|
|
69
|
+
function initialVariantState(runtime) {
|
|
70
|
+
return {
|
|
71
|
+
dimensionIdentities: new Set(),
|
|
72
|
+
dimensionKeys: sortedKeys(runtime.dimensions),
|
|
73
|
+
resourceKeys: sortedKeys(runtime.resources),
|
|
74
|
+
scenarioShape: scenarioShape(runtime.scenarios)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function runtimeMatrixEntries(definition) {
|
|
78
|
+
const variantEntries = Object.entries(definition.variants);
|
|
79
|
+
const firstVariant = variantEntries[0];
|
|
80
|
+
if (firstVariant === undefined) {
|
|
81
|
+
throw new TypeError(`Runtime matrix "${definition.name}" requires at least one variant.`);
|
|
82
|
+
}
|
|
83
|
+
return [firstVariant, ...variantEntries.slice(1)];
|
|
84
|
+
}
|
|
85
|
+
function firstRuntime(variantId, variantInput, shared) {
|
|
86
|
+
assertDescriptorName('Runtime matrix variant', variantId);
|
|
87
|
+
const runtime = resolveMatrixRuntime(variantInput, shared);
|
|
88
|
+
assertMatrixVariantRuntime(variantId, runtime);
|
|
89
|
+
return runtime;
|
|
90
|
+
}
|
|
91
|
+
function matrixVariantEntry(matrixName, variantId, runtime, state) {
|
|
92
|
+
assertDescriptorName('Runtime matrix variant', variantId);
|
|
93
|
+
assertMatrixVariantRuntime(variantId, runtime);
|
|
94
|
+
assertSameShape(matrixName, variantId, runtime, state);
|
|
95
|
+
return [
|
|
96
|
+
variantId,
|
|
97
|
+
runtimeMatrixVariant(variantId, runtime),
|
|
98
|
+
nextVariantState(matrixName, variantId, runtime, state)
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
function variantRecord(entries) {
|
|
102
|
+
const variants = Object.fromEntries(entries);
|
|
103
|
+
return Object.freeze(variants);
|
|
104
|
+
}
|
|
105
|
+
function runtimeMatrixVariants(definition) {
|
|
106
|
+
const variantEntries = runtimeMatrixEntries(definition);
|
|
107
|
+
const shared = readShared(definition);
|
|
108
|
+
const [firstVariantId, firstVariantInput] = variantEntries[0];
|
|
109
|
+
const firstRuntimeValue = firstRuntime(firstVariantId, firstVariantInput, shared);
|
|
110
|
+
let state = initialVariantState(firstRuntimeValue);
|
|
111
|
+
const variants = variantEntries.map(function matrixVariant([variantId, variantInput]) {
|
|
112
|
+
const runtime = variantId === firstVariantId ? firstRuntimeValue : resolveMatrixRuntime(variantInput, shared);
|
|
113
|
+
const [key, variant, nextState] = matrixVariantEntry(definition.name, variantId, runtime, state);
|
|
114
|
+
state = nextState;
|
|
115
|
+
return [key, variant];
|
|
116
|
+
});
|
|
117
|
+
return variantRecord(variants);
|
|
118
|
+
}
|
|
119
|
+
function defineRuntimeMatrix(definition) {
|
|
120
|
+
assertDescriptorName('Runtime matrix', definition.name);
|
|
121
|
+
const variants = runtimeMatrixVariants(definition);
|
|
122
|
+
const firstVariant = Object.values(variants)[0];
|
|
123
|
+
if (firstVariant === undefined) {
|
|
124
|
+
throw new TypeError(`Runtime matrix "${definition.name}" requires at least one variant.`);
|
|
125
|
+
}
|
|
126
|
+
const scenario = function bindRuntimeMatrixScenario(bindings) {
|
|
127
|
+
const boundVariants = Object.fromEntries(Object.entries(variants).map(function bindVariant([id, variant]) {
|
|
128
|
+
return [id, { id: variant.id, runtime: variant.runtime.scenario(bindings) }];
|
|
129
|
+
}));
|
|
130
|
+
return Object.freeze({
|
|
131
|
+
kind: 'runtime-matrix',
|
|
132
|
+
name: definition.name,
|
|
133
|
+
scenario,
|
|
134
|
+
scenarios: firstVariant.runtime.scenarios,
|
|
135
|
+
variants: Object.freeze(boundVariants),
|
|
136
|
+
[runtimeMatrixDefinitionBrand]: true
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
return Object.freeze({
|
|
140
|
+
kind: 'runtime-matrix',
|
|
141
|
+
name: definition.name,
|
|
142
|
+
scenario,
|
|
143
|
+
scenarios: firstVariant.runtime.scenarios,
|
|
144
|
+
variants,
|
|
145
|
+
[runtimeMatrixDefinitionBrand]: true
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function isDefinedRuntimeMatrix(runtime) {
|
|
149
|
+
return typeof runtime === 'object' &&
|
|
150
|
+
runtime !== null &&
|
|
151
|
+
Reflect.get(runtime, runtimeMatrixDefinitionBrand) === true;
|
|
152
|
+
}
|
|
153
|
+
function runtimeGraphLeaves(runtime) {
|
|
4
154
|
return runtime.kind === 'composed-runtimes' ? runtime.runtimes : [runtime];
|
|
5
155
|
}
|
|
6
|
-
|
|
156
|
+
function duplicateRuntimeName(name) {
|
|
157
|
+
return new TypeError(`Runtime scope "${name}" is attached multiple times.`);
|
|
158
|
+
}
|
|
159
|
+
function assertUniqueRuntimeNames(runtimes) {
|
|
160
|
+
const names = new Set();
|
|
161
|
+
for (const runtime of runtimes) {
|
|
162
|
+
if (names.has(runtime.name)) {
|
|
163
|
+
throw duplicateRuntimeName(runtime.name);
|
|
164
|
+
}
|
|
165
|
+
names.add(runtime.name);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function assertUniqueScenarioSlots(runtimes) {
|
|
169
|
+
const slots = new Set();
|
|
170
|
+
for (const runtime of runtimes) {
|
|
171
|
+
for (const slot of Object.keys(runtime.scenarios)) {
|
|
172
|
+
if (slots.has(slot)) {
|
|
173
|
+
throw new TypeError(`Scenario slot "${slot}" is attached multiple times.`);
|
|
174
|
+
}
|
|
175
|
+
slots.add(slot);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
function flattenRuntimeGraphs(runtimes) {
|
|
180
|
+
return runtimes.flatMap(runtimeGraphLeaves);
|
|
181
|
+
}
|
|
182
|
+
function combinedScenarioSlots(runtimes) {
|
|
183
|
+
return Object.freeze(Object.fromEntries(runtimes.flatMap(function runtimeScenarioEntries(runtime) {
|
|
184
|
+
return Object.entries(runtime.scenarios);
|
|
185
|
+
})));
|
|
186
|
+
}
|
|
187
|
+
function composeRuntimes(...runtimes) {
|
|
188
|
+
if (runtimes.length === 0) {
|
|
189
|
+
throw new TypeError('composeRuntimes() requires at least one runtime graph.');
|
|
190
|
+
}
|
|
191
|
+
const flattened = flattenRuntimeGraphs(runtimes);
|
|
192
|
+
assertUniqueRuntimeNames(flattened);
|
|
193
|
+
assertUniqueScenarioSlots(flattened);
|
|
194
|
+
const scenarios = combinedScenarioSlots(flattened);
|
|
195
|
+
const scenario = function bindComposedRuntimeScenario(bindings) {
|
|
196
|
+
const boundRuntimes = flattened.map(function bindChildRuntime(runtime) {
|
|
197
|
+
const childBindings = Object.fromEntries(Object.entries(bindings).filter(function childBinding([name]) {
|
|
198
|
+
return Object.hasOwn(runtime.scenarios, name);
|
|
199
|
+
}));
|
|
200
|
+
return runtime.scenario(childBindings);
|
|
201
|
+
});
|
|
202
|
+
const [firstBoundRuntime, ...remainingBoundRuntimes] = boundRuntimes;
|
|
203
|
+
if (firstBoundRuntime === undefined) {
|
|
204
|
+
throw new TypeError('Composed runtime graph requires at least one runtime.');
|
|
205
|
+
}
|
|
206
|
+
return composeRuntimes(firstBoundRuntime, ...remainingBoundRuntimes);
|
|
207
|
+
};
|
|
208
|
+
const descriptor = Object.freeze({
|
|
209
|
+
kind: 'composed-runtimes',
|
|
210
|
+
scenario,
|
|
211
|
+
scenarios,
|
|
212
|
+
runtimes: Object.freeze(Array.from(flattened)),
|
|
213
|
+
[composedRuntimeGraphBrand]: true
|
|
214
|
+
});
|
|
215
|
+
return descriptor;
|
|
216
|
+
}
|
|
217
|
+
function isComposedRuntimeGraph(runtime) {
|
|
218
|
+
return typeof runtime === 'object' &&
|
|
219
|
+
runtime !== null &&
|
|
220
|
+
Reflect.get(runtime, composedRuntimeGraphBrand) === true;
|
|
221
|
+
}
|
|
222
|
+
export const runtimeMatrixDefinitionApi = Object.freeze({
|
|
223
|
+
composeRuntimes,
|
|
224
|
+
defineRuntimeMatrix,
|
|
225
|
+
isComposedRuntimeGraph,
|
|
226
|
+
isDefinedRuntimeMatrix,
|
|
227
|
+
runtimeGraphLeaves
|
|
228
|
+
});
|
|
7
229
|
//# sourceMappingURL=runtime-matrix-definition.js.map
|