@altostra/core
Version:
Core library for shared types and logic
1 lines • 1.92 kB
JavaScript
;var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,i){void 0===i&&(i=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,i,o)}:function(e,r,t,i){void 0===i&&(i=t),e[i]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isReservedKey=exports.isConfigurationType=exports.isConfiguration=void 0;const Errors_1=require("../../../../common/Errors"),type_validations_1=require("@altostra/type-validations"),concat_1=require("@reactivex/ix-es2015-cjs/iterable/concat"),UserConfiguration_1=require("./UserConfiguration"),VPCConfiguration_1=require("./VPCConfiguration");__exportStar(require("./UserConfiguration"),exports),__exportStar(require("./VPCConfiguration"),exports),exports.isConfiguration=(0,type_validations_1.taggedUnionOf)("type",{user:UserConfiguration_1.isUserConfiguration,vpc:VPCConfiguration_1.isVPCConfiguration}),exports.isConfigurationType=(0,type_validations_1.enumOf)("user","vpc");let reservedKeys=void 0;function isReservedKey(e){return reservedKeys||(reservedKeys=initReservedKeysSet()),"string"==typeof e&&e in reservedKeys}function initReservedKeysSet(){const e={},r=(0,concat_1.concat)(UserConfiguration_1.reservedUserConfigurationKeys,VPCConfiguration_1.reservedVPCKeys),t={};for(const i of r)i in e?t[i]=0:e[i]=0;const i=Object.keys(t);if(i.length>0)throw Errors_1.AltoError.create("Reserved configuration keys contains duplicates.\nThis may indicate that reserved keys are reused for different configuration types",{data:{duplicates:i,reservedUserConfigurationKeys:UserConfiguration_1.reservedUserConfigurationKeys}});return e}exports.isReservedKey=isReservedKey;