@pgflow/dsl 0.1.0 → 0.1.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.
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @pgflow/dsl
2
2
 
3
+ ## 0.1.2
4
+
5
+ ## 0.1.1
6
+
7
+ ### Patch Changes
8
+
9
+ - b362364: Add compileFlow function
10
+
3
11
  ## 0.1.0
4
12
 
5
13
  ## 0.0.23
@@ -0,0 +1,10 @@
1
+ import { AnyFlow } from './dsl.js';
2
+ /**
3
+ * Compiles a Flow object into an array of SQL statements
4
+ * that can be executed to create the flow and its steps in PostgreSQL
5
+ *
6
+ * @param flow The Flow object to compile
7
+ * @returns Array of SQL statements
8
+ */
9
+ export declare function compileFlow(flow: AnyFlow): string[];
10
+ //# sourceMappingURL=compile-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-flow.d.ts","sourceRoot":"","sources":["../src/compile-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,UAAU,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAyBnD"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Compiles a Flow object into an array of SQL statements
3
+ * that can be executed to create the flow and its steps in PostgreSQL
4
+ *
5
+ * @param flow The Flow object to compile
6
+ * @returns Array of SQL statements
7
+ */
8
+ export function compileFlow(flow) {
9
+ const statements = [];
10
+ // Create the flow
11
+ const flowOptions = formatRuntimeOptions(flow.options);
12
+ statements.push(`SELECT pgflow.create_flow('${flow.slug}'${flowOptions});`);
13
+ // Add steps in the order they were defined
14
+ for (const stepSlug of flow.stepOrder) {
15
+ const step = flow.getStepDefinition(stepSlug);
16
+ const stepOptions = formatRuntimeOptions(step.options);
17
+ // Format dependencies array if it exists
18
+ let depsClause = '';
19
+ if (step.dependencies.length > 0) {
20
+ const depsArray = step.dependencies.map((dep) => `'${dep}'`).join(', ');
21
+ depsClause = `, ARRAY[${depsArray}]`;
22
+ }
23
+ statements.push(`SELECT pgflow.add_step('${flow.slug}', '${step.slug}'${depsClause}${stepOptions});`);
24
+ }
25
+ return statements;
26
+ }
27
+ /**
28
+ * Formats runtime options into SQL parameter string
29
+ */
30
+ function formatRuntimeOptions(options) {
31
+ const parts = [];
32
+ if (options.maxAttempts !== undefined) {
33
+ parts.push(`max_attempts => ${options.maxAttempts}`);
34
+ }
35
+ if (options.baseDelay !== undefined) {
36
+ parts.push(`base_delay => ${options.baseDelay}`);
37
+ }
38
+ if (options.timeout !== undefined) {
39
+ parts.push(`timeout => ${options.timeout}`);
40
+ }
41
+ return parts.length > 0 ? `, ${parts.join(', ')}` : '';
42
+ }
package/dist/dsl.d.ts CHANGED
@@ -74,7 +74,7 @@ export declare class Flow<TFlowInput extends AnyInput = AnyInput, Steps extends
74
74
  * Type safety is enforced at the method level when adding or retrieving steps.
75
75
  */
76
76
  private stepDefinitions;
77
- private stepOrder;
77
+ readonly stepOrder: string[];
78
78
  readonly slug: string;
79
79
  readonly options: RuntimeOptions;
80
80
  constructor(config: Simplify<{
package/dist/dsl.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './dsl.js';
2
+ export * from './compile-flow.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export * from './dsl.js';
2
+ export * from './compile-flow.js';
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/dsl",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/dsl",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",