UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

24 lines 2.27 kB
export function toEnumFromValue(mapping, value) { let values = Object.keys(mapping).map((key) => mapping[key]); if (values.find((v) => v.toString() === value) === undefined) { throw new Error(`Missing value "${value}" in enum. Available keys are ${values.join(', ')}`); } if (value in mapping) { // For string to number convertion return mapping[mapping[value]]; } return value; } export function toEnumType(value, mapping) { if (!(value in mapping)) { throw new Error(`Missing mapping for ${value}. Available: ${Object.keys(mapping).join(', ')}`); } return mapping[value]; } // export function toEnumFromKey<T>(mapping: any, key: string): T { // if (!(key in mapping)) { // throw new Error(`Missing key "${key}" in enum. Available keys are ${Object.keys(mapping).join(', ')}`); // } // return mapping[mapping[key]]; // } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbmZpZy9pb3RpemUtc3R1ZGlvL3NyYy9saWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsZUFBZSxDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzVELElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLEtBQUssU0FBUyxFQUN6RTtRQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0JBQWtCLEtBQUssaUNBQWlDLE1BQU0sQ0FBQyxJQUFJLENBQ2pFLElBQUksQ0FDTCxFQUFFLENBQ0osQ0FBQztLQUNIO0lBQ0QsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLGtDQUFrQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoQztJQUNELE9BQU8sS0FBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBVSxLQUFRLEVBQUUsT0FBWTtJQUN4RCxJQUFJLENBQUMsQ0FBRSxLQUFhLElBQUksT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYix1QkFBdUIsS0FBSyxnQkFBZ0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ25FLElBQUksQ0FDTCxFQUFFLENBQ0osQ0FBQztLQUNIO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELG1FQUFtRTtBQUNuRSwrQkFBK0I7QUFDL0Isa0hBQWtIO0FBQ2xILFFBQVE7QUFDUixvQ0FBb0M7QUFDcEMsSUFBSSJ9