@grnsft/if 0.1.3-beta → 0.1.3

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 (62) hide show
  1. package/README.md +2 -21
  2. package/package.json +1 -3
  3. package/src/config/units.yaml +24 -11
  4. package/tsconfig.build.tsbuildinfo +1 -1
  5. package/yarn-error.log +5431 -0
  6. package/build/config/config.d.ts +0 -12
  7. package/build/config/config.js +0 -54
  8. package/build/config/index.d.ts +0 -2
  9. package/build/config/index.js +0 -8
  10. package/build/config/strings.d.ts +0 -19
  11. package/build/config/strings.js +0 -34
  12. package/build/index.d.ts +0 -2
  13. package/build/index.js +0 -53
  14. package/build/lib/models-universe.d.ts +0 -36
  15. package/build/lib/models-universe.js +0 -113
  16. package/build/lib/observatory.d.ts +0 -20
  17. package/build/lib/observatory.js +0 -31
  18. package/build/lib/planet-aggregator.d.ts +0 -6
  19. package/build/lib/planet-aggregator.js +0 -35
  20. package/build/lib/supercomputer.d.ts +0 -37
  21. package/build/lib/supercomputer.js +0 -148
  22. package/build/models/index.d.ts +0 -1
  23. package/build/models/index.js +0 -6
  24. package/build/models/time-sync.d.ts +0 -55
  25. package/build/models/time-sync.js +0 -235
  26. package/build/types/helpers.d.ts +0 -1
  27. package/build/types/helpers.js +0 -3
  28. package/build/types/impl.d.ts +0 -45
  29. package/build/types/impl.js +0 -5
  30. package/build/types/model-interface.d.ts +0 -14
  31. package/build/types/model-interface.js +0 -3
  32. package/build/types/models-universe.d.ts +0 -23
  33. package/build/types/models-universe.js +0 -3
  34. package/build/types/planet-aggregator.d.ts +0 -6
  35. package/build/types/planet-aggregator.js +0 -3
  36. package/build/types/process-args.d.ts +0 -7
  37. package/build/types/process-args.js +0 -3
  38. package/build/types/supercomputer.d.ts +0 -4
  39. package/build/types/supercomputer.js +0 -3
  40. package/build/types/time-sync.d.ts +0 -9
  41. package/build/types/time-sync.js +0 -3
  42. package/build/types/units-dealer.d.ts +0 -3
  43. package/build/types/units-dealer.js +0 -3
  44. package/build/types/units.d.ts +0 -11
  45. package/build/types/units.js +0 -37
  46. package/build/util/args.d.ts +0 -8
  47. package/build/util/args.js +0 -58
  48. package/build/util/errors.d.ts +0 -6
  49. package/build/util/errors.js +0 -25
  50. package/build/util/helpers.d.ts +0 -4
  51. package/build/util/helpers.js +0 -18
  52. package/build/util/units-dealer.d.ts +0 -10
  53. package/build/util/units-dealer.js +0 -32
  54. package/build/util/validations.d.ts +0 -29
  55. package/build/util/validations.js +0 -80
  56. package/build/util/yaml.d.ts +0 -12
  57. package/build/util/yaml.js +0 -36
  58. package/examples/impls/test/time-sync.yml +0 -75
  59. package/examples/ompls/test/time-sync.yml +0 -255
  60. package/examples/ompls/time-sync.yml +0 -212
  61. package/hack-banner.png +0 -0
  62. package/src/models/README.md +0 -266
@@ -1,12 +0,0 @@
1
- import { ArgumentConfig } from 'ts-command-line-args';
2
- import { impactProcessArgs } from '../types/process-args';
3
- export declare const CONFIG: {
4
- AGGREGATION_METRICS: string[];
5
- AGGREGATION_METHODS: string[];
6
- impact: {
7
- ARGS: ArgumentConfig<impactProcessArgs>;
8
- HELP: string;
9
- };
10
- GITHUB_PATH: string;
11
- NATIVE_MODEL: string;
12
- };
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONFIG = void 0;
4
- exports.CONFIG = {
5
- AGGREGATION_METRICS: ['carbon', 'energy'],
6
- AGGREGATION_METHODS: ['sum', 'avg'],
7
- impact: {
8
- ARGS: {
9
- impl: {
10
- type: String,
11
- optional: true,
12
- alias: 'i',
13
- description: 'Path to an input IMPL file.',
14
- },
15
- ompl: {
16
- type: String,
17
- optional: true,
18
- description: 'Path to the output IMPL file where the results as saved, if none is provided it prints to stdout.',
19
- },
20
- format: {
21
- type: String,
22
- optional: true,
23
- description: 'The output file format. default to yaml but if csv is specified then it formats the outputs as a csv file for loading into another program.',
24
- defaultValue: 'yaml',
25
- },
26
- verbose: {
27
- type: Boolean,
28
- optional: true,
29
- description: 'How much information to output about the calculation to aid investigation and debugging.',
30
- },
31
- help: {
32
- type: Boolean,
33
- optional: true,
34
- alias: 'h',
35
- description: 'Prints this usage guide.',
36
- },
37
- },
38
- HELP: `impact
39
- -impl [path to the input impl file]
40
- -ompl [path to the output impl file]
41
- -format [yaml|csv]
42
- -verbose
43
- -help
44
- impl: path to an input IMPL file
45
- ompl: path to the output IMPL file where the results as saved, if none is provided it prints to stdout.
46
- format: the output file format. default to yaml but if csv is specified then it formats the outputs as a csv file for loading into another program.
47
- verbose: how much information to output about the calculation to aid investigation and debugging.
48
- help: prints out the above help instruction.
49
- `,
50
- },
51
- GITHUB_PATH: 'https://github.com',
52
- NATIVE_MODEL: 'if-models',
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ3pDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNuQyxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDZCQUE2QjthQUMzQztZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQ1QsbUdBQW1HO2FBQ3RHO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCw2SUFBNkk7Z0JBQy9JLFlBQVksRUFBRSxNQUFNO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCwwRkFBMEY7YUFDN0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDBCQUEwQjthQUN4QztTQUNtQztRQUN0QyxJQUFJLEVBQUU7Ozs7Ozs7Ozs7O0dBV1A7S0FDQTtJQUNELFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWd9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtpbXBhY3RQcm9jZXNzQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgQUdHUkVHQVRJT05fTUVUUklDUzogWydjYXJib24nLCAnZW5lcmd5J10sXG4gIEFHR1JFR0FUSU9OX01FVEhPRFM6IFsnc3VtJywgJ2F2ZyddLFxuICBpbXBhY3Q6IHtcbiAgICBBUkdTOiB7XG4gICAgICBpbXBsOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnaScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUGF0aCB0byBhbiBpbnB1dCBJTVBMIGZpbGUuJyxcbiAgICAgIH0sXG4gICAgICBvbXBsOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdQYXRoIHRvIHRoZSBvdXRwdXQgSU1QTCBmaWxlIHdoZXJlIHRoZSByZXN1bHRzIGFzIHNhdmVkLCBpZiBub25lIGlzIHByb3ZpZGVkIGl0IHByaW50cyB0byBzdGRvdXQuJyxcbiAgICAgIH0sXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1RoZSBvdXRwdXQgZmlsZSBmb3JtYXQuIGRlZmF1bHQgdG8geWFtbCBidXQgaWYgY3N2IGlzIHNwZWNpZmllZCB0aGVuIGl0IGZvcm1hdHMgdGhlIG91dHB1dHMgYXMgYSBjc3YgZmlsZSBmb3IgbG9hZGluZyBpbnRvIGFub3RoZXIgcHJvZ3JhbS4nLFxuICAgICAgICBkZWZhdWx0VmFsdWU6ICd5YW1sJyxcbiAgICAgIH0sXG4gICAgICB2ZXJib3NlOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnSG93IG11Y2ggaW5mb3JtYXRpb24gdG8gb3V0cHV0IGFib3V0IHRoZSBjYWxjdWxhdGlvbiB0byBhaWQgaW52ZXN0aWdhdGlvbiBhbmQgZGVidWdnaW5nLicsXG4gICAgICB9LFxuICAgICAgaGVscDoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQcmludHMgdGhpcyB1c2FnZSBndWlkZS4nLFxuICAgICAgfSxcbiAgICB9IGFzIEFyZ3VtZW50Q29uZmlnPGltcGFjdFByb2Nlc3NBcmdzPixcbiAgICBIRUxQOiBgaW1wYWN0IFxuICAtaW1wbCBbcGF0aCB0byB0aGUgaW5wdXQgaW1wbCBmaWxlXVxuICAtb21wbCBbcGF0aCB0byB0aGUgb3V0cHV0IGltcGwgZmlsZV1cbiAgLWZvcm1hdCBbeWFtbHxjc3ZdIFxuICAtdmVyYm9zZVxuICAtaGVscCBcbiAgaW1wbDogcGF0aCB0byBhbiBpbnB1dCBJTVBMIGZpbGVcbiAgb21wbDogcGF0aCB0byB0aGUgb3V0cHV0IElNUEwgZmlsZSB3aGVyZSB0aGUgcmVzdWx0cyBhcyBzYXZlZCwgaWYgbm9uZSBpcyBwcm92aWRlZCBpdCBwcmludHMgdG8gc3Rkb3V0LlxuICBmb3JtYXQ6IHRoZSBvdXRwdXQgZmlsZSBmb3JtYXQuIGRlZmF1bHQgdG8geWFtbCBidXQgaWYgY3N2IGlzIHNwZWNpZmllZCB0aGVuIGl0IGZvcm1hdHMgdGhlIG91dHB1dHMgYXMgYSBjc3YgZmlsZSBmb3IgbG9hZGluZyBpbnRvIGFub3RoZXIgcHJvZ3JhbS5cbiAgdmVyYm9zZTogaG93IG11Y2ggaW5mb3JtYXRpb24gdG8gb3V0cHV0IGFib3V0IHRoZSBjYWxjdWxhdGlvbiB0byBhaWQgaW52ZXN0aWdhdGlvbiBhbmQgZGVidWdnaW5nLlxuICBoZWxwOiBwcmludHMgb3V0IHRoZSBhYm92ZSBoZWxwIGluc3RydWN0aW9uLlxuICBgLFxuICB9LFxuICBHSVRIVUJfUEFUSDogJ2h0dHBzOi8vZ2l0aHViLmNvbScsXG4gIE5BVElWRV9NT0RFTDogJ2lmLW1vZGVscycsXG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export { CONFIG } from './config';
2
- export { STRINGS } from './strings';
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STRINGS = exports.CONFIG = void 0;
4
- var config_1 = require("./config");
5
- Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
6
- var strings_1 = require("./strings");
7
- Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtDT05GSUd9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7U1RSSU5HU30gZnJvbSAnLi9zdHJpbmdzJztcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { ClassContainerParams } from '../types/models-universe';
2
- export declare const STRINGS: {
3
- FILE_IS_NOT_YAML: string;
4
- IMPL_IS_MISSING: string;
5
- MISSING_CLASSNAME: string;
6
- MISSING_PATH: string;
7
- NOT_MODEL_PLUGIN_EXTENSION: string;
8
- STRUCTURE_MALFORMED: (childName: string) => string;
9
- NOT_INITIALIZED_MODEL: (className: string) => string;
10
- DISCLAIMER_MESSAGE: string;
11
- NOT_NATIVE_MODEL: string;
12
- SOMETHING_WRONG: string;
13
- ISSUE_TEMPLATE: string;
14
- NOT_CONSTRUCTABLE_MODEL: (params: ClassContainerParams) => string;
15
- INVALID_MODULE_PATH: (path: string) => string;
16
- INVALID_TIME_NORMALIZATION: string;
17
- INVALID_TIME_INTERVAL: string;
18
- INVALID_OBSERVATION_OVERLAP: string;
19
- };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STRINGS = void 0;
4
- exports.STRINGS = {
5
- FILE_IS_NOT_YAML: 'Provided impl file is not in yaml format.',
6
- IMPL_IS_MISSING: 'Impl file is missing.',
7
- MISSING_CLASSNAME: "Initalization param 'model' is missing.",
8
- MISSING_PATH: "Initalization param 'path' is missing.",
9
- NOT_MODEL_PLUGIN_EXTENSION: "Provided model does not extend 'ModelPluginInterface'.",
10
- STRUCTURE_MALFORMED: (childName) => `Graph is malformed: graph.children.${childName} is not valid.`,
11
- NOT_INITIALIZED_MODEL: (className) => `You're trying to use not initalized model: ${className}.`,
12
- DISCLAIMER_MESSAGE: `
13
- [!important] Incubation Project
14
-
15
- 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.
16
- 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.
17
- `,
18
- NOT_NATIVE_MODEL: `
19
- [!important]
20
-
21
- You are using models that are not part of the Impact Framework standard library. You should do your own research to ensure the models are up to date and accurate. They may not be actively maintained.
22
- `,
23
- SOMETHING_WRONG: 'Something wrong with cli arguments. Please check docs.',
24
- ISSUE_TEMPLATE: `
25
- 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:
26
- https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+
27
- `,
28
- NOT_CONSTRUCTABLE_MODEL: (params) => `Provided model '${params.model}' is not constructable or does not belong to given plugin '${params.path}'.`,
29
- INVALID_MODULE_PATH: (path) => `Provided module path: '${path}' is invalid.`,
30
- INVALID_TIME_NORMALIZATION: 'Start time or end time is missing.',
31
- INVALID_TIME_INTERVAL: 'Interval is missing.',
32
- INVALID_OBSERVATION_OVERLAP: 'Observation timestamps overlap.',
33
- };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwyQ0FBMkM7SUFDN0QsZUFBZSxFQUFFLHVCQUF1QjtJQUN4QyxpQkFBaUIsRUFBRSx5Q0FBeUM7SUFDNUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCwwQkFBMEIsRUFDeEIsd0RBQXdEO0lBQzFELG1CQUFtQixFQUFFLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQ3pDLHNDQUFzQyxTQUFTLGdCQUFnQjtJQUNqRSxxQkFBcUIsRUFBRSxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUMzQyw4Q0FBOEMsU0FBUyxHQUFHO0lBQzVELGtCQUFrQixFQUFFOzs7OztDQUtyQjtJQUNDLGdCQUFnQixFQUFFOzs7O0NBSW5CO0lBQ0MsZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7OztDQUdqQjtJQUNDLHVCQUF1QixFQUFFLENBQUMsTUFBNEIsRUFBRSxFQUFFLENBQ3hELG1CQUFtQixNQUFNLENBQUMsS0FBSyw4REFBOEQsTUFBTSxDQUFDLElBQUksSUFBSTtJQUM5RyxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLDBCQUEwQixJQUFJLGVBQWU7SUFDL0MsMEJBQTBCLEVBQUUsb0NBQW9DO0lBQ2hFLHFCQUFxQixFQUFFLHNCQUFzQjtJQUM3QywyQkFBMkIsRUFBRSxpQ0FBaUM7Q0FDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NDb250YWluZXJQYXJhbXN9IGZyb20gJy4uL3R5cGVzL21vZGVscy11bml2ZXJzZSc7XG5cbmV4cG9ydCBjb25zdCBTVFJJTkdTID0ge1xuICBGSUxFX0lTX05PVF9ZQU1MOiAnUHJvdmlkZWQgaW1wbCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBJTVBMX0lTX01JU1NJTkc6ICdJbXBsIGZpbGUgaXMgbWlzc2luZy4nLFxuICBNSVNTSU5HX0NMQVNTTkFNRTogXCJJbml0YWxpemF0aW9uIHBhcmFtICdtb2RlbCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIE5PVF9NT0RFTF9QTFVHSU5fRVhURU5TSU9OOlxuICAgIFwiUHJvdmlkZWQgbW9kZWwgZG9lcyBub3QgZXh0ZW5kICdNb2RlbFBsdWdpbkludGVyZmFjZScuXCIsXG4gIFNUUlVDVFVSRV9NQUxGT1JNRUQ6IChjaGlsZE5hbWU6IHN0cmluZykgPT5cbiAgICBgR3JhcGggaXMgbWFsZm9ybWVkOiBncmFwaC5jaGlsZHJlbi4ke2NoaWxkTmFtZX0gaXMgbm90IHZhbGlkLmAsXG4gIE5PVF9JTklUSUFMSVpFRF9NT0RFTDogKGNsYXNzTmFtZTogc3RyaW5nKSA9PlxuICAgIGBZb3UncmUgdHJ5aW5nIHRvIHVzZSBub3QgaW5pdGFsaXplZCBtb2RlbDogJHtjbGFzc05hbWV9LmAsXG4gIERJU0NMQUlNRVJfTUVTU0FHRTogYFxuWyFpbXBvcnRhbnRdIEluY3ViYXRpb24gUHJvamVjdFxuXG5UaGlzIHByb2plY3QgaXMgYW4gaW5jdWJhdGlvbiBwcm9qZWN0IGJlaW5nIHJ1biBpbnNpZGUgdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb247IGFzIHN1Y2gsIHdlICpET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5cbmAsXG4gIE5PVF9OQVRJVkVfTU9ERUw6IGBcblshaW1wb3J0YW50XVxuXG5Zb3UgYXJlIHVzaW5nIG1vZGVscyB0aGF0IGFyZSBub3QgcGFydCBvZiB0aGUgSW1wYWN0IEZyYW1ld29yayBzdGFuZGFyZCBsaWJyYXJ5LiBZb3Ugc2hvdWxkIGRvIHlvdXIgb3duIHJlc2VhcmNoIHRvIGVuc3VyZSB0aGUgbW9kZWxzIGFyZSB1cCB0byBkYXRlIGFuZCBhY2N1cmF0ZS4gVGhleSBtYXkgbm90IGJlIGFjdGl2ZWx5IG1haW50YWluZWQuICBcbmAsXG4gIFNPTUVUSElOR19XUk9ORzogJ1NvbWV0aGluZyB3cm9uZyB3aXRoIGNsaSBhcmd1bWVudHMuIFBsZWFzZSBjaGVjayBkb2NzLicsXG4gIElTU1VFX1RFTVBMQVRFOiBgXG5JbXBhY3QgRnJhbWV3b3JrIGlzIGFuIGFscGhhIHJlbGVhc2UgZnJvbSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbiBhbmQgaXMgcmVsZWFzZWQgdG8gY2FwdHVyZSBlYXJseSBmZWVkYmFjay4gSWYgeW91J2QgbGlrZSB0byBvZmZlciBzb21lIGZlZWRiYWNrLCBwbGVhc2UgdXNlIHRoaXMgaXNzdWUgdGVtcGxhdGU6IFxuaHR0cHM6Ly9naXRodWIuY29tL0dyZWVuLVNvZnR3YXJlLUZvdW5kYXRpb24vaWYvaXNzdWVzL25ldz9hc3NpZ25lZXM9JmxhYmVscz1mZWVkYmFjayZwcm9qZWN0cz0mdGVtcGxhdGU9ZmVlZGJhY2subWQmdGl0bGU9RmVlZGJhY2srLStcbmAsXG4gIE5PVF9DT05TVFJVQ1RBQkxFX01PREVMOiAocGFyYW1zOiBDbGFzc0NvbnRhaW5lclBhcmFtcykgPT5cbiAgICBgUHJvdmlkZWQgbW9kZWwgJyR7cGFyYW1zLm1vZGVsfScgaXMgbm90IGNvbnN0cnVjdGFibGUgb3IgZG9lcyBub3QgYmVsb25nIHRvIGdpdmVuIHBsdWdpbiAnJHtwYXJhbXMucGF0aH0nLmAsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZSBwYXRoOiAnJHtwYXRofScgaXMgaW52YWxpZC5gLFxuICBJTlZBTElEX1RJTUVfTk9STUFMSVpBVElPTjogJ1N0YXJ0IHRpbWUgb3IgZW5kIHRpbWUgaXMgbWlzc2luZy4nLFxuICBJTlZBTElEX1RJTUVfSU5URVJWQUw6ICdJbnRlcnZhbCBpcyBtaXNzaW5nLicsXG4gIElOVkFMSURfT0JTRVJWQVRJT05fT1ZFUkxBUDogJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcC4nLFxufTtcbiJdfQ==
package/build/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/build/index.js DELETED
@@ -1,53 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const models_universe_1 = require("./lib/models-universe");
5
- const supercomputer_1 = require("./lib/supercomputer");
6
- const args_1 = require("./util/args");
7
- const errors_1 = require("./util/errors");
8
- const helpers_1 = require("./util/helpers");
9
- const validations_1 = require("./util/validations");
10
- const yaml_1 = require("./util/yaml");
11
- const config_1 = require("./config");
12
- const { CliInputError } = errors_1.ERRORS;
13
- const { DISCLAIMER_MESSAGE, SOMETHING_WRONG } = config_1.STRINGS;
14
- /**
15
- * 1. Parses yml input/output process arguments.
16
- * 2. Opens yaml file as an object.
17
- * 3. Validates given impl to match basic structure.
18
- * 4. Initializes requested models.
19
- * 5. Initializes graph, does computing.
20
- * 6. Saves processed object as a yaml file.
21
- * @example run `yarn impact-engine --impl ./test.yml --ompl ./result.yml`
22
- */
23
- const impactEngine = async () => {
24
- console.log(DISCLAIMER_MESSAGE);
25
- const processParams = (0, args_1.parseProcessArgument)();
26
- if (processParams) {
27
- const { inputPath, outputPath } = processParams;
28
- const rawImpl = await (0, yaml_1.openYamlFileAsObject)(inputPath);
29
- // Lifecycle Validation
30
- const impl = (0, validations_1.validateImpl)(rawImpl);
31
- // Lifecycle Initialize Models
32
- const modelsHandbook = new models_universe_1.ModelsUniverse();
33
- for (const model of impl.initialize.models) {
34
- await modelsHandbook.writeDown(model);
35
- }
36
- // Lifecycle Computing
37
- const engine = new supercomputer_1.Supercomputer(impl, modelsHandbook);
38
- const ompl = await engine.compute();
39
- if (impl.aggregation) {
40
- const aggregations = engine.calculateAggregation();
41
- ompl['aggregated-outputs'] = aggregations;
42
- }
43
- if (!outputPath) {
44
- console.log(JSON.stringify(ompl));
45
- return;
46
- }
47
- await (0, yaml_1.saveYamlFileAs)(ompl, outputPath);
48
- return;
49
- }
50
- return Promise.reject(new CliInputError(SOMETHING_WRONG));
51
- };
52
- impactEngine().catch(helpers_1.andHandle);
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQXFEO0FBQ3JELHVEQUFrRDtBQUVsRCxzQ0FBaUQ7QUFDakQsMENBQXFDO0FBQ3JDLDRDQUF5QztBQUN6QyxvREFBZ0Q7QUFDaEQsc0NBQWlFO0FBRWpFLHFDQUFpQztBQUlqQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXREOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQW9CLEdBQUUsQ0FBQztJQUU3QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLEdBQUcsYUFBYSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTyxTQUFTLENBQUMsQ0FBQztRQUU1RCx1QkFBdUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBQSwwQkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxJQUFJLGdDQUFjLEVBQUUsQ0FBQztRQUM1QyxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsTUFBTSxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sSUFBQSxxQkFBYyxFQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV2QyxPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge01vZGVsc1VuaXZlcnNlfSBmcm9tICcuL2xpYi9tb2RlbHMtdW5pdmVyc2UnO1xuaW1wb3J0IHtTdXBlcmNvbXB1dGVyfSBmcm9tICcuL2xpYi9zdXBlcmNvbXB1dGVyJztcblxuaW1wb3J0IHtwYXJzZVByb2Nlc3NBcmd1bWVudH0gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vdXRpbC9lcnJvcnMnO1xuaW1wb3J0IHthbmRIYW5kbGV9IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7dmFsaWRhdGVJbXBsfSBmcm9tICcuL3V0aWwvdmFsaWRhdGlvbnMnO1xuaW1wb3J0IHtvcGVuWWFtbEZpbGVBc09iamVjdCwgc2F2ZVlhbWxGaWxlQXN9IGZyb20gJy4vdXRpbC95YW1sJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL2NvbmZpZyc7XG5cbmltcG9ydCB7SW1wbH0gZnJvbSAnLi90eXBlcy9pbXBsJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuLyoqXG4gKiAxLiBQYXJzZXMgeW1sIGlucHV0L291dHB1dCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqIDIuIE9wZW5zIHlhbWwgZmlsZSBhcyBhbiBvYmplY3QuXG4gKiAzLiBWYWxpZGF0ZXMgZ2l2ZW4gaW1wbCB0byBtYXRjaCBiYXNpYyBzdHJ1Y3R1cmUuXG4gKiA0LiBJbml0aWFsaXplcyByZXF1ZXN0ZWQgbW9kZWxzLlxuICogNS4gSW5pdGlhbGl6ZXMgZ3JhcGgsIGRvZXMgY29tcHV0aW5nLlxuICogNi4gU2F2ZXMgcHJvY2Vzc2VkIG9iamVjdCBhcyBhIHlhbWwgZmlsZS5cbiAqIEBleGFtcGxlIHJ1biBgeWFybiBpbXBhY3QtZW5naW5lIC0taW1wbCAuL3Rlc3QueW1sIC0tb21wbCAuL3Jlc3VsdC55bWxgXG4gKi9cbmNvbnN0IGltcGFjdEVuZ2luZSA9IGFzeW5jICgpID0+IHtcbiAgY29uc29sZS5sb2coRElTQ0xBSU1FUl9NRVNTQUdFKTtcblxuICBjb25zdCBwcm9jZXNzUGFyYW1zID0gcGFyc2VQcm9jZXNzQXJndW1lbnQoKTtcblxuICBpZiAocHJvY2Vzc1BhcmFtcykge1xuICAgIGNvbnN0IHtpbnB1dFBhdGgsIG91dHB1dFBhdGh9ID0gcHJvY2Vzc1BhcmFtcztcbiAgICBjb25zdCByYXdJbXBsID0gYXdhaXQgb3BlbllhbWxGaWxlQXNPYmplY3Q8SW1wbD4oaW5wdXRQYXRoKTtcblxuICAgIC8vIExpZmVjeWNsZSBWYWxpZGF0aW9uXG4gICAgY29uc3QgaW1wbCA9IHZhbGlkYXRlSW1wbChyYXdJbXBsKTtcblxuICAgIC8vIExpZmVjeWNsZSBJbml0aWFsaXplIE1vZGVsc1xuICAgIGNvbnN0IG1vZGVsc0hhbmRib29rID0gbmV3IE1vZGVsc1VuaXZlcnNlKCk7XG4gICAgZm9yIChjb25zdCBtb2RlbCBvZiBpbXBsLmluaXRpYWxpemUubW9kZWxzKSB7XG4gICAgICBhd2FpdCBtb2RlbHNIYW5kYm9vay53cml0ZURvd24obW9kZWwpO1xuICAgIH1cblxuICAgIC8vIExpZmVjeWNsZSBDb21wdXRpbmdcbiAgICBjb25zdCBlbmdpbmUgPSBuZXcgU3VwZXJjb21wdXRlcihpbXBsLCBtb2RlbHNIYW5kYm9vayk7XG4gICAgY29uc3Qgb21wbCA9IGF3YWl0IGVuZ2luZS5jb21wdXRlKCk7XG5cbiAgICBpZiAoaW1wbC5hZ2dyZWdhdGlvbikge1xuICAgICAgY29uc3QgYWdncmVnYXRpb25zID0gZW5naW5lLmNhbGN1bGF0ZUFnZ3JlZ2F0aW9uKCk7XG4gICAgICBvbXBsWydhZ2dyZWdhdGVkLW91dHB1dHMnXSA9IGFnZ3JlZ2F0aW9ucztcbiAgICB9XG5cbiAgICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KG9tcGwpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlWWFtbEZpbGVBcyhvbXBsLCBvdXRwdXRQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQ2xpSW5wdXRFcnJvcihTT01FVEhJTkdfV1JPTkcpKTtcbn07XG5cbmltcGFjdEVuZ2luZSgpLmNhdGNoKGFuZEhhbmRsZSk7XG4iXX0=
@@ -1,36 +0,0 @@
1
- import { ImplInitializeModel, InitalizedModels } from '../types/models-universe';
2
- /**
3
- * Models Initialization Lifecycle.
4
- */
5
- export declare class ModelsUniverse {
6
- /**
7
- * Models list.
8
- */
9
- initalizedModels: InitalizedModels;
10
- /**
11
- * Checks if model is instance of `IOutputModelInterface`.
12
- */
13
- private instanceOfModel;
14
- /**
15
- * Imports module by given `path`.
16
- */
17
- private importModuleFrom;
18
- /**
19
- * Imports `module` from given `path`, then checks if it's `ModelPluginInterface` extension.
20
- */
21
- private importAndVerifyModule;
22
- /**
23
- * Returns plugin model. Checks if model is missing then rejects with error.
24
- * Then checks if `path` is starting with github, then grabs the repository name.
25
- * Imports module, then checks if it's a class which implements input model interface.
26
- */
27
- private handModel;
28
- /**
29
- * Initializes and registers model.
30
- */
31
- writeDown(modelToInitalize: ImplInitializeModel): Promise<InitalizedModels>;
32
- /**
33
- * Returns existing model by `name`.
34
- */
35
- getInitializedModel(modelName: string, config: any): Promise<import("../types/model-interface").ModelPluginInterface>;
36
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelsUniverse = void 0;
4
- const pathLib = require("path");
5
- const errors_1 = require("../util/errors");
6
- const config_1 = require("../config");
7
- const { ModelInitializationError, ModelCredentialError } = errors_1.ERRORS;
8
- const { GITHUB_PATH, NATIVE_MODEL } = config_1.CONFIG;
9
- const { MISSING_CLASSNAME, NOT_MODEL_PLUGIN_EXTENSION, MISSING_PATH, NOT_NATIVE_MODEL, NOT_CONSTRUCTABLE_MODEL, NOT_INITIALIZED_MODEL, INVALID_MODULE_PATH, } = config_1.STRINGS;
10
- /**
11
- * Models Initialization Lifecycle.
12
- */
13
- class ModelsUniverse {
14
- constructor() {
15
- /**
16
- * Models list.
17
- */
18
- this.initalizedModels = {};
19
- }
20
- /**
21
- * Checks if model is instance of `IOutputModelInterface`.
22
- */
23
- instanceOfModel(ClassContainer, params) {
24
- try {
25
- const testModel = new ClassContainer();
26
- const boolable = 'configure' in testModel && 'execute' in testModel;
27
- return boolable;
28
- }
29
- catch (error) {
30
- throw new ModelInitializationError(NOT_CONSTRUCTABLE_MODEL(params));
31
- }
32
- }
33
- /**
34
- * Imports module by given `path`.
35
- */
36
- async importModuleFrom(path) {
37
- try {
38
- const module = await Promise.resolve(`${path}`).then(s => require(s));
39
- return module;
40
- }
41
- catch (error) {
42
- console.log(error);
43
- throw new ModelInitializationError(INVALID_MODULE_PATH(path));
44
- }
45
- }
46
- /**
47
- * Imports `module` from given `path`, then checks if it's `ModelPluginInterface` extension.
48
- */
49
- async importAndVerifyModule(model, path) {
50
- const pluginModule = await this.importModuleFrom(path);
51
- if (!this.instanceOfModel(pluginModule[model], { model, path })) {
52
- throw new ModelInitializationError(NOT_MODEL_PLUGIN_EXTENSION);
53
- }
54
- return pluginModule[model];
55
- }
56
- /**
57
- * Returns plugin model. Checks if model is missing then rejects with error.
58
- * Then checks if `path` is starting with github, then grabs the repository name.
59
- * Imports module, then checks if it's a class which implements input model interface.
60
- */
61
- async handModel(model, path) {
62
- if (path === 'builtin') {
63
- path = pathLib.normalize(`${__dirname}/../models/index.ts`);
64
- }
65
- else {
66
- if (path?.startsWith(GITHUB_PATH)) {
67
- const parts = path.split('/');
68
- path = parts[parts.length - 1];
69
- }
70
- if (!path.includes(NATIVE_MODEL)) {
71
- console.log(NOT_NATIVE_MODEL);
72
- }
73
- }
74
- return this.importAndVerifyModule(model, path);
75
- }
76
- /**
77
- * Initializes and registers model.
78
- */
79
- async writeDown(modelToInitalize) {
80
- const { model, path, config, name } = modelToInitalize;
81
- if (!model) {
82
- throw new ModelCredentialError(MISSING_CLASSNAME);
83
- }
84
- if (!path) {
85
- throw new ModelCredentialError(MISSING_PATH);
86
- }
87
- const Model = await this.handModel(model, path);
88
- const callback = async (graphOptions) => {
89
- const params = {
90
- ...config,
91
- ...graphOptions,
92
- };
93
- const initalizedModel = await new Model().configure(params);
94
- return initalizedModel;
95
- };
96
- this.initalizedModels = {
97
- ...this.initalizedModels,
98
- [name]: callback,
99
- };
100
- return this.initalizedModels;
101
- }
102
- /**
103
- * Returns existing model by `name`.
104
- */
105
- async getInitializedModel(modelName, config) {
106
- if (this.initalizedModels[modelName]) {
107
- return this.initalizedModels[modelName](config);
108
- }
109
- throw new ModelInitializationError(NOT_INITIALIZED_MODEL(modelName));
110
- }
111
- }
112
- exports.ModelsUniverse = ModelsUniverse;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLXVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9tb2RlbHMtdW5pdmVyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQWlDO0FBRWpDLDJDQUFzQztBQUV0QyxzQ0FBMEM7QUFTMUMsTUFBTSxFQUFDLHdCQUF3QixFQUFFLG9CQUFvQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRWhFLE1BQU0sRUFBQyxXQUFXLEVBQUUsWUFBWSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBQzNDLE1BQU0sRUFDSixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixtQkFBbUIsR0FDcEIsR0FBRyxnQkFBTyxDQUFDO0FBRVo7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFBM0I7UUFDRTs7V0FFRztRQUNJLHFCQUFnQixHQUFxQixFQUFFLENBQUM7SUE4R2pELENBQUM7SUE1R0M7O09BRUc7SUFDSyxlQUFlLENBQUMsY0FBbUIsRUFBRSxNQUE0QjtRQUN2RSxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFdBQVcsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQztZQUVwRSxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBWTtRQUN6QyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyx5QkFBYSxJQUFJLHlCQUFDLENBQUM7WUFFbEMsT0FBTyxNQUFNLENBQUM7UUFD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QyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxNQUFNLElBQUksd0JBQXdCLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUFsSEQsd0NBa0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1xuICBDbGFzc0NvbnRhaW5lclBhcmFtcyxcbiAgR3JhcGhPcHRpb25zLFxuICBJbXBsSW5pdGlhbGl6ZU1vZGVsLFxuICBJbml0YWxpemVkTW9kZWxzLFxufSBmcm9tICcuLi90eXBlcy9tb2RlbHMtdW5pdmVyc2UnO1xuXG5jb25zdCB7TW9kZWxJbml0aWFsaXphdGlvbkVycm9yLCBNb2RlbENyZWRlbnRpYWxFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtHSVRIVUJfUEFUSCwgTkFUSVZFX01PREVMfSA9IENPTkZJRztcbmNvbnN0IHtcbiAgTUlTU0lOR19DTEFTU05BTUUsXG4gIE5PVF9NT0RFTF9QTFVHSU5fRVhURU5TSU9OLFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9OQVRJVkVfTU9ERUwsXG4gIE5PVF9DT05TVFJVQ1RBQkxFX01PREVMLFxuICBOT1RfSU5JVElBTElaRURfTU9ERUwsXG4gIElOVkFMSURfTU9EVUxFX1BBVEgsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBNb2RlbHMgSW5pdGlhbGl6YXRpb24gTGlmZWN5Y2xlLlxuICovXG5leHBvcnQgY2xhc3MgTW9kZWxzVW5pdmVyc2Uge1xuICAvKipcbiAgICogTW9kZWxzIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdGFsaXplZE1vZGVsczogSW5pdGFsaXplZE1vZGVscyA9IHt9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgbW9kZWwgaXMgaW5zdGFuY2Ugb2YgYElPdXRwdXRNb2RlbEludGVyZmFjZWAuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbmNlT2ZNb2RlbChDbGFzc0NvbnRhaW5lcjogYW55LCBwYXJhbXM6IENsYXNzQ29udGFpbmVyUGFyYW1zKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRlc3RNb2RlbCA9IG5ldyBDbGFzc0NvbnRhaW5lcigpO1xuICAgICAgY29uc3QgYm9vbGFibGUgPSAnY29uZmlndXJlJyBpbiB0ZXN0TW9kZWwgJiYgJ2V4ZWN1dGUnIGluIHRlc3RNb2RlbDtcblxuICAgICAgcmV0dXJuIGJvb2xhYmxlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgTW9kZWxJbml0aWFsaXphdGlvbkVycm9yKE5PVF9DT05TVFJVQ1RBQkxFX01PREVMKHBhcmFtcykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIG1vZHVsZSBieSBnaXZlbiBgcGF0aGAuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGltcG9ydE1vZHVsZUZyb20ocGF0aDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChwYXRoKTtcblxuICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgdGhyb3cgbmV3IE1vZGVsSW5pdGlhbGl6YXRpb25FcnJvcihJTlZBTElEX01PRFVMRV9QQVRIKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1vZGVsOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHBsdWdpbk1vZHVsZSA9IGF3YWl0IHRoaXMuaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICAgIGlmICghdGhpcy5pbnN0YW5jZU9mTW9kZWwocGx1Z2luTW9kdWxlW21vZGVsXSwge21vZGVsLCBwYXRofSkpIHtcbiAgICAgIHRocm93IG5ldyBNb2RlbEluaXRpYWxpemF0aW9uRXJyb3IoTk9UX01PREVMX1BMVUdJTl9FWFRFTlNJT04pO1xuICAgIH1cblxuICAgIHJldHVybiBwbHVnaW5Nb2R1bGVbbW9kZWxdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcGx1Z2luIG1vZGVsLiBDaGVja3MgaWYgbW9kZWwgaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAgICogVGhlbiBjaGVja3MgaWYgYHBhdGhgIGlzIHN0YXJ0aW5nIHdpdGggZ2l0aHViLCB0aGVuIGdyYWJzIHRoZSByZXBvc2l0b3J5IG5hbWUuXG4gICAqIEltcG9ydHMgbW9kdWxlLCB0aGVuIGNoZWNrcyBpZiBpdCdzIGEgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyBpbnB1dCBtb2RlbCBpbnRlcmZhY2UuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGhhbmRNb2RlbChtb2RlbDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgICBwYXRoID0gcGF0aExpYi5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9tb2RlbHMvaW5kZXgudHNgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBhdGg/LnN0YXJ0c1dpdGgoR0lUSFVCX1BBVEgpKSB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgICBwYXRoID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgICB9XG5cbiAgICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfTU9ERUwpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKE5PVF9OQVRJVkVfTU9ERUwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmltcG9ydEFuZFZlcmlmeU1vZHVsZShtb2RlbCwgcGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYW5kIHJlZ2lzdGVycyBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB3cml0ZURvd24obW9kZWxUb0luaXRhbGl6ZTogSW1wbEluaXRpYWxpemVNb2RlbCkge1xuICAgIGNvbnN0IHttb2RlbCwgcGF0aCwgY29uZmlnLCBuYW1lfSA9IG1vZGVsVG9Jbml0YWxpemU7XG5cbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgTW9kZWxDcmVkZW50aWFsRXJyb3IoTUlTU0lOR19DTEFTU05BTUUpO1xuICAgIH1cblxuICAgIGlmICghcGF0aCkge1xuICAgICAgdGhyb3cgbmV3IE1vZGVsQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gICAgfVxuXG4gICAgY29uc3QgTW9kZWwgPSBhd2FpdCB0aGlzLmhhbmRNb2RlbChtb2RlbCwgcGF0aCk7XG5cbiAgICBjb25zdCBjYWxsYmFjayA9IGFzeW5jIChncmFwaE9wdGlvbnM6IEdyYXBoT3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIC4uLmdyYXBoT3B0aW9ucyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGluaXRhbGl6ZWRNb2RlbCA9IGF3YWl0IG5ldyBNb2RlbCgpLmNvbmZpZ3VyZShwYXJhbXMpO1xuXG4gICAgICByZXR1cm4gaW5pdGFsaXplZE1vZGVsO1xuICAgIH07XG5cbiAgICB0aGlzLmluaXRhbGl6ZWRNb2RlbHMgPSB7XG4gICAgICAuLi50aGlzLmluaXRhbGl6ZWRNb2RlbHMsXG4gICAgICBbbmFtZV06IGNhbGxiYWNrLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5pbml0YWxpemVkTW9kZWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZXhpc3RpbmcgbW9kZWwgYnkgYG5hbWVgLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEluaXRpYWxpemVkTW9kZWwobW9kZWxOYW1lOiBzdHJpbmcsIGNvbmZpZzogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5pdGFsaXplZE1vZGVsc1ttb2RlbE5hbWVdKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbml0YWxpemVkTW9kZWxzW21vZGVsTmFtZV0oY29uZmlnKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgTW9kZWxJbml0aWFsaXphdGlvbkVycm9yKE5PVF9JTklUSUFMSVpFRF9NT0RFTChtb2RlbE5hbWUpKTtcbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { ModelPluginInterface } from '../types/model-interface';
2
- /**
3
- * Observatory is responsible for output calculations based on the `inputs` and the `model`.
4
- */
5
- export declare class Observatory {
6
- private inputs;
7
- private outputs;
8
- /**
9
- * Init inputs object.
10
- */
11
- constructor(inputs: any);
12
- /**
13
- * Does investigations by given `output` information
14
- */
15
- doInvestigationsWith(modelInstance: ModelPluginInterface): Promise<this>;
16
- /**
17
- * Getter for output data.
18
- */
19
- getOutputs(): any[];
20
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Observatory = void 0;
4
- /**
5
- * Observatory is responsible for output calculations based on the `inputs` and the `model`.
6
- */
7
- class Observatory {
8
- /**
9
- * Init inputs object.
10
- */
11
- constructor(inputs) {
12
- this.outputs = [];
13
- this.inputs = inputs;
14
- }
15
- /**
16
- * Does investigations by given `output` information
17
- */
18
- async doInvestigationsWith(modelInstance) {
19
- const reuseCalculation = this.outputs.length ? this.outputs : this.inputs;
20
- this.outputs = await modelInstance.execute(reuseCalculation);
21
- return this;
22
- }
23
- /**
24
- * Getter for output data.
25
- */
26
- getOutputs() {
27
- return this.outputs;
28
- }
29
- }
30
- exports.Observatory = Observatory;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL29ic2VydmF0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBSXRCOztPQUVHO0lBQ0gsWUFBWSxNQUFXO1FBTGYsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQU0xQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsYUFBbUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsa0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcblxuLyoqXG4gKiBPYnNlcnZhdG9yeSBpcyByZXNwb25zaWJsZSBmb3Igb3V0cHV0IGNhbGN1bGF0aW9ucyBiYXNlZCBvbiB0aGUgYGlucHV0c2AgYW5kIHRoZSBgbW9kZWxgLlxuICovXG5leHBvcnQgY2xhc3MgT2JzZXJ2YXRvcnkge1xuICBwcml2YXRlIGlucHV0czogYW55W107XG4gIHByaXZhdGUgb3V0cHV0czogYW55W10gPSBbXTtcblxuICAvKipcbiAgICogSW5pdCBpbnB1dHMgb2JqZWN0LlxuICAgKi9cbiAgY29uc3RydWN0b3IoaW5wdXRzOiBhbnkpIHtcbiAgICB0aGlzLmlucHV0cyA9IGlucHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb2VzIGludmVzdGlnYXRpb25zIGJ5IGdpdmVuIGBvdXRwdXRgIGluZm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZG9JbnZlc3RpZ2F0aW9uc1dpdGgobW9kZWxJbnN0YW5jZTogTW9kZWxQbHVnaW5JbnRlcmZhY2UpIHtcbiAgICBjb25zdCByZXVzZUNhbGN1bGF0aW9uID0gdGhpcy5vdXRwdXRzLmxlbmd0aCA/IHRoaXMub3V0cHV0cyA6IHRoaXMuaW5wdXRzO1xuXG4gICAgdGhpcy5vdXRwdXRzID0gYXdhaXQgbW9kZWxJbnN0YW5jZS5leGVjdXRlKHJldXNlQ2FsY3VsYXRpb24pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciBvdXRwdXQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBnZXRPdXRwdXRzKCkge1xuICAgIHJldHVybiB0aGlzLm91dHB1dHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { AggregationResult, PlanetAggregatorParams } from '../types/planet-aggregator';
2
- import { ModelParams } from '../types/model-interface';
3
- /**
4
- * Aggregates child node level metrics. Uses provided aggregation `params`.
5
- */
6
- export declare const planetAggregator: (inputs: ModelParams[], params: PlanetAggregatorParams) => AggregationResult;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.planetAggregator = void 0;
4
- const errors_1 = require("../util/errors");
5
- const { InvalidAggregationParams } = errors_1.ERRORS;
6
- /**
7
- * Aggregates child node level metrics. Uses provided aggregation `params`.
8
- */
9
- const planetAggregator = (inputs, params) => {
10
- if (!params['aggregation-metrics'] ||
11
- params['aggregation-metrics'].length === 0) {
12
- throw new InvalidAggregationParams('Provided aggregation metrics are invalid. Please provide an array of strings.');
13
- }
14
- const aggregationMetrics = params['aggregation-metrics'];
15
- const aggregationMethod = params['aggregation-method'];
16
- return inputs.reduce((acc, input, index) => {
17
- for (const metric of aggregationMetrics) {
18
- if (!(metric in input)) {
19
- throw new InvalidAggregationParams(`Aggregation metric ${metric} is not found in inputs[${index}].`);
20
- }
21
- const accessKey = `aggregated-${metric}`;
22
- const value = parseFloat(input[metric]);
23
- acc[accessKey] = acc[accessKey] ?? 0;
24
- acc[accessKey] += value;
25
- if (index === inputs.length - 1) {
26
- if (aggregationMethod === 'avg') {
27
- acc[accessKey] /= inputs.length;
28
- }
29
- }
30
- }
31
- return acc;
32
- }, {});
33
- };
34
- exports.planetAggregator = planetAggregator;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFnZ3JlZ2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3BsYW5ldC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQVN0QyxNQUFNLEVBQUMsd0JBQXdCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFMUM7O0dBRUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLENBQzlCLE1BQXFCLEVBQ3JCLE1BQThCLEVBQzlCLEVBQUU7SUFDRixJQUNFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQzFDLENBQUM7UUFDRCxNQUFNLElBQUksd0JBQXdCLENBQ2hDLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFrQixDQUFDO0lBQzFFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSx3QkFBd0IsQ0FDaEMsc0JBQXNCLE1BQU0sMkJBQTJCLEtBQUssSUFBSSxDQUNqRSxDQUFDO1lBQ0osQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLGNBQWMsTUFBTSxFQUFFLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUM7WUFFeEIsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxpQkFBaUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQXVCLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUF0Q1csUUFBQSxnQkFBZ0Isb0JBc0MzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBQbGFuZXRBZ2dyZWdhdG9yUGFyYW1zLFxufSBmcm9tICcuLi90eXBlcy9wbGFuZXQtYWdncmVnYXRvcic7XG5pbXBvcnQge01vZGVsUGFyYW1zfSBmcm9tICcuLi90eXBlcy9tb2RlbC1pbnRlcmZhY2UnO1xuaW1wb3J0IHtVbml0S2V5TmFtZX0gZnJvbSAnLi4vdHlwZXMvdW5pdHMnO1xuXG5jb25zdCB7SW52YWxpZEFnZ3JlZ2F0aW9uUGFyYW1zfSA9IEVSUk9SUztcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVXNlcyBwcm92aWRlZCBhZ2dyZWdhdGlvbiBgcGFyYW1zYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBsYW5ldEFnZ3JlZ2F0b3IgPSAoXG4gIGlucHV0czogTW9kZWxQYXJhbXNbXSxcbiAgcGFyYW1zOiBQbGFuZXRBZ2dyZWdhdG9yUGFyYW1zXG4pID0+IHtcbiAgaWYgKFxuICAgICFwYXJhbXNbJ2FnZ3JlZ2F0aW9uLW1ldHJpY3MnXSB8fFxuICAgIHBhcmFtc1snYWdncmVnYXRpb24tbWV0cmljcyddLmxlbmd0aCA9PT0gMFxuICApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFnZ3JlZ2F0aW9uUGFyYW1zKFxuICAgICAgJ1Byb3ZpZGVkIGFnZ3JlZ2F0aW9uIG1ldHJpY3MgYXJlIGludmFsaWQuIFBsZWFzZSBwcm92aWRlIGFuIGFycmF5IG9mIHN0cmluZ3MuJ1xuICAgICk7XG4gIH1cblxuICBjb25zdCBhZ2dyZWdhdGlvbk1ldHJpY3MgPSBwYXJhbXNbJ2FnZ3JlZ2F0aW9uLW1ldHJpY3MnXSBhcyBVbml0S2V5TmFtZVtdO1xuICBjb25zdCBhZ2dyZWdhdGlvbk1ldGhvZCA9IHBhcmFtc1snYWdncmVnYXRpb24tbWV0aG9kJ107XG5cbiAgcmV0dXJuIGlucHV0cy5yZWR1Y2UoKGFjYywgaW5wdXQsIGluZGV4KSA9PiB7XG4gICAgZm9yIChjb25zdCBtZXRyaWMgb2YgYWdncmVnYXRpb25NZXRyaWNzKSB7XG4gICAgICBpZiAoIShtZXRyaWMgaW4gaW5wdXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXMoXG4gICAgICAgICAgYEFnZ3JlZ2F0aW9uIG1ldHJpYyAke21ldHJpY30gaXMgbm90IGZvdW5kIGluIGlucHV0c1ske2luZGV4fV0uYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY2Nlc3NLZXkgPSBgYWdncmVnYXRlZC0ke21ldHJpY31gO1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KGlucHV0W21ldHJpY10pO1xuICAgICAgYWNjW2FjY2Vzc0tleV0gPSBhY2NbYWNjZXNzS2V5XSA/PyAwO1xuICAgICAgYWNjW2FjY2Vzc0tleV0gKz0gdmFsdWU7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gaW5wdXRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgaWYgKGFnZ3JlZ2F0aW9uTWV0aG9kID09PSAnYXZnJykge1xuICAgICAgICAgIGFjY1thY2Nlc3NLZXldIC89IGlucHV0cy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG59O1xuIl19
@@ -1,37 +0,0 @@
1
- import { ModelsUniverse } from './models-universe';
2
- import { Impl } from '../types/impl';
3
- import { AggregationResult } from '../types/planet-aggregator';
4
- /**
5
- * Computer for `impl` documents.
6
- */
7
- export declare class Supercomputer {
8
- private olderChild;
9
- private impl;
10
- private modelsHandbook;
11
- private aggregatedImpacts;
12
- private childAmount;
13
- constructor(impl: Impl, modelsHandbook: ModelsUniverse);
14
- /**
15
- * Goes through all aggregations collected from child components, then calculates the average.
16
- */
17
- calculateAggregation(): AggregationResult;
18
- /**
19
- * Flattens config entries.
20
- */
21
- private flattenConfigValues;
22
- /**
23
- * Adds config entries to each obsercation object passed.
24
- */
25
- private enrichInputs;
26
- /**
27
- * If child is top level, then initializes `this.olderChild`.
28
- * If `children` object contains `children` property, it means inputs are nested (calls compute again).
29
- * Otherwise enriches inputs, passes them to Observatory.
30
- * For each model from pipeline Observatory gathers inputs. Then results are stored.
31
- */
32
- private calculateOutputsForChild;
33
- /**
34
- * Checks if object is top level children or nested, then runs through all children and calculates outputs.
35
- */
36
- compute(childrenObject?: any): Promise<Impl>;
37
- }