angular-toolbox 0.0.7 → 0.9.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 (230) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -10
  3. package/{esm2020 → esm2022}/angular-toolbox.mjs +4 -4
  4. package/esm2022/lib/angular-toolbox.module.mjs +21 -0
  5. package/esm2022/lib/core/bridge/app-bridge.mjs +76 -0
  6. package/esm2022/lib/core/error/app-bridge-error.mjs +24 -0
  7. package/esm2022/lib/core/error/http-mock-service-error.mjs +26 -0
  8. package/esm2022/lib/core/error/index.mjs +5 -0
  9. package/esm2022/lib/core/error/integrity-error.mjs +26 -0
  10. package/esm2022/lib/core/error/subscription-error.mjs +26 -0
  11. package/esm2022/lib/core/impl/index.mjs +2 -0
  12. package/esm2022/lib/core/impl/lang/identifiable-component.mjs +31 -0
  13. package/esm2022/lib/core/impl/lang/index.mjs +2 -0
  14. package/esm2022/lib/core/impl/version/version.impl.mjs +34 -0
  15. package/esm2022/lib/core/index.mjs +3 -0
  16. package/esm2022/lib/directive/anchor-link.directive.mjs +62 -0
  17. package/esm2022/lib/directive/button-role.directive.mjs +102 -0
  18. package/esm2022/lib/directive/content-renderer.directive.mjs +61 -0
  19. package/esm2022/lib/directive/index.mjs +5 -0
  20. package/esm2022/lib/directive/navigate-to-url.directive.mjs +51 -0
  21. package/esm2022/lib/directive/navigation-directive-base.mjs +23 -0
  22. package/esm2022/lib/framework/index.mjs +2 -0
  23. package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +9 -0
  24. package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +48 -0
  25. package/esm2022/lib/framework/mock/http/config/index.mjs +3 -0
  26. package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +9 -0
  27. package/esm2022/lib/framework/mock/http/core/data-storage.mjs +9 -0
  28. package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +122 -0
  29. package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +48 -0
  30. package/esm2022/lib/framework/mock/http/index.mjs +4 -0
  31. package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +111 -0
  32. package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +34 -0
  33. package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +28 -0
  34. package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +76 -0
  35. package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +96 -0
  36. package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +28 -0
  37. package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +17 -0
  38. package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +17 -0
  39. package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +17 -0
  40. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +17 -0
  41. package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +17 -0
  42. package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +17 -0
  43. package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +17 -0
  44. package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +17 -0
  45. package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +17 -0
  46. package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +17 -0
  47. package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +30 -0
  48. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +17 -0
  49. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +17 -0
  50. package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +17 -0
  51. package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +87 -0
  52. package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +41 -0
  53. package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +29 -0
  54. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +49 -0
  55. package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +33 -0
  56. package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +35 -0
  57. package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +138 -0
  58. package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +56 -0
  59. package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +60 -0
  60. package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +117 -0
  61. package/esm2022/lib/framework/mock/http/util/index.mjs +3 -0
  62. package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +316 -0
  63. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +29 -0
  64. package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +19 -0
  65. package/esm2022/lib/framework/mock/http/xhr/index.mjs +2 -0
  66. package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +123 -0
  67. package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +177 -0
  68. package/esm2022/lib/model/business/index.mjs +5 -0
  69. package/esm2022/lib/model/business/lang/app-bridge-command.mjs +9 -0
  70. package/esm2022/lib/model/business/lang/destroyable.mjs +9 -0
  71. package/esm2022/lib/model/business/lang/identifiable.mjs +9 -0
  72. package/esm2022/lib/model/business/lang/index.mjs +5 -0
  73. package/esm2022/lib/model/business/lang/instantiable.mjs +9 -0
  74. package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +9 -0
  75. package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +9 -0
  76. package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +9 -0
  77. package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +9 -0
  78. package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +9 -0
  79. package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +9 -0
  80. package/esm2022/lib/model/business/mock/http/index.mjs +8 -0
  81. package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +9 -0
  82. package/esm2022/lib/model/business/ui/dark-mode-config.mjs +9 -0
  83. package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +43 -0
  84. package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +16 -0
  85. package/esm2022/lib/model/business/ui/index.mjs +5 -0
  86. package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +9 -0
  87. package/esm2022/lib/model/business/version/index.mjs +4 -0
  88. package/esm2022/lib/model/business/version/version-config.mjs +9 -0
  89. package/esm2022/lib/model/business/version/version-config.provider.mjs +40 -0
  90. package/esm2022/lib/model/business/version/version.mjs +10 -0
  91. package/esm2022/lib/model/index.mjs +3 -0
  92. package/esm2022/lib/model/service/index.mjs +5 -0
  93. package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +239 -0
  94. package/esm2022/lib/model/service/subscription/subscription.service.mjs +122 -0
  95. package/esm2022/lib/model/service/ui/app-bridge.service.mjs +142 -0
  96. package/esm2022/lib/model/service/ui/dark-mode.service.mjs +183 -0
  97. package/esm2022/lib/model/service/ui/index.mjs +4 -0
  98. package/esm2022/lib/model/service/ui/scroll.service.mjs +93 -0
  99. package/esm2022/lib/model/service/version/version.service.mjs +51 -0
  100. package/{esm2020 → esm2022}/lib/pipe/index.mjs +1 -1
  101. package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +34 -0
  102. package/esm2022/lib/util/aria-role.constant.mjs +16 -0
  103. package/esm2022/lib/util/default-scroll-behavior.mjs +13 -0
  104. package/esm2022/lib/util/empty-string.const.mjs +12 -0
  105. package/esm2022/lib/util/index.mjs +5 -0
  106. package/esm2022/lib/util/js-type.mjs +40 -0
  107. package/esm2022/lib/util/uuid.mjs +126 -0
  108. package/esm2022/public-api.mjs +18 -0
  109. package/fesm2022/angular-toolbox.mjs +3710 -0
  110. package/fesm2022/angular-toolbox.mjs.map +1 -0
  111. package/index.d.ts +5 -5
  112. package/lib/angular-toolbox.module.d.ts +9 -7
  113. package/lib/core/bridge/app-bridge.d.ts +59 -0
  114. package/lib/core/error/app-bridge-error.d.ts +16 -0
  115. package/lib/core/error/http-mock-service-error.d.ts +18 -0
  116. package/lib/core/error/index.d.ts +4 -0
  117. package/lib/core/error/integrity-error.d.ts +18 -0
  118. package/lib/core/error/subscription-error.d.ts +18 -0
  119. package/lib/core/impl/index.d.ts +1 -0
  120. package/lib/core/impl/lang/identifiable-component.d.ts +26 -0
  121. package/lib/core/impl/lang/index.d.ts +1 -0
  122. package/lib/core/impl/version/version.impl.d.ts +42 -0
  123. package/lib/core/index.d.ts +2 -0
  124. package/lib/directive/anchor-link.directive.d.ts +29 -0
  125. package/lib/directive/button-role.directive.d.ts +52 -0
  126. package/lib/directive/content-renderer.directive.d.ts +39 -0
  127. package/lib/directive/index.d.ts +4 -0
  128. package/lib/directive/navigate-to-url.directive.d.ts +23 -0
  129. package/lib/directive/navigation-directive-base.d.ts +19 -0
  130. package/lib/framework/index.d.ts +1 -0
  131. package/lib/framework/mock/http/config/http-mock-parameters.d.ts +13 -0
  132. package/lib/framework/mock/http/config/http-mock.decorator.d.ts +13 -0
  133. package/lib/framework/mock/http/config/index.d.ts +2 -0
  134. package/lib/framework/mock/http/config/route-mock-config.d.ts +30 -0
  135. package/lib/framework/mock/http/core/data-storage.d.ts +38 -0
  136. package/lib/framework/mock/http/event/event-target.impl.d.ts +70 -0
  137. package/lib/framework/mock/http/event/progress-event-mock.d.ts +36 -0
  138. package/lib/framework/mock/http/index.d.ts +3 -0
  139. package/lib/framework/mock/http/path-to-regexp/constants.d.ts +111 -0
  140. package/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.d.ts +24 -0
  141. package/lib/framework/mock/http/path-to-regexp/get-flags.d.ts +25 -0
  142. package/lib/framework/mock/http/path-to-regexp/iter.d.ts +50 -0
  143. package/lib/framework/mock/http/path-to-regexp/lexer.d.ts +24 -0
  144. package/lib/framework/mock/http/path-to-regexp/loose-replacer.d.ts +25 -0
  145. package/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.d.ts +21 -0
  146. package/lib/framework/mock/http/path-to-regexp/model/encode.d.ts +20 -0
  147. package/lib/framework/mock/http/path-to-regexp/model/key.d.ts +45 -0
  148. package/lib/framework/mock/http/path-to-regexp/model/lex-token.d.ts +34 -0
  149. package/lib/framework/mock/http/path-to-regexp/model/lexer-type.d.ts +21 -0
  150. package/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.d.ts +20 -0
  151. package/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.d.ts +21 -0
  152. package/lib/framework/mock/http/path-to-regexp/model/parse-options.d.ts +33 -0
  153. package/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.d.ts +52 -0
  154. package/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.d.ts +22 -0
  155. package/lib/framework/mock/http/path-to-regexp/model/simple-tokens.d.ts +21 -0
  156. package/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.d.ts +23 -0
  157. package/lib/framework/mock/http/path-to-regexp/model/token-type.d.ts +20 -0
  158. package/lib/framework/mock/http/path-to-regexp/model/token.d.ts +21 -0
  159. package/lib/framework/mock/http/path-to-regexp/string-to-token-data.d.ts +21 -0
  160. package/lib/framework/mock/http/path-to-regexp/to-key-regexp.d.ts +22 -0
  161. package/lib/framework/mock/http/path-to-regexp/to-stringify.d.ts +21 -0
  162. package/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.d.ts +21 -0
  163. package/lib/framework/mock/http/path-to-regexp/token-data.d.ts +32 -0
  164. package/lib/framework/mock/http/util/data-storage.builder.d.ts +25 -0
  165. package/lib/framework/mock/http/util/http-headers-mock.builder.d.ts +106 -0
  166. package/lib/framework/mock/http/util/http-headers.util.d.ts +31 -0
  167. package/lib/framework/mock/http/util/http-method-ref.enum.d.ts +58 -0
  168. package/lib/framework/mock/http/util/http-mock-response.builder.d.ts +83 -0
  169. package/lib/framework/mock/http/util/index.d.ts +2 -0
  170. package/lib/framework/mock/http/xhr/delegate-xhr.d.ts +199 -0
  171. package/lib/framework/mock/http/xhr/http-mock-factory.d.ts +14 -0
  172. package/lib/framework/mock/http/xhr/http-mock-factory.impl.d.ts +24 -0
  173. package/lib/framework/mock/http/xhr/index.d.ts +1 -0
  174. package/lib/framework/mock/http/xhr/xhr-base.d.ts +123 -0
  175. package/lib/framework/mock/http/xhr/xhr-proxy-impl.d.ts +125 -0
  176. package/lib/model/business/index.d.ts +4 -0
  177. package/lib/model/business/lang/app-bridge-command.d.ts +11 -0
  178. package/lib/model/business/lang/destroyable.d.ts +16 -0
  179. package/lib/model/business/lang/identifiable.d.ts +19 -0
  180. package/lib/model/business/lang/index.d.ts +4 -0
  181. package/lib/model/business/lang/instantiable.d.ts +15 -0
  182. package/lib/model/business/mock/http/http-method-mock.d.ts +35 -0
  183. package/lib/model/business/mock/http/http-mock-config.d.ts +28 -0
  184. package/lib/model/business/mock/http/http-mock-endpoint.d.ts +41 -0
  185. package/lib/model/business/mock/http/http-mock-error.d.ts +21 -0
  186. package/lib/model/business/mock/http/http-mock-interceptor.d.ts +27 -0
  187. package/lib/model/business/mock/http/http-response-mock.d.ts +44 -0
  188. package/lib/model/business/mock/http/index.d.ts +7 -0
  189. package/lib/model/business/mock/http/xhr-proxy.d.ts +15 -0
  190. package/lib/model/business/ui/dark-mode-config.d.ts +29 -0
  191. package/lib/model/business/ui/dark-mode-config.provider.d.ts +21 -0
  192. package/lib/model/business/ui/dark-mode.constant.d.ts +15 -0
  193. package/lib/model/business/ui/index.d.ts +4 -0
  194. package/lib/model/business/ui/scroll-behavior.type.d.ts +11 -0
  195. package/lib/model/business/version/index.d.ts +3 -0
  196. package/lib/model/business/version/version-config.d.ts +28 -0
  197. package/lib/model/business/version/version-config.provider.d.ts +22 -0
  198. package/lib/model/business/version/version.d.ts +34 -0
  199. package/lib/model/index.d.ts +2 -0
  200. package/lib/model/service/index.d.ts +4 -0
  201. package/lib/model/service/mock/http/http-mock.service.d.ts +101 -0
  202. package/lib/model/service/subscription/subscription.service.d.ts +66 -0
  203. package/lib/model/service/ui/app-bridge.service.d.ts +80 -0
  204. package/lib/model/service/ui/dark-mode.service.d.ts +99 -0
  205. package/lib/model/service/ui/index.d.ts +3 -0
  206. package/lib/model/service/ui/scroll.service.d.ts +55 -0
  207. package/lib/model/service/version/version.service.d.ts +30 -0
  208. package/lib/pipe/index.d.ts +1 -1
  209. package/lib/pipe/safe/safe-html.pipe.d.ts +30 -10
  210. package/lib/util/aria-role.constant.d.ts +15 -0
  211. package/lib/util/default-scroll-behavior.d.ts +12 -0
  212. package/lib/util/empty-string.const.d.ts +11 -0
  213. package/lib/util/index.d.ts +4 -0
  214. package/lib/util/js-type.d.ts +39 -0
  215. package/lib/util/uuid.d.ts +89 -0
  216. package/package.json +10 -13
  217. package/public-api.d.ts +14 -3
  218. package/esm2020/lib/angular-toolbox.module.mjs +0 -26
  219. package/esm2020/lib/pipe/safe/safe-html.pipe.mjs +0 -18
  220. package/esm2020/lib/service/index.mjs +0 -3
  221. package/esm2020/lib/service/subscription/subscription.service.mjs +0 -60
  222. package/esm2020/lib/service/ui/dark-mode.service.mjs +0 -167
  223. package/esm2020/public-api.mjs +0 -7
  224. package/fesm2015/angular-toolbox.mjs +0 -278
  225. package/fesm2015/angular-toolbox.mjs.map +0 -1
  226. package/fesm2020/angular-toolbox.mjs +0 -274
  227. package/fesm2020/angular-toolbox.mjs.map +0 -1
  228. package/lib/service/index.d.ts +0 -2
  229. package/lib/service/subscription/subscription.service.d.ts +0 -33
  230. package/lib/service/ui/dark-mode.service.d.ts +0 -92
@@ -0,0 +1,87 @@
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
+ * This source code is derived from the following original source code:
9
+ * - https://github.com/pillarjs/path-to-regexp
10
+ * - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
11
+ *
12
+ * Use of the original source code is governed by an MIT-style license
13
+ * that can be found in the LICENSE file at
14
+ * https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
15
+ */
16
+ import { EMPTY_STRING } from "../../../../util";
17
+ import { ASTERISK, RIGHT_CURLY_BRACE, DEFAULT_DELIMITER, END, NAME, LEFT_CURLY_BRACE, PATTERN, SEMI_COLON } from "./constants";
18
+ import { TokenData } from "./token-data";
19
+ import { lexer } from "./lexer";
20
+ /**
21
+ * @private
22
+ * A NOOP `Endoder` function.
23
+ * @param value The input string value.
24
+ * @returns The input string value.
25
+ */
26
+ const NOOP_VALUE = (value) => value;
27
+ /**
28
+ * @private
29
+ * Parse a string for the raw tokens.
30
+ */
31
+ export const stringToTokenData = (str, options = {}) => {
32
+ const { delimiter = DEFAULT_DELIMITER, encodePath = NOOP_VALUE, } = options;
33
+ const tokens = [];
34
+ const it = lexer(str);
35
+ let keyIndex = 0;
36
+ do {
37
+ const path = it.text();
38
+ if (path)
39
+ tokens.push(encodePath(path));
40
+ const name = it.tryConsume(NAME);
41
+ const pattern = it.tryConsume(PATTERN);
42
+ if (name || pattern) {
43
+ tokens.push({
44
+ name: name || String(keyIndex++),
45
+ pattern,
46
+ });
47
+ const next = it.peek();
48
+ if (next.type === ASTERISK) {
49
+ throw new TypeError(`Unexpected * at ${next.index}, you probably want \`/*\` or \`{/:foo}*\`: https://git.new/pathToRegexpError`);
50
+ }
51
+ continue;
52
+ }
53
+ const asterisk = it.tryConsume(ASTERISK);
54
+ if (asterisk) {
55
+ tokens.push({
56
+ name: String(keyIndex++),
57
+ pattern: `[^${escape(delimiter)}]*`,
58
+ modifier: ASTERISK,
59
+ separator: delimiter,
60
+ });
61
+ continue;
62
+ }
63
+ const open = it.tryConsume(LEFT_CURLY_BRACE);
64
+ if (open) {
65
+ const prefix = it.text();
66
+ const name = it.tryConsume(NAME);
67
+ const pattern = it.tryConsume(PATTERN);
68
+ const suffix = it.text();
69
+ const separator = it.tryConsume(SEMI_COLON) ? it.text() : prefix + suffix;
70
+ it.consume(RIGHT_CURLY_BRACE);
71
+ const modifier = it.modifier();
72
+ tokens.push({
73
+ name: name || (pattern ? String(keyIndex++) : EMPTY_STRING),
74
+ prefix: encodePath(prefix),
75
+ suffix: encodePath(suffix),
76
+ pattern,
77
+ modifier,
78
+ separator,
79
+ });
80
+ continue;
81
+ }
82
+ it.consume(END);
83
+ break;
84
+ } while (true);
85
+ return new TokenData(tokens, delimiter);
86
+ };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXRvLXRva2VuLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL3N0cmluZy10by10b2tlbi1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9ILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUtoQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxHQUFXLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXlCLENBQUMsR0FBVyxFQUFFLFVBQXdCLEVBQUUsRUFBYSxFQUFFO0lBQzVHLE1BQU0sRUFDSixTQUFTLEdBQUcsaUJBQWlCLEVBQzdCLFVBQVUsR0FBRyxVQUFVLEdBQ3hCLEdBQUcsT0FBTyxDQUFDO0lBQ1osTUFBTSxNQUFNLEdBQVksRUFBRSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxHQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFekIsR0FBRyxDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksSUFBSTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixJQUFJLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsT0FBTzthQUNSLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxTQUFTLENBQ2pCLG1CQUFtQixJQUFJLENBQUMsS0FBSywrRUFBK0UsQ0FDN0csQ0FBQztZQUNKLENBQUM7WUFDRCxTQUFTO1FBQ1gsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxFQUFFLEtBQUssTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJO2dCQUNuQyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsU0FBUyxFQUFFLFNBQVM7YUFDckIsQ0FBQyxDQUFDO1lBQ0gsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLElBQUksR0FBdUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEdBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsTUFBTSxPQUFPLEdBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sU0FBUyxHQUF1QixFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFFOUYsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBRTlCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUUvQixNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNWLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQzNELE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUMxQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsT0FBTztnQkFDUCxRQUFRO2dCQUNSLFNBQVM7YUFDVixDQUFDLENBQUM7WUFDSCxTQUFTO1FBQ1gsQ0FBQztRQUVELEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsTUFBTTtJQUNSLENBQUMsUUFBUSxJQUFJLEVBQUU7SUFFZixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICpcclxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGxvd2luZyBvcmlnaW5hbCBzb3VyY2UgY29kZTpcclxuICogLSBodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHBcclxuICogLSBDb3B5cmlnaHQgKGMpIDIwMTQgQmxha2UgRW1icmV5IChoZWxsb0BibGFrZWVtYnJleS5jb20pXHJcbiAqIFxyXG4gKiBVc2Ugb2YgdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIFxyXG4gKiB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0XHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waWxsYXJqcy9wYXRoLXRvLXJlZ2V4cC9ibG9iL21hc3Rlci9MSUNFTlNFXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgQVNURVJJU0ssIFJJR0hUX0NVUkxZX0JSQUNFLCBERUZBVUxUX0RFTElNSVRFUiwgRU5ELCBOQU1FLCBMRUZUX0NVUkxZX0JSQUNFLCBQQVRURVJOLCBTRU1JX0NPTE9OIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEl0ZXIgfSBmcm9tIFwiLi9pdGVyXCI7XHJcbmltcG9ydCB7IFBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL21vZGVsL3BhcnNlLW9wdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi9tb2RlbC90b2tlblwiO1xyXG5pbXBvcnQgeyBUb2tlbkRhdGEgfSBmcm9tIFwiLi90b2tlbi1kYXRhXCI7XHJcbmltcG9ydCB7IGxleGVyIH0gZnJvbSBcIi4vbGV4ZXJcIjtcclxuaW1wb3J0IHsgRW5jb2RlIH0gZnJvbSBcIi4vbW9kZWwvZW5jb2RlXCI7XHJcbmltcG9ydCB7IFJvdXRlU3RyaW5nVG9rZW5pemVyIH0gZnJvbSBcIi4vbW9kZWwvcm91dGUtc3RyaW5nLXRva2VuaXplclwiO1xyXG5pbXBvcnQgeyBMZXhUb2tlbiB9IGZyb20gXCIuL21vZGVsL2xleC10b2tlblwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEEgTk9PUCBgRW5kb2RlcmAgZnVuY3Rpb24uXHJcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgaW5wdXQgc3RyaW5nIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBUaGUgaW5wdXQgc3RyaW5nIHZhbHVlLlxyXG4gKi9cclxuY29uc3QgTk9PUF9WQUxVRTogRW5jb2RlID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4gdmFsdWU7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogUGFyc2UgYSBzdHJpbmcgZm9yIHRoZSByYXcgdG9rZW5zLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHN0cmluZ1RvVG9rZW5EYXRhOiBSb3V0ZVN0cmluZ1Rva2VuaXplciA9IChzdHI6IHN0cmluZywgb3B0aW9uczogUGFyc2VPcHRpb25zID0ge30pOiBUb2tlbkRhdGEgPT4ge1xyXG4gIGNvbnN0IHtcclxuICAgIGRlbGltaXRlciA9IERFRkFVTFRfREVMSU1JVEVSLFxyXG4gICAgZW5jb2RlUGF0aCA9IE5PT1BfVkFMVUUsXHJcbiAgfSA9IG9wdGlvbnM7XHJcbiAgY29uc3QgdG9rZW5zOiBUb2tlbltdID0gW107XHJcbiAgY29uc3QgaXQ6IEl0ZXIgPSBsZXhlcihzdHIpO1xyXG4gIGxldCBrZXlJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgZG8ge1xyXG4gICAgY29uc3QgcGF0aDogc3RyaW5nID0gaXQudGV4dCgpO1xyXG4gICAgaWYgKHBhdGgpIHRva2Vucy5wdXNoKGVuY29kZVBhdGgocGF0aCkpO1xyXG4gICAgY29uc3QgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gaXQudHJ5Q29uc3VtZShOQU1FKTtcclxuICAgIGNvbnN0IHBhdHRlcm46IHN0cmluZyB8IHVuZGVmaW5lZCA9IGl0LnRyeUNvbnN1bWUoUEFUVEVSTik7XHJcbiAgICBpZiAobmFtZSB8fCBwYXR0ZXJuKSB7XHJcbiAgICAgIHRva2Vucy5wdXNoKHtcclxuICAgICAgICBuYW1lOiBuYW1lIHx8IFN0cmluZyhrZXlJbmRleCsrKSxcclxuICAgICAgICBwYXR0ZXJuLFxyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgbmV4dDogTGV4VG9rZW4gPSBpdC5wZWVrKCk7XHJcbiAgICAgIGlmIChuZXh0LnR5cGUgPT09IEFTVEVSSVNLKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcclxuICAgICAgICAgIGBVbmV4cGVjdGVkICogYXQgJHtuZXh0LmluZGV4fSwgeW91IHByb2JhYmx5IHdhbnQgXFxgLypcXGAgb3IgXFxgey86Zm9vfSpcXGA6IGh0dHBzOi8vZ2l0Lm5ldy9wYXRoVG9SZWdleHBFcnJvcmAsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGFzdGVyaXNrID0gaXQudHJ5Q29uc3VtZShBU1RFUklTSyk7XHJcbiAgICBpZiAoYXN0ZXJpc2spIHtcclxuICAgICAgdG9rZW5zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IFN0cmluZyhrZXlJbmRleCsrKSxcclxuICAgICAgICBwYXR0ZXJuOiBgW14ke2VzY2FwZShkZWxpbWl0ZXIpfV0qYCxcclxuICAgICAgICBtb2RpZmllcjogQVNURVJJU0ssXHJcbiAgICAgICAgc2VwYXJhdG9yOiBkZWxpbWl0ZXIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvcGVuOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBpdC50cnlDb25zdW1lKExFRlRfQ1VSTFlfQlJBQ0UpO1xyXG4gICAgaWYgKG9wZW4pIHtcclxuICAgICAgY29uc3QgcHJlZml4OiBzdHJpbmcgPSBpdC50ZXh0KCk7XHJcbiAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGl0LnRyeUNvbnN1bWUoTkFNRSk7XHJcbiAgICAgIGNvbnN0IHBhdHRlcm46IHN0cmluZyB8IHVuZGVmaW5lZCA9IGl0LnRyeUNvbnN1bWUoUEFUVEVSTik7XHJcbiAgICAgIGNvbnN0IHN1ZmZpeDogc3RyaW5nID0gaXQudGV4dCgpO1xyXG4gICAgICBjb25zdCBzZXBhcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGl0LnRyeUNvbnN1bWUoU0VNSV9DT0xPTikgPyBpdC50ZXh0KCkgOiBwcmVmaXggKyBzdWZmaXg7XHJcblxyXG4gICAgICBpdC5jb25zdW1lKFJJR0hUX0NVUkxZX0JSQUNFKTtcclxuXHJcbiAgICAgIGNvbnN0IG1vZGlmaWVyID0gaXQubW9kaWZpZXIoKTtcclxuXHJcbiAgICAgIHRva2Vucy5wdXNoKHtcclxuICAgICAgICBuYW1lOiBuYW1lIHx8IChwYXR0ZXJuID8gU3RyaW5nKGtleUluZGV4KyspIDogRU1QVFlfU1RSSU5HKSxcclxuICAgICAgICBwcmVmaXg6IGVuY29kZVBhdGgocHJlZml4KSxcclxuICAgICAgICBzdWZmaXg6IGVuY29kZVBhdGgoc3VmZml4KSxcclxuICAgICAgICBwYXR0ZXJuLFxyXG4gICAgICAgIG1vZGlmaWVyLFxyXG4gICAgICAgIHNlcGFyYXRvcixcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGl0LmNvbnN1bWUoRU5EKTtcclxuICAgIGJyZWFrO1xyXG4gIH0gd2hpbGUgKHRydWUpO1xyXG5cclxuICByZXR1cm4gbmV3IFRva2VuRGF0YSh0b2tlbnMsIGRlbGltaXRlcik7XHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
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
+ * This source code is derived from the following original source code:
9
+ * - https://github.com/pillarjs/path-to-regexp
10
+ * - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
11
+ *
12
+ * Use of the original source code is governed by an MIT-style license
13
+ * that can be found in the LICENSE file at
14
+ * https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
15
+ */
16
+ import { EMPTY_STRING } from "../../../../util";
17
+ import { ASTERISK, PLUS, QUESTION_MARK } from "./constants";
18
+ import { escapeRegexpString } from "./escape-to-regexp-string";
19
+ /**
20
+ * @private
21
+ * Returns a function that converts a token into a regexp string.
22
+ */
23
+ export const toKeyRegexp = (stringify, delimiter) => {
24
+ const segmentPattern = `[^${escapeRegexpString(delimiter)}]+?`;
25
+ return (key) => {
26
+ const prefix = key.prefix ? stringify(key.prefix) : EMPTY_STRING;
27
+ const suffix = key.suffix ? stringify(key.suffix) : EMPTY_STRING;
28
+ const modifier = key.modifier || EMPTY_STRING;
29
+ if (key.name) {
30
+ const pattern = key.pattern || segmentPattern;
31
+ if (key.modifier === PLUS || key.modifier === ASTERISK) {
32
+ const mod = key.modifier === ASTERISK ? QUESTION_MARK : EMPTY_STRING;
33
+ const split = key.separator ? stringify(key.separator) : EMPTY_STRING;
34
+ return `(?:${prefix}((?:${pattern})(?:${split}(?:${pattern}))*)${suffix})${mod}`;
35
+ }
36
+ return `(?:${prefix}(${pattern})${suffix})${modifier}`;
37
+ }
38
+ return `(?:${prefix}${suffix})${modifier}`;
39
+ };
40
+ };
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8ta2V5LXJlZ2V4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvdG8ta2V5LXJlZ2V4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHL0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUErRCxDQUFDLFNBQWlCLEVBQUUsU0FBaUIsRUFBcUIsRUFBRTtJQUNqSixNQUFNLGNBQWMsR0FBVyxLQUFLLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDdkUsT0FBTyxDQUFDLEdBQVEsRUFBVSxFQUFFO1FBQzFCLE1BQU0sTUFBTSxHQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDekUsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUM7UUFDOUMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixNQUFNLE9BQU8sR0FBVyxHQUFHLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN0RCxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZELE1BQU0sR0FBRyxHQUFXLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDN0UsTUFBTSxLQUFLLEdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUM5RSxPQUFPLE1BQU0sTUFBTSxPQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sT0FBTyxPQUFPLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNuRixDQUFDO1lBQ0QsT0FBTyxNQUFNLE1BQU0sSUFBSSxPQUFPLElBQUksTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUM3QyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICpcclxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGxvd2luZyBvcmlnaW5hbCBzb3VyY2UgY29kZTpcclxuICogLSBodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHBcclxuICogLSBDb3B5cmlnaHQgKGMpIDIwMTQgQmxha2UgRW1icmV5IChoZWxsb0BibGFrZWVtYnJleS5jb20pXHJcbiAqIFxyXG4gKiBVc2Ugb2YgdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIFxyXG4gKiB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0XHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waWxsYXJqcy9wYXRoLXRvLXJlZ2V4cC9ibG9iL21hc3Rlci9MSUNFTlNFXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgQVNURVJJU0ssIFBMVVMsIFFVRVNUSU9OX01BUksgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRGVjb2RlS2V5VG9TdHJpbmcgfSBmcm9tIFwiLi9tb2RlbC9kZWNvZGUta2V5LXRvLXN0cmluZ1wiO1xyXG5pbXBvcnQgeyBFbmNvZGUgfSBmcm9tIFwiLi9tb2RlbC9lbmNvZGVcIjtcclxuaW1wb3J0IHsgZXNjYXBlUmVnZXhwU3RyaW5nIH0gZnJvbSBcIi4vZXNjYXBlLXRvLXJlZ2V4cC1zdHJpbmdcIjtcclxuaW1wb3J0IHsgS2V5IH0gZnJvbSBcIi4vbW9kZWwva2V5XCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgYSB0b2tlbiBpbnRvIGEgcmVnZXhwIHN0cmluZy5cclxuICovXHJcbmV4cG9ydCBjb25zdCB0b0tleVJlZ2V4cDogKHN0cmluZ2lmeTogRW5jb2RlLCBkZWxpbWl0ZXI6IHN0cmluZyk9PiBEZWNvZGVLZXlUb1N0cmluZyA9IChzdHJpbmdpZnk6IEVuY29kZSwgZGVsaW1pdGVyOiBzdHJpbmcpOiBEZWNvZGVLZXlUb1N0cmluZyA9PiB7XHJcbiAgY29uc3Qgc2VnbWVudFBhdHRlcm46IHN0cmluZyA9IGBbXiR7ZXNjYXBlUmVnZXhwU3RyaW5nKGRlbGltaXRlcil9XSs/YDtcclxuICByZXR1cm4gKGtleTogS2V5KTogc3RyaW5nID0+IHtcclxuICAgIGNvbnN0IHByZWZpeDogc3RyaW5nID0ga2V5LnByZWZpeCA/IHN0cmluZ2lmeShrZXkucHJlZml4KSA6IEVNUFRZX1NUUklORztcclxuICAgIGNvbnN0IHN1ZmZpeDogc3RyaW5nID0ga2V5LnN1ZmZpeCA/IHN0cmluZ2lmeShrZXkuc3VmZml4KSA6IEVNUFRZX1NUUklORztcclxuICAgIGNvbnN0IG1vZGlmaWVyID0ga2V5Lm1vZGlmaWVyIHx8IEVNUFRZX1NUUklORztcclxuICAgIGlmIChrZXkubmFtZSkge1xyXG4gICAgICBjb25zdCBwYXR0ZXJuOiBzdHJpbmcgPSBrZXkucGF0dGVybiB8fCBzZWdtZW50UGF0dGVybjtcclxuICAgICAgaWYgKGtleS5tb2RpZmllciA9PT0gUExVUyB8fCBrZXkubW9kaWZpZXIgPT09IEFTVEVSSVNLKSB7XHJcbiAgICAgICAgY29uc3QgbW9kOiBzdHJpbmcgPSBrZXkubW9kaWZpZXIgPT09IEFTVEVSSVNLID8gUVVFU1RJT05fTUFSSyA6IEVNUFRZX1NUUklORztcclxuICAgICAgICBjb25zdCBzcGxpdDogc3RyaW5nID0ga2V5LnNlcGFyYXRvciA/IHN0cmluZ2lmeShrZXkuc2VwYXJhdG9yKSA6IEVNUFRZX1NUUklORztcclxuICAgICAgICByZXR1cm4gYCg/OiR7cHJlZml4fSgoPzoke3BhdHRlcm59KSg/OiR7c3BsaXR9KD86JHtwYXR0ZXJufSkpKikke3N1ZmZpeH0pJHttb2R9YDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYCg/OiR7cHJlZml4fSgke3BhdHRlcm59KSR7c3VmZml4fSkke21vZGlmaWVyfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCg/OiR7cHJlZml4fSR7c3VmZml4fSkke21vZGlmaWVyfWA7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
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
+ * This source code is derived from the following original source code:
9
+ * - https://github.com/pillarjs/path-to-regexp
10
+ * - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
11
+ *
12
+ * Use of the original source code is governed by an MIT-style license
13
+ * that can be found in the LICENSE file at
14
+ * https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
15
+ */
16
+ import { G_FLAG } from "./constants";
17
+ import { escapeRegexpString } from "./escape-to-regexp-string";
18
+ import { looseReplacer } from "./loose-replacer";
19
+ /**
20
+ * @private
21
+ * Encode all non-delimiter characters using the encode function.
22
+ */
23
+ export const toStringify = (loose, delimiter) => {
24
+ if (!loose)
25
+ return escapeRegexpString;
26
+ const re = new RegExp(`[^${escapeRegexpString(delimiter)}]+|(.)`, G_FLAG);
27
+ return (value) => value.replace(re, looseReplacer);
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tc3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC90by1zdHJpbmdpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlqRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdDLENBQUMsS0FBYyxFQUFFLFNBQWlCLEVBQVUsRUFBRTtJQUNwRyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sa0JBQWtCLENBQUM7SUFDdEMsTUFBTSxFQUFFLEdBQVcsSUFBSSxNQUFNLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKlxyXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGRlcml2ZWQgZnJvbSB0aGUgZm9sbG93aW5nIG9yaWdpbmFsIHNvdXJjZSBjb2RlOlxyXG4gKiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9waWxsYXJqcy9wYXRoLXRvLXJlZ2V4cFxyXG4gKiAtIENvcHlyaWdodCAoYykgMjAxNCBCbGFrZSBFbWJyZXkgKGhlbGxvQGJsYWtlZW1icmV5LmNvbSlcclxuICogXHJcbiAqIFVzZSBvZiB0aGUgb3JpZ2luYWwgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgXHJcbiAqIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXRcclxuICogaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcclxuICovXHJcblxyXG5pbXBvcnQgeyBHX0ZMQUcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgZXNjYXBlUmVnZXhwU3RyaW5nIH0gZnJvbSBcIi4vZXNjYXBlLXRvLXJlZ2V4cC1zdHJpbmdcIjtcclxuaW1wb3J0IHsgbG9vc2VSZXBsYWNlciB9IGZyb20gXCIuL2xvb3NlLXJlcGxhY2VyXCI7XHJcbmltcG9ydCB7IEVuY29kZSB9IGZyb20gXCIuL21vZGVsL2VuY29kZVwiO1xyXG5pbXBvcnQgeyBOb25EZWxpbWl0ZXJFbmNvZGVyUHJvdmlkZXIgfSBmcm9tIFwiLi9tb2RlbC9ub24tZGVsaW1pdGVyLWVuY29kZXItcHJvdmlkZXJcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBFbmNvZGUgYWxsIG5vbi1kZWxpbWl0ZXIgY2hhcmFjdGVycyB1c2luZyB0aGUgZW5jb2RlIGZ1bmN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHRvU3RyaW5naWZ5OiBOb25EZWxpbWl0ZXJFbmNvZGVyUHJvdmlkZXIgPSAobG9vc2U6IGJvb2xlYW4sIGRlbGltaXRlcjogc3RyaW5nKTogRW5jb2RlID0+IHtcclxuICBpZiAoIWxvb3NlKSByZXR1cm4gZXNjYXBlUmVnZXhwU3RyaW5nO1xyXG4gIGNvbnN0IHJlOiBSZWdFeHAgPSBuZXcgUmVnRXhwKGBbXiR7ZXNjYXBlUmVnZXhwU3RyaW5nKGRlbGltaXRlcil9XSt8KC4pYCwgR19GTEFHKTtcclxuICByZXR1cm4gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlLnJlcGxhY2UocmUsIGxvb3NlUmVwbGFjZXIpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,49 @@
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
+ * This source code is derived from the following original source code:
9
+ * - https://github.com/pillarjs/path-to-regexp
10
+ * - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
11
+ *
12
+ * Use of the original source code is governed by an MIT-style license
13
+ * that can be found in the LICENSE file at
14
+ * https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
15
+ */
16
+ import { EMPTY_STRING, STRING } from "../../../../util";
17
+ import { CARRET, DOLLAR } from "./constants";
18
+ import { escapeRegexpString } from "./escape-to-regexp-string";
19
+ import { getFlags } from "./get-flags";
20
+ import { toKeyRegexp } from "./to-key-regexp";
21
+ import { toStringify } from "./to-stringify";
22
+ /**
23
+ * @Private
24
+ * Expose a function for taking tokens and returning a RegExp.
25
+ */
26
+ export const tokenDataToRegexp = (data, keys, options) => {
27
+ const { trailing = true, start = true, end = true, loose = true, } = options;
28
+ const stringify = toStringify(loose, data.delimiter);
29
+ const keyToRegexp = toKeyRegexp(stringify, data.delimiter);
30
+ let pattern = start ? CARRET : EMPTY_STRING;
31
+ for (const token of data.tokens) {
32
+ if (typeof token === STRING) {
33
+ pattern += stringify(token);
34
+ }
35
+ else {
36
+ if (token.name)
37
+ keys.push(token);
38
+ pattern += keyToRegexp(token);
39
+ }
40
+ }
41
+ if (trailing)
42
+ pattern += `(?:${stringify(data.delimiter)})?`;
43
+ pattern += end ? DOLLAR : `(?=${escapeRegexpString(data.delimiter)}|$)`;
44
+ // URLs in general are case-sensitive (with the exception of machine names).
45
+ // See https://www.w3.org/TR/WD-html40-970708/htmlweb.html
46
+ // Note that default modifier is "i".
47
+ return new RegExp(pattern, getFlags(options));
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZGF0YS10by1yZWdleHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL3Rva2VuLWRhdGEtdG8tcmVnZXhwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTJCLENBQUMsSUFBZSxFQUFFLElBQVcsRUFBRSxPQUE0QixFQUFVLEVBQUU7SUFDOUgsTUFBTSxFQUNKLFFBQVEsR0FBRyxJQUFJLEVBQ2YsS0FBSyxHQUFHLElBQUksRUFDWixHQUFHLEdBQUcsSUFBSSxFQUNWLEtBQUssR0FBRyxJQUFJLEdBQ2IsR0FBRyxPQUFPLENBQUM7SUFDWixNQUFNLFNBQVMsR0FBVyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxNQUFNLFdBQVcsR0FBc0IsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUUsSUFBSSxPQUFPLEdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUVwRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEtBQUssQ0FBQyxJQUFJO2dCQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUFFLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztJQUM3RCxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFFeEUsNEVBQTRFO0lBQzVFLDBEQUEwRDtJQUMxRCxxQ0FBcUM7SUFDckMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqXHJcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHRoZSBmb2xsb3dpbmcgb3JpZ2luYWwgc291cmNlIGNvZGU6XHJcbiAqIC0gaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXHJcbiAqIC0gQ29weXJpZ2h0IChjKSAyMDE0IEJsYWtlIEVtYnJleSAoaGVsbG9AYmxha2VlbWJyZXkuY29tKVxyXG4gKiBcclxuICogVXNlIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSBcclxuICogdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdFxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHAvYmxvYi9tYXN0ZXIvTElDRU5TRVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEVNUFRZX1NUUklORywgU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgQ0FSUkVULCBET0xMQVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW5jb2RlIH0gZnJvbSBcIi4vbW9kZWwvZW5jb2RlXCI7XHJcbmltcG9ydCB7IGVzY2FwZVJlZ2V4cFN0cmluZyB9IGZyb20gXCIuL2VzY2FwZS10by1yZWdleHAtc3RyaW5nXCI7XHJcbmltcG9ydCB7IEtleSB9IGZyb20gXCIuL21vZGVsL2tleVwiO1xyXG5pbXBvcnQgeyBnZXRGbGFncyB9IGZyb20gXCIuL2dldC1mbGFnc1wiO1xyXG5pbXBvcnQgeyBQYXRoVG9SZWdleHBPcHRpb25zIH0gZnJvbSBcIi4vbW9kZWwvcGF0aC10by1yZWdleHAtb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBUb2tlbkRhdGEgfSBmcm9tIFwiLi90b2tlbi1kYXRhXCI7XHJcbmltcG9ydCB7IERlY29kZUtleVRvU3RyaW5nIH0gZnJvbSBcIi4vbW9kZWwvZGVjb2RlLWtleS10by1zdHJpbmdcIjtcclxuaW1wb3J0IHsgdG9LZXlSZWdleHAgfSBmcm9tIFwiLi90by1rZXktcmVnZXhwXCI7XHJcbmltcG9ydCB7IHRvU3RyaW5naWZ5IH0gZnJvbSBcIi4vdG8tc3RyaW5naWZ5XCI7XHJcbmltcG9ydCB7IFRva2VuRGF0YVJlZ0V4cEZhY3RvcnkgfSBmcm9tIFwiLi9tb2RlbC90b2tlbi1kYXRhLXJlZ2V4cC1mYWN0b3J5XCI7XHJcblxyXG4vKipcclxuICogQFByaXZhdGVcclxuICogRXhwb3NlIGEgZnVuY3Rpb24gZm9yIHRha2luZyB0b2tlbnMgYW5kIHJldHVybmluZyBhIFJlZ0V4cC5cclxuICovXHJcbmV4cG9ydCBjb25zdCB0b2tlbkRhdGFUb1JlZ2V4cDogVG9rZW5EYXRhUmVnRXhwRmFjdG9yeSA9IChkYXRhOiBUb2tlbkRhdGEsIGtleXM6IEtleVtdLCBvcHRpb25zOiBQYXRoVG9SZWdleHBPcHRpb25zKTogUmVnRXhwID0+IHtcclxuICBjb25zdCB7XHJcbiAgICB0cmFpbGluZyA9IHRydWUsXHJcbiAgICBzdGFydCA9IHRydWUsXHJcbiAgICBlbmQgPSB0cnVlLFxyXG4gICAgbG9vc2UgPSB0cnVlLFxyXG4gIH0gPSBvcHRpb25zO1xyXG4gIGNvbnN0IHN0cmluZ2lmeTogRW5jb2RlID0gdG9TdHJpbmdpZnkobG9vc2UsIGRhdGEuZGVsaW1pdGVyKTtcclxuICBjb25zdCBrZXlUb1JlZ2V4cDogRGVjb2RlS2V5VG9TdHJpbmcgPSB0b0tleVJlZ2V4cChzdHJpbmdpZnksIGRhdGEuZGVsaW1pdGVyKTtcclxuICBsZXQgcGF0dGVybjogc3RyaW5nID0gc3RhcnQgPyBDQVJSRVQgOiBFTVBUWV9TVFJJTkc7XHJcbiAgXHJcbiAgZm9yIChjb25zdCB0b2tlbiBvZiBkYXRhLnRva2VucyBhcyBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgdG9rZW4gPT09IFNUUklORykge1xyXG4gICAgICBwYXR0ZXJuICs9IHN0cmluZ2lmeSh0b2tlbik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodG9rZW4ubmFtZSkga2V5cy5wdXNoKHRva2VuKTtcclxuICAgICAgcGF0dGVybiArPSBrZXlUb1JlZ2V4cCh0b2tlbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZiAodHJhaWxpbmcpIHBhdHRlcm4gKz0gYCg/OiR7c3RyaW5naWZ5KGRhdGEuZGVsaW1pdGVyKX0pP2A7XHJcbiAgcGF0dGVybiArPSBlbmQgPyBET0xMQVIgOiBgKD89JHtlc2NhcGVSZWdleHBTdHJpbmcoZGF0YS5kZWxpbWl0ZXIpfXwkKWA7XHJcblxyXG4gIC8vIFVSTHMgaW4gZ2VuZXJhbCBhcmUgY2FzZS1zZW5zaXRpdmUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBtYWNoaW5lIG5hbWVzKS5cclxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dELWh0bWw0MC05NzA3MDgvaHRtbHdlYi5odG1sXHJcbiAgLy8gTm90ZSB0aGF0IGRlZmF1bHQgbW9kaWZpZXIgaXMgXCJpXCIuXHJcbiAgcmV0dXJuIG5ldyBSZWdFeHAocGF0dGVybiwgZ2V0RmxhZ3Mob3B0aW9ucykpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,33 @@
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
+ * This source code is derived from the following original source code:
9
+ * - https://github.com/pillarjs/path-to-regexp
10
+ * - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
11
+ *
12
+ * Use of the original source code is governed by an MIT-style license
13
+ * that can be found in the LICENSE file at
14
+ * https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
15
+ */
16
+ /**
17
+ * @private
18
+ * Tokenized path instance.
19
+ */
20
+ export class TokenData {
21
+ /**
22
+ * @private
23
+ * Creates a new `TokenData` instance.
24
+ *
25
+ * @param tokens A list of `Token` objects.
26
+ * @param delimiter the string delimiter for this `TokenData` instance.
27
+ */
28
+ constructor(tokens, delimiter) {
29
+ this.tokens = tokens;
30
+ this.delimiter = delimiter;
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvcGF0aC10by1yZWdleHAvdG9rZW4tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUlIOzs7R0FHRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBRXBCOzs7Ozs7T0FNRztJQUNILFlBQTRCLE1BQWUsRUFDZixTQUFpQjtRQURqQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUFHLENBQUM7Q0FDbEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICpcclxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGxvd2luZyBvcmlnaW5hbCBzb3VyY2UgY29kZTpcclxuICogLSBodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHBcclxuICogLSBDb3B5cmlnaHQgKGMpIDIwMTQgQmxha2UgRW1icmV5IChoZWxsb0BibGFrZWVtYnJleS5jb20pXHJcbiAqIFxyXG4gKiBVc2Ugb2YgdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIFxyXG4gKiB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0XHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waWxsYXJqcy9wYXRoLXRvLXJlZ2V4cC9ibG9iL21hc3Rlci9MSUNFTlNFXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi9tb2RlbC90b2tlblwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRva2VuaXplZCBwYXRoIGluc3RhbmNlLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRva2VuRGF0YSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBgVG9rZW5EYXRhYCBpbnN0YW5jZS5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdG9rZW5zIEEgbGlzdCBvZiBgVG9rZW5gIG9iamVjdHMuXHJcbiAgICogQHBhcmFtIGRlbGltaXRlciB0aGUgc3RyaW5nIGRlbGltaXRlciBmb3IgdGhpcyBgVG9rZW5EYXRhYCBpbnN0YW5jZS5cclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdG9rZW5zOiBUb2tlbltdLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyByZWFkb25seSBkZWxpbWl0ZXI6IHN0cmluZykge31cclxufVxyXG4iXX0=
@@ -0,0 +1,35 @@
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 { EMPTY_STRING } from "projects/angular-toolbox/src/public-api";
9
+ /**
10
+ * @private
11
+ * A static utility class for building `DataStorage` objects.
12
+ */
13
+ export class DataStorageBuilder {
14
+ /**
15
+ * @private
16
+ * Builds and returns a new `DataStorage` objects.
17
+ *
18
+ * @param httpResponse The `HttpResponseMock` to be stored by the framework.
19
+ * @param data The data of the HTTP response to be stored by the framework.
20
+ *
21
+ * @returns A new `DataStorage` objects.
22
+ */
23
+ static buildDataStorage(httpResponse, data) {
24
+ // TODO: add support for different data types (string, Blob, etc.)
25
+ const stringifiedData = data ? JSON.stringify(data) : EMPTY_STRING;
26
+ return {
27
+ httpResponse: httpResponse,
28
+ loaded: 0,
29
+ total: data ? new Blob([stringifiedData]).size : 0,
30
+ data: data,
31
+ stringifiedData: stringifiedData
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yYWdlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvZGF0YS1zdG9yYWdlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBSXZFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFFM0I7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBOEIsRUFBRSxJQUFTO1FBQ3BFLGtFQUFrRTtRQUNsRSxNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUMzRSxPQUFPO1lBQ0gsWUFBWSxFQUFFLFlBQVk7WUFDMUIsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksRUFBRSxJQUFJO1lBQ1YsZUFBZSxFQUFFLGVBQWU7U0FDbkMsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcblxyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwicHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZU1vY2sgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgRGF0YVN0b3JhZ2UgfSBmcm9tIFwiLi4vY29yZS9kYXRhLXN0b3JhZ2VcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBBIHN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBidWlsZGluZyBgRGF0YVN0b3JhZ2VgIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0YVN0b3JhZ2VCdWlsZGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBCdWlsZHMgYW5kIHJldHVybnMgYSBuZXcgYERhdGFTdG9yYWdlYCBvYmplY3RzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gaHR0cFJlc3BvbnNlIFRoZSBgSHR0cFJlc3BvbnNlTW9ja2AgdG8gYmUgc3RvcmVkIGJ5IHRoZSBmcmFtZXdvcmsuXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBvZiB0aGUgSFRUUCByZXNwb25zZSB0byBiZSBzdG9yZWQgYnkgdGhlIGZyYW1ld29yay5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBuZXcgYERhdGFTdG9yYWdlYCBvYmplY3RzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkRGF0YVN0b3JhZ2UoaHR0cFJlc3BvbnNlOiBIdHRwUmVzcG9uc2VNb2NrLCBkYXRhOiBhbnkpOiBEYXRhU3RvcmFnZSB7XHJcbiAgICAgICAgLy8gVE9ETzogYWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBkYXRhIHR5cGVzIChzdHJpbmcsIEJsb2IsIGV0Yy4pXHJcbiAgICAgICAgY29uc3Qgc3RyaW5naWZpZWREYXRhOiBzdHJpbmcgPSBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBFTVBUWV9TVFJJTkc7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaHR0cFJlc3BvbnNlOiBodHRwUmVzcG9uc2UsXHJcbiAgICAgICAgICAgIGxvYWRlZDogMCxcclxuICAgICAgICAgICAgdG90YWw6IGRhdGEgPyBuZXcgQmxvYihbc3RyaW5naWZpZWREYXRhXSkuc2l6ZSA6IDAsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgIHN0cmluZ2lmaWVkRGF0YTogc3RyaW5naWZpZWREYXRhXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,138 @@
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=
@@ -0,0 +1,56 @@
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 { EMPTY_STRING } from "../../../../util";
9
+ import { httpHeadersMock } from "./http-headers-mock.builder";
10
+ /**
11
+ * @private
12
+ * Internal reference to a new line character.
13
+ */
14
+ const NL = "\n";
15
+ /**
16
+ * @private
17
+ * A set of static utilities for manipulating `HttpHeaders` objects.
18
+ */
19
+ export class HttpHeadersUtil {
20
+ /**
21
+ * @private
22
+ * Returns a string representation the the specified `HttpHeaders `object, compatible with the format
23
+ * expected by the `XMLHttpRequest.getAllResponseHeaders()` method.
24
+ *
25
+ * @param headers The `HttpHeaders` object to format.
26
+ *
27
+ * @returns A string compatible with the format expected by the `XMLHttpRequest.getAllResponseHeaders()` method.
28
+ */
29
+ static stringify(headers) {
30
+ let result = EMPTY_STRING;
31
+ if (!headers)
32
+ return result;
33
+ const keys = headers.keys();
34
+ const last = keys.length - 1;
35
+ keys.forEach((key, index) => {
36
+ result += `${key}: ${headers.getAll(key)}${index !== last ? NL : EMPTY_STRING}`;
37
+ });
38
+ return result;
39
+ }
40
+ /**
41
+ * @private
42
+ * Creates the default `HttpHeaders` object for a mocked HTTP request.
43
+ *
44
+ * @returns The default `HttpHeaders` object for a mocked HTTP request.
45
+ */
46
+ static createDefaultRequestHeaders() {
47
+ // "Accept" header is set by Angular framework when missing
48
+ return httpHeadersMock().cacheControl()
49
+ .acceptEncoding()
50
+ .acceptLanguage()
51
+ .priority()
52
+ .userAgent()
53
+ .headers();
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWFkZXJzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3V0aWwvaHR0cC1oZWFkZXJzLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RDs7O0dBR0c7QUFDSCxNQUFNLEVBQUUsR0FBVyxJQUFJLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFFeEI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQWdDO1FBQ3BELElBQUksTUFBTSxHQUFXLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxHQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBVyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBQyxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLEdBQUcsS0FBSyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsMkJBQTJCO1FBQ3JDLDJEQUEyRDtRQUMzRCxPQUFPLGVBQWUsRUFBRSxDQUFDLFlBQVksRUFBRTthQUNkLGNBQWMsRUFBRTthQUNoQixjQUFjLEVBQUU7YUFDaEIsUUFBUSxFQUFFO2FBQ1YsU0FBUyxFQUFFO2FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgaHR0cEhlYWRlcnNNb2NrIH0gZnJvbSBcIi4vaHR0cC1oZWFkZXJzLW1vY2suYnVpbGRlclwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEludGVybmFsIHJlZmVyZW5jZSB0byBhIG5ldyBsaW5lIGNoYXJhY3Rlci5cclxuICovXHJcbmNvbnN0IE5MOiBzdHJpbmcgPSBcIlxcblwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEEgc2V0IG9mIHN0YXRpYyB1dGlsaXRpZXMgZm9yIG1hbmlwdWxhdGluZyBgSHR0cEhlYWRlcnNgIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSHR0cEhlYWRlcnNVdGlsIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIHRoZSB0aGUgc3BlY2lmaWVkIGBIdHRwSGVhZGVycyBgb2JqZWN0LCBjb21wYXRpYmxlIHdpdGggdGhlIGZvcm1hdFxyXG4gICAgICogZXhwZWN0ZWQgYnkgdGhlIGBYTUxIdHRwUmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKWAgbWV0aG9kLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBUaGUgYEh0dHBIZWFkZXJzYCBvYmplY3QgdG8gZm9ybWF0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb21wYXRpYmxlIHdpdGggdGhlIGZvcm1hdCBleHBlY3RlZCBieSB0aGUgYFhNTEh0dHBSZXF1ZXN0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpYCBtZXRob2QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5KGhlYWRlcnM6IEh0dHBIZWFkZXJzIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBFTVBUWV9TVFJJTkc7XHJcbiAgICAgICAgaWYgKCFoZWFkZXJzKSByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gaGVhZGVycy5rZXlzKCk7XHJcbiAgICAgICAgY29uc3QgbGFzdDogbnVtYmVyID0ga2V5cy5sZW5ndGggLSAxO1xyXG4gICAgICAgIGtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gYCR7a2V5fTogJHtoZWFkZXJzLmdldEFsbChrZXkpfSR7aW5kZXggIT09IGxhc3QgPyBOTCA6IEVNUFRZX1NUUklOR31gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIENyZWF0ZXMgdGhlIGRlZmF1bHQgYEh0dHBIZWFkZXJzYCBvYmplY3QgZm9yIGEgbW9ja2VkIEhUVFAgcmVxdWVzdC5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgVGhlIGRlZmF1bHQgYEh0dHBIZWFkZXJzYCBvYmplY3QgZm9yIGEgbW9ja2VkIEhUVFAgcmVxdWVzdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVEZWZhdWx0UmVxdWVzdEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIC8vIFwiQWNjZXB0XCIgaGVhZGVyIGlzIHNldCBieSBBbmd1bGFyIGZyYW1ld29yayB3aGVuIG1pc3NpbmdcclxuICAgICAgICByZXR1cm4gaHR0cEhlYWRlcnNNb2NrKCkuY2FjaGVDb250cm9sKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYWNjZXB0RW5jb2RpbmcoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hY2NlcHRMYW5ndWFnZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaW9yaXR5KClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudXNlckFnZW50KClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVycygpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
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