@grnsft/if 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CONTRIBUTING.md +8 -0
  2. package/README.md +3 -0
  3. package/build/builtins/export-csv-raw.js +2 -2
  4. package/build/builtins/export-csv.js +15 -2
  5. package/build/builtins/group-by.js +20 -5
  6. package/build/builtins/time-sync.js +2 -1
  7. package/build/config/strings.js +2 -3
  8. package/build/index.js +3 -3
  9. package/build/lib/compute.js +8 -8
  10. package/build/lib/load.js +5 -3
  11. package/build/lib/parameterize.d.ts +2 -1
  12. package/build/lib/parameterize.js +4 -4
  13. package/build/types/compute.d.ts +2 -2
  14. package/build/types/compute.js +1 -1
  15. package/build/util/aggregation-helper.js +4 -4
  16. package/build/util/errors.d.ts +1 -1
  17. package/build/util/errors.js +3 -3
  18. package/build/util/helpers.d.ts +2 -2
  19. package/build/util/helpers.js +12 -14
  20. package/examples/manifests/boavizta-pipeline.yml +13 -13
  21. package/examples/manifests/cloud-metadata-teads.yml +41 -0
  22. package/examples/manifests/cloud-metadata.yml +13 -34
  23. package/examples/manifests/e-net.yml +1 -1
  24. package/examples/manifests/generics.yml +14 -14
  25. package/examples/manifests/group-by.yml +21 -21
  26. package/examples/manifests/nesting.yml +16 -16
  27. package/examples/manifests/pipeline-demo-1.yml +4 -4
  28. package/examples/manifests/pipeline-demo-2.yml +16 -11
  29. package/examples/manifests/pipeline-demo.yml +10 -10
  30. package/examples/manifests/pipeline-teads-sci.yml +12 -12
  31. package/examples/manifests/pipeline-with-generics.yml +26 -21
  32. package/examples/manifests/pipeline-with-mocks.yml +23 -23
  33. package/examples/manifests/watt-time.yml +6 -13
  34. package/github-processes.md +158 -0
  35. package/package.json +1 -1
  36. package/src/builtins/README.md +40 -44
  37. package/examples/manifests/cim.yml +0 -20
  38. package/examples/manifests/teads-aws.yml +0 -22
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parameterize = void 0;
4
4
  const logger_1 = require("../util/logger");
5
- const config_1 = require("../config");
6
5
  const log_memoize_1 = require("../util/log-memoize");
6
+ const config_1 = require("../config");
7
7
  const { REJECTING_OVERRIDE, UNKNOWN_PARAM } = config_1.STRINGS;
8
8
  /**
9
9
  * Parameters manager. Provides get aggregation method and combine functionality.
@@ -15,7 +15,7 @@ const Parametrize = () => {
15
15
  */
16
16
  const getAggregationMethod = (unitName) => {
17
17
  if (`${unitName}` in parametersStorage) {
18
- return config_1.PARAMETERS[unitName].aggregation;
18
+ return parametersStorage[unitName].aggregation;
19
19
  }
20
20
  (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, UNKNOWN_PARAM(unitName));
21
21
  return 'sum';
@@ -29,7 +29,7 @@ const Parametrize = () => {
29
29
  if (contextParameters) {
30
30
  contextParameters.forEach(param => {
31
31
  if (`${param.name}` in parameters) {
32
- logger_1.logger.warn(REJECTING_OVERRIDE);
32
+ logger_1.logger.warn(REJECTING_OVERRIDE(param));
33
33
  return;
34
34
  }
35
35
  const { description, unit, aggregation, name } = param;
@@ -48,4 +48,4 @@ const Parametrize = () => {
48
48
  };
49
49
  };
50
50
  exports.parameterize = Parametrize();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9wYXJhbWV0ZXJpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBRXRDLHNDQUE4QztBQUc5QyxxREFBZ0Q7QUFFaEQsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsSUFBSSxpQkFBaUIsR0FBRyxtQkFBVSxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEdBQUcsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxtQkFBVSxDQUFDLFFBQW1DLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDcEU7UUFFRCxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxDQUNkLGlCQUF5RCxFQUN6RCxVQUFlLEVBQ2YsRUFBRTtRQUNGLElBQUksaUJBQWlCLEVBQUU7WUFDckIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRTtvQkFDakMsZUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUVoQyxPQUFPO2lCQUNSO2dCQUVELE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxLQUFLLENBQUM7Z0JBRXJELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDakIsV0FBVztvQkFDWCxJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL3V0aWwvbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTLCBQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcblxuY29uc3Qge1JFSkVDVElOR19PVkVSUklERSwgVU5LTk9XTl9QQVJBTX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgbWFuYWdlci4gUHJvdmlkZXMgZ2V0IGFnZ3JlZ2F0aW9uIG1ldGhvZCBhbmQgY29tYmluZSBmdW5jdGlvbmFsaXR5LlxuICovXG5jb25zdCBQYXJhbWV0cml6ZSA9ICgpID0+IHtcbiAgbGV0IHBhcmFtZXRlcnNTdG9yYWdlID0gUEFSQU1FVEVSUztcblxuICAvKipcbiAgICogUmV0dXJucyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yIGdpdmVuIGB1bml0TmFtZWAuIElmIGRvZXNuJ3QgZXhpc3QgdGhlbiByZXR1cm5zIHZhbHVlIGBzdW1gLlxuICAgKi9cbiAgY29uc3QgZ2V0QWdncmVnYXRpb25NZXRob2QgPSAodW5pdE5hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChgJHt1bml0TmFtZX1gIGluIHBhcmFtZXRlcnNTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gUEFSQU1FVEVSU1t1bml0TmFtZSBhcyBrZXlvZiB0eXBlb2YgUEFSQU1FVEVSU10uYWdncmVnYXRpb247XG4gICAgfVxuXG4gICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIFVOS05PV05fUEFSQU0odW5pdE5hbWUpKTtcblxuICAgIHJldHVybiAnc3VtJztcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQgaW4gY29udGV4dC5cbiAgICogSWYgc28sIHRoZW4gY2hlY2tzIGlmIHRoZXkgYXJlIGNvaW5jaWRlbnQgd2l0aCBkZWZhdWx0IG9uZXMgYW5kIGV4aXRzIHdpdGggd2FybmluZyBtZXNzYWdlLlxuICAgKiBPdGhlcndpc2UgYXBwZW5kcyBjb250ZXh0IGJhc2VkIHBhcmFtZXRlcnMgdG8gZGVmYXVsdHMuXG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKFxuICAgIGNvbnRleHRQYXJhbWV0ZXJzOiBNYW5pZmVzdFBhcmFtZXRlcltdIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbWV0ZXJzOiBhbnlcbiAgKSA9PiB7XG4gICAgaWYgKGNvbnRleHRQYXJhbWV0ZXJzKSB7XG4gICAgICBjb250ZXh0UGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgaWYgKGAke3BhcmFtLm5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oUkVKRUNUSU5HX09WRVJSSURFKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtkZXNjcmlwdGlvbiwgdW5pdCwgYWdncmVnYXRpb24sIG5hbWV9ID0gcGFyYW07XG5cbiAgICAgICAgcGFyYW1ldGVyc1tuYW1lXSA9IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICB1bml0LFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyYW1ldGVyc1N0b3JhZ2UgPSBwYXJhbWV0ZXJzO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgY29tYmluZSxcbiAgICBnZXRBZ2dyZWdhdGlvbk1ldGhvZCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJhbWV0ZXJpemUgPSBQYXJhbWV0cml6ZSgpO1xuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9wYXJhbWV0ZXJpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUVoRCxzQ0FBOEM7QUFLOUMsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsSUFBSSxpQkFBaUIsR0FBRyxtQkFBVSxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEdBQUcsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxpQkFBaUIsQ0FBQyxRQUFtQyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQzNFO1FBRUQsSUFBQSx5QkFBVyxFQUFDLGVBQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FDZCxpQkFBeUQsRUFDekQsVUFBc0IsRUFDdEIsRUFBRTtRQUNGLElBQUksaUJBQWlCLEVBQUU7WUFDckIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRTtvQkFDakMsZUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUV2QyxPQUFPO2lCQUNSO2dCQUVELE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxLQUFLLENBQUM7Z0JBRXJELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDakIsV0FBVztvQkFDWCxJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7bWVtb2l6ZWRMb2d9IGZyb20gJy4uL3V0aWwvbG9nLW1lbW9pemUnO1xuXG5pbXBvcnQge1NUUklOR1MsIFBBUkFNRVRFUlN9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7TWFuaWZlc3RQYXJhbWV0ZXJ9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbmNvbnN0IHtSRUpFQ1RJTkdfT1ZFUlJJREUsIFVOS05PV05fUEFSQU19ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIG1hbmFnZXIuIFByb3ZpZGVzIGdldCBhZ2dyZWdhdGlvbiBtZXRob2QgYW5kIGNvbWJpbmUgZnVuY3Rpb25hbGl0eS5cbiAqL1xuY29uc3QgUGFyYW1ldHJpemUgPSAoKSA9PiB7XG4gIGxldCBwYXJhbWV0ZXJzU3RvcmFnZSA9IFBBUkFNRVRFUlM7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWdncmVnYXRpb24gbWV0aG9kIGZvciBnaXZlbiBgdW5pdE5hbWVgLiBJZiBkb2Vzbid0IGV4aXN0IHRoZW4gcmV0dXJucyB2YWx1ZSBgc3VtYC5cbiAgICovXG4gIGNvbnN0IGdldEFnZ3JlZ2F0aW9uTWV0aG9kID0gKHVuaXROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoYCR7dW5pdE5hbWV9YCBpbiBwYXJhbWV0ZXJzU3RvcmFnZSkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlcnNTdG9yYWdlW3VuaXROYW1lIGFzIGtleW9mIHR5cGVvZiBQQVJBTUVURVJTXS5hZ2dyZWdhdGlvbjtcbiAgICB9XG5cbiAgICBtZW1vaXplZExvZyhsb2dnZXIud2FybiwgVU5LTk9XTl9QQVJBTSh1bml0TmFtZSkpO1xuXG4gICAgcmV0dXJuICdzdW0nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZCBpbiBjb250ZXh0LlxuICAgKiBJZiBzbywgdGhlbiBjaGVja3MgaWYgdGhleSBhcmUgY29pbmNpZGVudCB3aXRoIGRlZmF1bHQgb25lcyBhbmQgZXhpdHMgd2l0aCB3YXJuaW5nIG1lc3NhZ2UuXG4gICAqIE90aGVyd2lzZSBhcHBlbmRzIGNvbnRleHQgYmFzZWQgcGFyYW1ldGVycyB0byBkZWZhdWx0cy5cbiAgICovXG4gIGNvbnN0IGNvbWJpbmUgPSAoXG4gICAgY29udGV4dFBhcmFtZXRlcnM6IE1hbmlmZXN0UGFyYW1ldGVyW10gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHBhcmFtZXRlcnM6IFBhcmFtZXRlcnNcbiAgKSA9PiB7XG4gICAgaWYgKGNvbnRleHRQYXJhbWV0ZXJzKSB7XG4gICAgICBjb250ZXh0UGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgaWYgKGAke3BhcmFtLm5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oUkVKRUNUSU5HX09WRVJSSURFKHBhcmFtKSk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZGVzY3JpcHRpb24sIHVuaXQsIGFnZ3JlZ2F0aW9uLCBuYW1lfSA9IHBhcmFtO1xuXG4gICAgICAgIHBhcmFtZXRlcnNbbmFtZV0gPSB7XG4gICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgdW5pdCxcbiAgICAgICAgICBhZ2dyZWdhdGlvbixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHBhcmFtZXRlcnNTdG9yYWdlID0gcGFyYW1ldGVycztcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGNvbWJpbmUsXG4gICAgZ2V0QWdncmVnYXRpb25NZXRob2QsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcGFyYW1ldGVyaXplID0gUGFyYW1ldHJpemUoKTtcbiJdfQ==
@@ -5,7 +5,7 @@ export type NodeConfig = {
5
5
  [key: string]: Record<string, any>;
6
6
  };
7
7
  export type Params = {
8
- plugins: PluginStorageInterface;
8
+ pluginStorage: 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: PluginStorageInterface;
24
+ pluginStorage: PluginStorageInterface;
25
25
  };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpbnM6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luczogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luU3RvcmFnZTogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
@@ -4,7 +4,7 @@ exports.aggregateInputsIntoOne = void 0;
4
4
  const errors_1 = require("../util/errors");
5
5
  const parameterize_1 = require("../lib/parameterize");
6
6
  const config_1 = require("../config");
7
- const { InvalidAggregationParams } = errors_1.ERRORS;
7
+ const { InvalidAggregationParamsError } = errors_1.ERRORS;
8
8
  const { INVALID_AGGREGATION_METHOD, METRIC_MISSING } = config_1.STRINGS;
9
9
  const { AGGREGATION_ADDITIONAL_PARAMS } = config_1.CONFIG;
10
10
  /**
@@ -15,7 +15,7 @@ const checkIfMetricsAreValid = (metrics) => {
15
15
  metrics.forEach(metric => {
16
16
  const method = parameterize_1.parameterize.getAggregationMethod(metric);
17
17
  if (method === 'none') {
18
- throw new InvalidAggregationParams(INVALID_AGGREGATION_METHOD(metric));
18
+ throw new InvalidAggregationParamsError(INVALID_AGGREGATION_METHOD(metric));
19
19
  }
20
20
  });
21
21
  };
@@ -29,7 +29,7 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
29
29
  return inputs.reduce((acc, input, index) => {
30
30
  for (const metric of extendedMetrics) {
31
31
  if (!(metric in input)) {
32
- throw new InvalidAggregationParams(METRIC_MISSING(metric, index));
32
+ throw new InvalidAggregationParamsError(METRIC_MISSING(metric, index));
33
33
  }
34
34
  /** Checks if metric is timestamp or duration, then adds to aggregated value. */
35
35
  if (AGGREGATION_ADDITIONAL_PARAMS.includes(metric)) {
@@ -52,4 +52,4 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
52
52
  }, {});
53
53
  };
54
54
  exports.aggregateInputsIntoOne = aggregateInputsIntoOne;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQUN0QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSzFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMxQyxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLE1BQXNCLEVBQ3RCLE9BQWlCLEVBQ2pCLFVBQW9CLEVBQ3BCLEVBQUU7SUFDRixzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztJQUV2RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pDLEtBQUssTUFBTSxNQUFNLElBQUksZUFBZSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxJQUFJLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuRTtZQUVELGdGQUFnRjtZQUNoRixJQUFJLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDN0I7YUFDRjtpQkFBTTtnQkFDTCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFFekMscUNBQXFDO2dCQUNyQyxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDL0IsSUFBSSwyQkFBWSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssRUFBRTt3QkFDdkQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7cUJBQzlCO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQXVCLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFsQ1csUUFBQSxzQkFBc0IsMEJBa0NqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0FnZ3JlZ2F0aW9uUmVzdWx0fSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdGlvbic7XG5pbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcblxuY29uc3Qge0ludmFsaWRBZ2dyZWdhdGlvblBhcmFtc30gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXMoSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKSk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8qKlxuICogQWdncmVnYXRlcyBjaGlsZCBub2RlIGxldmVsIG1ldHJpY3MuIFZhbGlkYXRlcyBpZiBtZXRyaWMgYWdncmVnYXRpb24gdHlwZSBpcyBgbm9uZWAsIHRoZW4gcmVqZWN0cyB3aXRoIGVycm9yLlxuICogQXBwZW5kcyBhZ2dyZWdhdGlvbiBhZGRpdGlvbmFsIHBhcmFtcyB0byBtZXRyaWNzLiBPdGhlcndpc2UgaXRlcmF0ZXMgb3ZlciBpbnB1dHMgYnkgYWdncmVnYXRpbmcgcGVyIGdpdmVuIGBtZXRyaWNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUgPSAoXG4gIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gIG1ldHJpY3M6IHN0cmluZ1tdLFxuICBpc1RlbXBvcmFsPzogYm9vbGVhblxuKSA9PiB7XG4gIGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQobWV0cmljcyk7XG4gIGNvbnN0IGV4dGVuZGVkTWV0cmljcyA9IFsuLi5tZXRyaWNzLCAuLi5BR0dSRUdBVElPTl9BRERJVElPTkFMX1BBUkFNU107XG5cbiAgcmV0dXJuIGlucHV0cy5yZWR1Y2UoKGFjYywgaW5wdXQsIGluZGV4KSA9PiB7XG4gICAgZm9yIChjb25zdCBtZXRyaWMgb2YgZXh0ZW5kZWRNZXRyaWNzKSB7XG4gICAgICBpZiAoIShtZXRyaWMgaW4gaW5wdXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXMoTUVUUklDX01JU1NJTkcobWV0cmljLCBpbmRleCkpO1xuICAgICAgfVxuXG4gICAgICAvKiogQ2hlY2tzIGlmIG1ldHJpYyBpcyB0aW1lc3RhbXAgb3IgZHVyYXRpb24sIHRoZW4gYWRkcyB0byBhZ2dyZWdhdGVkIHZhbHVlLiAqL1xuICAgICAgaWYgKEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TLmluY2x1ZGVzKG1ldHJpYykpIHtcbiAgICAgICAgaWYgKGlzVGVtcG9yYWwpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSA9IGlucHV0W21ldHJpY107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1ttZXRyaWNdID0gYWNjW21ldHJpY10gPz8gMDtcbiAgICAgICAgYWNjW21ldHJpY10gKz0gcGFyc2VGbG9hdChpbnB1dFttZXRyaWNdKTtcblxuICAgICAgICAvKiogQ2hlY2tzIGZvciB0aGUgbGFzdCBpdGVyYXRpb24uICovXG4gICAgICAgIGlmIChpbmRleCA9PT0gaW5wdXRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBpZiAocGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYykgPT09ICdhdmcnKSB7XG4gICAgICAgICAgICBhY2NbbWV0cmljXSAvPSBpbnB1dHMubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbn07XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQUN0QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSzFDLE1BQU0sRUFBQyw2QkFBNkIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMvQyxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSw2QkFBNkIsQ0FDckMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxNQUFzQixFQUN0QixPQUFpQixFQUNqQixVQUFvQixFQUNwQixFQUFFO0lBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDeEU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHFDQUFxQztnQkFDckMsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksMkJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbENXLFFBQUEsc0JBQXNCLDBCQWtDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4uL2xpYi9wYXJhbWV0ZXJpemUnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtBZ2dyZWdhdGlvblJlc3VsdH0gZnJvbSAnLi4vdHlwZXMvYWdncmVnYXRpb24nO1xuaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmNvbnN0IHtJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcihcbiAgICAgICAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVmFsaWRhdGVzIGlmIG1ldHJpYyBhZ2dyZWdhdGlvbiB0eXBlIGlzIGBub25lYCwgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBBcHBlbmRzIGFnZ3JlZ2F0aW9uIGFkZGl0aW9uYWwgcGFyYW1zIHRvIG1ldHJpY3MuIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIGlucHV0cyBieSBhZ2dyZWdhdGluZyBwZXIgZ2l2ZW4gYG1ldHJpY3NgLlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlSW5wdXRzSW50b09uZSA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY2hlY2tJZk1ldHJpY3NBcmVWYWxpZChtZXRyaWNzKTtcbiAgY29uc3QgZXh0ZW5kZWRNZXRyaWNzID0gWy4uLm1ldHJpY3MsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZ2dyZWdhdGlvblBhcmFtc0Vycm9yKE1FVFJJQ19NSVNTSU5HKG1ldHJpYywgaW5kZXgpKTtcbiAgICAgIH1cblxuICAgICAgLyoqIENoZWNrcyBpZiBtZXRyaWMgaXMgdGltZXN0YW1wIG9yIGR1cmF0aW9uLCB0aGVuIGFkZHMgdG8gYWdncmVnYXRlZCB2YWx1ZS4gKi9cbiAgICAgIGlmIChBR0dSRUdBVElPTl9BRERJVElPTkFMX1BBUkFNUy5pbmNsdWRlcyhtZXRyaWMpKSB7XG4gICAgICAgIGlmIChpc1RlbXBvcmFsKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBpbnB1dFttZXRyaWNdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2NbbWV0cmljXSA9IGFjY1ttZXRyaWNdID8/IDA7XG4gICAgICAgIGFjY1ttZXRyaWNdICs9IHBhcnNlRmxvYXQoaW5wdXRbbWV0cmljXSk7XG5cbiAgICAgICAgLyoqIENoZWNrcyBmb3IgdGhlIGxhc3QgaXRlcmF0aW9uLiAqL1xuICAgICAgICBpZiAoaW5kZXggPT09IGlucHV0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgaWYgKHBhcmFtZXRlcml6ZS5nZXRBZ2dyZWdhdGlvbk1ldGhvZChtZXRyaWMpID09PSAnYXZnJykge1xuICAgICAgICAgICAgYWNjW21ldHJpY10gLz0gaW5wdXRzLmxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG59O1xuIl19
@@ -1,4 +1,4 @@
1
- declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParams", "InvalidGrouping", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
1
+ declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
2
2
  type CustomErrors = {
3
3
  [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
4
4
  };
@@ -8,8 +8,8 @@ const CUSTOM_ERRORS = [
8
8
  'ManifestValidationError',
9
9
  'ModuleInitializationError',
10
10
  'InputValidationError',
11
- 'InvalidAggregationParams',
12
- 'InvalidGrouping',
11
+ 'InvalidAggregationParamsError',
12
+ 'InvalidGroupingError',
13
13
  'PluginCredentialError',
14
14
  'PluginInitalizationError',
15
15
  'WriteFileError',
@@ -26,4 +26,4 @@ exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
26
26
  };
27
27
  return acc;
28
28
  }, {});
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQixnQkFBZ0I7Q0FDUixDQUFDO0FBTUUsUUFBQSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUM1RCxHQUFHLEdBQUc7UUFDSixHQUFHLEdBQUc7UUFDTixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQU0sU0FBUSxLQUFLO1lBQzlCLFlBQVksT0FBZTtnQkFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUFFLEVBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENVU1RPTV9FUlJPUlMgPSBbXG4gICdDbGlJbnB1dEVycm9yJyxcbiAgJ0ZpbGVOb3RGb3VuZEVycm9yJyxcbiAgJ01ha2VEaXJlY3RvcnlFcnJvcicsXG4gICdNYW5pZmVzdFZhbGlkYXRpb25FcnJvcicsXG4gICdNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yJyxcbiAgJ0lucHV0VmFsaWRhdGlvbkVycm9yJyxcbiAgJ0ludmFsaWRBZ2dyZWdhdGlvblBhcmFtcycsXG4gICdJbnZhbGlkR3JvdXBpbmcnLFxuICAnUGx1Z2luQ3JlZGVudGlhbEVycm9yJyxcbiAgJ1BsdWdpbkluaXRhbGl6YXRpb25FcnJvcicsXG4gICdXcml0ZUZpbGVFcnJvcicsXG5dIGFzIGNvbnN0O1xuXG50eXBlIEN1c3RvbUVycm9ycyA9IHtcbiAgW0sgaW4gKHR5cGVvZiBDVVNUT01fRVJST1JTKVtudW1iZXJdXTogRXJyb3JDb25zdHJ1Y3Rvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBFUlJPUlMgPSBDVVNUT01fRVJST1JTLnJlZHVjZSgoYWNjLCBjbGFzc05hbWUpID0+IHtcbiAgYWNjID0ge1xuICAgIC4uLmFjYyxcbiAgICBbY2xhc3NOYW1lXTogY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gICAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBhY2M7XG59LCB7fSBhcyBDdXN0b21FcnJvcnMpO1xuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQixnQkFBZ0I7Q0FDUixDQUFDO0FBTUUsUUFBQSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUM1RCxHQUFHLEdBQUc7UUFDSixHQUFHLEdBQUc7UUFDTixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQU0sU0FBUSxLQUFLO1lBQzlCLFlBQVksT0FBZTtnQkFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUFFLEVBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENVU1RPTV9FUlJPUlMgPSBbXG4gICdDbGlJbnB1dEVycm9yJyxcbiAgJ0ZpbGVOb3RGb3VuZEVycm9yJyxcbiAgJ01ha2VEaXJlY3RvcnlFcnJvcicsXG4gICdNYW5pZmVzdFZhbGlkYXRpb25FcnJvcicsXG4gICdNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yJyxcbiAgJ0lucHV0VmFsaWRhdGlvbkVycm9yJyxcbiAgJ0ludmFsaWRBZ2dyZWdhdGlvblBhcmFtc0Vycm9yJyxcbiAgJ0ludmFsaWRHcm91cGluZ0Vycm9yJyxcbiAgJ1BsdWdpbkNyZWRlbnRpYWxFcnJvcicsXG4gICdQbHVnaW5Jbml0YWxpemF0aW9uRXJyb3InLFxuICAnV3JpdGVGaWxlRXJyb3InLFxuXSBhcyBjb25zdDtcblxudHlwZSBDdXN0b21FcnJvcnMgPSB7XG4gIFtLIGluICh0eXBlb2YgQ1VTVE9NX0VSUk9SUylbbnVtYmVyXV06IEVycm9yQ29uc3RydWN0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgRVJST1JTID0gQ1VTVE9NX0VSUk9SUy5yZWR1Y2UoKGFjYywgY2xhc3NOYW1lKSA9PiB7XG4gIGFjYyA9IHtcbiAgICAuLi5hY2MsXG4gICAgW2NsYXNzTmFtZV06IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICAgICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gYWNjO1xufSwge30gYXMgQ3VzdG9tRXJyb3JzKTtcbiJdfQ==
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export declare const andHandle: (error: Error) => void;
5
5
  /**
6
- * Mergers two objects, omitting null values.
6
+ * Append entries from defaults which are missing from inputs.
7
7
  */
8
- export declare const mergeObjects: (object1: any, object2: any) => Record<string, any>;
8
+ export declare const mergeObjects: (defaults: any, input: any) => Record<string, any>;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mergeObjects = exports.andHandle = void 0;
4
- const errors_1 = require("./errors");
5
4
  const config_1 = require("../config");
5
+ const errors_1 = require("./errors");
6
6
  const logger_1 = require("./logger");
7
7
  const { ISSUE_TEMPLATE } = config_1.STRINGS;
8
8
  /**
@@ -17,21 +17,19 @@ const andHandle = (error) => {
17
17
  };
18
18
  exports.andHandle = andHandle;
19
19
  /**
20
- * Mergers two objects, omitting null values.
20
+ * Append entries from defaults which are missing from inputs.
21
21
  */
22
- const mergeObjects = (object1, object2) => {
23
- const merged = {};
24
- const keys1 = Object.keys(object1);
25
- keys1.forEach(key1 => {
26
- merged[key1] = object1[key1] || object2[key1];
27
- });
28
- const keys2 = Object.keys(object2);
29
- keys2.forEach(key2 => {
30
- if (!keys1.includes(key2)) {
31
- merged[key2] = object2[key2];
22
+ const mergeObjects = (defaults, input) => {
23
+ const merged = structuredClone(input);
24
+ for (const key in defaults) {
25
+ if (!(key in input)) {
26
+ merged[key] = defaults[key];
32
27
  }
33
- });
28
+ if (merged[key] === undefined || merged[key] === null) {
29
+ merged[key] = defaults[key];
30
+ }
31
+ }
34
32
  return merged;
35
33
  };
36
34
  exports.mergeObjects = mergeObjects;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdDO0FBRWhDLHNDQUFrQztBQUNsQyxxQ0FBZ0M7QUFFaEMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFakM7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFZLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDekQsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUV2QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsWUFBWSxnQkFnQnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3Qge0lTU1VFX1RFTVBMQVRFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgbG9nZ2VyLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgbG9nZ2VyLndhcm4oSVNTVUVfVEVNUExBVEUpO1xuICB9XG59O1xuXG4vKipcbiAqIE1lcmdlcnMgdHdvIG9iamVjdHMsIG9taXR0aW5nIG51bGwgdmFsdWVzLlxuICovXG5leHBvcnQgY29uc3QgbWVyZ2VPYmplY3RzID0gKG9iamVjdDE6IGFueSwgb2JqZWN0MjogYW55KSA9PiB7XG4gIGNvbnN0IG1lcmdlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGNvbnN0IGtleXMxID0gT2JqZWN0LmtleXMob2JqZWN0MSk7XG4gIGtleXMxLmZvckVhY2goa2V5MSA9PiB7XG4gICAgbWVyZ2VkW2tleTFdID0gb2JqZWN0MVtrZXkxXSB8fCBvYmplY3QyW2tleTFdO1xuICB9KTtcblxuICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKG9iamVjdDIpO1xuICBrZXlzMi5mb3JFYWNoKGtleTIgPT4ge1xuICAgIGlmICgha2V5czEuaW5jbHVkZXMoa2V5MikpIHtcbiAgICAgIG1lcmdlZFtrZXkyXSA9IG9iamVjdDJba2V5Ml07XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbWVyZ2VkO1xufTtcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQWtDO0FBQ2xDLHFDQUFnQztBQUNoQyxxQ0FBZ0M7QUFFaEMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFakM7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxNQUFNLEdBQXdCLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRTtRQUMxQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQWRXLFFBQUEsWUFBWSxnQkFjdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3Qge0lTU1VFX1RFTVBMQVRFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgbG9nZ2VyLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgbG9nZ2VyLndhcm4oSVNTVUVfVEVNUExBVEUpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZCBlbnRyaWVzIGZyb20gZGVmYXVsdHMgd2hpY2ggYXJlIG1pc3NpbmcgZnJvbSBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU9iamVjdHMgPSAoZGVmYXVsdHM6IGFueSwgaW5wdXQ6IGFueSkgPT4ge1xuICBjb25zdCBtZXJnZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBzdHJ1Y3R1cmVkQ2xvbmUoaW5wdXQpO1xuXG4gIGZvciAoY29uc3Qga2V5IGluIGRlZmF1bHRzKSB7XG4gICAgaWYgKCEoa2V5IGluIGlucHV0KSkge1xuICAgICAgbWVyZ2VkW2tleV0gPSBkZWZhdWx0c1trZXldO1xuICAgIH1cblxuICAgIGlmIChtZXJnZWRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IG1lcmdlZFtrZXldID09PSBudWxsKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlZDtcbn07XG4iXX0=
@@ -5,7 +5,7 @@ initialize:
5
5
  plugins:
6
6
  boavizta-cpu:
7
7
  method: BoaviztaCpuOutput
8
- path: '@grnsft/if-unofficial-plugins'
8
+ path: "@grnsft/if-unofficial-plugins"
9
9
  global-config:
10
10
  allocation: LINEAR
11
11
  verbose: true
@@ -13,10 +13,10 @@ initialize:
13
13
  path: "@grnsft/if-plugins"
14
14
  method: Sum
15
15
  global-config:
16
- input-parameters:
16
+ input-parameters:
17
17
  - cpu/energy
18
18
  - network/energy
19
- output-parameter: energy
19
+ output-parameter: energy
20
20
  "sci-m":
21
21
  path: "@grnsft/if-plugins"
22
22
  method: SciM
@@ -27,8 +27,8 @@ initialize:
27
27
  path: "@grnsft/if-plugins"
28
28
  method: Sci
29
29
  global-config:
30
- functional-unit: ''
31
- functional-unit-time: '1-day'
30
+ functional-unit: ""
31
+ functional-unit-time: "1-day"
32
32
  "time-sync":
33
33
  method: TimeSync
34
34
  path: "builtin"
@@ -60,26 +60,26 @@ tree:
60
60
  cpu/name: Intel® Core™ i7-1185G7
61
61
  inputs:
62
62
  - timestamp: "2023-12-12T00:00:00.000Z"
63
- cloud/instance-type: A1
64
- region: uk-west
63
+ cloud/instance-type: A1
64
+ cloud/region: uk-west
65
65
  duration: 1
66
66
  cpu/utilization: 50
67
67
  network/energy: 0.000001
68
68
  - timestamp: "2023-12-12T00:00:01.000Z"
69
69
  duration: 5
70
70
  cpu/utilization: 20
71
- cloud/instance-type: A1
72
- region: uk-west
71
+ cloud/instance-type: A1
72
+ cloud/region: uk-west
73
73
  network/energy: 0.000001
74
74
  - timestamp: "2023-12-12T00:00:06.000Z"
75
75
  duration: 7
76
76
  cpu/utilization: 15
77
- cloud/instance-type: A1
78
- region: uk-west
77
+ cloud/instance-type: A1
78
+ cloud/region: uk-west
79
79
  network/energy: 0.000001
80
80
  - timestamp: "2023-12-12T00:00:13.000Z"
81
81
  duration: 30
82
- cloud/instance-type: A1
83
- region: uk-west
82
+ cloud/instance-type: A1
83
+ cloud/region: uk-west
84
84
  cpu/utilization: 15
85
85
  network/energy: 0.000001
@@ -0,0 +1,41 @@
1
+ name: cloud-metadata-demo
2
+ description: null
3
+ tags: null
4
+ initialize:
5
+ plugins:
6
+ teads-curve:
7
+ path: "@grnsft/if-unofficial-plugins"
8
+ method: TeadsCurve
9
+ global-config:
10
+ interpolation: spline
11
+ cloud-metadata:
12
+ method: CloudMetadata
13
+ path: "@grnsft/if-plugins"
14
+ tree:
15
+ children:
16
+ child-0:
17
+ defaults:
18
+ cpu/thermal-design-power: 100
19
+ cloud/vendor: aws
20
+ cloud/instance-type: m5n.large
21
+ pipeline:
22
+ - teads-curve
23
+ - cloud-metadata
24
+ inputs:
25
+ - timestamp: 2023-07-06T00:00
26
+ duration: 10
27
+ cpu/utilization: 80
28
+ - timestamp: 2023-07-06T00:01
29
+ duration: 10
30
+ cpu/utilization: 80
31
+ outputs:
32
+ - timestamp: 2023-07-06T00:00
33
+ duration: 10
34
+ cpu/utilization: 80
35
+ cpu/thermal-design-power: 100
36
+ cpu/energy: 0.00025568089430894314
37
+ - timestamp: 2023-07-06T00:01
38
+ duration: 10
39
+ cpu/utilization: 80
40
+ cpu/thermal-design-power: 100
41
+ cpu/energy: 0.00025568089430894314
@@ -1,41 +1,20 @@
1
- name: coud-instanmce-metadata-demo
2
- description: null
3
- tags: null
1
+ name: cloud-metadata
2
+ description: example impl invoking Cloud Metadata plugin
3
+ tags:
4
4
  initialize:
5
5
  plugins:
6
- teads-curve:
7
- path: '@grnsft/if-unofficial-plugins'
8
- method: TeadsCurve
9
- global-config:
10
- interpolation: spline
11
- cloud-instance-metadata:
12
- method: CloudInstanceMetadata
6
+ cloud-metadata:
7
+ method: CloudMetadata
13
8
  path: "@grnsft/if-plugins"
14
9
  tree:
15
10
  children:
16
- child-0:
17
- defaults:
18
- cpu/thermal-design-power: 100
19
- cloud/vendor: aws
20
- cloud/instance-type: m5n.large
11
+ child:
21
12
  pipeline:
22
- - teads-curve
23
- - cloud-instance-metadata
13
+ - cloud-metadata
14
+ config:
24
15
  inputs:
25
- - timestamp: 2023-07-06T00:00
26
- duration: 10
27
- cpu/utilization: 80
28
- - timestamp: 2023-07-06T00:01
29
- duration: 10
30
- cpu/utilization: 80
31
- outputs:
32
- - timestamp: 2023-07-06T00:00
33
- duration: 10
34
- cpu/utilization: 80
35
- cpu/thermal-design-power: 100
36
- cpu/energy: 0.00025568089430894314
37
- - timestamp: 2023-07-06T00:01
38
- duration: 10
39
- cpu/utilization: 80
40
- cpu/thermal-design-power: 100
41
- cpu/energy: 0.00025568089430894314
16
+ - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
17
+ cloud/vendor: aws
18
+ cloud/instance-type: m5n.large
19
+ duration: 100
20
+ cpu/utilization: 10
@@ -1,4 +1,4 @@
1
- name: sci-e-demo
1
+ name: e-net-demo
2
2
  description:
3
3
  tags:
4
4
  initialize:
@@ -4,7 +4,7 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  teads-curve:
7
- path: '@grnsft/if-unofficial-plugins'
7
+ path: "@grnsft/if-unofficial-plugins"
8
8
  method: TeadsCurve
9
9
  global-config:
10
10
  interpolation: spline
@@ -12,10 +12,10 @@ initialize:
12
12
  path: "@grnsft/if-plugins"
13
13
  method: Sum
14
14
  global-config:
15
- input-parameters:
15
+ input-parameters:
16
16
  - cpu/energy
17
17
  - network/energy
18
- output-parameter: energy-sum
18
+ output-parameter: energy-sum
19
19
  "coefficient":
20
20
  path: "@grnsft/if-plugins"
21
21
  method: Coefficient
@@ -24,11 +24,11 @@ initialize:
24
24
  coefficient: 2
25
25
  output-parameter: energy-doubled
26
26
  "multiply":
27
- path: '@grnsft/if-plugins'
27
+ path: "@grnsft/if-plugins"
28
28
  method: Multiply
29
29
  global-config:
30
- input-parameters: ['cpu/utilization', 'duration']
31
- output-parameter: 'cpu-times-duration'
30
+ input-parameters: ["cpu/utilization", "duration"]
31
+ output-parameter: "cpu-times-duration"
32
32
  tree:
33
33
  children:
34
34
  child-1:
@@ -42,8 +42,8 @@ tree:
42
42
  cpu/thermal-design-power: 100
43
43
  inputs:
44
44
  - timestamp: "2023-12-12T00:00:00.000Z"
45
- cloud/instance-type: A1
46
- region: uk-west
45
+ cloud/instance-type: A1
46
+ cloud/region: uk-west
47
47
  duration: 1
48
48
  cpu/utilization: 50
49
49
  network/energy: 10
@@ -51,21 +51,21 @@ tree:
51
51
  - timestamp: "2023-12-12T00:00:01.000Z"
52
52
  duration: 5
53
53
  cpu/utilization: 20
54
- cloud/instance-type: A1
55
- region: uk-west
54
+ cloud/instance-type: A1
55
+ cloud/region: uk-west
56
56
  network/energy: 10
57
57
  energy: 5
58
58
  - timestamp: "2023-12-12T00:00:06.000Z"
59
59
  duration: 7
60
60
  cpu/utilization: 15
61
- cloud/instance-type: A1
62
- region: uk-west
61
+ cloud/instance-type: A1
62
+ cloud/region: uk-west
63
63
  network/energy: 10
64
64
  energy: 5
65
65
  - timestamp: "2023-12-12T00:00:13.000Z"
66
66
  duration: 30
67
- cloud/instance-type: A1
68
- region: uk-west
67
+ cloud/instance-type: A1
68
+ cloud/region: uk-west
69
69
  cpu/utilization: 15
70
70
  network/energy: 10
71
71
  energy: 5
@@ -2,47 +2,47 @@ name: groupby-demo
2
2
  description: demo pipeline
3
3
  initialize:
4
4
  plugins:
5
- group-by:
6
- path: 'builtin'
5
+ group-by:
6
+ path: "builtin"
7
7
  method: GroupBy
8
8
  tree:
9
9
  children:
10
10
  my-app:
11
- pipeline:
11
+ pipeline:
12
12
  - group-by
13
13
  config:
14
14
  group-by:
15
15
  group:
16
- - region
16
+ - cloud/region
17
17
  - cloud/instance-type
18
18
  inputs:
19
19
  - timestamp: 2023-07-06T00:00
20
- duration: 300
21
- cloud/instance-type: A1
22
- region: uk-west
20
+ duration: 300
21
+ cloud/instance-type: A1
22
+ cloud/region: uk-west
23
23
  cpu/utilization: 99
24
- - timestamp: 2023-07-06T05:00
25
- duration: 300
26
- cloud/instance-type: A1
27
- region: uk-west
28
- cpu/utilization: 23
24
+ - timestamp: 2023-07-06T05:00
25
+ duration: 300
26
+ cloud/instance-type: A1
27
+ cloud/region: uk-west
28
+ cpu/utilization: 23
29
29
  - timestamp: 2023-07-06T10:00
30
30
  duration: 300
31
- cloud/instance-type: A1
32
- region: uk-west
31
+ cloud/instance-type: A1
32
+ cloud/region: uk-west
33
33
  cpu/utilization: 12
34
34
  - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
35
- duration: 300
35
+ duration: 300
36
36
  cloud/instance-type: B1
37
- region: uk-west
37
+ cloud/region: uk-west
38
38
  cpu/utilization: 11
39
- - timestamp: 2023-07-06T05:00
40
- duration: 300
39
+ - timestamp: 2023-07-06T05:00
40
+ duration: 300
41
41
  cloud/instance-type: B1
42
- region: uk-west
42
+ cloud/region: uk-west
43
43
  cpu/utilization: 67
44
44
  - timestamp: 2023-07-06T10:00
45
- duration: 300
45
+ duration: 300
46
46
  cloud/instance-type: B1
47
- region: uk-west
47
+ cloud/region: uk-west
48
48
  cpu/utilization: 1