peryl 1.4.39 → 1.4.42
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.
- package/README.md +8 -7
- package/dist/cache.js +1 -0
- package/dist/cache.js.map +1 -1
- package/dist/debounce.js +1 -0
- package/dist/debounce.js.map +1 -1
- package/dist/dom.js +1 -0
- package/dist/dom.js.map +1 -1
- package/dist/encode.js +1 -0
- package/dist/encode.js.map +1 -1
- package/dist/events.js +1 -0
- package/dist/events.js.map +1 -1
- package/dist/form.js +1 -0
- package/dist/form.js.map +1 -1
- package/dist/google-analytics.js +1 -0
- package/dist/google-analytics.js.map +1 -1
- package/dist/hash.d.ts +3 -0
- package/dist/hash.js +16 -3
- package/dist/hash.js.map +1 -1
- package/dist/history.js +1 -0
- package/dist/history.js.map +1 -1
- package/dist/hsml-app.d.ts +2 -3
- package/dist/hsml-app.js +6 -6
- package/dist/hsml-app.js.map +1 -1
- package/dist/hsml-convert.js +1 -0
- package/dist/hsml-convert.js.map +1 -1
- package/dist/hsml-dom.js +1 -0
- package/dist/hsml-dom.js.map +1 -1
- package/dist/hsml-h.js +1 -0
- package/dist/hsml-h.js.map +1 -1
- package/dist/hsml-html.js +1 -0
- package/dist/hsml-html.js.map +1 -1
- package/dist/hsml-idom.js +2 -1
- package/dist/hsml-idom.js.map +1 -1
- package/dist/hsml-svac-ctrl.js +1 -0
- package/dist/hsml-svac-ctrl.js.map +1 -1
- package/dist/hsml-svac-html.js +1 -0
- package/dist/hsml-svac-html.js.map +1 -1
- package/dist/hsml-widget.js +1 -0
- package/dist/hsml-widget.js.map +1 -1
- package/dist/hsml.js +1 -0
- package/dist/hsml.js.map +1 -1
- package/dist/http.js +1 -0
- package/dist/http.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/load.js +1 -0
- package/dist/load.js.map +1 -1
- package/dist/objpaths.js +1 -0
- package/dist/objpaths.js.map +1 -1
- package/dist/router.js +1 -0
- package/dist/router.js.map +1 -1
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/dist/signal.js +1 -0
- package/dist/signal.js.map +1 -1
- package/dist/template.js +1 -0
- package/dist/template.js.map +1 -1
- package/dist/tmpl.js +1 -0
- package/dist/tmpl.js.map +1 -1
- package/dist/umd/cache.js +1 -1
- package/dist/umd/cache.js.map +1 -1
- package/dist/umd/debounce.js +1 -1
- package/dist/umd/debounce.js.map +1 -1
- package/dist/umd/dom.js +1 -1
- package/dist/umd/dom.js.map +1 -1
- package/dist/umd/encode.js +1 -1
- package/dist/umd/encode.js.map +1 -1
- package/dist/umd/events.js +1 -1
- package/dist/umd/events.js.map +1 -1
- package/dist/umd/form.js +1 -1
- package/dist/umd/form.js.map +1 -1
- package/dist/umd/google-analytics.js +1 -1
- package/dist/umd/google-analytics.js.map +1 -1
- package/dist/umd/hash.js +1 -1
- package/dist/umd/hash.js.map +1 -1
- package/dist/umd/history.js +1 -1
- package/dist/umd/history.js.map +1 -1
- package/dist/umd/hsml-app.js +1 -1
- package/dist/umd/hsml-app.js.map +1 -1
- package/dist/umd/hsml-convert.js +1 -1
- package/dist/umd/hsml-convert.js.map +1 -1
- package/dist/umd/hsml-dom.js +1 -1
- package/dist/umd/hsml-dom.js.map +1 -1
- package/dist/umd/hsml-h.js +1 -1
- package/dist/umd/hsml-h.js.map +1 -1
- package/dist/umd/hsml-html.js +1 -1
- package/dist/umd/hsml-html.js.map +1 -1
- package/dist/umd/hsml-idom.js +1 -1
- package/dist/umd/hsml-idom.js.map +1 -1
- package/dist/umd/hsml-svac-ctrl.js +1 -1
- package/dist/umd/hsml-svac-ctrl.js.map +1 -1
- package/dist/umd/hsml-svac-html.js +1 -1
- package/dist/umd/hsml-svac-html.js.map +1 -1
- package/dist/umd/hsml-widget.js +1 -1
- package/dist/umd/hsml-widget.js.map +1 -1
- package/dist/umd/hsml.js +1 -1
- package/dist/umd/hsml.js.map +1 -1
- package/dist/umd/http.js +1 -1
- package/dist/umd/http.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/load.js +1 -1
- package/dist/umd/load.js.map +1 -1
- package/dist/umd/objpaths.js +1 -1
- package/dist/umd/objpaths.js.map +1 -1
- package/dist/umd/router.js +1 -1
- package/dist/umd/router.js.map +1 -1
- package/dist/umd/settings.js +1 -1
- package/dist/umd/settings.js.map +1 -1
- package/dist/umd/signal.js +1 -1
- package/dist/umd/signal.js.map +1 -1
- package/dist/umd/template.js +1 -1
- package/dist/umd/template.js.map +1 -1
- package/dist/umd/tmpl.js +1 -1
- package/dist/umd/tmpl.js.map +1 -1
- package/dist/umd/validators-moment.js +1 -1
- package/dist/umd/validators-moment.js.map +1 -1
- package/dist/umd/validators-numeral.js +1 -1
- package/dist/umd/validators-numeral.js.map +1 -1
- package/dist/umd/validators-object.js +1 -1
- package/dist/umd/validators-object.js.map +1 -1
- package/dist/umd/validators.js +1 -1
- package/dist/umd/validators.js.map +1 -1
- package/dist/validators-moment.js +1 -0
- package/dist/validators-moment.js.map +1 -1
- package/dist/validators-numeral.js +1 -0
- package/dist/validators-numeral.js.map +1 -1
- package/dist/validators-object.js +1 -0
- package/dist/validators-object.js.map +1 -1
- package/dist/validators.js +1 -4
- package/dist/validators.js.map +1 -1
- package/package.json +1 -1
- package/src/hash.ts +20 -2
- package/src/hsml-app.ts +6 -8
- package/src/hsml-idom.ts +2 -2
- package/src/validators.ts +4 -4
package/dist/umd/load.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}({20:function(e,t,n){"use strict";function o(e,t){const n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.src=e,n.readyState?n.onreadystatechange=()=>{const e="loaded"===n.readyState,o="complete"===n.readyState;(e||o)&&(n.onreadystatechange=null,"function"==typeof t&&t())}:n.onload=()=>{"function"==typeof t&&t()},document.getElementsByTagName("head")[0].appendChild(n)}Object.defineProperty(t,"__esModule",{value:!0}),t.scriptLib=function(e,t,n){o(e,()=>{const e=window[t];window[t]={},delete window[t],n&&n(e)})},t.script=o,t.scripts=function(e,t){e.reverse();let n=t;for(let t=0;t<e.length;t++){n=((e,t)=>()=>o(e,()=>t&&t()))(e[t],n)}n&&n()},t.image=function(e,t){const n=new Image;n.src=e,n.readyState?n.onreadystatechange=()=>{"function"==typeof t&&t()}:n.onload=()=>{"function"==typeof t&&t()}},t.css=function(e,t){const n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,n.readyState?n.onreadystatechange=()=>{"function"==typeof t&&t()}:n.onload=()=>{"function"==typeof t&&t()},document.getElementsByTagName("head")[0].appendChild(n)}}})}));
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}({20:function(e,t,n){"use strict";function o(e,t){const n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.src=e,n.readyState?n.onreadystatechange=()=>{const e="loaded"===n.readyState,o="complete"===n.readyState;(e||o)&&(n.onreadystatechange=null,"function"==typeof t&&t())}:n.onload=()=>{"function"==typeof t&&t()},document.getElementsByTagName("head")[0].appendChild(n)}Object.defineProperty(t,"__esModule",{value:!0}),t.css=t.image=t.scripts=t.script=t.scriptLib=void 0,t.scriptLib=function(e,t,n){o(e,()=>{const e=window[t];window[t]={},delete window[t],n&&n(e)})},t.script=o,t.scripts=function(e,t){e.reverse();let n=t;for(let t=0;t<e.length;t++){n=((e,t)=>()=>o(e,()=>t&&t()))(e[t],n)}n&&n()},t.image=function(e,t){const n=new Image;n.src=e,n.readyState?n.onreadystatechange=()=>{"function"==typeof t&&t()}:n.onload=()=>{"function"==typeof t&&t()}},t.css=function(e,t){const n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,n.readyState?n.onreadystatechange=()=>{"function"==typeof t&&t()}:n.onload=()=>{"function"==typeof t&&t()},document.getElementsByTagName("head")[0].appendChild(n)}}})}));
|
|
2
2
|
//# sourceMappingURL=load.js.map
|
package/dist/umd/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/load.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","script","url","callback","document","createElement","type","charset","src","readyState","onreadystatechange","loaded","completed","onload","getElementsByTagName","appendChild","namespace","lib","urls","reverse","callbackTmp","length","img","Image","link","rel","href"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,kCCtErD,SAAgBC,EAAOC,EAAaC,GAChC,MAAMF,EAASG,SAASC,cAAc,UACtCJ,EAAOK,KAAO,kBACdL,EAAOM,QAAU,QACjBN,EAAOO,IAAMN,EACRD,EAAeQ,WACfR,EAAeS,mBAAqB,KACjC,MAAMC,EAAwC,WAA9BV,EAAeQ,WACzBG,EAA2C,aAA9BX,EAAeQ,YAC9BE,GAAUC,KACTX,EAAeS,mBAAqB,KACb,mBAAbP,GACPA,MAKZF,EAAOY,OAAS,KACY,mBAAbV,GACPA,KAIZC,SAASU,qBAAqB,QAAQ,GAAGC,YAAYd,G,
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/load.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","script","url","callback","document","createElement","type","charset","src","readyState","onreadystatechange","loaded","completed","onload","getElementsByTagName","appendChild","namespace","lib","urls","reverse","callbackTmp","length","img","Image","link","rel","href"],"mappings":"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","file":"load.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 20);\n","\nexport function scriptLib(url: string,\n namespace: string,\n callback?: (lib: any) => void): void {\n script(url, () => {\n const lib = (window as any)[namespace];\n (window as any)[namespace] = {};\n delete (window as any)[namespace];\n callback && callback(lib);\n });\n}\n\nexport function script(url: string, callback?: () => void): void {\n const script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.charset = \"utf-8\";\n script.src = url;\n if ((script as any).readyState) { // IE\n (script as any).onreadystatechange = () => {\n const loaded = (script as any).readyState === \"loaded\";\n const completed = (script as any).readyState === \"complete\";\n if (loaded || completed) {\n (script as any).onreadystatechange = null;\n if (typeof callback === \"function\") {\n callback();\n }\n }\n };\n } else { // Others\n script.onload = () => {\n if (typeof callback === \"function\") {\n callback();\n }\n };\n }\n document.getElementsByTagName(\"head\")[0].appendChild(script);\n}\n\nexport function scripts(urls: string[], callback?: () => void): void {\n urls.reverse();\n let callbackTmp = callback;\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n callbackTmp = (\n (url, callbackTmp) => () =>\n script(url, () => callbackTmp && callbackTmp())\n )(url, callbackTmp);\n }\n callbackTmp && callbackTmp();\n}\n\nexport function image(url: string, callback?: () => void): void {\n const img = new Image();\n img.src = url;\n if ((img as any).readyState) {\n (img as any).onreadystatechange = () => {\n if (typeof callback === \"function\") {\n callback();\n }\n };\n } else {\n img.onload = () => {\n if (typeof callback === \"function\") {\n callback();\n }\n };\n }\n}\n\nexport function css(url: string, callback?: () => void): void {\n const link = <HTMLLinkElement> document.createElement(\"link\");\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = url;\n if ((link as any).readyState) {\n (link as any).onreadystatechange = () => {\n if (typeof callback === \"function\") {\n callback();\n }\n };\n } else {\n link.onload = () => {\n if (typeof callback === \"function\") {\n callback();\n }\n };\n }\n document.getElementsByTagName(\"head\")[0].appendChild(link);\n}\n"],"sourceRoot":""}
|
package/dist/umd/objpaths.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=21)}({21:function(e,t,n){"use strict";function o(e,t=[],n={}){return Object.keys(e).reduce((n,r)=>{const u=t.concat(r);return"object"==typeof e[r]&&null!==e[r]?o(e[r],u,n):0===n[e[r]]||n[e[r]]?n[e[r]].push(u):n[e[r]]=[u],n},n)}Object.defineProperty(t,"__esModule",{value:!0}),t.objValuePaths=t.objPaths=void 0,t.objPaths=function(e){const t=o(e);return Object.keys(t).map(e=>t[e]).reduce((e,t)=>e.concat(t))},t.objValuePaths=o}})}));
|
|
2
2
|
//# sourceMappingURL=objpaths.js.map
|
package/dist/umd/objpaths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/objpaths.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","objValuePaths","obj","result","keys","reduce","res","path","concat","push","valPaths","map","val","paths"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,kCC1ErD,SAAgBC,EAAcC,EAAU5C,EAAiB,GAAI6C,EAAiB,IAE1E,OADWxB,OAAOyB,KAAKF,GACbG,OAAY,CAACC,EAAKd,KACxB,MAAMe,EAAOjD,EAAKkD,OAAOhB,GAMzB,MALoB,iBAAbU,EAAIV,IAAkC,OAAbU,EAAIV,GAC9BS,EAAcC,EAAIV,GAAMe,EAAMD,GACZ,IAAlBA,EAAIJ,EAAIV,KAAec,EAAIJ,EAAIV,IAC3Bc,EAAIJ,EAAIV,IAAMiB,KAAKF,GAClBD,EAAIJ,EAAIV,IAAQ,CAACe,GACrBD,GACRH,G,
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/objpaths.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","objValuePaths","obj","result","keys","reduce","res","path","concat","push","valPaths","map","val","paths"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,kCC1ErD,SAAgBC,EAAcC,EAAU5C,EAAiB,GAAI6C,EAAiB,IAE1E,OADWxB,OAAOyB,KAAKF,GACbG,OAAY,CAACC,EAAKd,KACxB,MAAMe,EAAOjD,EAAKkD,OAAOhB,GAMzB,MALoB,iBAAbU,EAAIV,IAAkC,OAAbU,EAAIV,GAC9BS,EAAcC,EAAIV,GAAMe,EAAMD,GACZ,IAAlBA,EAAIJ,EAAIV,KAAec,EAAIJ,EAAIV,IAC3Bc,EAAIJ,EAAIV,IAAMiB,KAAKF,GAClBD,EAAIJ,EAAIV,IAAQ,CAACe,GACrBD,GACRH,G,mFAjBP,oBAAyBD,GACrB,MAAMQ,EAAWT,EAAcC,GAC/B,OAAOvB,OAAOyB,KAAKM,GACdC,IAAIC,GAAOF,EAASE,IACpBP,OAAO,CAACzC,EAAGiD,IAAUjD,EAAE4C,OAAOK,KAGvC","file":"objpaths.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 21);\n","\nexport function objPaths(obj: object): string[][] {\n const valPaths = objValuePaths(obj);\n return Object.keys(valPaths)\n .map(val => valPaths[val])\n .reduce((a, paths) => a.concat(paths));\n}\n\nexport function objValuePaths(obj: any, root: string[] = [], result: object = {}): any {\n const ok = Object.keys(obj);\n return ok.reduce<any>((res, key) => {\n const path = root.concat(key);\n typeof obj[key] === \"object\" && obj[key] !== null\n ? objValuePaths(obj[key], path, res)\n : res[obj[key]] === 0 || res[obj[key]]\n ? res[obj[key]].push(path)\n : (res[obj[key]] = [path]);\n return res;\n }, result);\n}\n\n\n// TEST\n\n// const obj = {\n// obj1: {\n// obj2: {\n// data1: 213,\n// data2: \"1231\",\n// obj3: {\n// data: \"milf\"\n// }\n// }\n// },\n// obj4: {\n// description: \"toto\",\n// cougars: \"Jodi\",\n// category: \"milf\"\n// }\n// };\n\n// const vpaths = objValuePaths(obj);\n// const paths = objPaths(obj);\n// const strPaths = paths.map(p => p.join(\".\"));\n\n// console.log(JSON.stringify(obj, null, 4));\n// console.log(JSON.stringify(vpaths, null, 4));\n// console.log(JSON.stringify(paths, null, 4));\n// console.log(JSON.stringify(strPaths, null, 4));\n"],"sourceRoot":""}
|
package/dist/umd/router.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var
|
|
1
|
+
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)r.d(n,s,function(e){return t[e]}.bind(null,s));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}({22:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.route=e.Router=e.Route=e.Emitter=void 0;class n{constructor(){this._callbacks={}}on(t,e){return t in this._callbacks||(this._callbacks[t]=[]),this._callbacks[t].push(e),this}emit(t,...e){return t in this._callbacks&&this._callbacks[t].forEach(t=>t.apply(this,e)),this}off(t,e){if(!this._callbacks||0===arguments.length)return this._callbacks={},this;const r=this._callbacks[t];if(!r)return this;if(1===arguments.length)return delete this._callbacks[t],this;for(let t=0;t<r.length;t++){if(r[t]===e){r.splice(t,1);break}}return this}}e.Emitter=n;class s{constructor(t){this._params={},this.keys=[],this.path=t,this._pathParse(t,!1,!1)}match(t,e){const r=this._regex.exec(t);if(!r)return!1;for(let t=1;t<r.length;++t){const n=this.keys[t-1],s="string"==typeof r[t]?decodeURIComponent(r[t]):r[t];n&&(this._params[n.name]=s),e.push(s)}return!0}_pathParse(t,e,r){t instanceof RegExp?this._regex=t:(t instanceof Array&&(t="("+t.join("|")+")"),t=t.concat(r?"":"/?").replace(/\/\(/g,"(?:/").replace(/\+/g,"__plus__").replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?/g,(t,e,r,n,s,a)=>(this.keys.push({name:n,optional:!!a}),e=e||"",(a?"":e)+"(?:"+(a?e:"")+(r||"")+(s||(r?"([^/.]+?)":"([^/]+?)"))+")"+(a||""))).replace(/([\/.])/g,"\\$1").replace(/__plus__/g,"(.+)").replace(/\*/g,"(.*)"),this._regex=new RegExp("^"+t+"$",e?"":"i"))}}e.Route=s;class a extends n{constructor(){super(),this._routes=[],this._onHashChange=()=>{this.handle(this.hash())},window.addEventListener?window.addEventListener("hashchange",this._onHashChange,!1):window.attachEvent("onhashchange",this._onHashChange)}static hash(){return a.default.hash()}static start(){return a.default.start(),a.default}static route(t,e){return a.default.route(t,e),a.default}static navigate(t){return a.default.navigate(t),a.default}route(t,e){const r=new s(t);return this._routes.push(r),this.on(t,(t,r)=>e.apply(r,t)),this}navigate(t){return window.location.hash=t,this}start(){return this._onHashChange(),this}hash(){return window.location.hash.substring(1)}handle(t){for(const e of this._routes){const r=[];if(e.match(t,r)){this.emit(e.path,r,e);break}}return this}}e.Router=a,a.default=new a,e.route=function(t,e){return a.route(t,e)}}})}));
|
|
2
2
|
//# sourceMappingURL=router.js.map
|
package/dist/umd/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/router.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Emitter","_callbacks","event","fn","this","push","args","forEach","cb","apply","arguments","length","callbacks","splice","Route","path","_params","keys","_pathParse","params","_regex","exec","val","decodeURIComponent","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","Router","super","_routes","_onHashChange","handle","hash","addEventListener","attachEvent","default","start","handler","route","navigate","on","location","substring","url","match","emit"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,mFC5ErD,MAAaC,EAAb,cAEY,KAAAC,WAA4C,GAEpD,GAAGC,EAAeC,GAKd,OAJMD,KAASE,KAAKH,aAChBG,KAAKH,WAAWC,GAAS,IAE7BE,KAAKH,WAAWC,GAAOG,KAAKF,GACrBC,KAGX,KAAKF,KAAkBI,GAInB,OAHIJ,KAASE,KAAKH,YACdG,KAAKH,WAAWC,GAAOK,QAAQC,GAAMA,EAAGC,MAAML,KAAME,IAEjDF,KAGX,IAAIF,EAAeC,GACf,IAAKC,KAAKH,YAAmC,IAArBS,UAAUC,OAE9B,OADAP,KAAKH,WAAa,GACXG,KAEX,MAAMQ,EAAYR,KAAKH,WAAWC,GAClC,IAAKU,EACD,OAAOR,KAEX,GAAyB,IAArBM,UAAUC,OAEV,cADOP,KAAKH,WAAWC,GAChBE,KAEX,IAAK,IAAIxC,EAAI,EAAGA,EAAIgD,EAAUD,OAAQ/C,IAAK,CAEvC,GADiBgD,EAAUhD,KACVuC,EAAI,CACjBS,EAAUC,OAAOjD,EAAG,GACpB,OAGR,OAAOwC,MAvCf,YA2CA,MAAaU,EAQT,YAAYC,GALJ,KAAAC,QAAe,GAGd,KAAAC,KAAa,GAGlBb,KAAKW,KAAOA,EACZX,KAAKc,WAAWH,GAAM,GAAO,GAGjC,MAAMA,EAAcI,GAChB,MAAM/C,EAAIgC,KAAKgB,OAAOC,KAAKN,GAC3B,IAAK3C,EACD,OAAO,EAEX,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAEuC,SAAU/C,EAAG,CAC/B,MAAM2B,EAAMa,KAAKa,KAAKrD,EAAI,GACpB0D,EAAM,iBAAoBlD,EAAER,GAAK2D,mBAAmBnD,EAAER,IAAMQ,EAAER,GAChE2B,IACAa,KAAKY,QAAQzB,EAAIhB,MAAQ+C,GAE7BH,EAAOd,KAAKiB,GAEhB,OAAO,EAGH,WAAWP,EAAYS,EAAoBC,GAC3CV,aAAgBW,OAChBtB,KAAKgB,OAASL,GAGdA,aAAgBY,QAChBZ,EAAO,IAAMA,EAAKa,KAAK,KAAO,KAElCb,EAAOA,EACFc,OAAOJ,EAAS,GAAK,MACrBK,QAAQ,QAAS,QACjBA,QAAQ,MAAO,YACfA,QACG,uCACA,CACIC,EACAC,EACAC,EACA1C,EACA2C,EACAC,KAEA/B,KAAKa,KAAKZ,KAAK,CAAE9B,KAAMgB,EAAK4C,WAAYA,IACxCH,EAAQA,GAAS,IAGZG,EAAW,GAAKH,GACjB,OACCG,EAAWH,EAAQ,KACnBC,GAAU,KACVC,IAAaD,EAAU,YAAgB,aACxC,KACCE,GAAY,MAIxBL,QAAQ,WAAY,QACpBA,QAAQ,YAAa,QACrBA,QAAQ,MAAO,QACpB1B,KAAKgB,OAAS,IAAIM,OAAO,IAAMX,EAAO,IAAKS,EAAY,GAAK,OApEpE,UAyEA,MAAaY,UAAepC,EAyBxB,cACIqC,QAHI,KAAAC,QAAmB,GA6CnB,KAAAC,cAAgB,KACpBnC,KAAKoC,OAAOpC,KAAKqC,SA1Cb5E,OAAO6E,iBACP7E,OAAO6E,iBAAiB,aAActC,KAAKmC,eAAe,GAEzD1E,OAAe8E,YAAY,eAAgBvC,KAAKmC,eA1BzD,cACI,OAAOH,EAAOQ,QAAQH,OAG1B,eAEI,OADAL,EAAOQ,QAAQC,QACRT,EAAOQ,QAGlB,aAAa7B,EAAc+B,GAEvB,OADAV,EAAOQ,QAAQG,MAAMhC,EAAM+B,GACpBV,EAAOQ,QAGlB,gBAAgB7B,GAEZ,OADAqB,EAAOQ,QAAQI,SAASjC,GACjBqB,EAAOQ,QAclB,MAAM7B,EAAc+B,GAChB,MAAMC,EAAQ,IAAIjC,EAAMC,GAKxB,OAJAX,KAAKkC,QAAQjC,KAAK0C,GAClB3C,KAAK6C,GAAGlC,EAAM,CAACI,EAAa4B,IACjBD,EAAQrC,MAAMsC,EAAO5B,IAEzBf,KAGX,SAASW,GAEL,OADAlD,OAAOqF,SAAST,KAAO1B,EAChBX,KAGX,QAEI,OADAA,KAAKmC,gBACEnC,KAGX,OACI,OAAOvC,OAAOqF,SAAST,KAAKU,UAAU,GAG1C,OAAOC,GACH,IAAK,MAAML,KAAS3C,KAAKkC,QAAS,CAC9B,MAAMnB,EAAmB,GACzB,GAAI4B,EAAMM,MAAMD,EAAKjC,GAAS,CAC1Bf,KAAKkD,KAAKP,EAAMhC,KAAMI,EAAQ4B,GAC9B,OAGR,OAAO3C,MAjEf,WAEW,EAAAwC,QAAkB,IAAIR,EAwEjC,iBAAsBrB,EAAc+B,GAChC,OAAOV,EAAOW,MAAMhC,EAAM+B","file":"router.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n","// implemented based on https://github.com/mench/hash-router/\n\ntype Path = string | RegExp | Array<string>;\n\nexport type Keys = { name: string; optional: boolean }[];\n\nexport class Emitter {\n\n private _callbacks: { [key: string]: Function[] } = {};\n\n on(event: string, fn: Function): this {\n if (!(event in this._callbacks)) {\n this._callbacks[event] = [];\n }\n this._callbacks[event].push(fn);\n return this;\n }\n\n emit(event: string, ...args: any[]): this {\n if (event in this._callbacks) {\n this._callbacks[event].forEach(cb => cb.apply(this, args));\n }\n return this;\n }\n\n off(event: string, fn?: Function) {\n if (!this._callbacks || arguments.length === 0) {\n this._callbacks = {};\n return this;\n }\n const callbacks = this._callbacks[event];\n if (!callbacks) {\n return this;\n }\n if (arguments.length === 1) {\n delete this._callbacks[event];\n return this;\n }\n for (let i = 0; i < callbacks.length; i++) {\n const callback = callbacks[i];\n if (callback === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n return this;\n }\n}\n\nexport class Route {\n\n private _regex!: RegExp;\n private _params: any = {};\n\n readonly path: string;\n readonly keys: Keys = [];\n\n constructor(path: string) {\n this.path = path;\n this._pathParse(path, false, false);\n }\n\n match(path: string, params: string[]) {\n const m = this._regex.exec(path);\n if (!m) {\n return false;\n }\n for (let i = 1; i < m.length; ++i) {\n const key = this.keys[i - 1];\n const val = \"string\" === typeof m[i] ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n this._params[key.name] = val;\n }\n params.push(val);\n }\n return true;\n }\n\n private _pathParse(path: Path, sensitive: boolean, strict: boolean): void {\n if (path instanceof RegExp) {\n this._regex = path;\n return;\n }\n if (path instanceof Array) {\n path = \"(\" + path.join(\"|\") + \")\";\n }\n path = path\n .concat(strict ? \"\" : \"/?\")\n .replace(/\\/\\(/g, \"(?:/\")\n .replace(/\\+/g, \"__plus__\")\n .replace(\n /(\\/)?(\\.)?:(\\w+)(?:(\\(.*?\\)))?(\\?)?/g,\n (\n _: any,\n slash: string,\n format: string,\n key: string,\n capture: boolean,\n optional: boolean\n ) => {\n this.keys.push({ name: key, optional: !!optional });\n slash = slash || \"\";\n return (\n \"\" +\n (optional ? \"\" : slash) +\n \"(?:\" +\n (optional ? slash : \"\") +\n (format || \"\") +\n (capture || ((format && \"([^/.]+?)\") || \"([^/]+?)\")) +\n \")\" +\n (optional || \"\")\n );\n }\n )\n .replace(/([\\/.])/g, \"\\\\$1\")\n .replace(/__plus__/g, \"(.+)\")\n .replace(/\\*/g, \"(.*)\");\n this._regex = new RegExp(\"^\" + path + \"$\", sensitive ? \"\" : \"i\");\n }\n\n}\n\nexport class Router extends Emitter {\n\n static default: Router = new Router();\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string): Router {\n Router.default.navigate(path);\n return Router.default;\n }\n\n private _routes: Route[] = [];\n\n constructor() {\n super();\n if (window.addEventListener) {\n window.addEventListener(\"hashchange\", this._onHashChange, false);\n } else {\n (window as any).attachEvent(\"onhashchange\", this._onHashChange);\n }\n }\n\n route(path: string, handler: Function): this {\n const route = new Route(path);\n this._routes.push(route);\n this.on(path, (params: any, route: any) => {\n return handler.apply(route, params);\n });\n return this;\n }\n\n navigate(path: string): this {\n window.location.hash = path;\n return this;\n }\n\n start(): this {\n this._onHashChange();\n return this;\n }\n\n hash(): string {\n return window.location.hash.substring(1);\n }\n\n handle(url: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(url, params)) {\n this.emit(route.path, params, route);\n break;\n }\n }\n return this;\n }\n\n private _onHashChange = () => {\n this.handle(this.hash());\n }\n\n}\n\nexport function route(path: string, handler: Function) {\n return Router.route(path, handler);\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/router.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Emitter","_callbacks","event","fn","this","push","args","forEach","cb","apply","arguments","length","callbacks","splice","Route","path","_params","keys","_pathParse","params","_regex","exec","val","decodeURIComponent","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","Router","super","_routes","_onHashChange","handle","hash","addEventListener","attachEvent","default","start","handler","route","navigate","on","location","substring","url","match","emit"],"mappings":"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","file":"router.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n","// implemented based on https://github.com/mench/hash-router/\n\ntype Path = string | RegExp | Array<string>;\n\nexport type Keys = { name: string; optional: boolean }[];\n\nexport class Emitter {\n\n private _callbacks: { [key: string]: Function[] } = {};\n\n on(event: string, fn: Function): this {\n if (!(event in this._callbacks)) {\n this._callbacks[event] = [];\n }\n this._callbacks[event].push(fn);\n return this;\n }\n\n emit(event: string, ...args: any[]): this {\n if (event in this._callbacks) {\n this._callbacks[event].forEach(cb => cb.apply(this, args));\n }\n return this;\n }\n\n off(event: string, fn?: Function) {\n if (!this._callbacks || arguments.length === 0) {\n this._callbacks = {};\n return this;\n }\n const callbacks = this._callbacks[event];\n if (!callbacks) {\n return this;\n }\n if (arguments.length === 1) {\n delete this._callbacks[event];\n return this;\n }\n for (let i = 0; i < callbacks.length; i++) {\n const callback = callbacks[i];\n if (callback === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n return this;\n }\n}\n\nexport class Route {\n\n private _regex!: RegExp;\n private _params: any = {};\n\n readonly path: string;\n readonly keys: Keys = [];\n\n constructor(path: string) {\n this.path = path;\n this._pathParse(path, false, false);\n }\n\n match(path: string, params: string[]) {\n const m = this._regex.exec(path);\n if (!m) {\n return false;\n }\n for (let i = 1; i < m.length; ++i) {\n const key = this.keys[i - 1];\n const val = \"string\" === typeof m[i] ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n this._params[key.name] = val;\n }\n params.push(val);\n }\n return true;\n }\n\n private _pathParse(path: Path, sensitive: boolean, strict: boolean): void {\n if (path instanceof RegExp) {\n this._regex = path;\n return;\n }\n if (path instanceof Array) {\n path = \"(\" + path.join(\"|\") + \")\";\n }\n path = path\n .concat(strict ? \"\" : \"/?\")\n .replace(/\\/\\(/g, \"(?:/\")\n .replace(/\\+/g, \"__plus__\")\n .replace(\n /(\\/)?(\\.)?:(\\w+)(?:(\\(.*?\\)))?(\\?)?/g,\n (\n _: any,\n slash: string,\n format: string,\n key: string,\n capture: boolean,\n optional: boolean\n ) => {\n this.keys.push({ name: key, optional: !!optional });\n slash = slash || \"\";\n return (\n \"\" +\n (optional ? \"\" : slash) +\n \"(?:\" +\n (optional ? slash : \"\") +\n (format || \"\") +\n (capture || ((format && \"([^/.]+?)\") || \"([^/]+?)\")) +\n \")\" +\n (optional || \"\")\n );\n }\n )\n .replace(/([\\/.])/g, \"\\\\$1\")\n .replace(/__plus__/g, \"(.+)\")\n .replace(/\\*/g, \"(.*)\");\n this._regex = new RegExp(\"^\" + path + \"$\", sensitive ? \"\" : \"i\");\n }\n\n}\n\nexport class Router extends Emitter {\n\n static default: Router = new Router();\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string): Router {\n Router.default.navigate(path);\n return Router.default;\n }\n\n private _routes: Route[] = [];\n\n constructor() {\n super();\n if (window.addEventListener) {\n window.addEventListener(\"hashchange\", this._onHashChange, false);\n } else {\n (window as any).attachEvent(\"onhashchange\", this._onHashChange);\n }\n }\n\n route(path: string, handler: Function): this {\n const route = new Route(path);\n this._routes.push(route);\n this.on(path, (params: any, route: any) => {\n return handler.apply(route, params);\n });\n return this;\n }\n\n navigate(path: string): this {\n window.location.hash = path;\n return this;\n }\n\n start(): this {\n this._onHashChange();\n return this;\n }\n\n hash(): string {\n return window.location.hash.substring(1);\n }\n\n handle(url: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(url, params)) {\n this.emit(route.path, params, route);\n break;\n }\n }\n return this;\n }\n\n private _onHashChange = () => {\n this.handle(this.hash());\n }\n\n}\n\nexport function route(path: string, handler: Function) {\n return Router.route(path, handler);\n}\n"],"sourceRoot":""}
|
package/dist/umd/settings.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var s=e();for(var n in s)("object"==typeof exports?exports:t)[n]=s[n]}}(window,(function(){return function(t){var e={};function s(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,s),r.l=!0,r.exports}return s.m=t,s.c=e,s.d=function(t,e,n){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(n,r,function(e){return t[e]}.bind(null,r));return n},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=23)}({23:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=s(4);e.Settings=class{constructor(t,e="settings"){this.events=new n.Events,this.props=t,this.name=e}getProps(){return this.props}setProps(t){return Object.keys(t).forEach(e=>this.props[e]=t[e]),this.events.emit("",t),this}getProp(t){return this.props[t]}setProp(t,e){this.props[t]=e;return this.events.emit(t,e),this}}},4:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Events=class{constructor(t){this._cb=[],this._cbs={},t&&(this._ctx=t)}emit(t,e){if(t in this._cbs)for(let s=0,n=this._cbs[t].length;s<n;s++)this._cbs[t][s](e,t,this._ctx);for(let s=0,n=this._cb.length;s<n;s++)this._cb[s](e,t,this._ctx);return this}on(t,e){const s=t;return s in this._cbs||(this._cbs[s]=[]),-1===this._cbs[s].indexOf(e)&&this._cbs[s].push(e),this}any(t){return this._cb.push(t),this}once(t,e){const s=t,n=(t,r,i)=>{this.off(s,n),e(t,r,i)};return this.on(t,n),this}off(t,e){return void 0===t&&(e?this._cb=this._cb.filter(t=>t!==e):this._cb.length=0),t&&t in this._cbs&&(e?this._cbs[t].splice(this._cbs[t].indexOf(e),1):(this._cbs[t].length=0,delete this._cbs[t])),this}}}})}));
|
|
1
|
+
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var s=e();for(var n in s)("object"==typeof exports?exports:t)[n]=s[n]}}(window,(function(){return function(t){var e={};function s(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,s),r.l=!0,r.exports}return s.m=t,s.c=e,s.d=function(t,e,n){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(n,r,function(e){return t[e]}.bind(null,r));return n},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=23)}({23:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Settings=void 0;const n=s(4);e.Settings=class{constructor(t,e="settings"){this.events=new n.Events,this.props=t,this.name=e}getProps(){return this.props}setProps(t){return Object.keys(t).forEach(e=>this.props[e]=t[e]),this.events.emit("",t),this}getProp(t){return this.props[t]}setProp(t,e){this.props[t]=e;return this.events.emit(t,e),this}}},4:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Events=void 0;e.Events=class{constructor(t){this._cb=[],this._cbs={},t&&(this._ctx=t)}emit(t,e){if(t in this._cbs)for(let s=0,n=this._cbs[t].length;s<n;s++)this._cbs[t][s](e,t,this._ctx);for(let s=0,n=this._cb.length;s<n;s++)this._cb[s](e,t,this._ctx);return this}on(t,e){const s=t;return s in this._cbs||(this._cbs[s]=[]),-1===this._cbs[s].indexOf(e)&&this._cbs[s].push(e),this}any(t){return this._cb.push(t),this}once(t,e){const s=t,n=(t,r,i)=>{this.off(s,n),e(t,r,i)};return this.on(t,n),this}off(t,e){return void 0===t&&(e?this._cb=this._cb.filter(t=>t!==e):this._cb.length=0),t&&t in this._cbs&&(e?this._cbs[t].splice(this._cbs[t].indexOf(e),1):(this._cbs[t].length=0,delete this._cbs[t])),this}}}})}));
|
|
2
2
|
//# sourceMappingURL=settings.js.map
|
package/dist/umd/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/settings.ts","webpack:///./src/events.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","props","events","Events","this","keys","forEach","emit","ctx","_cb","_cbs","_ctx","e","data","length","ev","cb","indexOf","push","wrap","evt","off","on","undefined","filter","splice"],"mappings":"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","file":"settings.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","import { Events } from \"./events\";\n\nexport class Settings<T extends { [key: string]: any }> {\n\n readonly name: string;\n readonly props: T;\n\n readonly events = new Events<T & { \"\": Partial<T> }, Settings<T>>();\n\n constructor(props: T, name: string = \"settings\") {\n this.props = props;\n this.name = name;\n }\n\n getProps(): T {\n return this.props;\n }\n\n setProps(props: Partial<T>): this {\n Object.keys(props).forEach(p => ((this.props as any)[p] = props[p]));\n this.events.emit(\"\", props);\n return this;\n }\n\n getProp<K extends keyof T>(key: K): T[K] {\n return (this.props)[key];\n }\n\n setProp<K extends keyof T>(key: K, value: T[K]): this {\n (this.props)[key] = value;\n const props: Partial<T> = {};\n props[key] = value;\n this.events.emit(key as string, value);\n return this;\n }\n\n}\n\n// Test\n\n// const x = { n: 2, s: \"s\" };\n// const s = new Settings<typeof x>(x);\n\n// s.setProps({ n: 3 });\n\n// console.log(typeof s.getProp(\"n\")); // number\n// console.log(typeof s.getProp(\"s\")); // string\n\n// s.setProps(JSON.parse(window.localStorage[s.name]));\n// s.events.any(data => (window.localStorage[s.name] = JSON.stringify(s.props)));\n","export type Callback<Ctx, E, Data> = (data: Data, e: E, ctx?: Ctx) => void;\n\nexport class Events<Evt extends { [e: string]: any } = any, Ctx = undefined> {\n\n private _ctx?: Ctx;\n private _cb: Array<Function> = [];\n private _cbs: { [e: string]: Array<Function> } = {};\n\n constructor(ctx?: Ctx) {\n ctx && (this._ctx = ctx);\n }\n\n emit<E extends keyof Evt>(e: E, data?: Evt[E]): this {\n if (e in this._cbs) {\n for (let i = 0, l = this._cbs[e as string].length; i < l; i++) {\n this._cbs[e as string][i](data, e, this._ctx);\n }\n }\n for (let i = 0, l = this._cb.length; i < l; i++) {\n this._cb[i](data, e, this._ctx);\n }\n return this;\n }\n\n on<E extends keyof Evt>(ev: E, cb: Callback<Ctx, E, Evt[E]>): this {\n const e = ev as string;\n if (!(e in this._cbs)) {\n this._cbs[e] = [];\n }\n if (this._cbs[e].indexOf(cb) === -1) {\n this._cbs[e].push(cb);\n }\n return this;\n }\n\n any<E extends keyof Evt>(cb: Callback<Ctx, E, Evt[E]>): this {\n this._cb.push(cb);\n return this;\n }\n\n once<E extends keyof Evt>(ev: E, cb: Callback<Ctx, E, Evt[E]>): this {\n const e = ev;\n const wrap = (d: Evt[E], evt: E, c?: Ctx) => {\n this.off(e, wrap);\n cb(d, evt, c);\n };\n this.on(ev, wrap);\n return this;\n }\n\n off<E extends keyof Evt>(e?: E, cb?: Callback<Ctx, E, Evt[E]>): this {\n if (e === undefined) {\n if (cb) {\n this._cb = this._cb.filter(c => c !== cb);\n } else {\n this._cb.length = 0;\n }\n }\n if (e && e in this._cbs) {\n if (cb) {\n this._cbs[e as string].splice(this._cbs[e as string].indexOf(cb), 1);\n } else {\n this._cbs[e as string].length = 0;\n delete this._cbs[e as string];\n }\n }\n return this;\n }\n\n}\n\n\n// Test\n\n// type Evts = {\n// s: string;\n// s1: string;\n// s2: string;\n// s3: string;\n// sx1: string;\n// sx2: string;\n// n: number;\n// o: { x: string };\n// };\n\n// const e = new Events<Evts, string>(\"ctx\");\n\n// e.any((data, e, ctx) => console.log(\"any:\", data, e, ctx));\n\n// e.emit(\"s\", \"data-eee1\");\n// e.emit(\"s\", \"data-eee1\");\n// e.on(\"s\", (data, e, ctx) => console.log(data, ctx, e));\n// e.emit(\"s\", \"data-eee2\");\n// e.off(\"s\");\n// e.emit(\"s\", \"data-eee3\");\n\n// e.off();\n\n// e.emit(\"s\", \"data-not-emitted\");\n\n\n// e.emit(\"o\", { x: \"obj-1\" });\n// e.once(\"o\", (data, ctx, e) => console.log(data, ctx, e));\n// e.emit(\"o\", { x: \"obj-2\" });\n// e.emit(\"o\", { x: \"obj-3\" });\n\n// e.emit(\"s1\", \"data-all-s1\");\n// e.emit(\"s2\", \"data-all-s2\");\n// e.emit(\"s3\", \"data-all-s3\");\n\n// e.emit(\"sx1\", \"data-ex1\");\n// e.emit(\"sx2\", \"data-ex2\");\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/settings.ts","webpack:///./src/events.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","props","events","Events","this","keys","forEach","emit","ctx","_cb","_cbs","_ctx","e","data","length","ev","cb","indexOf","push","wrap","evt","off","on","undefined","filter","splice"],"mappings":"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","file":"settings.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","import { Events } from \"./events\";\n\nexport class Settings<T extends { [key: string]: any }> {\n\n readonly name: string;\n readonly props: T;\n\n readonly events = new Events<T & { \"\": Partial<T> }, Settings<T>>();\n\n constructor(props: T, name: string = \"settings\") {\n this.props = props;\n this.name = name;\n }\n\n getProps(): T {\n return this.props;\n }\n\n setProps(props: Partial<T>): this {\n Object.keys(props).forEach(p => ((this.props as any)[p] = props[p]));\n this.events.emit(\"\", props);\n return this;\n }\n\n getProp<K extends keyof T>(key: K): T[K] {\n return (this.props)[key];\n }\n\n setProp<K extends keyof T>(key: K, value: T[K]): this {\n (this.props)[key] = value;\n const props: Partial<T> = {};\n props[key] = value;\n this.events.emit(key as string, value);\n return this;\n }\n\n}\n\n// Test\n\n// const x = { n: 2, s: \"s\" };\n// const s = new Settings<typeof x>(x);\n\n// s.setProps({ n: 3 });\n\n// console.log(typeof s.getProp(\"n\")); // number\n// console.log(typeof s.getProp(\"s\")); // string\n\n// s.setProps(JSON.parse(window.localStorage[s.name]));\n// s.events.any(data => (window.localStorage[s.name] = JSON.stringify(s.props)));\n","export type Callback<Ctx, E, Data> = (data: Data, e: E, ctx?: Ctx) => void;\n\nexport class Events<Evt extends { [e: string]: any } = any, Ctx = undefined> {\n\n private _ctx?: Ctx;\n private _cb: Array<Function> = [];\n private _cbs: { [e: string]: Array<Function> } = {};\n\n constructor(ctx?: Ctx) {\n ctx && (this._ctx = ctx);\n }\n\n emit<E extends keyof Evt>(e: E, data?: Evt[E]): this {\n if (e in this._cbs) {\n for (let i = 0, l = this._cbs[e as string].length; i < l; i++) {\n this._cbs[e as string][i](data, e, this._ctx);\n }\n }\n for (let i = 0, l = this._cb.length; i < l; i++) {\n this._cb[i](data, e, this._ctx);\n }\n return this;\n }\n\n on<E extends keyof Evt>(ev: E, cb: Callback<Ctx, E, Evt[E]>): this {\n const e = ev as string;\n if (!(e in this._cbs)) {\n this._cbs[e] = [];\n }\n if (this._cbs[e].indexOf(cb) === -1) {\n this._cbs[e].push(cb);\n }\n return this;\n }\n\n any<E extends keyof Evt>(cb: Callback<Ctx, E, Evt[E]>): this {\n this._cb.push(cb);\n return this;\n }\n\n once<E extends keyof Evt>(ev: E, cb: Callback<Ctx, E, Evt[E]>): this {\n const e = ev;\n const wrap = (d: Evt[E], evt: E, c?: Ctx) => {\n this.off(e, wrap);\n cb(d, evt, c);\n };\n this.on(ev, wrap);\n return this;\n }\n\n off<E extends keyof Evt>(e?: E, cb?: Callback<Ctx, E, Evt[E]>): this {\n if (e === undefined) {\n if (cb) {\n this._cb = this._cb.filter(c => c !== cb);\n } else {\n this._cb.length = 0;\n }\n }\n if (e && e in this._cbs) {\n if (cb) {\n this._cbs[e as string].splice(this._cbs[e as string].indexOf(cb), 1);\n } else {\n this._cbs[e as string].length = 0;\n delete this._cbs[e as string];\n }\n }\n return this;\n }\n\n}\n\n\n// Test\n\n// type Evts = {\n// s: string;\n// s1: string;\n// s2: string;\n// s3: string;\n// sx1: string;\n// sx2: string;\n// n: number;\n// o: { x: string };\n// };\n\n// const e = new Events<Evts, string>(\"ctx\");\n\n// e.any((data, e, ctx) => console.log(\"any:\", data, e, ctx));\n\n// e.emit(\"s\", \"data-eee1\");\n// e.emit(\"s\", \"data-eee1\");\n// e.on(\"s\", (data, e, ctx) => console.log(data, ctx, e));\n// e.emit(\"s\", \"data-eee2\");\n// e.off(\"s\");\n// e.emit(\"s\", \"data-eee3\");\n\n// e.off();\n\n// e.emit(\"s\", \"data-not-emitted\");\n\n\n// e.emit(\"o\", { x: \"obj-1\" });\n// e.once(\"o\", (data, ctx, e) => console.log(data, ctx, e));\n// e.emit(\"o\", { x: \"obj-2\" });\n// e.emit(\"o\", { x: \"obj-3\" });\n\n// e.emit(\"s1\", \"data-all-s1\");\n// e.emit(\"s2\", \"data-all-s2\");\n// e.emit(\"s3\", \"data-all-s3\");\n\n// e.emit(\"sx1\", \"data-ex1\");\n// e.emit(\"sx2\", \"data-ex2\");\n"],"sourceRoot":""}
|
package/dist/umd/signal.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}(window,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var
|
|
1
|
+
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}(window,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=24)}({24:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Signal=void 0;e.Signal=class{constructor(){this._slots=[],this._emit=!0}onConnect(t){this._onConnect=t}onDisconnect(t){this._onDisconnect=t}connNo(){return this._slots.length}connect(t,e){"function"==typeof t&&(e?this._slots.push({callback:t,object:e}):this._slots.push({callback:t}),this._onConnect&&this._onConnect(this._slots.length))}disconnect(t,e){"function"==typeof t&&(this._slots=this._slots.filter(n=>void 0===e?n.callback!==t:n.callback!==t&&n.object!==e),this._onDisconnect&&this._onDisconnect(this._slots.length))}disconnectAll(){this._slots=[],this._onDisconnect&&this._onDisconnect(this._slots.length)}freeze(){this._emit=!1}unfreeze(){this._emit=!0}emit(t){return this._emit&&this._slots.length?this._slots.map(e=>{const n=e.object;return n?e.callback.call(n,t):e.callback(t)}):[]}}}})}));
|
|
2
2
|
//# sourceMappingURL=signal.js.map
|
package/dist/umd/signal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/signal.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_slots","_emit","onConnect","this","_onConnect","onDisconnect","_onDisconnect","length","callback","push","filter","slot","undefined","data","map"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/signal.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_slots","_emit","onConnect","this","_onConnect","onDisconnect","_onDisconnect","length","callback","push","filter","slot","undefined","data","map"],"mappings":"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","file":"signal.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 24);\n","\nexport type SlotCallback<T> = (data?: T) => void;\n\ninterface Slot<T> {\n callback: SlotCallback<T>;\n object?: any;\n}\n\nexport interface Sig<T> {\n onConnect(onConnect: (connNo: number) => void): void;\n onDisconnect(onDisconnect: (connNo: number) => void): void;\n connNo(): number;\n connect(callback: SlotCallback<T>, object?: any): void;\n disconnect(callback: SlotCallback<T>, object?: any): void;\n disconnectAll(): void;\n freeze(): void;\n unfreeze(): void;\n}\n\nexport class Signal<T> implements Sig<T> {\n\n private _slots: Slot<T>[] = [];\n private _emit: boolean = true;\n\n private _onConnect?: ((connNo: number) => void);\n private _onDisconnect?: ((connNo: number) => void);\n\n constructor() {\n }\n\n onConnect(onConnect: (connNo: number) => void): void {\n this._onConnect = onConnect;\n }\n\n onDisconnect(onDisconnect: (connNo: number) => void): void {\n this._onDisconnect = onDisconnect;\n }\n\n connNo(): number {\n return this._slots.length;\n }\n\n // ES5\n // set slot(slot:(data?:T) => void) {\n // this.connect(slot);\n // }\n\n connect(callback: (data?: T) => void): void;\n connect(callback: (data?: T) => void, object?: Object): void;\n connect(callback: (data?: any) => void, object?: Object): void {\n if (typeof callback !== \"function\") return;\n if (object) {\n this._slots.push({ callback: callback, object: object });\n } else {\n this._slots.push({ callback: callback });\n }\n if (this._onConnect) {\n this._onConnect(this._slots.length);\n }\n }\n\n disconnect(callback: (data?: T) => void, object?: Object): void {\n if (typeof callback !== \"function\") return;\n this._slots = this._slots.filter(slot => {\n return (object === undefined) ?\n (slot.callback !== callback) :\n (slot.callback !== callback) && (slot.object !== object);\n });\n if (this._onDisconnect) {\n this._onDisconnect(this._slots.length);\n }\n }\n\n disconnectAll(): void {\n this._slots = [];\n if (this._onDisconnect) {\n this._onDisconnect(this._slots.length);\n }\n }\n\n freeze(): void {\n this._emit = false;\n }\n\n unfreeze(): void {\n this._emit = true;\n }\n\n emit(this: Signal<void>): any[];\n emit(this: Signal<T>, data?: T): any[];\n emit(this: Signal<any>, data?: any): any[] {\n if (this._emit && this._slots.length) {\n return this._slots.map(slot => {\n const object: Object = slot.object;\n if (object) {\n return slot.callback.call(object, data);\n } else {\n return slot.callback(data);\n }\n });\n }\n return [];\n }\n\n /*\n emitAsync(this: Signal<void>): void;\n emitAsync(this: Signal<T>, data?: T): void;\n emitAsync(this: Signal<any>, data?: any): void {\n if (this._emit && this._slots.length) {\n this._slots.forEach(slot => {\n const object: Object = slot.object;\n if (object) {\n setTimeout(() => {\n slot.callback.call(object, data);\n });\n } else {\n setTimeout(() => {\n slot.callback(data);\n });\n }\n });\n }\n }\n */\n\n}\n"],"sourceRoot":""}
|
package/dist/umd/template.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}({25:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tmpl=function(e,t){const n=/[^a-zA-Z0-9_-]+/.test(e)?e:document.getElementById(e).innerHTML;let r,o,i=JSON.stringify,u=/\$\{([\S\s]*?)\}/g,p=[],
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}({25:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.template=t.tmpl=void 0,t.tmpl=function(e,t){const n=/[^a-zA-Z0-9_-]+/.test(e)?e:document.getElementById(e).innerHTML;let r,o,i=JSON.stringify,u=/\$\{([\S\s]*?)\}/g,p=[],l=0;for(;o=u.exec(n);)r=n.slice(l,o.index),p.push(i(r),"("+o[1]+")"),l=u.lastIndex;r=n.slice(l),p.push(i(r));const c=new Function("obj","with(obj)return "+p.join("+"));return t?c(t):c};const r={};t.template=function e(t,n){const o=/[^a-zA-Z0-9_-]+/.test(t)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+t.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%\>/g,"',$1,'").split("\t").join("');").split("%>").join("\np.push('").split("\r").join("\\'")+"');}return p.join('');"):r[t]=r[t]||e(document.getElementById(t).innerHTML);return n?o(n):o}}})}));
|
|
2
2
|
//# sourceMappingURL=template.js.map
|
package/dist/umd/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/template.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","templateOrId","data","template","test","document","getElementById","innerHTML","str","stringify","JSON","re","strings","exec","slice","index","push","lastIndex","fn","Function","join","template_cache","replace","split"],"mappings":"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","file":"template.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","// https://gist.github.com/WebReflection/8f227532143e63649804\n// accepts optional transformer\n// now transformers are compatible with ES6\n//\n// examples:\n// 'test1 ${1 + 2} test2 ${3 + 4}'.template();\n// 'Hello ${name}!'.template({name: 'Andrea'});\n//\n/*\n\nString.prototype[\"template\"] = function (fn, object) {\n \"use strict\";\n // Andrea Giammarchi - WTFPL License\n let\n hasTransformer = typeof fn === \"function\",\n stringify = JSON.stringify,\n re = /\\$\\{([\\S\\s]*?)\\}/g,\n strings = [],\n values = hasTransformer ? [] : strings,\n i = 0,\n str,\n m\n ;\n while ((m = re.exec(this))) {\n str = this.slice(i, m.index);\n if (hasTransformer) {\n strings.push(str);\n values.push(\"(\" + m[1] + \")\");\n } else {\n strings.push(stringify(str), \"(\" + m[1] + \")\");\n }\n i = re.lastIndex;\n }\n str = this.slice(i);\n strings.push(hasTransformer ? str : stringify(str));\n if (hasTransformer) {\n str = \"function\" + (Math.random() * 1e5 | 0);\n strings = [\n str,\n \"with(this)return \" + str + \"(\" + stringify(strings) + (\n values.length ? (\",\" + values.join(\",\")) : \"\"\n ) + \")\"\n ];\n } else {\n strings = [\"with(this)return \" + strings.join(\"+\")];\n }\n return Function.apply(null, strings).call(\n hasTransformer ? object : fn,\n hasTransformer && fn\n );\n};\n*/\n\n/**\n * Template with same syntax as template literal\n *\n * @param templateOrId\n * @param data\n * @returns {(data: Object) => string | string}\n */\nexport function tmpl(templateOrId: string, data?: Object) {\n const template = !/[^a-zA-Z0-9_-]+/.test(templateOrId)\n ? document.getElementById(templateOrId)!.innerHTML\n : templateOrId;\n let\n stringify = JSON.stringify,\n re = /\\$\\{([\\S\\s]*?)\\}/g,\n strings: any[] = [],\n i = 0,\n str: string,\n m: RegExpExecArray | null;\n while ((m = re.exec(template))) {\n str = template.slice(i, m.index);\n strings.push(stringify(str), \"(\" + m[1] + \")\");\n i = re.lastIndex;\n }\n str = template.slice(i);\n strings.push(stringify(str));\n const fn = new Function(\"obj\", \"with(obj)return \" + strings.join(\"+\"));\n return data ? fn(data) : fn;\n}\n\n\nconst template_cache: any = {};\n\n/**\n * Template engine\n *\n * @param templateOrId\n * @param data\n * @returns {(data:Object)=>string|string}\n */\nexport function template(templateOrId: string, data?: any) {\n // Simple JavaScript Templating\n // John Resig - http://ejohn.org/ - MIT Licensed\n // Figure out if we're getting a template, or if we need to\n // load the template - and be sure to cache the result.\n // var fn = !/\\W/.test(str) ?\n const fn: Function = !/[^a-zA-Z0-9_-]+/.test(templateOrId) ?\n template_cache[templateOrId] = template_cache[templateOrId] ||\n template(document.getElementById(templateOrId)!.innerHTML) :\n // Generate a reusable function that will serve as a template\n // generator (and which will be cached).\n new Function(\"obj\",\n \"var p=[],print=function(){p.push.apply(p,arguments);};\" +\n // Introduce the data as local variables using with(){}\n \"with(obj){p.push('\" +\n // Convert the template into pure JavaScript\n templateOrId\n .replace(/[\\r\\t\\n]/g, \" \")\n .split(\"<%\").join(\"\\t\")\n .replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\n .replace(/\\t=(.*?)%\\>/g, \"',$1,'\")\n .split(\"\\t\").join(\"');\")\n .split(\"%>\").join(\"\\np.push('\")\n .split(\"\\r\").join(\"\\\\'\")\n + \"');}return p.join('');\");\n // Provide some basic currying to the user\n return data ? fn(data) : fn;\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/template.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","templateOrId","data","template","test","document","getElementById","innerHTML","str","stringify","JSON","re","strings","exec","slice","index","push","lastIndex","fn","Function","join","template_cache","replace","split"],"mappings":"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","file":"template.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","// https://gist.github.com/WebReflection/8f227532143e63649804\n// accepts optional transformer\n// now transformers are compatible with ES6\n//\n// examples:\n// 'test1 ${1 + 2} test2 ${3 + 4}'.template();\n// 'Hello ${name}!'.template({name: 'Andrea'});\n//\n/*\n\nString.prototype[\"template\"] = function (fn, object) {\n \"use strict\";\n // Andrea Giammarchi - WTFPL License\n let\n hasTransformer = typeof fn === \"function\",\n stringify = JSON.stringify,\n re = /\\$\\{([\\S\\s]*?)\\}/g,\n strings = [],\n values = hasTransformer ? [] : strings,\n i = 0,\n str,\n m\n ;\n while ((m = re.exec(this))) {\n str = this.slice(i, m.index);\n if (hasTransformer) {\n strings.push(str);\n values.push(\"(\" + m[1] + \")\");\n } else {\n strings.push(stringify(str), \"(\" + m[1] + \")\");\n }\n i = re.lastIndex;\n }\n str = this.slice(i);\n strings.push(hasTransformer ? str : stringify(str));\n if (hasTransformer) {\n str = \"function\" + (Math.random() * 1e5 | 0);\n strings = [\n str,\n \"with(this)return \" + str + \"(\" + stringify(strings) + (\n values.length ? (\",\" + values.join(\",\")) : \"\"\n ) + \")\"\n ];\n } else {\n strings = [\"with(this)return \" + strings.join(\"+\")];\n }\n return Function.apply(null, strings).call(\n hasTransformer ? object : fn,\n hasTransformer && fn\n );\n};\n*/\n\n/**\n * Template with same syntax as template literal\n *\n * @param templateOrId\n * @param data\n * @returns {(data: Object) => string | string}\n */\nexport function tmpl(templateOrId: string, data?: Object) {\n const template = !/[^a-zA-Z0-9_-]+/.test(templateOrId)\n ? document.getElementById(templateOrId)!.innerHTML\n : templateOrId;\n let\n stringify = JSON.stringify,\n re = /\\$\\{([\\S\\s]*?)\\}/g,\n strings: any[] = [],\n i = 0,\n str: string,\n m: RegExpExecArray | null;\n while ((m = re.exec(template))) {\n str = template.slice(i, m.index);\n strings.push(stringify(str), \"(\" + m[1] + \")\");\n i = re.lastIndex;\n }\n str = template.slice(i);\n strings.push(stringify(str));\n const fn = new Function(\"obj\", \"with(obj)return \" + strings.join(\"+\"));\n return data ? fn(data) : fn;\n}\n\n\nconst template_cache: any = {};\n\n/**\n * Template engine\n *\n * @param templateOrId\n * @param data\n * @returns {(data:Object)=>string|string}\n */\nexport function template(templateOrId: string, data?: any) {\n // Simple JavaScript Templating\n // John Resig - http://ejohn.org/ - MIT Licensed\n // Figure out if we're getting a template, or if we need to\n // load the template - and be sure to cache the result.\n // var fn = !/\\W/.test(str) ?\n const fn: Function = !/[^a-zA-Z0-9_-]+/.test(templateOrId) ?\n template_cache[templateOrId] = template_cache[templateOrId] ||\n template(document.getElementById(templateOrId)!.innerHTML) :\n // Generate a reusable function that will serve as a template\n // generator (and which will be cached).\n new Function(\"obj\",\n \"var p=[],print=function(){p.push.apply(p,arguments);};\" +\n // Introduce the data as local variables using with(){}\n \"with(obj){p.push('\" +\n // Convert the template into pure JavaScript\n templateOrId\n .replace(/[\\r\\t\\n]/g, \" \")\n .split(\"<%\").join(\"\\t\")\n .replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\n .replace(/\\t=(.*?)%\\>/g, \"',$1,'\")\n .split(\"\\t\").join(\"');\")\n .split(\"%>\").join(\"\\np.push('\")\n .split(\"\\r\").join(\"\\\\'\")\n + \"');}return p.join('');\");\n // Provide some basic currying to the user\n return data ? fn(data) : fn;\n}\n"],"sourceRoot":""}
|
package/dist/umd/tmpl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}({26:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tmpls=function(e,t){return Object.keys(t).map(e=>[e,t[e]]).reduce((e,t)=>e.replace(new RegExp(`\\{\\{${t[0]}\\}\\}`,"g"),String(t[1])),e)},t.tmpla=function(e,t){return t.reduce((e,t,n)=>e.replace(new RegExp(`\\$\\{${n}\\}`,"g"),t),e)},t.tmplo=function(e,t){return Object.keys(t).map(e=>[e,t[e]]).reduce((e,t)=>e.replace(new RegExp(`\\$\\{${t[0]}\\}`,"g"),t[1]),e)},t.tmpl=function(e){const t=JSON.stringify,n=/\$\{([\S\s]*?)\}/g,r=[];let o,u,i=0;for(;o=n.exec(e);)u=e.slice(i,o.index),r.push(t(u),"("+o[1]+")"),i=n.lastIndex;return u=e.slice(i),r.push(t(u)),new Function("obj","with(obj)return "+r.join("+"))}}})}));
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}({26:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tmpl=t.tmplo=t.tmpla=t.tmpls=void 0,t.tmpls=function(e,t){return Object.keys(t).map(e=>[e,t[e]]).reduce((e,t)=>e.replace(new RegExp(`\\{\\{${t[0]}\\}\\}`,"g"),String(t[1])),e)},t.tmpla=function(e,t){return t.reduce((e,t,n)=>e.replace(new RegExp(`\\$\\{${n}\\}`,"g"),t),e)},t.tmplo=function(e,t){return Object.keys(t).map(e=>[e,t[e]]).reduce((e,t)=>e.replace(new RegExp(`\\$\\{${t[0]}\\}`,"g"),t[1]),e)},t.tmpl=function(e){const t=JSON.stringify,n=/\$\{([\S\s]*?)\}/g,r=[];let o,u,i=0;for(;o=n.exec(e);)u=e.slice(i,o.index),r.push(t(u),"("+o[1]+")"),i=n.lastIndex;return u=e.slice(i),r.push(t(u)),new Function("obj","with(obj)return "+r.join("+"))}}})}));
|
|
2
2
|
//# sourceMappingURL=tmpl.js.map
|
package/dist/umd/tmpl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/tmpl.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","tmpl","data","keys","map","k","reduce","replace","RegExp","String","template","stringify","JSON","re","strings","str","exec","slice","index","push","lastIndex","Function","join"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUT,QAGnC,IAAIC,EAASM,EAAiBE,GAAY,CACzCJ,EAAGI,EACHC,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQF,GAAUG,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASQ,GAG/DP,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAQ,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASf,EAASgB,EAAMC,GAC3CT,EAAoBU,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAO,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,GAIjB/B,EAAoBA,EAAoBgC,EAAI,I,
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/tmpl.ts"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","tmpl","data","keys","map","k","reduce","replace","RegExp","String","template","stringify","JSON","re","strings","str","exec","slice","index","push","lastIndex","Function","join"],"mappings":"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","file":"tmpl.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 26);\n","/**\n * ```\n * const dataStrObject = { a: \"A\", b: \"B\" };\n * console.log(\"tmpls: {{a}} {{b}} {{a}}\", \"|\", tmpls(\"tmpls: {{a}} {{b}} {{a}}\", dataStrObject));\n *\n * const dataStrArray = [\"A\", \"B\"];\n * console.log(\"tmpls: {{0}} {{1}} {{0}}\", \"|\", tmpls(\"tmpla: {{0}} {{1}} {{0}}\", dataStrArray));\n * ```\n *\n * @param tmpl Template string\n * @param data Template data\n */\nexport function tmpls(tmpl: string, data: { [k: string]: any }): string {\n return Object.keys(data)\n .map(k => [k, data[k]])\n .reduce((t, d) =>\n t.replace(new RegExp(`\\\\{\\\\{${d[0]}\\\\}\\\\}`, \"g\"), String(d[1])), tmpl);\n}\n\n/**\n * ```\n * const dataArray = [\"A\", \"B\"];\n * console.log(\"tmpla: ${0} ${1} ${0}\", \"|\", tmpla(\"tmpla: ${0} ${1} ${0}\", dataArray));\n * ```\n *\n * @param tmpl Template string\n * @param data Template data\n */\nexport function tmpla(tmpl: string, data: string[]): string {\n return data.reduce((t, d, i) => t.replace(new RegExp(`\\\\$\\\\{${i}\\\\}`, \"g\"), d), tmpl);\n}\n\n/**\n * ```\n * const dataObject = { a: \"A\", b: \"B\" };\n * console.log(\"tmplo: ${a} ${b} ${a}\", \"|\", tmplo(\"tmplo: ${a} ${b} ${a}\", dataObject));\n * ```\n *\n * @param tmpl Template string\n * @param data Template data\n */\nexport function tmplo(tmpl: string, data: { [k: string]: string }): string {\n return Object.keys(data)\n .map(k => [k, data[k]])\n .reduce((t, d) => t.replace(new RegExp(`\\\\$\\\\{${d[0]}\\\\}`, \"g\"), d[1]), tmpl);\n}\n\n/**\n * const t = tmpl<typeof dataObject>(\"tmpl : ${a} ${b} ${a}\");\n * console.log(\"tmpl : ${a} ${b} ${a}\", \"|\", t(dataObject));\n * console.log(\"tmpl : \", t);\n *\n * const tl = tmpl(\"1+2=${1 + 2} 3+x=${3 + x[1]}\");\n * console.log(\"tmpl : 1+2=${1 + 2} 3+x=${3 + x[1]}\", \"|\", tl({ x: [2] }));\n * console.log(\"tmpl : \", tl);\n *\n * @param template Template string\n */\nexport function tmpl<T = any>(template: string): (data: { [key in keyof T]: any }) => string {\n const stringify = JSON.stringify;\n const re = /\\$\\{([\\S\\s]*?)\\}/g;\n const strings: string[] = [];\n let m: RegExpExecArray | null;\n let i = 0;\n let str: string;\n while ((m = re.exec(template))) {\n str = template.slice(i, m.index);\n strings.push(stringify(str), \"(\" + m[1] + \")\");\n i = re.lastIndex;\n }\n str = template.slice(i);\n strings.push(stringify(str));\n const fn = new Function(\"obj\", \"with(obj)return \" + strings.join(\"+\"));\n return fn as (data: Object) => string;\n}\n\n// TEST\n\n// const dataStrObject = { a: \"A\", b: \"B\" };\n// console.log(\"tmpls: {{a}} {{b}} {{a}}\", \"|\", tmpls(\"tmpls: {{a}} {{b}} {{a}}\", dataStrObject));\n\n// const dataStrArray = [\"A\", \"B\"];\n// console.log(\"tmpls: {{0}} {{1}} {{0}}\", \"|\", tmpls(\"tmpla: {{0}} {{1}} {{0}}\", dataStrArray));\n\n// const dataArray = [\"A\", \"B\"];\n// console.log(\"tmpla: ${0} ${1} ${0}\", \"|\", tmpla(\"tmpla: ${0} ${1} ${0}\", dataArray));\n\n// const dataObject = { a: \"A\", b: \"B\" };\n// console.log(\"tmplo: ${a} ${b} ${a}\", \"|\", tmplo(\"tmplo: ${a} ${b} ${a}\", dataObject));\n\n// const t = tmpl<typeof dataObject>(\"tmpl : ${a} ${b} ${a}\");\n// console.log(\"tmpl : ${a} ${b} ${a}\", \"|\", t(dataObject));\n// console.log(\"tmpl : \", t);\n\n// const tl = tmpl(\"1+2=${1 + 2} 3+x=${3 + x[1]}\");\n// console.log(\"tmpl : 1+2=${1 + 2} 3+x=${3 + x[1]}\", \"|\", tl({ x: [2] }));\n// console.log(\"tmpl : \", tl);\n"],"sourceRoot":""}
|