angular-toolbox 1.4.6 → 1.5.1

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,52 +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 { HttpErrorResponse } from "@angular/common/http";
9
- import { from } from "rxjs";
10
- import { FetchClientResponseType } from "./fetch-client-response-type.enum";
11
- /**
12
- * A static utility class for building `FetchClient` objects.
13
- */
14
- export class FetchClientBuilder {
15
- /**
16
- * Builds and returns a new `FetchClient` object.
17
- *
18
- * @param input The definition of the resource to fetch.
19
- * @param init The object containing options to configure the request.
20
- * @param responseType Specifies the type of response for the resource to fetch.
21
- *
22
- * @returns A new `FetchClient` object.
23
- */
24
- static buildFetchClient(input, init = null, responseType = FetchClientResponseType.JSON) {
25
- return from(fetch(input, init || undefined).then((response) => {
26
- const rspType = responseType;
27
- if (response.ok)
28
- return rspType !== FetchClientResponseType.RESPONSE ? FetchClientBuilder.buildResponseStrategy(response, rspType) : response;
29
- throw new HttpErrorResponse({
30
- status: response.status,
31
- statusText: response.statusText
32
- });
33
- }));
34
- }
35
- /**
36
- * @private
37
- */
38
- static buildResponseStrategy(response, responseType) {
39
- if (responseType === FetchClientResponseType.JSON)
40
- return response.json();
41
- if (responseType === FetchClientResponseType.BLOB)
42
- return response.blob();
43
- if (responseType === FetchClientResponseType.FORM_DATA)
44
- return response.formData();
45
- if (responseType === FetchClientResponseType.ARRAY_BUFFER)
46
- return response.arrayBuffer();
47
- if (responseType === FetchClientResponseType.TEXT)
48
- return response.text();
49
- return response.json();
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2xpZW50LmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvZmV0Y2gtY2xpZW50LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFFM0I7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxPQUEyQixJQUFJLEVBQUUsZUFBd0MsdUJBQXVCLENBQUMsSUFBSTtRQUMxSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDcEUsTUFBTSxPQUFPLEdBQTRCLFlBQVksQ0FBQztZQUN0RCxJQUFJLFFBQVEsQ0FBQyxFQUFFO2dCQUFFLE9BQU8sT0FBTyxLQUFLLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDOUksTUFBTSxJQUFJLGlCQUFpQixDQUFDO2dCQUN4QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3ZCLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTthQUNsQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQWtCLEVBQUUsWUFBcUM7UUFDMUYsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFFLElBQUksWUFBWSxLQUFLLHVCQUF1QixDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxJQUFJLFlBQVksS0FBSyx1QkFBdUIsQ0FBQyxTQUFTO1lBQUUsT0FBTyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkYsSUFBSSxZQUFZLEtBQUssdUJBQXVCLENBQUMsWUFBWTtZQUFFLE9BQU8sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pGLElBQUksWUFBWSxLQUFLLHVCQUF1QixDQUFDLElBQUk7WUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBGZXRjaENsaWVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBmcm9tIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUgfSBmcm9tIFwiLi9mZXRjaC1jbGllbnQtcmVzcG9uc2UtdHlwZS5lbnVtXCI7XHJcblxyXG4vKipcclxuICogQSBzdGF0aWMgdXRpbGl0eSBjbGFzcyBmb3IgYnVpbGRpbmcgYEZldGNoQ2xpZW50YCBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZldGNoQ2xpZW50QnVpbGRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW5kIHJldHVybnMgYSBuZXcgYEZldGNoQ2xpZW50YCBvYmplY3QuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBpbnB1dCBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3VyY2UgdG8gZmV0Y2guXHJcbiAgICAgKiBAcGFyYW0gaW5pdCBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyB0byBjb25maWd1cmUgdGhlIHJlcXVlc3QuXHJcbiAgICAgKiBAcGFyYW0gcmVzcG9uc2VUeXBlIFNwZWNpZmllcyB0aGUgdHlwZSBvZiByZXNwb25zZSBmb3IgdGhlIHJlc291cmNlIHRvIGZldGNoLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyBgRmV0Y2hDbGllbnRgIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBidWlsZEZldGNoQ2xpZW50KGlucHV0OiBSZXF1ZXN0SW5mbyB8IFVSTCwgaW5pdDogUmVxdWVzdEluaXQgfCBudWxsID0gbnVsbCwgcmVzcG9uc2VUeXBlOiBGZXRjaENsaWVudFJlc3BvbnNlVHlwZSA9IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkpTT04pOiBGZXRjaENsaWVudCB7XHJcbiAgICAgICAgcmV0dXJuIGZyb20oZmV0Y2goaW5wdXQsIGluaXQgfHwgdW5kZWZpbmVkKS50aGVuKChyZXNwb25zZTogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcnNwVHlwZTogRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUgPSByZXNwb25zZVR5cGU7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5vaykgcmV0dXJuIHJzcFR5cGUgIT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLlJFU1BPTlNFID8gRmV0Y2hDbGllbnRCdWlsZGVyLmJ1aWxkUmVzcG9uc2VTdHJhdGVneShyZXNwb25zZSwgcnNwVHlwZSkgOiByZXNwb25zZTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogcmVzcG9uc2Uuc3RhdHVzVGV4dFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBidWlsZFJlc3BvbnNlU3RyYXRlZ3kocmVzcG9uc2U6IFJlc3BvbnNlLCByZXNwb25zZVR5cGU6IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlKTogUHJvbWlzZTxhbnk+e1xyXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkpTT04pIHJldHVybiByZXNwb25zZS5qc29uKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuQkxPQikgcmV0dXJuIHJlc3BvbnNlLmJsb2IoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09PSBGZXRjaENsaWVudFJlc3BvbnNlVHlwZS5GT1JNX0RBVEEpIHJldHVybiByZXNwb25zZS5mb3JtRGF0YSgpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09IEZldGNoQ2xpZW50UmVzcG9uc2VUeXBlLkFSUkFZX0JVRkZFUikgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gRmV0Y2hDbGllbnRSZXNwb25zZVR5cGUuVEVYVCkgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,138 +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 } from "@angular/common/http";
9
- /**
10
- * A statefull builder for creating new `HttpHeaders` instances.
11
- */
12
- export class HttpHeadersMockBuilder {
13
- constructor() {
14
- /**
15
- * @private
16
- */
17
- this._headers = new HttpHeaders();
18
- }
19
- /**
20
- * Sets the `"Cache-Control"` property of the new `HttpHeaders` instance with the specified value.
21
- *
22
- * @param value The value used to set the `"Cache-Control"` property of the new `HttpHeaders` instance.
23
- * Default value is `"no-cache"`.
24
- *
25
- * @returns A reference to this `HttpResponseMockBuilder` instance.
26
- */
27
- cacheControl(value = "no-cache") {
28
- this.setHeader("Cache-Control", value);
29
- return this;
30
- }
31
- /**
32
- * Sets the `"CContent-Type"` property of the new `HttpHeaders` instance with the specified value.
33
- *
34
- * @param value The value used to set the `"Content-Type"` property of the new `HttpHeaders` instance.
35
- * Default value is `"application/json; charset=utf-8"`.
36
- *
37
- * @returns A reference to this `HttpResponseMockBuilder` instance.
38
- */
39
- contentType(value = "application/json; charset=utf-8") {
40
- this.setHeader("Content-Type", value);
41
- return this;
42
- }
43
- /**
44
- * Sets the `"Priority"` property of the new `HttpHeaders` instance with the specified value.
45
- *
46
- * @param value The value used to set the `"Priority"` property of the new `HttpHeaders` instance.
47
- * Default value is `"u=0, i"`.
48
- *
49
- * @returns A reference to this `HttpResponseMockBuilder` instance.
50
- */
51
- priority(value = "u=0, i") {
52
- this.setHeader("Priority", value);
53
- return this;
54
- }
55
- /**
56
- * Sets the `"User-Agent"` property of the new `HttpHeaders` instance with the specified value.
57
- *
58
- * @param value The value used to set the `"User-Agent"` property of the new `HttpHeaders` instance.
59
- * Default value is the navigator user agent.
60
- *
61
- * @returns A reference to this `HttpResponseMockBuilder` instance.
62
- */
63
- userAgent(value = null) {
64
- this.setHeader("User-Agent", value || navigator.userAgent);
65
- return this;
66
- }
67
- /**
68
- * Sets the `"Accept-Language"` property of the new `HttpHeaders` instance with the specified value.
69
- *
70
- * @param value The value used to set the `"Accept-Language"` property of the new `HttpHeaders` instance.
71
- * Default value is the navigator language.
72
- *
73
- * @returns A reference to this `HttpResponseMockBuilder` instance.
74
- */
75
- acceptLanguage(value = null) {
76
- this.setHeader("Accept-Language", value || navigator.language);
77
- return this;
78
- }
79
- /**
80
- * Sets the `"Accept"` property of the new `HttpHeaders` instance with the specified value.
81
- *
82
- * @param value The value used to set the `"Accept"` property of the new `HttpHeaders` instance.
83
- * Default value is `'*\/*'`.
84
- *
85
- * @returns A reference to this `HttpResponseMockBuilder` instance.
86
- */
87
- accept(value = "*/*") {
88
- this.setHeader("Accept", value);
89
- return this;
90
- }
91
- /**
92
- * Sets the `"Accept-Encoding"` property of the new `HttpHeaders` instance with the specified value.
93
- *
94
- * @param value The value used to set the `"Accept-Encoding"` property of the new `HttpHeaders` instance.
95
- * Default value is `"ngzip, deflate, br, zstd"`.
96
- *
97
- * @returns A reference to this `HttpResponseMockBuilder` instance.
98
- */
99
- acceptEncoding(value = "gzip, deflate, br, zstd") {
100
- this.setHeader("Accept-Encoding", value);
101
- return this;
102
- }
103
- /**
104
- * Sets or modifies a value of the new `HttpHeaders` instance.
105
- *
106
- * @param name The header name.
107
- * @param value The value or values to set or override for the given header.
108
- *
109
- * @returns A reference to this `HttpResponseMockBuilder` instance.
110
- */
111
- set(name, value) {
112
- this.setHeader(name, value);
113
- return this;
114
- }
115
- /**
116
- * Return a new `HttpHeaders` instance, built from the properties specified with the
117
- * `HttpHeadersMockBuilder` methods.
118
- *
119
- * @returns A new `HttpHeaders` instance.
120
- */
121
- headers() {
122
- return this._headers;
123
- }
124
- /**
125
- * @private
126
- */
127
- setHeader(name, value) {
128
- const values = Array.isArray(value) ? value.join(", ") : value;
129
- this._headers = this._headers.set(name, values);
130
- }
131
- }
132
- /**
133
- * A utility function used to create new "chainable" `HttpHeadersMockBuilder` instances.
134
- *
135
- * @returns A new `HttpHeadersMockBuilder` instance;
136
- */
137
- export const httpHeadersMock = () => new HttpHeadersMockBuilder();
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWFkZXJzLW1vY2suYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9odHRwLWhlYWRlcnMtbW9jay5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFBbkM7UUFFSTs7V0FFRztRQUNLLGFBQVEsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQTJIdEQsQ0FBQztJQXpIRzs7Ozs7OztPQU9HO0lBQ0ksWUFBWSxDQUFDLFFBQWdCLFVBQVU7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxXQUFXLENBQUMsUUFBZ0IsaUNBQWlDO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUFDLFFBQWdCLFFBQVE7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxTQUFTLENBQUMsUUFBdUIsSUFBSTtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksY0FBYyxDQUFDLFFBQXVCLElBQUk7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFFBQWdCLEtBQUs7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxjQUFjLENBQUMsUUFBZ0IseUJBQXlCO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQXdCO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssU0FBUyxDQUFDLElBQVksRUFBRSxLQUF3QjtRQUNwRCxNQUFNLE1BQU0sR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNKO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBK0IsR0FBRSxFQUFFLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbi8qKlxyXG4gKiBBIHN0YXRlZnVsbCBidWlsZGVyIGZvciBjcmVhdGluZyBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSHR0cEhlYWRlcnNNb2NrQnVpbGRlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9oZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYFwiQ2FjaGUtQ29udHJvbFwiYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwSGVhZGVyc2AgaW5zdGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHZhbHVlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHVzZWQgdG8gc2V0IHRoZSBgXCJDYWNoZS1Db250cm9sXCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYFwibm8tY2FjaGVcImAuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNhY2hlQ29udHJvbCh2YWx1ZTogc3RyaW5nID0gXCJuby1jYWNoZVwiKTogSHR0cEhlYWRlcnNNb2NrQnVpbGRlciB7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkZXIoXCJDYWNoZS1Db250cm9sXCIsIHZhbHVlKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgXCJDQ29udGVudC1UeXBlXCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdXNlZCB0byBzZXQgdGhlIGBcIkNvbnRlbnQtVHlwZVwiYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwSGVhZGVyc2AgaW5zdGFuY2UuXHJcbiAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIGBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLThcImAuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnRlbnRUeXBlKHZhbHVlOiBzdHJpbmcgPSBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLThcIik6IEh0dHBIZWFkZXJzTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIHZhbHVlKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIGBcIlByaW9yaXR5XCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdXNlZCB0byBzZXQgdGhlIGBcIlByaW9yaXR5XCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYFwidT0wLCBpXCJgLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwcmlvcml0eSh2YWx1ZTogc3RyaW5nID0gXCJ1PTAsIGlcIik6IEh0dHBIZWFkZXJzTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKFwiUHJpb3JpdHlcIiwgdmFsdWUpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYFwiVXNlci1BZ2VudFwiYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwSGVhZGVyc2AgaW5zdGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHZhbHVlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHVzZWQgdG8gc2V0IHRoZSBgXCJVc2VyLUFnZW50XCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgdGhlIG5hdmlnYXRvciB1c2VyIGFnZW50LlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB1c2VyQWdlbnQodmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsKTogSHR0cEhlYWRlcnNNb2NrQnVpbGRlciB7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkZXIoXCJVc2VyLUFnZW50XCIsIHZhbHVlIHx8IG5hdmlnYXRvci51c2VyQWdlbnQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYFwiQWNjZXB0LUxhbmd1YWdlXCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdXNlZCB0byBzZXQgdGhlIGBcIkFjY2VwdC1MYW5ndWFnZVwiYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwSGVhZGVyc2AgaW5zdGFuY2UuXHJcbiAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIHRoZSBuYXZpZ2F0b3IgbGFuZ3VhZ2UuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFjY2VwdExhbmd1YWdlKHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IEh0dHBIZWFkZXJzTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKFwiQWNjZXB0LUxhbmd1YWdlXCIsIHZhbHVlIHx8IG5hdmlnYXRvci5sYW5ndWFnZSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgXCJBY2NlcHRcImAgcHJvcGVydHkgb2YgdGhlIG5ldyBgSHR0cEhlYWRlcnNgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCB2YWx1ZS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYFwiQWNjZXB0XCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYCcqXFwvKidgLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhY2NlcHQodmFsdWU6IHN0cmluZyA9IFwiKi8qXCIpOiBIdHRwSGVhZGVyc01vY2tCdWlsZGVyIHtcclxuICAgICAgICB0aGlzLnNldEhlYWRlcihcIkFjY2VwdFwiLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgXCJBY2NlcHQtRW5jb2RpbmdcImAgcHJvcGVydHkgb2YgdGhlIG5ldyBgSHR0cEhlYWRlcnNgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCB2YWx1ZS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYFwiQWNjZXB0LUVuY29kaW5nXCJgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYFwibmd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkXCJgLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhY2NlcHRFbmNvZGluZyh2YWx1ZTogc3RyaW5nID0gXCJnemlwLCBkZWZsYXRlLCBiciwgenN0ZFwiKTogSHR0cEhlYWRlcnNNb2NrQnVpbGRlciB7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkZXIoXCJBY2NlcHQtRW5jb2RpbmdcIiwgdmFsdWUpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBvciBtb2RpZmllcyBhIHZhbHVlIG9mIHRoZSBuZXcgYEh0dHBIZWFkZXJzYCBpbnN0YW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgaGVhZGVyIG5hbWUuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9yIHZhbHVlcyB0byBzZXQgb3Igb3ZlcnJpZGUgZm9yIHRoZSBnaXZlbiBoZWFkZXIuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IEh0dHBIZWFkZXJzTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKG5hbWUsIHZhbHVlKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybiBhIG5ldyBgSHR0cEhlYWRlcnNgIGluc3RhbmNlLCBidWlsdCBmcm9tIHRoZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCB3aXRoIHRoZVxyXG4gICAgICogYEh0dHBIZWFkZXJzTW9ja0J1aWxkZXJgIG1ldGhvZHMuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgbmV3IGBIdHRwSGVhZGVyc2AgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faGVhZGVycztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2V0SGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzOiBzdHJpbmcgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmpvaW4oXCIsIFwiKSA6IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2hlYWRlcnMgPSB0aGlzLl9oZWFkZXJzLnNldChuYW1lLCB2YWx1ZXMpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQSB1dGlsaXR5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIG5ldyBcImNoYWluYWJsZVwiIGBIdHRwSGVhZGVyc01vY2tCdWlsZGVyYCBpbnN0YW5jZXMuXHJcbiAqIFxyXG4gKiBAcmV0dXJucyBBIG5ldyBgSHR0cEhlYWRlcnNNb2NrQnVpbGRlcmAgaW5zdGFuY2U7XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaHR0cEhlYWRlcnNNb2NrOigpPT4gSHR0cEhlYWRlcnNNb2NrQnVpbGRlciA9ICgpPT4gbmV3IEh0dHBIZWFkZXJzTW9ja0J1aWxkZXIoKTsiXX0=
@@ -1,71 +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 } from "@angular/common/http";
9
- import { EMPTY_STRING } from "../../../../util";
10
- import { httpHeadersMock } from "./http-headers-mock.builder";
11
- /**
12
- * @private
13
- * Internal reference to a new line character.
14
- */
15
- const CRLF = "\r\n";
16
- /**
17
- * @private
18
- * A set of static utilities for manipulating `HttpHeaders` objects.
19
- */
20
- export class HttpHeadersUtil {
21
- /**
22
- * @private
23
- * Returns a string representation the the specified `HttpHeaders `object, compatible with the format
24
- * expected by the `XMLHttpRequest.getAllResponseHeaders()` method.
25
- *
26
- * @param headers The `HttpHeaders` object to format.
27
- *
28
- * @returns A string compatible with the format expected by the `XMLHttpRequest.getAllResponseHeaders()` method.
29
- */
30
- static stringify(headers) {
31
- let result = EMPTY_STRING;
32
- if (!headers)
33
- return result;
34
- const keys = headers.keys();
35
- const last = keys.length - 1;
36
- keys.forEach((key, index) => {
37
- result += `${key}: ${headers.getAll(key)}${index !== last ? CRLF : EMPTY_STRING}`;
38
- });
39
- return result;
40
- }
41
- /**
42
- * @private
43
- * Returns a `HttpHeaders` object built from the string returns by the `XMLHttpRequest.getAllResponseHeaders()` method,
44
- * or `null` wheher `XMLHttpRequest.getAllResponseHeaders()` return `null`.
45
- *
46
- * @param value The string to turn into a `HttpHeaders `object.
47
- *
48
- * @returns A `HttpHeaders` object, or `null`.
49
- */
50
- static encode(value) {
51
- if (value === null)
52
- return null;
53
- return new HttpHeaders(value);
54
- }
55
- /**
56
- * @private
57
- * Creates the default `HttpHeaders` object for a mocked HTTP request.
58
- *
59
- * @returns The default `HttpHeaders` object for a mocked HTTP request.
60
- */
61
- static createDefaultRequestHeaders() {
62
- // "Accept" header is set by Angular framework when missing
63
- return httpHeadersMock().cacheControl()
64
- .acceptEncoding()
65
- .acceptLanguage()
66
- .priority()
67
- .userAgent()
68
- .headers();
69
- }
70
- }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWFkZXJzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1oZWFkZXJzLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQ7OztHQUdHO0FBQ0gsTUFBTSxJQUFJLEdBQVcsTUFBTSxDQUFDO0FBRTVCOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBRXhCOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQztRQUNwRCxJQUFJLE1BQU0sR0FBVyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUM1QixNQUFNLElBQUksR0FBYSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQVcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUMsRUFBRTtZQUN2QyxNQUFNLElBQUksR0FBRyxHQUFHLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLEtBQUssS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsMkJBQTJCO1FBQ3JDLDJEQUEyRDtRQUMzRCxPQUFPLGVBQWUsRUFBRSxDQUFDLFlBQVksRUFBRTthQUNkLGNBQWMsRUFBRTthQUNoQixjQUFjLEVBQUU7YUFDaEIsUUFBUSxFQUFFO2FBQ1YsU0FBUyxFQUFFO2FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgaHR0cEhlYWRlcnNNb2NrIH0gZnJvbSBcIi4vaHR0cC1oZWFkZXJzLW1vY2suYnVpbGRlclwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEludGVybmFsIHJlZmVyZW5jZSB0byBhIG5ldyBsaW5lIGNoYXJhY3Rlci5cclxuICovXHJcbmNvbnN0IENSTEY6IHN0cmluZyA9IFwiXFxyXFxuXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogQSBzZXQgb2Ygc3RhdGljIHV0aWxpdGllcyBmb3IgbWFuaXB1bGF0aW5nIGBIdHRwSGVhZGVyc2Agb2JqZWN0cy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBIdHRwSGVhZGVyc1V0aWwge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gdGhlIHRoZSBzcGVjaWZpZWQgYEh0dHBIZWFkZXJzIGBvYmplY3QsIGNvbXBhdGlibGUgd2l0aCB0aGUgZm9ybWF0XHJcbiAgICAgKiBleHBlY3RlZCBieSB0aGUgYFhNTEh0dHBSZXF1ZXN0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpYCBtZXRob2QuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBoZWFkZXJzIFRoZSBgSHR0cEhlYWRlcnNgIG9iamVjdCB0byBmb3JtYXQuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbXBhdGlibGUgd2l0aCB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBgWE1MSHR0cFJlcXVlc3QuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKClgIG1ldGhvZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmdpZnkoaGVhZGVyczogSHR0cEhlYWRlcnMgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IHN0cmluZyA9IEVNUFRZX1NUUklORztcclxuICAgICAgICBpZiAoIWhlYWRlcnMpIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBoZWFkZXJzLmtleXMoKTtcclxuICAgICAgICBjb25zdCBsYXN0OiBudW1iZXIgPSBrZXlzLmxlbmd0aCAtIDE7XHJcbiAgICAgICAga2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZywgaW5kZXg6IG51bWJlcik9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBgJHtrZXl9OiAke2hlYWRlcnMuZ2V0QWxsKGtleSl9JHtpbmRleCAhPT0gbGFzdCA/IENSTEYgOiBFTVBUWV9TVFJJTkd9YDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBSZXR1cm5zIGEgYEh0dHBIZWFkZXJzYCBvYmplY3QgYnVpbHQgZnJvbSB0aGUgc3RyaW5nIHJldHVybnMgYnkgdGhlIGBYTUxIdHRwUmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKWAgbWV0aG9kLFxyXG4gICAgICogb3IgYG51bGxgIHdoZWhlciAgYFhNTEh0dHBSZXF1ZXN0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpYCByZXR1cm4gYG51bGxgLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB0byB0dXJuIGludG8gYSBgSHR0cEhlYWRlcnMgYG9iamVjdC5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBgSHR0cEhlYWRlcnNgIG9iamVjdCwgb3IgYG51bGxgLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGVuY29kZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IEh0dHBIZWFkZXJzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQ3JlYXRlcyB0aGUgZGVmYXVsdCBgSHR0cEhlYWRlcnNgIG9iamVjdCBmb3IgYSBtb2NrZWQgSFRUUCByZXF1ZXN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCBgSHR0cEhlYWRlcnNgIG9iamVjdCBmb3IgYSBtb2NrZWQgSFRUUCByZXF1ZXN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZURlZmF1bHRSZXF1ZXN0SGVhZGVycygpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgLy8gXCJBY2NlcHRcIiBoZWFkZXIgaXMgc2V0IGJ5IEFuZ3VsYXIgZnJhbWV3b3JrIHdoZW4gbWlzc2luZ1xyXG4gICAgICAgIHJldHVybiBodHRwSGVhZGVyc01vY2soKS5jYWNoZUNvbnRyb2woKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hY2NlcHRFbmNvZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFjY2VwdExhbmd1YWdlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpb3JpdHkoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC51c2VyQWdlbnQoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkZXJzKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,60 +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
- /**
9
- * @private
10
- * Provides the list of HTTP verbs.
11
- */
12
- export var HTTPMethodRef;
13
- (function (HTTPMethodRef) {
14
- /**
15
- * @private
16
- * A reference to the `connect` route associated with the `CONNECT` HTTP verb.
17
- */
18
- HTTPMethodRef["CONNECT"] = "connect";
19
- /**
20
- * @private
21
- * A reference to the `delete` route associated with the `DELETE` HTTP verb.
22
- */
23
- HTTPMethodRef["DELETE"] = "delete";
24
- /**
25
- * @private
26
- * A reference to the `get` route associated with the `GET` HTTP verb.
27
- */
28
- HTTPMethodRef["GET"] = "get";
29
- /**
30
- * @private
31
- * A reference to the `head` route associated with the `HEAD` HTTP verb.
32
- */
33
- HTTPMethodRef["HEAD"] = "head";
34
- /**
35
- * @private
36
- * A reference to the `options` route associated with the `OPTIONS` HTTP verb.
37
- */
38
- HTTPMethodRef["OPTIONS"] = "options";
39
- /**
40
- * @private
41
- * A reference to the `patch` route associated with the `PATCH` HTTP verb.
42
- */
43
- HTTPMethodRef["PATCH"] = "patch";
44
- /**
45
- * @private
46
- * A reference to the `post` route associated with the `POST` HTTP verb.
47
- */
48
- HTTPMethodRef["POST"] = "post";
49
- /**
50
- * @private
51
- * A reference to the `put` route associated with the `PUT` HTTP verb.
52
- */
53
- HTTPMethodRef["PUT"] = "put";
54
- /**
55
- * @private
56
- * A reference to the `trace` route associated with the `TRACE` HTTP verb.
57
- */
58
- HTTPMethodRef["TRACE"] = "trace";
59
- })(HTTPMethodRef || (HTTPMethodRef = {}));
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tZXRob2QtcmVmLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1tZXRob2QtcmVmLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksYUF1RFQ7QUF2REgsV0FBWSxhQUFhO0lBRXJCOzs7T0FHRztJQUNILG9DQUFtQixDQUFBO0lBRW5COzs7T0FHRztJQUNILGtDQUFpQixDQUFBO0lBRWpCOzs7T0FHRztJQUNILDRCQUFXLENBQUE7SUFFWDs7O09BR0c7SUFDSCw4QkFBYSxDQUFBO0lBRWI7OztPQUdHO0lBQ0gsb0NBQW1CLENBQUE7SUFFbkI7OztPQUdHO0lBQ0gsZ0NBQWUsQ0FBQTtJQUVmOzs7T0FHRztJQUNILDhCQUFhLENBQUE7SUFFYjs7O09BR0c7SUFDSCw0QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsZ0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBdkRTLGFBQWEsS0FBYixhQUFhLFFBdUR0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBQcm92aWRlcyB0aGUgbGlzdCBvZiBIVFRQIHZlcmJzLlxyXG4gKi9cclxuZXhwb3J0IGVudW0gSFRUUE1ldGhvZFJlZiB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBjb25uZWN0YCByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBDT05ORUNUYCBIVFRQIHZlcmIuXHJcbiAgICAgKi9cclxuICAgIENPTk5FQ1QgPSAnY29ubmVjdCcsXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgYGRlbGV0ZWAgcm91dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBgREVMRVRFYCBIVFRQIHZlcmIuXHJcbiAgICAgKi9cclxuICAgIERFTEVURSA9ICdkZWxldGUnLFxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBnZXRgIHJvdXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYEdFVGAgSFRUUCB2ZXJiLlxyXG4gICAgICovXHJcbiAgICBHRVQgPSAnZ2V0JyxcclxuICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgaGVhZGAgcm91dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBgSEVBRGAgSFRUUCB2ZXJiLlxyXG4gICAgICovXHJcbiAgICBIRUFEID0gJ2hlYWQnLFxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBvcHRpb25zYCByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBPUFRJT05TYCBIVFRQIHZlcmIuXHJcbiAgICAgKi9cclxuICAgIE9QVElPTlMgPSAnb3B0aW9ucycsXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgYHBhdGNoYCByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBQQVRDSGAgSFRUUCB2ZXJiLlxyXG4gICAgICovXHJcbiAgICBQQVRDSCA9ICdwYXRjaCcsXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgYHBvc3RgIHJvdXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYFBPU1RgIEhUVFAgdmVyYi5cclxuICAgICAqL1xyXG4gICAgUE9TVCA9ICdwb3N0JyxcclxuICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgcHV0YCByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBQVVRgIEhUVFAgdmVyYi5cclxuICAgICAqL1xyXG4gICAgUFVUID0gJ3B1dCcsXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgYHRyYWNlYCByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBUUkFDRWAgSFRUUCB2ZXJiLlxyXG4gICAgICovXHJcbiAgICBUUkFDRSA9ICd0cmFjZSdcclxuICB9Il19
@@ -1,12 +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
- /**
9
- * A convenient constant that represents the maximum value for a delayed HTTP response.
10
- */
11
- export const HTTP_MOCK_MAX_DELAY = 10000;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLW1heC1kZWxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvdXRpbC9odHRwLW1vY2stbWF4LWRlbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQVcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEEgY29udmVuaWVudCBjb25zdGFudCB0aGF0IHJlcHJlc2VudHMgdGhlIG1heGltdW0gdmFsdWUgZm9yIGEgZGVsYXllZCBIVFRQIHJlc3BvbnNlLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEhUVFBfTU9DS19NQVhfREVMQVk6IG51bWJlciA9IDEwMDAwO1xyXG4iXX0=
@@ -1,33 +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 { HTTP_MOCK_MAX_DELAY } from "./http-mock-max-delay";
9
- /**
10
- * @private
11
- * A utility for managing HTTP responses delay.
12
- */
13
- export class HttpMockResponseDelayUtil {
14
- /**
15
- * @private
16
- * A utility function that return a `ResponseDelay` object, depending on the timer parameters.
17
- *
18
- * @param timer The seed value used to create the `ResponseDelay` object.
19
- * @returns A `ResponseDelay` object.
20
- */
21
- static getResponseDelay(timer) {
22
- let duration = timer;
23
- if (timer < 0)
24
- duration = 0;
25
- if (timer > HTTP_MOCK_MAX_DELAY)
26
- duration = HTTP_MOCK_MAX_DELAY;
27
- return {
28
- stalled: Math.random() * duration,
29
- duration: duration
30
- };
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLXJlc3BvbnNlLWRlbGF5LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1tb2NrLXJlc3BvbnNlLWRlbGF5LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQUVsQzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUN4QyxJQUFJLFFBQVEsR0FBVyxLQUFLLENBQUM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLEdBQUcsbUJBQW1CO1lBQUUsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ2hFLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVE7WUFDakMsUUFBUSxFQUFFLFFBQVE7U0FDckIsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFJlc3BvbnNlRGVsYXkgfSBmcm9tIFwiLi4vY29yZS9yZXNwb25zZS1kZWxheVwiO1xyXG5pbXBvcnQgeyBIVFRQX01PQ0tfTUFYX0RFTEFZIH0gZnJvbSBcIi4vaHR0cC1tb2NrLW1heC1kZWxheVwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEEgdXRpbGl0eSBmb3IgbWFuYWdpbmcgSFRUUCByZXNwb25zZXMgZGVsYXkuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSHR0cE1vY2tSZXNwb25zZURlbGF5VXRpbCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQSB1dGlsaXR5IGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGEgYFJlc3BvbnNlRGVsYXlgIG9iamVjdCwgZGVwZW5kaW5nIG9uIHRoZSB0aW1lciBwYXJhbWV0ZXJzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGltZXIgVGhlIHNlZWQgdmFsdWUgdXNlZCB0byBjcmVhdGUgdGhlICBgUmVzcG9uc2VEZWxheWAgb2JqZWN0LlxyXG4gICAgICogQHJldHVybnMgQSBgUmVzcG9uc2VEZWxheWAgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFJlc3BvbnNlRGVsYXkodGltZXI6IG51bWJlcik6IFJlc3BvbnNlRGVsYXkge1xyXG4gICAgICAgIGxldCBkdXJhdGlvbjogbnVtYmVyID0gdGltZXI7XHJcbiAgICAgICAgaWYgKHRpbWVyIDwgMCkgZHVyYXRpb24gPSAwO1xyXG4gICAgICAgIGlmICh0aW1lciA+IEhUVFBfTU9DS19NQVhfREVMQVkpIGR1cmF0aW9uID0gSFRUUF9NT0NLX01BWF9ERUxBWTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzdGFsbGVkOiBNYXRoLnJhbmRvbSgpICogZHVyYXRpb24sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvblxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,141 +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 { HttpStatusCode } from "@angular/common/http";
9
- import { HttpHeadersUtil } from "./http-headers.util";
10
- import { HTTP_MOCK_MAX_DELAY } from "./http-mock-max-delay";
11
- import { HttpStatusTextFinder } from "./http-status-text-finder";
12
- import { EMPTY_STRING } from "../../../../util";
13
- /**
14
- * A statefull builder for creating new `HttpResponseMock` instances.
15
- */
16
- export class HttpResponseMockBuilder {
17
- constructor() {
18
- /**
19
- * @private
20
- */
21
- this._response = {
22
- url: null,
23
- body: null,
24
- status: HttpStatusCode.Ok,
25
- statusText: EMPTY_STRING,
26
- error: null,
27
- delay: 0
28
- };
29
- }
30
- /**
31
- * Sets the body property of the new `HttpResponseMock` instance with the specified `body` value.
32
- *
33
- * @param body The value used to set the body property of the new `HttpResponseMock` instance.
34
- *
35
- * @returns A reference to this `HttpResponseMockBuilder` instance.
36
- */
37
- body(body) {
38
- this._response.body = body;
39
- return this;
40
- }
41
- /**
42
- * Sets the headers property of the new `HttpResponseMock` instance with the specified `headers` value.
43
- *
44
- * @param headers The value used to set the `headers` property of the new `HttpResponseMock` instance.
45
- *
46
- * @returns A reference to this `HttpResponseMockBuilder` instance.
47
- */
48
- headers(headers) {
49
- this._response.headers = headers;
50
- return this;
51
- }
52
- /**
53
- * Add the list of HTTP headers generated by the `HttpHeadersUtil.createDefaultRequestHeaders()`
54
- * to the mock response.
55
- *
56
- * @returns A reference to this `HttpResponseMockBuilder` instance.
57
- */
58
- defaultHeaders() {
59
- const defaultHeaders = HttpHeadersUtil.createDefaultRequestHeaders();
60
- let headers = this._response.headers;
61
- if (headers) {
62
- const keys = defaultHeaders.keys();
63
- keys.forEach(key => headers?.append(key, defaultHeaders.get(key)));
64
- }
65
- else
66
- headers = defaultHeaders;
67
- this._response.headers = headers;
68
- return this;
69
- }
70
- /**
71
- * Sets the `status` property of the new `HttpResponseMock` instance with the specified `status` value.
72
- *
73
- * @param status The value used to set the `status` property of the new `HttpResponseMock` instance.
74
- *
75
- * @returns A reference to this `HttpResponseMockBuilder` instance.
76
- */
77
- status(status) {
78
- this._response.status = status;
79
- return this;
80
- }
81
- /**
82
- * Sets the `url` property of the new `HttpResponseMock` instance with the specified `url` value.
83
- *
84
- * @param url The value used to set the `url` property of the new `HttpResponseMock` instance.
85
- *
86
- * @returns A reference to this `HttpResponseMockBuilder` instance.
87
- */
88
- url(url) {
89
- this._response.url = url;
90
- return this;
91
- }
92
- /**
93
- * @private
94
- * Overload implementation
95
- */
96
- delay(...arg) {
97
- if (arg.length <= 1) {
98
- let timer = arg[0] || NaN;
99
- if (isNaN(timer)) {
100
- this._response.delay = HTTP_MOCK_MAX_DELAY - Math.random() * HTTP_MOCK_MAX_DELAY;
101
- return this;
102
- }
103
- if (timer > HTTP_MOCK_MAX_DELAY) {
104
- this._response.delay = HTTP_MOCK_MAX_DELAY;
105
- return this;
106
- }
107
- if (timer < 0)
108
- timer = 0;
109
- this._response.delay = timer;
110
- return this;
111
- }
112
- let min = arg[0], max = arg[1];
113
- if (max > HTTP_MOCK_MAX_DELAY)
114
- max = HTTP_MOCK_MAX_DELAY;
115
- if (min < 0 || min > max)
116
- min = 0;
117
- this._response.delay = Math.floor(Math.random() * (max - min) + min);
118
- return this;
119
- }
120
- /**
121
- * Returns a new `HttpResponseMock` instance, built from the properties specified with the
122
- * `HttpResponseMockBuilder` methods.
123
- *
124
- * @param error An optional value used to set the `error` property of the new `HttpResponseMock` instance.
125
- * The `error` parameter values take precedence over all other properties of the `HttpResponseMock`
126
- * instance.
127
- * @returns A new `HttpResponseMock` instance.
128
- */
129
- response(error = null) {
130
- this._response.error = error;
131
- this._response.statusText = HttpStatusTextFinder.getStatusText(this._response.status);
132
- return this._response;
133
- }
134
- }
135
- /**
136
- * A utility function used to create new "chainable" `HttpResponseMockBuilder` instances.
137
- *
138
- * @returns A new `HttpResponseMockBuilder` instance.
139
- */
140
- export const httpResponseMock = () => new HttpResponseMockBuilder();
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLXJlc3BvbnNlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1tb2NrLXJlc3BvbnNlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBRUk7O1dBRUc7UUFDSyxjQUFTLEdBQXFCO1lBQ2xDLEdBQUcsRUFBRSxJQUFJO1lBQ1QsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7WUFDekIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsQ0FBQztTQUNYLENBQUM7SUErSE4sQ0FBQztJQTdIRzs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsSUFBUztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBQyxPQUFvQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYztRQUNqQixNQUFNLGNBQWMsR0FBZ0IsZUFBZSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDbEYsSUFBSSxPQUFPLEdBQTRCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzlELElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksR0FBYSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUEsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFRLENBQUMsQ0FBQyxDQUFBO1FBQzVFLENBQUM7O1lBQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxNQUFjO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksR0FBRyxDQUFDLEdBQWtCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBc0JEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxHQUFHLEdBQVE7UUFDcEIsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksS0FBSyxHQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7WUFDbEMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsbUJBQW1CLENBQUM7Z0JBQ2pGLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxJQUFJLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztnQkFDM0MsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELElBQUksS0FBSyxHQUFHLENBQUM7Z0JBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksR0FBRyxHQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksR0FBRyxHQUFHLG1CQUFtQjtZQUFFLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQztRQUN6RCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUc7WUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLFFBQVEsQ0FBQyxRQUE4QixJQUFJO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFnQyxHQUFFLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFN0YXR1c0NvZGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSHR0cE1vY2tFcnJvciwgSHR0cFJlc3BvbnNlTW9jayB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVyc1V0aWwgfSBmcm9tIFwiLi9odHRwLWhlYWRlcnMudXRpbFwiO1xyXG5pbXBvcnQgeyBIVFRQX01PQ0tfTUFYX0RFTEFZIH0gZnJvbSBcIi4vaHR0cC1tb2NrLW1heC1kZWxheVwiO1xyXG5pbXBvcnQgeyBIdHRwU3RhdHVzVGV4dEZpbmRlciB9IGZyb20gXCIuL2h0dHAtc3RhdHVzLXRleHQtZmluZGVyXCI7XHJcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsXCI7XHJcblxyXG4vKipcclxuICogQSBzdGF0ZWZ1bGwgYnVpbGRlciBmb3IgY3JlYXRpbmcgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzcG9uc2U6IEh0dHBSZXNwb25zZU1vY2sgPSB7XHJcbiAgICAgICAgdXJsOiBudWxsLFxyXG4gICAgICAgIGJvZHk6IG51bGwsXHJcbiAgICAgICAgc3RhdHVzOiBIdHRwU3RhdHVzQ29kZS5PayxcclxuICAgICAgICBzdGF0dXNUZXh0OiBFTVBUWV9TVFJJTkcsXHJcbiAgICAgICAgZXJyb3I6IG51bGwsXHJcbiAgICAgICAgZGVsYXk6IDBcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBib2R5IHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBSZXNwb25zZU1vY2tgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBgYm9keWAgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBib2R5IFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYm9keSBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYm9keShib2R5OiBhbnkpOiBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlciB7XHJcbiAgICAgICAgdGhpcy5fcmVzcG9uc2UuYm9keSA9IGJvZHk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBoZWFkZXJzIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBSZXNwb25zZU1vY2tgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBgaGVhZGVyc2AgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBoZWFkZXJzIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYGhlYWRlcnNgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBSZXNwb25zZU1vY2tgIGluc3RhbmNlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlLmhlYWRlcnMgPSBoZWFkZXJzO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBsaXN0IG9mIEhUVFAgaGVhZGVycyBnZW5lcmF0ZWQgYnkgdGhlIGBIdHRwSGVhZGVyc1V0aWwuY3JlYXRlRGVmYXVsdFJlcXVlc3RIZWFkZXJzKClgXHJcbiAgICAgKiB0byB0aGUgbW9jayByZXNwb25zZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMoKTogSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRIZWFkZXJzOiBIdHRwSGVhZGVycyA9IEh0dHBIZWFkZXJzVXRpbC5jcmVhdGVEZWZhdWx0UmVxdWVzdEhlYWRlcnMoKTtcclxuICAgICAgICBsZXQgaGVhZGVyczogSHR0cEhlYWRlcnMgfCB1bmRlZmluZWQgPSB0aGlzLl9yZXNwb25zZS5oZWFkZXJzO1xyXG4gICAgICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gZGVmYXVsdEhlYWRlcnMua2V5cygpO1xyXG4gICAgICAgICAgICBrZXlzLmZvckVhY2goa2V5PT4gaGVhZGVycz8uYXBwZW5kKGtleSwgZGVmYXVsdEhlYWRlcnMuZ2V0KGtleSkgYXMgYW55KSlcclxuICAgICAgICB9IGVsc2UgaGVhZGVycyA9IGRlZmF1bHRIZWFkZXJzO1xyXG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlLmhlYWRlcnMgPSBoZWFkZXJzO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYHN0YXR1c2AgcHJvcGVydHkgb2YgdGhlIG5ldyBgSHR0cFJlc3BvbnNlTW9ja2AgaW5zdGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGBzdGF0dXNgIHZhbHVlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gc3RhdHVzIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYHN0YXR1c2AgcHJvcGVydHkgb2YgdGhlIG5ldyBgSHR0cFJlc3BvbnNlTW9ja2AgaW5zdGFuY2UuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXR1cyhzdGF0dXM6IG51bWJlcik6IEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyIHtcclxuICAgICAgICB0aGlzLl9yZXNwb25zZS5zdGF0dXMgPSBzdGF0dXM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgdXJsYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgYHVybGAgdmFsdWUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHZhbHVlIHVzZWQgdG8gc2V0IHRoZSBgdXJsYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdXJsKHVybDogc3RyaW5nIHwgbnVsbCk6IEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyIHtcclxuICAgICAgICB0aGlzLl9yZXNwb25zZS51cmwgPSB1cmw7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgZGVsYXlgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBSZXNwb25zZU1vY2tgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBgdGltZXJgIGR1cmF0aW9uLlxyXG4gICAgICogTWF4aW11bSB2YWx1ZSBpcyBgMTAwMDBgIG1pbGlzZWNvbmRzICgxMCBzZWNvbmRzKS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHRpbWVyIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYGRlbGF5YCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVsYXkodGltZXI/OiBudW1iZXIpOiBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBgZGVsYXlgIHByb3BlcnR5IG9mIHRoZSBuZXcgYEh0dHBSZXNwb25zZU1vY2tgIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBgdGltZXJgIGR1cmF0aW9uLlxyXG4gICAgICogTWF4aW11bSB2YWx1ZSBpcyBgMTAwMDBgIG1pbGlzZWNvbmRzICgxMCBzZWNvbmRzKS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHRpbWVyIFRoZSB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYGRlbGF5YCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVsYXkobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpOiBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBPdmVybG9hZCBpbXBsZW1lbnRhdGlvbiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlbGF5KC4uLmFyZzogYW55KTogSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXIge1xyXG4gICAgICAgIGlmIChhcmcubGVuZ3RoIDw9IDEpIHtcclxuICAgICAgICAgICAgbGV0IHRpbWVyOiBudW1iZXIgPSBhcmdbMF0gfHwgTmFOO1xyXG4gICAgICAgICAgICBpZiAoaXNOYU4odGltZXIpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zZS5kZWxheSA9IEhUVFBfTU9DS19NQVhfREVMQVkgLSBNYXRoLnJhbmRvbSgpICogSFRUUF9NT0NLX01BWF9ERUxBWTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aW1lciA+IEhUVFBfTU9DS19NQVhfREVMQVkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlLmRlbGF5ID0gSFRUUF9NT0NLX01BWF9ERUxBWTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aW1lciA8IDApIHRpbWVyID0gMDtcclxuICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2UuZGVsYXkgPSB0aW1lcjtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBtaW46IG51bWJlciA9IGFyZ1swXSwgbWF4OiBudW1iZXIgPSBhcmdbMV07XHJcbiAgICAgICAgaWYgKG1heCA+IEhUVFBfTU9DS19NQVhfREVMQVkpIG1heCA9IEhUVFBfTU9DS19NQVhfREVMQVk7XHJcbiAgICAgICAgaWYgKG1pbiA8IDAgfHwgbWluID4gbWF4KSBtaW4gPSAwO1xyXG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlLmRlbGF5ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbikgKyBtaW4pO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIG5ldyBgSHR0cFJlc3BvbnNlTW9ja2AgaW5zdGFuY2UsIGJ1aWx0IGZyb20gdGhlIHByb3BlcnRpZXMgc3BlY2lmaWVkIHdpdGggdGhlXHJcbiAgICAgKiBgSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXJgIG1ldGhvZHMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBlcnJvciBBbiBvcHRpb25hbCB2YWx1ZSB1c2VkIHRvIHNldCB0aGUgYGVycm9yYCBwcm9wZXJ0eSBvZiB0aGUgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqICAgICAgICAgICAgICBUaGUgYGVycm9yYCBwYXJhbWV0ZXIgdmFsdWVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIGFsbCBvdGhlciBwcm9wZXJ0aWVzIG9mIHRoZSBgSHR0cFJlc3BvbnNlTW9ja2BcclxuICAgICAqICAgICAgICAgICAgICBpbnN0YW5jZS5cclxuICAgICAqIEByZXR1cm5zIEEgbmV3IGBIdHRwUmVzcG9uc2VNb2NrYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlc3BvbnNlKGVycm9yOiBIdHRwTW9ja0Vycm9yIHwgbnVsbCA9IG51bGwpOiBIdHRwUmVzcG9uc2VNb2NrIHtcclxuICAgICAgICB0aGlzLl9yZXNwb25zZS5lcnJvciA9IGVycm9yO1xyXG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlLnN0YXR1c1RleHQgPSBIdHRwU3RhdHVzVGV4dEZpbmRlci5nZXRTdGF0dXNUZXh0KHRoaXMuX3Jlc3BvbnNlLnN0YXR1cyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQSB1dGlsaXR5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIG5ldyBcImNoYWluYWJsZVwiIGBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcmAgaW5zdGFuY2VzLlxyXG4gKiBcclxuICogQHJldHVybnMgQSBuZXcgYEh0dHBSZXNwb25zZU1vY2tCdWlsZGVyYCBpbnN0YW5jZS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBodHRwUmVzcG9uc2VNb2NrOigpPT4gSHR0cFJlc3BvbnNlTW9ja0J1aWxkZXIgPSAoKT0+IG5ldyBIdHRwUmVzcG9uc2VNb2NrQnVpbGRlcigpOyJdfQ==