string-converters
Version:
A utility library for converting data types and working with arrays. Provides converters for boolean, number, and string values, along with array conversion functions and support for values with predefined options.
31 lines (30 loc) • 1.01 kB
JavaScript
// src/createOneOfConverter/index.ts
var getError = (value, arr) => new Error(`${value} is not found in [${arr.join(", ")}]`);
var createOneOfConverter = (generalConverter, possibleValues) => {
const arr = Array.isArray(possibleValues) ? possibleValues : Object.values(possibleValues);
const possibleSet = /* @__PURE__ */ new Set();
for (let i = arr.length; i--; ) {
possibleSet.add(generalConverter.stringify(arr[i]));
}
return {
parse(value) {
if (possibleSet.has(value)) {
return generalConverter.parse(value);
}
throw getError(value, arr);
},
stringify(value) {
const serializedValue = generalConverter.stringify(
value
);
if (possibleSet.has(serializedValue)) {
return serializedValue;
}
throw getError(value, arr);
}
};
};
var createOneOfConverter_default = createOneOfConverter;
export { createOneOfConverter_default };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=chunk-AWS4JQVT.js.map