@t4h.framework/transforms 0.2.9 → 0.2.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.
|
@@ -40,7 +40,7 @@ import { split, Split } from '@t4h.framework/fs'
|
|
|
40
40
|
import { request } from '@t4h.framework/http'
|
|
41
41
|
import { json } from '@t4h.framework/transforms'
|
|
42
42
|
|
|
43
|
-
const main = new Workflow(inputSchema, async ({ url }) => {
|
|
43
|
+
const main = new Workflow({ id: 'main', schema: inputSchema }, async ({ url }) => {
|
|
44
44
|
const response = await request({ url })
|
|
45
45
|
|
|
46
46
|
// { "registros": { "registro": [ {...}, {...} ] } }
|
|
@@ -81,9 +81,8 @@ Behaviors you can rely on:
|
|
|
81
81
|
- **Any element type.** Array elements may be objects, arrays or scalars;
|
|
82
82
|
each becomes one `JSON.stringify`'d line. An empty array yields an empty
|
|
83
83
|
(zero-line) file, which `split` resolves as an empty batch.
|
|
84
|
-
- **Fail-fast
|
|
85
|
-
|
|
86
|
-
`SyntaxError` on invalid JSON. There is no partial output.
|
|
84
|
+
- **Fail-fast.** `toNDJson()` rejects on a bad `path` or invalid JSON, with
|
|
85
|
+
no partial output.
|
|
87
86
|
|
|
88
87
|
## Limits
|
|
89
88
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @t4h.framework/transforms
|
|
2
2
|
|
|
3
|
+
## 0.2.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#241](https://github.com/tech4humans-brasil/framework/pull/241) [`f6b8454`](https://github.com/tech4humans-brasil/framework/commit/f6b845484d22e7c8e7240fe2e113f1cdea7c8ce3) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Adds seven rules to `@t4h.framework/core/eslint` and turns them on in `configs.recommended`:
|
|
8
|
+
- `no-io-in-workflow` reports `fetch` and calls to network, file, database and mail modules in a workflow and in the `constructor`, `toInput` and `toOutput` of an activity. It also reports `zlib` and `stream` calls there, because they work on the content in memory on each replay.
|
|
9
|
+
- `no-binary-subclass` reports a class that extends `Binary`.
|
|
10
|
+
- `no-framework-activity-in-app` reports `new` and `extends` on an activity of a framework package other than the core.
|
|
11
|
+
- `no-testing-import-in-source` reports an import of a `@t4h.framework/<package>/testing` entry out of a test file.
|
|
12
|
+
- `require-workflow-id` reports a `Workflow` with no `id`.
|
|
13
|
+
- `no-secret-to-string` reports a `Secret` that becomes a string.
|
|
14
|
+
- `no-literal-secret-in-authorization` reports a string literal in the `secret` or `clientSecret` field of an `Authorization`.
|
|
15
|
+
|
|
16
|
+
The package skills now name these rules in place of the text that the rules enforce. The docs and skills give each `Workflow` an `id`, read the HMAC secret from `EnvDesign`, and do not document a custom HTTP activity.
|
|
17
|
+
|
|
18
|
+
- [#240](https://github.com/tech4humans-brasil/framework/pull/240) [`0606115`](https://github.com/tech4humans-brasil/framework/commit/0606115e2e0baa994e9f0ed3559ee54ecac88e44) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - The skills do not repeat a rule that a lint rule, `tsc` or a runtime error already enforces. Each such rule is now one line that names the gate. The examples that broke a gate (`process.env`, `as any`, an inline secret, an `EnvDesign` in a workflow file, `ref.output` before `wait()`) are correct now.
|
|
19
|
+
|
|
20
|
+
## 0.2.10
|
|
21
|
+
|
|
3
22
|
## 0.2.9
|
|
4
23
|
|
|
5
24
|
## 0.2.8
|
|
@@ -27,6 +27,10 @@ export class JsonToNDJsonActivity extends SyncActivity {
|
|
|
27
27
|
return output;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
const BYTE_ORDER_MARK = 0xfeff;
|
|
31
|
+
function stripByteOrderMark(text) {
|
|
32
|
+
return text.charCodeAt(0) === BYTE_ORDER_MARK ? text.slice(1) : text;
|
|
33
|
+
}
|
|
30
34
|
async function* decode(source, encoding) {
|
|
31
35
|
const decoder = new StringDecoder(encoding);
|
|
32
36
|
let first = true;
|
|
@@ -34,9 +38,7 @@ async function* decode(source, encoding) {
|
|
|
34
38
|
let text = decoder.write(chunk);
|
|
35
39
|
if (first && text) {
|
|
36
40
|
first = false;
|
|
37
|
-
|
|
38
|
-
if (text.charCodeAt(0) === 0xfeff)
|
|
39
|
-
text = text.slice(1);
|
|
41
|
+
text = stripByteOrderMark(text);
|
|
40
42
|
}
|
|
41
43
|
if (text)
|
|
42
44
|
yield text;
|
|
@@ -45,6 +47,19 @@ async function* decode(source, encoding) {
|
|
|
45
47
|
if (rest)
|
|
46
48
|
yield rest;
|
|
47
49
|
}
|
|
50
|
+
function opensContainer(token) {
|
|
51
|
+
return token.name === 'startObject' || token.name === 'startArray';
|
|
52
|
+
}
|
|
53
|
+
function closesContainer(token) {
|
|
54
|
+
return token.name === 'endObject' || token.name === 'endArray';
|
|
55
|
+
}
|
|
56
|
+
function nestingDelta(token) {
|
|
57
|
+
if (opensContainer(token))
|
|
58
|
+
return 1;
|
|
59
|
+
if (closesContainer(token))
|
|
60
|
+
return -1;
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
48
63
|
function navigate(path) {
|
|
49
64
|
const segments = path ? path.split('.') : [];
|
|
50
65
|
let mode = 'root';
|
|
@@ -55,67 +70,72 @@ function navigate(path) {
|
|
|
55
70
|
? `Expected an array at "${path}" in the JSON document`
|
|
56
71
|
: 'Expected the JSON document root to be an array');
|
|
57
72
|
const unresolvable = (length) => new TypeError(`Could not resolve "${segments.slice(0, length).join('.')}" in the JSON document`);
|
|
73
|
+
const startForwarding = (token) => {
|
|
74
|
+
if (token.name !== 'startArray')
|
|
75
|
+
throw notArray();
|
|
76
|
+
mode = 'forward';
|
|
77
|
+
depth = 1;
|
|
78
|
+
return token;
|
|
79
|
+
};
|
|
80
|
+
const onRoot = (token) => {
|
|
81
|
+
if (segments.length === 0)
|
|
82
|
+
return startForwarding(token);
|
|
83
|
+
if (token.name !== 'startObject')
|
|
84
|
+
throw unresolvable(1);
|
|
85
|
+
mode = 'key';
|
|
86
|
+
return none;
|
|
87
|
+
};
|
|
88
|
+
const onKey = (token) => {
|
|
89
|
+
if (token.name === 'endObject')
|
|
90
|
+
throw index === segments.length - 1 ? notArray() : unresolvable(index + 2);
|
|
91
|
+
matches = token.name === 'keyValue' && token.value === segments[index];
|
|
92
|
+
mode = 'value';
|
|
93
|
+
return none;
|
|
94
|
+
};
|
|
95
|
+
const skipValue = (token) => {
|
|
96
|
+
if (!opensContainer(token)) {
|
|
97
|
+
mode = 'key';
|
|
98
|
+
return none;
|
|
99
|
+
}
|
|
100
|
+
mode = 'skip';
|
|
101
|
+
depth = 1;
|
|
102
|
+
return none;
|
|
103
|
+
};
|
|
104
|
+
const onValue = (token) => {
|
|
105
|
+
if (!matches)
|
|
106
|
+
return skipValue(token);
|
|
107
|
+
if (index === segments.length - 1)
|
|
108
|
+
return startForwarding(token);
|
|
109
|
+
if (token.name !== 'startObject')
|
|
110
|
+
throw unresolvable(index + 2);
|
|
111
|
+
index += 1;
|
|
112
|
+
mode = 'key';
|
|
113
|
+
return none;
|
|
114
|
+
};
|
|
115
|
+
const onSkip = (token) => {
|
|
116
|
+
depth += nestingDelta(token);
|
|
117
|
+
if (depth === 0)
|
|
118
|
+
mode = 'key';
|
|
119
|
+
return none;
|
|
120
|
+
};
|
|
121
|
+
const onForward = (token) => {
|
|
122
|
+
depth += nestingDelta(token);
|
|
123
|
+
if (depth === 0)
|
|
124
|
+
mode = 'done';
|
|
125
|
+
return token;
|
|
126
|
+
};
|
|
58
127
|
return token => {
|
|
59
128
|
switch (mode) {
|
|
60
129
|
case 'root':
|
|
61
|
-
|
|
62
|
-
if (token.name !== 'startArray')
|
|
63
|
-
throw notArray();
|
|
64
|
-
mode = 'forward';
|
|
65
|
-
depth = 1;
|
|
66
|
-
return token;
|
|
67
|
-
}
|
|
68
|
-
if (token.name !== 'startObject')
|
|
69
|
-
throw unresolvable(1);
|
|
70
|
-
mode = 'key';
|
|
71
|
-
return none;
|
|
130
|
+
return onRoot(token);
|
|
72
131
|
case 'key':
|
|
73
|
-
|
|
74
|
-
throw index === segments.length - 1
|
|
75
|
-
? notArray()
|
|
76
|
-
: unresolvable(index + 2);
|
|
77
|
-
matches = token.name === 'keyValue' && token.value === segments[index];
|
|
78
|
-
mode = 'value';
|
|
79
|
-
return none;
|
|
132
|
+
return onKey(token);
|
|
80
133
|
case 'value':
|
|
81
|
-
|
|
82
|
-
if (token.name === 'startObject' || token.name === 'startArray') {
|
|
83
|
-
mode = 'skip';
|
|
84
|
-
depth = 1;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
mode = 'key';
|
|
88
|
-
}
|
|
89
|
-
return none;
|
|
90
|
-
}
|
|
91
|
-
if (index === segments.length - 1) {
|
|
92
|
-
if (token.name !== 'startArray')
|
|
93
|
-
throw notArray();
|
|
94
|
-
mode = 'forward';
|
|
95
|
-
depth = 1;
|
|
96
|
-
return token;
|
|
97
|
-
}
|
|
98
|
-
if (token.name !== 'startObject')
|
|
99
|
-
throw unresolvable(index + 2);
|
|
100
|
-
index += 1;
|
|
101
|
-
mode = 'key';
|
|
102
|
-
return none;
|
|
134
|
+
return onValue(token);
|
|
103
135
|
case 'skip':
|
|
104
|
-
|
|
105
|
-
depth += 1;
|
|
106
|
-
else if (token.name === 'endObject' || token.name === 'endArray')
|
|
107
|
-
depth -= 1;
|
|
108
|
-
if (depth === 0)
|
|
109
|
-
mode = 'key';
|
|
110
|
-
return none;
|
|
136
|
+
return onSkip(token);
|
|
111
137
|
case 'forward':
|
|
112
|
-
|
|
113
|
-
depth += 1;
|
|
114
|
-
else if (token.name === 'endObject' || token.name === 'endArray')
|
|
115
|
-
depth -= 1;
|
|
116
|
-
if (depth === 0)
|
|
117
|
-
mode = 'done';
|
|
118
|
-
return token;
|
|
138
|
+
return onForward(token);
|
|
119
139
|
case 'done':
|
|
120
140
|
return none;
|
|
121
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonToNDJsonActivity.js","sourceRoot":"","sources":["../../src/activities/JsonToNDJsonActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAe,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAc,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EACL,WAAW,GAEZ,MAAM,uCAAuC,CAAA;AAS9C,MAAM,OAAO,oBAAqB,SAAQ,YAKzC;IACkB,MAAM,GAAG,IAAI,KAAK,CAAC;QAClC,EAAE,EAAE,eAAe;KACpB,CAAC,CAAA;IAEK,OAAO,CACZ,MAAc,EACd,OAAoB;QAEpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,EACf,MAAM,EACN,OAAO,GACmB;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAA;QAE3C,MAAM,OAAO,GAAG,KAAK,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACjD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,WAAW,EAAE;SACd,CAAC,CAAA;QAEF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAC/B,aAAa,IAAI,CAAC,EAAE,SAAS,EAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAChC,CAAA;IACH,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,MAAgB,EAAE,QAAwB;IAC/D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE3C,IAAI,KAAK,GAAG,IAAI,CAAA;IAEhB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;QAEzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"JsonToNDJsonActivity.js","sourceRoot":"","sources":["../../src/activities/JsonToNDJsonActivity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t4h.framework/transforms",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "Data transform activities for the T4H Framework",
|
|
5
5
|
"homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/transforms",
|
|
6
6
|
"bugs": "https://github.com/tech4humans-brasil/framework/issues",
|
|
@@ -26,14 +26,15 @@
|
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "tsc --project tsconfig.build.json",
|
|
28
28
|
"check-types": "tsc --noEmit",
|
|
29
|
-
"
|
|
29
|
+
"check-package": "publint --strict && attw --pack . --profile esm-only",
|
|
30
|
+
"lint": "eslint . --max-warnings 0",
|
|
30
31
|
"prepublishOnly": "yarn build",
|
|
31
32
|
"test": "vitest run",
|
|
32
33
|
"test:watch": "vitest"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
|
-
"@t4h.framework/core": "^0.
|
|
36
|
-
"@t4h.framework/fs": "^0.
|
|
36
|
+
"@t4h.framework/core": "^0.20.0",
|
|
37
|
+
"@t4h.framework/fs": "^0.13.1",
|
|
37
38
|
"typescript": "^5.9.3",
|
|
38
39
|
"vitest": "^4.0.18"
|
|
39
40
|
},
|