@lafken/state-machine 0.11.10 → 0.11.12

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.
@@ -705,6 +705,7 @@ interface MapReaderItemBase {
705
705
  }
706
706
  interface MapReaderJSONItem extends MapReaderItemBase {
707
707
  source: 'json' | 'jsonl' | 'manifest';
708
+ itemsPointer?: string;
708
709
  }
709
710
  interface MapReaderCSVItem extends MapReaderItemBase {
710
711
  source: 'csv';
@@ -180,6 +180,8 @@ class Schema {
180
180
  const mapTask = {
181
181
  Type: 'Map',
182
182
  Items: currentState.items,
183
+ ItemSelector: currentState.itemSelector,
184
+ MaxConcurrency: currentState.maxCurrency,
183
185
  ItemProcessor: itemProcessor,
184
186
  End: currentState.next !== undefined ? undefined : (currentState.end ?? true),
185
187
  Next: this.getNextState(currentState.next, currentState.end),
@@ -212,6 +214,10 @@ class Schema {
212
214
  currentState.itemReader.headers?.titles;
213
215
  readerConfig.ReaderConfig.MaxItems = currentState.itemReader.maxItems;
214
216
  }
217
+ else if (currentState.itemReader.source === 'json') {
218
+ readerConfig.ReaderConfig.ItemsPointer =
219
+ currentState.itemReader.itemsPointer;
220
+ }
215
221
  mapTask.ItemReader = readerConfig;
216
222
  }
217
223
  if (currentState.resultWriter) {
@@ -239,8 +245,7 @@ class Schema {
239
245
  mapTask.ToleratedFailureCount = currentState.toleratedFailureCount;
240
246
  }
241
247
  if (currentState.toleratedFailurePercentage) {
242
- mapTask.ToleratedFailurePercentage =
243
- currentState.toleratedFailurePercentage.toString();
248
+ mapTask.ToleratedFailurePercentage = currentState.toleratedFailurePercentage;
244
249
  }
245
250
  }
246
251
  this.states[stateName] = mapTask;
@@ -59,6 +59,7 @@ export interface ItemReader {
59
59
  ManifestType?: 'ATHENA_DATA' | 'S3_INVENTORY';
60
60
  CSVDelimiter?: CsvDelimiter;
61
61
  MaxItems?: number;
62
+ ItemsPointer?: string;
62
63
  };
63
64
  Arguments: {
64
65
  Bucket: string;
@@ -87,8 +88,9 @@ export interface MapTask {
87
88
  ResultWriter?: ResultWriter;
88
89
  ItemBatcher?: ItemBatcher;
89
90
  Items?: any[] | string;
91
+ ItemSelector?: string | Record<string, any>;
90
92
  MaxConcurrency?: number;
91
- ToleratedFailurePercentage?: string;
93
+ ToleratedFailurePercentage?: number | string;
92
94
  ToleratedFailureCount?: number;
93
95
  Output?: string | Record<string, any>;
94
96
  Assign?: Record<string, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lafken/state-machine",
3
- "version": "0.11.10",
3
+ "version": "0.11.12",
4
4
  "private": false,
5
5
  "description": "Build Step Functions workflows with TypeScript decorators - declarative orchestration with Lafken",
6
6
  "keywords": [
@@ -50,7 +50,7 @@
50
50
  ],
51
51
  "dependencies": {
52
52
  "reflect-metadata": "^0.2.2",
53
- "@lafken/resolver": "0.11.10"
53
+ "@lafken/resolver": "0.11.12"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@cdktn/provider-aws": "^23.9.0",
@@ -63,13 +63,13 @@
63
63
  "typescript": "6.0.3",
64
64
  "unplugin-swc": "^1.5.9",
65
65
  "vitest": "^4.1.5",
66
- "@lafken/common": "0.11.10"
66
+ "@lafken/common": "0.11.12"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "@cdktn/provider-aws": ">=23.0.0",
70
70
  "cdktn": ">=0.22.0",
71
71
  "constructs": "^10.4.5",
72
- "@lafken/common": "0.11.10"
72
+ "@lafken/common": "0.11.12"
73
73
  },
74
74
  "engines": {
75
75
  "node": ">=20.19"