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
- {"mappings":"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","sources":["src/http.ts"],"sourcesContent":["\nfunction isArray(obj: any) {\n return Array.isArray ?\n Array.isArray(obj) :\n (obj == null || obj === undefined || \"boolean|number|string|function|xml\".indexOf(typeof obj) !== -1) ?\n false :\n (typeof obj.length === \"number\" && !(obj.propertyIsEnumerable(\"length\")));\n}\n\nexport function decodeUrlQuery(queryStr: string): { [key: string]: string } {\n const query: { [key: string]: string } = {};\n if (queryStr) {\n const a = queryStr.substr(1).split(\"&\");\n for (const item of a) {\n const b = item.split(\"=\");\n query[decodeURIComponent(b[0])] = decodeURIComponent(b[1] ?? \"\");\n }\n }\n return query;\n}\n\nexport function encodeUrlQuery(query: any): string {\n const key_value_pairs: any[] = [];\n for (const key in query) {\n if (query.hasOwnProperty(key)) {\n const value = query[key];\n if (typeof value === \"object\") {\n if (isArray(value)) {\n for (const item of value) {\n key_value_pairs.push(\n [key, typeof item === \"object\" ?\n JSON.stringify(item) : item]);\n }\n } else {\n key_value_pairs.push([key, JSON.stringify(value)]);\n }\n } else {\n key_value_pairs.push([key, value]);\n }\n }\n }\n for (let j = 0, pair: any; pair = key_value_pairs[j++];) {\n key_value_pairs[j - 1] = `${encodeURIComponent(pair[0])}=${encodeURIComponent(pair[1])}`;\n }\n return key_value_pairs.join(\"&\");\n}\n\n\nexport class HttpResponse {\n\n private _xhr: XMLHttpRequest;\n\n constructor(xhr: XMLHttpRequest) {\n this._xhr = xhr;\n }\n\n getHeaders(): string {\n return this._xhr.getAllResponseHeaders();\n }\n\n getHeader(header: string): string | null {\n return this._xhr.getResponseHeader(header);\n }\n\n getBody(): any {\n return this._xhr.response;\n }\n\n getType(): string {\n return this._xhr.responseType;\n }\n\n getContentType(): string | null {\n return this.getHeader(\"Content-Type\");\n }\n\n getText(): string {\n return this._xhr.responseText;\n }\n\n getJson(): any {\n return JSON.parse(this._xhr.responseText);\n }\n\n getXml(): Document | null {\n return this._xhr.responseXML;\n }\n\n}\n\n\nexport interface HttpProgress {\n loaded: number;\n total?: number;\n}\n\nexport type HttpMethod =\n | \"GET\"\n | \"POST\"\n | \"PUT\"\n | \"DELETE\"\n | \"PATCH\"\n | \"HEAD\"\n | \"CONNECT\"\n | \"OPTIONS\"\n | \"TRACE\";\n\nexport type HttpResponseType =\n | \"arraybuffer\"\n | \"blob\"\n | \"document\"\n | \"json\"\n | \"text\";\n\nexport const authBasic = (login: string, password: string) => (req: HttpRequest) => {\n req.headers({ \"Authorization\": \"Basic \" + btoa(login + \":\" + password) });\n};\n\nexport const authJwt = (jwt: string) => (req: HttpRequest) => {\n req.headers({ \"Authorization\": \"Bearer \" + jwt });\n};\n\nexport class HttpRequest {\n\n static readonly xhrs: HttpRequest[] = [];\n\n static onRequest?: (request: HttpRequest) => void;\n static onResponse?: (response: HttpResponse) => void;\n static onError?: (e: Event) => void;\n\n static abortAll() {\n HttpRequest.xhrs.forEach(x => x.abort());\n HttpRequest.xhrs.length = 0;\n }\n\n private _url?: string;\n private _query?: Object;\n private _method: HttpMethod = \"GET\";\n private _headers: { [key: string]: string } = {};\n private _timeout?: number;\n private _responseType?: HttpResponseType;\n\n private _onProgress?: (progress: HttpProgress) => void;\n private _onResponse?: (response: HttpResponse) => void;\n private _onError?: (e?: Event) => void;\n\n private _xhr?: XMLHttpRequest;\n private _async: boolean = true;\n private _noCache: boolean = false;\n\n get(url: string, query?: Object): this {\n this.method(\"GET\");\n this.url(url, query);\n return this;\n }\n\n post(url: string, query?: Object): this {\n this.method(\"POST\");\n this.url(url, query);\n return this;\n }\n\n put(url: string, query?: Object): this {\n this.method(\"PUT\");\n this.url(url, query);\n return this;\n }\n\n patch(url: string, query?: Object): this {\n this.method(\"PATCH\");\n this.url(url, query);\n return this;\n }\n\n del(url: string, query?: Object): this {\n this.method(\"DELETE\");\n this.url(url, query);\n return this;\n }\n\n url(url: string, query?: Object): this {\n this._url = url;\n this._query = query;\n return this;\n }\n\n method(method: HttpMethod): this {\n this._method = method;\n return this;\n }\n\n headers(headers: { [key: string]: string }): this {\n for (const key in headers) {\n if (headers.hasOwnProperty(key)) {\n this._headers[key] = headers[key];\n }\n }\n return this;\n }\n\n use(middleware: (req: HttpRequest) => void): this {\n middleware(this);\n return this;\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n responseType(type: HttpResponseType): this {\n this._responseType = type;\n return this;\n }\n\n onProgress(onProgress: (progress: HttpProgress) => void): this {\n this._onProgress = onProgress;\n return this;\n }\n\n onResponse(onResponse: (response: HttpResponse) => void): this {\n this._onResponse = onResponse;\n return this;\n }\n\n onError(onError: (e?: Event) => void): this {\n this._onError = onError;\n return this;\n }\n\n async(async: boolean = true): this {\n this._async = async;\n return this;\n }\n\n noCache(noCache: boolean = true): this {\n this._noCache = noCache;\n return this;\n }\n\n abort(): this {\n if (this._xhr) {\n this._xhr.abort();\n }\n return this;\n }\n\n send(data?: any, contentType?: string): void {\n if (contentType) {\n this._headers[\"Content-Type\"] = contentType;\n }\n // this._headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n this._send(data, this._headers);\n }\n\n sendPromise(data?: any, contentType?: string): Promise<HttpResponse> {\n return new Promise<HttpResponse>((res, rej) => {\n this._onResponse = res;\n this._onError = rej;\n if (contentType) {\n this._headers[\"Content-Type\"] = contentType;\n }\n this._send(data, this._headers);\n });\n }\n\n private _send(data?: any, headers?: { [key: string]: string }): void {\n const xhr = new XMLHttpRequest();\n this._xhr = xhr;\n\n let url = this._url ?? \"\";\n if (this._query) {\n const query = encodeUrlQuery(this._query);\n url = query ? `${url}?${query}` : url;\n }\n if (this._noCache) {\n url += (/\\?/.test(url) ? \"&\" : \"?\") + new Date().getTime();\n }\n // console.debug(\"HttpRequest: \" + this._method + \" \" + url, data);\n\n if (this._responseType) {\n this._xhr.responseType = this._responseType;\n }\n\n if (\"onprogress\" in xhr) {\n if (this._onProgress) {\n const onprogress = (e: ProgressEvent) => {\n this._onProgress!({\n loaded: e.loaded,\n total: e.lengthComputable ? e.total : undefined\n });\n };\n xhr.upload.onprogress = onprogress;\n xhr.onprogress = onprogress;\n }\n }\n\n HttpRequest.xhrs.push(this);\n\n xhr.open(this._method, url, this._async);\n\n for (const header in headers) {\n if (headers.hasOwnProperty(header)) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n\n if (this._timeout) {\n xhr.timeout = this._timeout;\n }\n\n if (\"ontimeout\" in xhr) {\n if (this._onError || HttpRequest.onError) {\n xhr.ontimeout = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n }\n\n if (\"onabort\" in xhr) {\n if (this._onError || HttpRequest.onError) {\n xhr.onabort = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n }\n\n if (this._onError || HttpRequest.onError) {\n xhr.onerror = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n\n if (this._async) {\n if (\"onload\" in xhr) {\n xhr.onload = (e: ProgressEvent) => {\n (HttpRequest as any).xhrs = HttpRequest.xhrs.filter(x => this !== x);\n if (xhr.status >= 200 && xhr.status < 300) {\n const respone = new HttpResponse(xhr);\n if (HttpRequest.onResponse) {\n HttpRequest.onResponse(respone);\n }\n if (this._onResponse) {\n this._onResponse(respone);\n }\n } else {\n if (HttpRequest.onError) {\n HttpRequest.onError(e);\n }\n if (this._onError) {\n this._onError(e);\n }\n }\n };\n } else {\n // legacy\n (xhr as any).onreadystatechange = (e: Event) => {\n switch ((xhr as any).readyState) {\n // 0 UNSENT Client has been created. open() not called yet.\n // 1 OPENED open() has been called.\n // 2 HEADERS_RECEIVED send() has been called, and headers and status are available.\n // 3 LOADING Downloading; responseText holds partial data.\n // 4 DONE The operation is complete.\n // case 3: // loading\n // if (this._onProgress) {\n // this._onProgress(new HttpResponse(httpRequest));\n // }\n // break;\n case 4: // done\n (HttpRequest as any).xhrs = HttpRequest.xhrs.filter(x => this !== x);\n // const httpStatusOk = xhr.status >= 200 && xhr.status < 300;\n // schemes other than http/https (file, ftp)\n // const fileFtpStatusOk = xhr.status === 0 && !this._url.match(/^https?:\\/\\//);\n // const fileFtpStatusOk = xhr.status === 0 && !xhr.responseURL.match(/^https?:\\/\\//);\n // if (httpStatusOk || fileFtpStatusOk) {\n if ((xhr as any).status >= 200 && (xhr as any).status < 300) {\n const respone = new HttpResponse(xhr);\n if (HttpRequest.onResponse) {\n HttpRequest.onResponse(respone);\n }\n if (this._onResponse) {\n this._onResponse(respone);\n }\n } else {\n if (HttpRequest.onError) {\n HttpRequest.onError(e);\n }\n if (this._onError) {\n this._onError(e);\n }\n }\n break;\n default:\n }\n };\n }\n\n if (data !== undefined) {\n if (\n typeof data === \"string\" ||\n data instanceof FormData ||\n data instanceof Blob\n ) {\n xhr.send(data);\n } else {\n if (!this._headers[\"Content-Type\"]) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n xhr.send(JSON.stringify(data));\n }\n } else {\n xhr.send();\n }\n } else {\n if (data) {\n const payload = (typeof data === \"string\") ? data : JSON.stringify(data);\n xhr.send(payload);\n } else {\n xhr.send();\n }\n return JSON.parse(xhr.responseText);\n }\n }\n\n}\n\n\nexport function httpGet(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"GET\").url(url, query);\n}\n\nexport function httpPost(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"POST\").url(url, query);\n}\n\nexport function httpPut(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"PUT\").url(url, query);\n}\n\nexport function httpPatch(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"PATCH\").url(url, query);\n}\n\nexport function httpDelete(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"DELETE\").url(url, query);\n}\n\nexport function httpOnRequest(onRequest: (req: HttpRequest) => void): void {\n HttpRequest.onRequest = onRequest;\n}\n\nexport function httpOnResponse(onResponse: (req: HttpResponse) => void): void {\n HttpRequest.onResponse = onResponse;\n}\n\nexport function httpOnError(onError: (req: Event) => void): void {\n HttpRequest.onError = onError;\n}\n\nexport const http = {\n get: httpGet,\n post: httpPost,\n put: httpPut,\n patch: httpPatch,\n delete: httpDelete,\n onRequest: httpOnRequest,\n onResponse: httpOnResponse,\n onError: httpOnError\n};\n"],"names":[],"version":3,"file":"http.js.map"}
1
+ {"mappings":"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","sources":["src/http.ts"],"sourcesContent":["\nfunction isArray(obj: any) {\n return Array.isArray ?\n Array.isArray(obj) :\n (obj == null || obj === undefined || \"boolean|number|string|function|xml\".indexOf(typeof obj) !== -1) ?\n false :\n (typeof obj.length === \"number\" && !(obj.propertyIsEnumerable(\"length\")));\n}\n\nexport function decodeUrlQuery(queryStr: string): { [key: string]: string } {\n const query: { [key: string]: string } = {};\n if (queryStr) {\n const a = queryStr.substr(1).split(\"&\");\n for (const item of a) {\n const b = item.split(\"=\");\n query[decodeURIComponent(b[0])] = decodeURIComponent(b[1] ?? \"\");\n }\n }\n return query;\n}\n\nexport function encodeUrlQuery(query: any): string {\n const key_value_pairs: any[] = [];\n for (const key in query) {\n if (query.hasOwnProperty(key)) {\n const value = query[key];\n if (typeof value === \"object\") {\n if (isArray(value)) {\n for (const item of value) {\n key_value_pairs.push(\n [key, typeof item === \"object\" ?\n JSON.stringify(item) : item]);\n }\n } else {\n key_value_pairs.push([key, JSON.stringify(value)]);\n }\n } else {\n key_value_pairs.push([key, value]);\n }\n }\n }\n for (let j = 0, pair: any; pair = key_value_pairs[j++];) {\n key_value_pairs[j - 1] = `${encodeURIComponent(pair[0])}=${encodeURIComponent(pair[1])}`;\n }\n return key_value_pairs.join(\"&\");\n}\n\n\nexport class HttpResponse {\n\n private _xhr: XMLHttpRequest;\n\n constructor(xhr: XMLHttpRequest) {\n this._xhr = xhr;\n }\n\n getHeaders(): string {\n return this._xhr.getAllResponseHeaders();\n }\n\n getHeader(header: string): string | null {\n return this._xhr.getResponseHeader(header);\n }\n\n getBody(): any {\n return this._xhr.response;\n }\n\n getType(): string {\n return this._xhr.responseType;\n }\n\n getContentType(): string | null {\n return this.getHeader(\"Content-Type\");\n }\n\n getText(): string {\n return this._xhr.responseText;\n }\n\n getJson(): any {\n return JSON.parse(this._xhr.responseText);\n }\n\n getXml(): Document | null {\n return this._xhr.responseXML;\n }\n\n}\n\n\nexport interface HttpProgress {\n loaded: number;\n total?: number;\n}\n\nexport type HttpMethod =\n | \"GET\"\n | \"POST\"\n | \"PUT\"\n | \"DELETE\"\n | \"PATCH\"\n | \"HEAD\"\n | \"CONNECT\"\n | \"OPTIONS\"\n | \"TRACE\";\n\nexport type HttpResponseType =\n | \"arraybuffer\"\n | \"blob\"\n | \"document\"\n | \"json\"\n | \"text\";\n\nexport const authBasic = (login: string, password: string) => (req: HttpRequest) => {\n req.headers({ \"Authorization\": \"Basic \" + btoa(login + \":\" + password) });\n};\n\nexport const authJwt = (jwt: string) => (req: HttpRequest) => {\n req.headers({ \"Authorization\": \"Bearer \" + jwt });\n};\n\nexport class HttpRequest {\n\n static readonly xhrs: HttpRequest[] = [];\n\n static onRequest?: (request: HttpRequest) => void;\n static onResponse?: (response: HttpResponse) => void;\n static onError?: (e: Event) => void;\n\n static abortAll() {\n HttpRequest.xhrs.forEach(x => x.abort());\n HttpRequest.xhrs.length = 0;\n }\n\n private _url?: string;\n private _query?: Object;\n private _method: HttpMethod = \"GET\";\n private _headers: { [key: string]: string } = {};\n private _timeout?: number;\n private _responseType?: HttpResponseType;\n\n private _onProgress?: (progress: HttpProgress) => void;\n private _onResponse?: (response: HttpResponse) => void;\n private _onError?: (e?: Event) => void;\n\n private _xhr?: XMLHttpRequest;\n private _async: boolean = true;\n private _noCache: boolean = false;\n\n get(url: string, query?: Object): this {\n this.method(\"GET\");\n this.url(url, query);\n return this;\n }\n\n post(url: string, query?: Object): this {\n this.method(\"POST\");\n this.url(url, query);\n return this;\n }\n\n put(url: string, query?: Object): this {\n this.method(\"PUT\");\n this.url(url, query);\n return this;\n }\n\n patch(url: string, query?: Object): this {\n this.method(\"PATCH\");\n this.url(url, query);\n return this;\n }\n\n del(url: string, query?: Object): this {\n this.method(\"DELETE\");\n this.url(url, query);\n return this;\n }\n\n url(url: string, query?: Object): this {\n this._url = url;\n this._query = query;\n return this;\n }\n\n method(method: HttpMethod): this {\n this._method = method;\n return this;\n }\n\n headers(headers: { [key: string]: string }): this {\n for (const key in headers) {\n if (headers.hasOwnProperty(key)) {\n this._headers[key] = headers[key];\n }\n }\n return this;\n }\n\n use(middleware: (req: HttpRequest) => void): this {\n middleware(this);\n return this;\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n responseType(type: HttpResponseType): this {\n this._responseType = type;\n return this;\n }\n\n onProgress(onProgress: (progress: HttpProgress) => void): this {\n this._onProgress = onProgress;\n return this;\n }\n\n onResponse(onResponse: (response: HttpResponse) => void): this {\n this._onResponse = onResponse;\n return this;\n }\n\n onError(onError: (e?: Event) => void): this {\n this._onError = onError;\n return this;\n }\n\n async(async: boolean = true): this {\n this._async = async;\n return this;\n }\n\n noCache(noCache: boolean = true): this {\n this._noCache = noCache;\n return this;\n }\n\n abort(): this {\n if (this._xhr) {\n this._xhr.abort();\n }\n return this;\n }\n\n send(data?: any, contentType?: string): void {\n if (contentType) {\n this._headers[\"Content-Type\"] = contentType;\n }\n // this._headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n this._send(data, this._headers);\n }\n\n sendPromise(data?: any, contentType?: string): Promise<HttpResponse> {\n return new Promise<HttpResponse>((res, rej) => {\n this._onResponse = res;\n this._onError = rej;\n if (contentType) {\n this._headers[\"Content-Type\"] = contentType;\n }\n this._send(data, this._headers);\n });\n }\n\n private _send(data?: any, headers?: { [key: string]: string }): void {\n const xhr = new XMLHttpRequest();\n this._xhr = xhr;\n\n let url = this._url ?? \"\";\n if (this._query) {\n const query = encodeUrlQuery(this._query);\n url = query ? `${url}?${query}` : url;\n }\n if (this._noCache) {\n url += (/\\?/.test(url) ? \"&\" : \"?\") + new Date().getTime();\n }\n // console.debug(\"HttpRequest: \" + this._method + \" \" + url, data);\n\n if (this._responseType) {\n this._xhr.responseType = this._responseType;\n }\n\n if (\"onprogress\" in xhr) {\n if (this._onProgress) {\n const onprogress = (e: ProgressEvent) => {\n this._onProgress!({\n loaded: e.loaded,\n total: e.lengthComputable ? e.total : undefined\n });\n };\n xhr.upload.onprogress = onprogress;\n xhr.onprogress = onprogress;\n }\n }\n\n HttpRequest.xhrs.push(this);\n\n xhr.open(this._method, url, this._async);\n\n for (const header in headers) {\n if (headers.hasOwnProperty(header)) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n\n if (this._timeout) {\n xhr.timeout = this._timeout;\n }\n\n if (\"ontimeout\" in xhr) {\n if (this._onError || HttpRequest.onError) {\n xhr.ontimeout = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n }\n\n if (\"onabort\" in xhr) {\n if (this._onError || HttpRequest.onError) {\n xhr.onabort = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n }\n\n if (this._onError || HttpRequest.onError) {\n xhr.onerror = (e: ProgressEvent) => {\n HttpRequest.onError && HttpRequest.onError(e);\n this._onError && this._onError(e);\n };\n }\n\n if (this._async) {\n if (\"onload\" in xhr) {\n xhr.onload = (e: ProgressEvent) => {\n (HttpRequest as any).xhrs = HttpRequest.xhrs.filter(x => this !== x);\n if (xhr.status >= 200 && xhr.status < 300) {\n const respone = new HttpResponse(xhr);\n if (HttpRequest.onResponse) {\n HttpRequest.onResponse(respone);\n }\n if (this._onResponse) {\n this._onResponse(respone);\n }\n } else {\n if (HttpRequest.onError) {\n HttpRequest.onError(e);\n }\n if (this._onError) {\n this._onError(e);\n }\n }\n };\n } else {\n // legacy\n (xhr as any).onreadystatechange = (e: Event) => {\n switch ((xhr as any).readyState) {\n // 0 UNSENT Client has been created. open() not called yet.\n // 1 OPENED open() has been called.\n // 2 HEADERS_RECEIVED send() has been called, and headers and status are available.\n // 3 LOADING Downloading; responseText holds partial data.\n // 4 DONE The operation is complete.\n // case 3: // loading\n // if (this._onProgress) {\n // this._onProgress(new HttpResponse(httpRequest));\n // }\n // break;\n case 4: // done\n (HttpRequest as any).xhrs = HttpRequest.xhrs.filter(x => this !== x);\n // const httpStatusOk = xhr.status >= 200 && xhr.status < 300;\n // schemes other than http/https (file, ftp)\n // const fileFtpStatusOk = xhr.status === 0 && !this._url.match(/^https?:\\/\\//);\n // const fileFtpStatusOk = xhr.status === 0 && !xhr.responseURL.match(/^https?:\\/\\//);\n // if (httpStatusOk || fileFtpStatusOk) {\n if ((xhr as any).status >= 200 && (xhr as any).status < 300) {\n const respone = new HttpResponse(xhr);\n if (HttpRequest.onResponse) {\n HttpRequest.onResponse(respone);\n }\n if (this._onResponse) {\n this._onResponse(respone);\n }\n } else {\n if (HttpRequest.onError) {\n HttpRequest.onError(e);\n }\n if (this._onError) {\n this._onError(e);\n }\n }\n break;\n default:\n }\n };\n }\n\n if (data !== undefined) {\n if (\n typeof data === \"string\" ||\n data instanceof FormData ||\n data instanceof Blob\n ) {\n xhr.send(data);\n } else {\n if (!this._headers[\"Content-Type\"]) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n xhr.send(JSON.stringify(data));\n }\n } else {\n xhr.send();\n }\n } else {\n if (data) {\n const payload = (typeof data === \"string\") ? data : JSON.stringify(data);\n xhr.send(payload);\n } else {\n xhr.send();\n }\n return JSON.parse(xhr.responseText);\n }\n }\n\n}\n\n\nexport function httpGet(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"GET\").url(url, query);\n}\n\nexport function httpPost(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"POST\").url(url, query);\n}\n\nexport function httpPut(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"PUT\").url(url, query);\n}\n\nexport function httpPatch(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"PATCH\").url(url, query);\n}\n\nexport function httpDelete(url: string, query?: Object): HttpRequest {\n return new HttpRequest().method(\"DELETE\").url(url, query);\n}\n\nexport function httpOnRequest(onRequest: (req: HttpRequest) => void): void {\n HttpRequest.onRequest = onRequest;\n}\n\nexport function httpOnResponse(onResponse: (req: HttpResponse) => void): void {\n HttpRequest.onResponse = onResponse;\n}\n\nexport function httpOnError(onError: (req: Event) => void): void {\n HttpRequest.onError = onError;\n}\n\nexport const http = {\n get: httpGet,\n post: httpPost,\n put: httpPut,\n patch: httpPatch,\n delete: httpDelete,\n onRequest: httpOnRequest,\n onResponse: httpOnResponse,\n onError: httpOnError\n};\n"],"names":[],"version":3,"file":"http.js.map"}
@@ -864,12 +864,11 @@ class $9013ae9f0ac3e1ae$export$84202caead5689ba {
864
864
 
865
865
  var $9adf8bc2f1ba310f$exports = {};
866
866
 
867
- $parcel$export($9adf8bc2f1ba310f$exports, "HAppAction", function () { return $9adf8bc2f1ba310f$export$15cfcbba5b21308e; }, function (v) { return $9adf8bc2f1ba310f$export$15cfcbba5b21308e = v; });
867
+ $parcel$export($9adf8bc2f1ba310f$exports, "HAppActions", function () { return $9adf8bc2f1ba310f$export$3dcd9fad60135c2c; }, function (v) { return $9adf8bc2f1ba310f$export$3dcd9fad60135c2c = v; });
868
+ $parcel$export($9adf8bc2f1ba310f$exports, "HDispatchScopes", function () { return $9adf8bc2f1ba310f$export$3d736e925369e0e4; }, function (v) { return $9adf8bc2f1ba310f$export$3d736e925369e0e4 = v; });
868
869
  $parcel$export($9adf8bc2f1ba310f$exports, "happ", function () { return $9adf8bc2f1ba310f$export$eb8950696418f795; }, function (v) { return $9adf8bc2f1ba310f$export$eb8950696418f795 = v; });
869
870
  $parcel$export($9adf8bc2f1ba310f$exports, "HApp", function () { return $9adf8bc2f1ba310f$export$8cfef5dc37c46888; }, function (v) { return $9adf8bc2f1ba310f$export$8cfef5dc37c46888 = v; });
870
- $parcel$export($9adf8bc2f1ba310f$exports, "happi", function () { return $9adf8bc2f1ba310f$export$e905700d74a7763f; }, function (v) { return $9adf8bc2f1ba310f$export$e905700d74a7763f = v; });
871
871
  $parcel$export($9adf8bc2f1ba310f$exports, "happel", function () { return $9adf8bc2f1ba310f$export$1cfc54b3834d3c50; }, function (v) { return $9adf8bc2f1ba310f$export$1cfc54b3834d3c50 = v; });
872
- $parcel$export($9adf8bc2f1ba310f$exports, "controllersDdispatcher", function () { return $9adf8bc2f1ba310f$export$dd8a94d3c5ec9827; }, function (v) { return $9adf8bc2f1ba310f$export$dd8a94d3c5ec9827 = v; });
873
872
  var $32c8c7b45dace799$exports = {};
874
873
 
875
874
  $parcel$export($32c8c7b45dace799$exports, "hsml2idomPatch", function () { return $32c8c7b45dace799$export$c539705c0f97f623; });
@@ -1707,9 +1706,9 @@ class $32c8c7b45dace799$var$HsmlIDomHandler {
1707
1706
  case "_id":
1708
1707
  case "_classes":
1709
1708
  case "_ref":
1710
- case "_key":
1711
- case "_skip":
1712
1709
  case "_hObj":
1710
+ case "key":
1711
+ case "skip":
1713
1712
  break;
1714
1713
  case "id":
1715
1714
  id = attrs[a];
@@ -1759,14 +1758,14 @@ class $32c8c7b45dace799$var$HsmlIDomHandler {
1759
1758
  }
1760
1759
  if (classes.length) props.unshift("class", classes.join(" "));
1761
1760
  if (id) props.unshift("id", id);
1762
- (0, $820cd2154730c00b$export$c08238b528ee4605)(tag, attrs._key, undefined, ...props);
1763
- if (attrs._skip) (0, $f070ae32bf01fca2$export$955fc4a6c4be454d)();
1761
+ (0, $820cd2154730c00b$export$c08238b528ee4605)(tag, attrs.key, undefined, ...props);
1762
+ if (attrs.skip) (0, $f070ae32bf01fca2$export$955fc4a6c4be454d)();
1764
1763
  if (ctx && ref) ctx.refs[ref] = (0, $f070ae32bf01fca2$export$910f131cbf8f9c16)();
1765
1764
  if (hObj && hObj.mount && hObj.mount.constructor === Function) {
1766
1765
  hObj.mount((0, $f070ae32bf01fca2$export$910f131cbf8f9c16)());
1767
1766
  (0, $f070ae32bf01fca2$export$955fc4a6c4be454d)();
1768
1767
  }
1769
- return attrs._skip ? true : false;
1768
+ return attrs.skip ? true : false;
1770
1769
  }
1771
1770
  close(tag, children, ctx) {
1772
1771
  (0, $820cd2154730c00b$export$5a9f50133313a819)(tag);
@@ -1834,34 +1833,38 @@ var $9adf8bc2f1ba310f$var$__awaiter = undefined && undefined.__awaiter || functi
1834
1833
  const $9adf8bc2f1ba310f$var$log = console.log;
1835
1834
  const $9adf8bc2f1ba310f$var$error = console.error;
1836
1835
  const $9adf8bc2f1ba310f$var$warn = console.warn;
1837
- var $9adf8bc2f1ba310f$export$15cfcbba5b21308e;
1838
- (function(HAppAction) {
1839
- HAppAction["_init"] = "_init";
1840
- HAppAction["_mount"] = "_mount";
1841
- HAppAction["_umount"] = "_umount";
1842
- HAppAction["_element"] = "_element";
1843
- })($9adf8bc2f1ba310f$export$15cfcbba5b21308e || ($9adf8bc2f1ba310f$export$15cfcbba5b21308e = {}));
1836
+ var $9adf8bc2f1ba310f$export$3dcd9fad60135c2c;
1837
+ (function(HAppActions) {
1838
+ HAppActions["init"] = "happ-init";
1839
+ HAppActions["mount"] = "happ-mount";
1840
+ HAppActions["umount"] = "happ-umount";
1841
+ HAppActions["update"] = "happ-update";
1842
+ HAppActions["action"] = "happ-action";
1843
+ HAppActions["attribute"] = "happ-attribute";
1844
+ })($9adf8bc2f1ba310f$export$3dcd9fad60135c2c || ($9adf8bc2f1ba310f$export$3dcd9fad60135c2c = {}));
1845
+ var $9adf8bc2f1ba310f$export$3d736e925369e0e4;
1846
+ (function(HDispatchScopes) {
1847
+ HDispatchScopes["element"] = "element";
1848
+ HDispatchScopes["window"] = "window";
1849
+ })($9adf8bc2f1ba310f$export$3d736e925369e0e4 || ($9adf8bc2f1ba310f$export$3d736e925369e0e4 = {}));
1844
1850
  const $9adf8bc2f1ba310f$var$schedule = window.requestAnimationFrame || function(callback) {
1845
1851
  window.setTimeout(callback, 1000 / 60);
1846
1852
  };
1847
1853
  const $9adf8bc2f1ba310f$var$unschedule = window.cancelAnimationFrame || function(handle) {
1848
1854
  window.clearTimeout(handle);
1849
1855
  };
1850
- const $9adf8bc2f1ba310f$var$msgAction = "HApp action:";
1851
- const $9adf8bc2f1ba310f$var$msgDispatch = "HApp dispatch:";
1852
- const $9adf8bc2f1ba310f$var$msgRender = "HApp render:";
1853
- const $9adf8bc2f1ba310f$var$msgUpdate = "HApp update:";
1854
- function $9adf8bc2f1ba310f$export$eb8950696418f795(state, view, dispatcher, element = document.body) {
1855
- return new $9adf8bc2f1ba310f$export$8cfef5dc37c46888(state, view, dispatcher, element);
1856
- }
1857
- function $9adf8bc2f1ba310f$export$e905700d74a7763f(hAppI, e = document.body) {
1858
- const hapi = new hAppI();
1859
- return new $9adf8bc2f1ba310f$export$8cfef5dc37c46888(hapi.state, hapi.view, hapi.dispatcher, e);
1860
- }
1861
- function $9adf8bc2f1ba310f$export$1cfc54b3834d3c50(elementName, elementAttrs, state, view, dispatcher) {
1862
- customElements.define(elementName, class HAppElement extends HTMLElement {
1856
+ const $9adf8bc2f1ba310f$var$msgAction = "action:";
1857
+ const $9adf8bc2f1ba310f$var$msgDispatch = "dispatch:";
1858
+ const $9adf8bc2f1ba310f$var$msgRender = "render:";
1859
+ const $9adf8bc2f1ba310f$var$msgUpdate = "update:";
1860
+ const $9adf8bc2f1ba310f$var$HAPP = "happ";
1861
+ function $9adf8bc2f1ba310f$export$eb8950696418f795(hAppI) {
1862
+ return new $9adf8bc2f1ba310f$export$8cfef5dc37c46888(hAppI.state, hAppI.view, hAppI.dispatcher, hAppI.element, hAppI.debug, hAppI.name);
1863
+ }
1864
+ function $9adf8bc2f1ba310f$export$1cfc54b3834d3c50(hAppI) {
1865
+ customElements.define(`${$9adf8bc2f1ba310f$var$HAPP}-${hAppI.name}`, class HAppElement extends HTMLElement {
1863
1866
  static get observedAttributes() {
1864
- return elementAttrs;
1867
+ return hAppI.attributes;
1865
1868
  }
1866
1869
  connectedCallback() {
1867
1870
  this.attachShadow({
@@ -1876,7 +1879,7 @@ function $9adf8bc2f1ba310f$export$1cfc54b3834d3c50(elementName, elementAttrs, st
1876
1879
  this._happel.update();
1877
1880
  }
1878
1881
  attributeChangedCallback(attrName, oldVal, newVal) {
1879
- this._happel.dispatch($9adf8bc2f1ba310f$export$15cfcbba5b21308e._element, {
1882
+ this._happel.dispatch($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.attribute, {
1880
1883
  attrName: attrName,
1881
1884
  oldVal: oldVal,
1882
1885
  newVal: newVal
@@ -1884,49 +1887,40 @@ function $9adf8bc2f1ba310f$export$1cfc54b3834d3c50(elementName, elementAttrs, st
1884
1887
  }
1885
1888
  constructor(){
1886
1889
  super();
1887
- this._happel = new $9adf8bc2f1ba310f$export$8cfef5dc37c46888(state, view, dispatcher);
1890
+ this._happel = new $9adf8bc2f1ba310f$export$8cfef5dc37c46888(hAppI.state, hAppI.view, hAppI.dispatcher, undefined, hAppI.debug, hAppI.name, hAppI.attributes);
1888
1891
  this._happel.customElement = this;
1889
1892
  }
1890
1893
  });
1891
1894
  }
1892
- function $9adf8bc2f1ba310f$export$dd8a94d3c5ec9827(controllers) {
1893
- return function(action) {
1894
- return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1895
- const controller = controllers[action.type];
1896
- if (controller) controller.apply(this, [
1897
- action.data,
1898
- action.event
1899
- ]);
1900
- else $9adf8bc2f1ba310f$var$warn("no controller for action", action);
1901
- });
1902
- };
1903
- }
1904
- const $9adf8bc2f1ba310f$var$HAPP = "happ";
1905
1895
  class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1906
- _dispatch(type, data, event) {
1907
- var _a;
1896
+ _dispatchAction(type, data, event, scope) {
1908
1897
  return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1909
- try {
1910
- yield this.dispatcher({
1898
+ if (this.debug) {
1899
+ $9adf8bc2f1ba310f$var$log(this.name, $9adf8bc2f1ba310f$var$msgAction, {
1911
1900
  type: type,
1912
1901
  data: data,
1913
1902
  event: event
1914
- }, this.state, this.dispatch);
1915
- (_a = this._onDispatch) === null || _a === void 0 || _a.call(this, {
1903
+ });
1904
+ const t0 = performance.now();
1905
+ yield this._dispatch(type, data, event, scope);
1906
+ const t1 = performance.now();
1907
+ $9adf8bc2f1ba310f$var$log(this.name, $9adf8bc2f1ba310f$var$msgDispatch, `${t1 - t0} ms`, this.state);
1908
+ } else yield this._dispatch(type, data, event, scope);
1909
+ });
1910
+ }
1911
+ _dispatch(type, data, event, scope) {
1912
+ return $9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1913
+ try {
1914
+ yield this.dispatcher({
1916
1915
  type: type,
1917
1916
  data: data,
1918
1917
  event: event
1919
1918
  }, this.state, this.dispatch);
1920
- this.dom && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.dom, $9adf8bc2f1ba310f$var$HAPP, {
1921
- type: type,
1922
- data: data,
1923
- event: event
1924
- });
1925
- this.customElement && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.customElement, type, data);
1926
- !this.customElement && this.dom && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.dom, type, data);
1927
1919
  this.update();
1920
+ scope === "element" && this._dispatchElement(type, data);
1921
+ scope === "window" && this._dispatchWindow(type, data);
1928
1922
  } catch (e) {
1929
- $9adf8bc2f1ba310f$var$error($9adf8bc2f1ba310f$var$msgDispatch, e);
1923
+ $9adf8bc2f1ba310f$var$error(this.name, $9adf8bc2f1ba310f$var$msgDispatch, e);
1930
1924
  }
1931
1925
  });
1932
1926
  }
@@ -1934,35 +1928,39 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1934
1928
  if (!this._windowEventListener) {
1935
1929
  this._windowEventListener = (event)=>{
1936
1930
  const action = event.detail;
1937
- this.dispatch(action.type, action.data, event);
1931
+ this._dispatchAction(action.type, action.data);
1938
1932
  };
1939
- window.addEventListener($9adf8bc2f1ba310f$var$HAPP, this._windowEventListener);
1933
+ window.addEventListener($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, this._windowEventListener);
1940
1934
  } else $9adf8bc2f1ba310f$var$warn("windowEventListener olready setted");
1941
1935
  }
1942
1936
  windowDispatchOff() {
1943
- if (this._windowEventListener) window.removeEventListener($9adf8bc2f1ba310f$var$HAPP, this._windowEventListener);
1937
+ if (this._windowEventListener) window.removeEventListener($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, this._windowEventListener);
1938
+ }
1939
+ _updateDom(el, hsml, ctx) {
1940
+ if (this.debug) {
1941
+ const t0 = performance.now();
1942
+ (0, $32c8c7b45dace799$export$ccb3a8beff05eea9)(el, hsml, ctx);
1943
+ const t1 = performance.now();
1944
+ $9adf8bc2f1ba310f$var$log(this.name, $9adf8bc2f1ba310f$var$msgUpdate, `${t1 - t0} ms`, el);
1945
+ } else (0, $32c8c7b45dace799$export$ccb3a8beff05eea9)(el, hsml, ctx);
1944
1946
  }
1945
- constructor(state, view, dispatcher, e = document.body){
1947
+ constructor(state, view, dispatcher, element, debug, name, attributes){
1946
1948
  this.refs = {};
1947
- this.onDispatch = (dispatcher)=>{
1948
- this._onDispatch = dispatcher;
1949
- return this;
1950
- };
1951
- this.dispatch = (type, data, event)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1952
- if ($9adf8bc2f1ba310f$export$8cfef5dc37c46888.debug) {
1953
- $9adf8bc2f1ba310f$var$log($9adf8bc2f1ba310f$var$msgAction, {
1954
- type: type,
1955
- data: data,
1956
- event: event
1957
- });
1958
- const t0 = performance.now();
1959
- yield this._dispatch(type, data, event);
1960
- const t1 = performance.now();
1961
- $9adf8bc2f1ba310f$var$log($9adf8bc2f1ba310f$var$msgDispatch, `${t1 - t0} ms`, this.state);
1962
- } else yield this._dispatch(type, data, event);
1949
+ this.dispatch = (type, data, scope)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1950
+ return this._dispatchAction(type, data, undefined, scope);
1963
1951
  });
1964
- this.windowDispatch = (type, data, event)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1965
- window.dispatchEvent(new CustomEvent($9adf8bc2f1ba310f$var$HAPP, {
1952
+ this._dispatchElement = (type, data)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1953
+ this.customElement && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.customElement, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1954
+ type: type,
1955
+ data: data
1956
+ });
1957
+ !this.customElement && this.element && $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(this.element, $9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1958
+ type: type,
1959
+ data: data
1960
+ });
1961
+ });
1962
+ this._dispatchWindow = (type, data)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
1963
+ window.dispatchEvent(new CustomEvent($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.action, {
1966
1964
  detail: {
1967
1965
  type: type,
1968
1966
  data: data
@@ -1970,94 +1968,93 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
1970
1968
  }));
1971
1969
  });
1972
1970
  this.render = ()=>{
1973
- if ($9adf8bc2f1ba310f$export$8cfef5dc37c46888.debug) {
1971
+ if (this.debug) {
1974
1972
  const t0 = performance.now();
1975
1973
  let hsmls;
1976
1974
  try {
1977
1975
  hsmls = this.view(this.state);
1978
1976
  } catch (e) {
1979
- $9adf8bc2f1ba310f$var$error($9adf8bc2f1ba310f$var$msgRender, e);
1977
+ $9adf8bc2f1ba310f$var$error(this.name, $9adf8bc2f1ba310f$var$msgRender, e);
1980
1978
  }
1981
1979
  const t1 = performance.now();
1982
- $9adf8bc2f1ba310f$var$log($9adf8bc2f1ba310f$var$msgRender, `${t1 - t0} ms`, hsmls);
1980
+ $9adf8bc2f1ba310f$var$log(this.name, $9adf8bc2f1ba310f$var$msgRender, `${t1 - t0} ms`, hsmls);
1983
1981
  return hsmls !== null && hsmls !== void 0 ? hsmls : [];
1984
1982
  } else {
1985
1983
  let hsmls;
1986
1984
  try {
1987
1985
  hsmls = this.view(this.state);
1988
1986
  } catch (e) {
1989
- $9adf8bc2f1ba310f$var$error($9adf8bc2f1ba310f$var$msgRender, e);
1987
+ $9adf8bc2f1ba310f$var$error(this.name, $9adf8bc2f1ba310f$var$msgRender, e);
1990
1988
  }
1991
1989
  return hsmls !== null && hsmls !== void 0 ? hsmls : [];
1992
1990
  }
1993
1991
  };
1994
- this.actionCb = (action, data, event)=>{
1992
+ this.actionCb = (actionType, data, event)=>{
1995
1993
  data = (data === null || data === void 0 ? void 0 : data.constructor) === Function ? data(event) : data;
1996
1994
  if (data === undefined && event) {
1997
1995
  if (event instanceof CustomEvent) data = event.detail;
1998
1996
  else data = $9adf8bc2f1ba310f$var$formData(event);
1999
1997
  }
2000
- this.dispatch(action, data, event);
1998
+ this._dispatchAction(actionType, data, event);
2001
1999
  };
2002
- this.mount = (e = document.body)=>{
2003
- var _a;
2004
- const el = typeof e === "string" ? (_a = document.getElementById(e)) !== null && _a !== void 0 ? _a : document.body : e !== null && e !== void 0 ? e : document.body;
2005
- if (el[$9adf8bc2f1ba310f$var$HAPP]) {
2000
+ this.mount = (e)=>{
2001
+ const el = typeof e === "string" ? document.getElementById(e) : e;
2002
+ if (el && el[$9adf8bc2f1ba310f$var$HAPP]) {
2006
2003
  const a = el[$9adf8bc2f1ba310f$var$HAPP];
2007
2004
  a.umount();
2008
2005
  }
2009
- if (!this.dom) {
2010
- this.dom = el;
2006
+ if (el && !this.element) {
2007
+ this.element = el;
2011
2008
  el[$9adf8bc2f1ba310f$var$HAPP] = this;
2012
2009
  const hsmls = this.render();
2013
- $9adf8bc2f1ba310f$var$updateDom(el, hsmls, this);
2014
- this.dispatch($9adf8bc2f1ba310f$export$15cfcbba5b21308e._mount, this.dom);
2010
+ this._updateDom(el, hsmls, this);
2011
+ this._dispatchAction($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.mount, this.element);
2015
2012
  }
2016
2013
  return this;
2017
2014
  };
2018
2015
  this.umount = ()=>{
2019
- if (this.dom) {
2020
- this.dispatch($9adf8bc2f1ba310f$export$15cfcbba5b21308e._umount, this.dom);
2021
- if (this.dom.hasAttribute($9adf8bc2f1ba310f$var$HAPP)) this.dom.removeAttribute($9adf8bc2f1ba310f$var$HAPP);
2022
- const aNodes = this.dom.querySelectorAll(`[${$9adf8bc2f1ba310f$var$HAPP}]`);
2016
+ if (this.element) {
2017
+ this._dispatchAction($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.umount, this.element);
2018
+ if (this.element.hasAttribute($9adf8bc2f1ba310f$var$HAPP)) this.element.removeAttribute($9adf8bc2f1ba310f$var$HAPP);
2019
+ const aNodes = this.element.querySelectorAll(`[${$9adf8bc2f1ba310f$var$HAPP}]`);
2023
2020
  for(let i = 0; i < aNodes.length; i++){
2024
2021
  const a = aNodes[i].happ;
2025
2022
  a === null || a === void 0 || a.umount();
2026
2023
  }
2027
- while(this.dom.firstChild)this.dom.removeChild(this.dom.firstChild);
2028
- delete this.dom.happ;
2029
- this.dom = undefined;
2024
+ while(this.element.firstChild)this.element.removeChild(this.element.firstChild);
2025
+ delete this.element.happ;
2026
+ this.element = undefined;
2030
2027
  }
2031
2028
  return this;
2032
2029
  };
2033
2030
  this.update = ()=>{
2034
- if (this.dom && !this._updateSched) this._updateSched = $9adf8bc2f1ba310f$var$schedule(()=>{
2035
- if (this.dom) {
2031
+ if (this.element && !this._updateSched) this._updateSched = $9adf8bc2f1ba310f$var$schedule(()=>{
2032
+ if (this.element) {
2036
2033
  const hsmls = this.render();
2037
- $9adf8bc2f1ba310f$var$updateDom(this.dom, hsmls, this);
2034
+ this._updateDom(this.element, hsmls, this);
2038
2035
  }
2039
2036
  this._updateSched = undefined;
2040
2037
  });
2041
2038
  return this;
2042
2039
  };
2043
2040
  this.toHsml = ()=>{
2044
- if (this.dom) {
2041
+ if (this.element) {
2045
2042
  if (this._updateSched) {
2046
2043
  $9adf8bc2f1ba310f$var$unschedule(this._updateSched);
2047
2044
  this._updateSched = undefined;
2048
2045
  } else return [
2049
2046
  "div",
2050
2047
  {
2051
- _skip: true
2048
+ skip: true
2052
2049
  }
2053
2050
  ];
2054
2051
  }
2055
2052
  const hsmls = this.render();
2056
2053
  hsmls.push((e)=>{
2057
- if (!this.dom) {
2058
- this.dom = e;
2054
+ if (!this.element) {
2055
+ this.element = e;
2059
2056
  e.happ = this;
2060
- this.dispatch($9adf8bc2f1ba310f$export$15cfcbba5b21308e._mount, this.dom);
2057
+ this._dispatchAction($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.mount, this.element);
2061
2058
  }
2062
2059
  });
2063
2060
  return [
@@ -2066,31 +2063,25 @@ class $9adf8bc2f1ba310f$export$8cfef5dc37c46888 {
2066
2063
  ];
2067
2064
  };
2068
2065
  this.toHtml = ()=>{
2069
- return this.dom ? this.dom.outerHTML : "";
2066
+ return this.element ? this.element.outerHTML : "";
2070
2067
  };
2068
+ this.debug = debug !== null && debug !== void 0 ? debug : false;
2069
+ this.name = name !== null && name !== void 0 ? name : $9adf8bc2f1ba310f$var$HAPP;
2070
+ this.attributes = attributes !== null && attributes !== void 0 ? attributes : [];
2071
2071
  this.state = state();
2072
2072
  this.view = view;
2073
2073
  this.dispatcher = dispatcher !== null && dispatcher !== void 0 ? dispatcher : (a)=>$9adf8bc2f1ba310f$var$__awaiter(this, void 0, void 0, function*() {
2074
- return $9adf8bc2f1ba310f$var$log($9adf8bc2f1ba310f$var$msgAction, a.type, a.data);
2074
+ return $9adf8bc2f1ba310f$var$log(this.name, $9adf8bc2f1ba310f$var$msgAction, a.type, a.data);
2075
2075
  });
2076
- this.dispatch($9adf8bc2f1ba310f$export$15cfcbba5b21308e._init, this).then(()=>this.mount(e));
2076
+ this._dispatchAction($9adf8bc2f1ba310f$export$3dcd9fad60135c2c.init, this).then(()=>element && this.mount(element));
2077
2077
  }
2078
2078
  }
2079
- $9adf8bc2f1ba310f$export$8cfef5dc37c46888.debug = false;
2080
- function $9adf8bc2f1ba310f$var$updateDom(el, hsml, ctx) {
2081
- if ($9adf8bc2f1ba310f$export$8cfef5dc37c46888.debug) {
2082
- const t0 = performance.now();
2083
- (0, $32c8c7b45dace799$export$ccb3a8beff05eea9)(el, hsml, ctx);
2084
- const t1 = performance.now();
2085
- $9adf8bc2f1ba310f$var$log($9adf8bc2f1ba310f$var$msgUpdate, `${t1 - t0} ms`, el);
2086
- } else (0, $32c8c7b45dace799$export$ccb3a8beff05eea9)(el, hsml, ctx);
2087
- }
2088
2079
  function $9adf8bc2f1ba310f$var$elementDispatchCustomEvent(el, type, data) {
2089
2080
  var _a, _b;
2090
2081
  el === null || el === void 0 || el.dispatchEvent(new CustomEvent(type, {
2091
2082
  detail: data
2092
2083
  }));
2093
- (_b = (_a = el)[`on${type.toLowerCase()}`]) === null || _b === void 0 || _b.call(_a, new CustomEvent(type, {
2084
+ (_b = (_a = el)[`on${type}`]) === null || _b === void 0 || _b.call(_a, new CustomEvent(type, {
2094
2085
  detail: data
2095
2086
  }));
2096
2087
  }
@@ -2239,9 +2230,9 @@ class $870bc263ac7a2220$var$HsmlDomHandler {
2239
2230
  case "_id":
2240
2231
  case "_classes":
2241
2232
  case "_ref":
2242
- case "_key":
2243
- case "_skip":
2244
2233
  case "_hObj":
2234
+ case "key":
2235
+ case "skip":
2245
2236
  break;
2246
2237
  case "id":
2247
2238
  id = attrs[a];
@@ -2290,7 +2281,7 @@ class $870bc263ac7a2220$var$HsmlDomHandler {
2290
2281
  }
2291
2282
  if (ctx && ref) ctx.refs[ref] = this._current;
2292
2283
  if (hObj && hObj.mount && hObj.mount.constructor === Function) hObj.mount(e);
2293
- return attrs._skip ? true : false;
2284
+ return attrs.skip ? true : false;
2294
2285
  }
2295
2286
  close(tag, children, ctx) {
2296
2287
  var _a;
@@ -2367,9 +2358,9 @@ class $8b772788eaa59994$var$HsmlHtmlHandler {
2367
2358
  case "_id":
2368
2359
  case "_classes":
2369
2360
  case "_ref":
2370
- case "_key":
2371
- case "_skip":
2372
2361
  case "_hObj":
2362
+ case "key":
2363
+ case "skip":
2373
2364
  break;
2374
2365
  case "id":
2375
2366
  id = attrs[a];