configforge 1.0.0-beta.1 → 1.0.0-beta.11

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.
Files changed (93) hide show
  1. package/README.md +630 -12
  2. package/dist/core/ConversionResult.d.ts +22 -0
  3. package/dist/core/ConversionResult.d.ts.map +1 -1
  4. package/dist/core/ConversionResult.js +44 -30
  5. package/dist/core/ConversionResult.js.map +1 -1
  6. package/dist/core/Converter.d.ts +40 -10
  7. package/dist/core/Converter.d.ts.map +1 -1
  8. package/dist/core/Converter.js +137 -29
  9. package/dist/core/Converter.js.map +1 -1
  10. package/dist/core/Mapper.d.ts +12 -0
  11. package/dist/core/Mapper.d.ts.map +1 -1
  12. package/dist/core/Mapper.js +155 -3
  13. package/dist/core/Mapper.js.map +1 -1
  14. package/dist/core/Pipeline.d.ts +42 -0
  15. package/dist/core/Pipeline.d.ts.map +1 -0
  16. package/dist/core/Pipeline.js +134 -0
  17. package/dist/core/Pipeline.js.map +1 -0
  18. package/dist/core/pipeline/PipelineBuilder.d.ts +67 -0
  19. package/dist/core/pipeline/PipelineBuilder.d.ts.map +1 -0
  20. package/dist/core/pipeline/PipelineBuilder.js +109 -0
  21. package/dist/core/pipeline/PipelineBuilder.js.map +1 -0
  22. package/dist/core/pipeline/PipelineSteps.d.ts +74 -0
  23. package/dist/core/pipeline/PipelineSteps.d.ts.map +1 -0
  24. package/dist/core/pipeline/PipelineSteps.js +298 -0
  25. package/dist/core/pipeline/PipelineSteps.js.map +1 -0
  26. package/dist/errors/ErrorCollector.d.ts +119 -0
  27. package/dist/errors/ErrorCollector.d.ts.map +1 -0
  28. package/dist/errors/ErrorCollector.js +197 -0
  29. package/dist/errors/ErrorCollector.js.map +1 -0
  30. package/dist/errors/ErrorContext.d.ts +168 -0
  31. package/dist/errors/ErrorContext.d.ts.map +1 -0
  32. package/dist/errors/ErrorContext.js +356 -0
  33. package/dist/errors/ErrorContext.js.map +1 -0
  34. package/dist/errors/ErrorRecovery.d.ts +91 -0
  35. package/dist/errors/ErrorRecovery.d.ts.map +1 -0
  36. package/dist/errors/ErrorRecovery.js +321 -0
  37. package/dist/errors/ErrorRecovery.js.map +1 -0
  38. package/dist/errors/ErrorReporter.d.ts +58 -0
  39. package/dist/errors/ErrorReporter.d.ts.map +1 -0
  40. package/dist/errors/ErrorReporter.js +262 -0
  41. package/dist/errors/ErrorReporter.js.map +1 -0
  42. package/dist/errors/ErrorTypes.d.ts +103 -0
  43. package/dist/errors/ErrorTypes.d.ts.map +1 -0
  44. package/dist/errors/ErrorTypes.js +125 -0
  45. package/dist/errors/ErrorTypes.js.map +1 -0
  46. package/dist/errors/SpecificErrors.d.ts +45 -0
  47. package/dist/errors/SpecificErrors.d.ts.map +1 -0
  48. package/dist/errors/SpecificErrors.js +124 -0
  49. package/dist/errors/SpecificErrors.js.map +1 -0
  50. package/dist/errors/SuggestionEngine.d.ts +63 -0
  51. package/dist/errors/SuggestionEngine.d.ts.map +1 -0
  52. package/dist/errors/SuggestionEngine.js +328 -0
  53. package/dist/errors/SuggestionEngine.js.map +1 -0
  54. package/dist/errors/index.d.ts +12 -0
  55. package/dist/errors/index.d.ts.map +1 -0
  56. package/dist/errors/index.js +39 -0
  57. package/dist/errors/index.js.map +1 -0
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +15 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/scripts/CLIGenerator.d.ts +109 -0
  63. package/dist/scripts/CLIGenerator.d.ts.map +1 -0
  64. package/dist/scripts/CLIGenerator.js +440 -0
  65. package/dist/scripts/CLIGenerator.js.map +1 -0
  66. package/dist/scripts/CLIUtils.d.ts +136 -0
  67. package/dist/scripts/CLIUtils.d.ts.map +1 -0
  68. package/dist/scripts/CLIUtils.js +361 -0
  69. package/dist/scripts/CLIUtils.js.map +1 -0
  70. package/dist/scripts/CommandBuilder.d.ts +72 -0
  71. package/dist/scripts/CommandBuilder.d.ts.map +1 -0
  72. package/dist/scripts/CommandBuilder.js +280 -0
  73. package/dist/scripts/CommandBuilder.js.map +1 -0
  74. package/dist/scripts/index.d.ts +23 -0
  75. package/dist/scripts/index.d.ts.map +1 -0
  76. package/dist/scripts/index.js +43 -0
  77. package/dist/scripts/index.js.map +1 -0
  78. package/dist/types/index.d.ts +8 -1
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/index.js.map +1 -1
  81. package/dist/validators/ValidatorRegistry.d.ts +55 -0
  82. package/dist/validators/ValidatorRegistry.d.ts.map +1 -0
  83. package/dist/validators/ValidatorRegistry.js +140 -0
  84. package/dist/validators/ValidatorRegistry.js.map +1 -0
  85. package/dist/validators/built-in.d.ts +93 -0
  86. package/dist/validators/built-in.d.ts.map +1 -0
  87. package/dist/validators/built-in.js +290 -0
  88. package/dist/validators/built-in.js.map +1 -0
  89. package/dist/validators/index.d.ts +4 -0
  90. package/dist/validators/index.d.ts.map +1 -0
  91. package/dist/validators/index.js +24 -0
  92. package/dist/validators/index.js.map +1 -0
  93. package/package.json +1 -1
@@ -46,16 +46,19 @@ class Mapper {
46
46
  * Execute a single mapping
47
47
  */
48
48
  executeMapping(mapping, source, target, context) {
49
- // Skip conditional mappings for now (will be implemented in task 8)
49
+ // Handle conditional mappings
50
50
  if (mapping.type === 'conditional') {
51
+ this.executeConditionalMapping(mapping, source, target, context);
51
52
  return;
52
53
  }
53
- // Skip forEach mappings for now (will be implemented in task 9)
54
+ // Handle forEach mappings
54
55
  if (mapping.type === 'forEach') {
56
+ this.executeForEachMapping(mapping, source, target, context);
55
57
  return;
56
58
  }
57
- // Skip merge mappings for now (will be implemented in task 10)
59
+ // Handle merge mappings
58
60
  if (mapping.type === 'merge') {
61
+ this.executeMergeMapping(mapping, source, target, context);
59
62
  return;
60
63
  }
61
64
  // Handle simple mappings
@@ -85,6 +88,155 @@ class Mapper {
85
88
  // Set the target value
86
89
  this.setValue(target, mapping.target, targetValue, context);
87
90
  }
91
+ /**
92
+ * Execute a forEach mapping - iterates over arrays or objects
93
+ */
94
+ executeForEachMapping(mapping, source, target, context) {
95
+ // Get the forEach function from metadata
96
+ const forEachFn = mapping.metadata?.forEachFn;
97
+ if (!forEachFn) {
98
+ throw new types_1.MappingError(`forEach mapping missing forEachFn in metadata`, {
99
+ path: mapping.source,
100
+ });
101
+ }
102
+ // Get the source array/object
103
+ const sourceValue = this.resolveValue(source, mapping.source, context);
104
+ if (sourceValue === undefined || sourceValue === null) {
105
+ return;
106
+ }
107
+ let result;
108
+ if (Array.isArray(sourceValue)) {
109
+ // Handle arrays
110
+ result = [];
111
+ for (let i = 0; i < sourceValue.length; i++) {
112
+ const item = sourceValue[i];
113
+ const itemContext = {
114
+ ...context,
115
+ path: `${mapping.source}[${i}]`,
116
+ index: i,
117
+ parent: sourceValue,
118
+ };
119
+ try {
120
+ const mappedItem = forEachFn(item, i, itemContext);
121
+ // Skip null items (filtering)
122
+ if (mappedItem !== null && mappedItem !== undefined) {
123
+ result.push(mappedItem);
124
+ }
125
+ }
126
+ catch (error) {
127
+ throw new types_1.MappingError(`forEach function failed for item at index ${i}: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: `${mapping.source}[${i}]` });
128
+ }
129
+ }
130
+ }
131
+ else if (typeof sourceValue === 'object') {
132
+ // Handle objects
133
+ result = {};
134
+ const keys = Object.keys(sourceValue);
135
+ for (let i = 0; i < keys.length; i++) {
136
+ const key = keys[i];
137
+ const item = sourceValue[key];
138
+ const itemContext = {
139
+ ...context,
140
+ path: `${mapping.source}.${key}`,
141
+ index: i,
142
+ parent: sourceValue,
143
+ };
144
+ try {
145
+ const mappedItem = forEachFn(item, key, itemContext);
146
+ // Skip null items (filtering)
147
+ if (mappedItem !== null && mappedItem !== undefined) {
148
+ result[key] = mappedItem;
149
+ }
150
+ }
151
+ catch (error) {
152
+ throw new types_1.MappingError(`forEach function failed for key '${key}': ${error instanceof Error ? error.message : 'Unknown error'}`, { path: `${mapping.source}.${key}` });
153
+ }
154
+ }
155
+ }
156
+ else {
157
+ throw new types_1.MappingError(`forEach can only be used on arrays or objects, got ${typeof sourceValue}`, { path: mapping.source });
158
+ }
159
+ // Set the result
160
+ this.setValue(target, mapping.target, result, context);
161
+ }
162
+ /**
163
+ * Execute a merge mapping - combines multiple source fields into one target field
164
+ */
165
+ executeMergeMapping(mapping, source, target, context) {
166
+ // Get the merge function and sources from metadata
167
+ const mergeFn = mapping.metadata?.mergeFn;
168
+ const sources = mapping.metadata?.sources;
169
+ if (!mergeFn) {
170
+ throw new types_1.MappingError(`Merge mapping missing mergeFn in metadata`, {
171
+ path: mapping.source,
172
+ });
173
+ }
174
+ if (!sources || !Array.isArray(sources)) {
175
+ throw new types_1.MappingError(`Merge mapping missing sources in metadata`, {
176
+ path: mapping.source,
177
+ });
178
+ }
179
+ // Resolve all source values
180
+ const sourceValues = [];
181
+ for (const sourcePath of sources) {
182
+ const value = this.resolveValue(source, sourcePath, context);
183
+ sourceValues.push(value);
184
+ }
185
+ // Apply the merge function
186
+ let mergedValue;
187
+ try {
188
+ mergedValue = mergeFn(...sourceValues);
189
+ }
190
+ catch (error) {
191
+ throw new types_1.MappingError(`Merge function failed: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: mapping.source });
192
+ }
193
+ // Apply transformation if provided
194
+ if (mapping.transform) {
195
+ const transformContext = {
196
+ ...context,
197
+ path: mapping.source,
198
+ };
199
+ try {
200
+ mergedValue = mapping.transform(mergedValue, transformContext);
201
+ }
202
+ catch (error) {
203
+ throw new types_1.MappingError(`Transform function failed on merged value: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: mapping.source });
204
+ }
205
+ }
206
+ // Set the target value
207
+ this.setValue(target, mapping.target, mergedValue, context);
208
+ }
209
+ /**
210
+ * Execute a conditional mapping - only executes if condition is met
211
+ */
212
+ executeConditionalMapping(mapping, source, target, context) {
213
+ // Get the condition from metadata
214
+ const condition = mapping.metadata?.condition;
215
+ if (!condition) {
216
+ throw new types_1.MappingError(`Conditional mapping missing condition in metadata`, { path: mapping.source });
217
+ }
218
+ // Evaluate the condition
219
+ let conditionMet = false;
220
+ if (typeof condition === 'string') {
221
+ // String condition - check if field exists and has truthy value
222
+ const conditionValue = this.resolveValue(source, condition, context);
223
+ conditionMet = Boolean(conditionValue);
224
+ }
225
+ else if (typeof condition === 'function') {
226
+ // Function condition - call with source data and context
227
+ try {
228
+ conditionMet = Boolean(condition(source, context));
229
+ }
230
+ catch (error) {
231
+ throw new types_1.MappingError(`Condition function failed: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: mapping.source });
232
+ }
233
+ }
234
+ // Only execute the mapping if condition is met
235
+ if (conditionMet) {
236
+ // Execute as a simple mapping
237
+ this.executeSimpleMapping(mapping, source, target, context);
238
+ }
239
+ }
88
240
  /**
89
241
  * Resolve a value from source using path
90
242
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Mapper.js","sourceRoot":"","sources":["../../src/core/Mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mapper.js","sourceRoot":"","sources":["../../src/core/Mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { PipelineStep, PipelineContext, ConversionResult, ForgeOptions } from '../types';
2
+ /**
3
+ * Pipeline class for executing conversion steps in a configurable order
4
+ */
5
+ export declare class Pipeline {
6
+ private options;
7
+ private steps;
8
+ constructor(options?: ForgeOptions);
9
+ /**
10
+ * Add a step to the pipeline
11
+ */
12
+ addStep(step: PipelineStep): this;
13
+ /**
14
+ * Add multiple steps to the pipeline
15
+ */
16
+ addSteps(steps: PipelineStep[]): this;
17
+ /**
18
+ * Execute the pipeline with the given input
19
+ */
20
+ execute(input: any, initialContext?: Partial<PipelineContext>): Promise<ConversionResult>;
21
+ /**
22
+ * Get the list of steps in the pipeline
23
+ */
24
+ getSteps(): PipelineStep[];
25
+ /**
26
+ * Clear all steps from the pipeline
27
+ */
28
+ clear(): this;
29
+ /**
30
+ * Remove a step by name
31
+ */
32
+ removeStep(name: string): this;
33
+ /**
34
+ * Insert a step at a specific position
35
+ */
36
+ insertStep(index: number, step: PipelineStep): this;
37
+ /**
38
+ * Replace a step by name
39
+ */
40
+ replaceStep(name: string, newStep: PipelineStep): this;
41
+ }
42
+ //# sourceMappingURL=Pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pipeline.d.ts","sourceRoot":"","sources":["../../src/core/Pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACb,MAAM,UAAU,CAAC;AAGlB;;GAEG;AACH,qBAAa,QAAQ;IAGP,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,KAAK,CAAsB;gBAEf,OAAO,GAAE,YAAiB;IAE9C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKrC;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,GAAG,EACV,cAAc,GAAE,OAAO,CAAC,eAAe,CAAM,GAC5C,OAAO,CAAC,gBAAgB,CAAC;IAmF5B;;OAEG;IACH,QAAQ,IAAI,YAAY,EAAE;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKnD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;CAOvD"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pipeline = void 0;
4
+ const ConversionResult_1 = require("./ConversionResult");
5
+ /**
6
+ * Pipeline class for executing conversion steps in a configurable order
7
+ */
8
+ class Pipeline {
9
+ constructor(options = {}) {
10
+ this.options = options;
11
+ this.steps = [];
12
+ }
13
+ /**
14
+ * Add a step to the pipeline
15
+ */
16
+ addStep(step) {
17
+ this.steps.push(step);
18
+ return this;
19
+ }
20
+ /**
21
+ * Add multiple steps to the pipeline
22
+ */
23
+ addSteps(steps) {
24
+ this.steps.push(...steps);
25
+ return this;
26
+ }
27
+ /**
28
+ * Execute the pipeline with the given input
29
+ */
30
+ async execute(input, initialContext = {}) {
31
+ const startTime = performance.now();
32
+ // Initialize pipeline context
33
+ const context = {
34
+ source: input,
35
+ target: {},
36
+ converter: null, // Will be set by the converter
37
+ options: this.options,
38
+ metadata: {},
39
+ warnings: [],
40
+ errors: [],
41
+ stats: {
42
+ fieldsProcessed: 0,
43
+ fieldsMapped: 0,
44
+ fieldsUnmapped: 0,
45
+ fieldsWithDefaults: 0,
46
+ transformsApplied: 0,
47
+ validationErrors: 0,
48
+ duration: 0,
49
+ },
50
+ ...initialContext,
51
+ };
52
+ let currentData = input;
53
+ // Execute each step in order
54
+ for (const step of this.steps) {
55
+ try {
56
+ if (this.options.verbose) {
57
+ console.log(`Executing pipeline step: ${step.name}`);
58
+ }
59
+ const stepStartTime = performance.now();
60
+ const result = await step.execute(currentData, context);
61
+ const stepDuration = performance.now() - stepStartTime;
62
+ // Update current data if step returns a value
63
+ if (result !== undefined) {
64
+ currentData = result;
65
+ // Update target in context for all steps that modify data
66
+ context.target = result;
67
+ }
68
+ if (this.options.verbose) {
69
+ console.log(`Step ${step.name} completed in ${stepDuration.toFixed(2)}ms`);
70
+ }
71
+ }
72
+ catch (error) {
73
+ context.errors.push({
74
+ code: 'PIPELINE_ERROR',
75
+ message: `Pipeline step '${step.name}' failed: ${error instanceof Error ? error.message : 'Unknown error'}`,
76
+ path: step.name,
77
+ });
78
+ // Stop execution on critical errors unless configured otherwise
79
+ if (this.options.strict) {
80
+ break;
81
+ }
82
+ }
83
+ }
84
+ // Calculate final statistics
85
+ const duration = performance.now() - startTime;
86
+ const finalStats = {
87
+ ...context.stats,
88
+ duration,
89
+ validationErrors: context.errors.length,
90
+ };
91
+ // Return conversion result
92
+ return new ConversionResult_1.ConversionResultImpl(context.target || currentData, context.warnings, [], // unmapped fields will be calculated by specific steps
93
+ context.errors, finalStats);
94
+ }
95
+ /**
96
+ * Get the list of steps in the pipeline
97
+ */
98
+ getSteps() {
99
+ return [...this.steps];
100
+ }
101
+ /**
102
+ * Clear all steps from the pipeline
103
+ */
104
+ clear() {
105
+ this.steps = [];
106
+ return this;
107
+ }
108
+ /**
109
+ * Remove a step by name
110
+ */
111
+ removeStep(name) {
112
+ this.steps = this.steps.filter(step => step.name !== name);
113
+ return this;
114
+ }
115
+ /**
116
+ * Insert a step at a specific position
117
+ */
118
+ insertStep(index, step) {
119
+ this.steps.splice(index, 0, step);
120
+ return this;
121
+ }
122
+ /**
123
+ * Replace a step by name
124
+ */
125
+ replaceStep(name, newStep) {
126
+ const index = this.steps.findIndex(step => step.name === name);
127
+ if (index !== -1) {
128
+ this.steps[index] = newStep;
129
+ }
130
+ return this;
131
+ }
132
+ }
133
+ exports.Pipeline = Pipeline;
134
+ //# sourceMappingURL=Pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pipeline.js","sourceRoot":"","sources":["../../src/core/Pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { PipelineStep, Mapping, ValidatorFn, HookFn, ForgeOptions } from '../../types';
2
+ import { Pipeline } from '../Pipeline';
3
+ /**
4
+ * Builder for creating conversion pipelines with configurable steps
5
+ */
6
+ export declare class PipelineBuilder {
7
+ private steps;
8
+ private options;
9
+ constructor(options?: ForgeOptions);
10
+ /**
11
+ * Add parsing step to handle file input and data parsing
12
+ */
13
+ addParseStep(): this;
14
+ /**
15
+ * Add before hooks step
16
+ */
17
+ addBeforeHooksStep(hooks: HookFn[]): this;
18
+ /**
19
+ * Add mapping step for field transformations
20
+ */
21
+ addMapStep(mappings: Mapping[]): this;
22
+ /**
23
+ * Add defaults step for applying default values
24
+ */
25
+ addDefaultsStep(defaults: Record<string, any>): this;
26
+ /**
27
+ * Add after hooks step
28
+ */
29
+ addAfterHooksStep(hooks: HookFn[]): this;
30
+ /**
31
+ * Add validation step
32
+ */
33
+ addValidateStep(validators: Array<{
34
+ path: string;
35
+ validator: ValidatorFn;
36
+ }>): this;
37
+ /**
38
+ * Add a custom step
39
+ */
40
+ addCustomStep(step: PipelineStep): this;
41
+ /**
42
+ * Build the complete pipeline with all configured steps
43
+ */
44
+ build(): Pipeline;
45
+ /**
46
+ * Build a standard conversion pipeline with all core steps
47
+ */
48
+ buildStandardPipeline(config: {
49
+ mappings: Mapping[];
50
+ validators?: Array<{
51
+ path: string;
52
+ validator: ValidatorFn;
53
+ }>;
54
+ defaults?: Record<string, any>;
55
+ beforeHooks?: HookFn[];
56
+ afterHooks?: HookFn[];
57
+ }): Pipeline;
58
+ /**
59
+ * Get the current steps
60
+ */
61
+ getSteps(): PipelineStep[];
62
+ /**
63
+ * Clear all steps
64
+ */
65
+ clear(): this;
66
+ }
67
+ //# sourceMappingURL=PipelineBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/pipeline/PipelineBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,GAAE,YAAiB;IAItC;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAOzC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAOrC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAOpD;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAOxC;;OAEG;IACH,eAAe,CACb,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,WAAW,CAAA;KAAE,CAAC,GAC1D,IAAI;IAOP;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKvC;;OAEG;IACH,KAAK,IAAI,QAAQ;IAMjB;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,QAAQ;IAUZ;;OAEG;IACH,QAAQ,IAAI,YAAY,EAAE;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PipelineBuilder = void 0;
4
+ const Pipeline_1 = require("../Pipeline");
5
+ const PipelineSteps_1 = require("./PipelineSteps");
6
+ /**
7
+ * Builder for creating conversion pipelines with configurable steps
8
+ */
9
+ class PipelineBuilder {
10
+ constructor(options = {}) {
11
+ this.steps = [];
12
+ this.options = {};
13
+ this.options = options;
14
+ }
15
+ /**
16
+ * Add parsing step to handle file input and data parsing
17
+ */
18
+ addParseStep() {
19
+ this.steps.push(new PipelineSteps_1.PipelineSteps.ParseStep());
20
+ return this;
21
+ }
22
+ /**
23
+ * Add before hooks step
24
+ */
25
+ addBeforeHooksStep(hooks) {
26
+ if (hooks.length > 0) {
27
+ this.steps.push(new PipelineSteps_1.PipelineSteps.BeforeHooksStep(hooks));
28
+ }
29
+ return this;
30
+ }
31
+ /**
32
+ * Add mapping step for field transformations
33
+ */
34
+ addMapStep(mappings) {
35
+ if (mappings.length > 0) {
36
+ this.steps.push(new PipelineSteps_1.PipelineSteps.MapStep(mappings));
37
+ }
38
+ return this;
39
+ }
40
+ /**
41
+ * Add defaults step for applying default values
42
+ */
43
+ addDefaultsStep(defaults) {
44
+ if (Object.keys(defaults).length > 0) {
45
+ this.steps.push(new PipelineSteps_1.PipelineSteps.DefaultsStep(defaults));
46
+ }
47
+ return this;
48
+ }
49
+ /**
50
+ * Add after hooks step
51
+ */
52
+ addAfterHooksStep(hooks) {
53
+ if (hooks.length > 0) {
54
+ this.steps.push(new PipelineSteps_1.PipelineSteps.AfterHooksStep(hooks));
55
+ }
56
+ return this;
57
+ }
58
+ /**
59
+ * Add validation step
60
+ */
61
+ addValidateStep(validators) {
62
+ if (validators.length > 0) {
63
+ this.steps.push(new PipelineSteps_1.PipelineSteps.ValidateStep(validators));
64
+ }
65
+ return this;
66
+ }
67
+ /**
68
+ * Add a custom step
69
+ */
70
+ addCustomStep(step) {
71
+ this.steps.push(step);
72
+ return this;
73
+ }
74
+ /**
75
+ * Build the complete pipeline with all configured steps
76
+ */
77
+ build() {
78
+ const pipeline = new Pipeline_1.Pipeline(this.options);
79
+ pipeline.addSteps(this.steps);
80
+ return pipeline;
81
+ }
82
+ /**
83
+ * Build a standard conversion pipeline with all core steps
84
+ */
85
+ buildStandardPipeline(config) {
86
+ return this.addParseStep()
87
+ .addBeforeHooksStep(config.beforeHooks || [])
88
+ .addMapStep(config.mappings)
89
+ .addDefaultsStep(config.defaults || {})
90
+ .addAfterHooksStep(config.afterHooks || [])
91
+ .addValidateStep(config.validators || [])
92
+ .build();
93
+ }
94
+ /**
95
+ * Get the current steps
96
+ */
97
+ getSteps() {
98
+ return [...this.steps];
99
+ }
100
+ /**
101
+ * Clear all steps
102
+ */
103
+ clear() {
104
+ this.steps = [];
105
+ return this;
106
+ }
107
+ }
108
+ exports.PipelineBuilder = PipelineBuilder;
109
+ //# sourceMappingURL=PipelineBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineBuilder.js","sourceRoot":"","sources":["../../../src/core/pipeline/PipelineBuilder.ts"],"names":[],"mappings":";;;AAOA,0CAAuC;AACvC,mDAAgD;AAEhD;;GAEG;AACH,MAAa,eAAe;IAI1B,YAAY,UAAwB,EAAE;QAH9B,UAAK,GAAmB,EAAE,CAAC;QAC3B,YAAO,GAAiB,EAAE,CAAC;QAGjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAe;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAmB;QAC5B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAA6B;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAe;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,eAAe,CACb,UAA2D;QAE3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAkB;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,MAMrB;QACC,OAAO,IAAI,CAAC,YAAY,EAAE;aACvB,kBAAkB,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;aAC5C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC3B,eAAe,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;aACtC,iBAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aAC1C,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aACxC,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtHD,0CAsHC"}
@@ -0,0 +1,74 @@
1
+ import { PipelineStep, PipelineContext, Mapping, ValidatorFn, HookFn } from '../../types';
2
+ /**
3
+ * Collection of standard pipeline steps
4
+ */
5
+ export declare namespace PipelineSteps {
6
+ /**
7
+ * Parse step - handles file input and data parsing
8
+ */
9
+ class ParseStep implements PipelineStep {
10
+ name: string;
11
+ execute(input: any, context: PipelineContext): Promise<any>;
12
+ }
13
+ /**
14
+ * Before hooks step - runs before hooks on source data
15
+ */
16
+ class BeforeHooksStep implements PipelineStep {
17
+ private hooks;
18
+ name: string;
19
+ constructor(hooks: HookFn[]);
20
+ execute(input: any, context: PipelineContext): Promise<any>;
21
+ }
22
+ /**
23
+ * Map step - executes field mappings using the Mapper
24
+ */
25
+ class MapStep implements PipelineStep {
26
+ private mappings;
27
+ name: string;
28
+ constructor(mappings: Mapping[]);
29
+ execute(input: any, context: PipelineContext): Promise<any>;
30
+ }
31
+ /**
32
+ * Defaults step - applies default values to missing fields
33
+ */
34
+ class DefaultsStep implements PipelineStep {
35
+ private defaults;
36
+ name: string;
37
+ constructor(defaults: Record<string, any>);
38
+ execute(input: any, context: PipelineContext): Promise<any>;
39
+ private getNestedValue;
40
+ private setNestedValue;
41
+ }
42
+ /**
43
+ * After hooks step - runs after hooks on target data
44
+ */
45
+ class AfterHooksStep implements PipelineStep {
46
+ private hooks;
47
+ name: string;
48
+ constructor(hooks: HookFn[]);
49
+ execute(input: any, context: PipelineContext): Promise<any>;
50
+ }
51
+ /**
52
+ * Validate step - runs validation rules on the target data
53
+ */
54
+ class ValidateStep implements PipelineStep {
55
+ private validators;
56
+ name: string;
57
+ constructor(validators: Array<{
58
+ path: string;
59
+ validator: ValidatorFn;
60
+ }>);
61
+ execute(input: any, context: PipelineContext): Promise<any>;
62
+ private getNestedValue;
63
+ }
64
+ /**
65
+ * Statistics step - calculates final conversion statistics
66
+ */
67
+ class StatisticsStep implements PipelineStep {
68
+ name: string;
69
+ execute(input: any, context: PipelineContext): Promise<any>;
70
+ private countFields;
71
+ private findUnmappedFields;
72
+ }
73
+ }
74
+ //# sourceMappingURL=PipelineSteps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineSteps.d.ts","sourceRoot":"","sources":["../../../src/core/pipeline/PipelineSteps.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,OAAO,EACP,WAAW,EACX,MAAM,EAKP,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,yBAAiB,aAAa,CAAC;IAC7B;;OAEG;IACH,MAAa,SAAU,YAAW,YAAY;QAC5C,IAAI,SAAW;QAET,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;KA6BlE;IAED;;OAEG;IACH,MAAa,eAAgB,YAAW,YAAY;QAGtC,OAAO,CAAC,KAAK;QAFzB,IAAI,SAAkB;oBAEF,KAAK,EAAE,MAAM,EAAE;QAE7B,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;KAkClE;IAED;;OAEG;IACH,MAAa,OAAQ,YAAW,YAAY;QAG9B,OAAO,CAAC,QAAQ;QAF5B,IAAI,SAAS;oBAEO,QAAQ,EAAE,OAAO,EAAE;QAEjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;KA0BlE;IAED;;OAEG;IACH,MAAa,YAAa,YAAW,YAAY;QAGnC,OAAO,CAAC,QAAQ;QAF5B,IAAI,SAAc;oBAEE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAE3C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;QA4BjE,OAAO,CAAC,cAAc;QAItB,OAAO,CAAC,cAAc;KAWvB;IAED;;OAEG;IACH,MAAa,cAAe,YAAW,YAAY;QAGrC,OAAO,CAAC,KAAK;QAFzB,IAAI,SAAiB;oBAED,KAAK,EAAE,MAAM,EAAE;QAE7B,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;KAkClE;IAED;;OAEG;IACH,MAAa,YAAa,YAAW,YAAY;QAI7C,OAAO,CAAC,UAAU;QAHpB,IAAI,SAAc;oBAGR,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,WAAW,CAAA;SAAE,CAAC;QAG/D,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;QAsCjE,OAAO,CAAC,cAAc;KAGvB;IAED;;OAEG;IACH,MAAa,cAAe,YAAW,YAAY;QACjD,IAAI,SAAgB;QAEd,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;QAiBjE,OAAO,CAAC,WAAW;QAcnB,OAAO,CAAC,kBAAkB;KAgC3B;CACF"}