From 15f363741b8dd51ef192f074db084951135413e9 Mon Sep 17 00:00:00 2001 From: Alexander Shabunevich Date: Sat, 13 Nov 2021 17:41:22 +0300 Subject: [PATCH] Docs for preprocessor option --- README.md | 11 +++++++++++ dist/es6/maska.esm.js | 4 ++-- dist/es6/maska.js | 4 ++-- dist/es6/maska.umd.js | 4 ++-- dist/maska.esm.js | 2 +- dist/maska.js | 2 +- dist/maska.umd.js | 2 +- package.json | 2 +- 8 files changed, 21 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 098de78..50cd5fe 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,17 @@ var mask = Maska.create('.masked', { }); ``` +You also can pass custom preprocessing transformation function for entire input: + +``` javascript +var mask = Maska.create('.masked', { + tokens: { 'Z': { pattern: /[а-яА-Я]/ }}, + preprocessor: value => { + return value.toUpperCase(); + } +}); +``` + You can destroy mask like that: ``` javascript diff --git a/dist/es6/maska.esm.js b/dist/es6/maska.esm.js index 3b8856e..9ffbbfc 100644 --- a/dist/es6/maska.esm.js +++ b/dist/es6/maska.esm.js @@ -1,6 +1,6 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ -var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function e(e,s,r=t,o=!0){return n(s).length>1?function(t){const e=n(t).sort(((t,e)=>t.length-e.length));return function(t,n,r,o=!0){const i=e.map((e=>a(t,e,r,!1))).pop();for(let n in e)if(s(i,e[n],r))return a(t,e[n],r,o);return""};function s(t,e,n){for(let t in n)n[t].escape&&(e=e.replace(new RegExp(t+".{1}","g"),""));return e.split("").filter((t=>n[t]&&n[t].pattern)).length>=t.length}}(s)(e,s,r,o):a(e,s,r,o)}function n(t){try{return JSON.parse(t)}catch{return[t]}}function a(t,e,n,a=!0){let r=0,o=0,i="",u="";for(;rthis.updateValue(t.target,t),this.init()}init(){for(let t=0;tthis.updateValue(e)),0),e.dataset.maskInited||(e.dataset.maskInited=!0,e.addEventListener("input",this.inputEvent),e.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let t=0;t{const t=new WeakMap;return(e,n)=>{n.value&&(t.has(e)&&!function(t){return!(o(t.value)&&t.value===t.oldValue||Array.isArray(t.value)&&JSON.stringify(t.value)===JSON.stringify(t.oldValue)||t.value&&t.value.mask&&t.oldValue&&t.oldValue.mask&&t.value.mask===t.oldValue.mask)}(n)||t.set(e,new i(e,function(t){const e={};return t.mask?(e.mask=Array.isArray(t.mask)?JSON.stringify(t.mask):t.mask,e.tokens=t.tokens?{...t.tokens}:{},e.preprocessor=t.preprocessor):e.mask=Array.isArray(t)?JSON.stringify(t):t,e}(n.value))))}})();function p(t){t.directive("maska",u)}function l(t,e){return new i(t,e)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(p);export default p;export{l as create,p as install,e as mask,u as maska,t as tokens}; +var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function e(e,s,r=t,o=!0){return n(s).length>1?function(t){const e=n(t).sort(((t,e)=>t.length-e.length));return function(t,n,r,o=!0){const i=e.map((e=>a(t,e,r,!1))).pop();for(const n in e)if(s(i,e[n],r))return a(t,e[n],r,o);return""};function s(t,e,n){for(const t in n)n[t].escape&&(e=e.replace(new RegExp(t+".{1}","g"),""));return e.split("").filter((t=>n[t]&&n[t].pattern)).length>=t.length}}(s)(e,s,r,o):a(e,s,r,o)}function n(t){try{return JSON.parse(t)}catch{return[t]}}function a(t,e,n,a=!0){let r=0,o=0,i="",u="";for(;rthis.updateValue(t.target,t),this.init()}init(){for(let t=0;tthis.updateValue(e)),0),e.dataset.maskInited||(e.dataset.maskInited=!0,e.addEventListener("input",this.inputEvent),e.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let t=0;t{const t=new WeakMap;return(e,n)=>{n.value&&(t.has(e)&&!function(t){return!(o(t.value)&&t.value===t.oldValue||Array.isArray(t.value)&&JSON.stringify(t.value)===JSON.stringify(t.oldValue)||t.value&&t.value.mask&&t.oldValue&&t.oldValue.mask&&t.value.mask===t.oldValue.mask)}(n)||t.set(e,new i(e,function(t){const e={};return t.mask?(e.mask=Array.isArray(t.mask)?JSON.stringify(t.mask):t.mask,e.tokens=t.tokens?{...t.tokens}:{},e.preprocessor=t.preprocessor):e.mask=Array.isArray(t)?JSON.stringify(t):t,e}(n.value))))}})();function p(t){t.directive("maska",u)}function l(t,e){return new i(t,e)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(p);export default p;export{l as create,p as install,e as mask,u as maska,t as tokens}; diff --git a/dist/es6/maska.js b/dist/es6/maska.js index 9309861..d9debca 100644 --- a/dist/es6/maska.js +++ b/dist/es6/maska.js @@ -1,6 +1,6 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Maska={})}(this,(function(e){"use strict";var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function n(e,n,r=t,o=!0){return s(n).length>1?function(e){const t=s(e).sort(((e,t)=>e.length-t.length));return function(e,s,r,o=!0){const i=t.map((t=>a(e,t,r,!1))).pop();for(let s in t)if(n(i,t[s],r))return a(e,t[s],r,o);return""};function n(e,t,n){for(let e in n)n[e].escape&&(t=t.replace(new RegExp(e+".{1}","g"),""));return t.split("").filter((e=>n[e]&&n[e].pattern)).length>=e.length}}(n)(e,n,r,o):a(e,n,r,o)}function s(e){try{return JSON.parse(e)}catch{return[e]}}function a(e,t,n,s=!0){let a=0,o=0,i="",u="";for(;athis.updateValue(e.target,e),this.init()}init(){for(let e=0;ethis.updateValue(t)),0),t.dataset.maskInited||(t.dataset.maskInited=!0,t.addEventListener("input",this.inputEvent),t.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let e=0;e{const e=new WeakMap;return(t,n)=>{n.value&&(e.has(t)&&!function(e){return!(i(e.value)&&e.value===e.oldValue||Array.isArray(e.value)&&JSON.stringify(e.value)===JSON.stringify(e.oldValue)||e.value&&e.value.mask&&e.oldValue&&e.oldValue.mask&&e.value.mask===e.oldValue.mask)}(n)||e.set(t,new u(t,function(e){const t={};return e.mask?(t.mask=Array.isArray(e.mask)?JSON.stringify(e.mask):e.mask,t.tokens=e.tokens?{...e.tokens}:{},t.preprocessor=e.preprocessor):t.mask=Array.isArray(e)?JSON.stringify(e):e,t}(n.value))))}})();function l(e){e.directive("maska",p)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(l),e.create=function(e,t){return new u(e,t)},e.default=l,e.install=l,e.mask=n,e.maska=p,e.tokens=t,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Maska={})}(this,(function(e){"use strict";var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function n(e,n,r=t,o=!0){return s(n).length>1?function(e){const t=s(e).sort(((e,t)=>e.length-t.length));return function(e,s,r,o=!0){const i=t.map((t=>a(e,t,r,!1))).pop();for(const s in t)if(n(i,t[s],r))return a(e,t[s],r,o);return""};function n(e,t,n){for(const e in n)n[e].escape&&(t=t.replace(new RegExp(e+".{1}","g"),""));return t.split("").filter((e=>n[e]&&n[e].pattern)).length>=e.length}}(n)(e,n,r,o):a(e,n,r,o)}function s(e){try{return JSON.parse(e)}catch{return[e]}}function a(e,t,n,s=!0){let a=0,o=0,i="",u="";for(;athis.updateValue(e.target,e),this.init()}init(){for(let e=0;ethis.updateValue(t)),0),t.dataset.maskInited||(t.dataset.maskInited=!0,t.addEventListener("input",this.inputEvent),t.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let e=0;e{const e=new WeakMap;return(t,n)=>{n.value&&(e.has(t)&&!function(e){return!(i(e.value)&&e.value===e.oldValue||Array.isArray(e.value)&&JSON.stringify(e.value)===JSON.stringify(e.oldValue)||e.value&&e.value.mask&&e.oldValue&&e.oldValue.mask&&e.value.mask===e.oldValue.mask)}(n)||e.set(t,new u(t,function(e){const t={};return e.mask?(t.mask=Array.isArray(e.mask)?JSON.stringify(e.mask):e.mask,t.tokens=e.tokens?{...e.tokens}:{},t.preprocessor=e.preprocessor):t.mask=Array.isArray(e)?JSON.stringify(e):e,t}(n.value))))}})();function l(e){e.directive("maska",p)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(l),e.create=function(e,t){return new u(e,t)},e.default=l,e.install=l,e.mask=n,e.maska=p,e.tokens=t,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/es6/maska.umd.js b/dist/es6/maska.umd.js index 9309861..d9debca 100644 --- a/dist/es6/maska.umd.js +++ b/dist/es6/maska.umd.js @@ -1,6 +1,6 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Maska={})}(this,(function(e){"use strict";var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function n(e,n,r=t,o=!0){return s(n).length>1?function(e){const t=s(e).sort(((e,t)=>e.length-t.length));return function(e,s,r,o=!0){const i=t.map((t=>a(e,t,r,!1))).pop();for(let s in t)if(n(i,t[s],r))return a(e,t[s],r,o);return""};function n(e,t,n){for(let e in n)n[e].escape&&(t=t.replace(new RegExp(e+".{1}","g"),""));return t.split("").filter((e=>n[e]&&n[e].pattern)).length>=e.length}}(n)(e,n,r,o):a(e,n,r,o)}function s(e){try{return JSON.parse(e)}catch{return[e]}}function a(e,t,n,s=!0){let a=0,o=0,i="",u="";for(;athis.updateValue(e.target,e),this.init()}init(){for(let e=0;ethis.updateValue(t)),0),t.dataset.maskInited||(t.dataset.maskInited=!0,t.addEventListener("input",this.inputEvent),t.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let e=0;e{const e=new WeakMap;return(t,n)=>{n.value&&(e.has(t)&&!function(e){return!(i(e.value)&&e.value===e.oldValue||Array.isArray(e.value)&&JSON.stringify(e.value)===JSON.stringify(e.oldValue)||e.value&&e.value.mask&&e.oldValue&&e.oldValue.mask&&e.value.mask===e.oldValue.mask)}(n)||e.set(t,new u(t,function(e){const t={};return e.mask?(t.mask=Array.isArray(e.mask)?JSON.stringify(e.mask):e.mask,t.tokens=e.tokens?{...e.tokens}:{},t.preprocessor=e.preprocessor):t.mask=Array.isArray(e)?JSON.stringify(e):e,t}(n.value))))}})();function l(e){e.directive("maska",p)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(l),e.create=function(e,t){return new u(e,t)},e.default=l,e.install=l,e.mask=n,e.maska=p,e.tokens=t,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Maska={})}(this,(function(e){"use strict";var t={"#":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},"!":{escape:!0},"*":{repeat:!0}};function n(e,n,r=t,o=!0){return s(n).length>1?function(e){const t=s(e).sort(((e,t)=>e.length-t.length));return function(e,s,r,o=!0){const i=t.map((t=>a(e,t,r,!1))).pop();for(const s in t)if(n(i,t[s],r))return a(e,t[s],r,o);return""};function n(e,t,n){for(const e in n)n[e].escape&&(t=t.replace(new RegExp(e+".{1}","g"),""));return t.split("").filter((e=>n[e]&&n[e].pattern)).length>=e.length}}(n)(e,n,r,o):a(e,n,r,o)}function s(e){try{return JSON.parse(e)}catch{return[e]}}function a(e,t,n,s=!0){let a=0,o=0,i="",u="";for(;athis.updateValue(e.target,e),this.init()}init(){for(let e=0;ethis.updateValue(t)),0),t.dataset.maskInited||(t.dataset.maskInited=!0,t.addEventListener("input",this.inputEvent),t.addEventListener("beforeinput",this.beforeInput))}}destroy(){for(let e=0;e{const e=new WeakMap;return(t,n)=>{n.value&&(e.has(t)&&!function(e){return!(i(e.value)&&e.value===e.oldValue||Array.isArray(e.value)&&JSON.stringify(e.value)===JSON.stringify(e.oldValue)||e.value&&e.value.mask&&e.oldValue&&e.oldValue.mask&&e.value.mask===e.oldValue.mask)}(n)||e.set(t,new u(t,function(e){const t={};return e.mask?(t.mask=Array.isArray(e.mask)?JSON.stringify(e.mask):e.mask,t.tokens=e.tokens?{...e.tokens}:{},t.preprocessor=e.preprocessor):t.mask=Array.isArray(e)?JSON.stringify(e):e,t}(n.value))))}})();function l(e){e.directive("maska",p)}"undefined"!=typeof window&&window.Vue&&window.Vue.use&&window.Vue.use(l),e.create=function(e,t){return new u(e,t)},e.default=l,e.install=l,e.mask=n,e.maska=p,e.tokens=t,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/maska.esm.js b/dist/maska.esm.js index 06f7a2d..e57c917 100644 --- a/dist/maska.esm.js +++ b/dist/maska.esm.js @@ -1,5 +1,5 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ diff --git a/dist/maska.js b/dist/maska.js index b876326..430641a 100644 --- a/dist/maska.js +++ b/dist/maska.js @@ -1,5 +1,5 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ diff --git a/dist/maska.umd.js b/dist/maska.umd.js index b876326..430641a 100644 --- a/dist/maska.umd.js +++ b/dist/maska.umd.js @@ -1,5 +1,5 @@ /*! - * maska v1.4.7 + * maska v1.5.0 * (c) 2019-2021 Alexander Shabunevich * Released under the MIT License. */ diff --git a/package.json b/package.json index 770be1d..de411a3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "maska", - "version": "1.4.7", + "version": "1.5.0", "description": "Simple zero-dependency input mask for Vue.js and vanilla JS", "keywords": [ "mask",