angular-toolbox 1.4.6 → 1.5.0

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 (277) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/angular-toolbox.mjs +159 -166
  3. package/fesm2022/angular-toolbox.mjs.map +1 -1
  4. package/package.json +1 -3
  5. package/esm2022/angular-toolbox.mjs +0 -5
  6. package/esm2022/lib/angular-toolbox.module.mjs +0 -25
  7. package/esm2022/lib/collection/array-list-event-type.enum.mjs +0 -30
  8. package/esm2022/lib/collection/array-list.event.mjs +0 -23
  9. package/esm2022/lib/collection/array-list.mjs +0 -158
  10. package/esm2022/lib/collection/index.mjs +0 -11
  11. package/esm2022/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.mjs +0 -18
  12. package/esm2022/lib/component/dropdown/dropdown.component.mjs +0 -139
  13. package/esm2022/lib/component/index.mjs +0 -11
  14. package/esm2022/lib/component/layout/border-layout/border-layout.component.mjs +0 -149
  15. package/esm2022/lib/component/layout/border-layout/util/border-layout-bounds-manager.mjs +0 -211
  16. package/esm2022/lib/component/layout/border-layout/util/border-layout-renderer.mjs +0 -267
  17. package/esm2022/lib/component/layout/border-layout/util/resize-method.mjs +0 -9
  18. package/esm2022/lib/component/layout/border-layout-container/border-layout-container.component.mjs +0 -145
  19. package/esm2022/lib/component/layout/index.mjs +0 -3
  20. package/esm2022/lib/core/abstract/abstract-subscription-manager.mjs +0 -113
  21. package/esm2022/lib/core/abstract/abstract-version-manager.mjs +0 -37
  22. package/esm2022/lib/core/abstract/index.mjs +0 -3
  23. package/esm2022/lib/core/bridge/app-bridge.mjs +0 -76
  24. package/esm2022/lib/core/error/app-bridge-error.mjs +0 -24
  25. package/esm2022/lib/core/error/http-mock-service-error.mjs +0 -26
  26. package/esm2022/lib/core/error/index.mjs +0 -5
  27. package/esm2022/lib/core/error/integrity-error.mjs +0 -26
  28. package/esm2022/lib/core/error/subscription-error.mjs +0 -26
  29. package/esm2022/lib/core/impl/index.mjs +0 -2
  30. package/esm2022/lib/core/impl/lang/identifiable-component.mjs +0 -47
  31. package/esm2022/lib/core/impl/lang/index.mjs +0 -2
  32. package/esm2022/lib/core/impl/version/version.impl.mjs +0 -36
  33. package/esm2022/lib/core/index.mjs +0 -4
  34. package/esm2022/lib/directive/anchor-link.directive.mjs +0 -62
  35. package/esm2022/lib/directive/button-role.directive.mjs +0 -102
  36. package/esm2022/lib/directive/content-renderer.directive.mjs +0 -61
  37. package/esm2022/lib/directive/index.mjs +0 -5
  38. package/esm2022/lib/directive/navigate-to-url.directive.mjs +0 -51
  39. package/esm2022/lib/directive/navigation-directive-base.mjs +0 -23
  40. package/esm2022/lib/framework/dialog/dialog-backdrop-type.enum.mjs +0 -23
  41. package/esm2022/lib/framework/dialog/dialog-backdrop.type.mjs +0 -9
  42. package/esm2022/lib/framework/dialog/dialog-default-config.mjs +0 -15
  43. package/esm2022/lib/framework/dialog/dialog-outlet-event-type.mjs +0 -9
  44. package/esm2022/lib/framework/dialog/dialog-outlet.event.mjs +0 -33
  45. package/esm2022/lib/framework/dialog/dialog-service.error.mjs +0 -27
  46. package/esm2022/lib/framework/dialog/dialog-service.mjs +0 -67
  47. package/esm2022/lib/framework/dialog/dialog.config.mjs +0 -9
  48. package/esm2022/lib/framework/dialog/dialog.outlet.mjs +0 -94
  49. package/esm2022/lib/framework/dialog/index.mjs +0 -16
  50. package/esm2022/lib/framework/index.mjs +0 -6
  51. package/esm2022/lib/framework/logging/connector/console-log-connector.mjs +0 -48
  52. package/esm2022/lib/framework/logging/connector/default-log-connector.mjs +0 -34
  53. package/esm2022/lib/framework/logging/connector/html-log-connector.mjs +0 -177
  54. package/esm2022/lib/framework/logging/connector/index.mjs +0 -4
  55. package/esm2022/lib/framework/logging/impl/abstract-logger.mjs +0 -100
  56. package/esm2022/lib/framework/logging/impl/index.mjs +0 -3
  57. package/esm2022/lib/framework/logging/impl/log-impl.mjs +0 -31
  58. package/esm2022/lib/framework/logging/index.mjs +0 -4
  59. package/esm2022/lib/framework/logging/util/index.mjs +0 -4
  60. package/esm2022/lib/framework/logging/util/log.builder.mjs +0 -28
  61. package/esm2022/lib/framework/logging/util/log.constant.mjs +0 -24
  62. package/esm2022/lib/framework/logging/util/log.util.mjs +0 -142
  63. package/esm2022/lib/framework/mock/documentation/component/atx-mock-description/atx-mock-description.component.mjs +0 -27
  64. package/esm2022/lib/framework/mock/documentation/component/atx-mock-documentation/atx-mock-documentation.component.mjs +0 -77
  65. package/esm2022/lib/framework/mock/documentation/component/atx-mock-full-description/atx-mock-full-description.component.mjs +0 -27
  66. package/esm2022/lib/framework/mock/documentation/component/atx-mock-methods/atx-mock-methods.component.mjs +0 -71
  67. package/esm2022/lib/framework/mock/documentation/component/atx-mock-param/atx-mock-param.component.mjs +0 -27
  68. package/esm2022/lib/framework/mock/documentation/index.mjs +0 -2
  69. package/esm2022/lib/framework/mock/documentation/model/business/full-description.type.mjs +0 -9
  70. package/esm2022/lib/framework/mock/documentation/model/business/method-doc-descriptor.type.mjs +0 -9
  71. package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +0 -9
  72. package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +0 -48
  73. package/esm2022/lib/framework/mock/http/config/index.mjs +0 -3
  74. package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +0 -9
  75. package/esm2022/lib/framework/mock/http/core/data-storage.mjs +0 -9
  76. package/esm2022/lib/framework/mock/http/core/response-delay.mjs +0 -9
  77. package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +0 -136
  78. package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +0 -48
  79. package/esm2022/lib/framework/mock/http/index.mjs +0 -4
  80. package/esm2022/lib/framework/mock/http/logging/http-mock-logger.mjs +0 -15
  81. package/esm2022/lib/framework/mock/http/logging/http-mock-logging-metadata.builder.mjs +0 -35
  82. package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +0 -111
  83. package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +0 -34
  84. package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +0 -28
  85. package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +0 -76
  86. package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +0 -96
  87. package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +0 -28
  88. package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +0 -17
  89. package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +0 -17
  90. package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +0 -17
  91. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +0 -17
  92. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +0 -17
  93. package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +0 -17
  94. package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +0 -17
  95. package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +0 -17
  96. package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +0 -17
  97. package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +0 -17
  98. package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +0 -30
  99. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +0 -17
  100. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +0 -17
  101. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +0 -17
  102. package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +0 -87
  103. package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +0 -41
  104. package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +0 -29
  105. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +0 -49
  106. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +0 -33
  107. package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +0 -37
  108. package/esm2022/lib/framework/mock/http/util/fetch-client-response-type.enum.mjs +0 -40
  109. package/esm2022/lib/framework/mock/http/util/fetch-client.builder.mjs +0 -52
  110. package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +0 -138
  111. package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +0 -71
  112. package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +0 -60
  113. package/esm2022/lib/framework/mock/http/util/http-mock-max-delay.mjs +0 -12
  114. package/esm2022/lib/framework/mock/http/util/http-mock-response-delay.util.mjs +0 -33
  115. package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +0 -141
  116. package/esm2022/lib/framework/mock/http/util/http-status-text-finder.mjs +0 -146
  117. package/esm2022/lib/framework/mock/http/util/http-status-text.enum.mjs +0 -260
  118. package/esm2022/lib/framework/mock/http/util/index.mjs +0 -8
  119. package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +0 -372
  120. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +0 -30
  121. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +0 -20
  122. package/esm2022/lib/framework/mock/http/xhr/index.mjs +0 -2
  123. package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +0 -123
  124. package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +0 -178
  125. package/esm2022/lib/framework/mock/http-monitoring-console/component/abstract/log-renderer-base.mjs +0 -34
  126. package/esm2022/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.mjs +0 -29
  127. package/esm2022/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.mjs +0 -40
  128. package/esm2022/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.mjs +0 -62
  129. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.mjs +0 -62
  130. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.mjs +0 -45
  131. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.mjs +0 -35
  132. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.mjs +0 -70
  133. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-info-renderer/request-info-renderer.component.mjs +0 -43
  134. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-list-renderer/request-list-renderer.component.mjs +0 -116
  135. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.mjs +0 -89
  136. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.mjs +0 -115
  137. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/spinner/spinner.component.mjs +0 -22
  138. package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.mjs +0 -81
  139. package/esm2022/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.mjs +0 -91
  140. package/esm2022/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.mjs +0 -59
  141. package/esm2022/lib/framework/mock/http-monitoring-console/index.mjs +0 -2
  142. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.mjs +0 -40
  143. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.mjs +0 -9
  144. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.mjs +0 -9
  145. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.mjs +0 -14
  146. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-timeline-data.mjs +0 -9
  147. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.mjs +0 -9
  148. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.mjs +0 -9
  149. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.mjs +0 -9
  150. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.mjs +0 -9
  151. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.mjs +0 -9
  152. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.mjs +0 -9
  153. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.mjs +0 -9
  154. package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.mjs +0 -9
  155. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.mjs +0 -105
  156. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.controller.mjs +0 -96
  157. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.state.mjs +0 -126
  158. package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-user-action.service.mjs +0 -40
  159. package/esm2022/lib/framework/mock/http-monitoring-console/util/console-body-type.mjs +0 -50
  160. package/esm2022/lib/framework/mock/http-monitoring-console/util/console-type-class.mjs +0 -45
  161. package/esm2022/lib/framework/mock/http-monitoring-console/util/data.util.mjs +0 -95
  162. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-converter.mjs +0 -40
  163. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-serializer.mjs +0 -58
  164. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/form-data-serializer.mjs +0 -33
  165. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/hmfl-builder.mjs +0 -27
  166. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-request-converter.mjs +0 -62
  167. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-response-converter.mjs +0 -50
  168. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-converter.mjs +0 -43
  169. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-headers-converter.mjs +0 -53
  170. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-message.util.mjs +0 -30
  171. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-metadata-converter.mjs +0 -45
  172. package/esm2022/lib/framework/mock/http-monitoring-console/util/io/request-metadata-converter.mjs +0 -47
  173. package/esm2022/lib/framework/mock/http-monitoring-console/util/size.util.mjs +0 -57
  174. package/esm2022/lib/framework/mock/http-monitoring-console/util/timeline.util.mjs +0 -28
  175. package/esm2022/lib/framework/mock/http-monitoring-console/util/url.util.mjs +0 -51
  176. package/esm2022/lib/model/business/index.mjs +0 -8
  177. package/esm2022/lib/model/business/lang/app-bridge-command.mjs +0 -9
  178. package/esm2022/lib/model/business/lang/destroyable.mjs +0 -9
  179. package/esm2022/lib/model/business/lang/identifiable.mjs +0 -9
  180. package/esm2022/lib/model/business/lang/index.mjs +0 -5
  181. package/esm2022/lib/model/business/lang/instantiable.mjs +0 -9
  182. package/esm2022/lib/model/business/logging/atx-logger-config.provider.mjs +0 -21
  183. package/esm2022/lib/model/business/logging/http-mock-logging-constant.enum.mjs +0 -34
  184. package/esm2022/lib/model/business/logging/index.mjs +0 -8
  185. package/esm2022/lib/model/business/logging/log-connector.mjs +0 -9
  186. package/esm2022/lib/model/business/logging/log-level.enum.mjs +0 -34
  187. package/esm2022/lib/model/business/logging/log.mjs +0 -9
  188. package/esm2022/lib/model/business/logging/logger-config.mjs +0 -9
  189. package/esm2022/lib/model/business/logging/logger.mjs +0 -2
  190. package/esm2022/lib/model/business/logging/transactional-logger.mjs +0 -9
  191. package/esm2022/lib/model/business/mock/http/config/http-mock-production-policy.enum.mjs +0 -27
  192. package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.mjs +0 -9
  193. package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.provider.mjs +0 -33
  194. package/esm2022/lib/model/business/mock/http/config/index.mjs +0 -4
  195. package/esm2022/lib/model/business/mock/http/fetch-client.mjs +0 -14
  196. package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +0 -9
  197. package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +0 -9
  198. package/esm2022/lib/model/business/mock/http/http-mock-endpoint-descriptor.mjs +0 -9
  199. package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +0 -9
  200. package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +0 -9
  201. package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +0 -9
  202. package/esm2022/lib/model/business/mock/http/http-mock-method-descriptor.mjs +0 -9
  203. package/esm2022/lib/model/business/mock/http/http-mock-parameter-descriptor.mjs +0 -9
  204. package/esm2022/lib/model/business/mock/http/http-mock-request-metadata.mjs +0 -9
  205. package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +0 -9
  206. package/esm2022/lib/model/business/mock/http/index.mjs +0 -15
  207. package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-metadata.mjs +0 -9
  208. package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-prefetch-metadata.mjs +0 -9
  209. package/esm2022/lib/model/business/mock/http/logging/index.mjs +0 -3
  210. package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +0 -9
  211. package/esm2022/lib/model/business/navigator/battery-manager.mjs +0 -9
  212. package/esm2022/lib/model/business/navigator/connection-type.mjs +0 -9
  213. package/esm2022/lib/model/business/navigator/effective-connection-type.mjs +0 -9
  214. package/esm2022/lib/model/business/navigator/index.mjs +0 -5
  215. package/esm2022/lib/model/business/navigator/network-information.mjs +0 -9
  216. package/esm2022/lib/model/business/subscription/index.mjs +0 -2
  217. package/esm2022/lib/model/business/subscription/subscription-manager.mjs +0 -9
  218. package/esm2022/lib/model/business/ui/dark-mode-config.mjs +0 -9
  219. package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +0 -43
  220. package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +0 -16
  221. package/esm2022/lib/model/business/ui/dropdown/dropdown-event-type.enum.mjs +0 -22
  222. package/esm2022/lib/model/business/ui/dropdown/dropdown-position.mjs +0 -9
  223. package/esm2022/lib/model/business/ui/dropdown/dropdown-state.mjs +0 -9
  224. package/esm2022/lib/model/business/ui/dropdown/dropdown.event.mjs +0 -27
  225. package/esm2022/lib/model/business/ui/dropdown/index.mjs +0 -6
  226. package/esm2022/lib/model/business/ui/dropdown/popover-state.mjs +0 -9
  227. package/esm2022/lib/model/business/ui/index.mjs +0 -8
  228. package/esm2022/lib/model/business/ui/layout/index.mjs +0 -6
  229. package/esm2022/lib/model/business/ui/layout/layout-constraints.mjs +0 -9
  230. package/esm2022/lib/model/business/ui/layout/layout-drag-event-type.enum.mjs +0 -26
  231. package/esm2022/lib/model/business/ui/layout/layout-drag.event.mjs +0 -23
  232. package/esm2022/lib/model/business/ui/layout/layout-region.error.mjs +0 -22
  233. package/esm2022/lib/model/business/ui/layout/layout-region.mjs +0 -35
  234. package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +0 -9
  235. package/esm2022/lib/model/business/ui/window/index.mjs +0 -5
  236. package/esm2022/lib/model/business/ui/window/window-feature-state.mjs +0 -22
  237. package/esm2022/lib/model/business/ui/window/window-init.mjs +0 -9
  238. package/esm2022/lib/model/business/ui/window/window-ref.mjs +0 -9
  239. package/esm2022/lib/model/business/ui/window/window-target.mjs +0 -34
  240. package/esm2022/lib/model/business/version/index.mjs +0 -5
  241. package/esm2022/lib/model/business/version/version-config.mjs +0 -9
  242. package/esm2022/lib/model/business/version/version-config.provider.mjs +0 -40
  243. package/esm2022/lib/model/business/version/version-manager.mjs +0 -10
  244. package/esm2022/lib/model/business/version/version.mjs +0 -10
  245. package/esm2022/lib/model/index.mjs +0 -3
  246. package/esm2022/lib/model/service/index.mjs +0 -6
  247. package/esm2022/lib/model/service/logging/index.mjs +0 -2
  248. package/esm2022/lib/model/service/logging/logger-service.mjs +0 -41
  249. package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +0 -279
  250. package/esm2022/lib/model/service/mock/http/index.mjs +0 -3
  251. package/esm2022/lib/model/service/mock/http/logging/atx-http-mock-console.service.mjs +0 -92
  252. package/esm2022/lib/model/service/mock/http/logging/http-mock-logging-service.mjs +0 -117
  253. package/esm2022/lib/model/service/mock/http/logging/index.mjs +0 -3
  254. package/esm2022/lib/model/service/subscription/subscription.service.mjs +0 -30
  255. package/esm2022/lib/model/service/ui/app-bridge.service.mjs +0 -142
  256. package/esm2022/lib/model/service/ui/dark-mode.service.mjs +0 -183
  257. package/esm2022/lib/model/service/ui/index.mjs +0 -5
  258. package/esm2022/lib/model/service/ui/scroll.service.mjs +0 -93
  259. package/esm2022/lib/model/service/ui/window/abstract-window.service.mjs +0 -49
  260. package/esm2022/lib/model/service/ui/window/index.mjs +0 -3
  261. package/esm2022/lib/model/service/ui/window/window.service.mjs +0 -103
  262. package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +0 -37
  263. package/esm2022/lib/model/service/version/index.mjs +0 -3
  264. package/esm2022/lib/model/service/version/version.service.mjs +0 -35
  265. package/esm2022/lib/pipe/index.mjs +0 -2
  266. package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +0 -34
  267. package/esm2022/lib/util/aria-role.constant.mjs +0 -16
  268. package/esm2022/lib/util/default-scroll-behavior.mjs +0 -13
  269. package/esm2022/lib/util/empty-string.const.mjs +0 -12
  270. package/esm2022/lib/util/http-mocking-framework-config.manager.mjs +0 -129
  271. package/esm2022/lib/util/index.mjs +0 -6
  272. package/esm2022/lib/util/js-type.mjs +0 -40
  273. package/esm2022/lib/util/uuid.mjs +0 -126
  274. package/esm2022/lib/util/version.util.mjs +0 -44
  275. package/esm2022/lib/util/window/window-features-builder.mjs +0 -90
  276. package/esm2022/lib/util/window/window-header-tag-util.mjs +0 -42
  277. package/esm2022/public-api.mjs +0 -20
@@ -1,372 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Pascal ECHEMANN. All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be found in
6
- * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
- */
8
- import { HttpHeaders, HttpParams, HttpRequest, HttpStatusCode } from "@angular/common/http";
9
- import { ProgressEventMock } from "../event/progress-event-mock";
10
- import { EMPTY_STRING, Uuid } from "../../../../util";
11
- import { XhrBase } from "./xhr-base";
12
- import { HttpHeadersUtil } from "../util/http-headers.util";
13
- import { Observable, of } from "rxjs";
14
- import { DataStorageBuilder } from "../util/data-storage.builder";
15
- import { HttpMockLoggingMetadataBuilder } from "../logging/http-mock-logging-metadata.builder";
16
- import { HttpMockResponseDelayUtil } from "../util/http-mock-response-delay.util";
17
- /**
18
- * @private
19
- * Intenal "onreadystatechange" event.
20
- */
21
- const READY_STATE_CHANGE_EVENT = new Event("onreadystatechange");
22
- /**
23
- * @private
24
- */
25
- const EVT_PROPS_CONFIG = { writable: false, value: this };
26
- /**
27
- * @private
28
- * A utility class used as delegate of `XMLHttpRequest` functionalities when
29
- * a HTTP request is intercepted by the Mocking Framework .
30
- */
31
- export class DelegateXhr extends XhrBase {
32
- /**
33
- * Returns the response body content.
34
- *
35
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/response
36
- */
37
- get response() {
38
- return this._dataStorage?.data || null;
39
- }
40
- /**
41
- * Returns the numerical HTTP status code of the `XMLHttpRequest` response.
42
- *
43
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/status
44
- */
45
- get status() {
46
- return this._status;
47
- }
48
- /**
49
- * Returns a string containing the response status message as returned by the HTTP server.
50
- *
51
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/statusText
52
- */
53
- get statusText() {
54
- return this._statusText;
55
- }
56
- /**
57
- * Returns the state the `XMLHttpRequest` client is in.
58
- *
59
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readyState
60
- */
61
- get readyState() {
62
- return this._readyState;
63
- }
64
- /**
65
- * Returns the serialized URL of the response or the empty string if the URL is `null`.
66
- *
67
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseURL
68
- */
69
- get responseURL() {
70
- return this._url;
71
- }
72
- /**
73
- * Returns the text received from a server following a request being sent.
74
- *
75
- * Throws an `InvalidStateError` DOMException if responseType is not the empty string or "text".
76
- *
77
- * @see https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseText
78
- */
79
- get responseText() {
80
- return this._dataStorage?.stringifiedData || EMPTY_STRING;
81
- }
82
- /**
83
- * Returns an `XMLHttpRequestUpload` object that can be observed to monitor an upload progress.
84
- *
85
- * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/upload
86
- */
87
- get upload() {
88
- return null;
89
- }
90
- /**
91
- * @private
92
- */
93
- open(method, url, async, username, password) {
94
- this._method = method;
95
- this._url = url;
96
- this.setReadyState(this.OPENED);
97
- }
98
- /**
99
- * Aborts the request if it has already been sent. When a request is aborted, its `readyState`
100
- * is changed to `XMLHttpRequest.UNSENT` and the request status code is set to `0`.
101
- */
102
- abort() {
103
- this._readyState = this.UNSENT;
104
- this._status = 0;
105
- this.eventDispatch("abort");
106
- }
107
- /**
108
- * Returns all the response headers, separated by CRLF, as a string, or returns `null`
109
- * if no response has been received.
110
- *
111
- * @returns All the response headers, separated by CRLF, as a string, or returns `null`
112
- * if no response has been received.
113
- */
114
- getAllResponseHeaders() {
115
- if (this._readyState < this.HEADERS_RECEIVED)
116
- return null;
117
- const respHeaders = this._dataStorage?.httpResponse.headers;
118
- if (respHeaders)
119
- return HttpHeadersUtil.stringify(respHeaders);
120
- return null;
121
- }
122
- /**
123
- * Sends the request to the server.
124
- *
125
- * @param body A body of data to be sent in the XHR request.
126
- */
127
- send(body) {
128
- const start = this.now();
129
- const request = this.buildHttpRequest(body);
130
- const rc = this._routeConfig;
131
- const httpResponseMock = rc.methodConfig.data(request, rc.parameters);
132
- const responseDelay = HttpMockResponseDelayUtil.getResponseDelay(httpResponseMock.delay || 0);
133
- const timer = responseDelay.duration;
134
- const requestMetadata = {
135
- start: start,
136
- stalled: responseDelay.stalled,
137
- duration: timer,
138
- url: new URL(this._url),
139
- id: Uuid.build()
140
- };
141
- const prefetchMetadata = {
142
- request: request,
143
- requestMetadata: requestMetadata
144
- };
145
- this._logger.prefetch(prefetchMetadata);
146
- this._loadSubscription = this.loadData(httpResponseMock).subscribe({
147
- next: (data) => {
148
- this.setDataStorage(httpResponseMock, requestMetadata, data);
149
- const error = this._dataStorage.httpResponse.error;
150
- setTimeout(() => {
151
- this.setReadyState(this.HEADERS_RECEIVED);
152
- if (error)
153
- return this.onError(request, error);
154
- this.setReadyState(this.LOADING);
155
- const response = this._dataStorage.httpResponse;
156
- if (!this._progressiveDownload) {
157
- this._statusText = response.statusText || EMPTY_STRING;
158
- this._status = response.status || 0;
159
- return this.onLoadComplete(request);
160
- }
161
- this.doProgressiveDownload(request);
162
- }, timer);
163
- },
164
- error: (err) => {
165
- this.setDataStorage(httpResponseMock, requestMetadata);
166
- this.onError(request, err);
167
- }
168
- });
169
- }
170
- /**
171
- * Sets the value of an HTTP request header.
172
- *
173
- * @param name The name of the header whose value is to be set.
174
- * @param value The value to set as the body of the header.
175
- */
176
- setRequestHeader(name, value) {
177
- this._requestHeaders = this._requestHeaders.set(name, value);
178
- }
179
- /**
180
- * @private
181
- */
182
- constructor(routeConfig, _logger) {
183
- super();
184
- this._logger = _logger;
185
- /**
186
- * @private
187
- * Indicates whether the progressive download is activated, or not.
188
- */
189
- this._progressiveDownload = false;
190
- /**
191
- * @private
192
- *
193
- * Internal storage for HTTP response `data`.
194
- */
195
- this._dataStorage = null;
196
- /**
197
- * @private
198
- *
199
- * Internal storage for the HTTP request `readyState`.
200
- */
201
- this._readyState = this.UNSENT;
202
- /**
203
- * @private
204
- *
205
- * Internal storage for the HTTP request `headers`.
206
- */
207
- this._requestHeaders = null;
208
- /**
209
- * @private
210
- *
211
- * Internal storage for the HTTP request `status`.
212
- */
213
- this._status = 0;
214
- /**
215
- * @private
216
- *
217
- * Internal storage for the HTTP request `statusText`.
218
- */
219
- this._statusText = EMPTY_STRING;
220
- /**
221
- * @private
222
- */
223
- this._loadSubscription = null;
224
- /**
225
- * Returns an an enumerated string value specifying the type of data contained in the response.
226
- *
227
- * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType
228
- */
229
- this.responseType = EMPTY_STRING;
230
- this._routeConfig = routeConfig;
231
- // routeConfig.methodConfig.downloadManager
232
- this._progressiveDownload = false;
233
- this._requestHeaders = new HttpHeaders();
234
- }
235
- /**
236
- * @private
237
- * Internally used by the framework to delete a `DelegateXhr` instance.
238
- */
239
- destroy() {
240
- this._routeConfig = null;
241
- this._requestHeaders = null;
242
- this._dataStorage = null;
243
- if (this._loadSubscription) {
244
- this._loadSubscription.unsubscribe();
245
- this._loadSubscription = null;
246
- }
247
- }
248
- /**
249
- * @private
250
- */
251
- doProgressiveDownload(request) {
252
- const total = this._dataStorage.total;
253
- if (total <= 200) {
254
- console.warn("[Angular Toolbox]: Body content is too small for emulating progressive download! Minimum size is 200 octets.");
255
- return this.onLoadComplete(request);
256
- }
257
- // TODO: ameliorate the following process:
258
- const self = this;
259
- const chunckSize = Math.floor(total / 10);
260
- let cursor = 0;
261
- this._statusText = "Partial Content";
262
- this._status = HttpStatusCode.PartialContent;
263
- const idx = setInterval(() => {
264
- cursor += chunckSize;
265
- if (cursor > total) {
266
- cursor = total;
267
- clearInterval(idx);
268
- self.onLoadComplete(request);
269
- }
270
- else {
271
- this._dataStorage.loaded = cursor;
272
- self.dispatchProgressEvent();
273
- }
274
- }, 100);
275
- }
276
- finalizeRequestMetadata() {
277
- const ds = this._dataStorage;
278
- const metadata = ds.requestMetadata;
279
- const duration = this.now() - metadata.start;
280
- if (duration > metadata.duration)
281
- metadata.duration = duration;
282
- return metadata;
283
- }
284
- /**
285
- * @private
286
- */
287
- onLoadComplete(request) {
288
- this._dataStorage.loaded = this._dataStorage.total;
289
- this.setReadyState(this.DONE);
290
- this.dispatchProgressEvent("load");
291
- this._logger.info(this.buildMetadata(request));
292
- }
293
- /**
294
- * @private
295
- */
296
- onError(request, error) {
297
- this._status = error.status;
298
- this._statusText = error.statusText;
299
- this.setReadyState(this.DONE);
300
- this.dispatchProgressEvent("error");
301
- this._logger.error(this.buildMetadata(request));
302
- }
303
- /**
304
- * @private
305
- */
306
- buildMetadata(request) {
307
- return HttpMockLoggingMetadataBuilder.build(this, request, this.finalizeRequestMetadata());
308
- }
309
- /**
310
- * @private
311
- */
312
- eventDispatch(type) {
313
- const event = new Event(type);
314
- Object.defineProperty(event, 'target', EVT_PROPS_CONFIG);
315
- Object.defineProperty(event, 'currentTarget', EVT_PROPS_CONFIG);
316
- this.dispatchEvent(event);
317
- }
318
- /**
319
- * @private
320
- */
321
- dispatchProgressEvent(type = "progress") {
322
- const d = this._dataStorage;
323
- const event = new ProgressEventMock(type);
324
- event.loaded = d.loaded;
325
- event.total = d.total;
326
- this.dispatchEvent(event);
327
- }
328
- /**
329
- * @private
330
- */
331
- setReadyState(state) {
332
- this._readyState = state;
333
- const event = this.onreadystatechange;
334
- if (event)
335
- event.call(this, READY_STATE_CHANGE_EVENT);
336
- }
337
- /**
338
- * @private
339
- */
340
- loadData(httpResponseMock) {
341
- const responseBody = httpResponseMock.body;
342
- return (responseBody instanceof Observable) ? responseBody : of(responseBody);
343
- }
344
- /**
345
- * @private
346
- */
347
- setDataStorage(responseMock, requestMetadata, data = null) {
348
- this._dataStorage = DataStorageBuilder.buildDataStorage(responseMock, data, requestMetadata);
349
- }
350
- /**
351
- * @private
352
- */
353
- buildHttpRequest(body) {
354
- let params = new HttpParams();
355
- const it = this._routeConfig.searchParams.entries();
356
- for (const pair of it)
357
- params = params.set(pair[0], pair[1]);
358
- const init = {
359
- params: params,
360
- headers: this._requestHeaders,
361
- withCredentials: this.withCredentials,
362
- responseType: this.responseType,
363
- reportProgress: this.hasEventListener("progress")
364
- // context, transferCache: not used by Angular at this level of API
365
- };
366
- return new HttpRequest(this._method, this._url, body, init);
367
- }
368
- now() {
369
- return Date.now();
370
- }
371
- }
372
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUteGhyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC94aHIvZGVsZWdhdGUteGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxVQUFVLEVBQWdCLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdsRjs7O0dBR0c7QUFDSCxNQUFNLHdCQUF3QixHQUFVLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFaEU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQW9FcEM7Ozs7T0FJRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxJ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SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsIEh0dHBSZXF1ZXN0LCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBYaHJQcm94eSwgSHR0cFJlc3BvbnNlTW9jaywgSHR0cE1ldGhvZE1vY2ssIEh0dHBNb2NrRXJyb3IsIEh0dHBNb2NrTG9nZ2luZ1NlcnZpY2UsIEh0dHBNb2NrUmVxdWVzdE1ldGFkYXRhLCBIdHRwTW9ja0xvZ2dpbmdNZXRhZGF0YSwgSHR0cE1vY2tMb2dnaW5nUHJlZmV0Y2hNZXRhZGF0YSB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0V2ZW50TW9jayB9IGZyb20gXCIuLi9ldmVudC9wcm9ncmVzcy1ldmVudC1tb2NrXCI7XHJcbmltcG9ydCB7IEVNUFRZX1NUUklORywgVXVpZCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsXCI7XHJcbmltcG9ydCB7IFhockJhc2UgfSBmcm9tIFwiLi94aHItYmFzZVwiO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVyc1V0aWwgfSBmcm9tIFwiLi4vdXRpbC9odHRwLWhlYWRlcnMudXRpbFwiO1xyXG5pbXBvcnQgeyBSb3V0ZU1vY2tDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL3JvdXRlLW1vY2stY29uZmlnXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBEYXRhU3RvcmFnZSB9IGZyb20gXCIuLi9jb3JlL2RhdGEtc3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBEYXRhU3RvcmFnZUJ1aWxkZXIgfSBmcm9tIFwiLi4vdXRpbC9kYXRhLXN0b3JhZ2UuYnVpbGRlclwiO1xyXG5pbXBvcnQgeyBIdHRwTW9ja0xvZ2dpbmdNZXRhZGF0YUJ1aWxkZXIgfSBmcm9tIFwiLi4vbG9nZ2luZy9odHRwLW1vY2stbG9nZ2luZy1tZXRhZGF0YS5idWlsZGVyXCI7XHJcbmltcG9ydCB7IEh0dHBNb2NrUmVzcG9uc2VEZWxheVV0aWwgfSBmcm9tIFwiLi4vdXRpbC9odHRwLW1vY2stcmVzcG9uc2UtZGVsYXkudXRpbFwiO1xyXG5pbXBvcnQgeyBSZXNwb25zZURlbGF5IH0gZnJvbSBcIi4uL2NvcmUvcmVzcG9uc2UtZGVsYXlcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBJbnRlbmFsIFwib25yZWFkeXN0YXRlY2hhbmdlXCIgZXZlbnQuXHJcbiAqL1xyXG5jb25zdCBSRUFEWV9TVEFURV9DSEFOR0VfRVZFTlQ6IEV2ZW50ID0gbmV3IEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIpO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5jb25zdCBFVlRfUFJPUFNfQ09ORklHOiBhbnkgPSAgeyB3cml0YWJsZTogZmFsc2UsIHZhbHVlOiB0aGlzIH07XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogQSB1dGlsaXR5IGNsYXNzIHVzZWQgYXMgZGVsZWdhdGUgb2YgYFhNTEh0dHBSZXF1ZXN0YCBmdW5jdGlvbmFsaXRpZXMgd2hlblxyXG4gKiBhIEhUVFAgcmVxdWVzdCBpcyBpbnRlcmNlcHRlZCBieSB0aGUgTW9ja2luZyBGcmFtZXdvcmsgLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERlbGVnYXRlWGhyIGV4dGVuZHMgWGhyQmFzZSBpbXBsZW1lbnRzIFhoclByb3h5IHtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHByb2dyZXNzaXZlIGRvd25sb2FkIGlzIGFjdGl2YXRlZCwgb3Igbm90LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9wcm9ncmVzc2l2ZURvd25sb2FkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogVGhlIGNvbmZpZyBmb3IgdGhlIGludGVyY2VwdGVkIHJvdXRlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9yb3V0ZUNvbmZpZzogUm91dGVNb2NrQ29uZmlnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogSW50ZXJuYWwgc3RvcmFnZSBmb3IgSFRUUCByZXNwb25zZSBgZGF0YWAuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RhdGFTdG9yYWdlOiBEYXRhU3RvcmFnZSA9IG51bGwgYXMgYW55OyBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYG1ldGhvZGAuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX21ldGhvZDogdW5rbm93bjsgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgSFRUUCByZXF1ZXN0IFVSTC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfdXJsOiB1bmtub3duOyBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYHJlYWR5U3RhdGVgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9yZWFkeVN0YXRlOiBudW1iZXIgPSB0aGlzLlVOU0VOVDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYGhlYWRlcnNgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9yZXF1ZXN0SGVhZGVyczogSHR0cEhlYWRlcnMgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYHN0YXR1c2AuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3N0YXR1czogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBIVFRQIHJlcXVlc3QgYHN0YXR1c1RleHRgLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zdGF0dXNUZXh0OiBzdHJpbmcgPSBFTVBUWV9TVFJJTkc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9sb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIHJlc3BvbnNlIGJvZHkgY29udGVudC5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZVxyXG4gICAgICovXHJcbiAgICBnZXQgcmVzcG9uc2UoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2U/LmRhdGEgfHwgbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIG51bWVyaWNhbCBIVFRQIHN0YXR1cyBjb2RlIG9mIHRoZSBgWE1MSHR0cFJlcXVlc3RgIHJlc3BvbnNlLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3N0YXR1c1xyXG4gICAgICovXHJcbiAgICBnZXQgc3RhdHVzKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcmVzcG9uc2Ugc3RhdHVzIG1lc3NhZ2UgYXMgcmV0dXJuZWQgYnkgdGhlIEhUVFAgc2VydmVyLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1hNTEh0dHBSZXF1ZXN0L3N0YXR1c1RleHRcclxuICAgICAqL1xyXG4gICAgZ2V0IHN0YXR1c1RleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzVGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIHN0YXRlIHRoZSBgWE1MSHR0cFJlcXVlc3RgIGNsaWVudCBpcyBpbi5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9YTUxIdHRwUmVxdWVzdC9yZWFkeVN0YXRlXHJcbiAgICAgKi9cclxuICAgIGdldCByZWFkeVN0YXRlKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWR5U3RhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzZXJpYWxpemVkIFVSTCBvZiB0aGUgcmVzcG9uc2Ugb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgVVJMIGlzIGBudWxsYC4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VVUkxcclxuICAgICAqL1xyXG4gICAgZ2V0IHJlc3BvbnNlVVJMKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VybCBhcyBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSB0ZXh0IHJlY2VpdmVkIGZyb20gYSBzZXJ2ZXIgZm9sbG93aW5nIGEgcmVxdWVzdCBiZWluZyBzZW50LlxyXG4gICAgICpcclxuICAgICAqIFRocm93cyBhbiBgSW52YWxpZFN0YXRlRXJyb3JgIERPTUV4Y2VwdGlvbiBpZiByZXNwb25zZVR5cGUgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcgb3IgXCJ0ZXh0XCIuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VUZXh0XHJcbiAgICAgKi9cclxuICAgIGdldCByZXNwb25zZVRleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVN0b3JhZ2U/LnN0cmluZ2lmaWVkRGF0YSB8fCBFTVBUWV9TVFJJTkc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAgUmV0dXJucyBhbiBgWE1MSHR0cFJlcXVlc3RVcGxvYWRgIG9iamVjdCB0aGF0IGNhbiBiZSBvYnNlcnZlZCB0byBtb25pdG9yIGFuIHVwbG9hZCBwcm9ncmVzcy4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvdXBsb2FkXHJcbiAgICAgKi9cclxuICAgIGdldCB1cGxvYWQoKTogWE1MSHR0cFJlcXVlc3RVcGxvYWQge1xyXG4gICAgICAgIHJldHVybiBudWxsIGFzIGFueTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiAgUmV0dXJucyBhbiBhbiBlbnVtZXJhdGVkIHN0cmluZyB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSB0eXBlIG9mIGRhdGEgY29udGFpbmVkIGluIHRoZSByZXNwb25zZS4gXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2VUeXBlXHJcbiAgICAgKi9cclxuICAgIHJlc3BvbnNlVHlwZTogWE1MSHR0cFJlcXVlc3RSZXNwb25zZVR5cGUgPSBFTVBUWV9TVFJJTkcgYXMgYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXdseS1jcmVhdGVkIHJlcXVlc3QsIG9yIHJlLWluaXRpYWxpemVzIGFuIGV4aXN0aW5nIG9uZS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG1ldGhvZCBUaGUgSFRUUCByZXF1ZXN0IG1ldGhvZCB0byB1c2UsIHN1Y2ggYXMgYFwiR0VUXCJgLCBgXCJQT1NUXCJgLCBgXCJQVVRcImAsIGBcIkRFTEVURVwiYCxcclxuICAgICAqICAgICAgICAgICAgICAgZXRjLiBJZ25vcmVkIGZvciBub24tSFRUUChTKSBVUkxzLlxyXG4gICAgICogQHBhcmFtIHVybCBBIHN0cmluZyBvciBhbnkgb3RoZXIgb2JqZWN0IHdpdGggYSBzdHJpbmdpZmllciDigJQgaW5jbHVkaW5nIGEgVVJMIG9iamVjdCDigJRcclxuICAgICAqICAgICAgICAgICAgdGhhdCBwcm92aWRlcyB0aGUgVVJMIG9mIHRoZSByZXNvdXJjZSB0byBzZW5kIHRoZSByZXF1ZXN0IHRvLlxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZyB8IFVSTCk6IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIG9wZW4obWV0aG9kOiBzdHJpbmcsIHVybDogc3RyaW5nIHwgVVJMLCBhc3luYzogYm9vbGVhbiwgdXNlcm5hbWU/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBwYXNzd29yZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBvcGVuKG1ldGhvZDogdW5rbm93biwgdXJsOiB1bmtub3duLCBhc3luYz86IHVua25vd24sIHVzZXJuYW1lPzogdW5rbm93biwgcGFzc3dvcmQ/OiB1bmtub3duKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbWV0aG9kID0gbWV0aG9kO1xyXG4gICAgICAgIHRoaXMuX3VybCA9IHVybDtcclxuICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5PUEVORUQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWJvcnRzIHRoZSByZXF1ZXN0IGlmIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2VudC4gV2hlbiBhIHJlcXVlc3QgaXMgYWJvcnRlZCwgaXRzIGByZWFkeVN0YXRlYFxyXG4gICAgICogaXMgY2hhbmdlZCB0byBgWE1MSHR0cFJlcXVlc3QuVU5TRU5UYCBhbmQgdGhlIHJlcXVlc3Qgc3RhdHVzIGNvZGUgaXMgc2V0IHRvIGAwYC5cclxuICAgICAqL1xyXG4gICAgYWJvcnQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVhZHlTdGF0ZSA9IHRoaXMuVU5TRU5UO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1cyA9IDA7XHJcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoKFwiYWJvcnRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGFsbCB0aGUgcmVzcG9uc2UgaGVhZGVycywgc2VwYXJhdGVkIGJ5IENSTEYsIGFzIGEgc3RyaW5nLCBvciByZXR1cm5zIGBudWxsYFxyXG4gICAgICogaWYgbm8gcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEFsbCB0aGUgcmVzcG9uc2UgaGVhZGVycywgc2VwYXJhdGVkIGJ5IENSTEYsIGFzIGEgc3RyaW5nLCBvciByZXR1cm5zIGBudWxsYFxyXG4gICAgICogICAgICAgICAgaWYgbm8gcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQuXHJcbiAgICAgKi9cclxuICAgIGdldEFsbFJlc3BvbnNlSGVhZGVycygpOiBhbnkge1xyXG4gICAgICAgIGlmICh0aGlzLl9yZWFkeVN0YXRlIDwgdGhpcy5IRUFERVJTX1JFQ0VJVkVEKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBjb25zdCByZXNwSGVhZGVyczogSHR0cEhlYWRlcnMgfCB1bmRlZmluZWQgPSB0aGlzLl9kYXRhU3RvcmFnZT8uaHR0cFJlc3BvbnNlLmhlYWRlcnM7XHJcbiAgICAgICAgaWYgKHJlc3BIZWFkZXJzKSByZXR1cm4gSHR0cEhlYWRlcnNVdGlsLnN0cmluZ2lmeShyZXNwSGVhZGVycyk7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZW5kcyB0aGUgcmVxdWVzdCB0byB0aGUgc2VydmVyLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gYm9keSBBIGJvZHkgb2YgZGF0YSB0byBiZSBzZW50IGluIHRoZSBYSFIgcmVxdWVzdC5cclxuICAgICAqL1xyXG4gICAgc2VuZChib2R5PzogRG9jdW1lbnQgfCBYTUxIdHRwUmVxdWVzdEJvZHlJbml0IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0OiBudW1iZXIgPSB0aGlzLm5vdygpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4gPSB0aGlzLmJ1aWxkSHR0cFJlcXVlc3QoYm9keSk7XHJcbiAgICAgICAgY29uc3QgcmM6IFJvdXRlTW9ja0NvbmZpZyA9IHRoaXMuX3JvdXRlQ29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZU1vY2s6IEh0dHBSZXNwb25zZU1vY2sgPSAocmMubWV0aG9kQ29uZmlnIGFzIGFueSkuZGF0YShyZXF1ZXN0LCByYy5wYXJhbWV0ZXJzKTtcclxuICAgICAgICBjb25zdCByZXNwb25zZURlbGF5OiBSZXNwb25zZURlbGF5ID0gSHR0cE1vY2tSZXNwb25zZURlbGF5VXRpbC5nZXRSZXNwb25zZURlbGF5KGh0dHBSZXNwb25zZU1vY2suZGVsYXkgfHwgMCk7XHJcbiAgICAgICAgY29uc3QgdGltZXI6IG51bWJlciA9IHJlc3BvbnNlRGVsYXkuZHVyYXRpb247XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdE1ldGFkYXRhOiBIdHRwTW9ja1JlcXVlc3RNZXRhZGF0YSA9IHtcclxuICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxyXG4gICAgICAgICAgICBzdGFsbGVkOiByZXNwb25zZURlbGF5LnN0YWxsZWQsXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiB0aW1lcixcclxuICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHRoaXMuX3VybCBhcyBhbnkpLFxyXG4gICAgICAgICAgICBpZDogVXVpZC5idWlsZCgpXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBwcmVmZXRjaE1ldGFkYXRhOiBIdHRwTW9ja0xvZ2dpbmdQcmVmZXRjaE1ldGFkYXRhID0ge1xyXG4gICAgICAgICAgICByZXF1ZXN0OiByZXF1ZXN0LFxyXG4gICAgICAgICAgICByZXF1ZXN0TWV0YWRhdGE6IHJlcXVlc3RNZXRhZGF0YVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5fbG9nZ2VyLnByZWZldGNoKHByZWZldGNoTWV0YWRhdGEpO1xyXG4gICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmxvYWREYXRhKGh0dHBSZXNwb25zZU1vY2spLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlTW9jaywgcmVxdWVzdE1ldGFkYXRhLCBkYXRhKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yOiBIdHRwTW9ja0Vycm9yIHwgbnVsbCA9IHRoaXMuX2RhdGFTdG9yYWdlLmh0dHBSZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkeVN0YXRlKHRoaXMuSEVBREVSU19SRUNFSVZFRCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gdGhpcy5vbkVycm9yKHJlcXVlc3QsIGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5MT0FESU5HKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZTogSHR0cFJlc3BvbnNlTW9jayA9IHRoaXMuX2RhdGFTdG9yYWdlLmh0dHBSZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3Byb2dyZXNzaXZlRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhdHVzVGV4dCA9IHJlc3BvbnNlLnN0YXR1c1RleHQgfHwgRU1QVFlfU1RSSU5HO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdGF0dXMgPSByZXNwb25zZS5zdGF0dXMgfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub25Mb2FkQ29tcGxldGUocmVxdWVzdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qcm9ncmVzc2l2ZURvd25sb2FkKHJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgfSwgdGltZXIpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGFTdG9yYWdlKGh0dHBSZXNwb25zZU1vY2ssIHJlcXVlc3RNZXRhZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IocmVxdWVzdCwgZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdmFsdWUgb2YgYW4gSFRUUCByZXF1ZXN0IGhlYWRlci5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhlYWRlciB3aG9zZSB2YWx1ZSBpcyB0byBiZSBzZXQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldCBhcyB0aGUgYm9keSBvZiB0aGUgaGVhZGVyLlxyXG4gICAgICovXHJcbiAgICBzZXRSZXF1ZXN0SGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlcXVlc3RIZWFkZXJzID0gdGhpcy5fcmVxdWVzdEhlYWRlcnMuc2V0KG5hbWUsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihyb3V0ZUNvbmZpZzogUm91dGVNb2NrQ29uZmlnLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9nZ2VyOiBIdHRwTW9ja0xvZ2dpbmdTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLl9yb3V0ZUNvbmZpZyA9IHJvdXRlQ29uZmlnO1xyXG4gICAgICAgIC8vIHJvdXRlQ29uZmlnLm1ldGhvZENvbmZpZy5kb3dubG9hZE1hbmFnZXJcclxuICAgICAgICB0aGlzLl9wcm9ncmVzc2l2ZURvd25sb2FkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fcmVxdWVzdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqIEludGVybmFsbHkgdXNlZCBieSB0aGUgZnJhbWV3b3JrIHRvIGRlbGV0ZSBhIGBEZWxlZ2F0ZVhocmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlQ29uZmlnID0gbnVsbCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5fcmVxdWVzdEhlYWRlcnMgPSBudWxsIGFzIGFueTtcclxuICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZSA9IG51bGwgYXMgYW55O1xyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fbG9hZFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZG9Qcm9ncmVzc2l2ZURvd25sb2FkKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0b3RhbDogbnVtYmVyID0gdGhpcy5fZGF0YVN0b3JhZ2UudG90YWw7XHJcbiAgICAgICAgaWYgKHRvdGFsIDw9IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbQW5ndWxhciBUb29sYm94XTogQm9keSBjb250ZW50IGlzIHRvbyBzbWFsbCBmb3IgZW11bGF0aW5nIHByb2dyZXNzaXZlIGRvd25sb2FkISBNaW5pbXVtIHNpemUgaXMgMjAwIG9jdGV0cy5cIik7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uTG9hZENvbXBsZXRlKHJlcXVlc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUT0RPOiBhbWVsaW9yYXRlIHRoZSBmb2xsb3dpbmcgcHJvY2VzczpcclxuICAgICAgICBjb25zdCBzZWxmOiBEZWxlZ2F0ZVhociA9IHRoaXM7XHJcbiAgICAgICAgY29uc3QgY2h1bmNrU2l6ZTogbnVtYmVyID0gTWF0aC5mbG9vcih0b3RhbCAvIDEwKTtcclxuICAgICAgICBsZXQgY3Vyc29yOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1c1RleHQgPSBcIlBhcnRpYWwgQ29udGVudFwiO1xyXG4gICAgICAgIHRoaXMuX3N0YXR1cyA9IEh0dHBTdGF0dXNDb2RlLlBhcnRpYWxDb250ZW50O1xyXG4gICAgICAgIGNvbnN0IGlkeCA9IHNldEludGVydmFsKCgpPT4ge1xyXG4gICAgICAgICAgICBjdXJzb3IgKz0gY2h1bmNrU2l6ZTtcclxuICAgICAgICAgICAgaWYgKGN1cnNvciA+IHRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3IgPSB0b3RhbDtcclxuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaWR4KTtcclxuICAgICAgICAgICAgICAgIHNlbGYub25Mb2FkQ29tcGxldGUocmVxdWVzdCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZS5sb2FkZWQgPSBjdXJzb3I7XHJcbiAgICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbmFsaXplUmVxdWVzdE1ldGFkYXRhKCk6IEh0dHBNb2NrUmVxdWVzdE1ldGFkYXRhIHtcclxuICAgICAgICBjb25zdCBkczogRGF0YVN0b3JhZ2UgPSB0aGlzLl9kYXRhU3RvcmFnZTtcclxuICAgICAgICBjb25zdCBtZXRhZGF0YTogSHR0cE1vY2tSZXF1ZXN0TWV0YWRhdGEgPSBkcy5yZXF1ZXN0TWV0YWRhdGE7XHJcbiAgICAgICAgY29uc3QgZHVyYXRpb246IG51bWJlciA9IHRoaXMubm93KCkgLSBtZXRhZGF0YS5zdGFydDtcclxuICAgICAgICBpZiAoZHVyYXRpb24gPiBtZXRhZGF0YS5kdXJhdGlvbikgbWV0YWRhdGEuZHVyYXRpb24gPSBkdXJhdGlvbjtcclxuICAgICAgICByZXR1cm4gbWV0YWRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9uTG9hZENvbXBsZXRlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZS5sb2FkZWQgPSB0aGlzLl9kYXRhU3RvcmFnZS50b3RhbDtcclxuICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5ET05FKTtcclxuICAgICAgICB0aGlzLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChcImxvYWRcIik7XHJcbiAgICAgICAgdGhpcy5fbG9nZ2VyLmluZm8odGhpcy5idWlsZE1ldGFkYXRhKHJlcXVlc3QpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgb25FcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBlcnJvcjogSHR0cE1vY2tFcnJvcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N0YXR1cyA9IGVycm9yLnN0YXR1cztcclxuICAgICAgICB0aGlzLl9zdGF0dXNUZXh0ID0gZXJyb3Iuc3RhdHVzVGV4dDtcclxuICAgICAgICB0aGlzLnNldFJlYWR5U3RhdGUodGhpcy5ET05FKTtcclxuICAgICAgICB0aGlzLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChcImVycm9yXCIpO1xyXG4gICAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcih0aGlzLmJ1aWxkTWV0YWRhdGEocmVxdWVzdCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBidWlsZE1ldGFkYXRhKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwTW9ja0xvZ2dpbmdNZXRhZGF0YSB7XHJcbiAgICAgICAgcmV0dXJuIEh0dHBNb2NrTG9nZ2luZ01ldGFkYXRhQnVpbGRlci5idWlsZCh0aGlzLCByZXF1ZXN0LCB0aGlzLmZpbmFsaXplUmVxdWVzdE1ldGFkYXRhKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoKHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50OiBFdmVudCA9IG5ldyBFdmVudCh0eXBlKTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICd0YXJnZXQnLCBFVlRfUFJPUFNfQ09ORklHKTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXZlbnQsICdjdXJyZW50VGFyZ2V0JywgRVZUX1BST1BTX0NPTkZJRyk7XHJcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGRpc3BhdGNoUHJvZ3Jlc3NFdmVudCh0eXBlOiBzdHJpbmcgPSBcInByb2dyZXNzXCIpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkOiBhbnkgPSB0aGlzLl9kYXRhU3RvcmFnZTtcclxuICAgICAgICBjb25zdCBldmVudDogUHJvZ3Jlc3NFdmVudE1vY2sgPSBuZXcgUHJvZ3Jlc3NFdmVudE1vY2sodHlwZSk7XHJcbiAgICAgICAgZXZlbnQubG9hZGVkID0gZC5sb2FkZWQ7XHJcbiAgICAgICAgZXZlbnQudG90YWwgPSBkLnRvdGFsO1xyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzZXRSZWFkeVN0YXRlKHN0YXRlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWFkeVN0YXRlID0gc3RhdGU7XHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IGFueSA9IHRoaXMub25yZWFkeXN0YXRlY2hhbmdlO1xyXG4gICAgICAgIGlmIChldmVudCkgZXZlbnQuY2FsbCh0aGlzLCBSRUFEWV9TVEFURV9DSEFOR0VfRVZFTlQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGUgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbG9hZERhdGEoaHR0cFJlc3BvbnNlTW9jazogSHR0cFJlc3BvbnNlTW9jayk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2VCb2R5OiBhbnkgfCBPYnNlcnZhYmxlPGFueT4gPSBodHRwUmVzcG9uc2VNb2NrLmJvZHk7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZUJvZHkgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSA/IHJlc3BvbnNlQm9keSA6IG9mKHJlc3BvbnNlQm9keSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzZXREYXRhU3RvcmFnZShyZXNwb25zZU1vY2s6IEh0dHBSZXNwb25zZU1vY2ssIHJlcXVlc3RNZXRhZGF0YTogSHR0cE1vY2tSZXF1ZXN0TWV0YWRhdGEsIGRhdGE6IGFueSA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kYXRhU3RvcmFnZSA9IERhdGFTdG9yYWdlQnVpbGRlci5idWlsZERhdGFTdG9yYWdlKHJlc3BvbnNlTW9jaywgZGF0YSwgcmVxdWVzdE1ldGFkYXRhKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZSBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0KGJvZHk6IGFueSk6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgICAgIGxldCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIGNvbnN0IGl0OiBJdGVyYWJsZUl0ZXJhdG9yPFtzdHJpbmcsIHN0cmluZ10+ID0gKHRoaXMuX3JvdXRlQ29uZmlnLnNlYXJjaFBhcmFtcyBhcyBhbnkpLmVudHJpZXMoKTtcclxuICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgaXQpIHBhcmFtcyA9IHBhcmFtcy5zZXQocGFpclswXSwgcGFpclsxXSk7XHJcbiAgICAgICAgY29uc3QgaW5pdDogYW55ID0ge1xyXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICAgICAgaGVhZGVyczogdGhpcy5fcmVxdWVzdEhlYWRlcnMsXHJcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHMsXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogdGhpcy5yZXNwb25zZVR5cGUsXHJcbiAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0aGlzLmhhc0V2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiKVxyXG4gICAgICAgICAgICAvLyBjb250ZXh0LCB0cmFuc2ZlckNhY2hlOiBub3QgdXNlZCBieSBBbmd1bGFyIGF0IHRoaXMgbGV2ZWwgb2YgQVBJXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBSZXF1ZXN0PGFueT4odGhpcy5fbWV0aG9kIGFzIHN0cmluZywgdGhpcy5fdXJsIGFzIGFueSwgYm9keSwgaW5pdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBub3coKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gRGF0ZS5ub3coKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,30 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Pascal ECHEMANN. All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be found in
6
- * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
- */
8
- import { XhrFactory } from "@angular/common";
9
- import { XhrProxyImpl } from "./xhr-proxy-impl";
10
- /**
11
- * @private
12
- * The concrete implementation of the `XhrFactory` interface.
13
- */
14
- export class XhrProxyFactoryImpl extends XhrFactory {
15
- /**
16
- * @private
17
- */
18
- constructor(_httpMockService, _logger) {
19
- super();
20
- this._httpMockService = _httpMockService;
21
- this._logger = _logger;
22
- }
23
- /**
24
- * @private
25
- */
26
- build() {
27
- return new XhrProxyImpl(this._httpMockService, this._logger);
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLWZhY3RvcnkuaW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAveGhyL2h0dHAtbW9jay1mYWN0b3J5LmltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQUUvQzs7T0FFRztJQUNILFlBQW9CLGdCQUFpQyxFQUNqQyxPQUErQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQUZRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFFbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNSLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBYaHJGYWN0b3J5IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWwvc2VydmljZS9tb2NrL2h0dHAvaHR0cC1tb2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWGhyUHJveHlJbXBsIH0gZnJvbSBcIi4veGhyLXByb3h5LWltcGxcIjtcclxuaW1wb3J0IHsgSHR0cE1vY2tMb2dnaW5nU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYFhockZhY3RvcnlgIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBYaHJQcm94eUZhY3RvcnlJbXBsIGV4dGVuZHMgWGhyRmFjdG9yeSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwTW9ja1NlcnZpY2U6IEh0dHBNb2NrU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogSHR0cE1vY2tMb2dnaW5nU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYnVpbGQoKTogWE1MSHR0cFJlcXVlc3Qge1xyXG4gICAgICAgIHJldHVybiBuZXcgWGhyUHJveHlJbXBsKHRoaXMuX2h0dHBNb2NrU2VydmljZSwgdGhpcy5fbG9nZ2VyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,20 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Pascal ECHEMANN. All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be found in
6
- * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
- */
8
- import { inject } from "@angular/core";
9
- import { HttpMockService } from "../../../../model/service/mock/http/http-mock.service";
10
- import { XhrProxyFactoryImpl } from "./http-mock-factory.impl";
11
- import { HttpMockLoggingService } from "../../../../model";
12
- /**
13
- * A factory function that creates and returns a new `XhrFactory` object.
14
- *
15
- * @returns A new `XhrFactory` object.
16
- */
17
- export const httpMockFactory = () => {
18
- return new XhrProxyFactoryImpl(inject(HttpMockService), inject(HttpMockLoggingService));
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3hoci9odHRwLW1vY2stZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUUsRUFBRTtJQUMvQixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7QUFDNUYsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cE1vY2tTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL3NlcnZpY2UvbW9jay9odHRwL2h0dHAtbW9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFhoclByb3h5RmFjdG9yeUltcGwgfSBmcm9tIFwiLi9odHRwLW1vY2stZmFjdG9yeS5pbXBsXCI7XHJcbmltcG9ydCB7IEh0dHBNb2NrTG9nZ2luZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxcIjtcclxuXHJcbi8qKlxyXG4gKiBBIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGFuZCByZXR1cm5zIGEgbmV3IGBYaHJGYWN0b3J5YCBvYmplY3QuXHJcbiAqIFxyXG4gKiBAcmV0dXJucyBBIG5ldyBgWGhyRmFjdG9yeWAgb2JqZWN0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGh0dHBNb2NrRmFjdG9yeSA9ICgpPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBYaHJQcm94eUZhY3RvcnlJbXBsKGluamVjdChIdHRwTW9ja1NlcnZpY2UpLCBpbmplY3QoSHR0cE1vY2tMb2dnaW5nU2VydmljZSkpO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './http-mock-factory';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3hoci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9odHRwLW1vY2stZmFjdG9yeSc7Il19
@@ -1,123 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Pascal ECHEMANN. All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be found in
6
- * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
- */
8
- import { EventTargetImpl } from "../event/event-target.impl";
9
- /**
10
- * @private
11
- *
12
- * Elemenets marked as "Useless" are never invoked by the Angular framework.
13
- */
14
- export class XhrBase extends EventTargetImpl {
15
- constructor() {
16
- super(...arguments);
17
- /**
18
- * @private
19
- *
20
- * XMLHTTPRequest API
21
- */
22
- this.UNSENT = 0;
23
- /**
24
- * @private
25
- *
26
- * XMLHTTPRequest API
27
- */
28
- this.OPENED = 1;
29
- /**
30
- * @private
31
- *
32
- * XMLHTTPRequest API
33
- */
34
- this.HEADERS_RECEIVED = 2;
35
- /**
36
- * @private
37
- *
38
- * XMLHTTPRequest API
39
- */
40
- this.LOADING = 3;
41
- /**
42
- * @private
43
- *
44
- * XMLHTTPRequest API
45
- */
46
- this.DONE = 4;
47
- /**
48
- * @private
49
- *
50
- * XMLHTTPRequest API
51
- */
52
- this.withCredentials = false;
53
- /**
54
- * @private
55
- *
56
- * XMLHTTPRequest API - Useless
57
- */
58
- this.onabort = null;
59
- /**
60
- * @private
61
- *
62
- * XMLHTTPRequest API - Useless
63
- */
64
- this.onerror = null;
65
- /**
66
- * @private
67
- *
68
- * XMLHTTPRequest API - Useless
69
- */
70
- this.onload = null;
71
- /**
72
- * @private
73
- *
74
- * XMLHTTPRequest API - Useless
75
- */
76
- this.onloadend = null;
77
- /**
78
- * @private
79
- *
80
- * XMLHTTPRequest API - Useless
81
- */
82
- this.onloadstart = null;
83
- /**
84
- * @private
85
- *
86
- * XMLHTTPRequest API - Useless
87
- */
88
- this.onprogress = null;
89
- /**
90
- * @private
91
- *
92
- * XMLHTTPRequest API - Useless
93
- */
94
- this.onreadystatechange = null;
95
- /**
96
- * @private
97
- *
98
- * XMLHTTPRequest API - Useless
99
- */
100
- this.ontimeout = null;
101
- }
102
- /**
103
- * @private
104
- *
105
- * XMLHTTPRequest API - Useless
106
- */
107
- get responseXML() {
108
- return null;
109
- }
110
- /**
111
- * @private
112
- *
113
- * XMLHTTPRequest API - Useless
114
- */
115
- overrideMimeType(mime) { }
116
- /**
117
- * @private
118
- *
119
- * XMLHTTPRequest API - Useless
120
- */
121
- getResponseHeader(name) { return null; }
122
- }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3hoci94aHItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0Q7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxPQUFRLFNBQVEsZUFBZTtJQUE1Qzs7UUFFSTs7OztXQUlHO1FBQ00sV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVwQjs7OztXQUlHO1FBQ00sV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVwQjs7OztXQUlHO1FBQ00scUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRTlCOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRXJCOzs7O1dBSUc7UUFDTSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBV2xCOzs7O1dBSUc7UUFDSCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQVNqQzs7OztXQUlHO1FBQ0gsWUFBTyxHQUEyRSxJQUFJLENBQUM7UUFFdkY7Ozs7V0FJRztRQUNILFlBQU8sR0FBMkUsSUFBSSxDQUFDO1FBRXZGOzs7O1dBSUc7UUFDSCxXQUFNLEdBQTJFLElBQUksQ0FBQztRQUV0Rjs7OztXQUlHO1FBQ0gsY0FBUyxHQUEyRSxJQUFJLENBQUM7UUFFekY7Ozs7V0FJRztRQUNILGdCQUFXLEdBQTJFLElBQUksQ0FBQztRQUUzRjs7OztXQUlHO1FBQ0gsZUFBVSxHQUEyRSxJQUFJLENBQUM7UUFFMUY7Ozs7V0FJRztRQUNILHVCQUFrQixHQUFzRCxJQUFJLENBQUM7UUFFN0U7Ozs7V0FJRztRQUNILGNBQVMsR0FBMkUsSUFBSSxDQUFDO0lBZTdGLENBQUM7SUE1Rkc7Ozs7T0FJRztJQUNILElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUF3RUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLElBQVksSUFBUyxDQUFDO0lBRXZDOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFZLElBQW1CLE9BQU8sSUFBSSxDQUFBLENBQUMsQ0FBQztDQUNqRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEV2ZW50VGFyZ2V0SW1wbCB9IGZyb20gXCIuLi9ldmVudC9ldmVudC10YXJnZXQuaW1wbFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFxyXG4gKiBFbGVtZW5ldHMgbWFya2VkIGFzIFwiVXNlbGVzc1wiIGFyZSBuZXZlciBpbnZva2VkIGJ5IHRoZSBBbmd1bGFyIGZyYW1ld29yay5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBYaHJCYXNlIGV4dGVuZHMgRXZlbnRUYXJnZXRJbXBsIHtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUElcclxuICAgICAqL1xyXG4gICAgcmVhZG9ubHkgVU5TRU5UID0gMDtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUElcclxuICAgICAqL1xyXG4gICAgcmVhZG9ubHkgT1BFTkVEID0gMTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUElcclxuICAgICAqL1xyXG4gICAgcmVhZG9ubHkgSEVBREVSU19SRUNFSVZFRCA9IDI7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJXHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IExPQURJTkcgPSAzO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIFhNTEhUVFBSZXF1ZXN0IEFQSVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSBET05FID0gNDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIFhNTEhUVFBSZXF1ZXN0IEFQSSAtIFVzZWxlc3NcclxuICAgICAqL1xyXG4gICAgZ2V0IHJlc3BvbnNlWE1MKCk6IERvY3VtZW50IHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUElcclxuICAgICAqL1xyXG4gICAgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUElcclxuICAgICAqL1xyXG4gICAgdGltZW91dCE6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIFhNTEhUVFBSZXF1ZXN0IEFQSSAtIFVzZWxlc3NcclxuICAgICAqL1xyXG4gICAgb25hYm9ydDogKCh0aGlzOiBYTUxIdHRwUmVxdWVzdCwgZXY6IFByb2dyZXNzRXZlbnQ8RXZlbnRUYXJnZXQ+KSA9PiBhbnkpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUEkgLSBVc2VsZXNzXHJcbiAgICAgKi9cclxuICAgIG9uZXJyb3I6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBQcm9ncmVzc0V2ZW50PEV2ZW50VGFyZ2V0PikgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvbmxvYWQ6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBQcm9ncmVzc0V2ZW50PEV2ZW50VGFyZ2V0PikgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvbmxvYWRlbmQ6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBQcm9ncmVzc0V2ZW50PEV2ZW50VGFyZ2V0PikgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvbmxvYWRzdGFydDogKCh0aGlzOiBYTUxIdHRwUmVxdWVzdCwgZXY6IFByb2dyZXNzRXZlbnQ8RXZlbnRUYXJnZXQ+KSA9PiBhbnkpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBYTUxIVFRQUmVxdWVzdCBBUEkgLSBVc2VsZXNzXHJcbiAgICAgKi9cclxuICAgIG9ucHJvZ3Jlc3M6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBQcm9ncmVzc0V2ZW50PEV2ZW50VGFyZ2V0PikgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvbnJlYWR5c3RhdGVjaGFuZ2U6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvbnRpbWVvdXQ6ICgodGhpczogWE1MSHR0cFJlcXVlc3QsIGV2OiBQcm9ncmVzc0V2ZW50PEV2ZW50VGFyZ2V0PikgPT4gYW55KSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogWE1MSFRUUFJlcXVlc3QgQVBJIC0gVXNlbGVzc1xyXG4gICAgICovXHJcbiAgICBvdmVycmlkZU1pbWVUeXBlKG1pbWU6IHN0cmluZyk6IHZvaWQge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBcclxuICAgICAqIFhNTEhUVFBSZXF1ZXN0IEFQSSAtIFVzZWxlc3NcclxuICAgICAqL1xyXG4gICAgZ2V0UmVzcG9uc2VIZWFkZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiBudWxsIH1cclxufSJdfQ==