sospedra/semantic-password-generator

View on GitHub
packages/spg/dist/index.modern.js

Summary

Maintainability
A
0 mins
Test Coverage
import t from"unfetch";import n from"wink-nlp-utils";import e from"lodash.deburr";import r from"lodash.random";import o from"lodash.isnumber";import a from"lodash.identity";const i=["generator=random","grnnamespace=0","prop=extracts","exchars=500","format=json","origin=*"].join("&"),s=[0,0];var c=t=>function(n){const e=n.split(" "),r=e.map(t=>[t,t.length]).reduce((t,[n,e])=>t.concat([[n,e+(t[t.length-1]||s)[1]]]),[]).filter(([n,e])=>e<t).length;return e.slice(0,r+1).join(" ")};const m=(t=50)=>100*Math.random()<Math.min(t,100),l={a:4,b:8,e:3,g:9,l:1,o:0,s:5,t:7,z:2},p=()=>m(90)?"":String.fromCharCode(r(37,126)),u="@#$%{}[]()/~,;:><.".split(""),g=/ /g,h=[""],f={case:!1,length:24,leet:!1,random:!1,symbols:!1};export default async function(){const s=await async function(){const n=await t("https://en.wikipedia.org/w/api.php?action=query&"+i),{query:{pages:e}}=await n.json();return e[Object.keys(e)[0]].extract}();return function(t=h){const n=(t=>t.reduce((t,{length:n})=>n>t?n:t,Number.MIN_SAFE_INTEGER))(t);return function(e){const i=((t={})=>({...f,...o(t)?{length:t}:t}))(e),s=((t,n)=>Math.min((t=>Math.max(t,8))(t),n))(i.length,n),h=t.filter(t=>t.length>=s),d=h[r(h.length-1)];return d?[c(s),i.leet&&function(t){return t.split("").map(t=>[t,l[t.toLowerCase()]]).map(([t,n])=>n&&m(10)?n:t).join("")},i.case&&function(t){return t.split("").map(t=>m(25)?t.toUpperCase():t).join("")},i.random&&function(t){return t.split(" ").map(t=>`${p()}${t}${p()}`).join(" ")},(j=i.symbols,function(t){return t.replace(g,()=>j?m()?u[r(u.length-1)]:"":".")})].map(t=>t||a).reduce((t,n)=>n(t),d):null;var j}}([n.string.removeHTMLTags,n.string.removeExtraSpaces,e,n.string.sentences].reduce((t,n)=>n(t),s).map(n.string.removePunctuations))}
//# sourceMappingURL=index.modern.js.map