@angular-wave/angular.ts 0.9.3 → 0.9.5

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 (703) hide show
  1. package/@types/angular.d.ts +4 -19
  2. package/@types/animations/animate.d.ts +2 -2
  3. package/@types/animations/animation.d.ts +1 -1
  4. package/@types/core/compile/attributes.d.ts +1 -1
  5. package/@types/core/compile/compile.d.ts +2 -2
  6. package/@types/core/controller/controller.d.ts +1 -1
  7. package/@types/core/controller/interface.d.ts +6 -0
  8. package/@types/core/di/ng-module.d.ts +27 -26
  9. package/@types/core/filter/filter.d.ts +5 -5
  10. package/@types/core/interpolate/interface.d.ts +13 -0
  11. package/@types/core/interpolate/interpolate.d.ts +1 -13
  12. package/@types/core/scope/scope.d.ts +4 -1
  13. package/@types/directive/http/http.d.ts +16 -16
  14. package/@types/directive/http/interface.d.ts +27 -0
  15. package/@types/directive/include/include.d.ts +4 -4
  16. package/@types/directive/inject/inject.d.ts +12 -0
  17. package/@types/directive/model/model.d.ts +1 -1
  18. package/@types/directive/script/script.d.ts +2 -2
  19. package/@types/directive/setter/setter.d.ts +4 -4
  20. package/@types/filters/filter.d.ts +2 -2
  21. package/@types/filters/filters.d.ts +2 -2
  22. package/@types/filters/interface.d.ts +8 -0
  23. package/@types/filters/limit-to.d.ts +2 -2
  24. package/@types/filters/order-by.d.ts +2 -2
  25. package/@types/interface.d.ts +105 -82
  26. package/@types/namespace.d.ts +76 -0
  27. package/@types/router/state/interface.d.ts +8 -8
  28. package/@types/router/state-filters.d.ts +4 -4
  29. package/@types/router/template-factory.d.ts +8 -8
  30. package/@types/router/transition/hook-builder.d.ts +5 -2
  31. package/@types/router/transition/hook-registry.d.ts +11 -2
  32. package/@types/router/transition/transition-service.d.ts +6 -2
  33. package/@types/router/transition/transition.d.ts +2 -2
  34. package/@types/router/view/view.d.ts +1 -8
  35. package/@types/router/view-scroll.d.ts +4 -2
  36. package/@types/services/{anchor-scroll.d.ts → anchor-scroll/anchor-scroll.d.ts} +2 -2
  37. package/@types/services/exception/exception-handler.d.ts +2 -2
  38. package/@types/services/exception/interface.d.ts +1 -1
  39. package/@types/services/http/http.d.ts +40 -2
  40. package/@types/services/http/interface.d.ts +11 -0
  41. package/@types/services/location/location.d.ts +1 -4
  42. package/@types/services/sce/sce.d.ts +3 -4
  43. package/@types/services/template-cache/template-cache.d.ts +4 -4
  44. package/@types/services/template-request/interface.d.ts +22 -0
  45. package/@types/services/{template-request.d.ts → template-request/template-request.d.ts} +4 -7
  46. package/@types/shared/common.d.ts +8 -69
  47. package/@types/shared/hof.d.ts +7 -7
  48. package/dist/angular-ts.esm.js +510 -570
  49. package/dist/angular-ts.umd.js +510 -570
  50. package/dist/angular-ts.umd.min.js +1 -1
  51. package/package.json +8 -1
  52. package/.github/workflows/ci.yml +0 -104
  53. package/.github/workflows/gh-pages.yml +0 -75
  54. package/.husky/pre-commit +0 -5
  55. package/.prettierignore +0 -9
  56. package/@types/services/cookie-reader.d.ts +0 -4
  57. package/@types/services/http-backend/http-backend.d.ts +0 -58
  58. package/@types/services/template-cache/interface.d.ts +0 -10
  59. package/CHANGELOG.md +0 -17667
  60. package/CODE_OF_CONDUCT.md +0 -3
  61. package/CONTRIBUTING.md +0 -247
  62. package/DEVELOPERS.md +0 -499
  63. package/Makefile +0 -60
  64. package/RELEASE.md +0 -86
  65. package/TRIAGING.md +0 -127
  66. package/docs/.cspell.yml +0 -8
  67. package/docs/.github/dependabot.yml +0 -14
  68. package/docs/.nvmrc +0 -1
  69. package/docs/CONTRIBUTING.md +0 -28
  70. package/docs/Dockerfile +0 -4
  71. package/docs/LICENSE +0 -201
  72. package/docs/README.md +0 -217
  73. package/docs/assets/icons/logo.svg +0 -1
  74. package/docs/assets/scss/_variables_project.scss +0 -12
  75. package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
  76. package/docs/assets/scss/index.scss +0 -48
  77. package/docs/config.yaml +0 -15
  78. package/docs/content/_index.md +0 -28
  79. package/docs/content/docs/_index.md +0 -61
  80. package/docs/content/docs/directive/_index.md +0 -4
  81. package/docs/content/docs/directive/app.md +0 -11
  82. package/docs/content/docs/directive/aria.md +0 -0
  83. package/docs/content/docs/directive/bind.md +0 -72
  84. package/docs/content/docs/directive/blur.md +0 -38
  85. package/docs/content/docs/directive/channel.md +0 -37
  86. package/docs/content/docs/directive/class-even.md +0 -47
  87. package/docs/content/docs/directive/class-odd.md +0 -48
  88. package/docs/content/docs/directive/class.md +0 -64
  89. package/docs/content/docs/directive/click.md +0 -41
  90. package/docs/content/docs/directive/cloak.md +0 -74
  91. package/docs/content/docs/directive/copy.md +0 -38
  92. package/docs/content/docs/directive/cut.md +0 -40
  93. package/docs/content/docs/directive/dblclick.md +0 -41
  94. package/docs/content/docs/directive/focus.md +0 -38
  95. package/docs/content/docs/directive/get.md +0 -203
  96. package/docs/content/docs/directive/include.md +0 -7
  97. package/docs/content/docs/directive/keydown.md +0 -38
  98. package/docs/content/docs/directive/keyup.md +0 -38
  99. package/docs/content/docs/directive/load.md +0 -43
  100. package/docs/content/docs/directive/mousedown.md +0 -38
  101. package/docs/content/docs/directive/mouseenter.md +0 -38
  102. package/docs/content/docs/directive/mouseleave.md +0 -38
  103. package/docs/content/docs/directive/mousemove.md +0 -38
  104. package/docs/content/docs/directive/mouseout.md +0 -38
  105. package/docs/content/docs/directive/mouseover.md +0 -38
  106. package/docs/content/docs/directive/mouseup.md +0 -38
  107. package/docs/content/docs/directive/non-bindable.md +0 -28
  108. package/docs/content/docs/filter/_index.md +0 -4
  109. package/docs/content/docs/provider/_index.md +0 -4
  110. package/docs/content/docs/provider/eventBusProvider.md +0 -35
  111. package/docs/content/docs/provider/locationProvider.md +0 -26
  112. package/docs/content/docs/provider/logProvider.md +0 -59
  113. package/docs/content/docs/provider/templateCacheProvider.md +0 -100
  114. package/docs/content/docs/service/_index.md +0 -4
  115. package/docs/content/docs/service/eventBus.md +0 -56
  116. package/docs/content/docs/service/location.md +0 -57
  117. package/docs/content/docs/service/log.md +0 -113
  118. package/docs/content/docs/service/templateCache.md +0 -64
  119. package/docs/content/docs/service/url.md +0 -5
  120. package/docs/docker-compose.yaml +0 -12
  121. package/docs/docsy.work +0 -5
  122. package/docs/docsy.work.sum +0 -0
  123. package/docs/go.mod +0 -5
  124. package/docs/go.sum +0 -6
  125. package/docs/hugo-disabled.toml +0 -220
  126. package/docs/hugo.yaml +0 -200
  127. package/docs/layouts/404.html +0 -13
  128. package/docs/layouts/_markup/render-heading.html +0 -1
  129. package/docs/layouts/partials/hooks/head-end.html +0 -3
  130. package/docs/layouts/shortcodes/showcss.html +0 -2
  131. package/docs/layouts/shortcodes/showhtml.html +0 -2
  132. package/docs/layouts/shortcodes/showjs.html +0 -2
  133. package/docs/layouts/shortcodes/showraw.html +0 -1
  134. package/docs/layouts/shortcodes/version.html +0 -1
  135. package/docs/package-lock.json +0 -2293
  136. package/docs/package.json +0 -53
  137. package/docs/static/examples/counter/counter-test.html +0 -13
  138. package/docs/static/examples/counter/counter.html +0 -5
  139. package/docs/static/examples/counter/counter.test.js +0 -28
  140. package/docs/static/examples/eventbus/eventbus-test.html +0 -15
  141. package/docs/static/examples/eventbus/eventbus.html +0 -13
  142. package/docs/static/examples/eventbus/eventbus.js +0 -15
  143. package/docs/static/examples/eventbus/eventbus.test.js +0 -19
  144. package/docs/static/examples/ng-bind/ng-bind.html +0 -9
  145. package/docs/static/examples/ng-blur/ng-blur.html +0 -9
  146. package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
  147. package/docs/static/examples/ng-channel/ng-channel.html +0 -24
  148. package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
  149. package/docs/static/examples/ng-class/ng-class.html +0 -71
  150. package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
  151. package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
  152. package/docs/static/examples/ng-click/ng-click.html +0 -6
  153. package/docs/static/examples/ng-copy/ng-copy.html +0 -6
  154. package/docs/static/examples/ng-cut/ng-cut.html +0 -6
  155. package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
  156. package/docs/static/examples/ng-focus/ng-focus.html +0 -9
  157. package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
  158. package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
  159. package/docs/static/examples/ng-load/ng-load.html +0 -8
  160. package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
  161. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
  162. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
  163. package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
  164. package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
  165. package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
  166. package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
  167. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
  168. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
  169. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
  170. package/docs/static/typedoc/.nojekyll +0 -1
  171. package/docs/static/typedoc/assets/hierarchy.js +0 -1
  172. package/docs/static/typedoc/assets/highlight.css +0 -78
  173. package/docs/static/typedoc/assets/icons.js +0 -18
  174. package/docs/static/typedoc/assets/icons.svg +0 -1
  175. package/docs/static/typedoc/assets/main.js +0 -60
  176. package/docs/static/typedoc/assets/navigation.js +0 -1
  177. package/docs/static/typedoc/assets/search.js +0 -1
  178. package/docs/static/typedoc/assets/style.css +0 -1633
  179. package/docs/static/typedoc/classes/Location.html +0 -55
  180. package/docs/static/typedoc/classes/LocationProvider.html +0 -20
  181. package/docs/static/typedoc/classes/LogProvider.html +0 -6
  182. package/docs/static/typedoc/classes/PubSub.html +0 -71
  183. package/docs/static/typedoc/classes/PubSubProvider.html +0 -3
  184. package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
  185. package/docs/static/typedoc/hierarchy.html +0 -1
  186. package/docs/static/typedoc/index.html +0 -1
  187. package/docs/static/typedoc/interfaces/ChangesObject.html +0 -6
  188. package/docs/static/typedoc/interfaces/ComponentOptions.html +0 -16
  189. package/docs/static/typedoc/interfaces/Controller.html +0 -12
  190. package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
  191. package/docs/static/typedoc/interfaces/Directive.html +0 -37
  192. package/docs/static/typedoc/interfaces/DirectivePrePost.html +0 -4
  193. package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
  194. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
  195. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
  196. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
  197. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
  198. package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
  199. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
  200. package/docs/static/typedoc/interfaces/HttpService.html +0 -38
  201. package/docs/static/typedoc/interfaces/LogService.html +0 -12
  202. package/docs/static/typedoc/interfaces/NgModelController.html +0 -30
  203. package/docs/static/typedoc/interfaces/NgModelOptions.html +0 -16
  204. package/docs/static/typedoc/interfaces/Provider.html +0 -34
  205. package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
  206. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
  207. package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
  208. package/docs/static/typedoc/interfaces/TemplateCache.html +0 -7
  209. package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +0 -8
  210. package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
  211. package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +0 -1
  212. package/docs/static/typedoc/types/AnnotatedFactory.html +0 -8
  213. package/docs/static/typedoc/types/CloneAttachFunction.html +0 -2
  214. package/docs/static/typedoc/types/ControllerConstructor.html +0 -2
  215. package/docs/static/typedoc/types/DirectiveCompileFn.html +0 -2
  216. package/docs/static/typedoc/types/DirectiveController.html +0 -2
  217. package/docs/static/typedoc/types/DirectiveFactory.html +0 -1
  218. package/docs/static/typedoc/types/DirectiveFactoryFn.html +0 -1
  219. package/docs/static/typedoc/types/DirectiveLinkFn.html +0 -2
  220. package/docs/static/typedoc/types/ExpandoStore.html +0 -2
  221. package/docs/static/typedoc/types/Expression.html +0 -6
  222. package/docs/static/typedoc/types/FilterFactory.html +0 -2
  223. package/docs/static/typedoc/types/FilterFn.html +0 -2
  224. package/docs/static/typedoc/types/HttpPromise.html +0 -1
  225. package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
  226. package/docs/static/typedoc/types/Injectable.html +0 -4
  227. package/docs/static/typedoc/types/InjectableClass.html +0 -1
  228. package/docs/static/typedoc/types/InjectableFactory.html +0 -1
  229. package/docs/static/typedoc/types/LogCall.html +0 -2
  230. package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
  231. package/docs/static/typedoc/types/OnChangesObject.html +0 -2
  232. package/docs/static/typedoc/types/SwapModeType.html +0 -2
  233. package/docs/static/typedoc/types/TController.html +0 -2
  234. package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
  235. package/docs/static/typedoc/variables/EventBus.html +0 -1
  236. package/docs/static/typedoc/variables/SwapMode.html +0 -11
  237. package/docs/static/version.js +0 -13
  238. package/docs/test-results/.last-run.json +0 -4
  239. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
  240. package/eslint.config.js +0 -26
  241. package/images/android-chrome-192x192.png +0 -0
  242. package/images/android-chrome-512x512.png +0 -0
  243. package/images/apple-touch-icon.png +0 -0
  244. package/images/favicon-16x16.png +0 -0
  245. package/images/favicon-32x32.png +0 -0
  246. package/images/favicon.ico +0 -0
  247. package/images/site.webmanifest +0 -19
  248. package/index.html +0 -86
  249. package/legacy.d.ts +0 -2599
  250. package/playwright.config.ts +0 -81
  251. package/public/jasmine/boot0.js +0 -66
  252. package/public/jasmine/boot1.js +0 -134
  253. package/public/jasmine/jasmine-html.js +0 -970
  254. package/public/jasmine/jasmine.css +0 -323
  255. package/public/jasmine/jasmine.js +0 -11406
  256. package/public/public/README.md +0 -1
  257. package/public/public/circle.html +0 -1
  258. package/public/public/jasmine-helper.css +0 -9
  259. package/public/public/my_child_directive.html +0 -1
  260. package/public/public/my_directive.html +0 -1
  261. package/public/public/my_other_directive.html +0 -1
  262. package/public/public/test.html +0 -1
  263. package/rollup.config.js +0 -51
  264. package/src/angular.js +0 -293
  265. package/src/angular.spec.js +0 -1191
  266. package/src/animations/animate-cache.js +0 -80
  267. package/src/animations/animate-children-directive.js +0 -32
  268. package/src/animations/animate-children-directive.md +0 -80
  269. package/src/animations/animate-css-driver.js +0 -284
  270. package/src/animations/animate-css.html +0 -58
  271. package/src/animations/animate-css.js +0 -915
  272. package/src/animations/animate-css.md +0 -263
  273. package/src/animations/animate-js-driver.js +0 -60
  274. package/src/animations/animate-js.html +0 -47
  275. package/src/animations/animate-js.js +0 -371
  276. package/src/animations/animate-queue.js +0 -859
  277. package/src/animations/animate-runner.js +0 -193
  278. package/src/animations/animate-swap.js +0 -33
  279. package/src/animations/animate-swap.md +0 -88
  280. package/src/animations/animate.html +0 -19
  281. package/src/animations/animate.js +0 -546
  282. package/src/animations/animate.md +0 -933
  283. package/src/animations/animate.spec.js +0 -490
  284. package/src/animations/animation.js +0 -519
  285. package/src/animations/animations.test.js +0 -10
  286. package/src/animations/interface.ts +0 -19
  287. package/src/animations/raf-scheduler.html +0 -19
  288. package/src/animations/raf-scheduler.js +0 -92
  289. package/src/animations/raf-scheduler.spec.js +0 -98
  290. package/src/animations/shared.js +0 -341
  291. package/src/binding.html +0 -19
  292. package/src/binding.spec.js +0 -474
  293. package/src/binding.test.js +0 -10
  294. package/src/core/compile/attributes.js +0 -337
  295. package/src/core/compile/compile.html +0 -19
  296. package/src/core/compile/compile.js +0 -3270
  297. package/src/core/compile/compile.md +0 -1128
  298. package/src/core/compile/compile.spec.js +0 -15574
  299. package/src/core/compile/compile.test.js +0 -12
  300. package/src/core/controller/controller.html +0 -22
  301. package/src/core/controller/controller.js +0 -189
  302. package/src/core/controller/controller.spec.js +0 -334
  303. package/src/core/controller/controller.test.js +0 -12
  304. package/src/core/core.html +0 -20
  305. package/src/core/core.test.js +0 -12
  306. package/src/core/di/injector.html +0 -19
  307. package/src/core/di/injector.js +0 -307
  308. package/src/core/di/injector.md +0 -740
  309. package/src/core/di/injector.spec.js +0 -2310
  310. package/src/core/di/injector.test.js +0 -12
  311. package/src/core/di/internal-injector.js +0 -284
  312. package/src/core/di/ng-module.html +0 -19
  313. package/src/core/di/ng-module.js +0 -226
  314. package/src/core/di/ng-module.spec.js +0 -263
  315. package/src/core/di/ng-module.test.js +0 -12
  316. package/src/core/filter/filter.html +0 -19
  317. package/src/core/filter/filter.js +0 -55
  318. package/src/core/filter/filter.md +0 -132
  319. package/src/core/filter/filter.spec.js +0 -149
  320. package/src/core/filter/filter.test.js +0 -12
  321. package/src/core/interpolate/interpolate.html +0 -22
  322. package/src/core/interpolate/interpolate.js +0 -408
  323. package/src/core/interpolate/interpolate.spec.js +0 -601
  324. package/src/core/interpolate/interpolate.test.js +0 -12
  325. package/src/core/parse/ast/ast-node.ts +0 -81
  326. package/src/core/parse/ast/ast.html +0 -19
  327. package/src/core/parse/ast/ast.js +0 -574
  328. package/src/core/parse/ast/ast.spec.js +0 -1453
  329. package/src/core/parse/ast/ast.test.js +0 -10
  330. package/src/core/parse/ast-type.js +0 -23
  331. package/src/core/parse/interface.ts +0 -84
  332. package/src/core/parse/interpreter.js +0 -915
  333. package/src/core/parse/lexer/lexer.html +0 -19
  334. package/src/core/parse/lexer/lexer.js +0 -338
  335. package/src/core/parse/lexer/lexer.spec.js +0 -303
  336. package/src/core/parse/lexer/lexer.test.js +0 -10
  337. package/src/core/parse/lexer/token.ts +0 -22
  338. package/src/core/parse/parse.html +0 -19
  339. package/src/core/parse/parse.js +0 -337
  340. package/src/core/parse/parse.md +0 -57
  341. package/src/core/parse/parse.spec.js +0 -2107
  342. package/src/core/parse/parse.test.js +0 -10
  343. package/src/core/parse/parser/parser.html +0 -19
  344. package/src/core/parse/parser/parser.js +0 -64
  345. package/src/core/parse/parser/parser.spec.js +0 -8
  346. package/src/core/parse/parser/parser.test.js +0 -10
  347. package/src/core/prop.spec.js +0 -775
  348. package/src/core/root-element.spec.js +0 -14
  349. package/src/core/sanitize/interface.ts +0 -10
  350. package/src/core/sanitize/sanitize-uri.js +0 -75
  351. package/src/core/sanitize/sanitize-uri.spec.js +0 -249
  352. package/src/core/sanitize/sanitize-uri.test.js +0 -12
  353. package/src/core/sanitize/sanitize.html +0 -22
  354. package/src/core/scope/scope.html +0 -19
  355. package/src/core/scope/scope.js +0 -1249
  356. package/src/core/scope/scope.spec.js +0 -3000
  357. package/src/core/scope/scope.test.js +0 -12
  358. package/src/directive/aria/aria.html +0 -19
  359. package/src/directive/aria/aria.js +0 -382
  360. package/src/directive/aria/aria.md +0 -145
  361. package/src/directive/aria/aria.spec.js +0 -1241
  362. package/src/directive/aria/aria.test.js +0 -12
  363. package/src/directive/attrs/attrs.html +0 -19
  364. package/src/directive/attrs/attrs.js +0 -106
  365. package/src/directive/attrs/attrs.md +0 -224
  366. package/src/directive/attrs/attrs.spec.js +0 -71
  367. package/src/directive/attrs/attrs.test.js +0 -12
  368. package/src/directive/attrs/boolean.html +0 -19
  369. package/src/directive/attrs/boolean.spec.js +0 -137
  370. package/src/directive/attrs/boolean.test.js +0 -12
  371. package/src/directive/attrs/element-style.html +0 -22
  372. package/src/directive/attrs/element-style.spec.js +0 -85
  373. package/src/directive/attrs/element-style.test.js +0 -12
  374. package/src/directive/attrs/src.html +0 -19
  375. package/src/directive/attrs/src.spec.js +0 -163
  376. package/src/directive/attrs/src.test.js +0 -12
  377. package/src/directive/bind/bind-html.spec.js +0 -36
  378. package/src/directive/bind/bind.html +0 -20
  379. package/src/directive/bind/bind.js +0 -78
  380. package/src/directive/bind/bind.md +0 -142
  381. package/src/directive/bind/bind.spec.js +0 -314
  382. package/src/directive/bind/bind.test.js +0 -12
  383. package/src/directive/channel/channel.html +0 -19
  384. package/src/directive/channel/channel.js +0 -30
  385. package/src/directive/channel/channel.spec.js +0 -67
  386. package/src/directive/channel/channel.test.js +0 -10
  387. package/src/directive/class/class-test.html +0 -23
  388. package/src/directive/class/class.html +0 -19
  389. package/src/directive/class/class.js +0 -184
  390. package/src/directive/class/class.spec.js +0 -704
  391. package/src/directive/class/class.test.js +0 -12
  392. package/src/directive/cloak/cloak.html +0 -19
  393. package/src/directive/cloak/cloak.js +0 -11
  394. package/src/directive/cloak/cloak.spec.js +0 -44
  395. package/src/directive/cloak/cloak.test.js +0 -12
  396. package/src/directive/controller/controller.html +0 -22
  397. package/src/directive/controller/controller.js +0 -11
  398. package/src/directive/controller/controller.md +0 -46
  399. package/src/directive/controller/controller.spec.js +0 -175
  400. package/src/directive/controller/controller.test.js +0 -12
  401. package/src/directive/events/click.spec.js +0 -35
  402. package/src/directive/events/event.spec.js +0 -267
  403. package/src/directive/events/events-test.html +0 -36
  404. package/src/directive/events/events.html +0 -20
  405. package/src/directive/events/events.js +0 -65
  406. package/src/directive/events/events.md +0 -125
  407. package/src/directive/events/events.test.js +0 -12
  408. package/src/directive/form/form.html +0 -19
  409. package/src/directive/form/form.js +0 -669
  410. package/src/directive/form/form.spec.js +0 -1515
  411. package/src/directive/form/form.test.js +0 -12
  412. package/src/directive/http/delete.spec.js +0 -26
  413. package/src/directive/http/form-router-test.html +0 -44
  414. package/src/directive/http/form-test.html +0 -18
  415. package/src/directive/http/get.spec.js +0 -488
  416. package/src/directive/http/http.html +0 -22
  417. package/src/directive/http/http.js +0 -342
  418. package/src/directive/http/http.test.js +0 -12
  419. package/src/directive/http/post-example.html +0 -30
  420. package/src/directive/http/post.spec.js +0 -521
  421. package/src/directive/http/put.spec.js +0 -26
  422. package/src/directive/if/if-animate-css.html +0 -57
  423. package/src/directive/if/if-animate-svg.html +0 -25
  424. package/src/directive/if/if.html +0 -19
  425. package/src/directive/if/if.js +0 -72
  426. package/src/directive/if/if.md +0 -76
  427. package/src/directive/if/if.spec.js +0 -293
  428. package/src/directive/if/if.test.js +0 -114
  429. package/src/directive/include/include.html +0 -19
  430. package/src/directive/include/include.js +0 -151
  431. package/src/directive/include/include.md +0 -87
  432. package/src/directive/include/include.spec.js +0 -734
  433. package/src/directive/include/include.test.js +0 -12
  434. package/src/directive/init/init.html +0 -19
  435. package/src/directive/init/init.js +0 -22
  436. package/src/directive/init/init.md +0 -41
  437. package/src/directive/init/init.spec.js +0 -68
  438. package/src/directive/init/init.test.js +0 -12
  439. package/src/directive/input/input-example.html +0 -15
  440. package/src/directive/input/input.html +0 -19
  441. package/src/directive/input/input.js +0 -1078
  442. package/src/directive/input/input.md +0 -706
  443. package/src/directive/input/input.spec.js +0 -3700
  444. package/src/directive/input/input.test.js +0 -12
  445. package/src/directive/messages/messages.html +0 -22
  446. package/src/directive/messages/messages.js +0 -349
  447. package/src/directive/messages/messages.md +0 -543
  448. package/src/directive/messages/messages.spec.js +0 -1083
  449. package/src/directive/messages/messages.test.js +0 -12
  450. package/src/directive/model/change.md +0 -25
  451. package/src/directive/model/model.html +0 -19
  452. package/src/directive/model/model.js +0 -1170
  453. package/src/directive/model/model.spec.js +0 -1976
  454. package/src/directive/model/model.test.js +0 -12
  455. package/src/directive/model-options/model-option.test.js +0 -12
  456. package/src/directive/model-options/model-options.html +0 -22
  457. package/src/directive/model-options/model-options.js +0 -142
  458. package/src/directive/model-options/model-options.md +0 -407
  459. package/src/directive/model-options/model-options.spec.js +0 -1022
  460. package/src/directive/non-bindable/non-bindable.html +0 -22
  461. package/src/directive/non-bindable/non-bindable.js +0 -9
  462. package/src/directive/non-bindable/non-bindable.spec.js +0 -59
  463. package/src/directive/non-bindable/non-bindable.test.js +0 -12
  464. package/src/directive/observe/observe-demo.html +0 -184
  465. package/src/directive/observe/observe.html +0 -19
  466. package/src/directive/observe/observe.js +0 -41
  467. package/src/directive/observe/observe.spec.js +0 -106
  468. package/src/directive/observe/observe.test.js +0 -10
  469. package/src/directive/on/on.html +0 -19
  470. package/src/directive/on/on.spec.js +0 -215
  471. package/src/directive/on/on.test.js +0 -12
  472. package/src/directive/options/options-example.html +0 -17
  473. package/src/directive/options/options.html +0 -22
  474. package/src/directive/options/options.js +0 -542
  475. package/src/directive/options/options.md +0 -179
  476. package/src/directive/options/options.spec.js +0 -3554
  477. package/src/directive/options/options.test.js +0 -12
  478. package/src/directive/ref/href.html +0 -19
  479. package/src/directive/ref/href.spec.js +0 -141
  480. package/src/directive/ref/href.test.js +0 -19
  481. package/src/directive/ref/ref.html +0 -19
  482. package/src/directive/ref/ref.js +0 -89
  483. package/src/directive/ref/ref.spec.js +0 -546
  484. package/src/directive/repeat/repeat.html +0 -19
  485. package/src/directive/repeat/repeat.js +0 -333
  486. package/src/directive/repeat/repeat.md +0 -330
  487. package/src/directive/repeat/repeat.spec.js +0 -1209
  488. package/src/directive/repeat/repeat.test.js +0 -12
  489. package/src/directive/script/script.html +0 -19
  490. package/src/directive/script/script.js +0 -17
  491. package/src/directive/script/script.md +0 -11
  492. package/src/directive/script/script.spec.js +0 -47
  493. package/src/directive/script/script.test.js +0 -12
  494. package/src/directive/select/select.html +0 -19
  495. package/src/directive/select/select.js +0 -594
  496. package/src/directive/select/select.md +0 -74
  497. package/src/directive/select/select.spec.js +0 -2566
  498. package/src/directive/select/select.test.js +0 -12
  499. package/src/directive/setter/setter.html +0 -19
  500. package/src/directive/setter/setter.js +0 -59
  501. package/src/directive/setter/setter.spec.js +0 -100
  502. package/src/directive/setter/setter.test.js +0 -12
  503. package/src/directive/show-hide/show-hide.html +0 -22
  504. package/src/directive/show-hide/show-hide.js +0 -65
  505. package/src/directive/show-hide/show-hide.md +0 -255
  506. package/src/directive/show-hide/show-hide.spec.js +0 -268
  507. package/src/directive/show-hide/show-hide.test.js +0 -12
  508. package/src/directive/style/style.html +0 -19
  509. package/src/directive/style/style.js +0 -27
  510. package/src/directive/style/style.md +0 -23
  511. package/src/directive/style/style.spec.js +0 -183
  512. package/src/directive/style/style.test.js +0 -12
  513. package/src/directive/switch/switch.html +0 -19
  514. package/src/directive/switch/switch.js +0 -133
  515. package/src/directive/switch/switch.md +0 -66
  516. package/src/directive/switch/switch.spec.js +0 -509
  517. package/src/directive/switch/switch.test.js +0 -12
  518. package/src/directive/transclude/transclude.js +0 -122
  519. package/src/directive/validators/validators.html +0 -22
  520. package/src/directive/validators/validators.js +0 -346
  521. package/src/directive/validators/validators.spec.js +0 -740
  522. package/src/directive/validators/validators.test.js +0 -12
  523. package/src/filters/filter.js +0 -213
  524. package/src/filters/filter.md +0 -69
  525. package/src/filters/filter.spec.js +0 -719
  526. package/src/filters/filters.html +0 -22
  527. package/src/filters/filters.js +0 -239
  528. package/src/filters/filters.spec.js +0 -36
  529. package/src/filters/filters.test.js +0 -12
  530. package/src/filters/json.md +0 -16
  531. package/src/filters/limit-to.js +0 -55
  532. package/src/filters/limit-to.md +0 -19
  533. package/src/filters/limit-to.spec.js +0 -252
  534. package/src/filters/order-by.js +0 -181
  535. package/src/filters/order-by.md +0 -83
  536. package/src/filters/order-by.spec.js +0 -883
  537. package/src/index.js +0 -6
  538. package/src/index.spec.js +0 -11
  539. package/src/injection-tokens.js +0 -78
  540. package/src/interface.ts +0 -421
  541. package/src/ng.js +0 -289
  542. package/src/ng.spec.js +0 -33
  543. package/src/router/common/trace.js +0 -240
  544. package/src/router/directives/component-example.html +0 -37
  545. package/src/router/directives/state-directives.html +0 -22
  546. package/src/router/directives/state-directives.js +0 -393
  547. package/src/router/directives/state-directives.md +0 -435
  548. package/src/router/directives/state-directives.spec.js +0 -1091
  549. package/src/router/directives/state-directives.test.js +0 -10
  550. package/src/router/directives/view-directive.js +0 -489
  551. package/src/router/directives/view-directive.spec.js +0 -1937
  552. package/src/router/directives/view-directive.test.js +0 -10
  553. package/src/router/directives/view-directives.html +0 -22
  554. package/src/router/glob/glob.html +0 -19
  555. package/src/router/glob/glob.js +0 -102
  556. package/src/router/glob/glob.spec.js +0 -108
  557. package/src/router/glob/glob.test.js +0 -12
  558. package/src/router/hooks/core-resolvables.js +0 -38
  559. package/src/router/hooks/ignored-transition.js +0 -25
  560. package/src/router/hooks/invalid-transition.js +0 -14
  561. package/src/router/hooks/lazy-load.js +0 -104
  562. package/src/router/hooks/on-enter-exit-retain.js +0 -55
  563. package/src/router/hooks/redirect-to.js +0 -38
  564. package/src/router/hooks/resolve.js +0 -57
  565. package/src/router/hooks/update-globals.js +0 -34
  566. package/src/router/hooks/url.js +0 -34
  567. package/src/router/hooks/views.js +0 -41
  568. package/src/router/params/interface.ts +0 -626
  569. package/src/router/params/param-factory.js +0 -23
  570. package/src/router/params/param-type.js +0 -133
  571. package/src/router/params/param-types.js +0 -153
  572. package/src/router/params/param.js +0 -243
  573. package/src/router/params/state-params.js +0 -36
  574. package/src/router/path/path-node.js +0 -78
  575. package/src/router/path/path-utils.js +0 -207
  576. package/src/router/resolve/interface.ts +0 -208
  577. package/src/router/resolve/resolvable.js +0 -123
  578. package/src/router/resolve/resolve-context.js +0 -190
  579. package/src/router/router-test-hashbang.html +0 -45
  580. package/src/router/router-test.html +0 -41
  581. package/src/router/router.html +0 -22
  582. package/src/router/router.js +0 -54
  583. package/src/router/router.test.js +0 -12
  584. package/src/router/services.spec.js +0 -52
  585. package/src/router/state/README.md +0 -21
  586. package/src/router/state/interface.ts +0 -1007
  587. package/src/router/state/state-builder.js +0 -376
  588. package/src/router/state/state-builder.spec.js +0 -86
  589. package/src/router/state/state-matcher.js +0 -64
  590. package/src/router/state/state-object.js +0 -118
  591. package/src/router/state/state-queue-manager.js +0 -95
  592. package/src/router/state/state-registry.js +0 -257
  593. package/src/router/state/state-service.js +0 -699
  594. package/src/router/state/state.html +0 -23
  595. package/src/router/state/state.spec.js +0 -1002
  596. package/src/router/state/state.test.js +0 -12
  597. package/src/router/state/target-state.js +0 -162
  598. package/src/router/state/views.js +0 -195
  599. package/src/router/state-filter.spec.js +0 -139
  600. package/src/router/state-filters.js +0 -46
  601. package/src/router/template-factory.html +0 -19
  602. package/src/router/template-factory.js +0 -249
  603. package/src/router/template-factory.spec.js +0 -155
  604. package/src/router/template-factory.test.js +0 -12
  605. package/src/router/transition/hook-builder.js +0 -133
  606. package/src/router/transition/hook-registry.js +0 -172
  607. package/src/router/transition/interface.js +0 -18
  608. package/src/router/transition/interface.ts +0 -922
  609. package/src/router/transition/reject-factory.js +0 -122
  610. package/src/router/transition/transition-event-type.js +0 -26
  611. package/src/router/transition/transition-hook.js +0 -199
  612. package/src/router/transition/transition-service.js +0 -302
  613. package/src/router/transition/transition.js +0 -652
  614. package/src/router/url/url-config.js +0 -155
  615. package/src/router/url/url-matcher.js +0 -532
  616. package/src/router/url/url-rule.js +0 -231
  617. package/src/router/url/url-rules.js +0 -350
  618. package/src/router/url/url-service.js +0 -446
  619. package/src/router/url/url-service.spec.js +0 -1288
  620. package/src/router/url/url.html +0 -19
  621. package/src/router/url/url.test.js +0 -12
  622. package/src/router/view/interface.ts +0 -51
  623. package/src/router/view/view.html +0 -19
  624. package/src/router/view/view.js +0 -274
  625. package/src/router/view/view.spec.js +0 -100
  626. package/src/router/view/view.test.js +0 -12
  627. package/src/router/view-hook.spec.js +0 -215
  628. package/src/router/view-scroll.js +0 -33
  629. package/src/router/view-scroll.spec.js +0 -72
  630. package/src/services/anchor-scroll.html +0 -76
  631. package/src/services/anchor-scroll.js +0 -147
  632. package/src/services/cookie-reader.js +0 -48
  633. package/src/services/exception/exception-handler.js +0 -75
  634. package/src/services/exception/interface.ts +0 -7
  635. package/src/services/http/http.html +0 -23
  636. package/src/services/http/http.js +0 -922
  637. package/src/services/http/http.md +0 -413
  638. package/src/services/http/http.spec.js +0 -3941
  639. package/src/services/http/http.test.js +0 -11
  640. package/src/services/http/interface.ts +0 -243
  641. package/src/services/http/template-request.spec.js +0 -220
  642. package/src/services/http-backend/http-backend.html +0 -22
  643. package/src/services/http-backend/http-backend.js +0 -158
  644. package/src/services/http-backend/http-backend.spec.js +0 -389
  645. package/src/services/http-backend/http-backend.test.js +0 -12
  646. package/src/services/location/interface.ts +0 -70
  647. package/src/services/location/location.html +0 -22
  648. package/src/services/location/location.js +0 -1006
  649. package/src/services/location/location.spec.js +0 -3792
  650. package/src/services/location/location.test.js +0 -12
  651. package/src/services/log/interface.ts +0 -39
  652. package/src/services/log/log.html +0 -19
  653. package/src/services/log/log.js +0 -74
  654. package/src/services/log/log.spec.js +0 -64
  655. package/src/services/log/log.test.js +0 -12
  656. package/src/services/pubsub/pubsub.html +0 -19
  657. package/src/services/pubsub/pubsub.js +0 -349
  658. package/src/services/pubsub/pubsub.spec.js +0 -400
  659. package/src/services/pubsub/pubsub.test.js +0 -12
  660. package/src/services/sce/sce.html +0 -19
  661. package/src/services/sce/sce.js +0 -847
  662. package/src/services/sce/sce.md +0 -300
  663. package/src/services/sce/sce.spec.js +0 -617
  664. package/src/services/sce/sce.test.js +0 -12
  665. package/src/services/template-cache/interface.ts +0 -10
  666. package/src/services/template-cache/template-cache.html +0 -22
  667. package/src/services/template-cache/template-cache.js +0 -15
  668. package/src/services/template-cache/template-cache.spec.js +0 -134
  669. package/src/services/template-cache/template-cache.test.js +0 -12
  670. package/src/services/template-request.js +0 -142
  671. package/src/shared/cache.js +0 -7
  672. package/src/shared/common.js +0 -438
  673. package/src/shared/common.spec.js +0 -294
  674. package/src/shared/constants.js +0 -21
  675. package/src/shared/dom.js +0 -716
  676. package/src/shared/hof.js +0 -151
  677. package/src/shared/hof.spec.js +0 -60
  678. package/src/shared/interface.ts +0 -21
  679. package/src/shared/min-err.spec.js +0 -178
  680. package/src/shared/noderef.js +0 -225
  681. package/src/shared/predicates.js +0 -34
  682. package/src/shared/queue.js +0 -105
  683. package/src/shared/queue.spec.js +0 -80
  684. package/src/shared/shared.html +0 -24
  685. package/src/shared/shared.test.js +0 -12
  686. package/src/shared/strings.js +0 -142
  687. package/src/shared/strings.spec.js +0 -40
  688. package/src/shared/test-utils.js +0 -47
  689. package/src/shared/url-utils/interface.ts +0 -54
  690. package/src/shared/url-utils/url-utils.html +0 -22
  691. package/src/shared/url-utils/url-utils.js +0 -122
  692. package/src/shared/url-utils/url-utils.spec.js +0 -148
  693. package/src/shared/url-utils/url-utils.test.js +0 -12
  694. package/src/shared/utils.js +0 -1255
  695. package/src/shared/utils.spec.js +0 -178
  696. package/src/src.html +0 -21
  697. package/src/src.test.js +0 -10
  698. package/tsconfig.json +0 -19
  699. package/tsconfig.types.json +0 -14
  700. package/typedoc.json +0 -8
  701. package/utils/express.js +0 -203
  702. package/utils/version.cjs +0 -23
  703. package/vite.config.js +0 -14
@@ -1,333 +0,0 @@
1
- import {
2
- minErr,
3
- hashKey,
4
- isArrayLike,
5
- hasOwn,
6
- isDefined,
7
- callBackOnce,
8
- } from "../../shared/utils.js";
9
- import { getBlockNodes, removeElement } from "../../shared/dom.js";
10
- import { $injectTokens } from "../../injection-tokens.js";
11
-
12
- const NG_REMOVED = "$$NG_REMOVED";
13
- const ngRepeatMinErr = minErr("ngRepeat");
14
-
15
- /**
16
- * Regular expression to match either:
17
- * 1. A single variable name (optionally preceded by whitespace), e.g. "foo", " $bar"
18
- * 2. A pair of variable names inside parentheses separated by a comma (with optional whitespace), e.g. "(x, y)", "($foo, _bar123)"
19
- *
20
- * Capturing groups:
21
- * - Group 1: The single variable name (if present)
22
- * - Group 2: The first variable in the tuple (if present)
23
- * - Group 3: The second variable in the tuple (if present)
24
- *
25
- * Examples:
26
- * - Matches: "foo", " $var", "(x, y)", "($a, $b)"
27
- * - Does NOT match: "x,y", "(x)", "(x y)", ""
28
- *
29
- * @constant {RegExp}
30
- */
31
- const VAR_OR_TUPLE_REGEX =
32
- /^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/;
33
-
34
- ngRepeatDirective.$inject = [$injectTokens.$animate];
35
-
36
- /**
37
- * TODO // Add type for animate service
38
- * @param {*} $animate
39
- * @returns {import("../../interface.ts").Directive}
40
- */
41
- export function ngRepeatDirective($animate) {
42
- function updateScope(
43
- scope,
44
- index,
45
- valueIdentifier,
46
- value,
47
- keyIdentifier,
48
- key,
49
- arrayLength,
50
- ) {
51
- // TODO(perf): generate setters to shave off ~40ms or 1-1.5%
52
- if (scope[valueIdentifier] !== value) {
53
- scope[valueIdentifier] = value;
54
- }
55
-
56
- if (keyIdentifier) scope[keyIdentifier] = key;
57
- if (value) {
58
- scope.$target.$$hashKey = value.$$hashKey;
59
- }
60
- scope.$index = index;
61
- scope.$first = index === 0;
62
- scope.$last = index === arrayLength - 1;
63
- scope.$middle = !(scope.$first || scope.$last);
64
- scope.$odd = !(scope.$even = (index & 1) === 0);
65
- }
66
-
67
- function getBlockStart(block) {
68
- return block.clone;
69
- }
70
-
71
- function getBlockEnd(block) {
72
- return block.clone;
73
- }
74
-
75
- function trackByIdArrayFn(_$scope, _key, value) {
76
- return hashKey(value);
77
- }
78
-
79
- function trackByIdObjFn(_$scope, key) {
80
- return key;
81
- }
82
-
83
- return {
84
- restrict: "A",
85
- transclude: "element",
86
- priority: 1000,
87
- terminal: true,
88
- compile: (_$element, $attr) => {
89
- const expression = $attr["ngRepeat"];
90
- const hasAnimate = !!$attr["animate"];
91
-
92
- let match = expression.match(
93
- /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/,
94
- );
95
-
96
- if (!match) {
97
- throw ngRepeatMinErr(
98
- "iexp",
99
- "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",
100
- expression,
101
- );
102
- }
103
-
104
- const lhs = match[1];
105
- const rhs = match[2];
106
- const aliasAs = match[3];
107
-
108
- match = lhs.match(VAR_OR_TUPLE_REGEX);
109
-
110
- if (!match) {
111
- throw ngRepeatMinErr(
112
- "iidexp",
113
- "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",
114
- lhs,
115
- );
116
- }
117
- const valueIdentifier = match[3] || match[1];
118
- const keyIdentifier = match[2];
119
-
120
- if (
121
- aliasAs &&
122
- (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(aliasAs) ||
123
- /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(
124
- aliasAs,
125
- ))
126
- ) {
127
- throw ngRepeatMinErr(
128
- "badident",
129
- "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",
130
- aliasAs,
131
- );
132
- }
133
-
134
- let trackByIdExpFn;
135
-
136
- const swap = callBackOnce(() => {
137
- if (isDefined($attr["lazy"]) && isDefined($attr["swap"])) {
138
- document
139
- .querySelectorAll($attr["swap"])
140
- .forEach((x) => removeElement(x));
141
- }
142
- });
143
-
144
- return function ngRepeatLink($scope, $element, $attr, ctrl, $transclude) {
145
- // Store a list of elements from previous run. This is a hash where key is the item from the
146
- // iterator, and the value is objects with following properties.
147
- // - scope: bound scope
148
- // - clone: previous element.
149
- // - index: position
150
- //
151
- // We are using no-proto object so that we don't need to guard against inherited props via
152
- // hasOwnProperty.
153
- let lastBlockMap = Object.create(null);
154
- // watch props
155
- $scope.$watch(
156
- rhs,
157
- (collection) => {
158
- swap();
159
- let index,
160
- length,
161
- previousNode = $element, // node that cloned nodes should be inserted after
162
- // initialized to the comment node anchor
163
- nextNode;
164
- const // Same as lastBlockMap but it has the current state. It will become the
165
- // lastBlockMap on the next iteration.
166
- nextBlockMap = Object.create(null);
167
- let collectionLength,
168
- key,
169
- value, // key/value of iteration
170
- trackById,
171
- trackByIdFn,
172
- collectionKeys,
173
- block, // last object information {scope, element, id}
174
- nextBlockOrder,
175
- elementsToRemove;
176
-
177
- if (aliasAs) {
178
- $scope[aliasAs] = collection;
179
- }
180
-
181
- if (isArrayLike(collection)) {
182
- collectionKeys = collection;
183
- trackByIdFn = trackByIdExpFn || trackByIdArrayFn;
184
- } else {
185
- trackByIdFn = trackByIdExpFn || trackByIdObjFn;
186
- // if object, extract keys, in enumeration order, unsorted
187
- collectionKeys = [];
188
- for (const itemKey in collection) {
189
- if (hasOwn(collection, itemKey) && itemKey.charAt(0) !== "$") {
190
- collectionKeys.push(itemKey);
191
- }
192
- }
193
- }
194
-
195
- collectionLength = collectionKeys.length;
196
- nextBlockOrder = new Array(collectionLength);
197
-
198
- // locate existing items
199
- for (index = 0; index < collectionLength; index++) {
200
- key =
201
- collection === collectionKeys ? index : collectionKeys[index];
202
- value = collection[key];
203
- trackById = trackByIdFn($scope, key, value);
204
- if (lastBlockMap[trackById]) {
205
- // found previously seen block
206
- block = lastBlockMap[trackById];
207
- delete lastBlockMap[trackById];
208
- nextBlockMap[trackById] = block;
209
- nextBlockOrder[index] = block;
210
- } else if (nextBlockMap[trackById]) {
211
- // if collision detected. restore lastBlockMap and throw an error
212
- Object.values(nextBlockOrder).forEach((block) => {
213
- if (block && block.scope) lastBlockMap[block.id] = block;
214
- });
215
- throw ngRepeatMinErr(
216
- "dupes",
217
- "Duplicates keys in a repeater are not allowed. Repeater: {0}, Duplicate key: {1} for value: {2}",
218
- expression,
219
- trackById,
220
- value,
221
- );
222
- } else {
223
- // new never before seen block
224
- nextBlockOrder[index] = {
225
- id: trackById,
226
- scope: undefined,
227
- clone: undefined,
228
- };
229
- nextBlockMap[trackById] = true;
230
- }
231
- }
232
-
233
- // remove leftover items
234
- for (let blockKey in lastBlockMap) {
235
- block = lastBlockMap[blockKey];
236
- elementsToRemove = block.clone;
237
- if (hasAnimate) {
238
- $animate.leave(elementsToRemove);
239
- } else {
240
- elementsToRemove.remove();
241
- }
242
- if (elementsToRemove.parentNode) {
243
- // if the element was not removed yet because of pending animation, mark it as deleted
244
- // so that we can ignore it later
245
- for (
246
- index = 0, length = elementsToRemove.length;
247
- index < length;
248
- index++
249
- ) {
250
- elementsToRemove[index][NG_REMOVED] = true;
251
- }
252
- }
253
- block.scope.$destroy();
254
- }
255
-
256
- for (index = 0; index < collectionLength; index++) {
257
- key =
258
- collection === collectionKeys ? index : collectionKeys[index];
259
- value = collection[key];
260
- block = nextBlockOrder[index];
261
-
262
- if (block.scope) {
263
- // if we have already seen this object, then we need to reuse the
264
- // associated scope/element
265
-
266
- nextNode = previousNode;
267
-
268
- // skip nodes that are already pending removal via leave animation
269
- do {
270
- nextNode = nextNode.nextSibling;
271
- } while (nextNode && nextNode[NG_REMOVED]);
272
-
273
- if (getBlockStart(block) !== nextNode) {
274
- // existing item which got moved
275
- $animate.move(getBlockNodes(block.clone), null, previousNode);
276
- }
277
- previousNode = getBlockEnd(block);
278
- updateScope(
279
- block.scope,
280
- index,
281
- valueIdentifier,
282
- value,
283
- keyIdentifier,
284
- key,
285
- collectionLength,
286
- );
287
- } else {
288
- // new item which we don't know about
289
- $transclude(
290
- /**
291
- * Clone attach function
292
- * @param {Array<NodeList>} clone
293
- * @param {import("../../core/scope/scope.js").Scope} scope
294
- */
295
-
296
- (clone, scope) => {
297
- block.scope = scope;
298
- const endNode = clone;
299
- if (hasAnimate) {
300
- $animate.enter(clone, null, previousNode);
301
- } else {
302
- // @ts-ignore
303
- previousNode.after(clone);
304
- }
305
-
306
- // @ts-ignore
307
- previousNode = endNode;
308
- // Note: We only need the first/last node of the cloned nodes.
309
- // However, we need to keep the reference to the dom wrapper as it might be changed later
310
- // by a directive with templateUrl when its template arrives.
311
- block.clone = clone;
312
- nextBlockMap[block.id] = block;
313
- updateScope(
314
- block.scope,
315
- index,
316
- valueIdentifier,
317
- value,
318
- keyIdentifier,
319
- key,
320
- collectionLength,
321
- );
322
- },
323
- );
324
- }
325
- }
326
- lastBlockMap = nextBlockMap;
327
- },
328
- isDefined($attr["lazy"]),
329
- );
330
- };
331
- },
332
- };
333
- }
@@ -1,330 +0,0 @@
1
- /\*\*
2
-
3
- - @ngdoc directive
4
- - @name ngRepeat
5
- - @restrict A
6
- -
7
- - @description
8
- - The `ngRepeat` directive instantiates a template once per item from a collection. Each template
9
- - instance gets its own scope, where the given loop variable is set to the current collection item,
10
- - and `$index` is set to the item index or key.
11
- -
12
- - Special properties are exposed on the local scope of each template instance, including:
13
- -
14
- - | Variable | Type | Details |
15
- - |-----------|-----------------|-----------------------------------------------------------------------------|
16
- - | `$index` | {@type number} | iterator offset of the repeated element (0..length-1) |
17
- - | `$first` | {@type boolean} | true if the repeated element is first in the iterator. |
18
- - | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. |
19
- - | `$last` | {@type boolean} | true if the repeated element is last in the iterator. |
20
- - | `$even` | {@type boolean} | true if the iterator position `$index` is even (otherwise false). |
21
- - | `$odd` | {@type boolean} | true if the iterator position `$index` is odd (otherwise false). |
22
- -
23
- - <div class="alert alert-info">
24
- - Creating aliases for these properties is possible with {@link ng.directive:ngInit `ngInit`}.
25
- - This may be useful when, for instance, nesting ngRepeats.
26
- - </div>
27
- -
28
- -
29
- - ## Iterating over object properties
30
- -
31
- - It is possible to get `ngRepeat` to iterate over the properties of an object using the following
32
- - syntax:
33
- -
34
- - ```js
35
-
36
- ```
37
-
38
- - <div ng-repeat="(key, value) in myObj"> ... </div>
39
- - ```
40
-
41
- ```
42
-
43
- -
44
- - However, there are a few limitations compared to array iteration:
45
- -
46
- - - The JavaScript specification does not define the order of keys
47
- - returned for an object, so AngularTS relies on the order returned by the browser
48
- - when running `for key in myObj`. Browsers generally follow the strategy of providing
49
- - keys in the order in which they were defined, although there are exceptions when keys are deleted
50
- - and reinstated. See the
51
- - [MDN page on `delete` for more info](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete#Cross-browser_notes).
52
- -
53
- - - `ngRepeat` will silently _ignore_ object keys starting with `$`, because
54
- - it's a prefix used by AngularTS for public (`$`) and private (`$$`) properties.
55
- -
56
- - - The built-in filters {@link ng.orderBy orderBy} and {@link ng.filter filter} do not work with
57
- - objects, and will throw an error if used with one.
58
- -
59
- - If you are hitting any of these limitations, the recommended workaround is to convert your object into an array
60
- - that is sorted into the order that you prefer before providing it to `ngRepeat`. You could
61
- - do this with a filter such as [toArrayFilter](http://ngmodules.org/modules/angular-toArrayFilter)
62
- - or implement a `$watch` on the object yourself.
63
- -
64
- -
65
- - ## Tracking and Duplicates
66
- -
67
- - `ngRepeat` uses {@link $rootScope.Scope#$watchCollection $watchCollection} to detect changes in
68
- - the collection. When a change happens, `ngRepeat` then makes the corresponding changes to the DOM:
69
- -
70
- - - When an item is added, a new instance of the template is added to the DOM.
71
- - - When an item is removed, its template instance is removed from the DOM.
72
- - - When items are reordered, their respective templates are reordered in the DOM.
73
- -
74
- - To minimize creation of DOM elements, `ngRepeat` uses a function
75
- - to "keep track" of all items in the collection and their corresponding DOM elements.
76
- - For example, if an item is added to the collection, `ngRepeat` will know that all other items
77
- - already have DOM elements, and will not re-render them.
78
- -
79
- - All different types of tracking functions, their syntax, and their support for duplicate
80
- - items in collections can be found in the
81
- - {@link ngRepeat#ngRepeat-arguments ngRepeat expression description}.
82
- -
83
- - <div class="alert alert-success">
84
- - **Best Practice:** If you are working with objects that have a unique identifier property, you
85
- - should track by this identifier instead of the object instance,
86
- - e.g. `item in items track by item.id`.
87
- - Should you reload your data later, `ngRepeat` will not have to rebuild the DOM elements for items
88
- - it has already rendered, even if the JavaScript objects in the collection have been substituted
89
- - for new ones. For large collections, this significantly improves rendering performance.
90
- - </div>
91
- -
92
- - ### Effects of DOM Element re-use
93
- -
94
- - When DOM elements are re-used, ngRepeat updates the scope for the element, which will
95
- - automatically update any active bindings on the template. However, other
96
- - functionality will not be updated, because the element is not re-created:
97
- -
98
- - - Directives are not re-compiled
99
- - - {@link guide/expression#one-time-binding one-time expressions} on the repeated template are not
100
- - updated if they have stabilized.
101
- -
102
- - The above affects all kinds of element re-use due to tracking, but may be especially visible
103
- - when tracking by `$index` due to the way ngRepeat re-uses elements.
104
- -
105
- - The following example shows the effects of different actions with tracking:
106
-
107
- <example module="ngRepeat" name="ngRepeat-tracking" deps="angular-animate.js" animations="true">
108
- <file name="script.js">
109
- angular.module('ngRepeat', []).controller('repeatController', function($scope) {
110
- let friends = [
111
- {name:'John', age:25},
112
- {name:'Mary', age:40},
113
- {name:'Peter', age:85}
114
- ];
115
-
116
- $scope.removeFirst = function() {
117
- $scope.friends.shift();
118
- };
119
-
120
- $scope.updateAge = function() {
121
- $scope.friends.forEach(function(el) {
122
- el.age = el.age + 5;
123
- });
124
- };
125
-
126
- $scope.copy = function() {
127
- $scope.friends = structuredClone($scope.friends);
128
- };
129
-
130
- $scope.reset = function() {
131
- $scope.friends = structuredClone(friends);
132
- };
133
-
134
- $scope.reset();
135
- });
136
-
137
- </file>
138
- <file name="index.html">
139
- <div ng-controller="repeatController">
140
- <ol>
141
- <li>When you click "Update Age", only the first list updates the age, because all others have
142
- a one-time binding on the age property. If you then click "Copy", the current friend list
143
- is copied, and now the second list updates the age, because the identity of the collection items
144
- has changed and the list must be re-rendered. The 3rd and 4th list stay the same, because all the
145
- items are already known according to their tracking functions.
146
- </li>
147
- <li>When you click "Remove First", the 4th list has the wrong age on both remaining items. This is
148
- due to tracking by $index: when the first collection item is removed, ngRepeat reuses the first
149
- DOM element for the new first collection item, and so on. Since the age property is one-time
150
- bound, the value remains from the collection item which was previously at this index.
151
- </li>
152
- </ol>
153
-
154
- <button ng-click="removeFirst()">Remove First</button>
155
- <button ng-click="updateAge()">Update Age</button>
156
- <button ng-click="copy()">Copy</button>
157
- <br><button ng-click="reset()">Reset List</button>
158
- <br>
159
- <code>track by $id(friend)</code> (default):
160
- <ul class="example-animate-container">
161
- <li class="animate-repeat" ng-repeat="friend in friends">
162
- {{friend.name}} is {{friend.age}} years old.
163
- </li>
164
- </ul>
165
- <code>track by $id(friend)</code> (default), with age one-time binding:
166
- <ul class="example-animate-container">
167
- <li class="animate-repeat" ng-repeat="friend in friends">
168
- {{friend.name}} is {{::friend.age}} years old.
169
- </li>
170
- </ul>
171
- <code>track by friend.name</code>, with age one-time binding:
172
- <ul class="example-animate-container">
173
- <li class="animate-repeat" ng-repeat="friend in friends track by friend.name">
174
- {{friend.name}} is {{::friend.age}} years old.
175
- </li>
176
- </ul>
177
- <code>track by $index</code>, with age one-time binding:
178
- <ul class="example-animate-container">
179
- <li class="animate-repeat" ng-repeat="friend in friends track by $index">
180
- {{friend.name}} is {{::friend.age}} years old.
181
- </li>
182
- </ul>
183
- </div>
184
-
185
- </file>
186
- <file name="animations.css">
187
- .example-animate-container {
188
- background:white;
189
- border:1px solid black;
190
- list-style:none;
191
- margin:0;
192
- padding:0 10px;
193
- }
194
-
195
- .animate-repeat {
196
- line-height:30px;
197
- list-style:none;
198
- box-sizing:border-box;
199
- }
200
-
201
- .animate-repeat.ng-move,
202
- .animate-repeat.ng-enter,
203
- .animate-repeat.ng-leave {
204
- transition:all linear 0.5s;
205
- }
206
-
207
- .animate-repeat.ng-leave.ng-leave-active,
208
- .animate-repeat.ng-move,
209
- .animate-repeat.ng-enter {
210
- opacity:0;
211
- max-height:0;
212
- }
213
-
214
- .animate-repeat.ng-leave,
215
- .animate-repeat.ng-move.ng-move-active,
216
- .animate-repeat.ng-enter.ng-enter-active {
217
- opacity:1;
218
- max-height:30px;
219
- }
220
-
221
- </file>
222
-
223
- </example>
224
-
225
- -
226
- - And with an input of {@type ['A','B']} for the items variable in the example above, the output will evaluate to:
227
- - ```html
228
-
229
- ```
230
-
231
- - <header>
232
- - Header A
233
- - </header>
234
- - <div class="body">
235
- - Body A
236
- - </div>
237
- - <footer>
238
- - Footer A
239
- - </footer>
240
- - <header>
241
- - Header B
242
- - </header>
243
- - <div class="body">
244
- - Body B
245
- - </div>
246
- - <footer>
247
- - Footer B
248
- - </footer>
249
- - ```
250
-
251
- ```
252
-
253
- -
254
- -
255
- - @animations
256
- - | Animation | Occurs |
257
- - |----------------------------------|-------------------------------------|
258
- - | {@link ng.$animate#enter enter} | when a new item is added to the list or when an item is revealed after a filter |
259
- - | {@link ng.$animate#leave leave} | when an item is removed from the list or when an item is filtered out |
260
- - | {@link ng.$animate#move move } | when an adjacent item is filtered out causing a reorder or when the item contents are reordered |
261
- -
262
- - See the example below for defining CSS animations with ngRepeat.
263
- -
264
- - @element ANY
265
- - @scope
266
- - @priority 1000
267
- - @param {repeat_expression} ngRepeat The expression indicating how to enumerate a collection. These
268
- - formats are currently supported:
269
- -
270
- - - `variable in expression` – where variable is the user defined loop variable and `expression`
271
- - is a scope expression giving the collection to enumerate.
272
- -
273
- - For example: `album in artist.albums`.
274
- -
275
- - - `(key, value) in expression` – where `key` and `value` can be any user defined identifiers,
276
- - and `expression` is the scope expression giving the collection to enumerate.
277
- -
278
- - For example: `(name, age) in {'adam':10, 'amalie':12}`.
279
- -
280
- - - `variable in expression track by tracking_expression` – You can also provide an optional tracking expression
281
- - which can be used to associate the objects in the collection with the DOM elements. If no tracking expression
282
- - is specified, ng-repeat associates elements by identity. It is an error to have
283
- - more than one tracking expression value resolve to the same key. (This would mean that two distinct objects are
284
- - mapped to the same DOM element, which is not possible.)
285
- -
286
- - *Default tracking: $id()*: `item in items` is equivalent to `item in items track by $id(item)`.
287
- - This implies that the DOM elements will be associated by item identity in the collection.
288
- -
289
- - The built-in `$id()` function can be used to assign a unique
290
- - `$$hashKey` property to each item in the collection. This property is then used as a key to associated DOM elements
291
- - with the corresponding item in the collection by identity. Moving the same object would move
292
- - the DOM element in the same way in the DOM.
293
- - Note that the default id function does not support duplicate primitive values (`number`, `string`),
294
- - but supports duplictae non-primitive values (`object`) that are *equal* in shape.
295
- -
296
- - *Custom Expression*: It is possible to use any AngularTS expression to compute the tracking
297
- - id, for example with a function, or using a property on the collection items.
298
- - `item in items track by item.id` is a typical pattern when the items have a unique identifier,
299
- - e.g. database id. In this case the object identity does not matter. Two objects are considered
300
- - equivalent as long as their `id` property is same.
301
- - Tracking by unique identifier is the most performant way and should be used whenever possible.
302
- -
303
- - *$index*: This special property tracks the collection items by their index, and
304
- - re-uses the DOM elements that match that index, e.g. `item in items track by $index`. This can
305
- - be used for a performance improvement if no unique identfier is available and the identity of
306
- - the collection items cannot be easily computed. It also allows duplicates.
307
- -
308
- - <div class="alert alert-warning">
309
- - <strong>Note:</strong> Re-using DOM elements can have unforeseen effects. Read the
310
- - {@link ngRepeat#tracking-and-duplicates section on tracking and duplicates} for
311
- - more info.
312
- - </div>
313
- -
314
- - <div class="alert alert-warning">
315
- - <strong>Note:</strong> the `track by` expression must come last - after any filters, and the alias expression:
316
- - `item in items | filter:searchText as results track by item.id`
317
- - </div>
318
- -
319
- - - `variable in expression as alias_expression` – You can also provide an optional alias expression which will then store the
320
- - intermediate results of the repeater after the filters have been applied. Typically this is used to render a special message
321
- - when a filter is active on the repeater, but the filtered result set is empty.
322
- -
323
- - For example: `item in items | filter:x as results` will store the fragment of the repeated items as `results`, but only after
324
- - the items have been processed through the filter.
325
- -
326
- - Please note that `as [variable name]` is not an operator but rather a part of ngRepeat
327
- - micro-syntax so it can be used only after all filters (and not as operator, inside an expression).
328
- -
329
- - For example: `item in items | filter : x | orderBy : order | limitTo : limit as results track by item.id` .
330
- - \*/