{"version":3,"sources":["jsdelivr-header.js","/npm/extract-string@1.0.2/pattern.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAYA,IAAI,OAAS,CACZ,OAAW,CACV,KAAS,IACT,MAAU,MAIZ,MAAM,cACL,WAAA,CAAa,EAAQ,GACpB,GAAI,UAAU,OAAO,EAAG,CACvB,IAAK,IAAI,KAAK,EACb,OAAO,OAAO,GAAK,EAAO,GAE3B,OAAO,QAAU,CAClB,MACC,OAAO,QAAU,UAAU,EAE7B,CAEA,OAAA,CAAS,GAuCR,KAAK,OAhCiB,EAAC,EAAK,EAAO,KAClC,IAAe,EAAW,GAAI,EAAW,GACrC,EAAY,GAAI,EAAY,GAC5B,EAAkB,mEACtB,IAAK,IAAI,KAAO,EAEf,GAAY,OADZ,EAAY,EAAO,IACY,IAC/B,EAAkB,EAAgB,MAAM,KAAK,GAAU,KAAK,IAE7D,GAAoB,IAAhB,EACH,IAAK,IAAI,KAAO,EAEf,GAAa,OADb,EAAa,EAAe,IACK,IACjC,EAAkB,EAAgB,MAAM,KAAK,GAAW,KAAK,IAGhD,IAAX,IAAe,EAAU,GAC7B,IAAI,GAAU,EACd,MAAO,GAAS,CACf,IACI,EAAO,IAAI,OADJ,EAAS,IAAI,EAAgB,KAAK,EAClB,OACvB,EAAS,EAAK,MAAM,GACpB,EAAO,GACX,IAAK,IAAI,KAAK,EACb,EAAK,KAAK,EAAO,GAAG,MAAM,GAAQ,KAAK,IAAI,MAAM,GAAgB,KAAK,KAEvE,GAAU,CACX,CACA,OAAO,CAAI,EAIE,CAAc,EAAQ,OAAO,OAAO,KAAK,OAAO,OAAO,OAGrE,IAAI,EAAW,EACf,KAAK,OAAO,SAAQ,IACnB,EAAW,EAAS,QAAQ,OAAO,OAAO,KAAK,EAAM,OAAO,OAAO,MAAO,OAAO,IAElF,IAAI,EA5CiB,EAAC,EAAK,KACjB,MAAM,EAAS,EAAc,8CAAgD,4CAC7E,OAAO,EAAI,QAAQ,EAAQ,OAAO,EA0C/B,CAAa,GAAS,GAAM,MAAM,gBAAgB,KAAK,QAGpE,IAAI,EAAO,GACX,GAAI,GAAQ,EAAS,CACpB,IACkB,EADd,EAAU,IAAI,OAAO,EAAO,OAEhC,KAAkD,OAA1C,EAAS,EAAQ,KAAK,OAAO,WAAmB,CACvD,IAAI,EAAO,EAAG,EAAO,CAAC,EAClB,EAAO,QAAQ,KAAK,OAAO,SAC9B,EAAO,SAAQ,IACJ,GAAN,IACH,EAAK,KAAK,OAAO,EAAK,IAAM,GAE7B,GAAM,IAEP,EAAK,KAAK,GAEZ,CACD,CACA,OAAO,CACR,EAGD,OAAO,QAAU,SAAS,GACzB,OAAO,IAAI,cAAc,EAC1B","file":"/npm/extract-string@1.0.2/pattern.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/extract-string@1.0.2/pattern.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n/* \nusage:\nvar test = pattern.init('Hello my friends of the world').pattern('{salute} my {type} of the {where}');\ntest = [\n\t{\n\t\tsalute: 'Hello',\n\t\ttype: 'friends',\n\t\twhere: 'world'\n\t}\n];\n*/\nvar global = {\n\tconfig \t: \t{\n\t\topen \t: \t'{',\n\t\tclose \t: \t'}'\n\t}\n};\n//\nclass patternParser {\n\tconstructor (config, content) {\n\t\tif (arguments.length>1) {\n\t\t\tfor (let c in config) {\n\t\t\t\tglobal.config[c] = config[c];\n\t\t\t}\n\t\t\tglobal.content = content;\n\t\t} else {\n\t\t\tglobal.content = arguments[0];\n\t\t}\n\t}\n\n\tpattern (pattern) {\n\t\t// private method\n\t\tconst escapeRegExp = (str, asterisks) => {\n            const regexp = (asterisks) ? /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\<\\>\\+\\?\\ \\,\\.\\\\\\^\\$\\|]/g : /[\\-\\[\\]\\/\\{\\}\\(\\)\\<\\>\\+\\?\\ \\,\\.\\\\\\^\\$\\|]/g;\n            return str.replace(regexp, '\\\\$&');\n        }\n\n\t\tconst findVariables = (text,symbol,symbol_closing) => {\n\t\t\tvar vars = '', symbol_t = '', symbol_l = '';\n\t\t\tvar symbol_tb = '', symbol_lb = '', partirEn = 0, tmp_name = '';\n\t\t\tvar allowed_symbols = 'a-zA-Z0-9\\\\_\\\\-\\\\+\\\\/\\\\ \\\\*\\\\{\\\\}\\\\.\\\\,\\\\[\\\\]\\\\(\\\\)\\\\\\'\\%\\?\\\"\\<\\>\\\\\\\\';\n\t\t\tfor (let qss in symbol) {\n\t\t\t\tsymbol_l  = symbol[qss];\n\t\t\t\tsymbol_t += '[\\\\' + symbol_l + ']';\n\t\t\t\tallowed_symbols = allowed_symbols.split('\\\\'+symbol_l).join('');\n\t\t\t}\n\t\t\tif (symbol_closing!='') {\n\t\t\t\tfor (let qss in symbol_closing) {\n\t\t\t\t\tsymbol_lb  = symbol_closing[qss];\n\t\t\t\t\tsymbol_tb += '[\\\\' + symbol_lb + ']';\n\t\t\t\t\tallowed_symbols = allowed_symbols.split('\\\\'+symbol_lb).join('');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (symbol_tb=='') symbol_tb=symbol_t;\n\t\t\tlet nadamas = false;\n\t\t\twhile(!nadamas) {\n\t\t\t\tvar to_m = symbol_t+'['+allowed_symbols+']*'+symbol_tb;\n\t\t\t\tvar test = new RegExp(to_m,'gim');\n\t\t\t\tvar utiles = text.match(test);\n\t\t\t\tvar resp = [];\n\t\t\t\tfor (let i in utiles) {\n\t\t\t\t\tresp.push(utiles[i].split(symbol).join('').split(symbol_closing).join(''));\n\t\t\t\t}\n\t\t\t\tnadamas = true;\n\t\t\t}\n\t\t\treturn resp;\n\t\t}\n\n\t\t// get var tokens\n\t\tthis.tokens = findVariables(pattern,global.config.open,global.config.close);\n\n\t\t// replace pattern content with catch-alls\n\t\tlet catchs_e = pattern;\n\t\tthis.tokens.forEach(token => {\n\t\t\tcatchs_e = catchs_e.replace(global.config.open+token+global.config.close, '(.*)');\n\t\t});\n\t\tlet catchs = escapeRegExp(catchs_e,true).split('\\\\(\\\\.\\\\*\\\\)').join('(.*)');\n\n\t\t// search catch-alls in given content\n\t\tvar resp = [];\n\t\tif (catchs!=pattern) {\n\t\t\tlet myregex = new RegExp(catchs,'gim');\n\t\t\tlet catches = [], result;\n\t\t\twhile ((result = myregex.exec(global.content)) != null) {\n\t\t\t\tlet cnta = 0, line = {};\n\t\t\t\tif (result.length>=this.tokens.length) {\n\t\t\t\t\tresult.forEach(rvar => {\n\t\t\t\t\t\tif (cnta!=0) {\n\t\t\t\t\t\t\tline[this.tokens[cnta-1]] = rvar;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcnta++;\n\t\t\t\t\t});\n\t\t\t\t\tresp.push(line);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn resp;\n\t}\n}\n\nmodule.exports = function(text) {\n\treturn new patternParser(text);\n};"]}