generate-password-ts
Version:
Easy library for generating unique passwords. Compatible with node.js and browsers. Forked from original Node.js version.
1 lines • 6.25 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["generate-password"]=t():e["generate-password"]=t()}(this,(()=>(()=>{var e={760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCrypto=t.getRootWebCrypto=t.getWebCrypto=t.getNodeCrypto=void 0;var o=function(){return"undefined"!=typeof window&&window.crypto||"undefined"==typeof window&&"undefined"!=typeof crypto?void 0:r(594)};t.getNodeCrypto=o;var n=function(){return"undefined"!=typeof window&&window.crypto?window.crypto.subtle:"undefined"==typeof window&&"undefined"!=typeof crypto?crypto.subtle:void 0};t.getWebCrypto=n;var a=function(){return"undefined"!=typeof window&&window.crypto?window.crypto:"undefined"==typeof window&&"undefined"!=typeof crypto?crypto:void 0};t.getRootWebCrypto=a;var i=function(){var e=n(),t=o();return void 0!==t?{name:"nodeCrypto",crypto:t}:void 0!==e?{name:"webCrypto",crypto:e}:{name:void 0}};t.getCrypto=i,t.default={getNodeCrypto:o,getWebCrypto:n,getRootWebCrypto:a,getCrypto:i}},228:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getRandomSampledString=t.getRandomString=t.getRandomAsciiString=t.getRandomBytes=void 0;var i=a(r(932));t.getRandomBytes=i.getRandomBytes,t.getRandomAsciiString=i.getRandomAsciiString,t.getRandomString=i.getRandomString,t.getRandomSampledString=i.getRandomSampledString,t.default={getRandomBytes:t.getRandomBytes,getRandomAsciiString:t.getRandomAsciiString,getRandomString:t.getRandomString,getRandomSampledString:t.getRandomSampledString}},932:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getRandomBytes=t.getRandomSampledString=t.getRandomAsciiString=t.getRandomString=void 0;var i=a(r(760));t.getRandomString=function(e){for(var r=(0,t.getRandomBytes)(e),o=(0,t.getRandomBytes)(e),n="",a=0;a<e;a++)o[a]=o[a]%3,r[a]=0===o[a]?r[a]%10+48:r[a]%26+(1===o[a]?65:97),n+=String.fromCharCode(r[a]);return n},t.getRandomAsciiString=function(e){for(var r=(0,t.getRandomBytes)(e),o="",n=0;n<e;n++)r[n]=r[n]%94+32,o+=String.fromCharCode(r[n]);return o},t.getRandomSampledString=function(e,r){var o=r.length;if(0===o)return"";for(var n=(0,t.getRandomBytes)(e),a="",i=0;i<e;i++)a+=r[n[i]%o];return a},t.getRandomBytes=function(e){var t=i.getRootWebCrypto(),r=i.getNodeCrypto();if(void 0!==t&&"function"==typeof t.getRandomValues){var o=new Uint8Array(e);return t.getRandomValues(o),o}if(void 0!==r)return new Uint8Array(r.randomBytes(e));throw new Error("UnsupportedEnvironment")}},594:()=>{}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o].call(a.exports,a,a.exports,r),a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";r.r(o),r.d(o,{default:()=>f,generate:()=>s,generateMultiple:()=>l});var e=r(228),t=r.n(e),n=void 0,a=new Uint8Array,i=function(){(void 0===n||n>=a.length)&&(n=0,a=t().getRandomBytes(256));var e=a[n];return n+=1,e},d=function(e){for(var t=i();t>=256-256%e;)t=i();return t%e},u=/[ilLI|`oO0]/g,c=[{name:"lowercase",rule:/[a-z]/},{name:"uppercase",rule:/[A-Z]/},{name:"numbers",rule:/[0-9]/},{name:"symbols",rule:/[\\!@#$%^&*()+_\-=}{[\]|:;"/?.><,`~']/}],p=function(e,t){for(var r="",o=e.length,n=t.length,a=0;a<o;a++)r+=t[d(n)];return e.strict&&!c.every((function(t){return 0==e[t.name||"uppercase"]||("symbols"===t.name&&"string"==typeof e[t.name]?new RegExp("[".concat(e[t.name],"]")).test(r):t.rule.test(r))}))?p(e,t):r},s=function(e){if(e=e||{},Object.prototype.hasOwnProperty.call(e,"length")||(e.length=10),Object.prototype.hasOwnProperty.call(e,"numbers")||(e.numbers=!1),Object.prototype.hasOwnProperty.call(e,"symbols")||(e.symbols=!1),Object.prototype.hasOwnProperty.call(e,"exclude")||(e.exclude=""),Object.prototype.hasOwnProperty.call(e,"uppercase")||(e.uppercase=!0),Object.prototype.hasOwnProperty.call(e,"lowercase")||(e.lowercase=!0),Object.prototype.hasOwnProperty.call(e,"excludeSimilarCharacters")||(e.excludeSimilarCharacters=!1),Object.prototype.hasOwnProperty.call(e,"strict")||(e.strict=!1),e.strict&&1+(e.numbers?1:0)+(e.symbols?1:0)+(e.uppercase?1:0)>e.length)throw new TypeError("Length must correlate with strict guidelines");var t="";if(e.lowercase&&(t+="abcdefghijklmnopqrstuvwxyz"),e.uppercase&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),e.numbers&&(t+="0123456789"),e.symbols&&("string"==typeof e.symbols?t+=e.symbols:t+="\\!@#$%^&*()+_-=}{[]|:;\"/?.><,`~'"),!t)throw new TypeError("At least one rule for pools must be true");e.excludeSimilarCharacters&&(t=t.replace(u,""));for(var r=e.exclude.length;r--;)t=t.replace(e.exclude[r],"");return p(e,t)},l=function(e,t){for(var r=[],o=0;o<e;o++)r.push(s(t));return r};const f={generate:s,generateMultiple:l}})(),o})()));