@contrail/transform-data 1.1.4 → 1.2.0-alpha.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/.npmrc.bak +1 -0
- package/.prettierrc.bak +4 -0
- package/.prettierrc.yaml +2 -0
- 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 -135
- 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 -18
- 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 +5 -4
- package/lib/rekey/rekey-transformer.js +87 -26
- 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
|
@@ -1,26 +1,87 @@
|
|
|
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) {
|
|
6
|
-
for (const row of csvJSON) {
|
|
7
|
-
RekeyTransformer.transformObject(row, federatedMappings, deleteOldKey, rekeyKeepMissingValues);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
static transformObject(row, federatedMappings, deleteOldKey = false, rekeyKeepMissingValues = false) {
|
|
11
|
-
const keys = Object.keys(row);
|
|
12
|
-
for (const [newKey, oldKey] of Object.entries(federatedMappings)) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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 keys = Object.keys(row);
|
|
12
|
+
for (const [newKey, oldKey] of Object.entries(federatedMappings)) {
|
|
13
|
+
const newKeyParts = RekeyTransformer.parseKeyParts(newKey, nestedDelimiter);
|
|
14
|
+
let oldValue = undefined;
|
|
15
|
+
let oldKeyExists = true;
|
|
16
|
+
if (nestedDelimiter && oldKey.includes(nestedDelimiter)) {
|
|
17
|
+
const oldKeyParts = RekeyTransformer.parseKeyParts(oldKey, nestedDelimiter);
|
|
18
|
+
let current = row;
|
|
19
|
+
for (let i = 0; i < oldKeyParts.length; i++) {
|
|
20
|
+
if (i === 0) {
|
|
21
|
+
if (!keys.includes(oldKeyParts[i])) {
|
|
22
|
+
oldKeyExists = false;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
current = current[oldKeyParts[i]];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (current == null || typeof current !== 'object' || !(oldKeyParts[i] in current)) {
|
|
29
|
+
oldKeyExists = false;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
current = current[oldKeyParts[i]];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (oldKeyExists) {
|
|
36
|
+
oldValue = current;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
oldKeyExists = keys.includes(oldKey);
|
|
41
|
+
oldValue = row[oldKey];
|
|
42
|
+
}
|
|
43
|
+
if (rekeyKeepMissingValues || oldKeyExists) {
|
|
44
|
+
let current = row;
|
|
45
|
+
for (let i = 0; i < newKeyParts.length - 1; i++) {
|
|
46
|
+
if (current[newKeyParts[i]] == null || typeof current[newKeyParts[i]] !== 'object') {
|
|
47
|
+
current[newKeyParts[i]] = {};
|
|
48
|
+
}
|
|
49
|
+
current = current[newKeyParts[i]];
|
|
50
|
+
}
|
|
51
|
+
const finalKey = newKeyParts[newKeyParts.length - 1];
|
|
52
|
+
if (!(finalKey in current)) {
|
|
53
|
+
current[finalKey] = oldValue;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (deleteOldKey) {
|
|
58
|
+
for (const oldKey of Object.values(federatedMappings)) {
|
|
59
|
+
if (nestedDelimiter && oldKey.includes(nestedDelimiter)) {
|
|
60
|
+
const oldKeyParts = RekeyTransformer.parseKeyParts(oldKey, nestedDelimiter);
|
|
61
|
+
let current = row;
|
|
62
|
+
for (let i = 0; i < oldKeyParts.length - 1; i++) {
|
|
63
|
+
if (current == null || typeof current !== 'object' || !(oldKeyParts[i] in current)) {
|
|
64
|
+
current = null;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
current = current[oldKeyParts[i]];
|
|
68
|
+
}
|
|
69
|
+
if (current && oldKeyParts[oldKeyParts.length - 1] in current) {
|
|
70
|
+
delete current[oldKeyParts[oldKeyParts.length - 1]];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
delete row[oldKey];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
static parseKeyParts(key, nestedDelimiter) {
|
|
80
|
+
if (!nestedDelimiter || !key.includes(nestedDelimiter)) {
|
|
81
|
+
return [key];
|
|
82
|
+
}
|
|
83
|
+
const parts = key.split(nestedDelimiter);
|
|
84
|
+
return parts;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
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;
|