@angular-wave/angular.ts 0.9.4 → 0.9.6

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 (645) hide show
  1. package/@types/index.d.ts +1 -84
  2. package/{src/index.ts → @types/namespace.d.ts} +4 -24
  3. package/@types/router/template-factory.d.ts +2 -2
  4. package/dist/angular-ts.esm.js +3 -3
  5. package/dist/angular-ts.umd.js +3 -3
  6. package/dist/angular-ts.umd.min.js +1 -1
  7. package/package.json +9 -2
  8. package/.github/workflows/ci.yml +0 -104
  9. package/.github/workflows/gh-pages.yml +0 -75
  10. package/.husky/pre-commit +0 -5
  11. package/.prettierignore +0 -9
  12. package/CHANGELOG.md +0 -17667
  13. package/CODE_OF_CONDUCT.md +0 -3
  14. package/CONTRIBUTING.md +0 -247
  15. package/DEVELOPERS.md +0 -499
  16. package/Makefile +0 -60
  17. package/RELEASE.md +0 -86
  18. package/TRIAGING.md +0 -127
  19. package/docs/.cspell.yml +0 -8
  20. package/docs/.github/dependabot.yml +0 -14
  21. package/docs/.nvmrc +0 -1
  22. package/docs/CONTRIBUTING.md +0 -28
  23. package/docs/Dockerfile +0 -4
  24. package/docs/LICENSE +0 -201
  25. package/docs/README.md +0 -217
  26. package/docs/assets/icons/logo.svg +0 -1
  27. package/docs/assets/scss/_variables_project.scss +0 -12
  28. package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
  29. package/docs/assets/scss/index.scss +0 -48
  30. package/docs/config.yaml +0 -15
  31. package/docs/content/_index.md +0 -28
  32. package/docs/content/docs/_index.md +0 -61
  33. package/docs/content/docs/directive/_index.md +0 -4
  34. package/docs/content/docs/directive/app.md +0 -11
  35. package/docs/content/docs/directive/aria.md +0 -0
  36. package/docs/content/docs/directive/bind.md +0 -72
  37. package/docs/content/docs/directive/blur.md +0 -38
  38. package/docs/content/docs/directive/channel.md +0 -37
  39. package/docs/content/docs/directive/class-even.md +0 -47
  40. package/docs/content/docs/directive/class-odd.md +0 -48
  41. package/docs/content/docs/directive/class.md +0 -64
  42. package/docs/content/docs/directive/click.md +0 -41
  43. package/docs/content/docs/directive/cloak.md +0 -74
  44. package/docs/content/docs/directive/copy.md +0 -38
  45. package/docs/content/docs/directive/cut.md +0 -40
  46. package/docs/content/docs/directive/dblclick.md +0 -41
  47. package/docs/content/docs/directive/focus.md +0 -38
  48. package/docs/content/docs/directive/get.md +0 -203
  49. package/docs/content/docs/directive/include.md +0 -7
  50. package/docs/content/docs/directive/keydown.md +0 -38
  51. package/docs/content/docs/directive/keyup.md +0 -38
  52. package/docs/content/docs/directive/load.md +0 -43
  53. package/docs/content/docs/directive/mousedown.md +0 -38
  54. package/docs/content/docs/directive/mouseenter.md +0 -38
  55. package/docs/content/docs/directive/mouseleave.md +0 -38
  56. package/docs/content/docs/directive/mousemove.md +0 -38
  57. package/docs/content/docs/directive/mouseout.md +0 -38
  58. package/docs/content/docs/directive/mouseover.md +0 -38
  59. package/docs/content/docs/directive/mouseup.md +0 -38
  60. package/docs/content/docs/directive/non-bindable.md +0 -28
  61. package/docs/content/docs/filter/_index.md +0 -4
  62. package/docs/content/docs/filter/filter.md +0 -78
  63. package/docs/content/docs/filter/json.md +0 -19
  64. package/docs/content/docs/filter/limit-to.md +0 -30
  65. package/docs/content/docs/filter/order-by.md +0 -123
  66. package/docs/content/docs/provider/_index.md +0 -4
  67. package/docs/content/docs/provider/eventBusProvider.md +0 -35
  68. package/docs/content/docs/provider/locationProvider.md +0 -26
  69. package/docs/content/docs/provider/logProvider.md +0 -59
  70. package/docs/content/docs/provider/sceProvider.md +0 -194
  71. package/docs/content/docs/provider/templateCacheProvider.md +0 -100
  72. package/docs/content/docs/provider/templateRequestProvider.md +0 -5
  73. package/docs/content/docs/service/_index.md +0 -4
  74. package/docs/content/docs/service/compile.md +0 -5
  75. package/docs/content/docs/service/controller.md +0 -5
  76. package/docs/content/docs/service/eventBus.md +0 -56
  77. package/docs/content/docs/service/http.md +0 -161
  78. package/docs/content/docs/service/interpolation.md +0 -5
  79. package/docs/content/docs/service/location.md +0 -57
  80. package/docs/content/docs/service/log.md +0 -113
  81. package/docs/content/docs/service/parse.md +0 -5
  82. package/docs/content/docs/service/rootElement.md +0 -5
  83. package/docs/content/docs/service/rootScope.md +0 -5
  84. package/docs/content/docs/service/sce.md +0 -194
  85. package/docs/content/docs/service/templateCache.md +0 -64
  86. package/docs/content/docs/service/templateRequest.md +0 -5
  87. package/docs/content/docs/service/url.md +0 -5
  88. package/docs/content/docs/values/_index.md +0 -4
  89. package/docs/content/docs/values/document.md +0 -29
  90. package/docs/content/docs/values/window.md +0 -29
  91. package/docs/docker-compose.yaml +0 -12
  92. package/docs/docsy.work +0 -5
  93. package/docs/docsy.work.sum +0 -0
  94. package/docs/go.mod +0 -5
  95. package/docs/go.sum +0 -6
  96. package/docs/hugo-disabled.toml +0 -220
  97. package/docs/hugo.yaml +0 -200
  98. package/docs/layouts/404.html +0 -13
  99. package/docs/layouts/_markup/render-heading.html +0 -1
  100. package/docs/layouts/partials/hooks/head-end.html +0 -3
  101. package/docs/layouts/shortcodes/showcss.html +0 -2
  102. package/docs/layouts/shortcodes/showhtml.html +0 -2
  103. package/docs/layouts/shortcodes/showjs.html +0 -2
  104. package/docs/layouts/shortcodes/showraw.html +0 -1
  105. package/docs/layouts/shortcodes/version.html +0 -1
  106. package/docs/package-lock.json +0 -2293
  107. package/docs/package.json +0 -53
  108. package/docs/static/examples/counter/counter-test.html +0 -13
  109. package/docs/static/examples/counter/counter.html +0 -5
  110. package/docs/static/examples/counter/counter.test.js +0 -28
  111. package/docs/static/examples/document/document.html +0 -3
  112. package/docs/static/examples/eventbus/eventbus-test.html +0 -15
  113. package/docs/static/examples/eventbus/eventbus.html +0 -13
  114. package/docs/static/examples/eventbus/eventbus.js +0 -15
  115. package/docs/static/examples/eventbus/eventbus.test.js +0 -19
  116. package/docs/static/examples/i18n/i18n.html +0 -77
  117. package/docs/static/examples/ng-bind/ng-bind.html +0 -9
  118. package/docs/static/examples/ng-blur/ng-blur.html +0 -9
  119. package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
  120. package/docs/static/examples/ng-channel/ng-channel.html +0 -24
  121. package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
  122. package/docs/static/examples/ng-class/ng-class.html +0 -71
  123. package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
  124. package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
  125. package/docs/static/examples/ng-click/ng-click.html +0 -6
  126. package/docs/static/examples/ng-copy/ng-copy.html +0 -6
  127. package/docs/static/examples/ng-cut/ng-cut.html +0 -6
  128. package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
  129. package/docs/static/examples/ng-focus/ng-focus.html +0 -9
  130. package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
  131. package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
  132. package/docs/static/examples/ng-load/ng-load.html +0 -8
  133. package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
  134. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
  135. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
  136. package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
  137. package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
  138. package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
  139. package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
  140. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
  141. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
  142. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
  143. package/docs/static/examples/window/window.html +0 -4
  144. package/docs/static/typedoc/.nojekyll +0 -1
  145. package/docs/static/typedoc/assets/hierarchy.js +0 -1
  146. package/docs/static/typedoc/assets/highlight.css +0 -29
  147. package/docs/static/typedoc/assets/icons.js +0 -18
  148. package/docs/static/typedoc/assets/icons.svg +0 -1
  149. package/docs/static/typedoc/assets/main.js +0 -60
  150. package/docs/static/typedoc/assets/navigation.js +0 -1
  151. package/docs/static/typedoc/assets/search.js +0 -1
  152. package/docs/static/typedoc/assets/style.css +0 -1633
  153. package/docs/static/typedoc/classes/Location.html +0 -55
  154. package/docs/static/typedoc/classes/LocationProvider.html +0 -20
  155. package/docs/static/typedoc/classes/LogProvider.html +0 -6
  156. package/docs/static/typedoc/classes/PubSub.html +0 -71
  157. package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
  158. package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
  159. package/docs/static/typedoc/hierarchy.html +0 -1
  160. package/docs/static/typedoc/index.html +0 -1
  161. package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
  162. package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
  163. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
  164. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
  165. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
  166. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
  167. package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
  168. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
  169. package/docs/static/typedoc/interfaces/HttpService.html +0 -38
  170. package/docs/static/typedoc/interfaces/LogService.html +0 -12
  171. package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
  172. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
  173. package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
  174. package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
  175. package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
  176. package/docs/static/typedoc/types/HttpParams.html +0 -2
  177. package/docs/static/typedoc/types/HttpPromise.html +0 -1
  178. package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
  179. package/docs/static/typedoc/types/LogCall.html +0 -2
  180. package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
  181. package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
  182. package/docs/static/typedoc/variables/EventBus.html +0 -1
  183. package/docs/static/version.js +0 -13
  184. package/docs/test-results/.last-run.json +0 -4
  185. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
  186. package/eslint.config.js +0 -26
  187. package/images/android-chrome-192x192.png +0 -0
  188. package/images/android-chrome-512x512.png +0 -0
  189. package/images/apple-touch-icon.png +0 -0
  190. package/images/favicon-16x16.png +0 -0
  191. package/images/favicon-32x32.png +0 -0
  192. package/images/favicon.ico +0 -0
  193. package/images/site.webmanifest +0 -19
  194. package/index.html +0 -86
  195. package/legacy.d.ts +0 -1678
  196. package/playwright.config.ts +0 -81
  197. package/public/jasmine/boot0.js +0 -66
  198. package/public/jasmine/boot1.js +0 -134
  199. package/public/jasmine/jasmine-html.js +0 -970
  200. package/public/jasmine/jasmine.css +0 -323
  201. package/public/jasmine/jasmine.js +0 -11406
  202. package/public/public/README.md +0 -1
  203. package/public/public/circle.html +0 -1
  204. package/public/public/jasmine-helper.css +0 -9
  205. package/public/public/my_child_directive.html +0 -1
  206. package/public/public/my_directive.html +0 -1
  207. package/public/public/my_other_directive.html +0 -1
  208. package/public/public/test.html +0 -1
  209. package/rollup.config.js +0 -51
  210. package/src/angular.js +0 -286
  211. package/src/angular.spec.js +0 -1191
  212. package/src/animations/animate-cache.js +0 -80
  213. package/src/animations/animate-children-directive.js +0 -32
  214. package/src/animations/animate-children-directive.md +0 -80
  215. package/src/animations/animate-css-driver.js +0 -284
  216. package/src/animations/animate-css.html +0 -58
  217. package/src/animations/animate-css.js +0 -915
  218. package/src/animations/animate-css.md +0 -263
  219. package/src/animations/animate-js-driver.js +0 -60
  220. package/src/animations/animate-js.html +0 -47
  221. package/src/animations/animate-js.js +0 -371
  222. package/src/animations/animate-queue.js +0 -859
  223. package/src/animations/animate-runner.js +0 -193
  224. package/src/animations/animate-swap.js +0 -33
  225. package/src/animations/animate-swap.md +0 -88
  226. package/src/animations/animate.html +0 -19
  227. package/src/animations/animate.js +0 -546
  228. package/src/animations/animate.md +0 -933
  229. package/src/animations/animate.spec.js +0 -490
  230. package/src/animations/animation.js +0 -519
  231. package/src/animations/animations.test.js +0 -10
  232. package/src/animations/interface.ts +0 -19
  233. package/src/animations/raf-scheduler.html +0 -19
  234. package/src/animations/raf-scheduler.js +0 -92
  235. package/src/animations/raf-scheduler.spec.js +0 -98
  236. package/src/animations/shared.js +0 -341
  237. package/src/binding.html +0 -19
  238. package/src/binding.spec.js +0 -474
  239. package/src/binding.test.js +0 -10
  240. package/src/core/compile/attributes.js +0 -337
  241. package/src/core/compile/compile.html +0 -19
  242. package/src/core/compile/compile.js +0 -3271
  243. package/src/core/compile/compile.md +0 -1128
  244. package/src/core/compile/compile.spec.js +0 -15574
  245. package/src/core/compile/compile.test.js +0 -12
  246. package/src/core/controller/controller.html +0 -22
  247. package/src/core/controller/controller.js +0 -193
  248. package/src/core/controller/controller.spec.js +0 -334
  249. package/src/core/controller/controller.test.js +0 -12
  250. package/src/core/controller/interface.ts +0 -6
  251. package/src/core/core.html +0 -20
  252. package/src/core/core.test.js +0 -12
  253. package/src/core/di/injector.html +0 -19
  254. package/src/core/di/injector.js +0 -307
  255. package/src/core/di/injector.md +0 -740
  256. package/src/core/di/injector.spec.js +0 -2310
  257. package/src/core/di/injector.test.js +0 -12
  258. package/src/core/di/internal-injector.js +0 -286
  259. package/src/core/di/ng-module.html +0 -19
  260. package/src/core/di/ng-module.js +0 -229
  261. package/src/core/di/ng-module.spec.js +0 -263
  262. package/src/core/di/ng-module.test.js +0 -12
  263. package/src/core/filter/filter.html +0 -19
  264. package/src/core/filter/filter.js +0 -55
  265. package/src/core/filter/filter.md +0 -132
  266. package/src/core/filter/filter.spec.js +0 -149
  267. package/src/core/filter/filter.test.js +0 -12
  268. package/src/core/interpolate/interface.ts +0 -14
  269. package/src/core/interpolate/interpolate.html +0 -22
  270. package/src/core/interpolate/interpolate.js +0 -410
  271. package/src/core/interpolate/interpolate.spec.js +0 -601
  272. package/src/core/interpolate/interpolate.test.js +0 -12
  273. package/src/core/parse/ast/ast-node.ts +0 -81
  274. package/src/core/parse/ast/ast.html +0 -19
  275. package/src/core/parse/ast/ast.js +0 -574
  276. package/src/core/parse/ast/ast.spec.js +0 -1453
  277. package/src/core/parse/ast/ast.test.js +0 -10
  278. package/src/core/parse/ast-type.js +0 -23
  279. package/src/core/parse/interface.ts +0 -84
  280. package/src/core/parse/interpreter.js +0 -915
  281. package/src/core/parse/lexer/lexer.html +0 -19
  282. package/src/core/parse/lexer/lexer.js +0 -338
  283. package/src/core/parse/lexer/lexer.spec.js +0 -303
  284. package/src/core/parse/lexer/lexer.test.js +0 -10
  285. package/src/core/parse/lexer/token.ts +0 -22
  286. package/src/core/parse/parse.html +0 -19
  287. package/src/core/parse/parse.js +0 -337
  288. package/src/core/parse/parse.md +0 -57
  289. package/src/core/parse/parse.spec.js +0 -2107
  290. package/src/core/parse/parse.test.js +0 -10
  291. package/src/core/parse/parser/parser.html +0 -19
  292. package/src/core/parse/parser/parser.js +0 -64
  293. package/src/core/parse/parser/parser.spec.js +0 -8
  294. package/src/core/parse/parser/parser.test.js +0 -10
  295. package/src/core/prop.spec.js +0 -775
  296. package/src/core/root-element.spec.js +0 -14
  297. package/src/core/sanitize/interface.ts +0 -10
  298. package/src/core/sanitize/sanitize-uri.js +0 -75
  299. package/src/core/sanitize/sanitize-uri.spec.js +0 -249
  300. package/src/core/sanitize/sanitize-uri.test.js +0 -12
  301. package/src/core/sanitize/sanitize.html +0 -22
  302. package/src/core/scope/scope.html +0 -19
  303. package/src/core/scope/scope.js +0 -1252
  304. package/src/core/scope/scope.spec.js +0 -3000
  305. package/src/core/scope/scope.test.js +0 -12
  306. package/src/directive/aria/aria.html +0 -19
  307. package/src/directive/aria/aria.js +0 -382
  308. package/src/directive/aria/aria.md +0 -145
  309. package/src/directive/aria/aria.spec.js +0 -1241
  310. package/src/directive/aria/aria.test.js +0 -12
  311. package/src/directive/attrs/attrs.html +0 -19
  312. package/src/directive/attrs/attrs.js +0 -106
  313. package/src/directive/attrs/attrs.md +0 -224
  314. package/src/directive/attrs/attrs.spec.js +0 -71
  315. package/src/directive/attrs/attrs.test.js +0 -12
  316. package/src/directive/attrs/boolean.html +0 -19
  317. package/src/directive/attrs/boolean.spec.js +0 -137
  318. package/src/directive/attrs/boolean.test.js +0 -12
  319. package/src/directive/attrs/element-style.html +0 -22
  320. package/src/directive/attrs/element-style.spec.js +0 -85
  321. package/src/directive/attrs/element-style.test.js +0 -12
  322. package/src/directive/attrs/src.html +0 -19
  323. package/src/directive/attrs/src.spec.js +0 -163
  324. package/src/directive/attrs/src.test.js +0 -12
  325. package/src/directive/bind/bind-html.spec.js +0 -36
  326. package/src/directive/bind/bind.html +0 -20
  327. package/src/directive/bind/bind.js +0 -78
  328. package/src/directive/bind/bind.md +0 -142
  329. package/src/directive/bind/bind.spec.js +0 -314
  330. package/src/directive/bind/bind.test.js +0 -12
  331. package/src/directive/channel/channel.html +0 -19
  332. package/src/directive/channel/channel.js +0 -30
  333. package/src/directive/channel/channel.spec.js +0 -67
  334. package/src/directive/channel/channel.test.js +0 -10
  335. package/src/directive/class/class-test.html +0 -23
  336. package/src/directive/class/class.html +0 -19
  337. package/src/directive/class/class.js +0 -184
  338. package/src/directive/class/class.spec.js +0 -704
  339. package/src/directive/class/class.test.js +0 -12
  340. package/src/directive/cloak/cloak.html +0 -19
  341. package/src/directive/cloak/cloak.js +0 -11
  342. package/src/directive/cloak/cloak.spec.js +0 -44
  343. package/src/directive/cloak/cloak.test.js +0 -12
  344. package/src/directive/controller/controller.html +0 -22
  345. package/src/directive/controller/controller.js +0 -11
  346. package/src/directive/controller/controller.md +0 -46
  347. package/src/directive/controller/controller.spec.js +0 -175
  348. package/src/directive/controller/controller.test.js +0 -12
  349. package/src/directive/events/click.spec.js +0 -35
  350. package/src/directive/events/event.spec.js +0 -267
  351. package/src/directive/events/events-test.html +0 -36
  352. package/src/directive/events/events.html +0 -20
  353. package/src/directive/events/events.js +0 -65
  354. package/src/directive/events/events.md +0 -125
  355. package/src/directive/events/events.test.js +0 -12
  356. package/src/directive/form/form.html +0 -19
  357. package/src/directive/form/form.js +0 -669
  358. package/src/directive/form/form.spec.js +0 -1515
  359. package/src/directive/form/form.test.js +0 -12
  360. package/src/directive/http/delete.spec.js +0 -23
  361. package/src/directive/http/form-router-test.html +0 -44
  362. package/src/directive/http/form-test.html +0 -18
  363. package/src/directive/http/get.spec.js +0 -488
  364. package/src/directive/http/http.html +0 -22
  365. package/src/directive/http/http.js +0 -342
  366. package/src/directive/http/http.test.js +0 -12
  367. package/src/directive/http/interface.ts +0 -36
  368. package/src/directive/http/post-example.html +0 -30
  369. package/src/directive/http/post.spec.js +0 -521
  370. package/src/directive/http/put.spec.js +0 -23
  371. package/src/directive/if/if-animate-css.html +0 -57
  372. package/src/directive/if/if-animate-svg.html +0 -25
  373. package/src/directive/if/if.html +0 -19
  374. package/src/directive/if/if.js +0 -72
  375. package/src/directive/if/if.md +0 -76
  376. package/src/directive/if/if.spec.js +0 -293
  377. package/src/directive/if/if.test.js +0 -114
  378. package/src/directive/include/include.html +0 -19
  379. package/src/directive/include/include.js +0 -151
  380. package/src/directive/include/include.md +0 -87
  381. package/src/directive/include/include.spec.js +0 -734
  382. package/src/directive/include/include.test.js +0 -12
  383. package/src/directive/init/init.html +0 -19
  384. package/src/directive/init/init.js +0 -22
  385. package/src/directive/init/init.md +0 -41
  386. package/src/directive/init/init.spec.js +0 -68
  387. package/src/directive/init/init.test.js +0 -12
  388. package/src/directive/inject/inject.html +0 -19
  389. package/src/directive/inject/inject.js +0 -35
  390. package/src/directive/inject/inject.spec.js +0 -108
  391. package/src/directive/inject/inject.test.js +0 -12
  392. package/src/directive/input/input-example.html +0 -15
  393. package/src/directive/input/input.html +0 -19
  394. package/src/directive/input/input.js +0 -1078
  395. package/src/directive/input/input.md +0 -706
  396. package/src/directive/input/input.spec.js +0 -3700
  397. package/src/directive/input/input.test.js +0 -12
  398. package/src/directive/messages/messages.html +0 -22
  399. package/src/directive/messages/messages.js +0 -349
  400. package/src/directive/messages/messages.md +0 -543
  401. package/src/directive/messages/messages.spec.js +0 -1083
  402. package/src/directive/messages/messages.test.js +0 -12
  403. package/src/directive/model/change.md +0 -25
  404. package/src/directive/model/model.html +0 -19
  405. package/src/directive/model/model.js +0 -1170
  406. package/src/directive/model/model.spec.js +0 -1976
  407. package/src/directive/model/model.test.js +0 -12
  408. package/src/directive/model-options/model-option.test.js +0 -12
  409. package/src/directive/model-options/model-options.html +0 -22
  410. package/src/directive/model-options/model-options.js +0 -142
  411. package/src/directive/model-options/model-options.md +0 -407
  412. package/src/directive/model-options/model-options.spec.js +0 -1022
  413. package/src/directive/non-bindable/non-bindable.html +0 -22
  414. package/src/directive/non-bindable/non-bindable.js +0 -9
  415. package/src/directive/non-bindable/non-bindable.spec.js +0 -59
  416. package/src/directive/non-bindable/non-bindable.test.js +0 -12
  417. package/src/directive/observe/observe-demo.html +0 -184
  418. package/src/directive/observe/observe.html +0 -19
  419. package/src/directive/observe/observe.js +0 -41
  420. package/src/directive/observe/observe.spec.js +0 -106
  421. package/src/directive/observe/observe.test.js +0 -10
  422. package/src/directive/on/on.html +0 -19
  423. package/src/directive/on/on.spec.js +0 -215
  424. package/src/directive/on/on.test.js +0 -12
  425. package/src/directive/options/options-example.html +0 -17
  426. package/src/directive/options/options.html +0 -22
  427. package/src/directive/options/options.js +0 -542
  428. package/src/directive/options/options.md +0 -179
  429. package/src/directive/options/options.spec.js +0 -3554
  430. package/src/directive/options/options.test.js +0 -12
  431. package/src/directive/ref/href.html +0 -19
  432. package/src/directive/ref/href.spec.js +0 -141
  433. package/src/directive/ref/href.test.js +0 -19
  434. package/src/directive/ref/ref.html +0 -19
  435. package/src/directive/ref/ref.js +0 -89
  436. package/src/directive/ref/ref.spec.js +0 -546
  437. package/src/directive/repeat/repeat.html +0 -19
  438. package/src/directive/repeat/repeat.js +0 -333
  439. package/src/directive/repeat/repeat.md +0 -330
  440. package/src/directive/repeat/repeat.spec.js +0 -1209
  441. package/src/directive/repeat/repeat.test.js +0 -12
  442. package/src/directive/script/script.html +0 -19
  443. package/src/directive/script/script.js +0 -17
  444. package/src/directive/script/script.md +0 -11
  445. package/src/directive/script/script.spec.js +0 -47
  446. package/src/directive/script/script.test.js +0 -12
  447. package/src/directive/select/select.html +0 -19
  448. package/src/directive/select/select.js +0 -594
  449. package/src/directive/select/select.md +0 -74
  450. package/src/directive/select/select.spec.js +0 -2566
  451. package/src/directive/select/select.test.js +0 -12
  452. package/src/directive/setter/setter.html +0 -19
  453. package/src/directive/setter/setter.js +0 -59
  454. package/src/directive/setter/setter.spec.js +0 -100
  455. package/src/directive/setter/setter.test.js +0 -12
  456. package/src/directive/show-hide/show-hide.html +0 -22
  457. package/src/directive/show-hide/show-hide.js +0 -65
  458. package/src/directive/show-hide/show-hide.md +0 -255
  459. package/src/directive/show-hide/show-hide.spec.js +0 -268
  460. package/src/directive/show-hide/show-hide.test.js +0 -12
  461. package/src/directive/style/style.html +0 -19
  462. package/src/directive/style/style.js +0 -27
  463. package/src/directive/style/style.md +0 -23
  464. package/src/directive/style/style.spec.js +0 -183
  465. package/src/directive/style/style.test.js +0 -12
  466. package/src/directive/switch/switch.html +0 -19
  467. package/src/directive/switch/switch.js +0 -133
  468. package/src/directive/switch/switch.md +0 -66
  469. package/src/directive/switch/switch.spec.js +0 -509
  470. package/src/directive/switch/switch.test.js +0 -12
  471. package/src/directive/transclude/transclude.js +0 -122
  472. package/src/directive/validators/validators.html +0 -22
  473. package/src/directive/validators/validators.js +0 -346
  474. package/src/directive/validators/validators.spec.js +0 -740
  475. package/src/directive/validators/validators.test.js +0 -12
  476. package/src/filters/filter.js +0 -213
  477. package/src/filters/filter.spec.js +0 -719
  478. package/src/filters/filters.html +0 -22
  479. package/src/filters/filters.js +0 -239
  480. package/src/filters/filters.spec.js +0 -36
  481. package/src/filters/filters.test.js +0 -12
  482. package/src/filters/interface.ts +0 -9
  483. package/src/filters/limit-to.js +0 -55
  484. package/src/filters/limit-to.spec.js +0 -252
  485. package/src/filters/order-by.js +0 -181
  486. package/src/filters/order-by.spec.js +0 -883
  487. package/src/index.js +0 -6
  488. package/src/index.spec.js +0 -11
  489. package/src/injection-tokens.js +0 -81
  490. package/src/interface.ts +0 -430
  491. package/src/ng.js +0 -291
  492. package/src/ng.spec.js +0 -45
  493. package/src/router/common/trace.js +0 -240
  494. package/src/router/directives/component-example.html +0 -37
  495. package/src/router/directives/state-directives.html +0 -22
  496. package/src/router/directives/state-directives.js +0 -393
  497. package/src/router/directives/state-directives.md +0 -435
  498. package/src/router/directives/state-directives.spec.js +0 -1091
  499. package/src/router/directives/state-directives.test.js +0 -10
  500. package/src/router/directives/view-directive.js +0 -489
  501. package/src/router/directives/view-directive.spec.js +0 -1921
  502. package/src/router/directives/view-directive.test.js +0 -10
  503. package/src/router/directives/view-directives.html +0 -22
  504. package/src/router/glob/glob.html +0 -19
  505. package/src/router/glob/glob.js +0 -102
  506. package/src/router/glob/glob.spec.js +0 -108
  507. package/src/router/glob/glob.test.js +0 -12
  508. package/src/router/hooks/core-resolvables.js +0 -38
  509. package/src/router/hooks/ignored-transition.js +0 -25
  510. package/src/router/hooks/invalid-transition.js +0 -14
  511. package/src/router/hooks/lazy-load.js +0 -104
  512. package/src/router/hooks/on-enter-exit-retain.js +0 -55
  513. package/src/router/hooks/redirect-to.js +0 -38
  514. package/src/router/hooks/resolve.js +0 -57
  515. package/src/router/hooks/update-globals.js +0 -34
  516. package/src/router/hooks/url.js +0 -34
  517. package/src/router/hooks/views.js +0 -41
  518. package/src/router/params/interface.ts +0 -626
  519. package/src/router/params/param-factory.js +0 -23
  520. package/src/router/params/param-type.js +0 -133
  521. package/src/router/params/param-types.js +0 -153
  522. package/src/router/params/param.js +0 -243
  523. package/src/router/params/state-params.js +0 -36
  524. package/src/router/path/path-node.js +0 -78
  525. package/src/router/path/path-utils.js +0 -207
  526. package/src/router/resolve/interface.ts +0 -208
  527. package/src/router/resolve/resolvable.js +0 -123
  528. package/src/router/resolve/resolve-context.js +0 -190
  529. package/src/router/router-test-hashbang.html +0 -45
  530. package/src/router/router-test.html +0 -41
  531. package/src/router/router.html +0 -22
  532. package/src/router/router.js +0 -54
  533. package/src/router/router.test.js +0 -12
  534. package/src/router/services.spec.js +0 -52
  535. package/src/router/state/interface.ts +0 -1007
  536. package/src/router/state/state-builder.js +0 -376
  537. package/src/router/state/state-builder.spec.js +0 -86
  538. package/src/router/state/state-matcher.js +0 -64
  539. package/src/router/state/state-object.js +0 -118
  540. package/src/router/state/state-queue-manager.js +0 -95
  541. package/src/router/state/state-registry.js +0 -262
  542. package/src/router/state/state-service.js +0 -687
  543. package/src/router/state/state.html +0 -23
  544. package/src/router/state/state.spec.js +0 -1002
  545. package/src/router/state/state.test.js +0 -12
  546. package/src/router/state/target-state.js +0 -162
  547. package/src/router/state/views.js +0 -195
  548. package/src/router/state-filter.spec.js +0 -139
  549. package/src/router/state-filters.js +0 -46
  550. package/src/router/template-factory.html +0 -19
  551. package/src/router/template-factory.js +0 -249
  552. package/src/router/template-factory.spec.js +0 -146
  553. package/src/router/template-factory.test.js +0 -12
  554. package/src/router/transition/hook-builder.js +0 -137
  555. package/src/router/transition/hook-registry.js +0 -181
  556. package/src/router/transition/interface.js +0 -18
  557. package/src/router/transition/interface.ts +0 -922
  558. package/src/router/transition/reject-factory.js +0 -122
  559. package/src/router/transition/transition-event-type.js +0 -26
  560. package/src/router/transition/transition-hook.js +0 -199
  561. package/src/router/transition/transition-service.js +0 -297
  562. package/src/router/transition/transition.js +0 -653
  563. package/src/router/url/url-config.js +0 -155
  564. package/src/router/url/url-matcher.js +0 -532
  565. package/src/router/url/url-rule.js +0 -231
  566. package/src/router/url/url-rules.js +0 -350
  567. package/src/router/url/url-service.js +0 -446
  568. package/src/router/url/url-service.spec.js +0 -1288
  569. package/src/router/url/url.html +0 -19
  570. package/src/router/url/url.test.js +0 -12
  571. package/src/router/view/interface.ts +0 -51
  572. package/src/router/view/view.html +0 -19
  573. package/src/router/view/view.js +0 -262
  574. package/src/router/view/view.spec.js +0 -100
  575. package/src/router/view/view.test.js +0 -12
  576. package/src/router/view-hook.spec.js +0 -215
  577. package/src/router/view-scroll.js +0 -33
  578. package/src/router/view-scroll.spec.js +0 -72
  579. package/src/services/anchor-scroll/anchor-scroll.html +0 -76
  580. package/src/services/anchor-scroll/anchor-scroll.js +0 -147
  581. package/src/services/exception/exception-handler.js +0 -75
  582. package/src/services/exception/interface.ts +0 -7
  583. package/src/services/http/http.html +0 -23
  584. package/src/services/http/http.js +0 -1109
  585. package/src/services/http/http.spec.js +0 -4320
  586. package/src/services/http/http.test.js +0 -11
  587. package/src/services/http/interface.ts +0 -256
  588. package/src/services/http/template-request.spec.js +0 -220
  589. package/src/services/location/interface.ts +0 -70
  590. package/src/services/location/location.html +0 -22
  591. package/src/services/location/location.js +0 -1006
  592. package/src/services/location/location.spec.js +0 -3792
  593. package/src/services/location/location.test.js +0 -12
  594. package/src/services/log/interface.ts +0 -39
  595. package/src/services/log/log.html +0 -19
  596. package/src/services/log/log.js +0 -74
  597. package/src/services/log/log.spec.js +0 -64
  598. package/src/services/log/log.test.js +0 -12
  599. package/src/services/pubsub/pubsub.html +0 -19
  600. package/src/services/pubsub/pubsub.js +0 -349
  601. package/src/services/pubsub/pubsub.spec.js +0 -400
  602. package/src/services/pubsub/pubsub.test.js +0 -12
  603. package/src/services/sce/sce.html +0 -19
  604. package/src/services/sce/sce.js +0 -852
  605. package/src/services/sce/sce.spec.js +0 -617
  606. package/src/services/sce/sce.test.js +0 -12
  607. package/src/services/template-cache/template-cache.html +0 -22
  608. package/src/services/template-cache/template-cache.js +0 -15
  609. package/src/services/template-cache/template-cache.spec.js +0 -134
  610. package/src/services/template-cache/template-cache.test.js +0 -12
  611. package/src/services/template-request/interface.ts +0 -23
  612. package/src/services/template-request/template-request.js +0 -142
  613. package/src/shared/cache.js +0 -7
  614. package/src/shared/common.js +0 -365
  615. package/src/shared/common.spec.js +0 -294
  616. package/src/shared/constants.js +0 -21
  617. package/src/shared/dom.js +0 -716
  618. package/src/shared/hof.js +0 -157
  619. package/src/shared/hof.spec.js +0 -60
  620. package/src/shared/interface.ts +0 -21
  621. package/src/shared/min-err.spec.js +0 -178
  622. package/src/shared/noderef.js +0 -225
  623. package/src/shared/predicates.js +0 -34
  624. package/src/shared/queue.js +0 -105
  625. package/src/shared/queue.spec.js +0 -80
  626. package/src/shared/shared.html +0 -24
  627. package/src/shared/shared.test.js +0 -12
  628. package/src/shared/strings.js +0 -142
  629. package/src/shared/strings.spec.js +0 -40
  630. package/src/shared/test-utils.js +0 -47
  631. package/src/shared/url-utils/interface.ts +0 -54
  632. package/src/shared/url-utils/url-utils.html +0 -22
  633. package/src/shared/url-utils/url-utils.js +0 -122
  634. package/src/shared/url-utils/url-utils.spec.js +0 -148
  635. package/src/shared/url-utils/url-utils.test.js +0 -12
  636. package/src/shared/utils.js +0 -1255
  637. package/src/shared/utils.spec.js +0 -178
  638. package/src/src.html +0 -21
  639. package/src/src.test.js +0 -10
  640. package/tsconfig.json +0 -19
  641. package/tsconfig.types.json +0 -14
  642. package/typedoc.json +0 -8
  643. package/utils/express.js +0 -203
  644. package/utils/version.cjs +0 -23
  645. package/vite.config.js +0 -14
@@ -1,1109 +0,0 @@
1
- import {
2
- trimEmptyHash,
3
- urlIsAllowedOriginFactory,
4
- } from "../../shared/url-utils/url-utils.js";
5
- import {
6
- minErr,
7
- isObject,
8
- isDate,
9
- toJson,
10
- isUndefined,
11
- isFunction,
12
- encodeUriQuery,
13
- isString,
14
- fromJson,
15
- lowercase,
16
- trim,
17
- isFile,
18
- isBlob,
19
- isFormData,
20
- shallowCopy,
21
- isDefined,
22
- extend,
23
- uppercase,
24
- isPromiseLike,
25
- } from "../../shared/utils.js";
26
- import { $injectTokens as $t } from "../../injection-tokens.js";
27
-
28
- let lastCookies = {};
29
- let lastCookieString = "";
30
- const APPLICATION_JSON = "application/json";
31
- const CONTENT_TYPE_APPLICATION_JSON = {
32
- "Content-Type": `${APPLICATION_JSON};charset=utf-8`,
33
- };
34
- const JSON_START = /^\[|^\{(?!\{)/;
35
- const JSON_ENDS = {
36
- "[": /]$/,
37
- "{": /}$/,
38
- };
39
- const JSON_PROTECTION_PREFIX = /^\)]\}',?\n/;
40
- const $httpMinErr = minErr("$http");
41
-
42
- function serializeValue(v) {
43
- if (isObject(v)) {
44
- return isDate(v) ? v.toISOString() : toJson(v);
45
- }
46
- return v;
47
- }
48
-
49
- /**
50
- * Default params serializer that converts objects to strings
51
- * according to the following rules:
52
- *
53
- * * `{'foo': 'bar'}` results in `foo=bar`
54
- * * `{'foo': Date.now()}` results in `foo=2015-04-01T09%3A50%3A49.262Z` (`toISOString()` and encoded representation of a Date object)
55
- * * `{'foo': ['bar', 'baz']}` results in `foo=bar&foo=baz` (repeated key for each array element)
56
- * * `{'foo': {'bar':'baz'}}` results in `foo=%7B%22bar%22%3A%22baz%22%7D` (stringified and encoded representation of an object)
57
- *
58
- * Note that serializer will sort the request parameters alphabetically.
59
- */
60
- export function HttpParamSerializerProvider() {
61
- /**
62
- * @returns {import('./interface.ts').HttpParamSerializer}
63
- * A function that serializes parameters into a query string.
64
- */
65
- this.$get = () => {
66
- return (params) => {
67
- if (!params) return "";
68
- const parts = [];
69
- Object.keys(params)
70
- .sort()
71
- .forEach((key) => {
72
- const value = params[key];
73
- if (value === null || isUndefined(value) || isFunction(value)) return;
74
- if (Array.isArray(value)) {
75
- value.forEach((v) => {
76
- parts.push(
77
- `${encodeUriQuery(key)}=${encodeUriQuery(serializeValue(v))}`,
78
- );
79
- });
80
- } else {
81
- parts.push(
82
- `${encodeUriQuery(key)}=${encodeUriQuery(serializeValue(value))}`,
83
- );
84
- }
85
- });
86
-
87
- return parts.join("&");
88
- };
89
- };
90
- }
91
-
92
- export function defaultHttpResponseTransform(data, headers) {
93
- if (isString(data)) {
94
- // Strip json vulnerability protection prefix and trim whitespace
95
- const tempData = data.replace(JSON_PROTECTION_PREFIX, "").trim();
96
-
97
- if (tempData) {
98
- const contentType = headers("Content-Type");
99
- const hasJsonContentType =
100
- contentType && contentType.indexOf(APPLICATION_JSON) === 0;
101
-
102
- if (hasJsonContentType || isJsonLike(tempData)) {
103
- try {
104
- data = fromJson(tempData);
105
- } catch (e) {
106
- if (!hasJsonContentType) {
107
- return data;
108
- }
109
- throw $httpMinErr(
110
- "baddata",
111
- 'Data must be a valid JSON object. Received: "{0}". ' +
112
- 'Parse error: "{1}"',
113
- data,
114
- e,
115
- );
116
- }
117
- }
118
- }
119
- }
120
-
121
- return data;
122
- }
123
-
124
- function isJsonLike(str) {
125
- const jsonStart = str.match(JSON_START);
126
- return jsonStart && JSON_ENDS[jsonStart[0]].test(str);
127
- }
128
-
129
- /**
130
- * Parse headers into key value object
131
- *
132
- * @param {string} headers Raw headers as a string
133
- * @returns {Object} Parsed headers as key value object
134
- */
135
- function parseHeaders(headers) {
136
- const parsed = Object.create(null);
137
- let i;
138
-
139
- function fillInParsed(key, val) {
140
- if (key) {
141
- parsed[key] = parsed[key] ? `${parsed[key]}, ${val}` : val;
142
- }
143
- }
144
-
145
- if (isString(headers)) {
146
- headers.split("\n").forEach(
147
- /** @param {string} line */
148
- (line) => {
149
- i = line.indexOf(":");
150
- fillInParsed(
151
- line.substring(0, i).trim().toLowerCase(),
152
- trim(line.substring(i + 1)),
153
- );
154
- },
155
- );
156
- } else if (isObject(headers)) {
157
- Object.entries(headers).forEach(([headerKey, headerVal]) => {
158
- fillInParsed(lowercase(headerKey), trim(headerVal));
159
- });
160
- }
161
-
162
- return parsed;
163
- }
164
-
165
- /**
166
- * Returns a function that provides access to parsed headers.
167
- *
168
- * Headers are lazy parsed when first requested.
169
- * @see parseHeaders
170
- *
171
- * @param {(string|Object)} headers Headers to provide access to.
172
- * @returns {function(string=)} Returns a getter function which if called with:
173
- *
174
- * - if called with an argument returns a single header value or null
175
- * - if called with no arguments returns an object containing all headers.
176
- */
177
- function headersGetter(headers) {
178
- let headersObj;
179
-
180
- return function (name) {
181
- if (!headersObj) headersObj = parseHeaders(headers);
182
-
183
- if (name) {
184
- let value = headersObj[lowercase(name)];
185
- if (value === undefined) {
186
- value = null;
187
- }
188
- return value;
189
- }
190
-
191
- return headersObj;
192
- };
193
- }
194
-
195
- /**
196
- * Chain all given functions
197
- *
198
- * This function is used for both request and response transforming
199
- *
200
- * @param {*} data Data to transform.
201
- * @param {function(string=):any} headers HTTP headers getter fn.
202
- * @param {number} status HTTP status code of the response.
203
- * @param {function(...any): any | Array<Function>} fns Function or an array of functions.
204
- * @returns {*} Transformed data.
205
- */
206
- function transformData(data, headers, status, fns) {
207
- if (isFunction(fns)) {
208
- return fns(data, headers, status);
209
- }
210
-
211
- if (Array.isArray(fns)) {
212
- /** @type {Array<function(...any): any>} */ (fns).forEach((fn) => {
213
- data = fn(data, headers, status);
214
- });
215
- }
216
-
217
- return data;
218
- }
219
-
220
- function isSuccess(status) {
221
- return status >= 200 && status < 300;
222
- }
223
-
224
- /**
225
- * Use `$httpProvider` to change the default behavior of the {@link ng.$http $http} service.
226
- */
227
- export function HttpProvider() {
228
- /**
229
- * Object containing default values for all {@link ng.$http $http} requests.
230
- *
231
- * - **`defaults.cache`** - {boolean|Object} - A boolean value or object created with
232
- * {@link ng.$cacheFactory `$cacheFactory`} to enable or disable caching of HTTP responses
233
- * by default. See {@link $http#caching $http Caching} for more information.
234
- *
235
- * - **`defaults.headers`** - {Object} - Default headers for all $http requests.
236
- * Refer to {@link ng.$http#setting-http-headers $http} for documentation on
237
- * setting default headers.
238
- * - **`defaults.headers.common`**
239
- * - **`defaults.headers.post`**
240
- * - **`defaults.headers.put`**
241
- * - **`defaults.headers.patch`**
242
- * *
243
- * - **`defaults.paramSerializer`** - `{string|function(Object<string,string>):string}` - A function
244
- * used to the prepare string representation of request parameters (specified as an object).
245
- * If specified as string, it is interpreted as a function registered with the {@link auto.$injector $injector}.
246
- * Defaults to {@link ng.$httpParamSerializer $httpParamSerializer}.
247
- *
248
- * - **`defaults.transformRequest`** -
249
- * `{Array<function(data, headersGetter)>|function(data, headersGetter)}` -
250
- * An array of functions (or a single function) which are applied to the request data.
251
- * By default, this is an array with one request transformation function:
252
- *
253
- * - If the `data` property of the request configuration object contains an object, serialize it
254
- * into JSON format.
255
- *
256
- * - **`defaults.transformResponse`** -
257
- * `{Array<function(data, headersGetter, status)>|function(data, headersGetter, status)}` -
258
- * An array of functions (or a single function) which are applied to the response data. By default,
259
- * this is an array which applies one response transformation function that does two things:
260
- *
261
- * - If XSRF prefix is detected, strip it
262
- * (see {@link ng.$http#security-considerations Security Considerations in the $http docs}).
263
- * - If the `Content-Type` is `application/json` or the response looks like JSON,
264
- * deserialize it using a JSON parser.
265
- *
266
- * - **`defaults.xsrfCookieName`** - {string} - Name of cookie containing the XSRF token.
267
- * Defaults value is `'XSRF-TOKEN'`.
268
- *
269
- * - **`defaults.xsrfHeaderName`** - {string} - Name of HTTP header to populate with the
270
- * XSRF token. Defaults value is `'X-XSRF-TOKEN'`.
271
- *
272
- */
273
- const defaults = (this.defaults = {
274
- // transform incoming response data
275
- transformResponse: [defaultHttpResponseTransform],
276
-
277
- // transform outgoing request data
278
- transformRequest: [
279
- function (d) {
280
- return isObject(d) && !isFile(d) && !isBlob(d) && !isFormData(d)
281
- ? toJson(d)
282
- : d;
283
- },
284
- ],
285
-
286
- // default headers
287
- headers: {
288
- common: {
289
- Accept: "application/json, text/plain, */*",
290
- },
291
- post: shallowCopy(CONTENT_TYPE_APPLICATION_JSON),
292
- put: shallowCopy(CONTENT_TYPE_APPLICATION_JSON),
293
- patch: shallowCopy(CONTENT_TYPE_APPLICATION_JSON),
294
- },
295
-
296
- xsrfCookieName: "XSRF-TOKEN",
297
- xsrfHeaderName: "X-XSRF-TOKEN",
298
-
299
- paramSerializer: "$httpParamSerializer",
300
- });
301
-
302
- let useApplyAsync = false;
303
-
304
- /**
305
- * Configure $http service to combine processing of multiple http responses received at around
306
- * the same time via {@link ng.$rootScope.Scope#$applyAsync $rootScope.$applyAsync}. This can result in
307
- * significant performance improvement for bigger applications that make many HTTP requests
308
- * concurrently (common during application bootstrap).
309
- *
310
- * Defaults to false. If no value is specified, returns the current configured value.
311
- *
312
- * @param {boolean=} value If true, when requests are loaded, they will schedule a deferred
313
- * "apply" on the next tick, giving time for subsequent requests in a roughly ~10ms window
314
- * to load and share the same digest cycle.
315
- *
316
- * @returns {boolean|Object} If a value is specified, returns the $httpProvider for chaining.
317
- * otherwise, returns the current configured value.
318
- */
319
- this.useApplyAsync = function (value) {
320
- if (isDefined(value)) {
321
- useApplyAsync = !!value;
322
- return this;
323
- }
324
- return useApplyAsync;
325
- };
326
-
327
- /**
328
- * Array containing service factories for all synchronous or asynchronous {@link ng.$http $http}
329
- * pre-processing of request or postprocessing of responses.
330
- *
331
- * These service factories are ordered by request, i.e. they are applied in the same order as the
332
- * array, on request, but reverse order, on response.
333
- *
334
- * {@link ng.$http#interceptors Interceptors detailed info}
335
- */
336
- this.interceptors = [];
337
-
338
- /**
339
- * Array containing URLs whose origins are trusted to receive the XSRF token. See the
340
- * {@link ng.$http#security-considerations Security Considerations} sections for more details on
341
- * XSRF.
342
- *
343
- * **Note:** An "origin" consists of the [URI scheme](https://en.wikipedia.org/wiki/URI_scheme),
344
- * the [hostname](https://en.wikipedia.org/wiki/Hostname) and the
345
- * [port number](https://en.wikipedia.org/wiki/Port_(computer_networking). For `http:` and
346
- * `https:`, the port number can be omitted if using th default ports (80 and 443 respectively).
347
- * Examples: `http://example.com`, `https://api.example.com:9876`
348
- *
349
- * <div class="alert alert-warning">
350
- * It is not possible to trust specific URLs/paths. The `path`, `query` and `fragment` parts
351
- * of a URL will be ignored. For example, `https://foo.com/path/bar?query=baz#fragment` will be
352
- * treated as `https://foo.com`, meaning that **all** requests to URLs starting with
353
- * `https://foo.com/` will include the XSRF token.
354
- * </div>
355
- *
356
- * @example
357
- *
358
- * ```js
359
- * // App served from `https://example.com/`.
360
- * angular.
361
- * module('xsrfTrustedOriginsExample', []).
362
- * config(['$httpProvider', function($httpProvider) {
363
- * $httpProvider.xsrfTrustedOrigins.push('https://api.example.com');
364
- * }]).
365
- * run(['$http', function($http) {
366
- * // The XSRF token will be sent.
367
- * $http.get('https://api.example.com/preferences').then(...);
368
- *
369
- * // The XSRF token will NOT be sent.
370
- * $http.get('https://stats.example.com/activity').then(...);
371
- * }]);
372
- * ```
373
- *
374
- * @type {string[]}
375
- */
376
- this.xsrfTrustedOrigins = [];
377
-
378
- /**
379
- * This property is deprecated. Use {@link $httpProvider#xsrfTrustedOrigins xsrfTrustedOrigins}
380
- * instead.
381
- */
382
- Object.defineProperty(this, "xsrfWhitelistedOrigins", {
383
- get() {
384
- return this.xsrfTrustedOrigins;
385
- },
386
- set(origins) {
387
- this.xsrfTrustedOrigins = origins;
388
- },
389
- });
390
-
391
- this.$get = [
392
- $t.$injector,
393
- $t.$sce,
394
- /**
395
- *
396
- * @param {import("../../core/di/internal-injector.js").InjectorService} $injector
397
- * @param {*} $sce
398
- * @returns
399
- */
400
- function ($injector, $sce) {
401
- /**
402
- * @type {Map<string, string>}
403
- */
404
- const defaultCache = new Map();
405
-
406
- /**
407
- * Make sure that default param serializer is exposed as a function
408
- */
409
- defaults.paramSerializer = isString(defaults.paramSerializer)
410
- ? $injector.get(defaults.paramSerializer)
411
- : defaults.paramSerializer;
412
-
413
- /**
414
- * Interceptors stored in reverse order. Inner interceptors before outer interceptors.
415
- * The reversal is needed so that we can build up the interception chain around the
416
- * server request.
417
- */
418
- const reversedInterceptors = [];
419
-
420
- this.interceptors.forEach((interceptorFactory) => {
421
- reversedInterceptors.unshift(
422
- isString(interceptorFactory)
423
- ? $injector.get(interceptorFactory)
424
- : $injector.invoke(interceptorFactory),
425
- );
426
- });
427
-
428
- /**
429
- * A function to check request URLs against a list of allowed origins.
430
- */
431
- const urlIsAllowedOrigin = urlIsAllowedOriginFactory(
432
- this.xsrfTrustedOrigins,
433
- );
434
-
435
- /**
436
- * @property {Array.<Object>} requestConfig Array of config objects for currently pending
437
- * requests. This is primarily meant to be used for debugging purposes.
438
- */
439
- function $http(requestConfig) {
440
- if (!isObject(requestConfig)) {
441
- throw minErr("$http")(
442
- "badreq",
443
- "Http request configuration must be an object. Received: {0}",
444
- requestConfig,
445
- );
446
- }
447
-
448
- if (!isString($sce.valueOf(requestConfig.url))) {
449
- throw minErr("$http")(
450
- "badreq",
451
- "Http request configuration url must be a string or a $sce trusted object. Received: {0}",
452
- requestConfig.url,
453
- );
454
- }
455
-
456
- const config = extend(
457
- {
458
- method: "get",
459
- transformRequest: defaults.transformRequest,
460
- transformResponse: defaults.transformResponse,
461
- paramSerializer: defaults.paramSerializer,
462
- },
463
- requestConfig,
464
- );
465
-
466
- config.headers = mergeHeaders(requestConfig);
467
- config.method = uppercase(config.method);
468
- config.paramSerializer = isString(config.paramSerializer)
469
- ? $injector.get(config.paramSerializer)
470
- : config.paramSerializer;
471
-
472
- const requestInterceptors = [];
473
- const responseInterceptors = [];
474
- let promise = Promise.resolve(config);
475
-
476
- // apply interceptors
477
- reversedInterceptors.forEach((interceptor) => {
478
- if (interceptor.request || interceptor.requestError) {
479
- requestInterceptors.unshift(
480
- interceptor.request,
481
- interceptor.requestError,
482
- );
483
- }
484
- if (interceptor.response || interceptor.responseError) {
485
- responseInterceptors.push(
486
- interceptor.response,
487
- interceptor.responseError,
488
- );
489
- }
490
- });
491
-
492
- promise = chainInterceptors(promise, requestInterceptors);
493
- promise = promise.then(serverRequest);
494
- promise = chainInterceptors(promise, responseInterceptors);
495
-
496
- return promise;
497
-
498
- function chainInterceptors(promise, interceptors) {
499
- for (let i = 0, ii = interceptors.length; i < ii; ) {
500
- const thenFn = interceptors[i++];
501
- const rejectFn = interceptors[i++];
502
-
503
- promise = promise.then(thenFn, rejectFn);
504
- }
505
-
506
- interceptors.length = 0;
507
-
508
- return promise;
509
- }
510
-
511
- function executeHeaderFns(headers, config) {
512
- let headerContent;
513
- const processedHeaders = {};
514
-
515
- Object.entries(headers).forEach(([header, headerFn]) => {
516
- if (isFunction(headerFn)) {
517
- headerContent = headerFn(config);
518
- if (headerContent != null) {
519
- processedHeaders[header] = headerContent;
520
- }
521
- } else {
522
- processedHeaders[header] = headerFn;
523
- }
524
- });
525
-
526
- return processedHeaders;
527
- }
528
-
529
- function mergeHeaders(config) {
530
- let defHeaders = defaults.headers,
531
- reqHeaders = extend({}, config.headers);
532
-
533
- defHeaders = extend(
534
- {},
535
- defHeaders.common,
536
- defHeaders[lowercase(config.method)],
537
- );
538
-
539
- Object.keys(defHeaders).forEach((defHeaderName) => {
540
- const lowercaseDefHeaderName = lowercase(defHeaderName);
541
- const hasMatchingHeader = Object.keys(reqHeaders).some(
542
- (reqHeaderName) => {
543
- return lowercase(reqHeaderName) === lowercaseDefHeaderName;
544
- },
545
- );
546
- if (!hasMatchingHeader) {
547
- reqHeaders[defHeaderName] = defHeaders[defHeaderName];
548
- }
549
- });
550
-
551
- // execute if header value is a function for merged headers
552
- return executeHeaderFns(reqHeaders, shallowCopy(config));
553
- }
554
-
555
- function serverRequest(config) {
556
- const { headers } = config;
557
- const reqData = transformData(
558
- config.data,
559
- headersGetter(headers),
560
- undefined,
561
- config.transformRequest,
562
- );
563
-
564
- // strip content-type if data is undefined
565
- if (isUndefined(reqData)) {
566
- Object.keys(headers).forEach((header) => {
567
- if (lowercase(header) === "content-type") {
568
- delete headers[header];
569
- }
570
- });
571
- }
572
-
573
- if (
574
- isUndefined(config.withCredentials) &&
575
- !isUndefined(defaults.withCredentials)
576
- ) {
577
- config.withCredentials = defaults.withCredentials;
578
- }
579
-
580
- // send request
581
- return sendReq(config, reqData).then(
582
- transformResponse,
583
- transformResponse,
584
- );
585
- }
586
-
587
- function transformResponse(response) {
588
- // make a copy since the response must be cacheable
589
- const resp = extend({}, response);
590
- resp.data = transformData(
591
- response.data,
592
- response.headers,
593
- response.status,
594
- config.transformResponse,
595
- );
596
- return isSuccess(response.status) ? resp : Promise.reject(resp);
597
- }
598
- }
599
-
600
- $http.pendingRequests = [];
601
-
602
- /**
603
- * Shortcut method to perform `GET` request.
604
- *
605
- * @param {string} url Absolute or relative URL of the resource that is being requested;
606
- * or an object created by a call to `$sce.trustAsResourceUrl(url)`.
607
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
608
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
609
- * See {@link ng.$http#$http-returns `$http()` return value}.
610
- */
611
-
612
- /**
613
- * Shortcut method to perform `DELETE` request.
614
- *
615
- * @param {string} url Absolute or relative URL of the resource that is being requested;
616
- * or an object created by a call to `$sce.trustAsResourceUrl(url)`.
617
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
618
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
619
- * See {@link ng.$http#$http-returns `$http()` return value}.
620
- */
621
-
622
- /**
623
- * Shortcut method to perform `HEAD` request.
624
- *
625
- * @param {string} url Absolute or relative URL of the resource that is being requested;
626
- * or an object created by a call to `$sce.trustAsResourceUrl(url)`.
627
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
628
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
629
- * See {@link ng.$http#$http-returns `$http()` return value}.
630
- */
631
-
632
- /**
633
- * Shortcut method to perform `JSONP` request.
634
- *
635
- * Note that, since JSONP requests are sensitive because the response is given full access to the browser,
636
- * the url must be declared, via {@link $sce} as a trusted resource URL.
637
- * You can trust a URL by adding it to the trusted resource URL list via
638
- * {@link $sceDelegateProvider#trustedResourceUrlList `$sceDelegateProvider.trustedResourceUrlList`} or
639
- * by explicitly trusting the URL via {@link $sce#trustAsResourceUrl `$sce.trustAsResourceUrl(url)`}.
640
- *
641
- * You should avoid generating the URL for the JSONP request from user provided data.
642
- * Provide additional query parameters via `params` property of the `config` parameter, rather than
643
- * modifying the URL itself.
644
- *
645
- * You can also specify a default callback parameter name in `$http.defaults.jsonpCallbackParam`.
646
- * Initially this is set to `'callback'`.
647
- *
648
- * <div class="alert alert-danger">
649
- * You can no longer use the `JSON_CALLBACK` string as a placeholder for specifying where the callback
650
- * parameter value should go.
651
- * </div>
652
- *
653
- * If you would like to customise where and how the callbacks are stored then try overriding
654
- * or decorating the {@link $jsonpCallbacks} service.
655
- *
656
- * @param {string} url Absolute or relative URL of the resource that is being requested;
657
- * or an object created by a call to `$sce.trustAsResourceUrl(url)`.
658
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
659
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
660
- * See {@link ng.$http#$http-returns `$http()` return value}.
661
- */
662
- createShortMethods("get", "delete", "head");
663
-
664
- /**
665
- * Shortcut method to perform `POST` request.
666
- *
667
- * @param {string} url Relative or absolute URL specifying the destination of the request
668
- * @param {*} data Request content
669
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
670
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
671
- * See {@link ng.$http#$http-returns `$http()` return value}.
672
- */
673
-
674
- /**
675
- * Shortcut method to perform `PUT` request.
676
- *
677
- * @param {string} url Relative or absolute URL specifying the destination of the request
678
- * @param {*} data Request content
679
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
680
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
681
- * See {@link ng.$http#$http-returns `$http()` return value}.
682
- */
683
-
684
- /**
685
- * Shortcut method to perform `PATCH` request.
686
- *
687
- * @param {string} url Relative or absolute URL specifying the destination of the request
688
- * @param {*} data Request content
689
- * @param {Object=} config Optional configuration object. See {@link ng.$http#$http-arguments `$http()` arguments}.
690
- * @returns {HttpPromise} A Promise that will be resolved or rejected with a response object.
691
- * See {@link ng.$http#$http-returns `$http()` return value}.
692
- */
693
- createShortMethodsWithData("post", "put", "patch");
694
-
695
- /**
696
- * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of
697
- * default headers, withCredentials as well as request and response transformations.
698
- *
699
- * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above.
700
- */
701
- $http.defaults = defaults;
702
-
703
- return $http;
704
-
705
- function createShortMethods(...names) {
706
- names.forEach((name) => {
707
- $http[name] = function (url, config) {
708
- return $http(
709
- extend({}, config || {}, {
710
- method: name,
711
- url,
712
- }),
713
- );
714
- };
715
- });
716
- }
717
-
718
- function createShortMethodsWithData(...names) {
719
- names.forEach((name) => {
720
- $http[name] = function (url, data, config) {
721
- return $http(
722
- extend({}, config || {}, {
723
- method: name,
724
- url,
725
- data,
726
- }),
727
- );
728
- };
729
- });
730
- }
731
-
732
- /**
733
- * Makes the request.
734
- *
735
- * !!! ACCESSES CLOSURE VARS:
736
- * defaults, $log, $rootScope, defaultCache, $http.pendingRequests
737
- */
738
- function sendReq(config, reqData) {
739
- const { promise, resolve, reject } = Promise.withResolvers();
740
- let cache;
741
- let cachedResp;
742
- const reqHeaders = config.headers;
743
- let { url } = config;
744
-
745
- if (!isString(url)) {
746
- // If it is not a string then the URL must be a $sce trusted object
747
- url = $sce.valueOf(url);
748
- }
749
-
750
- url = buildUrl(url, config.paramSerializer(config.params));
751
-
752
- $http.pendingRequests.push(config);
753
- promise.then(removePendingReq, removePendingReq);
754
-
755
- if (
756
- (config.cache || defaults.cache) &&
757
- config.cache !== false &&
758
- config.method === "GET"
759
- ) {
760
- cache = isObject(config.cache)
761
- ? config.cache
762
- : isObject(/** @type {?} */ (defaults).cache)
763
- ? /** @type {?} */ (defaults).cache
764
- : defaultCache;
765
- }
766
-
767
- if (cache) {
768
- cachedResp = cache.get(url);
769
- if (isDefined(cachedResp)) {
770
- if (isPromiseLike(cachedResp)) {
771
- // cached request has already been sent, but there is no response yet
772
- cachedResp.then(
773
- resolvePromiseWithResult,
774
- resolvePromiseWithResult,
775
- );
776
- } else {
777
- // serving from cache
778
- if (Array.isArray(cachedResp)) {
779
- resolvePromise(
780
- cachedResp[1],
781
- cachedResp[0],
782
- shallowCopy(cachedResp[2]),
783
- cachedResp[3],
784
- cachedResp[4],
785
- );
786
- } else {
787
- resolvePromise(cachedResp, 200, {}, "OK", "complete");
788
- }
789
- }
790
- } else {
791
- // put the promise for the non-transformed response into cache as a placeholder
792
- cache.set(url, promise);
793
- }
794
- }
795
-
796
- // if we won't have the response in cache, set the xsrf headers and
797
- // send the request to the backend
798
- if (isUndefined(cachedResp)) {
799
- const xsrfValue = urlIsAllowedOrigin(config.url)
800
- ? getCookies()[config.xsrfCookieName || defaults.xsrfCookieName]
801
- : undefined;
802
- if (xsrfValue) {
803
- reqHeaders[config.xsrfHeaderName || defaults.xsrfHeaderName] =
804
- xsrfValue;
805
- }
806
-
807
- http(
808
- config.method,
809
- url,
810
- reqData,
811
- done,
812
- reqHeaders,
813
- config.timeout,
814
- config.withCredentials,
815
- config.responseType,
816
- createApplyHandlers(config.eventHandlers),
817
- createApplyHandlers(config.uploadEventHandlers),
818
- );
819
- }
820
-
821
- return promise;
822
-
823
- /**
824
- * @param eventHandlers
825
- * @return {Record<string, EventListener>}
826
- */
827
- function createApplyHandlers(eventHandlers) {
828
- if (eventHandlers) {
829
- const applyHandlers = {};
830
- Object.entries(eventHandlers).forEach(([key, eventHandler]) => {
831
- applyHandlers[key] = function (event) {
832
- if (useApplyAsync) {
833
- setTimeout(() => callEventHandler());
834
- } else {
835
- callEventHandler();
836
- }
837
-
838
- function callEventHandler() {
839
- eventHandler(event);
840
- }
841
- };
842
- });
843
- return /** @type {Record<string, EventListener>} */ (applyHandlers);
844
- } else {
845
- return {};
846
- }
847
- }
848
-
849
- /**
850
- * Callback registered to http():
851
- * - caches the response if desired
852
- * - resolves the raw $http promise
853
- * - calls $apply
854
- */
855
- function done(status, response, headersString, statusText, xhrStatus) {
856
- if (cache) {
857
- if (isSuccess(status)) {
858
- cache.set(url, [
859
- status,
860
- response,
861
- parseHeaders(headersString),
862
- statusText,
863
- xhrStatus,
864
- ]);
865
- } else {
866
- // remove promise from the cache
867
- cache.delete(url);
868
- }
869
- }
870
-
871
- function resolveHttpPromise() {
872
- resolvePromise(
873
- response,
874
- status,
875
- headersString,
876
- statusText,
877
- xhrStatus,
878
- );
879
- }
880
-
881
- if (useApplyAsync) {
882
- setTimeout(resolveHttpPromise);
883
- } else {
884
- resolveHttpPromise();
885
- }
886
- }
887
-
888
- /**
889
- * Resolves the raw $http promise.
890
- */
891
- function resolvePromise(
892
- response,
893
- status,
894
- headers,
895
- statusText,
896
- xhrStatus,
897
- ) {
898
- // status: HTTP response status code, 0, -1 (aborted by timeout / promise)
899
- status = status >= -1 ? status : 0;
900
-
901
- (isSuccess(status) ? resolve : reject)({
902
- data: response,
903
- status,
904
- headers: headersGetter(headers),
905
- config,
906
- statusText,
907
- xhrStatus,
908
- });
909
- }
910
-
911
- function resolvePromiseWithResult(result) {
912
- resolvePromise(
913
- result.data,
914
- result.status,
915
- shallowCopy(result.headers()),
916
- result.statusText,
917
- result.xhrStatus,
918
- );
919
- }
920
-
921
- function removePendingReq() {
922
- const idx = $http.pendingRequests.indexOf(config);
923
- if (idx !== -1) $http.pendingRequests.splice(idx, 1);
924
- }
925
- }
926
-
927
- function buildUrl(url, serializedParams) {
928
- if (serializedParams.length > 0) {
929
- url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
930
- }
931
- return url;
932
- }
933
- },
934
- ];
935
- }
936
-
937
- /**
938
- * Makes an HTTP request using XMLHttpRequest with flexible options.
939
- *
940
- * @param {string} method - The HTTP method (e.g., "GET", "POST").
941
- * @param {string} [url] - The URL to send the request to. Defaults to the current page URL.
942
- * @param {*} [post] - The body to send with the request, if any.
943
- * @param {function(number, any, string|null, string, string): void} [callback] - Callback invoked when the request completes.
944
- * @param {Object<string, string|undefined>} [headers] - Headers to set on the request.
945
- * @param {number|Promise<any>} [timeout] - Timeout in ms or a cancellable promise.
946
- * @param {boolean} [withCredentials] - Whether to send credentials with the request.
947
- * @param {XMLHttpRequestResponseType} [responseType] - The type of data expected in the response.
948
- * @param {Record<string, EventListener>} [eventHandlers] - Event listeners for the XMLHttpRequest object.
949
- * @param {Record<string, EventListener>} [uploadEventHandlers] - Event listeners for the XMLHttpRequest.upload object.
950
- * @returns {void}
951
- */
952
- export function http(
953
- method,
954
- url,
955
- post,
956
- callback,
957
- headers,
958
- timeout,
959
- withCredentials,
960
- responseType,
961
- eventHandlers,
962
- uploadEventHandlers,
963
- ) {
964
- url = url || trimEmptyHash(window.location.href);
965
-
966
- const xhr = new XMLHttpRequest();
967
- let abortedByTimeout = false;
968
- let timeoutId;
969
-
970
- xhr.open(method, url, true);
971
-
972
- if (headers) {
973
- for (const [key, value] of Object.entries(headers)) {
974
- if (isDefined(value)) {
975
- xhr.setRequestHeader(key, value);
976
- }
977
- }
978
- }
979
-
980
- xhr.onload = () => {
981
- let status = xhr.status || 0;
982
- const statusText = xhr.statusText || "";
983
-
984
- if (status === 0) {
985
- status = xhr.response ? 200 : new URL(url).protocol === "file:" ? 404 : 0;
986
- }
987
-
988
- completeRequest(
989
- status,
990
- xhr.response,
991
- xhr.getAllResponseHeaders(),
992
- statusText,
993
- "complete",
994
- );
995
- };
996
-
997
- xhr.onerror = () => completeRequest(-1, null, null, "", "error");
998
- xhr.ontimeout = () => completeRequest(-1, null, null, "", "timeout");
999
-
1000
- xhr.onabort = () => {
1001
- completeRequest(-1, null, null, "", abortedByTimeout ? "timeout" : "abort");
1002
- };
1003
-
1004
- if (eventHandlers) {
1005
- for (const [key, handler] of Object.entries(eventHandlers)) {
1006
- xhr.addEventListener(key, handler);
1007
- }
1008
- }
1009
-
1010
- if (uploadEventHandlers) {
1011
- for (const [key, handler] of Object.entries(uploadEventHandlers)) {
1012
- xhr.upload.addEventListener(key, handler);
1013
- }
1014
- }
1015
-
1016
- if (withCredentials) {
1017
- xhr.withCredentials = true;
1018
- }
1019
-
1020
- if (responseType) {
1021
- try {
1022
- xhr.responseType = responseType;
1023
- } catch (e) {
1024
- if (responseType !== "json") throw e;
1025
- }
1026
- }
1027
-
1028
- xhr.send(isUndefined(post) ? null : post);
1029
-
1030
- if (typeof timeout === "number" && timeout > 0) {
1031
- timeoutId = setTimeout(() => timeoutRequest("timeout"), timeout);
1032
- } else if (isPromiseLike(timeout)) {
1033
- /** @type {Promise} */ (timeout).then(() => {
1034
- timeoutRequest(isDefined(timeout["$$timeoutId"]) ? "timeout" : "abort");
1035
- });
1036
- }
1037
-
1038
- /**
1039
- * @param {"timeout"|"abort"} reason
1040
- */
1041
- function timeoutRequest(reason) {
1042
- abortedByTimeout = reason === "timeout";
1043
- if (xhr) xhr.abort();
1044
- }
1045
-
1046
- /**
1047
- * @param {number} status - HTTP status code or -1 for network errors.
1048
- * @param {*} response - The parsed or raw response from the server.
1049
- * @param {string|null} headersString - The raw response headers as a string.
1050
- * @param {string} statusText - The status text returned by the server.
1051
- * @param {"complete"|"error"|"timeout"|"abort"} xhrStatus - Final status of the request.
1052
- */
1053
- function completeRequest(
1054
- status,
1055
- response,
1056
- headersString,
1057
- statusText,
1058
- xhrStatus,
1059
- ) {
1060
- if (isDefined(timeoutId)) {
1061
- clearTimeout(timeoutId);
1062
- }
1063
- callback(status, response, headersString, statusText, xhrStatus);
1064
- }
1065
- }
1066
-
1067
- /**
1068
- * @returns {Object<String, String>} List of all cookies
1069
- */
1070
- function getCookies() {
1071
- let cookieArray;
1072
- let cookie;
1073
- let i;
1074
- let index;
1075
- let name;
1076
- const currentCookieString = document.cookie;
1077
-
1078
- if (currentCookieString !== lastCookieString) {
1079
- lastCookieString = currentCookieString;
1080
- cookieArray = lastCookieString.split("; ");
1081
- lastCookies = {};
1082
-
1083
- for (i = 0; i < cookieArray.length; i++) {
1084
- cookie = cookieArray[i];
1085
- index = cookie.indexOf("=");
1086
- if (index > 0) {
1087
- // ignore nameless cookies
1088
- name = safeDecodeURIComponent(cookie.substring(0, index));
1089
- // the first value that is seen for a cookie is the most
1090
- // specific one. values for the same cookie name that
1091
- // follow are for less specific paths.
1092
- if (isUndefined(lastCookies[name])) {
1093
- lastCookies[name] = safeDecodeURIComponent(
1094
- cookie.substring(index + 1),
1095
- );
1096
- }
1097
- }
1098
- }
1099
- }
1100
- return lastCookies;
1101
- }
1102
-
1103
- function safeDecodeURIComponent(str) {
1104
- try {
1105
- return decodeURIComponent(str);
1106
- } catch {
1107
- return str;
1108
- }
1109
- }