@wpkernel/pipeline 0.12.3-beta.0 → 0.12.3-beta.2

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.
@@ -48,4 +48,18 @@ export declare function maybeTry<T>(run: () => MaybePromise<T>, onError: (error:
48
48
  * @internal
49
49
  */
50
50
  export declare function processSequentially<T>(items: readonly T[], handler: (item: T, index: number) => MaybePromise<void>, direction?: 'forward' | 'reverse'): MaybePromise<void>;
51
+ /**
52
+ * A small abstraction representing a state transformer that may be async.
53
+ *
54
+ * @internal
55
+ */
56
+ export type Program<S> = (state: S) => MaybePromise<S>;
57
+ /**
58
+ * Right-to-left composition for {@link Program} functions that short-circuits
59
+ * on promises while preserving synchronous execution when possible.
60
+ *
61
+ * @param {...any} fns
62
+ * @internal
63
+ */
64
+ export declare const composeK: <S>(...fns: Program<S>[]) => Program<S>;
51
65
  //# sourceMappingURL=async-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../src/async-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAS3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EACnC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GAC9C,YAAY,CAAC,OAAO,CAAC,CAMvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACzB,GAAG,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAC1C,YAAY,CAAC,CAAC,CAAC,CAYjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,EACvD,SAAS,GAAE,SAAS,GAAG,SAAqB,GAC1C,YAAY,CAAC,IAAI,CAAC,CAgCpB"}
1
+ {"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../src/async-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAS3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EACnC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GAC9C,YAAY,CAAC,OAAO,CAAC,CAMvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACzB,GAAG,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAC1C,YAAY,CAAC,CAAC,CAAC,CAYjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,EACvD,SAAS,GAAE,SAAS,GAAG,SAAqB,GAC1C,YAAY,CAAC,IAAI,CAAC,CAgCpB;AAED;;;;GAIG;AAEH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AACvD;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,GACnB,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,CAKlC,CAAC"}
@@ -1,35 +1,40 @@
1
1
  function c(t) {
2
2
  return (typeof t != "object" || t === null) && typeof t != "function" ? !1 : typeof t.then == "function";
3
3
  }
4
- function l(t, e) {
4
+ function m(t, e) {
5
5
  return c(t) ? Promise.resolve(t).then(e) : e(t);
6
6
  }
7
- function m(t, e) {
7
+ function l(t, e) {
8
8
  try {
9
9
  const r = t();
10
- return c(r) ? Promise.resolve(r).catch((s) => e(s)) : r;
10
+ return c(r) ? Promise.resolve(r).catch((n) => e(n)) : r;
11
11
  } catch (r) {
12
12
  return e(r);
13
13
  }
14
14
  }
15
15
  function p(t, e, r = "forward") {
16
- const s = t.length;
17
- if (s === 0)
16
+ const n = t.length;
17
+ if (n === 0)
18
18
  return;
19
- const a = (n) => r === "forward" ? n < s : n >= 0, f = (n) => r === "forward" ? n + 1 : n - 1, u = (n) => {
20
- for (let o = n; a(o); o = f(o)) {
21
- const y = t[o], i = e(y, o);
19
+ const h = (o) => r === "forward" ? o < n : o >= 0, f = (o) => r === "forward" ? o + 1 : o - 1, u = (o) => {
20
+ for (let s = o; h(s); s = f(s)) {
21
+ const y = t[s], i = e(y, s);
22
22
  if (c(i))
23
23
  return Promise.resolve(i).then(
24
- () => u(f(o))
24
+ () => u(f(s))
25
25
  );
26
26
  }
27
- }, h = r === "forward" ? 0 : s - 1;
28
- return u(h);
27
+ }, a = r === "forward" ? 0 : n - 1;
28
+ return u(a);
29
29
  }
30
+ const w = (...t) => (e) => t.reduceRight(
31
+ (r, n) => m(r, n),
32
+ e
33
+ );
30
34
  export {
35
+ w as composeK,
31
36
  c as isPromiseLike,
32
- l as maybeThen,
33
- m as maybeTry,
37
+ m as maybeThen,
38
+ l as maybeTry,
34
39
  p as processSequentially
35
40
  };
@@ -2,7 +2,13 @@ import { MaybePromise, PipelineExtension, PipelineExtensionHook, PipelineExtensi
2
2
  interface CreatePipelineExtensionBaseOptions {
3
3
  readonly key?: string;
4
4
  }
5
- interface CreatePipelineExtensionWithRegister<TPipeline, TContext, TOptions, TArtifact> extends CreatePipelineExtensionBaseOptions {
5
+ /**
6
+ * Options for creating a pipeline extension using the dynamic register pattern.
7
+ *
8
+ * @category Pipeline
9
+ * @public
10
+ */
11
+ export interface CreatePipelineExtensionWithRegister<TPipeline, TContext, TOptions, TArtifact> extends CreatePipelineExtensionBaseOptions {
6
12
  readonly register: (pipeline: TPipeline) => MaybePromise<void | PipelineExtensionHook<TContext, TOptions, TArtifact> | PipelineExtensionHookRegistration<TContext, TOptions, TArtifact>>;
7
13
  }
8
14
  interface CreatePipelineExtensionWithSetup<TPipeline, TContext, TOptions, TArtifact> extends CreatePipelineExtensionBaseOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../src/createExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,mCAAmC,CAC5C,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAClB,QAAQ,EAAE,SAAS,KACf,YAAY,CACd,IAAI,GACJ,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAClE,CAAC;CACF;AAED,UAAU,gCAAgC,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EACX,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,IAEP,mCAAmC,CACnC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,GACD,gCAAgC,CAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoJG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,OAAO,EAAE,8BAA8B,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,GACC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAoD7D"}
1
+ {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../src/createExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC,CACnD,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAClB,QAAQ,EAAE,SAAS,KACf,YAAY,CACd,IAAI,GACJ,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAClE,CAAC;CACF;AAED,UAAU,gCAAgC,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EACX,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,IAEP,mCAAmC,CACnC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,GACD,gCAAgC,CAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoJG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,OAAO,EAAE,8BAA8B,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,GACC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAoD7D"}
@@ -28,6 +28,12 @@ export interface CreateDependencyGraphOptions<THelper> {
28
28
  readonly onUnresolvedHelpers?: (options: {
29
29
  readonly unresolved: RegisteredHelper<THelper>[];
30
30
  }) => void;
31
+ /**
32
+ * Optional set of helper keys that are considered “already satisfied”.
33
+ * Useful when a pipeline run intentionally omits certain helpers (e.g. IR
34
+ * fragments) but builders still declare them as dependencies.
35
+ */
36
+ readonly providedKeys?: readonly string[];
31
37
  }
32
38
  /**
33
39
  * Creates a unique identifier for a registered helper.
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAaD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO;IAC9C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,OAAO;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC9B,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAClC,IAAI,CAAC;IACV,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QACxC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,KAAK,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,gBAAgB,EAC9D,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAC5B,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC1B,MAAM,CAUR;AA2KD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,gBAAgB,EACrE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,OAAO,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAAG,SAAS,EAC1D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,GACnD;IACF,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC,CA4CA"}
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAaD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO;IAC9C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,OAAO;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC9B,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAClC,IAAI,CAAC;IACV,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QACxC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,gBAAgB,EAC9D,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAC5B,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC1B,MAAM,CAUR;AAoPD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,gBAAgB,EACrE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,OAAO,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAAG,SAAS,EAC1D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,GACnD;IACF,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC,CAgBA"}
@@ -1,101 +1,109 @@
1
- function k(n, e) {
1
+ function M(n, e) {
2
2
  return `${n.kind}:${n.key}#${e}`;
3
3
  }
4
- function f(n, e) {
4
+ function u(n, e) {
5
5
  return n.helper.priority !== e.helper.priority ? e.helper.priority - n.helper.priority : n.helper.key !== e.helper.key ? n.helper.key.localeCompare(e.helper.key) : n.index - e.index;
6
6
  }
7
7
  function y(n) {
8
- const e = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
9
- for (const t of n)
10
- e.set(t.id, /* @__PURE__ */ new Set()), o.set(t.id, 0), r.set(t.id, t);
11
- return { adjacency: e, indegree: o, entryById: r };
8
+ const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
9
+ for (const o of n)
10
+ e.set(o.id, /* @__PURE__ */ new Set()), t.set(o.id, 0), r.set(o.id, o);
11
+ return { adjacency: e, indegree: t, entryById: r };
12
12
  }
13
13
  function a(n, e) {
14
- const o = [];
14
+ const t = [];
15
15
  for (const r of n)
16
- for (const t of r.helper.dependsOn)
16
+ for (const o of r.helper.dependsOn)
17
17
  h(
18
18
  n,
19
19
  e,
20
- t,
20
+ o,
21
21
  r.id
22
- ) || o.push({
22
+ ) || t.push({
23
23
  dependant: r,
24
- dependencyKey: t
24
+ dependencyKey: o
25
25
  });
26
- return o;
26
+ return t;
27
27
  }
28
- function h(n, e, o, r) {
29
- const t = n.filter(
30
- ({ helper: c }) => c.key === o
28
+ function h(n, e, t, r) {
29
+ const o = n.filter(
30
+ ({ helper: s }) => s.key === t
31
31
  );
32
- if (t.length === 0)
32
+ if (o.length === 0)
33
33
  return !1;
34
- for (const c of t) {
35
- const d = e.adjacency.get(c.id);
36
- if (!d)
34
+ for (const s of o) {
35
+ const c = e.adjacency.get(s.id);
36
+ if (!c)
37
37
  continue;
38
- d.add(r);
38
+ c.add(r);
39
39
  const i = e.indegree.get(r) ?? 0;
40
40
  e.indegree.set(r, i + 1);
41
41
  }
42
42
  return !0;
43
43
  }
44
44
  function g(n, e) {
45
- const o = n.filter(
45
+ const t = n.filter(
46
46
  (i) => (e.indegree.get(i.id) ?? 0) === 0
47
47
  );
48
- o.sort(f);
49
- const r = [], t = new Map(e.indegree), c = /* @__PURE__ */ new Set();
50
- for (; o.length > 0; ) {
51
- const i = o.shift();
48
+ t.sort(u);
49
+ const r = [], o = new Map(e.indegree), s = /* @__PURE__ */ new Set();
50
+ for (; t.length > 0; ) {
51
+ const i = t.shift();
52
52
  if (!i)
53
53
  break;
54
- r.push(i), c.add(i.id);
55
- const u = e.adjacency.get(i.id);
56
- if (u)
57
- for (const s of u) {
58
- const p = (t.get(s) ?? 0) - 1;
59
- if (t.set(s, p), p !== 0)
54
+ r.push(i), s.add(i.id);
55
+ const p = e.adjacency.get(i.id);
56
+ if (p)
57
+ for (const d of p) {
58
+ const l = (o.get(d) ?? 0) - 1;
59
+ if (o.set(d, l), l !== 0)
60
60
  continue;
61
- const l = e.entryById.get(s);
62
- l && (o.push(l), o.sort(f));
61
+ const f = e.entryById.get(d);
62
+ f && (t.push(f), t.sort(u));
63
63
  }
64
64
  }
65
- const d = n.filter((i) => !c.has(i.id));
66
- return { ordered: r, unresolved: d };
65
+ const c = n.filter((i) => !s.has(i.id));
66
+ return { ordered: r, unresolved: c };
67
67
  }
68
- function w(n, e, o) {
69
- const r = y(n), t = a(n, r);
70
- if (t.length > 0) {
71
- for (const s of t)
72
- e?.onMissingDependency?.(s);
73
- const i = /* @__PURE__ */ new Map();
74
- for (const s of t) {
75
- const p = s.dependant.helper.key, l = i.get(p) ?? [];
76
- l.push(s.dependencyKey), i.set(p, l);
77
- }
78
- const u = Array.from(i.entries()).map(
79
- ([s, p]) => `"${s}" → [${p.map((l) => `"${l}"`).join(", ")}]`
80
- ).join(", ");
81
- throw o(
82
- "ValidationError",
83
- `Helpers depend on unknown helpers: ${u}.`
84
- );
85
- }
86
- const { ordered: c, unresolved: d } = g(n, r);
87
- if (d.length > 0) {
88
- e?.onUnresolvedHelpers?.({ unresolved: d });
89
- const i = d.map((u) => u.helper.key);
90
- throw o(
91
- "ValidationError",
92
- `Detected unresolved pipeline helpers: ${i.join(", ")}.`
93
- );
68
+ function k(n, e, t) {
69
+ if (n.length === 0)
70
+ return;
71
+ if (e?.onMissingDependency)
72
+ for (const s of n)
73
+ e.onMissingDependency(s);
74
+ const r = /* @__PURE__ */ new Map();
75
+ for (const s of n) {
76
+ const c = s.dependant.helper.key, i = r.get(c) ?? [];
77
+ i.push(s.dependencyKey), r.set(c, i);
94
78
  }
95
- return { order: c, adjacency: r.adjacency };
79
+ const o = Array.from(r.entries()).map(
80
+ ([s, c]) => `"${s}" → [${c.map((i) => `"${i}"`).join(", ")}]`
81
+ ).join(", ");
82
+ throw t(
83
+ "ValidationError",
84
+ `Helpers depend on unknown helpers: ${o}.`
85
+ );
86
+ }
87
+ function w(n, e, t) {
88
+ if (n.length === 0)
89
+ return;
90
+ e?.onUnresolvedHelpers && e.onUnresolvedHelpers({ unresolved: n });
91
+ const r = n.map((o) => o.helper.key);
92
+ throw t(
93
+ "ValidationError",
94
+ `Detected unresolved pipeline helpers: ${r.join(", ")}.`
95
+ );
96
+ }
97
+ function j(n, e, t) {
98
+ const r = y(n), o = a(n, r), s = new Set(e?.providedKeys ?? []), c = o.filter(
99
+ (d) => !s.has(d.dependencyKey)
100
+ );
101
+ k(c, e, t);
102
+ const { ordered: i, unresolved: p } = g(n, r);
103
+ return w(p, e, t), { order: i, adjacency: r.adjacency };
96
104
  }
97
105
  export {
98
- f as compareHelpers,
99
- w as createDependencyGraph,
100
- k as createHelperId
106
+ u as compareHelpers,
107
+ j as createDependencyGraph,
108
+ M as createHelperId
101
109
  };
@@ -24,7 +24,7 @@ export declare function createDefaultError(code: string, message: string): Error
24
24
  /**
25
25
  * Creates an error factory that wraps a custom error class.
26
26
  *
27
- * @param ErrorClass - Custom error class constructor
27
+ * @param create - A function that creates an Error instance based on a code and message.
28
28
  * @param create
29
29
  * @returns An error factory function
30
30
  *
@@ -1,3 +1,3 @@
1
1
  export { OFFICIAL_EXTENSION_BLUEPRINTS } from './official';
2
- export { OfficialExtensionBlueprint, ExtensionBlueprint, ExtensionBehaviour, ExtensionFactorySignature, } from "./official";
3
- //# sourceMappingURL=index.d.ts.map
2
+ export type { OfficialExtensionBlueprint, ExtensionBlueprint, ExtensionBehaviour, ExtensionFactorySignature, } from './official';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -83,5 +83,5 @@ export declare function commitExtensionResults<TContext, TOptions, TArtifact>(re
83
83
  */
84
84
  export declare function rollbackExtensionResults<TContext, TOptions, TArtifact>(results: readonly ExtensionHookExecution<TContext, TOptions, TArtifact>[], hooks: readonly ExtensionHookEntry<TContext, TOptions, TArtifact>[], onRollbackError: (args: RollbackErrorArgs) => void): MaybePromise<void>;
85
85
  export { OFFICIAL_EXTENSION_BLUEPRINTS } from './extensions/official.js';
86
- export { OfficialExtensionBlueprint, ExtensionBlueprint, ExtensionBehaviour, ExtensionFactorySignature, } from "./extensions/official.js";
87
- //# sourceMappingURL=extensions.d.ts.map
86
+ export type { OfficialExtensionBlueprint, ExtensionBlueprint, ExtensionBehaviour, ExtensionFactorySignature, } from './extensions/official.js';
87
+ //# sourceMappingURL=extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,sCAAsC,EACtC,0BAA0B,EAC1B,MAAM,SAAS,CAAC;AAQjB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACpE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,OAAO,GACZ,sCAAsC,CAoBxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAC9D,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACpE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACjE,CAAC,CA8DD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACnE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GACvE,YAAY,CAAC,IAAI,CAAC,CAcpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACrE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACzE,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC,IAAI,CAAC,CA2BpB;AAED,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,sCAAsC,EACtC,0BAA0B,EAC1B,MAAM,SAAS,CAAC;AASjB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACpE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,OAAO,GACZ,sCAAsC,CAoBxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAC9D,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACpE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACjE,CAAC,CA8DD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACnE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GACvE,YAAY,CAAC,IAAI,CAAC,CAcpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACrE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACzE,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC,IAAI,CAAC,CA0BpB;AAED,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC"}
@@ -1,89 +1,88 @@
1
- import { processSequentially as l, isPromiseLike as k, maybeTry as h, maybeThen as m } from "./async-utils.js";
2
- function x(t) {
3
- if (t instanceof Error) {
4
- const { name: n, message: o, stack: e } = t, r = t.cause;
1
+ import { processSequentially as f, isPromiseLike as k, maybeTry as p, maybeThen as l } from "./async-utils.js";
2
+ import { runRollbackStack as b } from "./rollback.js";
3
+ function E(o) {
4
+ if (o instanceof Error) {
5
+ const { name: r, message: e, stack: s } = o, n = o.cause;
5
6
  return {
6
- name: n,
7
- message: o,
8
- stack: e,
9
- cause: r
7
+ name: r,
8
+ message: e,
9
+ stack: s,
10
+ cause: n
10
11
  };
11
12
  }
12
- return typeof t == "string" ? {
13
- message: t
13
+ return typeof o == "string" ? {
14
+ message: o
14
15
  } : {};
15
16
  }
16
- function y(t, n, o, e) {
17
- let r = o.artifact;
18
- const s = [], u = t.filter(
19
- (i) => i.lifecycle === n
20
- ), f = {
21
- context: o.context,
22
- options: o.options,
23
- lifecycle: n
24
- }, p = h(
25
- () => l(u, (i) => {
26
- const c = i.hook({
27
- ...f,
28
- artifact: r
17
+ function R(o, r, e, s) {
18
+ let n = e.artifact;
19
+ const c = [], t = o.filter(
20
+ (i) => i.lifecycle === r
21
+ ), m = {
22
+ context: e.context,
23
+ options: e.options,
24
+ lifecycle: r
25
+ }, h = p(
26
+ () => f(t, (i) => {
27
+ const u = i.hook({
28
+ ...m,
29
+ artifact: n
29
30
  });
30
- if (k(c))
31
- return Promise.resolve(c).then((a) => {
32
- a && (a.artifact !== void 0 && (r = a.artifact), s.push({
31
+ if (k(u))
32
+ return Promise.resolve(u).then((a) => {
33
+ a && (a.artifact !== void 0 && (n = a.artifact), c.push({
33
34
  hook: i,
34
35
  result: a
35
36
  }));
36
37
  });
37
- if (c)
38
- return c.artifact !== void 0 && (r = c.artifact), void s.push({
38
+ if (u)
39
+ return u.artifact !== void 0 && (n = u.artifact), void c.push({
39
40
  hook: i,
40
- result: c
41
+ result: u
41
42
  });
42
43
  }),
43
- (i) => m(
44
- d(s, u, e),
44
+ (i) => l(
45
+ d(c, t, s),
45
46
  () => {
46
47
  throw i;
47
48
  }
48
49
  )
49
50
  );
50
- return m(p, () => ({ artifact: r, results: s }));
51
+ return l(h, () => ({ artifact: n, results: c }));
51
52
  }
52
- function E(t) {
53
- return l(t, (n) => {
54
- const o = n.result.commit;
55
- if (!o)
53
+ function g(o) {
54
+ return f(o, (r) => {
55
+ const e = r.result.commit;
56
+ if (!e)
56
57
  return;
57
- const e = o();
58
- if (k(e))
59
- return e.then(() => {
58
+ const s = e();
59
+ if (k(s))
60
+ return s.then(() => {
60
61
  });
61
62
  });
62
63
  }
63
- function d(t, n, o) {
64
- const e = n.map((s) => s.key), r = e;
65
- return l(
66
- [...t].reverse(),
67
- (s) => {
68
- const u = s.result.rollback;
69
- if (u)
70
- return h(
71
- () => u(),
72
- (f) => {
73
- o({
74
- error: f,
75
- extensionKeys: e,
76
- hookSequence: r
77
- });
78
- }
79
- );
80
- },
81
- "forward"
82
- );
64
+ function d(o, r, e) {
65
+ const s = r.map((t) => t.key), n = s, c = o.map((t) => ({
66
+ result: t.result,
67
+ hook: t.hook
68
+ })).filter((t) => t.result.rollback).map((t) => ({
69
+ key: t.hook.key,
70
+ run: t.result.rollback
71
+ }));
72
+ return b(c, {
73
+ source: "extension",
74
+ onError: ({ error: t }) => {
75
+ e({
76
+ error: t,
77
+ extensionKeys: s,
78
+ hookSequence: n
79
+ });
80
+ }
81
+ });
83
82
  }
84
83
  export {
85
- E as commitExtensionResults,
86
- x as createRollbackErrorMetadata,
84
+ g as commitExtensionResults,
85
+ E as createRollbackErrorMetadata,
87
86
  d as rollbackExtensionResults,
88
- y as runExtensionHooks
87
+ R as runExtensionHooks
89
88
  };
package/dist/helper.d.ts CHANGED
@@ -32,6 +32,14 @@ import { CreateHelperOptions, Helper, HelperKind, PipelineReporter } from './typ
32
32
  * - Validates dependency chains and reports missing/circular dependencies
33
33
  * - Ensures helpers run in correct order regardless of registration sequence
34
34
  *
35
+ * ### Apply results & rollback
36
+ * Helpers typically perform their work by mutating the provided `fragment` or `output` in place and optionally calling `next()` to continue the chain.
37
+ * For more advanced scenarios, a helper can **also return** a result object:
38
+ * - `output` — an updated output value to feed into subsequent helpers
39
+ * - `rollback` — a rollback operation created via `createPipelineRollback`, which will be executed if the pipeline fails after this helper completes
40
+ *
41
+ * Returning a result object is opt-in; existing helpers that return `void` remain valid and continue to behave as before.
42
+ *
35
43
  * ## Architecture
36
44
  *
37
45
  * Helpers form directed acyclic graphs (DAGs) where each node represents a transformation
@@ -41,7 +49,7 @@ import { CreateHelperOptions, Helper, HelperKind, PipelineReporter } from './typ
41
49
  * This design enables:
42
50
  * - **Composability**: Combine helpers from different packages without conflicts
43
51
  * - **Extensibility**: Third-party helpers integrate seamlessly via dependency declarations
44
- * - **Reliability**: Rollback support ensures atomic operations across helper chains
52
+ * - **Reliability**: Helper-level rollback (via `createPipelineRollback`) ensures atomic behaviour across helper chains
45
53
  * - **Observability**: Built-in diagnostics and reporter integration for debugging
46
54
  *
47
55
  * @param options
@@ -84,46 +92,49 @@ import { CreateHelperOptions, Helper, HelperKind, PipelineReporter } from './typ
84
92
  * });
85
93
  * ```
86
94
  *
87
- * @example Builder helper with rollback
95
+ * @example Builder helper with rollback result
88
96
  * ```typescript
89
- * import { createPipelineCommit, createPipelineRollback } from '@wpkernel/pipeline';
97
+ * import { createHelper, createPipelineRollback } from '@wpkernel/pipeline';
90
98
  *
91
99
  * const writeFileHelper = createHelper({
92
100
  * key: 'write-file',
93
101
  * kind: 'builder',
94
- * apply: ({ draft, context }) => {
102
+ * apply: ({ output, context }) => {
95
103
  * const path = context.outputPath;
96
- * const backup = readFileSync(path, 'utf-8'); // Capture current state
104
+ * const before = [...output]; // Capture current in-memory state
97
105
  *
98
- * writeFileSync(path, draft);
106
+ * output.push(context.fileContent);
99
107
  *
100
108
  * return {
101
- * commit: createPipelineCommit(
102
- * () => context.reporter.info(`Wrote ${path}`)
103
- * ),
104
109
  * rollback: createPipelineRollback(
105
- * () => writeFileSync(path, backup), // Restore on error
106
- * () => context.reporter.warn(`Rolled back ${path}`)
110
+ * () => {
111
+ * output.length = 0;
112
+ * output.push(...before);
113
+ * },
114
+ * {
115
+ * key: 'write-file',
116
+ * label: 'Restore file output state',
117
+ * }
107
118
  * ),
108
119
  * };
109
120
  * },
110
121
  * });
111
122
  * ```
112
123
  *
113
- * @example Async helper with error handling
124
+ * @example Async helper with transformed output and error handling
114
125
  * ```typescript
115
126
  * const formatCodeHelper = createHelper({
116
127
  * key: 'format-code',
117
128
  * kind: 'builder',
118
129
  * dependsOn: ['write-file'],
119
- * apply: async ({ artifact, context }) => {
130
+ * apply: async ({ output, context }) => {
120
131
  * try {
121
- * const formatted = await prettier.format(artifact, {
132
+ * const formatted = await prettier.format(output.join(''), {
122
133
  * parser: 'php',
123
134
  * });
124
- * return { artifact: formatted };
135
+ * return { output: formatted.split('') }; // Optionally return a new output value
125
136
  * } catch (error) {
126
- * context.reporter.error('Formatting failed', { error });
137
+ * context.reporter.warn?.('Formatting failed', { error });
127
138
  * throw error;
128
139
  * }
129
140
  * },
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,MAAM,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkIG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CA8BrD"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,MAAM,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6IG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CA8BrD"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  export { createHelper } from './helper';
2
2
  export { createPipeline } from './createPipeline';
3
3
  export { createPipelineExtension } from './createExtension';
4
- export { CreatePipelineExtensionOptions } from "./createExtension";
4
+ export type { CreatePipelineExtensionOptions } from './createExtension';
5
5
  export { executeHelpers } from './executor';
6
- export { ErrorFactory } from "./error-factory";
6
+ export type { ErrorFactory } from './error-factory';
7
7
  export { createDefaultError, createErrorFactory } from './error-factory';
8
8
  export { registerHelper, registerExtensionHook, handleExtensionRegisterResult, } from './registration';
9
- export { Pipeline, CreatePipelineOptions, PipelineReporter, PipelineExtension, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult, PipelineExtensionLifecycle, PipelineExtensionHookRegistration, PipelineExtensionRegisterOutput, PipelineDiagnostic, ConflictDiagnostic, MissingDependencyDiagnostic, UnusedHelperDiagnostic, Helper, HelperApplyFn, HelperDescriptor, HelperKind, HelperMode, CreateHelperOptions, HelperApplyOptions, MaybePromise, PipelineStep, PipelineRunState, HelperExecutionSnapshot, PipelineExecutionMetadata, FragmentFinalizationMetadata, PipelineExtensionRollbackErrorMetadata, } from "./types";
10
- export { RegisteredHelper, MissingDependencyIssue, } from "./dependency-graph";
9
+ export { createPipelineRollback, runRollbackStack } from './rollback';
10
+ export type { PipelineRollback, PipelineRollbackErrorMetadata, RunRollbackStackOptions, } from './rollback';
11
+ export type { Pipeline, CreatePipelineOptions, PipelineReporter, PipelineExtension, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult, PipelineExtensionLifecycle, PipelineExtensionHookRegistration, PipelineExtensionRegisterOutput, PipelineDiagnostic, ConflictDiagnostic, MissingDependencyDiagnostic, UnusedHelperDiagnostic, Helper, HelperApplyFn, HelperApplyResult, HelperDescriptor, HelperKind, HelperMode, CreateHelperOptions, HelperApplyOptions, MaybePromise, PipelineStep, PipelineRunState, HelperExecutionSnapshot, PipelineExecutionMetadata, FragmentFinalizationMetadata, PipelineExtensionRollbackErrorMetadata, } from './types';
12
+ export type { RegisteredHelper, MissingDependencyIssue, } from './dependency-graph';
11
13
  export { createHelperId, compareHelpers } from './dependency-graph';
12
14
  export { isPromiseLike, maybeThen, maybeTry, processSequentially, } from './async-utils';
13
- export { ExtensionHookEntry, ExtensionHookExecution, RollbackErrorArgs, } from "./extensions";
14
- export { createRollbackErrorMetadata } from './extensions';
15
+ export type { ExtensionHookEntry, ExtensionHookExecution, RollbackErrorArgs, } from './extensions';
15
16
  export { OFFICIAL_EXTENSION_BLUEPRINTS } from './extensions/official';
16
- export { OfficialExtensionBlueprint } from "./extensions/official";
17
- //# sourceMappingURL=index.d.ts.map
17
+ export type { OfficialExtensionBlueprint } from './extensions/official';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAEX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EAGtB,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAGlB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACtC,MAAM,SAAS,CAAC;AAGjB,YAAY,EACX,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,SAAS,EACT,QAAQ,EACR,mBAAmB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACX,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,GACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAEX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EAGtB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAElB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACtC,MAAM,SAAS,CAAC;AAGjB,YAAY,EACX,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,SAAS,EACT,QAAQ,EACR,mBAAmB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}