@wpkernel/pipeline 0.12.6-beta.3 → 1.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/dist/core/extensions/index.d.ts +0 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/index.js +19 -21
- package/dist/core/makeResumablePipeline.d.ts +6 -0
- package/dist/core/makeResumablePipeline.d.ts.map +1 -0
- package/dist/core/makeResumablePipeline.js +160 -0
- package/dist/core/runner/context.d.ts +5 -2
- package/dist/core/runner/context.d.ts.map +1 -1
- package/dist/core/runner/context.js +66 -43
- package/dist/core/runner/execution.d.ts +8 -2
- package/dist/core/runner/execution.d.ts.map +1 -1
- package/dist/core/runner/execution.js +119 -49
- package/dist/core/runner/index.d.ts +4 -1
- package/dist/core/runner/index.d.ts.map +1 -1
- package/dist/core/runner/index.js +11 -6
- package/dist/core/runner/program.d.ts +5 -2
- package/dist/core/runner/program.d.ts.map +1 -1
- package/dist/core/runner/program.js +111 -94
- package/dist/core/runner/stage-factories.d.ts +15 -6
- package/dist/core/runner/stage-factories.d.ts.map +1 -1
- package/dist/core/runner/stage-factories.js +90 -73
- package/dist/core/runner/types.d.ts +15 -2
- package/dist/core/runner/types.d.ts.map +1 -1
- package/dist/core/types.d.ts +52 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/extensions/index.js +4 -6
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -23
- package/dist/standard-pipeline/runner/index.d.ts.map +1 -1
- package/dist/standard-pipeline/runner/index.js +4 -3
- package/package.json +1 -1
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { executeRun as
|
|
2
|
-
import { prepareContext as
|
|
3
|
-
const
|
|
4
|
-
prepareContext: (
|
|
5
|
-
executeRun: (
|
|
1
|
+
import { executeResume as n, executeRunWithPause as o, executeRun as x } from "./execution.js";
|
|
2
|
+
import { prepareContext as u } from "./context.js";
|
|
3
|
+
const m = (t) => ({
|
|
4
|
+
prepareContext: (e) => u(t, e),
|
|
5
|
+
executeRun: (e) => x(t, e)
|
|
6
|
+
}), i = (t) => ({
|
|
7
|
+
prepareContext: (e) => u(t, e),
|
|
8
|
+
executeRun: (e) => o(t, e),
|
|
9
|
+
executeResume: (e, r) => n(t, e, r)
|
|
6
10
|
});
|
|
7
11
|
export {
|
|
8
|
-
|
|
12
|
+
i as initAgnosticResumableRunner,
|
|
13
|
+
m as initAgnosticRunner
|
|
9
14
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Program } from '../async-utils';
|
|
2
|
-
import { AgnosticRunnerDependencies, AgnosticRunContext, AgnosticState, Halt } from './types';
|
|
2
|
+
import { AgnosticRunnerDependencies, AgnosticRunContext, AgnosticState, Halt, PipelineStage, PipelineStepResult } from './types';
|
|
3
3
|
import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
4
|
+
export declare const createAgnosticStages: <TRunOptions, TUserState, TContext extends {
|
|
5
|
+
reporter: TReporter;
|
|
6
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => PipelineStage<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>, Halt<TRunResult>>[];
|
|
4
7
|
export declare const createAgnosticProgram: <TRunOptions, TUserState, TContext extends {
|
|
5
8
|
reporter: TReporter;
|
|
6
|
-
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => Program<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic
|
|
9
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => Program<PipelineStepResult<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>, TRunResult>>;
|
|
7
10
|
//# sourceMappingURL=program.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/runner/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACX,0BAA0B,EAC1B,kBAAkB,EAElB,aAAa,EACb,IAAI,EAGJ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/runner/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACX,0BAA0B,EAC1B,kBAAkB,EAElB,aAAa,EACb,IAAI,EAGJ,aAAa,EACb,kBAAkB,EAClB,MAAM,SAAS,CAAC;AAUjB,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAOlB,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,oBAAoB,GAChC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,aAAa,CACf,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EACxE,IAAI,CAAC,UAAU,CAAC,CAChB,EAqTA,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,OAAO,CACT,kBAAkB,CACjB,aAAa,CACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,EACD,UAAU,CACV,CAsBD,CAAC"}
|
|
@@ -1,146 +1,163 @@
|
|
|
1
1
|
import { composeK as h, maybeThen as b } from "../async-utils.js";
|
|
2
|
-
import { makeCommitStage as R, makeAfterFragmentsStage as
|
|
3
|
-
const
|
|
4
|
-
|
|
2
|
+
import { makeCommitStage as R, makeAfterFragmentsStage as A, makeFinalizeResultStage as H, isHalt as l, makeHelperStageFactory as w, isPaused as g } from "./stage-factories.js";
|
|
3
|
+
const _ = (n) => n.stageIndex ?? 0, v = (n, a) => ({
|
|
4
|
+
stageIndex: _(n),
|
|
5
|
+
state: n,
|
|
6
|
+
token: a?.token,
|
|
7
|
+
pauseKind: a?.pauseKind,
|
|
8
|
+
payload: a?.payload,
|
|
9
|
+
createdAt: Date.now()
|
|
10
|
+
}), C = (n, a) => ({
|
|
11
|
+
__paused: !0,
|
|
12
|
+
snapshot: v(n, a)
|
|
13
|
+
}), L = (n, a) => {
|
|
14
|
+
const u = (e) => ({
|
|
5
15
|
__halt: !0,
|
|
6
|
-
error:
|
|
7
|
-
}),
|
|
8
|
-
context:
|
|
9
|
-
reporter:
|
|
10
|
-
userState:
|
|
11
|
-
}),
|
|
12
|
-
pushStep:
|
|
13
|
-
toRollbackContext: (
|
|
14
|
-
context:
|
|
15
|
-
extensionCoordinator:
|
|
16
|
-
extensionState:
|
|
17
|
-
extensionStack:
|
|
16
|
+
error: e
|
|
17
|
+
}), f = (e) => (t) => ({
|
|
18
|
+
context: e.context,
|
|
19
|
+
reporter: e.reporter,
|
|
20
|
+
userState: e.userState
|
|
21
|
+
}), x = {
|
|
22
|
+
pushStep: a.pushStep,
|
|
23
|
+
toRollbackContext: (e) => ({
|
|
24
|
+
context: e.context,
|
|
25
|
+
extensionCoordinator: e.extensionCoordinator,
|
|
26
|
+
extensionState: e.extensionState,
|
|
27
|
+
extensionStack: e.extensionStack
|
|
18
28
|
}),
|
|
19
|
-
halt:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
halt: u,
|
|
30
|
+
pause: n.options.supportsPause ? (e, t) => C(e, t) : void 0,
|
|
31
|
+
isHalt: l,
|
|
32
|
+
onHelperRollbackError: n.options.onHelperRollbackError
|
|
33
|
+
}, k = w({
|
|
34
|
+
pushStep: a.pushStep,
|
|
35
|
+
toRollbackContext: (e) => ({
|
|
36
|
+
context: e.context,
|
|
37
|
+
extensionCoordinator: e.extensionCoordinator,
|
|
38
|
+
extensionState: e.extensionState,
|
|
39
|
+
extensionStack: e.extensionStack
|
|
29
40
|
}),
|
|
30
|
-
halt:
|
|
31
|
-
isHalt:
|
|
32
|
-
onHelperRollbackError:
|
|
33
|
-
}),
|
|
34
|
-
const
|
|
35
|
-
getOrder: (
|
|
36
|
-
makeArgs:
|
|
37
|
-
onVisited: (
|
|
38
|
-
readRollbacks: (
|
|
41
|
+
halt: u,
|
|
42
|
+
isHalt: l,
|
|
43
|
+
onHelperRollbackError: n.options.onHelperRollbackError
|
|
44
|
+
}), p = (e, t, s) => {
|
|
45
|
+
const i = {
|
|
46
|
+
getOrder: (o) => o.helperOrders?.get(e) ?? [],
|
|
47
|
+
makeArgs: f,
|
|
48
|
+
onVisited: (o, r, c) => t?.onVisited ? t.onVisited(o, r, c) : o,
|
|
49
|
+
readRollbacks: (o) => o.helperRollbacks?.get(e)?.map((r) => r.helper) ?? [],
|
|
39
50
|
invoke: ({
|
|
40
|
-
helper:
|
|
41
|
-
args:
|
|
42
|
-
next:
|
|
51
|
+
helper: o,
|
|
52
|
+
args: r,
|
|
53
|
+
next: c
|
|
43
54
|
}) => {
|
|
44
|
-
if (typeof
|
|
45
|
-
return
|
|
46
|
-
if (typeof
|
|
47
|
-
return
|
|
55
|
+
if (typeof o == "function")
|
|
56
|
+
return o(r, c);
|
|
57
|
+
if (typeof o == "object" && o !== null && "apply" in o && typeof o.apply == "function")
|
|
58
|
+
return o.apply(r, c);
|
|
48
59
|
throw new Error(
|
|
49
|
-
`Invalid helper: expected function or object with .apply method. Got: ${typeof
|
|
60
|
+
`Invalid helper: expected function or object with .apply method. Got: ${typeof o}`
|
|
50
61
|
);
|
|
51
62
|
},
|
|
52
63
|
...t
|
|
53
64
|
};
|
|
54
|
-
return t?.makeArgs ?
|
|
55
|
-
state:
|
|
56
|
-
helper:
|
|
57
|
-
context:
|
|
58
|
-
})),
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
return t?.makeArgs ? i.makeArgs = t.makeArgs : s && (i.makeArgs = (o) => (r) => s({
|
|
66
|
+
state: o,
|
|
67
|
+
helper: r.helper,
|
|
68
|
+
context: o.context
|
|
69
|
+
})), k(
|
|
70
|
+
e,
|
|
71
|
+
i
|
|
61
72
|
);
|
|
62
|
-
}, m = (
|
|
63
|
-
isHalt:
|
|
73
|
+
}, m = (e) => A({
|
|
74
|
+
isHalt: l,
|
|
75
|
+
isPaused: g,
|
|
64
76
|
execute: (t) => {
|
|
65
|
-
t.executedLifecycles.add(
|
|
66
|
-
const
|
|
67
|
-
if (!
|
|
77
|
+
t.executedLifecycles.add(e);
|
|
78
|
+
const s = t.extensionCoordinator;
|
|
79
|
+
if (!s)
|
|
68
80
|
return t;
|
|
69
|
-
const
|
|
81
|
+
const i = a.buildHookOptions(
|
|
70
82
|
t,
|
|
71
|
-
|
|
83
|
+
e
|
|
72
84
|
);
|
|
73
85
|
return b(
|
|
74
|
-
|
|
75
|
-
|
|
86
|
+
s.runLifecycle(
|
|
87
|
+
e,
|
|
76
88
|
{
|
|
77
|
-
hooks:
|
|
78
|
-
hookOptions:
|
|
89
|
+
hooks: n.extensionHooks,
|
|
90
|
+
hookOptions: i
|
|
79
91
|
}
|
|
80
92
|
),
|
|
81
|
-
(
|
|
93
|
+
(o) => ({
|
|
82
94
|
...t,
|
|
83
|
-
extensionState:
|
|
95
|
+
extensionState: o,
|
|
84
96
|
extensionStack: [
|
|
85
97
|
...t.extensionStack ?? [],
|
|
86
98
|
{
|
|
87
|
-
coordinator:
|
|
88
|
-
state:
|
|
99
|
+
coordinator: s,
|
|
100
|
+
state: o
|
|
89
101
|
}
|
|
90
102
|
],
|
|
91
|
-
userState:
|
|
103
|
+
userState: o.artifact
|
|
92
104
|
})
|
|
93
105
|
);
|
|
94
106
|
}
|
|
95
107
|
}), S = R({
|
|
96
|
-
isHalt:
|
|
97
|
-
|
|
98
|
-
|
|
108
|
+
isHalt: l,
|
|
109
|
+
isPaused: g,
|
|
110
|
+
commit: (e) => {
|
|
111
|
+
const t = e.extensionCoordinator;
|
|
99
112
|
if (t)
|
|
100
|
-
return t.commit(
|
|
113
|
+
return t.commit(e.extensionState);
|
|
101
114
|
},
|
|
102
|
-
rollbackToHalt: (
|
|
115
|
+
rollbackToHalt: (e, t) => ({
|
|
103
116
|
__halt: !0,
|
|
104
117
|
error: t
|
|
105
118
|
})
|
|
106
|
-
}),
|
|
107
|
-
isHalt:
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
}), d = H({
|
|
120
|
+
isHalt: l,
|
|
121
|
+
isPaused: g,
|
|
122
|
+
finalize: (e) => {
|
|
123
|
+
const s = {
|
|
124
|
+
...e,
|
|
125
|
+
diagnostics: n.diagnosticManager.readDiagnostics()
|
|
112
126
|
};
|
|
113
|
-
if (
|
|
114
|
-
const
|
|
115
|
-
for (const
|
|
116
|
-
|
|
117
|
-
if (
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
`The following extension hooks will be ignored because their lifecycles were not executed: ${
|
|
127
|
+
if (n.extensionHooks.length > 0) {
|
|
128
|
+
const i = s.executedLifecycles, o = /* @__PURE__ */ new Set();
|
|
129
|
+
for (const r of n.extensionHooks)
|
|
130
|
+
i?.has(r.lifecycle) || o.add(r.lifecycle);
|
|
131
|
+
if (o.size > 0) {
|
|
132
|
+
const r = Array.from(o).map((c) => `"${c}"`).join(", ");
|
|
133
|
+
s.reporter.warn?.(
|
|
134
|
+
`The following extension hooks will be ignored because their lifecycles were not executed: ${r}`
|
|
121
135
|
);
|
|
122
136
|
}
|
|
123
137
|
}
|
|
124
|
-
return
|
|
138
|
+
return s;
|
|
125
139
|
}
|
|
126
140
|
}), y = {
|
|
127
|
-
runnerEnv:
|
|
128
|
-
finalizeResult:
|
|
141
|
+
runnerEnv: x,
|
|
142
|
+
finalizeResult: d,
|
|
129
143
|
makeLifecycleStage: m,
|
|
130
144
|
commitStage: S,
|
|
131
|
-
makeHelperStage:
|
|
145
|
+
makeHelperStage: p,
|
|
132
146
|
extensions: {
|
|
133
|
-
lifecycles:
|
|
147
|
+
lifecycles: n.extensionLifecycles
|
|
134
148
|
},
|
|
135
|
-
diagnosticManager:
|
|
149
|
+
diagnosticManager: n.diagnosticManager
|
|
136
150
|
};
|
|
137
|
-
if (!
|
|
151
|
+
if (!n.stages)
|
|
138
152
|
throw new Error(
|
|
139
153
|
"Agnostic Runner requires 'stages' factory to be defined."
|
|
140
154
|
);
|
|
141
|
-
|
|
142
|
-
|
|
155
|
+
return n.stages(y);
|
|
156
|
+
}, E = (n, a) => {
|
|
157
|
+
const u = L(n, a);
|
|
158
|
+
return h(...[...u].reverse());
|
|
143
159
|
};
|
|
144
160
|
export {
|
|
145
|
-
|
|
161
|
+
E as createAgnosticProgram,
|
|
162
|
+
L as createAgnosticStages
|
|
146
163
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Program } from '../async-utils';
|
|
2
|
-
import { Helper, HelperApplyOptions, HelperKind, MaybePromise, PipelineReporter } from '../types';
|
|
2
|
+
import { Helper, HelperApplyOptions, HelperKind, MaybePromise, PipelinePaused, PipelineReporter } from '../types';
|
|
3
3
|
import { RegisteredHelper } from '../dependency-graph';
|
|
4
4
|
import { Halt, HelperInvokeOptions, StageEnv, HelperStageSpec } from './types';
|
|
5
5
|
export declare function isHalt<TRunResult>(value: unknown): value is Halt<TRunResult>;
|
|
6
|
+
export declare function isPaused<TState>(value: unknown): value is PipelinePaused<TState>;
|
|
6
7
|
/**
|
|
7
8
|
* Generic stage constructor that executes an ordered helper list with middleware-style `next()`.
|
|
8
9
|
* @param options
|
|
@@ -27,43 +28,51 @@ export declare function createHelpersProgram<TContext, TReporter extends Pipelin
|
|
|
27
28
|
* @param options.isHalt
|
|
28
29
|
* @param options.snapshotFragments
|
|
29
30
|
* @param options.applyArtifact
|
|
31
|
+
* @param options.isPaused
|
|
30
32
|
*/
|
|
31
33
|
export declare function makeFinalizeFragmentsStage<TState, THalt extends Halt<unknown>, TFragments>(options: {
|
|
32
34
|
isHalt: (value: TState | THalt) => value is THalt;
|
|
35
|
+
isPaused?: (value: unknown) => value is PipelinePaused<TState>;
|
|
33
36
|
snapshotFragments: (state: TState) => TFragments;
|
|
34
37
|
applyArtifact: (state: TState, fragments: TFragments) => TState;
|
|
35
|
-
}): Program<TState | THalt
|
|
38
|
+
}): Program<TState | THalt | PipelinePaused<TState>>;
|
|
36
39
|
/**
|
|
37
40
|
* Generic stage builder for "after fragments" style hooks.
|
|
38
41
|
* @param options
|
|
39
42
|
* @param options.isHalt
|
|
40
43
|
* @param options.execute
|
|
44
|
+
* @param options.isPaused
|
|
41
45
|
*/
|
|
42
46
|
export declare function makeAfterFragmentsStage<TState, THalt extends Halt<unknown>>(options: {
|
|
43
47
|
isHalt: (value: TState | THalt) => value is THalt;
|
|
48
|
+
isPaused?: (value: unknown) => value is PipelinePaused<TState>;
|
|
44
49
|
execute: (state: TState) => MaybePromise<TState>;
|
|
45
|
-
}): Program<TState | THalt
|
|
50
|
+
}): Program<TState | THalt | PipelinePaused<TState>>;
|
|
46
51
|
/**
|
|
47
52
|
* Commit stage builder.
|
|
48
53
|
* @param options
|
|
49
54
|
* @param options.isHalt
|
|
50
55
|
* @param options.commit
|
|
51
56
|
* @param options.rollbackToHalt
|
|
57
|
+
* @param options.isPaused
|
|
52
58
|
*/
|
|
53
59
|
export declare function makeCommitStage<TState, THalt extends Halt<unknown>>(options: {
|
|
54
60
|
isHalt: (value: TState | THalt) => value is THalt;
|
|
61
|
+
isPaused?: (value: unknown) => value is PipelinePaused<TState>;
|
|
55
62
|
commit: (state: TState) => MaybePromise<void>;
|
|
56
63
|
rollbackToHalt: (state: TState, error: unknown) => MaybePromise<THalt>;
|
|
57
|
-
}): Program<TState | THalt
|
|
64
|
+
}): Program<TState | THalt | PipelinePaused<TState>>;
|
|
58
65
|
/**
|
|
59
66
|
* Simple finalizer that snapshots helpers/diagnostics into state.
|
|
60
67
|
* @param options
|
|
61
68
|
* @param options.isHalt
|
|
62
69
|
* @param options.finalize
|
|
70
|
+
* @param options.isPaused
|
|
63
71
|
*/
|
|
64
72
|
export declare function makeFinalizeResultStage<TState, THalt extends Halt<unknown>>(options: {
|
|
65
73
|
isHalt: (value: TState | THalt) => value is THalt;
|
|
74
|
+
isPaused?: (value: unknown) => value is PipelinePaused<TState>;
|
|
66
75
|
finalize: (state: TState) => TState;
|
|
67
|
-
}): Program<TState | THalt
|
|
68
|
-
export declare function makeHelperStageFactory<TState, TRunResult, TContext, TOptions, TReporter extends PipelineReporter, TUserState>(config: StageEnv<TState, TRunResult, TContext, TOptions, TReporter, TUserState>): <TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TInput, TOutput>(kind: string, spec: HelperStageSpec<TState, TContext, TReporter, TKind, THelper, TInput, TOutput>) => Program<TState | Halt<TRunResult>>;
|
|
76
|
+
}): Program<TState | THalt | PipelinePaused<TState>>;
|
|
77
|
+
export declare function makeHelperStageFactory<TState, TRunResult, TContext, TOptions, TReporter extends PipelineReporter, TUserState>(config: StageEnv<TState, TRunResult, TContext, TOptions, TReporter, TUserState>): <TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TInput, TOutput>(kind: string, spec: HelperStageSpec<TState, TContext, TReporter, TKind, THelper, TInput, TOutput>) => Program<TState | Halt<TRunResult> | PipelinePaused<TState>>;
|
|
69
78
|
//# sourceMappingURL=stage-factories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-factories.d.ts","sourceRoot":"","sources":["../../../src/core/runner/stage-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,OAAO,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACX,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"stage-factories.d.ts","sourceRoot":"","sources":["../../../src/core/runner/stage-factories.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +1,138 @@
|
|
|
1
|
-
import { maybeTry as
|
|
2
|
-
import { executeHelpers as
|
|
3
|
-
import { runHelperStageWithRollback as
|
|
4
|
-
function
|
|
1
|
+
import { maybeTry as R, maybeThen as S, isPromiseLike as y } from "../async-utils.js";
|
|
2
|
+
import { executeHelpers as _ } from "../execution-utils.js";
|
|
3
|
+
import { runHelperStageWithRollback as C } from "./rollback.js";
|
|
4
|
+
function v(r) {
|
|
5
5
|
return !!(r && typeof r == "object" && "__halt" in r && r.__halt === !0);
|
|
6
6
|
}
|
|
7
|
-
function
|
|
7
|
+
function E(r) {
|
|
8
|
+
return !!(r && typeof r == "object" && "__paused" in r && r.__paused === !0);
|
|
9
|
+
}
|
|
10
|
+
function F(r) {
|
|
8
11
|
const {
|
|
9
|
-
getOrder:
|
|
10
|
-
makeArgs:
|
|
11
|
-
invoke:
|
|
12
|
-
recordStep:
|
|
13
|
-
onVisited:
|
|
14
|
-
registerRollback:
|
|
15
|
-
} = r,
|
|
16
|
-
const s =
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
}) : (
|
|
12
|
+
getOrder: u,
|
|
13
|
+
makeArgs: n,
|
|
14
|
+
invoke: t,
|
|
15
|
+
recordStep: e,
|
|
16
|
+
onVisited: l,
|
|
17
|
+
registerRollback: i
|
|
18
|
+
} = r, k = (c, f, p) => {
|
|
19
|
+
const s = t({ helper: c, args: f, next: p });
|
|
20
|
+
return i ? y(s) ? s.then((o) => {
|
|
21
|
+
i(c, o);
|
|
22
|
+
}) : (i(c, s), s) : s;
|
|
20
23
|
};
|
|
21
|
-
return (
|
|
22
|
-
const
|
|
24
|
+
return (c) => {
|
|
25
|
+
const f = u(c), p = _(f, n(c), k, e);
|
|
23
26
|
return S(
|
|
24
27
|
p,
|
|
25
|
-
(s) =>
|
|
28
|
+
(s) => l(c, s)
|
|
26
29
|
);
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
function z(r) {
|
|
30
|
-
const {
|
|
31
|
-
|
|
33
|
+
const {
|
|
34
|
+
isHalt: u,
|
|
35
|
+
isPaused: n,
|
|
36
|
+
snapshotFragments: t,
|
|
37
|
+
applyArtifact: e
|
|
38
|
+
} = r;
|
|
39
|
+
return (l) => n && n(l) || u(l) ? l : e(
|
|
40
|
+
l,
|
|
41
|
+
t(l)
|
|
42
|
+
);
|
|
32
43
|
}
|
|
33
44
|
function T(r) {
|
|
34
|
-
const { isHalt:
|
|
35
|
-
return (e) =>
|
|
45
|
+
const { isHalt: u, isPaused: n, execute: t } = r;
|
|
46
|
+
return (e) => n && n(e) || u(e) ? e : t(e);
|
|
36
47
|
}
|
|
37
48
|
function V(r) {
|
|
38
|
-
const {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
const {
|
|
50
|
+
isHalt: u,
|
|
51
|
+
isPaused: n,
|
|
52
|
+
commit: t,
|
|
53
|
+
rollbackToHalt: e
|
|
54
|
+
} = r, l = (i) => {
|
|
55
|
+
const k = () => i;
|
|
56
|
+
return R(
|
|
57
|
+
() => S(t(i), k),
|
|
58
|
+
(f) => e(i, f)
|
|
43
59
|
);
|
|
44
60
|
};
|
|
45
|
-
return (i) =>
|
|
61
|
+
return (i) => n && n(i) || u(i) ? i : l(i);
|
|
46
62
|
}
|
|
47
|
-
function
|
|
48
|
-
const { isHalt:
|
|
49
|
-
return (e) =>
|
|
63
|
+
function B(r) {
|
|
64
|
+
const { isHalt: u, isPaused: n, finalize: t } = r;
|
|
65
|
+
return (e) => n && n(e) || u(e) ? e : t(e);
|
|
50
66
|
}
|
|
51
67
|
function M(r) {
|
|
52
|
-
return function(
|
|
68
|
+
return function(n, t) {
|
|
53
69
|
const {
|
|
54
|
-
pushStep:
|
|
55
|
-
toRollbackContext:
|
|
56
|
-
halt:
|
|
57
|
-
isHalt:
|
|
58
|
-
onHelperRollbackError:
|
|
59
|
-
} = r,
|
|
70
|
+
pushStep: e,
|
|
71
|
+
toRollbackContext: l,
|
|
72
|
+
halt: i,
|
|
73
|
+
isHalt: k,
|
|
74
|
+
onHelperRollbackError: c
|
|
75
|
+
} = r, f = t.invoke ?? (({
|
|
60
76
|
helper: o,
|
|
61
77
|
args: m,
|
|
62
|
-
next:
|
|
63
|
-
}) => o.apply(m,
|
|
64
|
-
if (!(!
|
|
65
|
-
const
|
|
66
|
-
|
|
78
|
+
next: a
|
|
79
|
+
}) => o.apply(m, a)), p = (o) => (m, a) => {
|
|
80
|
+
if (!(!a || typeof a != "object") && "rollback" in a) {
|
|
81
|
+
const d = a.rollback;
|
|
82
|
+
d && o.push({ helper: m, rollback: d });
|
|
67
83
|
}
|
|
68
|
-
}, s = () =>
|
|
84
|
+
}, s = () => c ? (o) => c({
|
|
69
85
|
...o,
|
|
70
86
|
helper: o.helper
|
|
71
87
|
}) : void 0;
|
|
72
88
|
return (o) => {
|
|
73
|
-
if (
|
|
89
|
+
if (k(o) || E(o))
|
|
74
90
|
return o;
|
|
75
91
|
let m = o.helperExecution;
|
|
76
92
|
m || (m = /* @__PURE__ */ new Map(), o.helperExecution = m);
|
|
77
|
-
let
|
|
78
|
-
|
|
79
|
-
kind:
|
|
93
|
+
let a = m.get(n);
|
|
94
|
+
a || (a = {
|
|
95
|
+
kind: n,
|
|
80
96
|
executed: [],
|
|
81
97
|
missing: [],
|
|
82
98
|
registered: []
|
|
83
99
|
// Registered populated by getOrder result?
|
|
84
|
-
}, m.set(
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
100
|
+
}, m.set(n, a));
|
|
101
|
+
const d = (g) => {
|
|
102
|
+
e(g), a.executed.push(
|
|
103
|
+
g.helper.key
|
|
88
104
|
);
|
|
89
|
-
},
|
|
90
|
-
...
|
|
91
|
-
],
|
|
92
|
-
getOrder:
|
|
93
|
-
makeArgs:
|
|
94
|
-
invoke:
|
|
95
|
-
recordStep:
|
|
96
|
-
onVisited: (
|
|
97
|
-
registerRollback: p(
|
|
98
|
-
}),
|
|
99
|
-
context:
|
|
100
|
-
rollbackContext:
|
|
101
|
-
helperRollbacks:
|
|
105
|
+
}, b = [
|
|
106
|
+
...t.readRollbacks?.(o) ?? []
|
|
107
|
+
], H = l(o), h = F({
|
|
108
|
+
getOrder: t.getOrder,
|
|
109
|
+
makeArgs: t.makeArgs,
|
|
110
|
+
invoke: f,
|
|
111
|
+
recordStep: d,
|
|
112
|
+
onVisited: (g, x) => t.onVisited(g, x, b),
|
|
113
|
+
registerRollback: p(b)
|
|
114
|
+
}), P = {
|
|
115
|
+
context: H.context,
|
|
116
|
+
rollbackContext: H,
|
|
117
|
+
helperRollbacks: b,
|
|
102
118
|
onHelperRollbackError: s()
|
|
103
119
|
};
|
|
104
|
-
return
|
|
120
|
+
return C({
|
|
105
121
|
state: o,
|
|
106
|
-
program:
|
|
107
|
-
rollbackPlan:
|
|
108
|
-
halt:
|
|
122
|
+
program: h,
|
|
123
|
+
rollbackPlan: P,
|
|
124
|
+
halt: i
|
|
109
125
|
});
|
|
110
126
|
};
|
|
111
127
|
};
|
|
112
128
|
}
|
|
113
129
|
export {
|
|
114
|
-
|
|
115
|
-
|
|
130
|
+
F as createHelpersProgram,
|
|
131
|
+
v as isHalt,
|
|
132
|
+
E as isPaused,
|
|
116
133
|
T as makeAfterFragmentsStage,
|
|
117
134
|
V as makeCommitStage,
|
|
118
135
|
z as makeFinalizeFragmentsStage,
|
|
119
|
-
|
|
136
|
+
B as makeFinalizeResultStage,
|
|
120
137
|
M as makeHelperStageFactory
|
|
121
138
|
};
|