@frauschert/ts-guard
Version:
ts-guard is a typescript library that provides composable type guards. Its inspired by zod but focusses only on type guards and is more lightweight.
13 lines • 589 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEnum = isEnum;
const isNumber_1 = require("../isNumber/isNumber");
const isString_1 = require("../isString/isString");
const isUnion_1 = require("../isUnion/isUnion");
function isEnum(e) {
const keys = Object.keys(e).filter((k) => !/^\d/.test(k));
const values = keys.map((k) => e[k]);
const isStringOrNumber = (0, isUnion_1.isUnion)([(0, isString_1.isString)(), (0, isNumber_1.isNumber)()]);
return (x) => isStringOrNumber(x) && values.includes(x);
}
//# sourceMappingURL=isEnum.js.map