@grnsft/if 0.2.1 → 0.3.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/.commitlintrc.js +4 -7
- package/README.md +5 -1
- package/Refactor-migration-guide.md +342 -0
- package/build/{models/export-csv.d.ts → builtins/export-csv-raw.d.ts} +1 -1
- package/build/builtins/export-csv-raw.js +129 -0
- package/build/builtins/export-csv.d.ts +10 -0
- package/build/builtins/export-csv.js +83 -0
- package/build/builtins/export-log.js +18 -0
- package/build/builtins/export-yaml.js +27 -0
- package/build/builtins/group-by.d.ts +5 -0
- package/build/builtins/group-by.js +56 -0
- package/build/{models → builtins}/index.js +1 -1
- package/build/{models → builtins}/time-sync.d.ts +2 -2
- package/build/builtins/time-sync.js +304 -0
- package/build/config/config.js +2 -2
- package/build/config/params.js +56 -1
- package/build/config/strings.d.ts +4 -2
- package/build/config/strings.js +7 -9
- package/build/index.js +3 -1
- package/build/lib/aggregate.d.ts +1 -1
- package/build/lib/aggregate.js +4 -3
- package/build/lib/compute.js +9 -10
- package/build/lib/exhaust.js +8 -5
- package/build/lib/initialize.d.ts +2 -2
- package/build/lib/initialize.js +9 -5
- package/build/lib/load.d.ts +33 -2
- package/build/lib/load.js +4 -4
- package/build/lib/parameterize.d.ts +1 -1
- package/build/lib/parameterize.js +6 -4
- package/build/types/aggregation.d.ts +0 -1
- package/build/types/aggregation.js +1 -1
- package/build/types/compute.d.ts +3 -3
- package/build/types/compute.js +1 -1
- package/build/types/interface.d.ts +14 -1
- package/build/types/interface.js +6 -1
- package/build/types/manifest.d.ts +9 -40
- package/build/types/manifest.js +1 -1
- package/build/types/parameters.d.ts +2 -12
- package/build/types/parameters.js +1 -1
- package/build/types/plugin-storage.d.ts +6 -0
- package/build/types/plugin-storage.js +3 -0
- package/build/util/aggregation-helper.d.ts +1 -1
- package/build/util/aggregation-helper.js +11 -12
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +2 -2
- package/build/util/json.js +25 -5
- package/build/util/log-memoize.d.ts +3 -0
- package/build/util/log-memoize.js +19 -0
- package/build/util/logger.d.ts +1 -1
- package/build/util/logger.js +2 -3
- package/build/util/plugin-storage.d.ts +14 -0
- package/build/util/plugin-storage.js +34 -0
- package/build/util/validations.d.ts +144 -11
- package/build/util/validations.js +19 -17
- package/examples/manifests/asim-demo.yml +74 -0
- package/examples/manifests/basic-demo.yml +4 -9
- package/examples/manifests/boavizta-cloud.yml +20 -0
- package/examples/manifests/cim.yml +3 -3
- package/examples/manifests/divide.yml +38 -0
- package/examples/manifests/generics.yml +4 -4
- package/examples/manifests/group-by.yml +13 -13
- package/examples/manifests/mock-observation.yml +2 -2
- package/examples/manifests/nesting-demo.yml +2 -2
- package/examples/manifests/nesting.yml +16 -16
- package/examples/manifests/pipeline-demo-1.yml +4 -4
- package/examples/manifests/pipeline-demo-2.yml +9 -9
- package/examples/manifests/pipeline-demo.yml +10 -10
- package/examples/manifests/pipeline-teads-sci.yml +4 -4
- package/examples/manifests/pipeline-with-generics.yml +8 -8
- package/examples/manifests/pipeline-with-mocks.yml +10 -10
- package/examples/manifests/regex.yml +23 -0
- package/package.json +6 -3
- package/src/builtins/README.md +852 -0
- package/build/models/export-csv.js +0 -129
- package/build/models/export-log.js +0 -18
- package/build/models/export-yaml.js +0 -24
- package/build/models/group-by.d.ts +0 -11
- package/build/models/group-by.js +0 -56
- package/build/models/time-sync.js +0 -304
- package/build/types/initialize.d.ts +0 -4
- package/build/types/initialize.js +0 -3
- package/build/types/load.d.ts +0 -7
- package/build/types/load.js +0 -3
- package/src/models/README.md +0 -268
- /package/build/{models → builtins}/export-log.d.ts +0 -0
- /package/build/{models → builtins}/export-yaml.d.ts +0 -0
- /package/build/{models → builtins}/index.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ManifestParameter } from '../types/
|
|
1
|
+
import { ManifestParameter } from '../types/manifest';
|
|
2
2
|
export declare const STRINGS: {
|
|
3
3
|
FILE_IS_NOT_YAML: string;
|
|
4
4
|
MANIFEST_IS_MISSING: string;
|
|
@@ -7,7 +7,7 @@ export declare const STRINGS: {
|
|
|
7
7
|
UNSUPPORTED_PLUGIN: string;
|
|
8
8
|
OVERRIDE_WARNING: string;
|
|
9
9
|
DISCLAIMER_MESSAGE: string;
|
|
10
|
-
NOT_NATIVE_PLUGIN: string;
|
|
10
|
+
NOT_NATIVE_PLUGIN: (path: string) => string;
|
|
11
11
|
SOMETHING_WRONG: string;
|
|
12
12
|
ISSUE_TEMPLATE: string;
|
|
13
13
|
INVALID_MODULE_PATH: (path: string) => string;
|
|
@@ -22,4 +22,6 @@ export declare const STRINGS: {
|
|
|
22
22
|
INVALID_GROUP_BY: (type: string) => string;
|
|
23
23
|
REJECTING_OVERRIDE: (param: ManifestParameter) => string;
|
|
24
24
|
INVALID_EXHAUST_PLUGIN: (pluginName: string) => string;
|
|
25
|
+
UNKNOWN_PARAM: (name: string) => string;
|
|
26
|
+
NOT_INITALIZED_PLUGIN: (name: string) => string;
|
|
25
27
|
};
|
package/build/config/strings.js
CHANGED
|
@@ -12,19 +12,15 @@ exports.STRINGS = {
|
|
|
12
12
|
[!important] Incubation Project
|
|
13
13
|
|
|
14
14
|
This project is an incubation project being run inside the Green Software Foundation; as such, we DON’T recommend using it in any critical use case.
|
|
15
|
-
Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
[!important]
|
|
19
|
-
|
|
20
|
-
You are using plugins that are not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.
|
|
21
|
-
`,
|
|
15
|
+
Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed.`,
|
|
16
|
+
NOT_NATIVE_PLUGIN: (path) => `
|
|
17
|
+
[!important] You are using plugin ${path} which is not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.`,
|
|
22
18
|
SOMETHING_WRONG: 'Something wrong with cli arguments. Please check docs.',
|
|
23
19
|
ISSUE_TEMPLATE: `
|
|
24
20
|
Impact Framework is an alpha release from the Green Software Foundation and is released to capture early feedback. If you'd like to offer some feedback, please use this issue template:
|
|
25
21
|
https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+
|
|
26
22
|
`,
|
|
27
|
-
INVALID_MODULE_PATH: (path) => `Provided module
|
|
23
|
+
INVALID_MODULE_PATH: (path) => `Provided module: '${path}' is invalid or not found.`,
|
|
28
24
|
INVALID_TIME_NORMALIZATION: 'Start time or end time is missing.',
|
|
29
25
|
UNEXPECTED_TIME_CONFIG: 'Unexpected node-level config provided for time-sync plugin.',
|
|
30
26
|
INVALID_TIME_INTERVAL: 'Interval is missing.',
|
|
@@ -36,5 +32,7 @@ https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=fee
|
|
|
36
32
|
INVALID_GROUP_BY: (type) => `Invalid group ${type}.`,
|
|
37
33
|
REJECTING_OVERRIDE: (param) => `Rejecting overriding of canonical parameter: ${param.name}.`,
|
|
38
34
|
INVALID_EXHAUST_PLUGIN: (pluginName) => `Invalid exhaust plugin: ${pluginName}.`,
|
|
35
|
+
UNKNOWN_PARAM: (name) => `Unknown parameter: ${name}. Using 'sum' aggregation method.`,
|
|
36
|
+
NOT_INITALIZED_PLUGIN: (name) => `Not initalized plugin: ${name}. Check if ${name} is in 'manifest.initalize.plugins'.`,
|
|
39
37
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQztvQ0FDZ0MsSUFBSSxzTEFBc0w7SUFDNU4sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7OztDQUdqQjtJQUNDLG1CQUFtQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDcEMscUJBQXFCLElBQUksNEJBQTRCO0lBQ3ZELDBCQUEwQixFQUFFLG9DQUFvQztJQUNoRSxzQkFBc0IsRUFDcEIsNkRBQTZEO0lBQy9ELHFCQUFxQixFQUFFLHNCQUFzQjtJQUM3QyxnQkFBZ0IsRUFBRSxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUN4Qyx1QkFBdUIsV0FBVyxFQUFFO0lBQ3RDLHlCQUF5QixFQUFFLENBQUMsS0FBYyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQzFELHVCQUNFLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQ3JELEVBQUU7SUFDSiwyQkFBMkIsRUFBRSxpQ0FBaUM7SUFDOUQsMEJBQTBCLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3Qyx5Q0FBeUMsTUFBTSwwQkFBMEI7SUFDM0UsY0FBYyxFQUFFLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hELHNCQUFzQixNQUFNLDJCQUEyQixLQUFLLElBQUk7SUFDbEUsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixJQUFJLEdBQUc7SUFDNUQsa0JBQWtCLEVBQUUsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FDL0MsZ0RBQWdELEtBQUssQ0FBQyxJQUFJLEdBQUc7SUFDL0Qsc0JBQXNCLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FDN0MsMkJBQTJCLFVBQVUsR0FBRztJQUMxQyxhQUFhLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM5QixzQkFBc0IsSUFBSSxtQ0FBbUM7SUFDL0QscUJBQXFCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUN0QywwQkFBMEIsSUFBSSxjQUFjLElBQUksc0NBQXNDO0NBQ3pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5cbmV4cG9ydCBjb25zdCBTVFJJTkdTID0ge1xuICBGSUxFX0lTX05PVF9ZQU1MOiAnUHJvdmlkZWQgbWFuaWZlc3QgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIFVOU1VQUE9SVEVEX1BMVUdJTjpcbiAgICBcIlBsdWdpbiBpbnRlcmZhY2UgZG9lc24ndCBpbXBsZW1lbnQgJ2V4ZWN1dGUnIG9yICdtZXRhZGF0YScgbWV0aG9kcy5cIixcbiAgT1ZFUlJJREVfV0FSTklORzpcbiAgICAnXFxuKipXQVJOSU5HKio6IFlvdSBhcmUgb3ZlcnJpZGluZyB0aGUgSUYgZGVmYXVsdCBwYXJhbWV0ZXJzIGZpbGUuIFBsZWFzZSBiZSBleHRyZW1lbHkgY2FyZWZ1bCBvZiB1bmludGVuZGVkIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHBsdWdpbiBwaXBlbGluZSFcXG4nLFxuICBESVNDTEFJTUVSX01FU1NBR0U6IGBcblshaW1wb3J0YW50XSBJbmN1YmF0aW9uIFByb2plY3RcblxuVGhpcyBwcm9qZWN0IGlzIGFuIGluY3ViYXRpb24gcHJvamVjdCBiZWluZyBydW4gaW5zaWRlIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBhcyBzdWNoLCB3ZSBET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5gLFxuICBOT1RfTkFUSVZFX1BMVUdJTjogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgXG5bIWltcG9ydGFudF0gWW91IGFyZSB1c2luZyBwbHVnaW4gJHtwYXRofSB3aGljaCBpcyBub3QgcGFydCBvZiB0aGUgSW1wYWN0IEZyYW1ld29yayBzdGFuZGFyZCBsaWJyYXJ5LiBZb3Ugc2hvdWxkIGRvIHlvdXIgb3duIHJlc2VhcmNoIHRvIGVuc3VyZSB0aGUgcGx1Z2lucyBhcmUgdXAgdG8gZGF0ZSBhbmQgYWNjdXJhdGUuIFRoZXkgbWF5IG5vdCBiZSBhY3RpdmVseSBtYWludGFpbmVkLmAsXG4gIFNPTUVUSElOR19XUk9ORzogJ1NvbWV0aGluZyB3cm9uZyB3aXRoIGNsaSBhcmd1bWVudHMuIFBsZWFzZSBjaGVjayBkb2NzLicsXG4gIElTU1VFX1RFTVBMQVRFOiBgXG5JbXBhY3QgRnJhbWV3b3JrIGlzIGFuIGFscGhhIHJlbGVhc2UgZnJvbSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbiBhbmQgaXMgcmVsZWFzZWQgdG8gY2FwdHVyZSBlYXJseSBmZWVkYmFjay4gSWYgeW91J2QgbGlrZSB0byBvZmZlciBzb21lIGZlZWRiYWNrLCBwbGVhc2UgdXNlIHRoaXMgaXNzdWUgdGVtcGxhdGU6IFxuaHR0cHM6Ly9naXRodWIuY29tL0dyZWVuLVNvZnR3YXJlLUZvdW5kYXRpb24vaWYvaXNzdWVzL25ldz9hc3NpZ25lZXM9JmxhYmVscz1mZWVkYmFjayZwcm9qZWN0cz0mdGVtcGxhdGU9ZmVlZGJhY2subWQmdGl0bGU9RmVlZGJhY2srLStcbmAsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZTogJyR7cGF0aH0nIGlzIGludmFsaWQgb3Igbm90IGZvdW5kLmAsXG4gIElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OOiAnU3RhcnQgdGltZSBvciBlbmQgdGltZSBpcyBtaXNzaW5nLicsXG4gIFVORVhQRUNURURfVElNRV9DT05GSUc6XG4gICAgJ1VuZXhwZWN0ZWQgbm9kZS1sZXZlbCBjb25maWcgcHJvdmlkZWQgZm9yIHRpbWUtc3luYyBwbHVnaW4uJyxcbiAgSU5WQUxJRF9USU1FX0lOVEVSVkFMOiAnSW50ZXJ2YWwgaXMgbWlzc2luZy4nLFxuICBBVk9JRElOR19QQURESU5HOiAoZGVzY3JpcHRpb246IHN0cmluZykgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke2Rlc2NyaXB0aW9ufWAsXG4gIEFWT0lESU5HX1BBRERJTkdfQllfRURHRVM6IChzdGFydDogYm9vbGVhbiwgZW5kOiBib29sZWFuKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7XG4gICAgICBzdGFydCAmJiBlbmQgPyAnc3RhcnQgYW5kIGVuZCcgOiBzdGFydCA/ICdzdGFydCcgOiAnZW5kJ1xuICAgIH1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6ICdPYnNlcnZhdGlvbiB0aW1lc3RhbXBzIG92ZXJsYXAuJyxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG59O1xuIl19
|
package/build/index.js
CHANGED
|
@@ -12,6 +12,7 @@ const errors_1 = require("./util/errors");
|
|
|
12
12
|
const helpers_1 = require("./util/helpers");
|
|
13
13
|
const logger_1 = require("./util/logger");
|
|
14
14
|
const config_1 = require("./config");
|
|
15
|
+
const packageJson = require('../package.json');
|
|
15
16
|
const { CliInputError } = errors_1.ERRORS;
|
|
16
17
|
const { DISCLAIMER_MESSAGE, SOMETHING_WRONG } = config_1.STRINGS;
|
|
17
18
|
const impactEngine = async () => {
|
|
@@ -24,10 +25,11 @@ const impactEngine = async () => {
|
|
|
24
25
|
const plugins = await (0, initialize_1.initalize)(context.initialize.plugins);
|
|
25
26
|
const computedTree = await (0, compute_1.compute)(tree, { context, plugins });
|
|
26
27
|
const aggregatedTree = (0, aggregate_1.aggregate)(computedTree, context.aggregation);
|
|
28
|
+
context['if-version'] = packageJson.version;
|
|
27
29
|
(0, exhaust_1.exhaust)(aggregatedTree, context, outputPath);
|
|
28
30
|
return;
|
|
29
31
|
}
|
|
30
32
|
return Promise.reject(new CliInputError(SOMETHING_WRONG));
|
|
31
33
|
};
|
|
32
34
|
impactEngine().catch(helpers_1.andHandle);
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QywyQ0FBc0M7QUFDdEMsaURBQTJDO0FBQzNDLHFDQUFnQztBQUNoQyxxREFBZ0Q7QUFFaEQsc0NBQXNDO0FBQ3RDLDBDQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBRXJDLHFDQUFpQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUUvQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRELE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzlCLGVBQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVuRCxNQUFNLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFN0MsT0FBTztLQUNSO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7YWdncmVnYXRlfSBmcm9tICcuL2xpYi9hZ2dyZWdhdGUnO1xuaW1wb3J0IHtjb21wdXRlfSBmcm9tICcuL2xpYi9jb21wdXRlJztcbmltcG9ydCB7ZXhoYXVzdH0gZnJvbSAnLi9saWIvZXhoYXVzdCc7XG5pbXBvcnQge2luaXRhbGl6ZX0gZnJvbSAnLi9saWIvaW5pdGlhbGl6ZSc7XG5pbXBvcnQge2xvYWR9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7cGFyc2VBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2FuZEhhbmRsZX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuY29uc3QgaW1wYWN0RW5naW5lID0gYXN5bmMgKCkgPT4ge1xuICBsb2dnZXIuaW5mbyhESVNDTEFJTUVSX01FU1NBR0UpO1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKCk7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRoLCBwYXJhbVBhdGh9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IHt0cmVlLCBjb250ZXh0LCBwYXJhbWV0ZXJzfSA9IGF3YWl0IGxvYWQoaW5wdXRQYXRoLCBwYXJhbVBhdGgpO1xuICAgIHBhcmFtZXRlcml6ZS5jb21iaW5lKGNvbnRleHQucGFyYW1zLCBwYXJhbWV0ZXJzKTtcbiAgICBjb25zdCBwbHVnaW5zID0gYXdhaXQgaW5pdGFsaXplKGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zKTtcbiAgICBjb25zdCBjb21wdXRlZFRyZWUgPSBhd2FpdCBjb21wdXRlKHRyZWUsIHtjb250ZXh0LCBwbHVnaW5zfSk7XG4gICAgY29uc3QgYWdncmVnYXRlZFRyZWUgPSBhZ2dyZWdhdGUoY29tcHV0ZWRUcmVlLCBjb250ZXh0LmFnZ3JlZ2F0aW9uKTtcbiAgICBjb250ZXh0WydpZi12ZXJzaW9uJ10gPSBwYWNrYWdlSnNvbi52ZXJzaW9uO1xuICAgIGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dFBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBDbGlJbnB1dEVycm9yKFNPTUVUSElOR19XUk9ORykpO1xufTtcblxuaW1wYWN0RW5naW5lKCkuY2F0Y2goYW5kSGFuZGxlKTtcbiJdfQ==
|
package/build/lib/aggregate.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import { AggregationParams } from '../types/manifest';
|
|
|
3
3
|
* If aggregation is disabled, then returns given `tree`.
|
|
4
4
|
* Otherwise creates copy of the tree, then applies aggregation to it.
|
|
5
5
|
*/
|
|
6
|
-
export declare const aggregate: (tree: any, aggregationParams
|
|
6
|
+
export declare const aggregate: (tree: any, aggregationParams: AggregationParams) => any;
|
package/build/lib/aggregate.js
CHANGED
|
@@ -21,7 +21,7 @@ const temporalAggregation = (node, metrics) => {
|
|
|
21
21
|
const values = Object.values(node.children);
|
|
22
22
|
for (let i = 0; i < values[0].outputs.length; i++) {
|
|
23
23
|
const ithSliceOfOutputs = getIthElementsFromChildren(node.children, i);
|
|
24
|
-
outputs.push((0, aggregation_helper_1.aggregateInputsIntoOne)(ithSliceOfOutputs, metrics));
|
|
24
|
+
outputs.push((0, aggregation_helper_1.aggregateInputsIntoOne)(ithSliceOfOutputs, metrics, true));
|
|
25
25
|
}
|
|
26
26
|
return outputs;
|
|
27
27
|
};
|
|
@@ -37,7 +37,8 @@ const temporalAggregation = (node, metrics) => {
|
|
|
37
37
|
* 5. Now a grouping node has it's own outputs, it can horizotnally aggregate them.
|
|
38
38
|
*/
|
|
39
39
|
const aggregateNode = (node, aggregationParams) => {
|
|
40
|
-
const
|
|
40
|
+
const metrics = aggregationParams.metrics;
|
|
41
|
+
const type = aggregationParams.type;
|
|
41
42
|
if (node.children) {
|
|
42
43
|
for (const child in node.children) {
|
|
43
44
|
aggregateNode(node.children[child], aggregationParams);
|
|
@@ -69,4 +70,4 @@ const aggregate = (tree, aggregationParams) => {
|
|
|
69
70
|
return copyOfTree;
|
|
70
71
|
};
|
|
71
72
|
exports.aggregate = aggregate;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hZ2dyZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQWtFO0FBS2xFOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFFBQWEsRUFBRSxDQUFTLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBUyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE9BQU8sR0FBbUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWpELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFBLDJDQUFzQixFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBUyxFQUFFLGlCQUF3QyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxPQUFPLEdBQUcsaUJBQWtCLENBQUMsT0FBTyxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLGlCQUFrQixDQUFDLElBQUksQ0FBQztJQUVyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDeEQ7S0FDRjtJQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2xCLElBQUksSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBQSwyQ0FBc0IsRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2pFO0tBQ0Y7U0FBTTtRQUNMLElBQUksSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQzFDLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsMkNBQXNCLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzVEO0tBQ0Y7QUFDSCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVMsRUFBRSxpQkFBb0MsRUFBRSxFQUFFO0lBQzNFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRTtRQUNqRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUU3QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFUVyxRQUFBLFNBQVMsYUFTcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FnZ3JlZ2F0ZUlucHV0c0ludG9PbmV9IGZyb20gJy4uL3V0aWwvYWdncmVnYXRpb24taGVscGVyJztcblxuaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uUGFyYW1zLCBBZ2dyZWdhdGlvblBhcmFtc1N1cmV9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuLyoqXG4gKiBHZXRzIGBpYHRoIGVsZW1lbnQgZnJvbSBhbGwgY2hpbGRyZW4gb3V0cHV0cyBhbmQgY29sbGVjdHMgdGhlbSBpbiBzaW5nbGUgYXJyYXkuXG4gKi9cbmNvbnN0IGdldEl0aEVsZW1lbnRzRnJvbUNoaWxkcmVuID0gKGNoaWxkcmVuOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGNoaWxkcmVuKTtcblxuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLm91dHB1dHM7XG5cbiAgICByZXR1cm4gb3V0cHV0W2ldO1xuICB9KTtcbn07XG5cbi8qKlxuICogMS4gR2V0cyB0aGUgaSd0aCBlbGVtZW50IGZyb20gZWFjaCBjaGlsZHJlbnMgb3V0cHV0cyAodHJlYXRpbmcgY2hpbGRyZW4gYXMgcm93cyBhbmQgd2UgYXJlIGFmdGVyIGEgY29sdW1uIG9mIGRhdGEpLlxuICogMi4gTm93IHdlIGp1c3QgYWdncmVnYXRlIG92ZXIgdGhlIGBpdGhTbGljZU9mT3V0cHV0c2AgdGhlIHNhbWUgYXMgd2UgZGlkIGZvciB0aGUgbm9ybWFsIG91dHB1dHMuXG4gKi9cbmNvbnN0IHRlbXBvcmFsQWdncmVnYXRpb24gPSAobm9kZTogYW55LCBtZXRyaWNzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSA9IFtdO1xuICBjb25zdCB2YWx1ZXM6IGFueSA9IE9iamVjdC52YWx1ZXMobm9kZS5jaGlsZHJlbik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ub3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGl0aFNsaWNlT2ZPdXRwdXRzID0gZ2V0SXRoRWxlbWVudHNGcm9tQ2hpbGRyZW4obm9kZS5jaGlsZHJlbiwgaSk7XG4gICAgb3V0cHV0cy5wdXNoKGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUoaXRoU2xpY2VPZk91dHB1dHMsIG1ldHJpY3MsIHRydWUpKTtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXRzO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZXMgdGhlIHRyZWUgZGVwdGggZmlyc3QsIGJvdHRvbSB1cCxcbiAqICBsZWZ0IHRvIHJpZ2h0IGFnZ3JlZ2F0aW5nIHRoZSBjb21wb25lbnQgbm9kZXMgYW5kIHRoZW4gdGhlIGdyb3VwaW5nIG5vZGVzIHdpbGwgYmUgYWdncmVnYXRlZFxuICogIG9ubHkgd2hlbiBhbGwgdGhlaXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQuXG4gKiAxLiBBZ2dyZWdhdGVzIGFsbCB0aGUgY2hpbGRyZW4uXG4gKiAyLiBBdCB0aGlzIHBvaW50IHlvdSBjYW4gYmUgcG9zaXRpdmUgYWxsIHlvdXIgY2hpbGRyZW4gaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQgYW5kIHNvIHlvdSBjYW4gbm93IHdvcmsgb24gYWdncmVnYXRpbmcgeW91cnNlbGYuXG4gKiAzLiBJdCdzIGNvbXBvbmVudCBub2RlLCDQsGdncmVnYXRlcyBqdXN0IHRoZSBvdXRwdXRzIG9mIFRISVMgY29tcG9uZW50IG5vZGUgKGhvcml6b250YWwvY29tcG9uZW50IGFnZ3JlZ2F0aW9uKS5cbiAqIDQuIEVsc2UgaXQncyBncm91cGluZyBub2RlLCBmaXJzdCBkb2VzIHRlbXBvcmFsIGFnZ3JlZ2F0aW9uLiBUaGlzIGFzc3VtZXMgZXZlcnl0aGluZyBpcyBvbiB0aGUgc2FtZSB0aW1lLWdyaWQuXG4gKiAgICBUaGUgb3V0cHV0cyBvZiB0aGUgZ3JvdXBpbmcgbm9kZSBhcmUgdGhlIGFnZ3JlZ2F0ZWQgdGltZSBidWNrZXRlZCBvdXRwdXRzIG9mIGl0J3MgY2hpbGRyZW4uXG4gKiA1LiBOb3cgYSBncm91cGluZyBub2RlIGhhcyBpdCdzIG93biBvdXRwdXRzLCBpdCBjYW4gaG9yaXpvdG5hbGx5IGFnZ3JlZ2F0ZSB0aGVtLlxuICovXG5jb25zdCBhZ2dyZWdhdGVOb2RlID0gKG5vZGU6IGFueSwgYWdncmVnYXRpb25QYXJhbXM6IEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZSkgPT4ge1xuICBjb25zdCBtZXRyaWNzID0gYWdncmVnYXRpb25QYXJhbXMhLm1ldHJpY3M7XG4gIGNvbnN0IHR5cGUgPSBhZ2dyZWdhdGlvblBhcmFtcyEudHlwZTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIGZvciAoY29uc3QgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikge1xuICAgICAgYWdncmVnYXRlTm9kZShub2RlLmNoaWxkcmVuW2NoaWxkXSwgYWdncmVnYXRpb25QYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghbm9kZS5jaGlsZHJlbikge1xuICAgIGlmICh0eXBlID09PSAnaG9yaXpvbnRhbCcgfHwgdHlwZSA9PT0gJ2JvdGgnKSB7XG4gICAgICBub2RlLmFnZ3JlZ2F0ZWQgPSBhZ2dyZWdhdGVJbnB1dHNJbnRvT25lKG5vZGUub3V0cHV0cywgbWV0cmljcyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh0eXBlID09PSAndmVydGljYWwnIHx8IHR5cGUgPT09ICdib3RoJykge1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRlbXBvcmFsQWdncmVnYXRpb24obm9kZSwgbWV0cmljcyk7XG4gICAgICBub2RlLm91dHB1dHMgPSBvdXRwdXRzO1xuICAgICAgbm9kZS5hZ2dyZWdhdGVkID0gYWdncmVnYXRlSW5wdXRzSW50b09uZShvdXRwdXRzLCBtZXRyaWNzKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogSWYgYWdncmVnYXRpb24gaXMgZGlzYWJsZWQsIHRoZW4gcmV0dXJucyBnaXZlbiBgdHJlZWAuXG4gKiBPdGhlcndpc2UgY3JlYXRlcyBjb3B5IG9mIHRoZSB0cmVlLCB0aGVuIGFwcGxpZXMgYWdncmVnYXRpb24gdG8gaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBhZ2dyZWdhdGUgPSAodHJlZTogYW55LCBhZ2dyZWdhdGlvblBhcmFtczogQWdncmVnYXRpb25QYXJhbXMpID0+IHtcbiAgaWYgKCFhZ2dyZWdhdGlvblBhcmFtcyB8fCAhYWdncmVnYXRpb25QYXJhbXMudHlwZSkge1xuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcbiAgYWdncmVnYXRlTm9kZShjb3B5T2ZUcmVlLCBhZ2dyZWdhdGlvblBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
|
package/build/lib/compute.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compute = void 0;
|
|
4
4
|
const helpers_1 = require("../util/helpers");
|
|
5
|
+
const interface_1 = require("../types/interface");
|
|
5
6
|
/**
|
|
6
7
|
* Traverses all child nodes based on children grouping.
|
|
7
8
|
*/
|
|
@@ -20,7 +21,7 @@ const mergeDefaults = (inputs, defaults) => {
|
|
|
20
21
|
: inputs;
|
|
21
22
|
return response;
|
|
22
23
|
}
|
|
23
|
-
return [];
|
|
24
|
+
return defaults ? [defaults] : [];
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* 1. If the node has it's own pipeline, defaults or config then use that,
|
|
@@ -50,17 +51,14 @@ const computeNode = async (node, params) => {
|
|
|
50
51
|
const pipelineCopy = structuredClone(pipeline);
|
|
51
52
|
while (pipelineCopy.length !== 0) {
|
|
52
53
|
const pluginName = pipelineCopy.shift();
|
|
53
|
-
const plugin = params.plugins
|
|
54
|
-
const { execute, metadata } = plugin;
|
|
54
|
+
const plugin = params.plugins.get(pluginName);
|
|
55
55
|
const nodeConfig = config && config[pluginName];
|
|
56
|
-
if (
|
|
57
|
-
storage = await execute(storage, nodeConfig);
|
|
56
|
+
if ((0, interface_1.isExecute)(plugin)) {
|
|
57
|
+
storage = await plugin.execute(storage, nodeConfig);
|
|
58
58
|
node.outputs = storage;
|
|
59
59
|
}
|
|
60
|
-
if (
|
|
61
|
-
|
|
62
|
-
// @ts-ignore
|
|
63
|
-
node.children = await execute(storage, nodeConfig);
|
|
60
|
+
if ((0, interface_1.isGroupBy)(plugin)) {
|
|
61
|
+
node.children = await plugin.execute(storage, nodeConfig);
|
|
64
62
|
delete node.inputs;
|
|
65
63
|
delete node.outputs;
|
|
66
64
|
await traverse(node.children, {
|
|
@@ -69,6 +67,7 @@ const computeNode = async (node, params) => {
|
|
|
69
67
|
defaults,
|
|
70
68
|
config,
|
|
71
69
|
});
|
|
70
|
+
break;
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
};
|
|
@@ -81,4 +80,4 @@ const compute = async (tree, params) => {
|
|
|
81
80
|
return copyOfTree;
|
|
82
81
|
};
|
|
83
82
|
exports.compute = compute;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkM7QUFHN0Msa0RBQXNFO0FBR3RFOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRTtRQUM1QixNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFVLEVBQUUsTUFBYyxFQUFnQixFQUFFO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFhLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUVsRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixHQUFHLE1BQU07WUFDVCxRQUFRO1lBQ1IsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSjtJQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUF3QixDQUFDO0lBQzVDLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxPQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQVksQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBQSxxQkFBUyxFQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xDLE9BQU8sRUFDUCxVQUEyQixDQUM1QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVwQixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVE7Z0JBQ1IsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVILE1BQU07U0FDUDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE1BQXFCLEVBQUUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQU5XLFFBQUEsT0FBTyxXQU1sQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBhcmFtc30gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5pbXBvcnQge1BsdWdpblBhcmFtcywgaXNFeGVjdXRlLCBpc0dyb3VwQnl9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dyb3VwQnlDb25maWd9IGZyb20gJy4uL3R5cGVzL2dyb3VwLWJ5JztcblxuLyoqXG4gKiBUcmF2ZXJzZXMgYWxsIGNoaWxkIG5vZGVzIGJhc2VkIG9uIGNoaWxkcmVuIGdyb3VwaW5nLlxuICovXG5jb25zdCB0cmF2ZXJzZSA9IGFzeW5jIChjaGlsZHJlbjogYW55LCBwYXJhbXM6IFBhcmFtcykgPT4ge1xuICBmb3IgKGNvbnN0IGNoaWxkIGluIGNoaWxkcmVuKSB7XG4gICAgYXdhaXQgY29tcHV0ZU5vZGUoY2hpbGRyZW5bY2hpbGRdLCBwYXJhbXMpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgYGRlZmF1bHRgIHZhbHVlcyB0byBgaW5wdXRzYC5cbiAqL1xuY29uc3QgbWVyZ2VEZWZhdWx0cyA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZGVmYXVsdHM6IFBsdWdpblBhcmFtcyB8IHVuZGVmaW5lZFxuKSA9PiB7XG4gIGlmIChpbnB1dHMpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGRlZmF1bHRzXG4gICAgICA/IGlucHV0cy5tYXAoaW5wdXQgPT4gbWVyZ2VPYmplY3RzKGlucHV0LCBkZWZhdWx0cykpXG4gICAgICA6IGlucHV0cztcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEdvZXMgdGhyb3VnaCB0aGUgcGlwZWxpbmUgcGx1Z2lucywgYnkgY2hlY2tpbmcgaWYgaXQncyBgZXhlY3V0ZWAgcGx1Z2luLiBJZiBzbyBzZXRzIG91dHB1dHMuXG4gKiAgICBJZiBpcyBhIGBncm91cGJ5YCBwbHVnaW4sIGl0IHdpbGwgcmV0dXJuIGNoaWxkIGNvbXBvbmVudHMgcmF0aGVyIHRoYW4gb3V0cHV0cy5cbiAqIDUuIFNpbmNlIGFmdGVyIGBncm91cGJ5YCwgdGhlcmUgYXJlIG5ldyBjaGlsZCBjb21wb25lbnRzLCB0aGVuIGNvbXB1dGVzIHRoZW0uXG4gKiAgICBOb3RlOiBgcGlwZWxpbmVgIG5vdyBlcXVhbHMgdGhlIHJlbWFpbmluZyBwbHUuZ2lucyB0byBhcHBseSB0byBlYWNoIGNoaWxkXG4gKi9cbmNvbnN0IGNvbXB1dGVOb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUsIHBhcmFtczogUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSAobm9kZS5waXBlbGluZSB8fCBwYXJhbXMucGlwZWxpbmUpIGFzIHN0cmluZ1tdO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgc3RvcmFnZSA9IG5vZGUuaW5wdXRzIGFzIFBsdWdpblBhcmFtc1tdO1xuICBzdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhzdG9yYWdlLCBkZWZhdWx0cyk7XG4gIGNvbnN0IHBpcGVsaW5lQ29weSA9IHN0cnVjdHVyZWRDbG9uZShwaXBlbGluZSk7XG5cbiAgd2hpbGUgKHBpcGVsaW5lQ29weS5sZW5ndGggIT09IDApIHtcbiAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5LnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5zLmdldChwbHVnaW5OYW1lKTtcbiAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgIGlmIChpc0V4ZWN1dGUocGx1Z2luKSkge1xuICAgICAgc3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKHN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgbm9kZS5vdXRwdXRzID0gc3RvcmFnZTtcbiAgICB9XG5cbiAgICBpZiAoaXNHcm91cEJ5KHBsdWdpbikpIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShcbiAgICAgICAgc3RvcmFnZSxcbiAgICAgICAgbm9kZUNvbmZpZyBhcyBHcm91cEJ5Q29uZmlnXG4gICAgICApO1xuICAgICAgZGVsZXRlIG5vZGUuaW5wdXRzO1xuICAgICAgZGVsZXRlIG5vZGUub3V0cHV0cztcblxuICAgICAgYXdhaXQgdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHBpcGVsaW5lOiBwaXBlbGluZUNvcHksXG4gICAgICAgIGRlZmF1bHRzLFxuICAgICAgICBjb25maWcsXG4gICAgICB9KTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
|
package/build/lib/exhaust.js
CHANGED
|
@@ -4,9 +4,10 @@ exports.exhaust = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* @todo This is temporary solution, will be refactored to support dynamic plugins.
|
|
6
6
|
*/
|
|
7
|
-
const export_csv_1 = require("../
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const export_csv_1 = require("../builtins/export-csv");
|
|
8
|
+
const export_csv_raw_1 = require("../builtins/export-csv-raw");
|
|
9
|
+
const export_log_1 = require("../builtins/export-log");
|
|
10
|
+
const export_yaml_1 = require("../builtins/export-yaml");
|
|
10
11
|
const errors_1 = require("../util/errors");
|
|
11
12
|
const config_1 = require("../config");
|
|
12
13
|
const { ModuleInitializationError } = errors_1.ERRORS;
|
|
@@ -23,7 +24,9 @@ const initializeExhaustPlugin = (name) => {
|
|
|
23
24
|
case 'yaml':
|
|
24
25
|
return (0, export_yaml_1.ExportYaml)();
|
|
25
26
|
case 'csv':
|
|
26
|
-
return (0, export_csv_1.
|
|
27
|
+
return (0, export_csv_1.ExportCSV)();
|
|
28
|
+
case 'csv-raw':
|
|
29
|
+
return (0, export_csv_raw_1.ExportCSVRaw)();
|
|
27
30
|
case 'log':
|
|
28
31
|
return (0, export_log_1.ExportLog)();
|
|
29
32
|
default:
|
|
@@ -44,4 +47,4 @@ const exhaust = (tree, context, outputPath) => {
|
|
|
44
47
|
exhaustPlugins.forEach(plugin => plugin.execute(tree, context, outputPath));
|
|
45
48
|
};
|
|
46
49
|
exports.exhaust = exhaust;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXhoYXVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFpRDtBQUNqRCwrREFBd0Q7QUFDeEQsdURBQWlEO0FBQ2pELHlEQUFtRDtBQUVuRCwyQ0FBc0M7QUFFdEMsc0NBQWtDO0FBS2xDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMzQyxNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXpDOztHQUVHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBWSxFQUEwQixFQUFFO0lBQ3ZFLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztRQUN0QixLQUFLLEtBQUs7WUFDUixPQUFPLElBQUEsc0JBQVMsR0FBRSxDQUFDO1FBQ3JCLEtBQUssU0FBUztZQUNaLE9BQU8sSUFBQSw2QkFBWSxHQUFFLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFBLHNCQUFTLEdBQUUsQ0FBQztRQUNyQjtZQUNFLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBZ0IsRUFBRSxVQUFtQixFQUFFLEVBQUU7SUFDMUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFFakQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixJQUFBLHNCQUFTLEdBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLE9BQU87S0FDUjtJQUVELE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFYVyxRQUFBLE9BQU8sV0FXbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0Q1NWfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2JztcbmltcG9ydCB7RXhwb3J0Q1NWUmF3fSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2LXJhdyc7XG5pbXBvcnQge0V4cG9ydExvZ30gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWxvZyc7XG5pbXBvcnQge0V4cG9ydFlhbWx9IGZyb20gJy4uL2J1aWx0aW5zL2V4cG9ydC15YW1sJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0V4aGF1c3RQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge01vZHVsZUluaXRpYWxpemF0aW9uRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge0lOVkFMSURfRVhIQVVTVF9QTFVHSU59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbml0aWFsaXplIGV4aGF1c3QgcGx1Z2lucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY29uZmlnXG4gKi9cbmNvbnN0IGluaXRpYWxpemVFeGhhdXN0UGx1Z2lucyA9IChwbHVnaW5zOiBzdHJpbmdbXSkgPT5cbiAgcGx1Z2lucy5tYXAoaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4pO1xuXG4vKipcbiAqIGZhY3RvcnkgbWV0aG9kIGZvciBleGhhdXN0IHBsdWdpbnNcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4gPSAobmFtZTogc3RyaW5nKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgcmV0dXJuIEV4cG9ydFlhbWwoKTtcbiAgICBjYXNlICdjc3YnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVigpO1xuICAgIGNhc2UgJ2Nzdi1yYXcnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVlJhdygpO1xuICAgIGNhc2UgJ2xvZyc6XG4gICAgICByZXR1cm4gRXhwb3J0TG9nKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yKElOVkFMSURfRVhIQVVTVF9QTFVHSU4obmFtZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gKHRyZWU6IGFueSwgY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aD86IHN0cmluZykgPT4ge1xuICBjb25zdCBvdXRwdXRQbHVnaW5zID0gY29udGV4dC5pbml0aWFsaXplLm91dHB1dHM7XG5cbiAgaWYgKCFvdXRwdXRQbHVnaW5zKSB7XG4gICAgRXhwb3J0TG9nKCkuZXhlY3V0ZSh0cmVlLCBjb250ZXh0KTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGV4aGF1c3RQbHVnaW5zID0gaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zKG91dHB1dFBsdWdpbnMpO1xuICBleGhhdXN0UGx1Z2lucy5mb3JFYWNoKHBsdWdpbiA9PiBwbHVnaW4uZXhlY3V0ZSh0cmVlLCBjb250ZXh0LCBvdXRwdXRQYXRoKSk7XG59O1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PluginsStorage } from '../types/initialize';
|
|
2
1
|
import { GlobalPlugins } from '../types/manifest';
|
|
2
|
+
import { PluginStorageInterface } from '../types/plugin-storage';
|
|
3
3
|
/**
|
|
4
4
|
* Registers all plugins from `manifest`.`initalize` property.
|
|
5
5
|
*/
|
|
6
|
-
export declare const initalize: (plugins: GlobalPlugins) => Promise<
|
|
6
|
+
export declare const initalize: (plugins: GlobalPlugins) => Promise<PluginStorageInterface>;
|
package/build/lib/initialize.js
CHANGED
|
@@ -27,6 +27,8 @@ exports.initalize = void 0;
|
|
|
27
27
|
const pathLib = require("path");
|
|
28
28
|
const errors_1 = require("../util/errors");
|
|
29
29
|
const logger_1 = require("../util/logger");
|
|
30
|
+
const log_memoize_1 = require("../util/log-memoize");
|
|
31
|
+
const plugin_storage_1 = require("../util/plugin-storage");
|
|
30
32
|
const config_1 = require("../config");
|
|
31
33
|
const { ModuleInitializationError, PluginCredentialError } = errors_1.ERRORS;
|
|
32
34
|
const { GITHUB_PATH, NATIVE_PLUGIN } = config_1.CONFIG;
|
|
@@ -40,6 +42,7 @@ const importModuleFrom = async (path) => {
|
|
|
40
42
|
return module;
|
|
41
43
|
}
|
|
42
44
|
catch (error) {
|
|
45
|
+
logger_1.logger.error(error);
|
|
43
46
|
throw new ModuleInitializationError(INVALID_MODULE_PATH(path));
|
|
44
47
|
}
|
|
45
48
|
};
|
|
@@ -57,7 +60,7 @@ const importAndVerifyModule = async (method, path) => {
|
|
|
57
60
|
*/
|
|
58
61
|
const handModule = (method, path) => {
|
|
59
62
|
if (path === 'builtin') {
|
|
60
|
-
path = pathLib.normalize(`${__dirname}/../
|
|
63
|
+
path = pathLib.normalize(`${__dirname}/../builtins`);
|
|
61
64
|
}
|
|
62
65
|
else {
|
|
63
66
|
if (path?.startsWith(GITHUB_PATH)) {
|
|
@@ -65,7 +68,7 @@ const handModule = (method, path) => {
|
|
|
65
68
|
path = parts[parts.length - 1];
|
|
66
69
|
}
|
|
67
70
|
if (!path.includes(NATIVE_PLUGIN)) {
|
|
68
|
-
logger_1.logger.warn(
|
|
71
|
+
(0, log_memoize_1.memoizedLog)(logger_1.logger.warn, NOT_NATIVE_PLUGIN(path));
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
74
|
return importAndVerifyModule(method, path);
|
|
@@ -88,11 +91,12 @@ const initPlugin = async (initPluginParams) => {
|
|
|
88
91
|
* Registers all plugins from `manifest`.`initalize` property.
|
|
89
92
|
*/
|
|
90
93
|
const initalize = async (plugins) => {
|
|
91
|
-
const storage =
|
|
94
|
+
const storage = (0, plugin_storage_1.pluginStorage)();
|
|
92
95
|
for await (const pluginName of Object.keys(plugins)) {
|
|
93
|
-
|
|
96
|
+
const plugin = await initPlugin(plugins[pluginName]);
|
|
97
|
+
storage.set(pluginName, plugin);
|
|
94
98
|
}
|
|
95
99
|
return storage;
|
|
96
100
|
};
|
|
97
101
|
exports.initalize = initalize;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFpQztBQUVqQywyQ0FBc0M7QUFDdEMsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVsRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QyxNQUFNLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxHQUMxRSxnQkFBTyxDQUFDO0FBRVY7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5QyxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcseUJBQWEsSUFBSSx1Q0FBQyxDQUFDO1FBRWxDLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNuRSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNsRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLGNBQWMsQ0FBQyxDQUFDO0tBQ3REO1NBQU07UUFDTCxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0tBQ0Y7SUFFRCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDdEIsZ0JBQStCLEVBQ0wsRUFBRTtJQUM1QixNQUFNLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFFdkUsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0M7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQzVCLE9BQXNCLEVBQ1csRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFhLEdBQUUsQ0FBQztJQUVoQyxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxTQUFTLGFBV3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHttZW1vaXplZExvZ30gZnJvbSAnLi4vdXRpbC9sb2ctbWVtb2l6ZSc7XG5pbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dsb2JhbFBsdWdpbnMsIFBsdWdpbk9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuXG5jb25zdCB7TW9kdWxlSW5pdGlhbGl6YXRpb25FcnJvciwgUGx1Z2luQ3JlZGVudGlhbEVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtNSVNTSU5HX01FVEhPRCwgTUlTU0lOR19QQVRILCBOT1RfTkFUSVZFX1BMVUdJTiwgSU5WQUxJRF9NT0RVTEVfUEFUSH0gPVxuICBTVFJJTkdTO1xuXG4vKipcbiAqIEltcG9ydHMgbW9kdWxlIGJ5IGdpdmVuIGBwYXRoYC5cbiAqL1xuY29uc3QgaW1wb3J0TW9kdWxlRnJvbSA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCk7XG5cbiAgICByZXR1cm4gbW9kdWxlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgbmV3IE1vZHVsZUluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoKSk7XG4gIH1cbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGF0aCA9IHBhdGhMaWIubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHttZXRob2QsIHBhdGgsICdnbG9iYWwtY29uZmlnJzogZ2xvYmFsQ29uZmlnfSA9IGluaXRQbHVnaW5QYXJhbXM7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgUGx1Z2luQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBQbHVnaW5DcmVkZW50aWFsRXJyb3IoTUlTU0lOR19QQVRIKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGhhbmRNb2R1bGUobWV0aG9kLCBwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luKGdsb2JhbENvbmZpZyk7XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgcGx1Z2lucyBmcm9tIGBtYW5pZmVzdGAuYGluaXRhbGl6ZWAgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBjb25zdCBpbml0YWxpemUgPSBhc3luYyAoXG4gIHBsdWdpbnM6IEdsb2JhbFBsdWdpbnNcbik6IFByb21pc2U8UGx1Z2luU3RvcmFnZUludGVyZmFjZT4gPT4ge1xuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGluaXRQbHVnaW4ocGx1Z2luc1twbHVnaW5OYW1lXSk7XG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
|
package/build/lib/load.d.ts
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Parameters } from '../types/parameters';
|
|
2
2
|
/**
|
|
3
3
|
* Parses manifest file as an object. Checks if parameter file is passed via CLI, then loads it too.
|
|
4
4
|
* Returns context, tree and parameters (either the default one, or from CLI).
|
|
5
5
|
*/
|
|
6
|
-
export declare const load: (inputPath: string, paramPath?: string) => Promise<
|
|
6
|
+
export declare const load: (inputPath: string, paramPath?: string) => Promise<{
|
|
7
|
+
tree: Record<string, any>;
|
|
8
|
+
context: {
|
|
9
|
+
name: string;
|
|
10
|
+
initialize: {
|
|
11
|
+
plugins: Record<string, {
|
|
12
|
+
path: string;
|
|
13
|
+
method: string;
|
|
14
|
+
'global-config'?: Record<string, any> | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
outputs?: string[] | undefined;
|
|
17
|
+
};
|
|
18
|
+
description?: string | null | undefined;
|
|
19
|
+
tags?: {
|
|
20
|
+
kind?: string | null | undefined;
|
|
21
|
+
complexity?: string | null | undefined;
|
|
22
|
+
category?: string | null | undefined;
|
|
23
|
+
} | null | undefined;
|
|
24
|
+
aggregation?: {
|
|
25
|
+
type: "horizontal" | "vertical" | "both";
|
|
26
|
+
metrics: string[];
|
|
27
|
+
} | null | undefined;
|
|
28
|
+
params?: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
aggregation: "sum" | "none" | "avg";
|
|
32
|
+
unit: string;
|
|
33
|
+
}[] | null | undefined;
|
|
34
|
+
'if-version'?: string | null | undefined;
|
|
35
|
+
};
|
|
36
|
+
parameters: Parameters;
|
|
37
|
+
}>;
|
package/build/lib/load.js
CHANGED
|
@@ -10,15 +10,15 @@ const config_1 = require("../config");
|
|
|
10
10
|
* Returns context, tree and parameters (either the default one, or from CLI).
|
|
11
11
|
*/
|
|
12
12
|
const load = async (inputPath, paramPath) => {
|
|
13
|
-
const
|
|
14
|
-
const {
|
|
13
|
+
const rawManifest = await (0, yaml_1.openYamlFileAsObject)(inputPath);
|
|
14
|
+
const { tree, ...context } = (0, validations_1.validateManifest)(rawManifest);
|
|
15
15
|
const parametersFromCli = paramPath && (await (0, json_1.readAndParseJson)(paramPath)); // todo: validate json
|
|
16
16
|
const parameters = parametersFromCli || config_1.PARAMETERS;
|
|
17
17
|
return {
|
|
18
18
|
tree,
|
|
19
|
-
context
|
|
19
|
+
context,
|
|
20
20
|
parameters,
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
exports.load = load;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBcUQ7QUFDckQsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFHckM7OztHQUdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxNQUFNLGlCQUFpQixHQUNyQixTQUFTLElBQUksQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtJQUN0RixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsSUFBSSxtQkFBVSxDQUFDO0lBRW5ELE9BQU87UUFDTCxJQUFJO1FBQ0osT0FBTztRQUNQLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBWlcsUUFBQSxJQUFJLFFBWWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3ZhbGlkYXRlTWFuaWZlc3R9IGZyb20gJy4uL3V0aWwvdmFsaWRhdGlvbnMnO1xuaW1wb3J0IHtvcGVuWWFtbEZpbGVBc09iamVjdH0gZnJvbSAnLi4vdXRpbC95YW1sJztcbmltcG9ydCB7cmVhZEFuZFBhcnNlSnNvbn0gZnJvbSAnLi4vdXRpbC9qc29uJztcblxuaW1wb3J0IHtQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtQYXJhbWV0ZXJzfSBmcm9tICcuLi90eXBlcy9wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBQYXJzZXMgbWFuaWZlc3QgZmlsZSBhcyBhbiBvYmplY3QuIENoZWNrcyBpZiBwYXJhbWV0ZXIgZmlsZSBpcyBwYXNzZWQgdmlhIENMSSwgdGhlbiBsb2FkcyBpdCB0b28uXG4gKiBSZXR1cm5zIGNvbnRleHQsIHRyZWUgYW5kIHBhcmFtZXRlcnMgKGVpdGhlciB0aGUgZGVmYXVsdCBvbmUsIG9yIGZyb20gQ0xJKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWQgPSBhc3luYyAoaW5wdXRQYXRoOiBzdHJpbmcsIHBhcmFtUGF0aD86IHN0cmluZykgPT4ge1xuICBjb25zdCByYXdNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PGFueT4oaW5wdXRQYXRoKTtcbiAgY29uc3Qge3RyZWUsIC4uLmNvbnRleHR9ID0gdmFsaWRhdGVNYW5pZmVzdChyYXdNYW5pZmVzdCk7XG4gIGNvbnN0IHBhcmFtZXRlcnNGcm9tQ2xpID1cbiAgICBwYXJhbVBhdGggJiYgKGF3YWl0IHJlYWRBbmRQYXJzZUpzb248UGFyYW1ldGVycz4ocGFyYW1QYXRoKSk7IC8vIHRvZG86IHZhbGlkYXRlIGpzb25cbiAgY29uc3QgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tQ2xpIHx8IFBBUkFNRVRFUlM7XG5cbiAgcmV0dXJuIHtcbiAgICB0cmVlLFxuICAgIGNvbnRleHQsXG4gICAgcGFyYW1ldGVycyxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ManifestParameter } from '../types/
|
|
1
|
+
import { ManifestParameter } from '../types/manifest';
|
|
2
2
|
export declare const parameterize: {
|
|
3
3
|
combine: (contextParameters: ManifestParameter[] | null | undefined, parameters: any) => void;
|
|
4
4
|
getAggregationMethod: (unitName: string) => "sum" | "none" | "avg";
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.parameterize = void 0;
|
|
4
4
|
const logger_1 = require("../util/logger");
|
|
5
5
|
const config_1 = require("../config");
|
|
6
|
-
const
|
|
6
|
+
const log_memoize_1 = require("../util/log-memoize");
|
|
7
|
+
const { REJECTING_OVERRIDE, UNKNOWN_PARAM } = config_1.STRINGS;
|
|
7
8
|
/**
|
|
8
9
|
* Parameters manager. Provides get aggregation method and combine functionality.
|
|
9
10
|
*/
|
|
10
11
|
const Parametrize = () => {
|
|
11
|
-
let parametersStorage =
|
|
12
|
+
let parametersStorage = config_1.PARAMETERS;
|
|
12
13
|
/**
|
|
13
14
|
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
14
15
|
*/
|
|
@@ -16,6 +17,7 @@ const Parametrize = () => {
|
|
|
16
17
|
if (`${unitName}` in parametersStorage) {
|
|
17
18
|
return config_1.PARAMETERS[unitName].aggregation;
|
|
18
19
|
}
|
|
20
|
+
(0, log_memoize_1.memoizedLog)(logger_1.logger.warn, UNKNOWN_PARAM(unitName));
|
|
19
21
|
return 'sum';
|
|
20
22
|
};
|
|
21
23
|
/**
|
|
@@ -25,7 +27,7 @@ const Parametrize = () => {
|
|
|
25
27
|
*/
|
|
26
28
|
const combine = (contextParameters, parameters) => {
|
|
27
29
|
if (contextParameters) {
|
|
28
|
-
contextParameters.forEach(
|
|
30
|
+
contextParameters.forEach(param => {
|
|
29
31
|
if (`${param.name}` in parameters) {
|
|
30
32
|
logger_1.logger.warn(REJECTING_OVERRIDE);
|
|
31
33
|
return;
|
|
@@ -46,4 +48,4 @@ const Parametrize = () => {
|
|
|
46
48
|
};
|
|
47
49
|
};
|
|
48
50
|
exports.parameterize = Parametrize();
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9wYXJhbWV0ZXJpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBRXRDLHNDQUE4QztBQUc5QyxxREFBZ0Q7QUFFaEQsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsSUFBSSxpQkFBaUIsR0FBRyxtQkFBVSxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEdBQUcsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxtQkFBVSxDQUFDLFFBQW1DLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDcEU7UUFFRCxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxDQUNkLGlCQUF5RCxFQUN6RCxVQUFlLEVBQ2YsRUFBRTtRQUNGLElBQUksaUJBQWlCLEVBQUU7WUFDckIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRTtvQkFDakMsZUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUVoQyxPQUFPO2lCQUNSO2dCQUVELE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxLQUFLLENBQUM7Z0JBRXJELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDakIsV0FBVztvQkFDWCxJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL3V0aWwvbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTLCBQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcblxuY29uc3Qge1JFSkVDVElOR19PVkVSUklERSwgVU5LTk9XTl9QQVJBTX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgbWFuYWdlci4gUHJvdmlkZXMgZ2V0IGFnZ3JlZ2F0aW9uIG1ldGhvZCBhbmQgY29tYmluZSBmdW5jdGlvbmFsaXR5LlxuICovXG5jb25zdCBQYXJhbWV0cml6ZSA9ICgpID0+IHtcbiAgbGV0IHBhcmFtZXRlcnNTdG9yYWdlID0gUEFSQU1FVEVSUztcblxuICAvKipcbiAgICogUmV0dXJucyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yIGdpdmVuIGB1bml0TmFtZWAuIElmIGRvZXNuJ3QgZXhpc3QgdGhlbiByZXR1cm5zIHZhbHVlIGBzdW1gLlxuICAgKi9cbiAgY29uc3QgZ2V0QWdncmVnYXRpb25NZXRob2QgPSAodW5pdE5hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChgJHt1bml0TmFtZX1gIGluIHBhcmFtZXRlcnNTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gUEFSQU1FVEVSU1t1bml0TmFtZSBhcyBrZXlvZiB0eXBlb2YgUEFSQU1FVEVSU10uYWdncmVnYXRpb247XG4gICAgfVxuXG4gICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIFVOS05PV05fUEFSQU0odW5pdE5hbWUpKTtcblxuICAgIHJldHVybiAnc3VtJztcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQgaW4gY29udGV4dC5cbiAgICogSWYgc28sIHRoZW4gY2hlY2tzIGlmIHRoZXkgYXJlIGNvaW5jaWRlbnQgd2l0aCBkZWZhdWx0IG9uZXMgYW5kIGV4aXRzIHdpdGggd2FybmluZyBtZXNzYWdlLlxuICAgKiBPdGhlcndpc2UgYXBwZW5kcyBjb250ZXh0IGJhc2VkIHBhcmFtZXRlcnMgdG8gZGVmYXVsdHMuXG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKFxuICAgIGNvbnRleHRQYXJhbWV0ZXJzOiBNYW5pZmVzdFBhcmFtZXRlcltdIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbWV0ZXJzOiBhbnlcbiAgKSA9PiB7XG4gICAgaWYgKGNvbnRleHRQYXJhbWV0ZXJzKSB7XG4gICAgICBjb250ZXh0UGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgaWYgKGAke3BhcmFtLm5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oUkVKRUNUSU5HX09WRVJSSURFKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtkZXNjcmlwdGlvbiwgdW5pdCwgYWdncmVnYXRpb24sIG5hbWV9ID0gcGFyYW07XG5cbiAgICAgICAgcGFyYW1ldGVyc1tuYW1lXSA9IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICB1bml0LFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyYW1ldGVyc1N0b3JhZ2UgPSBwYXJhbWV0ZXJzO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgY29tYmluZSxcbiAgICBnZXRBZ2dyZWdhdGlvbk1ldGhvZCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJhbWV0ZXJpemUgPSBQYXJhbWV0cml6ZSgpO1xuIl19
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AGGREGATION_METHODS = void 0;
|
|
4
4
|
exports.AGGREGATION_METHODS = ['horizontal', 'vertical', 'both'];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvYWdncmVnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBZ2dyZWdhdGlvblJlc3VsdCA9IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9NRVRIT0RTID0gWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJywgJ2JvdGgnXSBhcyBjb25zdDtcbiJdfQ==
|
package/build/types/compute.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { PluginsStorage } from './initialize';
|
|
2
1
|
import { PluginParams } from './interface';
|
|
3
2
|
import { Context } from './manifest';
|
|
3
|
+
import { PluginStorageInterface } from './plugin-storage';
|
|
4
4
|
export type NodeConfig = {
|
|
5
5
|
[key: string]: Record<string, any>;
|
|
6
6
|
};
|
|
7
7
|
export type Params = {
|
|
8
|
-
plugins:
|
|
8
|
+
plugins: PluginStorageInterface;
|
|
9
9
|
context: Context;
|
|
10
10
|
pipeline?: string[];
|
|
11
11
|
config?: NodeConfig;
|
|
@@ -21,5 +21,5 @@ export type Node = {
|
|
|
21
21
|
};
|
|
22
22
|
export type ComputeParams = {
|
|
23
23
|
context: Context;
|
|
24
|
-
plugins:
|
|
24
|
+
plugins: PluginStorageInterface;
|
|
25
25
|
};
|
package/build/types/compute.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpbnM6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luczogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
import { GroupByConfig } from './group-by';
|
|
1
2
|
export type PluginParams = Record<string, any>;
|
|
2
|
-
export type
|
|
3
|
+
export type ExecutePlugin = {
|
|
3
4
|
execute: (inputs: PluginParams[], config?: Record<string, any>) => PluginParams[];
|
|
4
5
|
metadata: {
|
|
5
6
|
kind: string;
|
|
6
7
|
};
|
|
7
8
|
[key: string]: any;
|
|
8
9
|
};
|
|
10
|
+
export type GroupByPlugin = {
|
|
11
|
+
execute: (inputs: PluginParams[], config: GroupByConfig) => {
|
|
12
|
+
children: any;
|
|
13
|
+
};
|
|
14
|
+
metadata: {
|
|
15
|
+
kind: string;
|
|
16
|
+
};
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
};
|
|
19
|
+
export type PluginInterface = ExecutePlugin | GroupByPlugin;
|
|
20
|
+
export declare const isExecute: (plugin: PluginInterface) => plugin is ExecutePlugin;
|
|
21
|
+
export declare const isGroupBy: (plugin: PluginInterface) => plugin is GroupByPlugin;
|
package/build/types/interface.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
exports.isGroupBy = exports.isExecute = void 0;
|
|
4
|
+
const isExecute = (plugin) => plugin.metadata.kind === 'execute';
|
|
5
|
+
exports.isExecute = isExecute;
|
|
6
|
+
const isGroupBy = (plugin) => plugin.metadata.kind === 'groupby';
|
|
7
|
+
exports.isGroupBy = isGroupBy;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5Qk8sTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUF1QixFQUEyQixFQUFFLENBQzNFLE1BQXdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFEM0MsUUFBQSxTQUFTLGFBQ2tDO0FBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBdUIsRUFBMkIsRUFBRSxDQUMzRSxNQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBRDNDLFFBQUEsU0FBUyxhQUNrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R3JvdXBCeUNvbmZpZ30gZnJvbSAnLi9ncm91cC1ieSc7XG5cbmV4cG9ydCB0eXBlIFBsdWdpblBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCB0eXBlIEV4ZWN1dGVQbHVnaW4gPSB7XG4gIGV4ZWN1dGU6IChcbiAgICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICAgIGNvbmZpZz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKSA9PiBQbHVnaW5QYXJhbXNbXTtcbiAgbWV0YWRhdGE6IHtcbiAgICBraW5kOiBzdHJpbmc7XG4gIH07XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIEdyb3VwQnlQbHVnaW4gPSB7XG4gIGV4ZWN1dGU6IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBjb25maWc6IEdyb3VwQnlDb25maWcpID0+IHtjaGlsZHJlbjogYW55fTtcbiAgbWV0YWRhdGE6IHtcbiAgICBraW5kOiBzdHJpbmc7XG4gIH07XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIFBsdWdpbkludGVyZmFjZSA9IEV4ZWN1dGVQbHVnaW4gfCBHcm91cEJ5UGx1Z2luO1xuXG5leHBvcnQgY29uc3QgaXNFeGVjdXRlID0gKHBsdWdpbjogUGx1Z2luSW50ZXJmYWNlKTogcGx1Z2luIGlzIEV4ZWN1dGVQbHVnaW4gPT5cbiAgKHBsdWdpbiBhcyBFeGVjdXRlUGx1Z2luKS5tZXRhZGF0YS5raW5kID09PSAnZXhlY3V0ZSc7XG5cbmV4cG9ydCBjb25zdCBpc0dyb3VwQnkgPSAocGx1Z2luOiBQbHVnaW5JbnRlcmZhY2UpOiBwbHVnaW4gaXMgR3JvdXBCeVBsdWdpbiA9PlxuICAocGx1Z2luIGFzIEdyb3VwQnlQbHVnaW4pLm1ldGFkYXRhLmtpbmQgPT09ICdncm91cGJ5JztcbiJdfQ==
|