@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,719 +0,0 @@
1
- import { Angular } from "../angular.js";
2
- import { createInjector } from "../core/di/injector.js";
3
- import { isString, includes } from "../shared/utils.js";
4
- import { createElementFromHTML } from "../shared/dom.js";
5
-
6
- describe("Filter: filter", () => {
7
- let filter;
8
-
9
- beforeEach(() => {
10
- window.angular = new Angular();
11
- window.angular.module("myModule", ["ng"]);
12
- const injector = createInjector(["myModule"]);
13
- filter = injector.get("$filter")("filter");
14
- });
15
-
16
- it("should filter by string", () => {
17
- const items = ["MIsKO", { name: "shyam" }, ["adam"], 1234];
18
- expect(filter(items, "").length).toBe(4);
19
- expect(filter(items, undefined).length).toBe(4);
20
-
21
- expect(filter(items, "iSk").length).toBe(1);
22
- expect(filter(items, "isk")[0]).toBe("MIsKO");
23
-
24
- expect(filter(items, "yam").length).toBe(1);
25
- expect(filter(items, "yam")[0]).toEqual(items[1]);
26
-
27
- expect(filter(items, "da").length).toBe(1);
28
- expect(filter(items, "da")[0]).toEqual(items[2]);
29
-
30
- expect(filter(items, "34").length).toBe(1);
31
- expect(filter(items, "34")[0]).toBe(1234);
32
-
33
- expect(filter(items, "I don't exist").length).toBe(0);
34
- });
35
-
36
- it("should not read $ properties", () => {
37
- expect("".charAt(0)).toBe(""); // assumption
38
-
39
- const items = [{ $name: "misko" }];
40
- expect(filter(items, "misko").length).toBe(0);
41
- });
42
-
43
- it("should filter on specific property", () => {
44
- const items = [
45
- { ignore: "a", name: "a" },
46
- { ignore: "a", name: "abc" },
47
- ];
48
- expect(filter(items, {}).length).toBe(2);
49
-
50
- expect(filter(items, { name: "a" }).length).toBe(2);
51
-
52
- expect(filter(items, { name: "b" }).length).toBe(1);
53
- expect(filter(items, { name: "b" })[0].name).toBe("abc");
54
- });
55
-
56
- it("should ignore undefined properties of the expression object", () => {
57
- let items = [{ name: "a" }, { name: "abc" }];
58
- expect(filter(items, { name: undefined })).toEqual([
59
- { name: "a" },
60
- { name: "abc" },
61
- ]);
62
-
63
- items = [
64
- { first: "misko" },
65
- { deep: { first: "misko" } },
66
- { deep: { last: "hevery" } },
67
- ];
68
- expect(filter(items, { deep: { first: undefined } })).toEqual([
69
- { deep: { first: "misko" } },
70
- { deep: { last: "hevery" } },
71
- ]);
72
- });
73
-
74
- it("should take function as predicate", () => {
75
- const items = [{ name: "a" }, { name: "abc", done: true }];
76
- expect(filter(items, (i) => i.done).length).toBe(1);
77
- });
78
-
79
- it("should pass the index to a function predicate", () => {
80
- const items = [0, 1, 2, 3];
81
-
82
- const result = filter(items, (value, index) => index % 2 === 0);
83
-
84
- expect(result).toEqual([0, 2]);
85
- });
86
-
87
- it("should match primitive array values against top-level `$` property in object expression", () => {
88
- let items;
89
- let expr;
90
-
91
- items = ["something", "something else", "another thing"];
92
- expr = { $: "some" };
93
- expect(filter(items, expr).length).toBe(2);
94
- expect(filter(items, expr)).toEqual([items[0], items[1]]);
95
-
96
- items = [
97
- { val: "something" },
98
- { val: "something else" },
99
- { val: "another thing" },
100
- ];
101
- expr = { $: "some" };
102
- expect(filter(items, expr).length).toBe(2);
103
- expect(filter(items, expr)).toEqual([items[0], items[1]]);
104
-
105
- items = [123, 456, 789];
106
- expr = { $: 1 };
107
- expect(filter(items, expr).length).toBe(1);
108
- expect(filter(items, expr)).toEqual([items[0]]);
109
-
110
- items = [true, false, "true"];
111
- expr = { $: true, ignored: "false" };
112
- expect(filter(items, expr).length).toBe(2);
113
- expect(filter(items, expr)).toEqual([items[0], items[2]]);
114
- });
115
-
116
- it("should match items with array properties containing one or more matching items", () => {
117
- let items;
118
- let expr;
119
-
120
- items = [
121
- { tags: ["web", "html", "css", "js"] },
122
- { tags: ["hybrid", "html", "css", "js", "ios", "android"] },
123
- { tags: ["mobile", "ios", "android"] },
124
- ];
125
- expr = { tags: "html" };
126
- expect(filter(items, expr).length).toBe(2);
127
- expect(filter(items, expr)).toEqual([items[0], items[1]]);
128
-
129
- items = [
130
- { nums: [1, 345, 12] },
131
- { nums: [0, 46, 78] },
132
- { nums: [123, 4, 67] },
133
- ];
134
- expr = { nums: 12 };
135
- expect(filter(items, expr).length).toBe(2);
136
- expect(filter(items, expr)).toEqual([items[0], items[2]]);
137
-
138
- items = [
139
- { customers: [{ name: "John" }, { name: "Elena" }, { name: "Bill" }] },
140
- { customers: [{ name: "Sam" }, { name: "Klara" }, { name: "Bill" }] },
141
- { customers: [{ name: "Molli" }, { name: "Elena" }, { name: "Lora" }] },
142
- ];
143
- expr = { customers: { name: "Bill" } };
144
- expect(filter(items, expr).length).toBe(2);
145
- expect(filter(items, expr)).toEqual([items[0], items[1]]);
146
- });
147
-
148
- it("should take object as predicate", () => {
149
- const items = [
150
- { first: "misko", last: "hevery" },
151
- { first: "adam", last: "abrons" },
152
- ];
153
-
154
- expect(filter(items, { first: "", last: "" }).length).toBe(2);
155
- expect(filter(items, { first: "", last: "hevery" }).length).toBe(1);
156
- expect(filter(items, { first: "adam", last: "hevery" }).length).toBe(0);
157
- expect(filter(items, { first: "misko", last: "hevery" }).length).toBe(1);
158
- expect(filter(items, { first: "misko", last: "hevery" })[0]).toEqual(
159
- items[0],
160
- );
161
- });
162
-
163
- it("should support predicate object with dots in the name", () => {
164
- const items = [
165
- { "first.name": "misko", "last.name": "hevery" },
166
- { "first.name": "adam", "last.name": "abrons" },
167
- ];
168
-
169
- expect(filter(items, { "first.name": "", "last.name": "" }).length).toBe(2);
170
- expect(filter(items, { "first.name": "misko", "last.name": "" })).toEqual([
171
- items[0],
172
- ]);
173
- });
174
-
175
- it("should support deep predicate objects", () => {
176
- const items = [
177
- { person: { name: "John" } },
178
- { person: { name: "Rita" } },
179
- { person: { name: "Billy" } },
180
- { person: { name: "Joan" } },
181
- ];
182
- expect(filter(items, { person: { name: "Jo" } }).length).toBe(2);
183
- expect(filter(items, { person: { name: "Jo" } })).toEqual([
184
- { person: { name: "John" } },
185
- { person: { name: "Joan" } },
186
- ]);
187
- });
188
-
189
- it("should support deep expression objects with multiple properties", () => {
190
- const items = [
191
- { person: { name: "Annet", email: "annet@example.com" } },
192
- { person: { name: "Billy", email: "me@billy.com" } },
193
- { person: { name: "Joan", email: "joan@example.net" } },
194
- { person: { name: "John", email: "john@example.com" } },
195
- { person: { name: "Rita", email: "rita@example.com" } },
196
- ];
197
- const expr = { person: { name: "Jo", email: "!example.com" } };
198
-
199
- expect(filter(items, expr).length).toBe(1);
200
- expect(filter(items, expr)).toEqual([items[2]]);
201
- });
202
-
203
- it('should match any properties for given "$" property', () => {
204
- const items = [
205
- { first: "tom", last: "hevery" },
206
- { first: "adam", last: "hevery", alias: "tom", done: false },
207
- { first: "john", last: "clark", middle: "tommy" },
208
- ];
209
- expect(filter(items, { $: "tom" }).length).toBe(3);
210
- expect(filter(items, { $: "a" }).length).toBe(2);
211
- expect(filter(items, { $: false }).length).toBe(1);
212
- expect(filter(items, { $: 10 }).length).toBe(0);
213
- expect(filter(items, { $: "hevery" })[0]).toEqual(items[0]);
214
- });
215
-
216
- it('should allow specifying the special "match-all" property', () => {
217
- const items = [{ foo: "baz" }, { bar: "baz" }, { "%": "no dollar" }];
218
-
219
- expect(filter(items, { $: "baz" }).length).toBe(2);
220
- expect(filter(items, { $: "baz" }, null, "%").length).toBe(0);
221
-
222
- expect(filter(items, { "%": "dollar" }).length).toBe(1);
223
- expect(filter(items, { $: "dollar" }).length).toBe(1);
224
- expect(filter(items, { $: "dollar" }, null, "%").length).toBe(0);
225
-
226
- expect(filter(items, { "%": "baz" }).length).toBe(0);
227
- expect(filter(items, { "%": "baz" }, null, "%").length).toBe(2);
228
- });
229
-
230
- it('should match any properties in the nested object for given deep "$" property', () => {
231
- const items = [
232
- { person: { name: "Annet", email: "annet@example.com" } },
233
- { person: { name: "Billy", email: "me@billy.com" } },
234
- { person: { name: "Joan", email: "joan@example.net" } },
235
- { person: { name: "John", email: "john@example.com" } },
236
- { person: { name: "Rita", email: "rita@example.com" } },
237
- ];
238
- const expr = { person: { $: "net" } };
239
-
240
- expect(filter(items, expr).length).toBe(2);
241
- expect(filter(items, expr)).toEqual([items[0], items[2]]);
242
- });
243
-
244
- it("should match named properties only against named properties on the same level", () => {
245
- const expr = { person: { name: "John" } };
246
- const items = [
247
- { person: "John" }, // No match (1 level higher)
248
- { person: { name: "John" } }, // Match (same level)
249
- { person: { name: { first: "John", last: "Doe" } } },
250
- ]; // No match (1 level deeper)
251
-
252
- expect(filter(items, expr).length).toBe(1);
253
- expect(filter(items, expr)).toEqual([items[1]]);
254
- });
255
-
256
- it('should match any properties on same or deeper level for given "$" property', () => {
257
- const items = [
258
- { level1: "test", foo1: "bar1" },
259
- { level1: { level2: "test", foo2: "bar2" }, foo1: "bar1" },
260
- {
261
- level1: { level2: { level3: "test", foo3: "bar3" }, foo2: "bar2" },
262
- foo1: "bar1",
263
- },
264
- ];
265
-
266
- expect(filter(items, { $: "ES" }).length).toBe(3);
267
- expect(filter(items, { $: "ES" })).toEqual([items[0], items[1], items[2]]);
268
-
269
- expect(filter(items, { level1: { $: "ES" } }).length).toBe(2);
270
- expect(filter(items, { level1: { $: "ES" } })).toEqual([
271
- items[1],
272
- items[2],
273
- ]);
274
-
275
- expect(filter(items, { level1: { level2: { $: "ES" } } }).length).toBe(1);
276
- expect(filter(items, { level1: { level2: { $: "ES" } } })).toEqual([
277
- items[2],
278
- ]);
279
- });
280
-
281
- it('should respect the nesting level of "$"', () => {
282
- const items = [
283
- {
284
- supervisor: "me",
285
- person: { name: "Annet", email: "annet@example.com" },
286
- },
287
- { supervisor: "me", person: { name: "Billy", email: "me@billy.com" } },
288
- { supervisor: "me", person: { name: "Joan", email: "joan@example.net" } },
289
- { supervisor: "me", person: { name: "John", email: "john@example.com" } },
290
- { supervisor: "me", person: { name: "Rita", email: "rita@example.com" } },
291
- ];
292
- const expr = { $: { $: "me" } };
293
-
294
- expect(filter(items, expr).length).toBe(1);
295
- expect(filter(items, expr)).toEqual([items[1]]);
296
- });
297
-
298
- it("should support boolean properties", () => {
299
- const items = [
300
- { name: "tom", current: true },
301
- { name: "demi", current: false },
302
- { name: "sofia" },
303
- ];
304
-
305
- expect(filter(items, { current: true }).length).toBe(1);
306
- expect(filter(items, { current: true })[0].name).toBe("tom");
307
- expect(filter(items, { current: false }).length).toBe(1);
308
- expect(filter(items, { current: false })[0].name).toBe("demi");
309
- });
310
-
311
- it("should support negation operator", () => {
312
- const items = ["misko", "adam"];
313
-
314
- expect(filter(items, "!isk").length).toBe(1);
315
- expect(filter(items, "!isk")[0]).toEqual(items[1]);
316
- });
317
-
318
- it("should ignore function properties in items", () => {
319
- // Own function properties
320
- let items = [
321
- { text: "hello", func: () => {} },
322
- { text: "goodbye" },
323
- { text: "kittens" },
324
- { text: "puppies" },
325
- ];
326
- const expr = { text: "hello" };
327
-
328
- expect(filter(items, expr).length).toBe(1);
329
- expect(filter(items, expr)[0]).toBe(items[0]);
330
- expect(filter(items, expr, true).length).toBe(1);
331
- expect(filter(items, expr, true)[0]).toBe(items[0]);
332
-
333
- // Inherited function properties
334
- class Item {
335
- constructor(text) {
336
- this.text = text;
337
- }
338
- func() {}
339
- }
340
-
341
- items = [
342
- new Item("hello"),
343
- new Item("goodbye"),
344
- new Item("kittens"),
345
- new Item("puppies"),
346
- ];
347
-
348
- expect(filter(items, expr).length).toBe(1);
349
- expect(filter(items, expr)[0]).toBe(items[0]);
350
- expect(filter(items, expr, true).length).toBe(1);
351
- expect(filter(items, expr, true)[0]).toBe(items[0]);
352
- });
353
-
354
- it("should ignore function properties in expression", () => {
355
- // Own function properties
356
- const items = [
357
- { text: "hello" },
358
- { text: "goodbye" },
359
- { text: "kittens" },
360
- { text: "puppies" },
361
- ];
362
- let expr = { text: "hello", func: () => {} };
363
-
364
- expect(filter(items, expr).length).toBe(1);
365
- expect(filter(items, expr)[0]).toBe(items[0]);
366
- expect(filter(items, expr, true).length).toBe(1);
367
- expect(filter(items, expr, true)[0]).toBe(items[0]);
368
-
369
- // Inherited function properties
370
- class Expr {
371
- constructor(text) {
372
- this.text = text;
373
- }
374
- func() {}
375
- }
376
-
377
- expr = new Expr("hello");
378
-
379
- expect(filter(items, expr).length).toBe(1);
380
- expect(filter(items, expr)[0]).toBe(items[0]);
381
- expect(filter(items, expr, true).length).toBe(1);
382
- expect(filter(items, expr, true)[0]).toBe(items[0]);
383
- });
384
-
385
- it("should consider inherited properties in items", () => {
386
- class Item {
387
- constructor(text) {
388
- this.text = text;
389
- }
390
- }
391
- Item.prototype.doubleL = "maybe";
392
-
393
- const items = [
394
- new Item("hello"),
395
- new Item("goodbye"),
396
- new Item("kittens"),
397
- new Item("puppies"),
398
- ];
399
- let expr = { text: "hello", doubleL: "perhaps" };
400
-
401
- expect(filter(items, expr).length).toBe(0);
402
- expect(filter(items, expr, true).length).toBe(0);
403
-
404
- expr = { text: "hello", doubleL: "maybe" };
405
-
406
- expect(filter(items, expr).length).toBe(1);
407
- expect(filter(items, expr)[0]).toBe(items[0]);
408
- expect(filter(items, expr, true).length).toBe(1);
409
- expect(filter(items, expr, true)[0]).toBe(items[0]);
410
- });
411
-
412
- it("should consider inherited properties in expression", () => {
413
- class Expr {
414
- constructor(text) {
415
- this.text = text;
416
- }
417
- }
418
- Expr.prototype.doubleL = true;
419
-
420
- const items = [
421
- { text: "hello", doubleL: true },
422
- { text: "goodbye" },
423
- { text: "kittens" },
424
- { text: "puppies" },
425
- ];
426
- let expr = new Expr("e");
427
-
428
- expect(filter(items, expr).length).toBe(1);
429
- expect(filter(items, expr)[0]).toBe(items[0]);
430
-
431
- expr = new Expr("hello");
432
-
433
- expect(filter(items, expr, true).length).toBe(1);
434
- expect(filter(items, expr)[0]).toBe(items[0]);
435
- });
436
-
437
- it("should not be affected by `Object.prototype` when using a string expression", () => {
438
- Object.prototype.someProp = "oo";
439
-
440
- const items = [
441
- Object.create(null),
442
- Object.create(null),
443
- Object.create(null),
444
- Object.create(null),
445
- ];
446
- items[0].someProp = "hello";
447
- items[1].someProp = "goodbye";
448
- items[2].someProp = "kittens";
449
- items[3].someProp = "puppies";
450
-
451
- // Affected by `Object.prototype`
452
- expect(filter(items, {}).length).toBe(1);
453
- expect(filter(items, {})[0]).toBe(items[1]);
454
-
455
- expect(filter(items, { $: "ll" }).length).toBe(0);
456
-
457
- // Not affected by `Object.prototype`
458
- expect(filter(items, "ll").length).toBe(1);
459
- expect(filter(items, "ll")[0]).toBe(items[0]);
460
-
461
- delete Object.prototype.someProp;
462
- });
463
-
464
- it("should throw an error when is not used with an array", () => {
465
- let item = { not: "array" };
466
- expect(() => {
467
- filter(item, {});
468
- }).toThrowError(/notarray/);
469
-
470
- item = Object.create(null);
471
- expect(() => {
472
- filter(item, {});
473
- }).toThrowError(/notarray/);
474
-
475
- item = {
476
- toString: null,
477
- valueOf: null,
478
- };
479
- expect(() => {
480
- filter(item, {});
481
- }).toThrowError(/notarray/);
482
- });
483
-
484
- it("should not throw an error if used with an array like object", () => {
485
- function getArguments() {
486
- return arguments;
487
- }
488
- const argsObj = getArguments(
489
- { name: "Misko" },
490
- { name: "Igor" },
491
- { name: "Brad" },
492
- );
493
-
494
- const nodeList = createElementFromHTML(
495
- "<p><span>Misko</span><span>Igor</span><span>Brad</span></p>",
496
- ).childNodes;
497
- function nodeFilterPredicate(node) {
498
- return node.innerHTML.indexOf("I") !== -1;
499
- }
500
-
501
- expect(filter(argsObj, "i").length).toBe(2);
502
- expect(filter("abc", "b").length).toBe(1);
503
- expect(filter(nodeList, nodeFilterPredicate).length).toBe(1);
504
- });
505
-
506
- it("should return undefined when the array is undefined", () => {
507
- expect(filter(undefined, {})).toBeUndefined();
508
- });
509
-
510
- it("should return null when the value of the array is null", () => {
511
- const item = null;
512
- expect(filter(item, {})).toBe(null);
513
- });
514
-
515
- it("should not throw an error if property is null when comparing object", () => {
516
- const items = [
517
- { office: 1, people: { name: "john" } },
518
- { office: 2, people: { name: "jane" } },
519
- { office: 3, people: null },
520
- ];
521
- let f = {};
522
- expect(filter(items, f).length).toBe(3);
523
-
524
- f = { people: null };
525
- expect(filter(items, f).length).toBe(1);
526
-
527
- f = { people: {} };
528
- expect(filter(items, f).length).toBe(2);
529
-
530
- f = { people: { name: "" } };
531
- expect(filter(items, f).length).toBe(2);
532
-
533
- f = { people: { name: "john" } };
534
- expect(filter(items, f).length).toBe(1);
535
-
536
- f = { people: { name: "j" } };
537
- expect(filter(items, f).length).toBe(2);
538
- });
539
-
540
- it("should match `null` against `null` only", () => {
541
- const items = [
542
- { value: null },
543
- { value: undefined },
544
- { value: true },
545
- { value: false },
546
- { value: NaN },
547
- { value: 42 },
548
- { value: "null" },
549
- { value: "test" },
550
- { value: {} },
551
- { value: new Date() },
552
- ];
553
- let flt;
554
-
555
- flt = null;
556
- expect(filter(items, flt).length).toBe(1);
557
- expect(filter(items, flt)[0]).toBe(items[0]);
558
-
559
- flt = { value: null };
560
- expect(filter(items, flt).length).toBe(1);
561
- expect(filter(items, flt)[0]).toBe(items[0]);
562
-
563
- flt = { value: undefined };
564
- expect(filter(items, flt).length).toBe(items.length);
565
-
566
- flt = { value: NaN };
567
- expect(includes(filter(items, flt), items[0])).toBeFalsy();
568
-
569
- flt = { value: false };
570
- expect(includes(filter(items, flt), items[0])).toBeFalsy();
571
-
572
- flt = "";
573
- expect(includes(filter(items, flt), items[0])).toBeFalsy();
574
-
575
- flt = { value: "null" };
576
- expect(includes(filter(items, flt), items[0])).toBeFalsy();
577
- });
578
-
579
- describe("should support comparator", () => {
580
- it("not convert `null` or `undefined` to string in non-strict comparison", () => {
581
- const items = [{ value: null }, { value: undefined }];
582
- const flt = { value: "u" };
583
-
584
- expect(filter(items, flt).length).toBe(0);
585
- });
586
-
587
- it("not consider objects without a custom `toString` in non-strict comparison", () => {
588
- const items = [{ test: {} }];
589
- const expr = "[object";
590
- expect(filter(items, expr).length).toBe(0);
591
- });
592
-
593
- it("should consider objects with custom `toString()` in non-strict comparison", () => {
594
- let obj = new Date(1970, 1);
595
- let items = [{ test: obj }];
596
- expect(filter(items, "1970").length).toBe(1);
597
- expect(filter(items, 1970).length).toBe(1);
598
-
599
- obj = {
600
- toString() {
601
- return "custom";
602
- },
603
- };
604
- items = [{ test: obj }];
605
- expect(filter(items, "custom").length).toBe(1);
606
- });
607
-
608
- it("should cope with objects that have no `toString()` in non-strict comparison", () => {
609
- const obj = Object.create(null);
610
- const items = [{ test: obj }];
611
- expect(() => {
612
- filter(items, "foo");
613
- }).not.toThrow();
614
- expect(filter(items, "foo").length).toBe(0);
615
- });
616
-
617
- it("should cope with objects where `toString` is not a function in non-strict comparison", () => {
618
- const obj = {
619
- toString: "moo",
620
- };
621
- const items = [{ test: obj }];
622
- expect(() => {
623
- filter(items, "foo");
624
- }).not.toThrow();
625
- expect(filter(items, "foo").length).toBe(0);
626
- });
627
-
628
- it("as equality when true", () => {
629
- let items = ["misko", "adam", "adamson"];
630
- let expr = "adam";
631
- expect(filter(items, expr, true)).toEqual([items[1]]);
632
- expect(filter(items, expr, false)).toEqual([items[1], items[2]]);
633
-
634
- items = [
635
- { key: "value1", nonkey: 1 },
636
- { key: "value2", nonkey: 2 },
637
- { key: "value12", nonkey: 3 },
638
- { key: "value1", nonkey: 4 },
639
- { key: "Value1", nonkey: 5 },
640
- ];
641
- expr = { key: "value1" };
642
- expect(filter(items, expr, true)).toEqual([items[0], items[3]]);
643
-
644
- items = [
645
- { key: 1, nonkey: 1 },
646
- { key: 2, nonkey: 2 },
647
- { key: 12, nonkey: 3 },
648
- { key: 1, nonkey: 4 },
649
- ];
650
- expr = { key: 1 };
651
- expect(filter(items, expr, true)).toEqual([items[0], items[3]]);
652
-
653
- expr = 12;
654
- expect(filter(items, expr, true)).toEqual([items[2]]);
655
- });
656
-
657
- it("and use the function given to compare values", () => {
658
- const items = [
659
- { key: 1, nonkey: 1 },
660
- { key: 2, nonkey: 2 },
661
- { key: 12, nonkey: 3 },
662
- { key: 1, nonkey: 14 },
663
- ];
664
- let expr = { key: 10 };
665
- const comparator = function (obj, value) {
666
- return obj > value;
667
- };
668
- expect(filter(items, expr, comparator)).toEqual([items[2]]);
669
-
670
- expr = 10;
671
- expect(filter(items, expr, comparator)).toEqual([items[2], items[3]]);
672
- });
673
-
674
- it("and use it correctly with deep expression objects", () => {
675
- const items = [
676
- { id: 0, details: { email: "admin@example.com", role: "admin" } },
677
- { id: 1, details: { email: "user1@example.com", role: "user" } },
678
- { id: 2, details: { email: "user2@example.com", role: "user" } },
679
- ];
680
- let expr;
681
- let comp;
682
-
683
- expr = { details: { email: "user@example.com", role: "adm" } };
684
- expect(filter(items, expr)).toEqual([]);
685
-
686
- expr = { details: { email: "admin@example.com", role: "adm" } };
687
- expect(filter(items, expr)).toEqual([items[0]]);
688
-
689
- expr = { details: { email: "admin@example.com", role: "adm" } };
690
- expect(filter(items, expr, true)).toEqual([]);
691
-
692
- expr = { details: { email: "admin@example.com", role: "admin" } };
693
- expect(filter(items, expr, true)).toEqual([items[0]]);
694
-
695
- expr = { details: { email: "user", role: "us" } };
696
- expect(filter(items, expr)).toEqual([items[1], items[2]]);
697
-
698
- expr = { id: 0, details: { email: "user", role: "us" } };
699
- expect(filter(items, expr)).toEqual([]);
700
-
701
- expr = { id: 1, details: { email: "user", role: "us" } };
702
- expect(filter(items, expr)).toEqual([items[1]]);
703
-
704
- comp = function (actual, expected) {
705
- return (
706
- isString(actual) &&
707
- isString(expected) &&
708
- actual.indexOf(expected) === 0
709
- );
710
- };
711
-
712
- expr = { details: { email: "admin@example.com", role: "min" } };
713
- expect(filter(items, expr, comp)).toEqual([]);
714
-
715
- expr = { details: { email: "admin@example.com", role: "adm" } };
716
- expect(filter(items, expr, comp)).toEqual([items[0]]);
717
- });
718
- });
719
- });