@contrail/transform-data 1.2.0-alpha.0 → 1.2.0
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/README.md +3 -3
- package/lib/conditional/conditional-transformer.d.ts +16 -16
- package/lib/conditional/conditional-transformer.js +78 -78
- package/lib/conditional/index.d.ts +1 -1
- package/lib/conditional/index.js +17 -17
- package/lib/index.d.ts +7 -7
- package/lib/index.js +23 -23
- package/lib/map-file/index.d.ts +1 -1
- package/lib/map-file/index.js +17 -17
- package/lib/map-file/map-file-util-spec-mockData.js +208 -208
- package/lib/map-file/map-file-util.d.ts +18 -18
- package/lib/map-file/map-file-util.js +136 -136
- package/lib/morph/index.d.ts +1 -1
- package/lib/morph/index.js +17 -17
- package/lib/morph/morph-transformer.d.ts +4 -4
- package/lib/morph/morph-transformer.js +16 -16
- package/lib/processor/index.d.ts +2 -2
- package/lib/processor/index.js +18 -18
- package/lib/processor/process-interfaces.d.ts +19 -19
- package/lib/processor/process-interfaces.js +11 -11
- package/lib/processor/transform-processor.d.ts +4 -4
- package/lib/processor/transform-processor.js +33 -33
- package/lib/rekey/index.d.ts +1 -1
- package/lib/rekey/index.js +17 -17
- package/lib/rekey/rekey-transformer.d.ts +7 -5
- package/lib/rekey/rekey-transformer.js +84 -87
- package/lib/remove/index.d.ts +1 -1
- package/lib/remove/index.js +17 -17
- package/lib/remove/remove-transformer.d.ts +4 -4
- package/lib/remove/remove-transformer.js +16 -16
- package/lib/value-function/index.d.ts +1 -1
- package/lib/value-function/index.js +17 -17
- package/lib/value-function/value-function-transformer.d.ts +4 -4
- package/lib/value-function/value-function-transformer.js +16 -16
- package/package.json +1 -1
- package/.npmrc.bak +0 -1
- package/.prettierrc.bak +0 -4
- package/.prettierrc.yaml +0 -2
|
@@ -1,87 +1,84 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RekeyTransformer = void 0;
|
|
4
|
-
class RekeyTransformer {
|
|
5
|
-
static transformData(csvJSON, federatedMappings, deleteOldKey = false, rekeyKeepMissingValues = false, nestedDelimiter = undefined) {
|
|
6
|
-
for (const row of csvJSON) {
|
|
7
|
-
RekeyTransformer.transformObject(row, federatedMappings, deleteOldKey, rekeyKeepMissingValues, nestedDelimiter);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
static transformObject(row, federatedMappings, deleteOldKey = false, rekeyKeepMissingValues = false, nestedDelimiter = undefined) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
current
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.RekeyTransformer = RekeyTransformer;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RekeyTransformer = void 0;
|
|
4
|
+
class RekeyTransformer {
|
|
5
|
+
static transformData(csvJSON, federatedMappings, deleteOldKey = false, rekeyKeepMissingValues = false, nestedDelimiter = undefined) {
|
|
6
|
+
for (const row of csvJSON) {
|
|
7
|
+
RekeyTransformer.transformObject(row, federatedMappings, deleteOldKey, rekeyKeepMissingValues, nestedDelimiter);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
static transformObject(row, federatedMappings, deleteOldKey = false, rekeyKeepMissingValues = false, nestedDelimiter = undefined) {
|
|
11
|
+
for (const [newKey, oldKey] of Object.entries(federatedMappings)) {
|
|
12
|
+
const newKeyParts = RekeyTransformer.parseKeyParts(newKey, nestedDelimiter);
|
|
13
|
+
const oldKeyParts = RekeyTransformer.parseKeyParts(oldKey, nestedDelimiter);
|
|
14
|
+
const { value: oldValue, isExistingPath: doesOldKeyExist } = RekeyTransformer.getValueAtPath({
|
|
15
|
+
obj: row,
|
|
16
|
+
pathParts: oldKeyParts,
|
|
17
|
+
nestedDelimiter,
|
|
18
|
+
});
|
|
19
|
+
if (doesOldKeyExist) {
|
|
20
|
+
RekeyTransformer.setValueAtPath({ obj: row, pathParts: newKeyParts, value: oldValue });
|
|
21
|
+
}
|
|
22
|
+
else if (rekeyKeepMissingValues) {
|
|
23
|
+
RekeyTransformer.setValueAtPath({ obj: row, pathParts: newKeyParts, value: undefined });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (deleteOldKey) {
|
|
27
|
+
for (const oldKey of Object.values(federatedMappings)) {
|
|
28
|
+
if (nestedDelimiter && oldKey.includes(nestedDelimiter)) {
|
|
29
|
+
const oldKeyParts = RekeyTransformer.parseKeyParts(oldKey, nestedDelimiter);
|
|
30
|
+
let current = row;
|
|
31
|
+
for (let i = 0; i < oldKeyParts.length - 1; i++) {
|
|
32
|
+
if (current == null || typeof current !== 'object' || !(oldKeyParts[i] in current)) {
|
|
33
|
+
current = null;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
current = current[oldKeyParts[i]];
|
|
37
|
+
}
|
|
38
|
+
if (current && oldKeyParts[oldKeyParts.length - 1] in current) {
|
|
39
|
+
delete current[oldKeyParts[oldKeyParts.length - 1]];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
delete row[oldKey];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static parseKeyParts(key, nestedDelimiter) {
|
|
49
|
+
if (!nestedDelimiter || !key.includes(nestedDelimiter)) {
|
|
50
|
+
return [key];
|
|
51
|
+
}
|
|
52
|
+
const parts = key.split(nestedDelimiter);
|
|
53
|
+
return parts;
|
|
54
|
+
}
|
|
55
|
+
static setValueAtPath({ obj, pathParts, value, }) {
|
|
56
|
+
let current = obj;
|
|
57
|
+
for (let i = 0; i < pathParts.length - 1; i++) {
|
|
58
|
+
const key = pathParts[i];
|
|
59
|
+
if (current[key] == null || typeof current[key] !== 'object') {
|
|
60
|
+
current[key] = {};
|
|
61
|
+
}
|
|
62
|
+
current = current[key];
|
|
63
|
+
}
|
|
64
|
+
const finalKey = pathParts[pathParts.length - 1];
|
|
65
|
+
if (!Object.prototype.hasOwnProperty.call(current, finalKey)) {
|
|
66
|
+
current[finalKey] = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
static getValueAtPath({ obj, pathParts, nestedDelimiter, }) {
|
|
70
|
+
if (!nestedDelimiter || pathParts.length === 1) {
|
|
71
|
+
const propertyKey = pathParts[0];
|
|
72
|
+
return { value: obj[propertyKey], isExistingPath: obj.hasOwnProperty(propertyKey) };
|
|
73
|
+
}
|
|
74
|
+
let current = obj;
|
|
75
|
+
for (const key of pathParts) {
|
|
76
|
+
if (current == null || typeof current !== 'object' || !Object.prototype.hasOwnProperty.call(current, key)) {
|
|
77
|
+
return { value: undefined, isExistingPath: false };
|
|
78
|
+
}
|
|
79
|
+
current = current[key];
|
|
80
|
+
}
|
|
81
|
+
return { value: current, isExistingPath: true };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.RekeyTransformer = RekeyTransformer;
|
package/lib/remove/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './remove-transformer';
|
|
1
|
+
export * from './remove-transformer';
|
package/lib/remove/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./remove-transformer"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./remove-transformer"), exports);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare class RemoveTransformer {
|
|
2
|
-
static transformData(rows: any[], keys: string[]): void;
|
|
3
|
-
static transformObject(row: any, keys: string[]): void;
|
|
4
|
-
}
|
|
1
|
+
export declare class RemoveTransformer {
|
|
2
|
+
static transformData(rows: any[], keys: string[]): void;
|
|
3
|
+
static transformObject(row: any, keys: string[]): void;
|
|
4
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RemoveTransformer = void 0;
|
|
4
|
-
class RemoveTransformer {
|
|
5
|
-
static transformData(rows, keys) {
|
|
6
|
-
for (const row of rows) {
|
|
7
|
-
RemoveTransformer.transformObject(row, keys);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
static transformObject(row, keys) {
|
|
11
|
-
for (const key of keys) {
|
|
12
|
-
delete row[key];
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.RemoveTransformer = RemoveTransformer;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveTransformer = void 0;
|
|
4
|
+
class RemoveTransformer {
|
|
5
|
+
static transformData(rows, keys) {
|
|
6
|
+
for (const row of rows) {
|
|
7
|
+
RemoveTransformer.transformObject(row, keys);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
static transformObject(row, keys) {
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
delete row[key];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.RemoveTransformer = RemoveTransformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './value-function-transformer';
|
|
1
|
+
export * from './value-function-transformer';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./value-function-transformer"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./value-function-transformer"), exports);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare class ValueFunctionTransformer {
|
|
2
|
-
static transformData(rows: any[], transformFunctions: Record<string, Function>, dependencies: Record<string, any>): void;
|
|
3
|
-
static transformObject(row: any, transformFunctions: Record<string, Function>, dependencies: Record<string, any>): void;
|
|
4
|
-
}
|
|
1
|
+
export declare class ValueFunctionTransformer {
|
|
2
|
+
static transformData(rows: any[], transformFunctions: Record<string, Function>, dependencies: Record<string, any>): void;
|
|
3
|
+
static transformObject(row: any, transformFunctions: Record<string, Function>, dependencies: Record<string, any>): void;
|
|
4
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValueFunctionTransformer = void 0;
|
|
4
|
-
class ValueFunctionTransformer {
|
|
5
|
-
static transformData(rows, transformFunctions, dependencies) {
|
|
6
|
-
for (const row of rows) {
|
|
7
|
-
ValueFunctionTransformer.transformObject(row, transformFunctions, dependencies);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
static transformObject(row, transformFunctions, dependencies) {
|
|
11
|
-
for (const [key, fun] of Object.entries(transformFunctions)) {
|
|
12
|
-
row[key] = fun(row, dependencies);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.ValueFunctionTransformer = ValueFunctionTransformer;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValueFunctionTransformer = void 0;
|
|
4
|
+
class ValueFunctionTransformer {
|
|
5
|
+
static transformData(rows, transformFunctions, dependencies) {
|
|
6
|
+
for (const row of rows) {
|
|
7
|
+
ValueFunctionTransformer.transformObject(row, transformFunctions, dependencies);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
static transformObject(row, transformFunctions, dependencies) {
|
|
11
|
+
for (const [key, fun] of Object.entries(transformFunctions)) {
|
|
12
|
+
row[key] = fun(row, dependencies);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ValueFunctionTransformer = ValueFunctionTransformer;
|
package/package.json
CHANGED
package/.npmrc.bak
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
|
package/.prettierrc.bak
DELETED
package/.prettierrc.yaml
DELETED