@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.
Files changed (38) hide show
  1. package/README.md +3 -3
  2. package/lib/conditional/conditional-transformer.d.ts +16 -16
  3. package/lib/conditional/conditional-transformer.js +78 -78
  4. package/lib/conditional/index.d.ts +1 -1
  5. package/lib/conditional/index.js +17 -17
  6. package/lib/index.d.ts +7 -7
  7. package/lib/index.js +23 -23
  8. package/lib/map-file/index.d.ts +1 -1
  9. package/lib/map-file/index.js +17 -17
  10. package/lib/map-file/map-file-util-spec-mockData.js +208 -208
  11. package/lib/map-file/map-file-util.d.ts +18 -18
  12. package/lib/map-file/map-file-util.js +136 -136
  13. package/lib/morph/index.d.ts +1 -1
  14. package/lib/morph/index.js +17 -17
  15. package/lib/morph/morph-transformer.d.ts +4 -4
  16. package/lib/morph/morph-transformer.js +16 -16
  17. package/lib/processor/index.d.ts +2 -2
  18. package/lib/processor/index.js +18 -18
  19. package/lib/processor/process-interfaces.d.ts +19 -19
  20. package/lib/processor/process-interfaces.js +11 -11
  21. package/lib/processor/transform-processor.d.ts +4 -4
  22. package/lib/processor/transform-processor.js +33 -33
  23. package/lib/rekey/index.d.ts +1 -1
  24. package/lib/rekey/index.js +17 -17
  25. package/lib/rekey/rekey-transformer.d.ts +7 -5
  26. package/lib/rekey/rekey-transformer.js +84 -87
  27. package/lib/remove/index.d.ts +1 -1
  28. package/lib/remove/index.js +17 -17
  29. package/lib/remove/remove-transformer.d.ts +4 -4
  30. package/lib/remove/remove-transformer.js +16 -16
  31. package/lib/value-function/index.d.ts +1 -1
  32. package/lib/value-function/index.js +17 -17
  33. package/lib/value-function/value-function-transformer.d.ts +4 -4
  34. package/lib/value-function/value-function-transformer.js +16 -16
  35. package/package.json +1 -1
  36. package/.npmrc.bak +0 -1
  37. package/.prettierrc.bak +0 -4
  38. 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 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;
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;
@@ -1 +1 @@
1
- export * from './remove-transformer';
1
+ export * from './remove-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("./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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/transform-data",
3
- "version": "1.2.0-alpha.0",
3
+ "version": "1.2.0",
4
4
  "description": "Libraries for transforming data",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
package/.npmrc.bak DELETED
@@ -1 +0,0 @@
1
- //registry.npmjs.org/:_authToken=${NPM_TOKEN}
package/.prettierrc.bak DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "printWidth": 120,
3
- "singleQuote": true
4
- }
package/.prettierrc.yaml DELETED
@@ -1,2 +0,0 @@
1
- singleQuote: true
2
- printWidth: 120