@ng-dynamic-forms/core
Version:
A rapid form development library for Angular
28 lines • 4.16 kB
JavaScript
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=