passfather 4.2.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*
2
- @version 4.2.2
2
+ @version 5.0.1
3
3
  @description Passfather is very fast and powerful utility with zero dependencies to generate strong password
4
4
  @copyright Copyright (c) 2019-present, Evgeny Vyushin <e@vyushin.ru> (https://github.com/vyushin)
5
5
  @license
@@ -7,7 +7,7 @@ This source code is licensed under the MIT license found in the
7
7
  LICENSE file on https://github.com/vyushin/passfather/blob/main/LICENSE
8
8
  */
9
9
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */
10
- var n,r,e,t,o,u,a,s,i,c,l,f,p,g,h,m,d,y,v,w;function b(){if(r)return n;return r=1,n=
10
+ var n,r,e,t,o,u,a,s,i,c,f,l,p,g,h,m,d,y,v,w;function b(){if(r)return n;return r=1,n=
11
11
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
12
12
  function(){var n=4022871197,r=function(r){r=r.toString();for(var e=0;e<r.length;e++){var t=.02519603282416938*(n+=r.charCodeAt(e));t-=n=t>>>0,n=(t*=n)>>>0,n+=4294967296*(t-=n)}return 2.3283064365386963e-10*(n>>>0)};return r.version="Mash 0.9",r}}
13
13
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */function O(){if(y)return d;y=1;const n=function(){if(t)return e;t=1;const n=b();return e=function(){return function(r){
@@ -16,22 +16,22 @@ var e=0,t=0,o=0,u=1;0==r.length&&(r=[+new Date]);var a=n();e=a(" "),t=a(" "),o=a
16
16
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),r=function(){if(u)return o;u=1;const n=b();return o=function(){return function(r){
17
17
  /*! George Marsaglia, 2007-06-23 */
18
18
  /*! http://groups.google.com/group/comp.lang.fortran/msg/6edb8ad6ec5421a5 */
19
- var e=123456789,t=362436069,o=21288629,u=14921776,a=0;0==r.length&&(r=[+new Date]);for(var s=n(),i=0;i<r.length;i++)e^=4294967296*s(r[i]),t^=4294967296*s(r[i]),o^=4294967296*s(r[i]),u^=4294967296*s(r[i]);0===t&&(t=1),a^=o>>>31,(o&=2147483647)%7559==0&&o++,(u&=2147483647)%7559==0&&u++,s=null;var c=function(){var n;return e+=545925293,t^=t<<13,t^=t>>>17,n=o+u+a,o=u,a=n>>>31,(e>>>=0)+(t^=t<<5)+(u=2147483647&n)>>>0},l=function(){return 2.3283064365386963e-10*c()};return l.uint32=c,l.fract53=function(){return l()+11102230246251565e-32*(2097151&c())},l.args=r,l.version="KISS07 0.9",l}(Array.prototype.slice.call(arguments))},o}
19
+ var e=123456789,t=362436069,o=21288629,u=14921776,a=0;0==r.length&&(r=[+new Date]);for(var s=n(),i=0;i<r.length;i++)e^=4294967296*s(r[i]),t^=4294967296*s(r[i]),o^=4294967296*s(r[i]),u^=4294967296*s(r[i]);0===t&&(t=1),a^=o>>>31,(o&=2147483647)%7559==0&&o++,(u&=2147483647)%7559==0&&u++,s=null;var c=function(){var n;return e+=545925293,t^=t<<13,t^=t>>>17,n=o+u+a,o=u,a=n>>>31,(e>>>=0)+(t^=t<<5)+(u=2147483647&n)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.args=r,f.version="KISS07 0.9",f}(Array.prototype.slice.call(arguments))},o}
20
20
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),v=function(){if(s)return a;s=1;const n=b();return a=function(){return function(r){for(
21
21
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
22
- var e=0,t=0,o=0,u=1,a=[],s=0,i=n(),c=(e=i(" "),t=i(" "),o=i(" "),0);c<8;c++)a[c]=i(" ");0==r.length&&(r=[+new Date]);for(var l=0;l<r.length;l++)for((e-=i(r[l]))<0&&(e+=1),(t-=i(r[l]))<0&&(t+=1),(o-=i(r[l]))<0&&(o+=1),c=0;c<8;c++)a[c]-=i(r[l]),a[c]<0&&(a[c]+=1);var f=function(){s=8*a[s]|0;var n=a[s],r=2091639*e+2.3283064365386963e-10*u;return e=t,t=o,o=r-(u=0|r),a[s]-=o,a[s]<0&&(a[s]+=1),n};return f.uint32=function(){return 4294967296*f()},f.fract53=function(){return f()+11102230246251565e-32*(2097152*f()|0)},f.addNoise=function(){for(var n=arguments.length-1;n>=0;n--)for(c=0;c<8;c++)a[c]-=i(arguments[n]),a[c]<0&&(a[c]+=1)},f.version="Kybos 0.9",f.args=r,f}(Array.prototype.slice.call(arguments))},a}
22
+ var e=0,t=0,o=0,u=1,a=[],s=0,i=n(),c=(e=i(" "),t=i(" "),o=i(" "),0);c<8;c++)a[c]=i(" ");0==r.length&&(r=[+new Date]);for(var f=0;f<r.length;f++)for((e-=i(r[f]))<0&&(e+=1),(t-=i(r[f]))<0&&(t+=1),(o-=i(r[f]))<0&&(o+=1),c=0;c<8;c++)a[c]-=i(r[f]),a[c]<0&&(a[c]+=1);var l=function(){s=8*a[s]|0;var n=a[s],r=2091639*e+2.3283064365386963e-10*u;return e=t,t=o,o=r-(u=0|r),a[s]-=o,a[s]<0&&(a[s]+=1),n};return l.uint32=function(){return 4294967296*l()},l.fract53=function(){return l()+11102230246251565e-32*(2097152*l()|0)},l.addNoise=function(){for(var n=arguments.length-1;n>=0;n--)for(c=0;c<8;c++)a[c]-=i(arguments[n]),a[c]<0&&(a[c]+=1)},l.version="Kybos 0.9",l.args=r,l}(Array.prototype.slice.call(arguments))},a}
23
23
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),w=function(){if(c)return i;c=1;const n=b();return i=function(){return function(r){
24
24
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
25
25
  var e=255,t=52,o=0,u=[],a=n();0===r.length&&(r=[+new Date]);for(var s=0;s<256;s++)u[s]=a(" "),u[s]-=4.76837158203125e-7*a(" "),u[s]<0&&(u[s]+=1);for(var i=0;i<r.length;i++)for(s=0;s<256;s++)u[s]-=a(r[i]),u[s]-=4.76837158203125e-7*a(r[i]),u[s]<0&&(u[s]+=1);a=null;var c=function(){t=t+1&255,o=o+1&255;var n=u[e=e+1&255]-u[t];return n<0&&(n+=1),(n-=u[o])<0&&(n+=1),u[e]=n};return c.uint32=function(){return 4294967296*c()>>>0},c.fract53=c,c.version="LFib 0.9",c.args=r,c}(Array.prototype.slice.call(arguments))},i}
26
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),O=function(){if(f)return l;f=1;const n=b();return l=function(){return function(r){
26
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),O=function(){if(l)return f;l=1;const n=b();return f=function(){return function(r){
27
27
  /*! George Marsaglia's LFIB4, */
28
28
  /*! http://groups.google.com/group/sci.crypt/msg/eb4ddde782b17051 */
29
- var e=0,t=58,o=119,u=178,a=[],s=n();0===r.length&&(r=[+new Date]);for(var i=0;i<256;i++)a[i]=s(" "),a[i]-=4.76837158203125e-7*s(" "),a[i]<0&&(a[i]+=1);for(var c=0;c<r.length;c++)for(i=0;i<256;i++)a[i]-=s(r[c]),a[i]-=4.76837158203125e-7*s(r[c]),a[i]<0&&(a[i]+=1);s=null;var l=function(){var n;return t=t+1&255,o=o+1&255,u=u+1&255,(n=a[e=e+1&255]-a[t])<0&&(n+=1),(n-=a[o])<0&&(n+=1),(n-=a[u])<0&&(n+=1),a[e]=n};return l.uint32=function(){return 4294967296*l()>>>0},l.fract53=l,l.version="LFIB4 0.9",l.args=r,l}(Array.prototype.slice.call(arguments))},l}
29
+ var e=0,t=58,o=119,u=178,a=[],s=n();0===r.length&&(r=[+new Date]);for(var i=0;i<256;i++)a[i]=s(" "),a[i]-=4.76837158203125e-7*s(" "),a[i]<0&&(a[i]+=1);for(var c=0;c<r.length;c++)for(i=0;i<256;i++)a[i]-=s(r[c]),a[i]-=4.76837158203125e-7*s(r[c]),a[i]<0&&(a[i]+=1);s=null;var f=function(){var n;return t=t+1&255,o=o+1&255,u=u+1&255,(n=a[e=e+1&255]-a[t])<0&&(n+=1),(n-=a[o])<0&&(n+=1),(n-=a[u])<0&&(n+=1),a[e]=n};return f.uint32=function(){return 4294967296*f()>>>0},f.fract53=f,f.version="LFIB4 0.9",f.args=r,f}(Array.prototype.slice.call(arguments))},f}
30
30
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),S=function(){if(g)return p;g=1;const n=b();return p=function(){return function(r){
31
31
  /*! Copyright (c) 1998, 2002 Pierre L'Ecuyer, DIRO, Université de Montréal. */
32
32
  /*! http://www.iro.umontreal.ca/~lecuyer/ */
33
- var e=4294967087,t=4294944443,o=12345,u=12345,a=123,s=12345,i=12345,c=123;0===r.length&&(r=[+new Date]);for(var l=n(),f=0;f<r.length;f++)o+=4294967296*l(r[f]),u+=4294967296*l(r[f]),a+=4294967296*l(r[f]),s+=4294967296*l(r[f]),i+=4294967296*l(r[f]),c+=4294967296*l(r[f]);o%=e,u%=e,a%=e,s%=t,i%=t,c%=t,l=null;var p=function(){var n,r,e=4294967087,t=4294944443;return n=1403580*u-810728*o,(n-=(n/e|0)*e)<0&&(n+=e),o=u,u=a,a=n,r=527612*c-1370589*s,(r-=(r/t|0)*t)<0&&(r+=t),s=i,i=c,c=r,n<=r?n-r+e:n-r},g=function(){return 2.3283064365386963e-10*p()};return g.uint32=p,g.fract53=function(){return g()+11102230246251565e-32*(2097151&p())},g.version="MRG32k3a 0.9",g.args=r,g}(Array.prototype.slice.call(arguments))},p}
33
+ var e=4294967087,t=4294944443,o=12345,u=12345,a=123,s=12345,i=12345,c=123;0===r.length&&(r=[+new Date]);for(var f=n(),l=0;l<r.length;l++)o+=4294967296*f(r[l]),u+=4294967296*f(r[l]),a+=4294967296*f(r[l]),s+=4294967296*f(r[l]),i+=4294967296*f(r[l]),c+=4294967296*f(r[l]);o%=e,u%=e,a%=e,s%=t,i%=t,c%=t,f=null;var p=function(){var n,r,e=4294967087,t=4294944443;return n=1403580*u-810728*o,(n-=(n/e|0)*e)<0&&(n+=e),o=u,u=a,a=n,r=527612*c-1370589*s,(r-=(r/t|0)*t)<0&&(r+=t),s=i,i=c,c=r,n<=r?n-r+e:n-r},g=function(){return 2.3283064365386963e-10*p()};return g.uint32=p,g.fract53=function(){return g()+11102230246251565e-32*(2097151&p())},g.version="MRG32k3a 0.9",g.args=r,g}(Array.prototype.slice.call(arguments))},p}
34
34
  /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),A=function(){if(m)return h;m=1;const n=b();return h=function(){return function(r){
35
35
  /*! George Marsaglia, 13 May 2003 */
36
36
  /*! http://groups.google.com/group/comp.lang.c/msg/e3c4ea1169e463ae */
37
- var e=123456789,t=362436069,o=521288629,u=88675123,a=886756453;0==r.length&&(r=[+new Date]);for(var s=n(),i=0;i<r.length;i++)e^=4294967296*s(r[i]),t^=4294967296*s(r[i]),o^=4294967296*s(r[i]),a^=4294967296*s(r[i]),u^=4294967296*s(r[i]);s=null;var c=function(){var n=(e^e>>>7)>>>0;return e=t,t=o,o=u,u=a,(t+t+1)*(a=a^a<<6^(n^n<<13)>>>0)>>>0},l=function(){return 2.3283064365386963e-10*c()};return l.uint32=c,l.fract53=function(){return l()+11102230246251565e-32*(2097151&c())},l.version="Xorshift03 0.9",l.args=r,l}(Array.prototype.slice.call(arguments))},h}();return d={Alea:n,KISS07:r,Kybos:v,LFib:w,LFIB4:O,MRG32k3a:S,Xorshift03:A}}function S(){if(w)return v;w=1;const n=O(),r=new Set(Object.keys(n));function e(){return"undefined"!=typeof window&&void 0!==window.document}function t(t,o){const u=r.has(t);if(t&&"default"!==t&&!u&&console.warn(`PRNG ${t} is not supported`),t&&"default"!==t&&r.has(t)){return(o?new n[t](o):new n[t]).uint32()}const a=function(){if(e()&&void 0!==window.crypto)return window.crypto;if(globalThis.passfather?.externals?.crypto)return globalThis.passfather.externals.crypto;if(void 0!==globalThis.crypto)return globalThis.crypto;throw new Error("Crypto API is not available in this environment")}();return"function"==typeof a.getRandomValues?a.getRandomValues(new Uint32Array(1))[0]:parseInt(a.randomBytes(4).toString("hex"),16)}function o(n,r,e){const u=t(r,e),a=n[1]-n[0]+1;return u>=Math.floor(4294967295/a)*a?o(n):n[0]+u%a}function u(n,r){return Array(n).fill().map(r)}function a(n,r,e){return t=u(r-n,(r,e)=>n+e),e?t.push(r)&&t:t;var t}return v={isBrowser:e,getRandomUint32:t,random:o,randomItem:function(n,r,e){return n[o([0,n.length-1],r,e)]},without:function(n,r){return n.filter(n=>!1===r.includes(n))},includes:function(n,r){return n.some(n=>r.includes(n))},includesAll:function(n,r){return!1===r.some(r=>!1===n.includes(r))},excludes:function(n,r){return!1===n.some(n=>r.includes(n))},lastIndex:function(n){return n.length-1},compact:function(n){return n.filter(Boolean)},keys:function(n){return Object.keys(n)},isInteger:function(n){return Number.isInteger(n)},isNumber:function(n){return"number"==typeof n&&!1===isNaN(n)},isString:function(n){return"string"==typeof n},isBoolean:function(n){return!0===n||!1===n},isArray:function(n){return n instanceof Array},isPlainObject:function(n){try{return!0===/^\{.*\}$/.test(JSON.stringify(n))&&n instanceof Map==!1}catch(n){return!1}},assign:function(){return Object.assign.apply(Object,arguments)},timesMap:u,numSequence:a,shuffle:function(n,r,e){return n.length<=1||u(n.length,(t,u)=>{const a=o([0,n.length-1],r,e);[n[u],n[a]]=[n[a],n[u]]}),n},getCharsByDiapason:function(n){return String.fromCodePoint.apply(String,a(n[0],n[1],!0))},isCharCode:function(n){return String.fromCharCode(n)!==String.fromCharCode(!1)},escapeRegExp:function(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}},v}var A,D,I,R,T,$,P={name:"passfather"};function C(){if(D)return A;D=1;const{keys:n,isInteger:r,includesAll:e,isBoolean:t,isArray:o,isPlainObject:u,assign:a,without:s,isCharCode:i,isString:c,isNumber:l}=S(),f=O(),{name:p}=P,g=p,h=Object.freeze({numbers:!0,uppercase:!0,lowercase:!0,symbols:!0,length:12,ranges:null,prng:"default",seed:null}),m={numbers:n=>t(n),uppercase:n=>t(n),lowercase:n=>t(n),symbols:n=>t(n),length:n=>r(n)&&n>0,ranges:n=>o(n)&&n.length>0&&n.every(n=>{return o(r=n)&&r.length>0&&r.every(n=>o(n)&&i(n[0])&&i(n[1]));var r}),prng:r=>["default"].concat(n(f)).includes(r),seed:n=>o(n)&&n.length>0&&!1===n.some(n=>!c(n)&&!l(n)),completely(r){return[()=>!1===(void 0===r||u(r)&&0===n(r).length),()=>u(r),()=>e(n(h),n(r)),()=>!1===r.hasOwnProperty("ranges")||this.ranges(r.ranges),()=>!1===r.hasOwnProperty("numbers")||this.numbers(r.numbers),()=>!1===r.hasOwnProperty("uppercase")||this.uppercase(r.uppercase),()=>!1===r.hasOwnProperty("lowercase")||this.lowercase(r.lowercase),()=>!1===r.hasOwnProperty("symbols")||this.symbols(r.symbols),()=>!1===r.hasOwnProperty("length")||this.length(r.length),()=>!1===r.hasOwnProperty("prng")||this.prng(r.prng),()=>!1===r.hasOwnProperty("seed")||this.seed(r.seed),()=>{const e=a({},h,r);return s(n(e),["length"]).some(n=>"ranges"===n?o(e[n]):!0===e[n])},()=>{const n=a({},h,r);return!1===(r.hasOwnProperty("seed")&&"default"===n.prng)}].findIndex(n=>!1===n())}},d=[];return d[0]="No errors",d[1]=`[${g}]: Option must be an object`,d[2]=`[${g}]: Options must contains only one (or several) of [${n(h).join(", ")}]`,d[3]=`[${g}]: Option "ranges" must be array with array of UTF-8 char code range. For example: [ [[48, 57 ]], [[33, 46], [58, 64], [94, 96], [123, 126]] ] `,d[4]=`[${g}]: Option "numbers" must be boolean`,d[5]=`[${g}]: Option "uppercase" must be boolean`,d[6]=`[${g}]: Option "lowercase" must be boolean`,d[7]=`[${g}]: Option "symbols" must be boolean`,d[8]=`[${g}]: Option "length" must be integer greater than 0`,d[9]=`[${g}]: Option "prng" must be one of [${["default"].concat(n(f)).join(", ")}]`,d[10]=`[${g}]: Option "seed" must be array of strings or numbers`,d[11]=`[${g}]: At less one of options [${s(n(h),["length","prng","seed"]).join(", ")}] mustn't be false`,d[12]=`[${g}]: Option "seed" cannot be used when "prng" option is default. Set "prng" option to one of [${n(f).join(", ")}]`,A={OPTION_VALIDATORS:m,ERROR_MESSAGES:d,MODULE_NAME:g,DEFAULT_OPTIONS:h}}var N=function(){if($)return T;$=1;const{compact:n,assign:r,timesMap:e,isBrowser:t,...o}=S(),{OPTION_VALIDATORS:u,ERROR_MESSAGES:a,DEFAULT_OPTIONS:s}=C(),{getDefaultBrowserSeed:i,getDefaultNodeSeed:c}=function(){if(R)return I;R=1;const{compact:n,isBrowser:r}=S();return I={getDefaultNodeSeed:function(){return r()?null:n([].concat(Date.now(),process.memoryUsage?[process.memoryUsage().heapTotal,process.memoryUsage().heapUsed]:null,process.env?[process.arch,process.platform]:null))},getDefaultBrowserSeed:function(){return r()?n([].concat(Date.now(),performance&&performance.memory?[performance.memory.totalJSHeapSize,performance.memory.usedJSHeapSize]:null,navigator?[navigator.userAgent,navigator.appVersion,navigator.hardwareConcurrency,navigator.deviceMemory]:null)):null}}}(),l=o.random,f=o.randomItem,p=o.shuffle,g=Object.freeze,h=g([g([g([48,57])]),g([g([65,90])]),g([g([97,122])]),g([g([33,46]),g([58,64]),g([94,96]),g([123,126])])]);function m({seed:n}){const r=Boolean(n);return t()?r?n:i():r?n:c()}return T={passfather:function(t){const o=u.completely(t);if(o>0)throw a[o];const i=r({},s,t),c=n=>{const r=p(m(i));return p(n,i.prng,r)},g=n=>{const r=p(m(i));return l(n,i.prng,p(r))},d=n=>{const r=p(m(i));return f(n,i.prng,p(r))},y=function(r){return n([].concat(r.numbers&&[h[0]],r.uppercase&&[h[1]],r.lowercase&&[h[2]],r.symbols&&[h[3]],r.ranges&&r.ranges))}(i),v=e(y.length,(n,r)=>String.fromCharCode(g(d(y[r]))));return v.length>=i.length?c(v).slice(0,i.length).join(""):c(e(i.length-v.length,()=>String.fromCharCode(g(d(d(y))))).concat(v)).join("")},DEFAULT_OPTIONS:s,CHAR_RANGES:h,ERROR_MESSAGES:a},T}();!function(){const n="undefined"!=typeof window&&void 0!==window.document?window.crypto:globalThis.crypto;globalThis.passfather=globalThis.passfather||{},globalThis.passfather.externals={crypto:n}}();var E=N.passfather;export{E as default};
37
+ var e=123456789,t=362436069,o=521288629,u=88675123,a=886756453;0==r.length&&(r=[+new Date]);for(var s=n(),i=0;i<r.length;i++)e^=4294967296*s(r[i]),t^=4294967296*s(r[i]),o^=4294967296*s(r[i]),a^=4294967296*s(r[i]),u^=4294967296*s(r[i]);s=null;var c=function(){var n=(e^e>>>7)>>>0;return e=t,t=o,o=u,u=a,(t+t+1)*(a=a^a<<6^(n^n<<13)>>>0)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.version="Xorshift03 0.9",f.args=r,f}(Array.prototype.slice.call(arguments))},h}();return d={Alea:n,KISS07:r,Kybos:v,LFib:w,LFIB4:O,MRG32k3a:S,Xorshift03:A}}function S(){if(w)return v;w=1;const n=O(),r=new Set(Object.keys(n));function e(){return"undefined"!=typeof window&&void 0!==window.document}function t(t,o){const u=r.has(t);if(t&&"default"!==t&&!u&&console.warn(`PRNG ${t} is not supported`),t&&"default"!==t&&r.has(t)){return(o?new n[t](o):new n[t]).uint32()}const a=function(){if(e()&&void 0!==window.crypto)return window.crypto;if(void 0!==globalThis.crypto)return globalThis.crypto;throw new Error("Crypto API is not available in this environment")}();return"function"==typeof a.getRandomValues?a.getRandomValues(new Uint32Array(1))[0]:parseInt(a.randomBytes(4).toString("hex"),16)}function o(n,r,e){const u=t(r,e),a=n[1]-n[0]+1;return u>=Math.floor(4294967295/a)*a?o(n):n[0]+u%a}function u(n,r){return Array(n).fill().map(r)}function a(n,r,e){return t=u(r-n,(r,e)=>n+e),e?t.push(r)&&t:t;var t}return v={isBrowser:e,getRandomUint32:t,random:o,randomItem:function(n,r,e){return n[o([0,n.length-1],r,e)]},without:function(n,r){return n.filter(n=>!1===r.includes(n))},includes:function(n,r){return n.some(n=>r.includes(n))},includesAll:function(n,r){return!1===r.some(r=>!1===n.includes(r))},excludes:function(n,r){return!1===n.some(n=>r.includes(n))},lastIndex:function(n){return n.length-1},compact:function(n){return n.filter(Boolean)},keys:function(n){return Object.keys(n)},isInteger:function(n){return Number.isInteger(n)},isNumber:function(n){return"number"==typeof n&&!1===isNaN(n)},isString:function(n){return"string"==typeof n},isBoolean:function(n){return!0===n||!1===n},isArray:function(n){return n instanceof Array},isPlainObject:function(n){try{return!0===/^\{.*\}$/.test(JSON.stringify(n))&&n instanceof Map==!1}catch(n){return!1}},assign:function(){return Object.assign.apply(Object,arguments)},timesMap:u,numSequence:a,shuffle:function(n,r,e){return n.length<=1||u(n.length,(t,u)=>{const a=o([0,n.length-1],r,e);[n[u],n[a]]=[n[a],n[u]]}),n},getCharsByDiapason:function(n){return String.fromCodePoint.apply(String,a(n[0],n[1],!0))},isCharCode:function(n){return String.fromCharCode(n)!==String.fromCharCode(!1)},escapeRegExp:function(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}},v}var A,D,I,R,$,P,C={name:"passfather"};function N(){if(D)return A;D=1;const{keys:n,isInteger:r,includesAll:e,isBoolean:t,isArray:o,isPlainObject:u,assign:a,without:s,isCharCode:i,isString:c,isNumber:f}=S(),l=O(),{name:p}=C,g=p,h=Object.freeze({numbers:!0,uppercase:!0,lowercase:!0,symbols:!0,length:12,ranges:null,prng:"default",seed:null}),m={numbers:n=>t(n),uppercase:n=>t(n),lowercase:n=>t(n),symbols:n=>t(n),length:n=>r(n)&&n>0,ranges:n=>o(n)&&n.length>0&&n.every(n=>{return o(r=n)&&r.length>0&&r.every(n=>o(n)&&i(n[0])&&i(n[1]));var r}),prng:r=>["default"].concat(n(l)).includes(r),seed:n=>o(n)&&n.length>0&&!1===n.some(n=>!c(n)&&!f(n)),completely(r){return[()=>!1===(void 0===r||u(r)&&0===n(r).length),()=>u(r),()=>e(n(h),n(r)),()=>!1===r.hasOwnProperty("ranges")||this.ranges(r.ranges),()=>!1===r.hasOwnProperty("numbers")||this.numbers(r.numbers),()=>!1===r.hasOwnProperty("uppercase")||this.uppercase(r.uppercase),()=>!1===r.hasOwnProperty("lowercase")||this.lowercase(r.lowercase),()=>!1===r.hasOwnProperty("symbols")||this.symbols(r.symbols),()=>!1===r.hasOwnProperty("length")||this.length(r.length),()=>!1===r.hasOwnProperty("prng")||this.prng(r.prng),()=>!1===r.hasOwnProperty("seed")||this.seed(r.seed),()=>{const e=a({},h,r);return s(n(e),["length"]).some(n=>"ranges"===n?o(e[n]):!0===e[n])},()=>{const n=a({},h,r);return!1===(r.hasOwnProperty("seed")&&"default"===n.prng)}].findIndex(n=>!1===n())}},d=[];return d[0]="No errors",d[1]=`[${g}]: Option must be an object`,d[2]=`[${g}]: Options must contains only one (or several) of [${n(h).join(", ")}]`,d[3]=`[${g}]: Option "ranges" must be array with array of UTF-8 char code range. For example: [ [[48, 57 ]], [[33, 46], [58, 64], [94, 96], [123, 126]] ] `,d[4]=`[${g}]: Option "numbers" must be boolean`,d[5]=`[${g}]: Option "uppercase" must be boolean`,d[6]=`[${g}]: Option "lowercase" must be boolean`,d[7]=`[${g}]: Option "symbols" must be boolean`,d[8]=`[${g}]: Option "length" must be integer greater than 0`,d[9]=`[${g}]: Option "prng" must be one of [${["default"].concat(n(l)).join(", ")}]`,d[10]=`[${g}]: Option "seed" must be array of strings or numbers`,d[11]=`[${g}]: At less one of options [${s(n(h),["length","prng","seed"]).join(", ")}] mustn't be false`,d[12]=`[${g}]: Option "seed" cannot be used when "prng" option is default. Set "prng" option to one of [${n(l).join(", ")}]`,A={OPTION_VALIDATORS:m,ERROR_MESSAGES:d,MODULE_NAME:g,DEFAULT_OPTIONS:h}}var E=function(){if(P)return $;P=1;const{compact:n,assign:r,timesMap:e,isBrowser:t,...o}=S(),{OPTION_VALIDATORS:u,ERROR_MESSAGES:a,DEFAULT_OPTIONS:s}=N(),{getDefaultBrowserSeed:i,getDefaultNodeSeed:c}=function(){if(R)return I;R=1;const{compact:n,isBrowser:r}=S();return I={getDefaultNodeSeed:function(){return r()?null:n([].concat(Date.now(),process.memoryUsage?[process.memoryUsage().heapTotal,process.memoryUsage().heapUsed]:null,process.env?[process.arch,process.platform]:null))},getDefaultBrowserSeed:function(){return r()?n([].concat(Date.now(),performance&&performance.memory?[performance.memory.totalJSHeapSize,performance.memory.usedJSHeapSize]:null,navigator?[navigator.userAgent,navigator.appVersion,navigator.hardwareConcurrency,navigator.deviceMemory]:null)):null}}}(),f=o.random,l=o.randomItem,p=o.shuffle,g=Object.freeze,h=g([g([g([48,57])]),g([g([65,90])]),g([g([97,122])]),g([g([33,46]),g([58,64]),g([94,96]),g([123,126])])]);function m({seed:n}){const r=Boolean(n);return t()?r?n:i():r?n:c()}return $={passfather:function(t){const o=u.completely(t);if(o>0)throw a[o];const i=r({},s,t),c=n=>{const r=p(m(i));return p(n,i.prng,r)},g=n=>{const r=p(m(i));return f(n,i.prng,p(r))},d=n=>{const r=p(m(i));return l(n,i.prng,p(r))},y=function(r){return n([].concat(r.numbers&&[h[0]],r.uppercase&&[h[1]],r.lowercase&&[h[2]],r.symbols&&[h[3]],r.ranges&&r.ranges))}(i),v=e(y.length,(n,r)=>String.fromCharCode(g(d(y[r]))));return v.length>=i.length?c(v).slice(0,i.length).join(""):c(e(i.length-v.length,()=>String.fromCharCode(g(d(d(y))))).concat(v)).join("")},DEFAULT_OPTIONS:s,CHAR_RANGES:h,ERROR_MESSAGES:a},$}(),j=E.passfather;export{j as default};
@@ -1,36 +1,37 @@
1
1
  /*
2
- @version 4.2.2
2
+ @version 5.0.1
3
3
  @description Passfather is very fast and powerful utility with zero dependencies to generate strong password
4
4
  @copyright Copyright (c) 2019-present, Evgeny Vyushin <e@vyushin.ru> (https://github.com/vyushin)
5
5
  @license
6
6
  This source code is licensed under the MIT license found in the
7
7
  LICENSE file on https://github.com/vyushin/passfather/blob/main/LICENSE
8
8
  */
9
- !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],e):(n="undefined"!=typeof globalThis?globalThis:n||self).passfather=e(n.crypto)}(this,function(n){"use strict";var e,r,t,o,u,s,a,i,c,f,l,p,g,h,d,y,m,v,b,w,O,S,A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function D(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function I(){if(o)return t;return o=1,t=
9
+ !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).passfather=e()}(this,function(){"use strict";function n(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}
10
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */var e,r,t,o,u,s,i,a,c,f,l,p,g,h,m,d,y,v,b,w;function O(){if(r)return e;return r=1,e=
10
11
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
11
12
  function(){var n=4022871197,e=function(e){e=e.toString();for(var r=0;r<e.length;r++){var t=.02519603282416938*(n+=e.charCodeAt(r));t-=n=t>>>0,n=(t*=n)>>>0,n+=4294967296*(t-=n)}return 2.3283064365386963e-10*(n>>>0)};return e.version="Mash 0.9",e}}
12
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */function P(){if(w)return b;w=1;const n=function(){if(s)return u;s=1;const n=I();return u=function(){return function(e){
13
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */function S(){if(v)return y;v=1;const n=function(){if(o)return t;o=1;const n=O();return t=function(){return function(e){
13
14
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
14
- var r=0,t=0,o=0,u=1;0==e.length&&(e=[+new Date]);var s=n();r=s(" "),t=s(" "),o=s(" ");for(var a=0;a<e.length;a++)(r-=s(e[a]))<0&&(r+=1),(t-=s(e[a]))<0&&(t+=1),(o-=s(e[a]))<0&&(o+=1);s=null;var i=function(){var n=2091639*r+2.3283064365386963e-10*u;return r=t,t=o,o=n-(u=0|n)};return i.uint32=function(){return 4294967296*i()},i.fract53=function(){return i()+11102230246251565e-32*(2097152*i()|0)},i.version="Alea 0.9",i.args=e,i}(Array.prototype.slice.call(arguments))},u}
15
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),e=function(){if(i)return a;i=1;const n=I();return a=function(){return function(e){
15
+ var r=0,t=0,o=0,u=1;0==e.length&&(e=[+new Date]);var s=n();r=s(" "),t=s(" "),o=s(" ");for(var i=0;i<e.length;i++)(r-=s(e[i]))<0&&(r+=1),(t-=s(e[i]))<0&&(t+=1),(o-=s(e[i]))<0&&(o+=1);s=null;var a=function(){var n=2091639*r+2.3283064365386963e-10*u;return r=t,t=o,o=n-(u=0|n)};return a.uint32=function(){return 4294967296*a()},a.fract53=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.version="Alea 0.9",a.args=e,a}(Array.prototype.slice.call(arguments))},t}
16
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),e=function(){if(s)return u;s=1;const n=O();return u=function(){return function(e){
16
17
  /*! George Marsaglia, 2007-06-23 */
17
18
  /*! http://groups.google.com/group/comp.lang.fortran/msg/6edb8ad6ec5421a5 */
18
- var r=123456789,t=362436069,o=21288629,u=14921776,s=0;0==e.length&&(e=[+new Date]);for(var a=n(),i=0;i<e.length;i++)r^=4294967296*a(e[i]),t^=4294967296*a(e[i]),o^=4294967296*a(e[i]),u^=4294967296*a(e[i]);0===t&&(t=1),s^=o>>>31,(o&=2147483647)%7559==0&&o++,(u&=2147483647)%7559==0&&u++,a=null;var c=function(){var n;return r+=545925293,t^=t<<13,t^=t>>>17,n=o+u+s,o=u,s=n>>>31,(r>>>=0)+(t^=t<<5)+(u=2147483647&n)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.args=e,f.version="KISS07 0.9",f}(Array.prototype.slice.call(arguments))},a}
19
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),r=function(){if(f)return c;f=1;const n=I();return c=function(){return function(e){for(
19
+ var r=123456789,t=362436069,o=21288629,u=14921776,s=0;0==e.length&&(e=[+new Date]);for(var i=n(),a=0;a<e.length;a++)r^=4294967296*i(e[a]),t^=4294967296*i(e[a]),o^=4294967296*i(e[a]),u^=4294967296*i(e[a]);0===t&&(t=1),s^=o>>>31,(o&=2147483647)%7559==0&&o++,(u&=2147483647)%7559==0&&u++,i=null;var c=function(){var n;return r+=545925293,t^=t<<13,t^=t>>>17,n=o+u+s,o=u,s=n>>>31,(r>>>=0)+(t^=t<<5)+(u=2147483647&n)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.args=e,f.version="KISS07 0.9",f}(Array.prototype.slice.call(arguments))},u}
20
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),r=function(){if(a)return i;a=1;const n=O();return i=function(){return function(e){for(
20
21
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
21
- var r=0,t=0,o=0,u=1,s=[],a=0,i=n(),c=(r=i(" "),t=i(" "),o=i(" "),0);c<8;c++)s[c]=i(" ");0==e.length&&(e=[+new Date]);for(var f=0;f<e.length;f++)for((r-=i(e[f]))<0&&(r+=1),(t-=i(e[f]))<0&&(t+=1),(o-=i(e[f]))<0&&(o+=1),c=0;c<8;c++)s[c]-=i(e[f]),s[c]<0&&(s[c]+=1);var l=function(){a=8*s[a]|0;var n=s[a],e=2091639*r+2.3283064365386963e-10*u;return r=t,t=o,o=e-(u=0|e),s[a]-=o,s[a]<0&&(s[a]+=1),n};return l.uint32=function(){return 4294967296*l()},l.fract53=function(){return l()+11102230246251565e-32*(2097152*l()|0)},l.addNoise=function(){for(var n=arguments.length-1;n>=0;n--)for(c=0;c<8;c++)s[c]-=i(arguments[n]),s[c]<0&&(s[c]+=1)},l.version="Kybos 0.9",l.args=e,l}(Array.prototype.slice.call(arguments))},c}
22
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),t=function(){if(p)return l;p=1;const n=I();return l=function(){return function(e){
22
+ var r=0,t=0,o=0,u=1,s=[],i=0,a=n(),c=(r=a(" "),t=a(" "),o=a(" "),0);c<8;c++)s[c]=a(" ");0==e.length&&(e=[+new Date]);for(var f=0;f<e.length;f++)for((r-=a(e[f]))<0&&(r+=1),(t-=a(e[f]))<0&&(t+=1),(o-=a(e[f]))<0&&(o+=1),c=0;c<8;c++)s[c]-=a(e[f]),s[c]<0&&(s[c]+=1);var l=function(){i=8*s[i]|0;var n=s[i],e=2091639*r+2.3283064365386963e-10*u;return r=t,t=o,o=e-(u=0|e),s[i]-=o,s[i]<0&&(s[i]+=1),n};return l.uint32=function(){return 4294967296*l()},l.fract53=function(){return l()+11102230246251565e-32*(2097152*l()|0)},l.addNoise=function(){for(var n=arguments.length-1;n>=0;n--)for(c=0;c<8;c++)s[c]-=a(arguments[n]),s[c]<0&&(s[c]+=1)},l.version="Kybos 0.9",l.args=e,l}(Array.prototype.slice.call(arguments))},i}
23
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),b=function(){if(f)return c;f=1;const n=O();return c=function(){return function(e){
23
24
  /*! Johannes Baagøe <baagoe@baagoe.com>, 2010 */
24
- var r=255,t=52,o=0,u=[],s=n();0===e.length&&(e=[+new Date]);for(var a=0;a<256;a++)u[a]=s(" "),u[a]-=4.76837158203125e-7*s(" "),u[a]<0&&(u[a]+=1);for(var i=0;i<e.length;i++)for(a=0;a<256;a++)u[a]-=s(e[i]),u[a]-=4.76837158203125e-7*s(e[i]),u[a]<0&&(u[a]+=1);s=null;var c=function(){t=t+1&255,o=o+1&255;var n=u[r=r+1&255]-u[t];return n<0&&(n+=1),(n-=u[o])<0&&(n+=1),u[r]=n};return c.uint32=function(){return 4294967296*c()>>>0},c.fract53=c,c.version="LFib 0.9",c.args=e,c}(Array.prototype.slice.call(arguments))},l}
25
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),o=function(){if(h)return g;h=1;const n=I();return g=function(){return function(e){
25
+ var r=255,t=52,o=0,u=[],s=n();0===e.length&&(e=[+new Date]);for(var i=0;i<256;i++)u[i]=s(" "),u[i]-=4.76837158203125e-7*s(" "),u[i]<0&&(u[i]+=1);for(var a=0;a<e.length;a++)for(i=0;i<256;i++)u[i]-=s(e[a]),u[i]-=4.76837158203125e-7*s(e[a]),u[i]<0&&(u[i]+=1);s=null;var c=function(){t=t+1&255,o=o+1&255;var n=u[r=r+1&255]-u[t];return n<0&&(n+=1),(n-=u[o])<0&&(n+=1),u[r]=n};return c.uint32=function(){return 4294967296*c()>>>0},c.fract53=c,c.version="LFib 0.9",c.args=e,c}(Array.prototype.slice.call(arguments))},c}
26
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),w=function(){if(p)return l;p=1;const n=O();return l=function(){return function(e){
26
27
  /*! George Marsaglia's LFIB4, */
27
28
  /*! http://groups.google.com/group/sci.crypt/msg/eb4ddde782b17051 */
28
- var r=0,t=58,o=119,u=178,s=[],a=n();0===e.length&&(e=[+new Date]);for(var i=0;i<256;i++)s[i]=a(" "),s[i]-=4.76837158203125e-7*a(" "),s[i]<0&&(s[i]+=1);for(var c=0;c<e.length;c++)for(i=0;i<256;i++)s[i]-=a(e[c]),s[i]-=4.76837158203125e-7*a(e[c]),s[i]<0&&(s[i]+=1);a=null;var f=function(){var n;return t=t+1&255,o=o+1&255,u=u+1&255,(n=s[r=r+1&255]-s[t])<0&&(n+=1),(n-=s[o])<0&&(n+=1),(n-=s[u])<0&&(n+=1),s[r]=n};return f.uint32=function(){return 4294967296*f()>>>0},f.fract53=f,f.version="LFIB4 0.9",f.args=e,f}(Array.prototype.slice.call(arguments))},g}
29
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),O=function(){if(y)return d;y=1;const n=I();return d=function(){return function(e){
29
+ var r=0,t=58,o=119,u=178,s=[],i=n();0===e.length&&(e=[+new Date]);for(var a=0;a<256;a++)s[a]=i(" "),s[a]-=4.76837158203125e-7*i(" "),s[a]<0&&(s[a]+=1);for(var c=0;c<e.length;c++)for(a=0;a<256;a++)s[a]-=i(e[c]),s[a]-=4.76837158203125e-7*i(e[c]),s[a]<0&&(s[a]+=1);i=null;var f=function(){var n;return t=t+1&255,o=o+1&255,u=u+1&255,(n=s[r=r+1&255]-s[t])<0&&(n+=1),(n-=s[o])<0&&(n+=1),(n-=s[u])<0&&(n+=1),s[r]=n};return f.uint32=function(){return 4294967296*f()>>>0},f.fract53=f,f.version="LFIB4 0.9",f.args=e,f}(Array.prototype.slice.call(arguments))},l}
30
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),S=function(){if(h)return g;h=1;const n=O();return g=function(){return function(e){
30
31
  /*! Copyright (c) 1998, 2002 Pierre L'Ecuyer, DIRO, Université de Montréal. */
31
32
  /*! http://www.iro.umontreal.ca/~lecuyer/ */
32
- var r=4294967087,t=4294944443,o=12345,u=12345,s=123,a=12345,i=12345,c=123;0===e.length&&(e=[+new Date]);for(var f=n(),l=0;l<e.length;l++)o+=4294967296*f(e[l]),u+=4294967296*f(e[l]),s+=4294967296*f(e[l]),a+=4294967296*f(e[l]),i+=4294967296*f(e[l]),c+=4294967296*f(e[l]);o%=r,u%=r,s%=r,a%=t,i%=t,c%=t,f=null;var p=function(){var n,e,r=4294967087,t=4294944443;return n=1403580*u-810728*o,(n-=(n/r|0)*r)<0&&(n+=r),o=u,u=s,s=n,e=527612*c-1370589*a,(e-=(e/t|0)*t)<0&&(e+=t),a=i,i=c,c=e,n<=e?n-e+r:n-e},g=function(){return 2.3283064365386963e-10*p()};return g.uint32=p,g.fract53=function(){return g()+11102230246251565e-32*(2097151&p())},g.version="MRG32k3a 0.9",g.args=e,g}(Array.prototype.slice.call(arguments))},d}
33
- /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),S=function(){if(v)return m;v=1;const n=I();return m=function(){return function(e){
33
+ var r=4294967087,t=4294944443,o=12345,u=12345,s=123,i=12345,a=12345,c=123;0===e.length&&(e=[+new Date]);for(var f=n(),l=0;l<e.length;l++)o+=4294967296*f(e[l]),u+=4294967296*f(e[l]),s+=4294967296*f(e[l]),i+=4294967296*f(e[l]),a+=4294967296*f(e[l]),c+=4294967296*f(e[l]);o%=r,u%=r,s%=r,i%=t,a%=t,c%=t,f=null;var p=function(){var n,e,r=4294967087,t=4294944443;return n=1403580*u-810728*o,(n-=(n/r|0)*r)<0&&(n+=r),o=u,u=s,s=n,e=527612*c-1370589*i,(e-=(e/t|0)*t)<0&&(e+=t),i=a,a=c,c=e,n<=e?n-e+r:n-e},g=function(){return 2.3283064365386963e-10*p()};return g.uint32=p,g.fract53=function(){return g()+11102230246251565e-32*(2097151&p())},g.version="MRG32k3a 0.9",g.args=e,g}(Array.prototype.slice.call(arguments))},g}
34
+ /*! From http://baagoe.com/en/RandomMusings/javascript/ */(),A=function(){if(d)return m;d=1;const n=O();return m=function(){return function(e){
34
35
  /*! George Marsaglia, 13 May 2003 */
35
36
  /*! http://groups.google.com/group/comp.lang.c/msg/e3c4ea1169e463ae */
36
- var r=123456789,t=362436069,o=521288629,u=88675123,s=886756453;0==e.length&&(e=[+new Date]);for(var a=n(),i=0;i<e.length;i++)r^=4294967296*a(e[i]),t^=4294967296*a(e[i]),o^=4294967296*a(e[i]),s^=4294967296*a(e[i]),u^=4294967296*a(e[i]);a=null;var c=function(){var n=(r^r>>>7)>>>0;return r=t,t=o,o=u,u=s,(t+t+1)*(s=s^s<<6^(n^n<<13)>>>0)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.version="Xorshift03 0.9",f.args=e,f}(Array.prototype.slice.call(arguments))},m}();return b={Alea:n,KISS07:e,Kybos:r,LFib:t,LFIB4:o,MRG32k3a:O,Xorshift03:S}}function R(){if(S)return O;S=1;const n=P(),e=new Set(Object.keys(n));function r(){return"undefined"!=typeof window&&void 0!==window.document}function t(t,o){const u=e.has(t);if(t&&"default"!==t&&!u&&console.warn(`PRNG ${t} is not supported`),t&&"default"!==t&&e.has(t)){return(o?new n[t](o):new n[t]).uint32()}const s=function(){if(r()&&void 0!==window.crypto)return window.crypto;if(globalThis.passfather?.externals?.crypto)return globalThis.passfather.externals.crypto;if(void 0!==globalThis.crypto)return globalThis.crypto;throw new Error("Crypto API is not available in this environment")}();return"function"==typeof s.getRandomValues?s.getRandomValues(new Uint32Array(1))[0]:parseInt(s.randomBytes(4).toString("hex"),16)}function o(n,e,r){const u=t(e,r),s=n[1]-n[0]+1;return u>=Math.floor(4294967295/s)*s?o(n):n[0]+u%s}function u(n,e){return Array(n).fill().map(e)}function s(n,e,r){return t=u(e-n,(e,r)=>n+r),r?t.push(e)&&t:t;var t}return O={isBrowser:r,getRandomUint32:t,random:o,randomItem:function(n,e,r){return n[o([0,n.length-1],e,r)]},without:function(n,e){return n.filter(n=>!1===e.includes(n))},includes:function(n,e){return n.some(n=>e.includes(n))},includesAll:function(n,e){return!1===e.some(e=>!1===n.includes(e))},excludes:function(n,e){return!1===n.some(n=>e.includes(n))},lastIndex:function(n){return n.length-1},compact:function(n){return n.filter(Boolean)},keys:function(n){return Object.keys(n)},isInteger:function(n){return Number.isInteger(n)},isNumber:function(n){return"number"==typeof n&&!1===isNaN(n)},isString:function(n){return"string"==typeof n},isBoolean:function(n){return!0===n||!1===n},isArray:function(n){return n instanceof Array},isPlainObject:function(n){try{return!0===/^\{.*\}$/.test(JSON.stringify(n))&&n instanceof Map==!1}catch(n){return!1}},assign:function(){return Object.assign.apply(Object,arguments)},timesMap:u,numSequence:s,shuffle:function(n,e,r){return n.length<=1||u(n.length,(t,u)=>{const s=o([0,n.length-1],e,r);[n[u],n[s]]=[n[s],n[u]]}),n},getCharsByDiapason:function(n){return String.fromCodePoint.apply(String,s(n[0],n[1],!0))},isCharCode:function(n){return String.fromCharCode(n)!==String.fromCharCode(!1)},escapeRegExp:function(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}},O}var T,$,E,C,N,j,M,x,B={name:"passfather"};function _(){if($)return T;$=1;const{keys:n,isInteger:e,includesAll:r,isBoolean:t,isArray:o,isPlainObject:u,assign:s,without:a,isCharCode:i,isString:c,isNumber:f}=R(),l=P(),{name:p}=B,g=p,h=Object.freeze({numbers:!0,uppercase:!0,lowercase:!0,symbols:!0,length:12,ranges:null,prng:"default",seed:null}),d={numbers:n=>t(n),uppercase:n=>t(n),lowercase:n=>t(n),symbols:n=>t(n),length:n=>e(n)&&n>0,ranges:n=>o(n)&&n.length>0&&n.every(n=>{return o(e=n)&&e.length>0&&e.every(n=>o(n)&&i(n[0])&&i(n[1]));var e}),prng:e=>["default"].concat(n(l)).includes(e),seed:n=>o(n)&&n.length>0&&!1===n.some(n=>!c(n)&&!f(n)),completely(e){return[()=>!1===(void 0===e||u(e)&&0===n(e).length),()=>u(e),()=>r(n(h),n(e)),()=>!1===e.hasOwnProperty("ranges")||this.ranges(e.ranges),()=>!1===e.hasOwnProperty("numbers")||this.numbers(e.numbers),()=>!1===e.hasOwnProperty("uppercase")||this.uppercase(e.uppercase),()=>!1===e.hasOwnProperty("lowercase")||this.lowercase(e.lowercase),()=>!1===e.hasOwnProperty("symbols")||this.symbols(e.symbols),()=>!1===e.hasOwnProperty("length")||this.length(e.length),()=>!1===e.hasOwnProperty("prng")||this.prng(e.prng),()=>!1===e.hasOwnProperty("seed")||this.seed(e.seed),()=>{const r=s({},h,e);return a(n(r),["length"]).some(n=>"ranges"===n?o(r[n]):!0===r[n])},()=>{const n=s({},h,e);return!1===(e.hasOwnProperty("seed")&&"default"===n.prng)}].findIndex(n=>!1===n())}},y=[];return y[0]="No errors",y[1]=`[${g}]: Option must be an object`,y[2]=`[${g}]: Options must contains only one (or several) of [${n(h).join(", ")}]`,y[3]=`[${g}]: Option "ranges" must be array with array of UTF-8 char code range. For example: [ [[48, 57 ]], [[33, 46], [58, 64], [94, 96], [123, 126]] ] `,y[4]=`[${g}]: Option "numbers" must be boolean`,y[5]=`[${g}]: Option "uppercase" must be boolean`,y[6]=`[${g}]: Option "lowercase" must be boolean`,y[7]=`[${g}]: Option "symbols" must be boolean`,y[8]=`[${g}]: Option "length" must be integer greater than 0`,y[9]=`[${g}]: Option "prng" must be one of [${["default"].concat(n(l)).join(", ")}]`,y[10]=`[${g}]: Option "seed" must be array of strings or numbers`,y[11]=`[${g}]: At less one of options [${a(n(h),["length","prng","seed"]).join(", ")}] mustn't be false`,y[12]=`[${g}]: Option "seed" cannot be used when "prng" option is default. Set "prng" option to one of [${n(l).join(", ")}]`,T={OPTION_VALIDATORS:d,ERROR_MESSAGES:y,MODULE_NAME:g,DEFAULT_OPTIONS:h}}function U(){if(j)return N;j=1;const{compact:n,assign:e,timesMap:r,isBrowser:t,...o}=R(),{OPTION_VALIDATORS:u,ERROR_MESSAGES:s,DEFAULT_OPTIONS:a}=_(),{getDefaultBrowserSeed:i,getDefaultNodeSeed:c}=function(){if(C)return E;C=1;const{compact:n,isBrowser:e}=R();return E={getDefaultNodeSeed:function(){return e()?null:n([].concat(Date.now(),process.memoryUsage?[process.memoryUsage().heapTotal,process.memoryUsage().heapUsed]:null,process.env?[process.arch,process.platform]:null))},getDefaultBrowserSeed:function(){return e()?n([].concat(Date.now(),performance&&performance.memory?[performance.memory.totalJSHeapSize,performance.memory.usedJSHeapSize]:null,navigator?[navigator.userAgent,navigator.appVersion,navigator.hardwareConcurrency,navigator.deviceMemory]:null)):null}}}(),f=o.random,l=o.randomItem,p=o.shuffle,g=Object.freeze,h=g([g([g([48,57])]),g([g([65,90])]),g([g([97,122])]),g([g([33,46]),g([58,64]),g([94,96]),g([123,126])])]);function d({seed:n}){const e=Boolean(n);return t()?e?n:i():e?n:c()}return N={passfather:function(t){const o=u.completely(t);if(o>0)throw s[o];const i=e({},a,t),c=n=>{const e=p(d(i));return p(n,i.prng,e)},g=n=>{const e=p(d(i));return f(n,i.prng,p(e))},y=n=>{const e=p(d(i));return l(n,i.prng,p(e))},m=function(e){return n([].concat(e.numbers&&[h[0]],e.uppercase&&[h[1]],e.lowercase&&[h[2]],e.symbols&&[h[3]],e.ranges&&e.ranges))}(i),v=r(m.length,(n,e)=>String.fromCharCode(g(y(m[e]))));return v.length>=i.length?c(v).slice(0,i.length).join(""):c(r(i.length-v.length,()=>String.fromCharCode(g(y(y(m))))).concat(v)).join("")},DEFAULT_OPTIONS:a,CHAR_RANGES:h,ERROR_MESSAGES:s},N}return D(function(){if(x)return M;x=1;const{initExternals:t}=r?e:(r=1,e={initExternals:function(){const e=n;A.passfather=A.passfather||{},A.passfather.externals={crypto:e}}}),{passfather:o}=U();return t(),M=o}())});
37
+ var r=123456789,t=362436069,o=521288629,u=88675123,s=886756453;0==e.length&&(e=[+new Date]);for(var i=n(),a=0;a<e.length;a++)r^=4294967296*i(e[a]),t^=4294967296*i(e[a]),o^=4294967296*i(e[a]),s^=4294967296*i(e[a]),u^=4294967296*i(e[a]);i=null;var c=function(){var n=(r^r>>>7)>>>0;return r=t,t=o,o=u,u=s,(t+t+1)*(s=s^s<<6^(n^n<<13)>>>0)>>>0},f=function(){return 2.3283064365386963e-10*c()};return f.uint32=c,f.fract53=function(){return f()+11102230246251565e-32*(2097151&c())},f.version="Xorshift03 0.9",f.args=e,f}(Array.prototype.slice.call(arguments))},m}();return y={Alea:n,KISS07:e,Kybos:r,LFib:b,LFIB4:w,MRG32k3a:S,Xorshift03:A}}function A(){if(w)return b;w=1;const n=S(),e=new Set(Object.keys(n));function r(){return"undefined"!=typeof window&&void 0!==window.document}function t(t,o){const u=e.has(t);if(t&&"default"!==t&&!u&&console.warn(`PRNG ${t} is not supported`),t&&"default"!==t&&e.has(t)){return(o?new n[t](o):new n[t]).uint32()}const s=function(){if(r()&&void 0!==window.crypto)return window.crypto;if(void 0!==globalThis.crypto)return globalThis.crypto;throw new Error("Crypto API is not available in this environment")}();return"function"==typeof s.getRandomValues?s.getRandomValues(new Uint32Array(1))[0]:parseInt(s.randomBytes(4).toString("hex"),16)}function o(n,e,r){const u=t(e,r),s=n[1]-n[0]+1;return u>=Math.floor(4294967295/s)*s?o(n):n[0]+u%s}function u(n,e){return Array(n).fill().map(e)}function s(n,e,r){return t=u(e-n,(e,r)=>n+r),r?t.push(e)&&t:t;var t}return b={isBrowser:r,getRandomUint32:t,random:o,randomItem:function(n,e,r){return n[o([0,n.length-1],e,r)]},without:function(n,e){return n.filter(n=>!1===e.includes(n))},includes:function(n,e){return n.some(n=>e.includes(n))},includesAll:function(n,e){return!1===e.some(e=>!1===n.includes(e))},excludes:function(n,e){return!1===n.some(n=>e.includes(n))},lastIndex:function(n){return n.length-1},compact:function(n){return n.filter(Boolean)},keys:function(n){return Object.keys(n)},isInteger:function(n){return Number.isInteger(n)},isNumber:function(n){return"number"==typeof n&&!1===isNaN(n)},isString:function(n){return"string"==typeof n},isBoolean:function(n){return!0===n||!1===n},isArray:function(n){return n instanceof Array},isPlainObject:function(n){try{return!0===/^\{.*\}$/.test(JSON.stringify(n))&&n instanceof Map==!1}catch(n){return!1}},assign:function(){return Object.assign.apply(Object,arguments)},timesMap:u,numSequence:s,shuffle:function(n,e,r){return n.length<=1||u(n.length,(t,u)=>{const s=o([0,n.length-1],e,r);[n[u],n[s]]=[n[s],n[u]]}),n},getCharsByDiapason:function(n){return String.fromCodePoint.apply(String,s(n[0],n[1],!0))},isCharCode:function(n){return String.fromCharCode(n)!==String.fromCharCode(!1)},escapeRegExp:function(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}},b}var D,I,P,R,$,C,N,j,E={name:"passfather"};function T(){if(I)return D;I=1;const{keys:n,isInteger:e,includesAll:r,isBoolean:t,isArray:o,isPlainObject:u,assign:s,without:i,isCharCode:a,isString:c,isNumber:f}=A(),l=S(),{name:p}=E,g=p,h=Object.freeze({numbers:!0,uppercase:!0,lowercase:!0,symbols:!0,length:12,ranges:null,prng:"default",seed:null}),m={numbers:n=>t(n),uppercase:n=>t(n),lowercase:n=>t(n),symbols:n=>t(n),length:n=>e(n)&&n>0,ranges:n=>o(n)&&n.length>0&&n.every(n=>{return o(e=n)&&e.length>0&&e.every(n=>o(n)&&a(n[0])&&a(n[1]));var e}),prng:e=>["default"].concat(n(l)).includes(e),seed:n=>o(n)&&n.length>0&&!1===n.some(n=>!c(n)&&!f(n)),completely(e){return[()=>!1===(void 0===e||u(e)&&0===n(e).length),()=>u(e),()=>r(n(h),n(e)),()=>!1===e.hasOwnProperty("ranges")||this.ranges(e.ranges),()=>!1===e.hasOwnProperty("numbers")||this.numbers(e.numbers),()=>!1===e.hasOwnProperty("uppercase")||this.uppercase(e.uppercase),()=>!1===e.hasOwnProperty("lowercase")||this.lowercase(e.lowercase),()=>!1===e.hasOwnProperty("symbols")||this.symbols(e.symbols),()=>!1===e.hasOwnProperty("length")||this.length(e.length),()=>!1===e.hasOwnProperty("prng")||this.prng(e.prng),()=>!1===e.hasOwnProperty("seed")||this.seed(e.seed),()=>{const r=s({},h,e);return i(n(r),["length"]).some(n=>"ranges"===n?o(r[n]):!0===r[n])},()=>{const n=s({},h,e);return!1===(e.hasOwnProperty("seed")&&"default"===n.prng)}].findIndex(n=>!1===n())}},d=[];return d[0]="No errors",d[1]=`[${g}]: Option must be an object`,d[2]=`[${g}]: Options must contains only one (or several) of [${n(h).join(", ")}]`,d[3]=`[${g}]: Option "ranges" must be array with array of UTF-8 char code range. For example: [ [[48, 57 ]], [[33, 46], [58, 64], [94, 96], [123, 126]] ] `,d[4]=`[${g}]: Option "numbers" must be boolean`,d[5]=`[${g}]: Option "uppercase" must be boolean`,d[6]=`[${g}]: Option "lowercase" must be boolean`,d[7]=`[${g}]: Option "symbols" must be boolean`,d[8]=`[${g}]: Option "length" must be integer greater than 0`,d[9]=`[${g}]: Option "prng" must be one of [${["default"].concat(n(l)).join(", ")}]`,d[10]=`[${g}]: Option "seed" must be array of strings or numbers`,d[11]=`[${g}]: At less one of options [${i(n(h),["length","prng","seed"]).join(", ")}] mustn't be false`,d[12]=`[${g}]: Option "seed" cannot be used when "prng" option is default. Set "prng" option to one of [${n(l).join(", ")}]`,D={OPTION_VALIDATORS:m,ERROR_MESSAGES:d,MODULE_NAME:g,DEFAULT_OPTIONS:h}}function M(){if(C)return $;C=1;const{compact:n,assign:e,timesMap:r,isBrowser:t,...o}=A(),{OPTION_VALIDATORS:u,ERROR_MESSAGES:s,DEFAULT_OPTIONS:i}=T(),{getDefaultBrowserSeed:a,getDefaultNodeSeed:c}=function(){if(R)return P;R=1;const{compact:n,isBrowser:e}=A();return P={getDefaultNodeSeed:function(){return e()?null:n([].concat(Date.now(),process.memoryUsage?[process.memoryUsage().heapTotal,process.memoryUsage().heapUsed]:null,process.env?[process.arch,process.platform]:null))},getDefaultBrowserSeed:function(){return e()?n([].concat(Date.now(),performance&&performance.memory?[performance.memory.totalJSHeapSize,performance.memory.usedJSHeapSize]:null,navigator?[navigator.userAgent,navigator.appVersion,navigator.hardwareConcurrency,navigator.deviceMemory]:null)):null}}}(),f=o.random,l=o.randomItem,p=o.shuffle,g=Object.freeze,h=g([g([g([48,57])]),g([g([65,90])]),g([g([97,122])]),g([g([33,46]),g([58,64]),g([94,96]),g([123,126])])]);function m({seed:n}){const e=Boolean(n);return t()?e?n:a():e?n:c()}return $={passfather:function(t){const o=u.completely(t);if(o>0)throw s[o];const a=e({},i,t),c=n=>{const e=p(m(a));return p(n,a.prng,e)},g=n=>{const e=p(m(a));return f(n,a.prng,p(e))},d=n=>{const e=p(m(a));return l(n,a.prng,p(e))},y=function(e){return n([].concat(e.numbers&&[h[0]],e.uppercase&&[h[1]],e.lowercase&&[h[2]],e.symbols&&[h[3]],e.ranges&&e.ranges))}(a),v=r(y.length,(n,e)=>String.fromCharCode(g(d(y[e]))));return v.length>=a.length?c(v).slice(0,a.length).join(""):c(r(a.length-v.length,()=>String.fromCharCode(g(d(d(y))))).concat(v)).join("")},DEFAULT_OPTIONS:i,CHAR_RANGES:h,ERROR_MESSAGES:s},$}return n(function(){if(j)return N;j=1;const{passfather:n}=M();return N=n}())});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "passfather",
3
- "version": "4.2.2",
3
+ "version": "5.0.1",
4
4
  "description": "Passfather is very fast and powerful utility with zero dependencies to generate strong password",
5
5
  "author": "Evgeny Vyushin <e@vyushin.ru> (https://github.com/vyushin)",
6
6
  "contributors": [
@@ -15,6 +15,7 @@
15
15
  },
16
16
  "scripts": {
17
17
  "install-all": "cd ./build && npm install && cd ../test && npm install",
18
+ "clean-all": "find . -type d \\( -name node_modules -o -name dist \\) -prune -exec rm -rf '{}' +",
18
19
  "build": "cd ./build && npm run build",
19
20
  "pretest": "npm run build",
20
21
  "test": "cd ./test && npm test",
@@ -35,6 +36,9 @@
35
36
  }
36
37
  },
37
38
  "license": "MIT",
39
+ "engines": {
40
+ "node": ">=20"
41
+ },
38
42
  "keywords": [
39
43
  "password",
40
44
  "generator",