peryl 1.5.2 → 1.5.4

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.
Files changed (187) hide show
  1. package/README.md +31 -17
  2. package/demo/hsml-app-form-validation_demo.html +1 -0
  3. package/demo/hsml-app-form-validation_demo.ts +22 -23
  4. package/demo/hsml-app-form_demo.html +1 -0
  5. package/demo/hsml-app-form_demo.ts +24 -20
  6. package/demo/hsml-app-test_demo.ts +36 -41
  7. package/demo/hsml-app-tictactoe_demo.ts +17 -16
  8. package/demo/hsml-app_demo.html +1 -0
  9. package/demo/hsml-app_demo.ts +16 -16
  10. package/demo/hsml-appel_demo.html +7 -0
  11. package/demo/hsml-appel_demo.ts +47 -27
  12. package/demo/hsml-appi_demo.ts +15 -22
  13. package/demo/hsml_demo.ts +27 -22
  14. package/demo/js/hsml-app-js-happi_demo.html +28 -21
  15. package/demo/js/hsml-app-js_demo.html +15 -17
  16. package/dist/browser-esmodule/encode.js.map +1 -1
  17. package/dist/browser-esmodule/hsml-app.js +114 -123
  18. package/dist/browser-esmodule/hsml-app.js.map +1 -1
  19. package/dist/browser-esmodule/hsml-convert.js.map +1 -1
  20. package/dist/browser-esmodule/hsml-dom.js +3 -3
  21. package/dist/browser-esmodule/hsml-dom.js.map +1 -1
  22. package/dist/browser-esmodule/hsml-h.js.map +1 -1
  23. package/dist/browser-esmodule/hsml-html.js +2 -2
  24. package/dist/browser-esmodule/hsml-html.js.map +1 -1
  25. package/dist/browser-esmodule/hsml-idom.js +5 -5
  26. package/dist/browser-esmodule/hsml-idom.js.map +1 -1
  27. package/dist/browser-esmodule/hsml.js.map +1 -1
  28. package/dist/browser-esmodule/http.js.map +1 -1
  29. package/dist/browser-esmodule/index.js +118 -127
  30. package/dist/browser-esmodule/index.js.map +1 -1
  31. package/dist/browser-esmodule/router.js.map +1 -1
  32. package/dist/browser-umd/encode.js +1 -1
  33. package/dist/browser-umd/encode.js.map +1 -1
  34. package/dist/browser-umd/hsml-app.js +1 -1
  35. package/dist/browser-umd/hsml-app.js.map +1 -1
  36. package/dist/browser-umd/hsml-convert.js.map +1 -1
  37. package/dist/browser-umd/hsml-dom.js +1 -1
  38. package/dist/browser-umd/hsml-dom.js.map +1 -1
  39. package/dist/browser-umd/hsml-h.js.map +1 -1
  40. package/dist/browser-umd/hsml-html.js +1 -1
  41. package/dist/browser-umd/hsml-html.js.map +1 -1
  42. package/dist/browser-umd/hsml-idom.js +1 -1
  43. package/dist/browser-umd/hsml-idom.js.map +1 -1
  44. package/dist/browser-umd/hsml.js.map +1 -1
  45. package/dist/browser-umd/http.js +1 -1
  46. package/dist/browser-umd/http.js.map +1 -1
  47. package/dist/browser-umd/index.js +1 -1
  48. package/dist/browser-umd/index.js.map +1 -1
  49. package/dist/browser-umd/router.js +1 -1
  50. package/dist/browser-umd/router.js.map +1 -1
  51. package/dist/browser-umd/validators-moment.js +1 -1
  52. package/dist/browser-umd/validators-moment.js.map +1 -1
  53. package/dist/browser-umd/validators-numeral.js.map +1 -1
  54. package/dist/demo/encode_demo.ce182166.js.map +1 -1
  55. package/dist/demo/encode_demo.f40a44eb.js.map +1 -1
  56. package/dist/demo/hsml-app-form-validation_demo.8e406f15.js +2 -0
  57. package/dist/demo/hsml-app-form-validation_demo.8e406f15.js.map +1 -0
  58. package/dist/demo/hsml-app-form-validation_demo.9a95cff3.js +2 -0
  59. package/dist/demo/hsml-app-form-validation_demo.9a95cff3.js.map +1 -0
  60. package/dist/demo/hsml-app-form-validation_demo.c6856b02.js +2 -0
  61. package/dist/demo/hsml-app-form-validation_demo.c6856b02.js.map +1 -0
  62. package/dist/demo/hsml-app-form-validation_demo.fdcc0b2d.js +2 -0
  63. package/dist/demo/hsml-app-form-validation_demo.fdcc0b2d.js.map +1 -0
  64. package/dist/demo/hsml-app-form-validation_demo.html +1 -1
  65. package/dist/demo/hsml-app-form_demo.950b2a09.js +2 -0
  66. package/dist/demo/hsml-app-form_demo.950b2a09.js.map +1 -0
  67. package/dist/demo/hsml-app-form_demo.ea3af725.js +2 -0
  68. package/dist/demo/hsml-app-form_demo.ea3af725.js.map +1 -0
  69. package/dist/demo/hsml-app-form_demo.html +1 -1
  70. package/dist/demo/hsml-app-test_demo.36a210b8.js +2 -0
  71. package/dist/demo/hsml-app-test_demo.36a210b8.js.map +1 -0
  72. package/dist/demo/hsml-app-test_demo.6ab4ea94.js +2 -0
  73. package/dist/demo/hsml-app-test_demo.6ab4ea94.js.map +1 -0
  74. package/dist/demo/hsml-app-test_demo.html +1 -1
  75. package/dist/demo/hsml-app-tictactoe_demo.7a91c368.js +2 -0
  76. package/dist/demo/hsml-app-tictactoe_demo.7a91c368.js.map +1 -0
  77. package/dist/demo/hsml-app-tictactoe_demo.97905c2f.js +2 -0
  78. package/dist/demo/hsml-app-tictactoe_demo.97905c2f.js.map +1 -0
  79. package/dist/demo/hsml-app-tictactoe_demo.html +1 -1
  80. package/dist/demo/hsml-app_demo.b5c1d27d.js +2 -0
  81. package/dist/demo/hsml-app_demo.b5c1d27d.js.map +1 -0
  82. package/dist/demo/hsml-app_demo.bbebbbcf.js +2 -0
  83. package/dist/demo/hsml-app_demo.bbebbbcf.js.map +1 -0
  84. package/dist/demo/hsml-app_demo.html +1 -1
  85. package/dist/demo/hsml-appel_demo.4d9e135c.js +2 -0
  86. package/dist/demo/hsml-appel_demo.4d9e135c.js.map +1 -0
  87. package/dist/demo/hsml-appel_demo.7ddb6fb3.js +2 -0
  88. package/dist/demo/hsml-appel_demo.7ddb6fb3.js.map +1 -0
  89. package/dist/demo/hsml-appel_demo.html +1 -1
  90. package/dist/demo/hsml-appi_demo.e5e28a65.js +2 -0
  91. package/dist/demo/hsml-appi_demo.e5e28a65.js.map +1 -0
  92. package/dist/demo/hsml-appi_demo.fef950c1.js +2 -0
  93. package/dist/demo/hsml-appi_demo.fef950c1.js.map +1 -0
  94. package/dist/demo/hsml-appi_demo.html +1 -1
  95. package/dist/demo/hsml-convert_demo.0ea1fa3b.js.map +1 -1
  96. package/dist/demo/hsml-convert_demo.63e3e7b5.js.map +1 -1
  97. package/dist/demo/{hsml_demo.ff950ba1.js → hsml_demo.a248689a.js} +2 -2
  98. package/dist/demo/hsml_demo.a248689a.js.map +1 -0
  99. package/dist/demo/hsml_demo.eb3b08be.js +2 -0
  100. package/dist/demo/hsml_demo.eb3b08be.js.map +1 -0
  101. package/dist/demo/hsml_demo.html +1 -1
  102. package/dist/demo/http_demo.3e7da3d8.js.map +1 -1
  103. package/dist/demo/http_demo.8e435f23.js.map +1 -1
  104. package/dist/demo/i18n_demo.html +1 -1
  105. package/dist/demo/router_demo.3cfa03aa.js.map +1 -1
  106. package/dist/demo/router_demo.89ab1681.js.map +1 -1
  107. package/dist/demo/{validators_demo.252e13a6.js → validators_demo.90ff6001.js} +2 -2
  108. package/dist/demo/validators_demo.90ff6001.js.map +1 -0
  109. package/dist/demo/{validators_demo.66893723.js → validators_demo.ef5b2dea.js} +2 -2
  110. package/dist/demo/validators_demo.ef5b2dea.js.map +1 -0
  111. package/dist/demo/validators_demo.html +1 -1
  112. package/dist/encode.js +1 -1
  113. package/dist/encode.js.map +1 -1
  114. package/dist/hsml-app.d.ts +63 -42
  115. package/dist/hsml-app.js +110 -117
  116. package/dist/hsml-app.js.map +1 -1
  117. package/dist/hsml-convert.d.ts +3 -3
  118. package/dist/hsml-convert.js.map +1 -1
  119. package/dist/hsml-dom.d.ts +2 -2
  120. package/dist/hsml-dom.js +3 -3
  121. package/dist/hsml-dom.js.map +1 -1
  122. package/dist/hsml-h.d.ts +8 -8
  123. package/dist/hsml-h.js.map +1 -1
  124. package/dist/hsml-html.d.ts +4 -4
  125. package/dist/hsml-html.js +2 -2
  126. package/dist/hsml-html.js.map +1 -1
  127. package/dist/hsml-idom.d.ts +2 -2
  128. package/dist/hsml-idom.js +5 -5
  129. package/dist/hsml-idom.js.map +1 -1
  130. package/dist/hsml.d.ts +26 -27
  131. package/dist/hsml.js.map +1 -1
  132. package/dist/http.js +1 -1
  133. package/dist/http.js.map +1 -1
  134. package/dist/router.js +1 -1
  135. package/dist/router.js.map +1 -1
  136. package/package.json +8 -8
  137. package/src/hsml-app.ts +305 -197
  138. package/src/hsml-convert.ts +8 -8
  139. package/src/hsml-dom.ts +18 -18
  140. package/src/hsml-h.ts +10 -10
  141. package/src/hsml-html.ts +19 -19
  142. package/src/hsml-idom.ts +25 -25
  143. package/src/hsml.ts +46 -143
  144. package/demo/hsml-appc_demo.html +0 -16
  145. package/demo/hsml-appc_demo.ts +0 -49
  146. package/dist/demo/hsml-app-form-validation_demo.0b03b743.js +0 -2
  147. package/dist/demo/hsml-app-form-validation_demo.0b03b743.js.map +0 -1
  148. package/dist/demo/hsml-app-form-validation_demo.b3a5c810.js +0 -2
  149. package/dist/demo/hsml-app-form-validation_demo.b3a5c810.js.map +0 -1
  150. package/dist/demo/hsml-app-form-validation_demo.d3925067.js +0 -2
  151. package/dist/demo/hsml-app-form-validation_demo.d3925067.js.map +0 -1
  152. package/dist/demo/hsml-app-form-validation_demo.f757d763.js +0 -2
  153. package/dist/demo/hsml-app-form-validation_demo.f757d763.js.map +0 -1
  154. package/dist/demo/hsml-app-form_demo.007ffcaa.js +0 -2
  155. package/dist/demo/hsml-app-form_demo.007ffcaa.js.map +0 -1
  156. package/dist/demo/hsml-app-form_demo.a034239d.js +0 -2
  157. package/dist/demo/hsml-app-form_demo.a034239d.js.map +0 -1
  158. package/dist/demo/hsml-app-test_demo.35c14dc9.js +0 -2
  159. package/dist/demo/hsml-app-test_demo.35c14dc9.js.map +0 -1
  160. package/dist/demo/hsml-app-test_demo.3c7e16ae.js +0 -2
  161. package/dist/demo/hsml-app-test_demo.3c7e16ae.js.map +0 -1
  162. package/dist/demo/hsml-app-tictactoe_demo.5f4861c1.js +0 -2
  163. package/dist/demo/hsml-app-tictactoe_demo.5f4861c1.js.map +0 -1
  164. package/dist/demo/hsml-app-tictactoe_demo.7deeabad.js +0 -2
  165. package/dist/demo/hsml-app-tictactoe_demo.7deeabad.js.map +0 -1
  166. package/dist/demo/hsml-app_demo.87d83c29.js +0 -2
  167. package/dist/demo/hsml-app_demo.87d83c29.js.map +0 -1
  168. package/dist/demo/hsml-app_demo.941a13a6.js +0 -2
  169. package/dist/demo/hsml-app_demo.941a13a6.js.map +0 -1
  170. package/dist/demo/hsml-appc_demo.0234ff15.js +0 -2
  171. package/dist/demo/hsml-appc_demo.0234ff15.js.map +0 -1
  172. package/dist/demo/hsml-appc_demo.f5783031.js +0 -2
  173. package/dist/demo/hsml-appc_demo.f5783031.js.map +0 -1
  174. package/dist/demo/hsml-appc_demo.html +0 -1
  175. package/dist/demo/hsml-appel_demo.0e8a4d4c.js +0 -2
  176. package/dist/demo/hsml-appel_demo.0e8a4d4c.js.map +0 -1
  177. package/dist/demo/hsml-appel_demo.1a5c2c26.js +0 -2
  178. package/dist/demo/hsml-appel_demo.1a5c2c26.js.map +0 -1
  179. package/dist/demo/hsml-appi_demo.2c3fb511.js +0 -2
  180. package/dist/demo/hsml-appi_demo.2c3fb511.js.map +0 -1
  181. package/dist/demo/hsml-appi_demo.427fdebd.js +0 -2
  182. package/dist/demo/hsml-appi_demo.427fdebd.js.map +0 -1
  183. package/dist/demo/hsml_demo.33f28c29.js +0 -2
  184. package/dist/demo/hsml_demo.33f28c29.js.map +0 -1
  185. package/dist/demo/hsml_demo.ff950ba1.js.map +0 -1
  186. package/dist/demo/validators_demo.252e13a6.js.map +0 -1
  187. package/dist/demo/validators_demo.66893723.js.map +0 -1
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><script nomodule defer src="validators_demo.66893723.js"></script><script type="module" src="validators_demo.252e13a6.js"></script><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>i18n demo</title></head><body> <div class="container"> <h1>i18n demo</h1> <p>open console</p> </div> <script type="module" src="i18n_demo.52e59e93.js"></script><script src="i18n_demo.8ea9448b.js" nomodule defer></script> </body></html>
1
+ <!DOCTYPE html><html lang="en"><head><script nomodule defer src="validators_demo.ef5b2dea.js"></script><script type="module" src="validators_demo.90ff6001.js"></script><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>i18n demo</title></head><body> <div class="container"> <h1>i18n demo</h1> <p>open console</p> </div> <script type="module" src="i18n_demo.52e59e93.js"></script><script src="i18n_demo.8ea9448b.js" nomodule defer></script> </body></html>
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/router.ts","demo/router_demo.ts"],"sourcesContent":["// 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 route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string, force = false): Router {\n Router.default.navigate(path, force);\n return Router.default;\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static handle(hash: string): Router {\n return Router.default.handle(hash);\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, force = false): this {\n const hash = this.hash();\n window.location.hash = path;\n if (force && hash === path) {\n this.handle(path);\n }\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(hash: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(hash, 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","import { Router } from \"../src/router\";\n\nRouter\n // #users/123\n .route(\"users/:id\", (id: string) => {\n print(\"users/:id |\", id);\n })\n // #users/123/account/321\n .route(\"users/:uid/account/:aid\", (uid: string, aid: string) => {\n print(\"users/123/account/321 |\", uid, aid);\n })\n // #users\n .route(\"users\", (path: string) => {\n print(\"users |\", path);\n })\n // #users/foo/bar\n .route(\"users/*\", (path: string) => {\n print(\"users/* |\", path);\n })\n // #all/paths\n .route(\"*\", (path: string) => {\n print(\"* |\", path);\n });\n\nRouter.start();\n\nRouter.navigate(\"users/987\");\n\nfunction print(...args: [any?, ...any[]]) {\n console.log.apply(console, args);\n const out = document.getElementById(\"output\");\n out && (out.innerHTML += \"<br>\" + args.join(\" \"));\n}\n"],"names":["$3acfe3e572610b51$export$4293555f241ae35a","on","event","fn","this","_callbacks","push","emit","args","forEach","cb","apply","off","arguments","length","callbacks","i","splice","constructor","$3acfe3e572610b51$export$e7b0ac011bb776c6","match","path","params","m","_regex","exec","key","keys","val","decodeURIComponent","_params","name","_pathParse","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","$3acfe3e572610b51$export$55185c17a0fcbe46","static","handler","default","route","force","navigate","start","hash","handle","_routes","window","location","_onHashChange","substring","super","addEventListener","attachEvent","$c5600ae333359113$var$print","console","log","out","document","getElementById","innerHTML","id","uid","aid"],"version":3,"file":"router_demo.3cfa03aa.js.map"}
1
+ {"mappings":"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","sources":["src/router.ts","demo/router_demo.ts"],"sourcesContent":["// 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 route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string, force = false): Router {\n Router.default.navigate(path, force);\n return Router.default;\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static handle(hash: string): Router {\n return Router.default.handle(hash);\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, force = false): this {\n const hash = this.hash();\n window.location.hash = path;\n if (force && hash === path) {\n this.handle(path);\n }\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(hash: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(hash, 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","import { Router } from \"../src/router\";\n\nRouter\n // #users/123\n .route(\"users/:id\", (id: string) => {\n print(\"users/:id |\", id);\n })\n // #users/123/account/321\n .route(\"users/:uid/account/:aid\", (uid: string, aid: string) => {\n print(\"users/123/account/321 |\", uid, aid);\n })\n // #users\n .route(\"users\", (path: string) => {\n print(\"users |\", path);\n })\n // #users/foo/bar\n .route(\"users/*\", (path: string) => {\n print(\"users/* |\", path);\n })\n // #all/paths\n .route(\"*\", (path: string) => {\n print(\"* |\", path);\n });\n\nRouter.start();\n\nRouter.navigate(\"users/987\");\n\nfunction print(...args: [any?, ...any[]]) {\n console.log.apply(console, args);\n const out = document.getElementById(\"output\");\n out && (out.innerHTML += \"<br>\" + args.join(\" \"));\n}\n"],"names":["$3acfe3e572610b51$export$4293555f241ae35a","on","event","fn","this","_callbacks","push","emit","args","forEach","cb","apply","off","arguments","length","callbacks","i","splice","constructor","$3acfe3e572610b51$export$e7b0ac011bb776c6","match","path","params","m","_regex","exec","key","keys","val","decodeURIComponent","_params","name","_pathParse","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","$3acfe3e572610b51$export$55185c17a0fcbe46","static","handler","default","route","force","navigate","start","hash","handle","_routes","window","location","_onHashChange","substring","super","addEventListener","attachEvent","$c5600ae333359113$var$print","console","log","out","document","getElementById","innerHTML","id","uid","aid"],"version":3,"file":"router_demo.3cfa03aa.js.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/router.ts","demo/router_demo.ts"],"sourcesContent":["// 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 route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string, force = false): Router {\n Router.default.navigate(path, force);\n return Router.default;\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static handle(hash: string): Router {\n return Router.default.handle(hash);\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, force = false): this {\n const hash = this.hash();\n window.location.hash = path;\n if (force && hash === path) {\n this.handle(path);\n }\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(hash: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(hash, 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","import { Router } from \"../src/router\";\n\nRouter\n // #users/123\n .route(\"users/:id\", (id: string) => {\n print(\"users/:id |\", id);\n })\n // #users/123/account/321\n .route(\"users/:uid/account/:aid\", (uid: string, aid: string) => {\n print(\"users/123/account/321 |\", uid, aid);\n })\n // #users\n .route(\"users\", (path: string) => {\n print(\"users |\", path);\n })\n // #users/foo/bar\n .route(\"users/*\", (path: string) => {\n print(\"users/* |\", path);\n })\n // #all/paths\n .route(\"*\", (path: string) => {\n print(\"* |\", path);\n });\n\nRouter.start();\n\nRouter.navigate(\"users/987\");\n\nfunction print(...args: [any?, ...any[]]) {\n console.log.apply(console, args);\n const out = document.getElementById(\"output\");\n out && (out.innerHTML += \"<br>\" + args.join(\" \"));\n}\n"],"names":["$f71965bba56cd0dd$export$4293555f241ae35a","on","event","fn","this","_callbacks","push","emit","args","forEach","cb","apply","off","arguments","length","callbacks","i","splice","constructor","$f71965bba56cd0dd$export$e7b0ac011bb776c6","match","path","params","m","_regex","exec","key","keys","val","decodeURIComponent","_params","name","_pathParse","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","$f71965bba56cd0dd$export$55185c17a0fcbe46","static","handler","default","route","force","navigate","start","hash","handle","_routes","window","location","_onHashChange","substring","super","addEventListener","attachEvent","$299ce71cb2e32cec$var$print","console","log","out","document","getElementById","innerHTML","id","uid","aid"],"version":3,"file":"router_demo.89ab1681.js.map"}
1
+ {"mappings":"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","sources":["src/router.ts","demo/router_demo.ts"],"sourcesContent":["// 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 route(path: string, handler: Function): Router {\n Router.default.route(path, handler);\n return Router.default;\n }\n\n static navigate(path: string, force = false): Router {\n Router.default.navigate(path, force);\n return Router.default;\n }\n\n static start(): Router {\n Router.default.start();\n return Router.default;\n }\n\n static hash(): string {\n return Router.default.hash();\n }\n\n static handle(hash: string): Router {\n return Router.default.handle(hash);\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, force = false): this {\n const hash = this.hash();\n window.location.hash = path;\n if (force && hash === path) {\n this.handle(path);\n }\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(hash: string): this {\n for (const route of this._routes) {\n const params: string[] = [];\n if (route.match(hash, 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","import { Router } from \"../src/router\";\n\nRouter\n // #users/123\n .route(\"users/:id\", (id: string) => {\n print(\"users/:id |\", id);\n })\n // #users/123/account/321\n .route(\"users/:uid/account/:aid\", (uid: string, aid: string) => {\n print(\"users/123/account/321 |\", uid, aid);\n })\n // #users\n .route(\"users\", (path: string) => {\n print(\"users |\", path);\n })\n // #users/foo/bar\n .route(\"users/*\", (path: string) => {\n print(\"users/* |\", path);\n })\n // #all/paths\n .route(\"*\", (path: string) => {\n print(\"* |\", path);\n });\n\nRouter.start();\n\nRouter.navigate(\"users/987\");\n\nfunction print(...args: [any?, ...any[]]) {\n console.log.apply(console, args);\n const out = document.getElementById(\"output\");\n out && (out.innerHTML += \"<br>\" + args.join(\" \"));\n}\n"],"names":["$f71965bba56cd0dd$export$4293555f241ae35a","on","event","fn","this","_callbacks","push","emit","args","forEach","cb","apply","off","arguments","length","callbacks","i","splice","constructor","$f71965bba56cd0dd$export$e7b0ac011bb776c6","match","path","params","m","_regex","exec","key","keys","val","decodeURIComponent","_params","name","_pathParse","sensitive","strict","RegExp","Array","join","concat","replace","_","slash","format","capture","optional","$f71965bba56cd0dd$export$55185c17a0fcbe46","static","handler","default","route","force","navigate","start","hash","handle","_routes","window","location","_onHashChange","substring","super","addEventListener","attachEvent","$299ce71cb2e32cec$var$print","console","log","out","document","getElementById","innerHTML","id","uid","aid"],"version":3,"file":"router_demo.89ab1681.js.map"}
@@ -14,5 +14,5 @@ r.version="2.29.4",i(qn),r.fn=us,r.min=Xn,r.max=er,r.now=tr,r.utc=m,r.unix=ls,r.
14
14
  * license : MIT
15
15
  * http://adamwdraper.github.com/Numeral-js/
16
16
  */
17
- !function(t,n){"function"==typeof define&&define.amd?define(n):e.exports?e.exports=n():t.numeral=n()}(e.exports,(function(){var e,t,n,r,i,s={},a={},o={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},u={currentLocale:o.currentLocale,zeroFormat:o.zeroFormat,nullFormat:o.nullFormat,defaultFormat:o.defaultFormat,scalePercentBy100:o.scalePercentBy100};function l(e,t){this._input=e,this._value=t}return(e=function(n){var r,i,a,o;if(e.isNumeral(n))r=n.value();else if(0===n||void 0===n)r=0;else if(null===n||t.isNaN(n))r=null;else if("string"==typeof n)if(u.zeroFormat&&n===u.zeroFormat)r=0;else if(u.nullFormat&&n===u.nullFormat||!n.replace(/[^0-9]+/g,"").length)r=null;else{for(i in s)if((o="function"==typeof s[i].regexps.unformat?s[i].regexps.unformat():s[i].regexps.unformat)&&n.match(o)){a=s[i].unformat;break}r=(a=a||e._.stringToNumber)(n)}else r=Number(n)||null;return new l(n,r)}).version="2.0.6",e.isNumeral=function(e){return e instanceof l},e._=t={numberToFormat:function(t,n,r){var i,s,o,u,l,c,h,d,f=a[e.options.currentLocale],m=!1,_=!1,y="",g=1e12,p=1e9,v=1e6,w="",b=!1;if(t=t||0,o=Math.abs(t),e._.includes(n,"(")?(m=!0,n=n.replace(/[\(|\)]/g,"")):(e._.includes(n,"+")||e._.includes(n,"-"))&&(c=e._.includes(n,"+")?n.indexOf("+"):t<0?n.indexOf("-"):-1,n=n.replace(/[\+|\-]/g,"")),e._.includes(n,"a")&&(s=!!(s=n.match(/a(k|m|b|t)?/))&&s[1],e._.includes(n," a")&&(y=" "),n=n.replace(new RegExp(y+"a[kmbt]?"),""),o>=g&&!s||"t"===s?(y+=f.abbreviations.trillion,t/=g):o<g&&o>=p&&!s||"b"===s?(y+=f.abbreviations.billion,t/=p):o<p&&o>=v&&!s||"m"===s?(y+=f.abbreviations.million,t/=v):(o<v&&o>=1e3&&!s||"k"===s)&&(y+=f.abbreviations.thousand,t/=1e3)),e._.includes(n,"[.]")&&(_=!0,n=n.replace("[.]",".")),u=t.toString().split(".")[0],l=n.split(".")[1],h=n.indexOf(","),i=(n.split(".")[0].split(",")[0].match(/0/g)||[]).length,l?(e._.includes(l,"[")?(l=(l=l.replace("]","")).split("["),w=e._.toFixed(t,l[0].length+l[1].length,r,l[1].length)):w=e._.toFixed(t,l.length,r),u=w.split(".")[0],w=e._.includes(w,".")?f.delimiters.decimal+w.split(".")[1]:"",_&&0===Number(w.slice(1))&&(w="")):u=e._.toFixed(t,0,r),y&&!s&&Number(u)>=1e3&&y!==f.abbreviations.trillion)switch(u=String(Number(u)/1e3),y){case f.abbreviations.thousand:y=f.abbreviations.million;break;case f.abbreviations.million:y=f.abbreviations.billion;break;case f.abbreviations.billion:y=f.abbreviations.trillion}if(e._.includes(u,"-")&&(u=u.slice(1),b=!0),u.length<i)for(var M=i-u.length;M>0;M--)u="0"+u;return h>-1&&(u=u.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f.delimiters.thousands)),0===n.indexOf(".")&&(u=""),d=u+w+(y||""),m?d=(m&&b?"(":"")+d+(m&&b?")":""):c>=0?d=0===c?(b?"-":"+")+d:d+(b?"-":"+"):b&&(d="-"+d),d},stringToNumber:function(e){var t,n,r,i=a[u.currentLocale],s=e,o={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&e===u.zeroFormat)n=0;else if(u.nullFormat&&e===u.nullFormat||!e.replace(/[^0-9]+/g,"").length)n=null;else{for(t in n=1,"."!==i.delimiters.decimal&&(e=e.replace(/\./g,"").replace(i.delimiters.decimal,".")),o)if(r=new RegExp("[^a-zA-Z]"+i.abbreviations[t]+"(?:\\)|(\\"+i.currency.symbol+")?(?:\\))?)?$"),s.match(r)){n*=Math.pow(10,o[t]);break}n*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),n*=Number(e)}return n},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,n){return e.slice(0,n)+t+e.slice(n)},reduce:function(e,t){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof t)throw new TypeError(t+" is not a function");var n,r=Object(e),i=r.length>>>0,s=0;if(3===arguments.length)n=arguments[2];else{for(;s<i&&!(s in r);)s++;if(s>=i)throw new TypeError("Reduce of empty array with no initial value");n=r[s++]}for(;s<i;s++)s in r&&(n=t(n,r[s],s,r));return n},multiplier:function(e){var t=e.toString().split(".");return t.length<2?1:Math.pow(10,t[1].length)},correctionFactor:function(){var e=Array.prototype.slice.call(arguments);return e.reduce((function(e,n){var r=t.multiplier(n);return e>r?e:r}),1)},toFixed:function(e,t,n,r){var i,s,a,o,u=e.toString().split("."),l=t-(r||0);return i=2===u.length?Math.min(Math.max(u[1].length,l),t):l,a=Math.pow(10,i),o=(n(e+"e+"+i)/a).toFixed(i),r>t-i&&(s=new RegExp("\\.?0{1,"+(r-(t-i))+"}$"),o=o.replace(s,"")),o}},e.options=u,e.formats=s,e.locales=a,e.locale=function(e){return e&&(u.currentLocale=e.toLowerCase()),u.currentLocale},e.localeData=function(e){if(!e)return a[u.currentLocale];if(e=e.toLowerCase(),!a[e])throw new Error("Unknown locale : "+e);return a[e]},e.reset=function(){for(var e in o)u[e]=o[e]},e.zeroFormat=function(e){u.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){u.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){u.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,t,n){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=n,n},e.validate=function(t,n){var r,i,s,a,o,u,l,c;if("string"!=typeof t&&(t+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",t)),(t=t.trim()).match(/^\d+$/))return!0;if(""===t)return!1;try{l=e.localeData(n)}catch(t){l=e.localeData(e.locale())}return s=l.currency.symbol,o=l.abbreviations,r=l.delimiters.decimal,i="."===l.delimiters.thousands?"\\.":l.delimiters.thousands,(null===(c=t.match(/^[^\d]+/))||(t=t.substr(1),c[0]===s))&&((null===(c=t.match(/[^\d]+$/))||(t=t.slice(0,-1),c[0]===o.thousand||c[0]===o.million||c[0]===o.billion||c[0]===o.trillion))&&(u=new RegExp(i+"{2}"),!t.match(/[^\d.,]/g)&&(!((a=t.split(r)).length>2)&&(a.length<2?!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u):1===a[0].length?!!a[0].match(/^\d+$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/):!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/)))))},e.fn=l.prototype={clone:function(){return e(this)},format:function(t,n){var r,i,a,o=this._value,l=t||u.defaultFormat;if(n=n||Math.round,0===o&&null!==u.zeroFormat)i=u.zeroFormat;else if(null===o&&null!==u.nullFormat)i=u.nullFormat;else{for(r in s)if(l.match(s[r].regexps.format)){a=s[r].format;break}i=(a=a||e._.numberToFormat)(o,l,n)}return i},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],(function(e,t,r,i){return e+Math.round(n*t)}),0)/n,this},subtract:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],(function(e,t,r,i){return e-Math.round(n*t)}),Math.round(this._value*n))/n,this},multiply:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var s=t.correctionFactor(e,n);return Math.round(e*s)*Math.round(n*s)/Math.round(s*s)}),1),this},divide:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var s=t.correctionFactor(e,n);return Math.round(e*s)/Math.round(n*s)})),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,n,r){var i,s=e._.includes(n," BPS")?" ":"";return t*=1e4,n=n.replace(/\s?BPS/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"BPS"),i=i.join("")):i=i+s+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},i="("+(i=(n={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter((function(e){return n.suffixes.indexOf(e)<0}))).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(i)},format:function(t,i,s){var a,o,u,l=e._.includes(i,"ib")?r:n,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),a=0;a<=l.suffixes.length;a++)if(o=Math.pow(l.base,a),u=Math.pow(l.base,a+1),null===t||0===t||t>=o&&t<u){c+=l.suffixes[a],o>0&&(t/=o);break}return e._.numberToFormat(t,i,s)+c},unformat:function(t){var i,s,a=e._.stringToNumber(t);if(a){for(i=n.suffixes.length-1;i>=0;i--){if(e._.includes(t,n.suffixes[i])){s=Math.pow(n.base,i);break}if(e._.includes(t,r.suffixes[i])){s=Math.pow(r.base,i);break}}a*=s||1}return a}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,n,r){var i,s,a=e.locales[e.options.currentLocale],o={before:n.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:n.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(n=n.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,n,r),t>=0?(o.before=o.before.replace(/[\-\(]/,""),o.after=o.after.replace(/[\-\)]/,"")):t<0&&!e._.includes(o.before,"-")&&!e._.includes(o.before,"(")&&(o.before="-"+o.before),s=0;s<o.before.length;s++)switch(o.before[s]){case"$":i=e._.insert(i,a.currency.symbol,s);break;case" ":i=e._.insert(i," ",s+a.currency.symbol.length-1)}for(s=o.after.length-1;s>=0;s--)switch(o.after[s]){case"$":i=s===o.after.length-1?i+a.currency.symbol:e._.insert(i,a.currency.symbol,-(o.after.length-(1+s)));break;case" ":i=s===o.after.length-1?i+" ":e._.insert(i," ",-(o.after.length-(1+s)+a.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,n,r){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return n=n.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),n,r)+"e"+i[1]},unformat:function(t){var n=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),r=Number(n[0]),i=Number(n[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([r,Math.pow(10,i)],(function(t,n,r,i){var s=e._.correctionFactor(t,n);return t*s*(n*s)/(s*s)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,n,r){var i=e.locales[e.options.currentLocale],s=e._.includes(n," o")?" ":"";return n=n.replace(/\s?o/,""),s+=i.ordinal(t),e._.numberToFormat(t,n,r)+s}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,n,r){var i,s=e._.includes(n," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),n=n.replace(/\s?\%/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"%"),i=i.join("")):i=i+s+"%",i},unformat:function(t){var n=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*n:n}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,n){var r=Math.floor(e/60/60),i=Math.floor((e-3600*r)/60),s=Math.round(e-3600*r-60*i);return r+":"+(i<10?"0"+i:i)+":"+(s<10?"0"+s:s)},unformat:function(e){var t=e.split(":"),n=0;return 3===t.length?(n+=3600*Number(t[0]),n+=60*Number(t[1]),n+=Number(t[2])):2===t.length&&(n+=60*Number(t[0]),n+=Number(t[1])),Number(n)}}),e}))})),r.register("5K60K",(function(e,t){!function(t,n){"function"==typeof define&&define.amd?define(["../numeral"],n):e.exports?n(r("aGNA6")):n(t.numeral)}(e.exports,(function(e){e.register("locale","sk",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}})}))}));
18
- //# sourceMappingURL=validators_demo.252e13a6.js.map
17
+ !function(t,n){"function"==typeof define&&define.amd?define(n):e.exports?e.exports=n():t.numeral=n()}(e.exports,(function(){var e,t,n,r,i,s={},a={},o={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},u={currentLocale:o.currentLocale,zeroFormat:o.zeroFormat,nullFormat:o.nullFormat,defaultFormat:o.defaultFormat,scalePercentBy100:o.scalePercentBy100};function l(e,t){this._input=e,this._value=t}return(e=function(n){var r,i,a,o;if(e.isNumeral(n))r=n.value();else if(0===n||void 0===n)r=0;else if(null===n||t.isNaN(n))r=null;else if("string"==typeof n)if(u.zeroFormat&&n===u.zeroFormat)r=0;else if(u.nullFormat&&n===u.nullFormat||!n.replace(/[^0-9]+/g,"").length)r=null;else{for(i in s)if((o="function"==typeof s[i].regexps.unformat?s[i].regexps.unformat():s[i].regexps.unformat)&&n.match(o)){a=s[i].unformat;break}r=(a=a||e._.stringToNumber)(n)}else r=Number(n)||null;return new l(n,r)}).version="2.0.6",e.isNumeral=function(e){return e instanceof l},e._=t={numberToFormat:function(t,n,r){var i,s,o,u,l,c,h,d,f=a[e.options.currentLocale],m=!1,_=!1,y="",g=1e12,p=1e9,v=1e6,w="",b=!1;if(t=t||0,o=Math.abs(t),e._.includes(n,"(")?(m=!0,n=n.replace(/[\(|\)]/g,"")):(e._.includes(n,"+")||e._.includes(n,"-"))&&(c=e._.includes(n,"+")?n.indexOf("+"):t<0?n.indexOf("-"):-1,n=n.replace(/[\+|\-]/g,"")),e._.includes(n,"a")&&(s=!!(s=n.match(/a(k|m|b|t)?/))&&s[1],e._.includes(n," a")&&(y=" "),n=n.replace(new RegExp(y+"a[kmbt]?"),""),o>=g&&!s||"t"===s?(y+=f.abbreviations.trillion,t/=g):o<g&&o>=p&&!s||"b"===s?(y+=f.abbreviations.billion,t/=p):o<p&&o>=v&&!s||"m"===s?(y+=f.abbreviations.million,t/=v):(o<v&&o>=1e3&&!s||"k"===s)&&(y+=f.abbreviations.thousand,t/=1e3)),e._.includes(n,"[.]")&&(_=!0,n=n.replace("[.]",".")),u=t.toString().split(".")[0],l=n.split(".")[1],h=n.indexOf(","),i=(n.split(".")[0].split(",")[0].match(/0/g)||[]).length,l?(e._.includes(l,"[")?(l=(l=l.replace("]","")).split("["),w=e._.toFixed(t,l[0].length+l[1].length,r,l[1].length)):w=e._.toFixed(t,l.length,r),u=w.split(".")[0],w=e._.includes(w,".")?f.delimiters.decimal+w.split(".")[1]:"",_&&0===Number(w.slice(1))&&(w="")):u=e._.toFixed(t,0,r),y&&!s&&Number(u)>=1e3&&y!==f.abbreviations.trillion)switch(u=String(Number(u)/1e3),y){case f.abbreviations.thousand:y=f.abbreviations.million;break;case f.abbreviations.million:y=f.abbreviations.billion;break;case f.abbreviations.billion:y=f.abbreviations.trillion}if(e._.includes(u,"-")&&(u=u.slice(1),b=!0),u.length<i)for(var M=i-u.length;M>0;M--)u="0"+u;return h>-1&&(u=u.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f.delimiters.thousands)),0===n.indexOf(".")&&(u=""),d=u+w+(y||""),m?d=(m&&b?"(":"")+d+(m&&b?")":""):c>=0?d=0===c?(b?"-":"+")+d:d+(b?"-":"+"):b&&(d="-"+d),d},stringToNumber:function(e){var t,n,r,i=a[u.currentLocale],s=e,o={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&e===u.zeroFormat)n=0;else if(u.nullFormat&&e===u.nullFormat||!e.replace(/[^0-9]+/g,"").length)n=null;else{for(t in n=1,"."!==i.delimiters.decimal&&(e=e.replace(/\./g,"").replace(i.delimiters.decimal,".")),o)if(r=new RegExp("[^a-zA-Z]"+i.abbreviations[t]+"(?:\\)|(\\"+i.currency.symbol+")?(?:\\))?)?$"),s.match(r)){n*=Math.pow(10,o[t]);break}n*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),n*=Number(e)}return n},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,n){return e.slice(0,n)+t+e.slice(n)},reduce:function(e,t){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof t)throw new TypeError(t+" is not a function");var n,r=Object(e),i=r.length>>>0,s=0;if(3===arguments.length)n=arguments[2];else{for(;s<i&&!(s in r);)s++;if(s>=i)throw new TypeError("Reduce of empty array with no initial value");n=r[s++]}for(;s<i;s++)s in r&&(n=t(n,r[s],s,r));return n},multiplier:function(e){var t=e.toString().split(".");return t.length<2?1:Math.pow(10,t[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce((function(e,n){var r=t.multiplier(n);return e>r?e:r}),1)},toFixed:function(e,t,n,r){var i,s,a,o,u=e.toString().split("."),l=t-(r||0);return i=2===u.length?Math.min(Math.max(u[1].length,l),t):l,a=Math.pow(10,i),o=(n(e+"e+"+i)/a).toFixed(i),r>t-i&&(s=new RegExp("\\.?0{1,"+(r-(t-i))+"}$"),o=o.replace(s,"")),o}},e.options=u,e.formats=s,e.locales=a,e.locale=function(e){return e&&(u.currentLocale=e.toLowerCase()),u.currentLocale},e.localeData=function(e){if(!e)return a[u.currentLocale];if(e=e.toLowerCase(),!a[e])throw new Error("Unknown locale : "+e);return a[e]},e.reset=function(){for(var e in o)u[e]=o[e]},e.zeroFormat=function(e){u.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){u.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){u.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,t,n){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=n,n},e.validate=function(t,n){var r,i,s,a,o,u,l,c;if("string"!=typeof t&&(t+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",t)),(t=t.trim()).match(/^\d+$/))return!0;if(""===t)return!1;try{l=e.localeData(n)}catch(t){l=e.localeData(e.locale())}return s=l.currency.symbol,o=l.abbreviations,r=l.delimiters.decimal,i="."===l.delimiters.thousands?"\\.":l.delimiters.thousands,(null===(c=t.match(/^[^\d]+/))||(t=t.substr(1),c[0]===s))&&((null===(c=t.match(/[^\d]+$/))||(t=t.slice(0,-1),c[0]===o.thousand||c[0]===o.million||c[0]===o.billion||c[0]===o.trillion))&&(u=new RegExp(i+"{2}"),!t.match(/[^\d.,]/g)&&(!((a=t.split(r)).length>2)&&(a.length<2?!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u):1===a[0].length?!!a[0].match(/^\d+$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/):!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/)))))},e.fn=l.prototype={clone:function(){return e(this)},format:function(t,n){var r,i,a,o=this._value,l=t||u.defaultFormat;if(n=n||Math.round,0===o&&null!==u.zeroFormat)i=u.zeroFormat;else if(null===o&&null!==u.nullFormat)i=u.nullFormat;else{for(r in s)if(l.match(s[r].regexps.format)){a=s[r].format;break}i=(a=a||e._.numberToFormat)(o,l,n)}return i},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],(function(e,t,r,i){return e+Math.round(n*t)}),0)/n,this},subtract:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],(function(e,t,r,i){return e-Math.round(n*t)}),Math.round(this._value*n))/n,this},multiply:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var s=t.correctionFactor(e,n);return Math.round(e*s)*Math.round(n*s)/Math.round(s*s)}),1),this},divide:function(e){return this._value=t.reduce([this._value,e],(function(e,n,r,i){var s=t.correctionFactor(e,n);return Math.round(e*s)/Math.round(n*s)})),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,n,r){var i,s=e._.includes(n," BPS")?" ":"";return t*=1e4,n=n.replace(/\s?BPS/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"BPS"),i=i.join("")):i=i+s+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},i="("+(i=(n={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter((function(e){return n.suffixes.indexOf(e)<0}))).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(i)},format:function(t,i,s){var a,o,u,l=e._.includes(i,"ib")?r:n,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),a=0;a<=l.suffixes.length;a++)if(o=Math.pow(l.base,a),u=Math.pow(l.base,a+1),null===t||0===t||t>=o&&t<u){c+=l.suffixes[a],o>0&&(t/=o);break}return e._.numberToFormat(t,i,s)+c},unformat:function(t){var i,s,a=e._.stringToNumber(t);if(a){for(i=n.suffixes.length-1;i>=0;i--){if(e._.includes(t,n.suffixes[i])){s=Math.pow(n.base,i);break}if(e._.includes(t,r.suffixes[i])){s=Math.pow(r.base,i);break}}a*=s||1}return a}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,n,r){var i,s,a=e.locales[e.options.currentLocale],o={before:n.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:n.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(n=n.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,n,r),t>=0?(o.before=o.before.replace(/[\-\(]/,""),o.after=o.after.replace(/[\-\)]/,"")):t<0&&!e._.includes(o.before,"-")&&!e._.includes(o.before,"(")&&(o.before="-"+o.before),s=0;s<o.before.length;s++)switch(o.before[s]){case"$":i=e._.insert(i,a.currency.symbol,s);break;case" ":i=e._.insert(i," ",s+a.currency.symbol.length-1)}for(s=o.after.length-1;s>=0;s--)switch(o.after[s]){case"$":i=s===o.after.length-1?i+a.currency.symbol:e._.insert(i,a.currency.symbol,-(o.after.length-(1+s)));break;case" ":i=s===o.after.length-1?i+" ":e._.insert(i," ",-(o.after.length-(1+s)+a.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,n,r){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return n=n.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),n,r)+"e"+i[1]},unformat:function(t){var n=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),r=Number(n[0]),i=Number(n[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([r,Math.pow(10,i)],(function(t,n,r,i){var s=e._.correctionFactor(t,n);return t*s*(n*s)/(s*s)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,n,r){var i=e.locales[e.options.currentLocale],s=e._.includes(n," o")?" ":"";return n=n.replace(/\s?o/,""),s+=i.ordinal(t),e._.numberToFormat(t,n,r)+s}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,n,r){var i,s=e._.includes(n," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),n=n.replace(/\s?\%/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"%"),i=i.join("")):i=i+s+"%",i},unformat:function(t){var n=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*n:n}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,n){var r=Math.floor(e/60/60),i=Math.floor((e-3600*r)/60),s=Math.round(e-3600*r-60*i);return r+":"+(i<10?"0"+i:i)+":"+(s<10?"0"+s:s)},unformat:function(e){var t=e.split(":"),n=0;return 3===t.length?(n+=3600*Number(t[0]),n+=60*Number(t[1]),n+=Number(t[2])):2===t.length&&(n+=60*Number(t[0]),n+=Number(t[1])),Number(n)}}),e}))})),r.register("5K60K",(function(e,t){!function(t,n){"function"==typeof define&&define.amd?define(["../numeral"],n):e.exports?n(r("aGNA6")):n(t.numeral)}(e.exports,(function(e){e.register("locale","sk",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}})}))}));
18
+ //# sourceMappingURL=validators_demo.90ff6001.js.map