UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

74 lines 6.39 kB
import { CodeError } from '@iotize/common/error'; import { FirmwareState } from '@iotize/tap/service/impl/firmware'; /** * TODO move to TapConfiguratorError */ export class ConfigKeyNotSupportedByFirmwareVersion extends Error { constructor(configKey, firmwareVersion, constraint) { super(`Configuration key "${configKey}" is not available for you firmware version (${firmwareVersion}). \ ${constraint.minApiVersion ? `Minimal firmware version: ${constraint.minApiVersion}.` : ''}\ ${constraint.maxApiVersion ? `Maximal firmware version: ${constraint.maxApiVersion}.` : ''}`); this.configKey = configKey; this.firmwareVersion = firmwareVersion; this.constraint = constraint; } } export class TapConfiguratorError extends CodeError { constructor(code, msg, cause) { super(msg, code); this.cause = cause; } static internalError(msg, cause) { return new TapConfiguratorError(TapConfiguratorError.Code.InternalError, msg, cause); } static unexpectedFirmwareState(state) { return new TapConfiguratorError(TapConfiguratorError.Code.UnexpectedFirmwareState, `Firmware state is not in expected mode. It should be ${FirmwareState.NORMAL} or ${FirmwareState.LEGACY} but found ${state}`); } static invalidConfiguration(message) { return new TapConfiguratorError(TapConfiguratorError.Code.InvalidSchema, message); } } (function (TapConfiguratorError) { let Code; (function (Code) { Code["UnexpectedFirmwareState"] = "TapConfiguratorErrorUnexpectedFirmwareState"; Code["InvalidSchema"] = "TapConfiguratorErrorIvalidSchema"; Code["InternalError"] = "TapConfiguratorErrorInternalError"; })(Code = TapConfiguratorError.Code || (TapConfiguratorError.Code = {})); class InvalidSchemaError extends TapConfiguratorError { constructor(validate) { super(Code.InvalidSchema, `\ Invalid Tap configuration file: ${InvalidSchemaError.ajvErrorsToString(validate.errors)}`); this.validate = validate; this.errors = this.validate.errors || []; } static ajvErrorsToString(errors) { // console.log('errors', JSON.stringify(errors, undefined, 4)); return errors ? errors .map((error) => { let message; const instancePath = error.instancePath || error.dataPath; switch (error.keyword) { case 'additionalProperties': const params = error.params; message = `${instancePath} should not have additional property "${params .additionalProperty}"`; break; default: message = `${instancePath} ${error.message} (keyword: ${error.keyword})`; } return `\t- ${message}`; }) .join('\n') : 'Unknown errors'; } } TapConfiguratorError.InvalidSchemaError = InvalidSchemaError; })(TapConfiguratorError || (TapConfiguratorError = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdG9yL3NyYy9saWIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsS0FBSztJQUMvRCxZQUNrQixTQUFpQixFQUNqQixlQUF1QixFQUN2QixVQUdmO1FBRUQsS0FBSyxDQUFDLHNCQUFzQixTQUFTLGdEQUFnRCxlQUFlO0VBRXRHLFVBQVUsQ0FBQyxhQUFhO1lBQ3RCLENBQUMsQ0FBQyw2QkFBNkIsVUFBVSxDQUFDLGFBQWEsR0FBRztZQUMxRCxDQUFDLENBQUMsRUFDTjtFQUVFLFVBQVUsQ0FBQyxhQUFhO1lBQ3RCLENBQUMsQ0FBQyw2QkFBNkIsVUFBVSxDQUFDLGFBQWEsR0FBRztZQUMxRCxDQUFDLENBQUMsRUFDTixFQUFFLENBQUMsQ0FBQztRQWpCZ0IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUd6QjtJQWFILENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxTQUFvQztJQUM1RSxZQUNFLElBQStCLEVBQy9CLEdBQVcsRUFDSixLQUFhO1FBRXBCLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFGVixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBR3RCLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQzdDLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFDdkMsR0FBRyxFQUNILEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFvQjtRQUNqRCxPQUFPLElBQUksb0JBQW9CLENBQzdCLG9CQUFvQixDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFDakQsd0RBQXdELGFBQWEsQ0FBQyxNQUFNLE9BQU8sYUFBYSxDQUFDLE1BQU0sY0FBYyxLQUFLLEVBQUUsQ0FDN0gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBZTtRQUN6QyxPQUFPLElBQUksb0JBQW9CLENBQzdCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQ3ZDLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsV0FBaUIsb0JBQW9CO0lBQ25DLElBQVksSUFJWDtJQUpELFdBQVksSUFBSTtRQUNkLCtFQUF1RSxDQUFBO1FBQ3ZFLDBEQUFrRCxDQUFBO1FBQ2xELDJEQUFtRCxDQUFBO0lBQ3JELENBQUMsRUFKVyxJQUFJLEdBQUoseUJBQUksS0FBSix5QkFBSSxRQUlmO0lBRUQsTUFBYSxrQkFBbUIsU0FBUSxvQkFBb0I7UUFHMUQsWUFBbUIsUUFBMEI7WUFDM0MsS0FBSyxDQUNILElBQUksQ0FBQyxhQUFhLEVBQ2xCOztFQUVOLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNsRCxDQUFDO1lBTmUsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7WUFPM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDM0MsQ0FBQztRQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsTUFHUTtZQUVSLCtEQUErRDtZQUMvRCxPQUFPLE1BQU07Z0JBQ1gsQ0FBQyxDQUFDLE1BQU07cUJBQ0gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxPQUFlLENBQUM7b0JBQ3BCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQztvQkFDMUQsUUFBUSxLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUNyQixLQUFLLHNCQUFzQjs0QkFDekIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzs0QkFDNUIsT0FBTyxHQUFHLEdBQUcsWUFBWSx5Q0FDdEIsTUFBeUM7aUNBQ3ZDLGtCQUNMLEdBQUcsQ0FBQzs0QkFDSixNQUFNO3dCQUNSOzRCQUNFLE9BQU8sR0FBRyxHQUFHLFlBQVksSUFBSSxLQUFLLENBQUMsT0FBTyxjQUFjLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQztxQkFDNUU7b0JBQ0QsT0FBTyxPQUFPLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDZixDQUFDLENBQUMsZ0JBQWdCLENBQUM7UUFDdkIsQ0FBQztLQUNGO0lBekNZLHVDQUFrQixxQkF5QzlCLENBQUE7QUFDSCxDQUFDLEVBakRnQixvQkFBb0IsS0FBcEIsb0JBQW9CLFFBaURwQyJ9