@justa/mask-directive
Version:
 
116 lines • 7.79 kB
JavaScript
/**
* @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=