UNPKG

typia

Version:

Superfast runtime validators with only one line

24 lines (23 loc) 1.26 kB
import { _notationAssign } from "./_notationAssign.mjs"; //#region src/internal/_notationAny.ts const _notationAny = (rename) => { const main = (input) => { if (typeof input === "object") if (input === null) return null; else if (Array.isArray(input)) return input.map(main); else if (input instanceof Boolean || input instanceof BigInt || input instanceof Number || input instanceof String) return input.valueOf(); else if (input instanceof Date) return new Date(input); else if (input instanceof Uint8Array || input instanceof Uint8ClampedArray || input instanceof Uint16Array || input instanceof Uint32Array || input instanceof BigUint64Array || input instanceof Int8Array || input instanceof Int16Array || input instanceof Int32Array || input instanceof BigInt64Array || input instanceof Float32Array || input instanceof Float64Array || input instanceof DataView) return input; else return object(input); return input; }; const object = (input) => { const output = {}; const sources = Object.create(null); for (const [key, value] of Object.entries(input)) _notationAssign(output, sources, key, main(value), rename); return output; }; return main; }; //#endregion export { _notationAny }; //# sourceMappingURL=_notationAny.mjs.map