UNPKG

@justa/mask-directive

Version:

![](https://img.shields.io/bundlephobia/minzip/@justa/mask-directive.svg?style=flat-square) ![](https://img.shields.io/bundlephobia/min/@justa/mask-directive.svg?style=flat-square)

116 lines 7.79 kB
/** * @fileoverview added by tsickle * Generated from: lib/utils/index.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ var CPF_REGEX = new RegExp(/(?!(\d)\1{2}.\1{3}.\1{3}-\1{2})\d{3}\.\d{3}\.\d{3}\-\d{2}/gm); /** @type {?} */ var CNPJ_REGEX = new RegExp(/^\d{2}.\d{3}.\d{3}\/\d{4}-\d{2}$/g); // CPF Utils (length dot indexes and hyphen index) /** @type {?} */ var CPF_LENGTH = 11; /** @type {?} */ var CPF_DOT_INDEXES = [2, 5]; /** @type {?} */ var CPF_HYPHEN_INDEX = [8]; // CNPJ Utils /** @type {?} */ var CNPJ_LENGTH = 14; /** @type {?} */ var CNPJ_DOT_INDEXES = [1, 4]; /** @type {?} */ var CNPJ_SLASH_INDEXES = [7]; /** @type {?} */ var CNPJ_HYPHEN_INDEX = [11]; /** * \@description Returns a Brazilian CPF formated * @type {?} */ export var formatCpf = (/** * @param {?} cpf * @return {?} */ function (cpf) { /** @type {?} */ var cpfFormated = removeAllSpecialChar(cpf); return cpfFormated .slice(0, CPF_LENGTH) .split('') .reduce((/** * @param {?} acc * @param {?} cpf * @param {?} index * @return {?} */ function (acc, cpf, index) { /** @type {?} */ var result = "" + acc + cpf; if (!isLastChar(index, cpfFormated)) { if (CPF_DOT_INDEXES.indexOf(index) >= 0) return result + "."; if (CPF_HYPHEN_INDEX.indexOf(index) >= 0) return result + "-"; } return result; }), ''); }) /** * @description Returns a Brazilian CNPJ formated */ ; /** * \@description Returns a Brazilian CNPJ formated * @type {?} */ export var formatCnpj = (/** * @param {?} cnpj * @return {?} */ function (cnpj) { /** @type {?} */ var digits = removeAllSpecialChar(cnpj); return digits .slice(0, CNPJ_LENGTH) .split('') .reduce((/** * @param {?} acc * @param {?} digit * @param {?} index * @return {?} */ function (acc, digit, index) { /** @type {?} */ var result = "" + acc + digit; if (!isLastChar(index, digits)) { if (CNPJ_DOT_INDEXES.includes(index)) return result + "."; if (CNPJ_SLASH_INDEXES.includes(index)) return result + "/"; if (CNPJ_HYPHEN_INDEX.includes(index)) return result + "-"; } return result; }), ''); }); /** @type {?} */ var removeAllSpecialChar = (/** * @param {?} input * @return {?} */ function (input) { return String(input).replace(/[^\d]/g, ''); }); var ɵ0 = removeAllSpecialChar; /** @type {?} */ var isLastChar = (/** * @param {?} index * @param {?} input * @return {?} */ function (index, input) { return index === input.length - 1; }); var ɵ1 = isLastChar; export { ɵ0, ɵ1 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVzdGEvbWFzay1kaXJlY3RpdmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLDZEQUE2RCxDQUFDOztJQUNyRixVQUFVLEdBQUcsSUFBSSxNQUFNLENBQUMsbUNBQW1DLENBQUM7OztJQUc1RCxVQUFVLEdBQUcsRUFBRTs7SUFDZixlQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztJQUN4QixnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQzs7O0lBR3RCLFdBQVcsR0FBRyxFQUFFOztJQUNoQixnQkFBZ0IsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7O0lBQ3pCLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDOztJQUN4QixpQkFBaUIsR0FBRyxDQUFDLEVBQUUsQ0FBQzs7Ozs7QUFLOUIsTUFBTSxLQUFPLFNBQVM7Ozs7QUFBRyxVQUFDLEdBQVc7O1FBQzdCLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUM7SUFDN0MsT0FBTyxXQUFXO1NBQ2pCLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO1NBQ3BCLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDVCxNQUFNOzs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSzs7WUFDaEIsTUFBTSxHQUFHLEtBQUcsR0FBRyxHQUFHLEdBQUs7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQUUsT0FBVSxNQUFNLE1BQUcsQ0FBQztZQUM3RCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQVUsTUFBTSxNQUFHLENBQUM7U0FDL0Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUE7QUFDUixDQUFDLENBQUE7QUFFRDs7R0FFRzs7Ozs7O0FBQ0gsTUFBTSxLQUFPLFVBQVU7Ozs7QUFBRyxVQUFDLElBQVk7O1FBQy9CLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFFekMsT0FBTyxNQUFNO1NBQ1YsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUM7U0FDckIsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNULE1BQU07Ozs7OztJQUFDLFVBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLOztZQUNsQixNQUFNLEdBQUcsS0FBRyxHQUFHLEdBQUcsS0FBTztRQUUvQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtZQUM5QixJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBVSxNQUFNLE1BQUcsQ0FBQztZQUMxRCxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBVSxNQUFNLE1BQUcsQ0FBQztZQUM1RCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBVSxNQUFNLE1BQUcsQ0FBQztTQUM1RDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQTs7SUFFSyxvQkFBb0I7Ozs7QUFBRyxVQUFDLEtBQXNCO0lBQ2xELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFBOzs7SUFFSyxVQUFVOzs7OztBQUFHLFVBQUMsS0FBYSxFQUFFLEtBQWE7SUFDOUMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1BGX1JFR0VYID0gbmV3IFJlZ0V4cCgvKD8hKFxcZClcXDF7Mn0uXFwxezN9LlxcMXszfS1cXDF7Mn0pXFxkezN9XFwuXFxkezN9XFwuXFxkezN9XFwtXFxkezJ9L2dtKTtcbmNvbnN0IENOUEpfUkVHRVggPSBuZXcgUmVnRXhwKC9eXFxkezJ9LlxcZHszfS5cXGR7M31cXC9cXGR7NH0tXFxkezJ9JC9nKTtcblxuLy8gQ1BGIFV0aWxzIChsZW5ndGggZG90IGluZGV4ZXMgYW5kIGh5cGhlbiBpbmRleClcbmNvbnN0IENQRl9MRU5HVEggPSAxMTtcbmNvbnN0IENQRl9ET1RfSU5ERVhFUyA9IFsyLCA1XTtcbmNvbnN0IENQRl9IWVBIRU5fSU5ERVggPSBbOF07XG5cbi8vIENOUEogVXRpbHNcbmNvbnN0IENOUEpfTEVOR1RIID0gMTQ7XG5jb25zdCBDTlBKX0RPVF9JTkRFWEVTID0gWzEsIDRdO1xuY29uc3QgQ05QSl9TTEFTSF9JTkRFWEVTID0gWzddO1xuY29uc3QgQ05QSl9IWVBIRU5fSU5ERVggPSBbMTFdO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGEgQnJhemlsaWFuIENQRiBmb3JtYXRlZFxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q3BmID0gKGNwZjogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY3BmRm9ybWF0ZWQgPSByZW1vdmVBbGxTcGVjaWFsQ2hhcihjcGYpO1xuICByZXR1cm4gY3BmRm9ybWF0ZWRcbiAgLnNsaWNlKDAsIENQRl9MRU5HVEgpXG4gIC5zcGxpdCgnJylcbiAgLnJlZHVjZSgoYWNjLCBjcGYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYCR7YWNjfSR7Y3BmfWA7XG4gICAgaWYgKCFpc0xhc3RDaGFyKGluZGV4LCBjcGZGb3JtYXRlZCkpIHtcbiAgICAgIGlmIChDUEZfRE9UX0lOREVYRVMuaW5kZXhPZihpbmRleCkgPj0gMCkgcmV0dXJuIGAke3Jlc3VsdH0uYDtcbiAgICAgIGlmIChDUEZfSFlQSEVOX0lOREVYLmluZGV4T2YoaW5kZXgpID49IDApIHJldHVybiBgJHtyZXN1bHR9LWA7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sICcnKVxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGEgQnJhemlsaWFuIENOUEogZm9ybWF0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdENucGogPSAoY25wajogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZGlnaXRzID0gcmVtb3ZlQWxsU3BlY2lhbENoYXIoY25waik7XG5cbiAgcmV0dXJuIGRpZ2l0c1xuICAgIC5zbGljZSgwLCBDTlBKX0xFTkdUSClcbiAgICAuc3BsaXQoJycpXG4gICAgLnJlZHVjZSgoYWNjLCBkaWdpdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGAke2FjY30ke2RpZ2l0fWA7XG5cbiAgICAgIGlmICghaXNMYXN0Q2hhcihpbmRleCwgZGlnaXRzKSkge1xuICAgICAgICBpZiAoQ05QSl9ET1RfSU5ERVhFUy5pbmNsdWRlcyhpbmRleCkpIHJldHVybiBgJHtyZXN1bHR9LmA7XG4gICAgICAgIGlmIChDTlBKX1NMQVNIX0lOREVYRVMuaW5jbHVkZXMoaW5kZXgpKSByZXR1cm4gYCR7cmVzdWx0fS9gO1xuICAgICAgICBpZiAoQ05QSl9IWVBIRU5fSU5ERVguaW5jbHVkZXMoaW5kZXgpKSByZXR1cm4gYCR7cmVzdWx0fS1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sICcnKTtcbn1cblxuY29uc3QgcmVtb3ZlQWxsU3BlY2lhbENoYXIgPSAoaW5wdXQ6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBTdHJpbmcoaW5wdXQpLnJlcGxhY2UoL1teXFxkXS9nLCAnJyk7XG59XG5cbmNvbnN0IGlzTGFzdENoYXIgPSAoaW5kZXg6IG51bWJlciwgaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gaW5kZXggPT09IGlucHV0Lmxlbmd0aCAtIDE7XG59XG4iXX0=