UNPKG

@ng-dynamic-forms/core

Version:

A rapid form development library for Angular

28 lines 4.16 kB
import { isString } from "./core.utils"; export function maskToString(mask) { if (isString(mask)) { return mask; } else if (mask instanceof RegExp) { return mask.toString(); } else if (Array.isArray(mask)) { return mask.map(value => maskToString(value)); } return null; } export function maskFromString(mask) { if (isString(mask)) { const isRegExp = mask.startsWith("/") && mask.endsWith("/"); return isRegExp ? new RegExp(mask.slice(1, mask.length - 1)) : mask; } else if (Array.isArray(mask)) { return mask.map(value => maskFromString(value)); } return null; } export function parseReviver(_key, value) { const regexDateISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*))(?:Z|([+\-])([\d|:]*))?$/; return isString(value) && regexDateISO.test(value) ? new Date(value) : value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWR5bmFtaWMtZm9ybXMvY29yZS9zcmMvbGliL3V0aWxzL2pzb24udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4QyxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQTJDO0lBQ3BFLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2hCLE9BQU8sSUFBYyxDQUFDO0tBRXpCO1NBQU0sSUFBSSxJQUFJLFlBQVksTUFBTSxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBRTFCO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBYSxDQUFDO0tBQzdEO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBdUI7SUFDbEQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEIsTUFBTSxRQUFRLEdBQUksSUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSyxJQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBRSxJQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUVuRjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFRLElBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFhLENBQUM7S0FDN0U7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZLEVBQUUsS0FBVTtJQUNqRCxNQUFNLFlBQVksR0FBRyxtRkFBbUYsQ0FBQztJQUN6RyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ2pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gXCIuL2NvcmUudXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hc2tUb1N0cmluZyhtYXNrOiBzdHJpbmcgfCBSZWdFeHAgfCAoc3RyaW5nIHwgUmVnRXhwKVtdKTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHtcbiAgICBpZiAoaXNTdHJpbmcobWFzaykpIHtcbiAgICAgICAgcmV0dXJuIG1hc2sgYXMgc3RyaW5nO1xuXG4gICAgfSBlbHNlIGlmIChtYXNrIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJldHVybiBtYXNrLnRvU3RyaW5nKCk7XG5cbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkobWFzaykpIHtcbiAgICAgICAgcmV0dXJuIG1hc2subWFwKHZhbHVlID0+IG1hc2tUb1N0cmluZyh2YWx1ZSkpIGFzIHN0cmluZ1tdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFza0Zyb21TdHJpbmcobWFzazogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcgfCBSZWdFeHAgfCAoc3RyaW5nIHwgUmVnRXhwKVtdIHwgbnVsbCB7XG4gICAgaWYgKGlzU3RyaW5nKG1hc2spKSB7XG4gICAgICAgIGNvbnN0IGlzUmVnRXhwID0gKG1hc2sgYXMgc3RyaW5nKS5zdGFydHNXaXRoKFwiL1wiKSAmJiAobWFzayBhcyBzdHJpbmcpLmVuZHNXaXRoKFwiL1wiKTtcbiAgICAgICAgcmV0dXJuIGlzUmVnRXhwID8gbmV3IFJlZ0V4cCgobWFzayBhcyBzdHJpbmcpLnNsaWNlKDEsIG1hc2subGVuZ3RoIC0gMSkpIDogbWFzaztcblxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShtYXNrKSkge1xuICAgICAgICByZXR1cm4gKG1hc2sgYXMgc3RyaW5nW10pLm1hcCh2YWx1ZSA9PiBtYXNrRnJvbVN0cmluZyh2YWx1ZSkpIGFzIHN0cmluZ1tdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZXZpdmVyKF9rZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcmVnZXhEYXRlSVNPID0gL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KVQoXFxkezJ9KTooXFxkezJ9KTooXFxkezJ9KD86XFwuXFxkKikpKD86WnwoWytcXC1dKShbXFxkfDpdKikpPyQvO1xuICAgIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgJiYgcmVnZXhEYXRlSVNPLnRlc3QodmFsdWUpID8gbmV3IERhdGUodmFsdWUpIDogdmFsdWU7XG59XG4iXX0=