@angular-wave/angular.ts 0.9.4 → 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.
- package/@types/index.d.ts +1 -84
- package/{src/index.ts → @types/namespace.d.ts} +4 -24
- package/@types/router/template-factory.d.ts +2 -2
- package/dist/angular-ts.esm.js +3 -3
- package/dist/angular-ts.umd.js +3 -3
- package/dist/angular-ts.umd.min.js +1 -1
- package/package.json +8 -1
- package/.github/workflows/ci.yml +0 -104
- package/.github/workflows/gh-pages.yml +0 -75
- package/.husky/pre-commit +0 -5
- package/.prettierignore +0 -9
- package/CHANGELOG.md +0 -17667
- package/CODE_OF_CONDUCT.md +0 -3
- package/CONTRIBUTING.md +0 -247
- package/DEVELOPERS.md +0 -499
- package/Makefile +0 -60
- package/RELEASE.md +0 -86
- package/TRIAGING.md +0 -127
- package/docs/.cspell.yml +0 -8
- package/docs/.github/dependabot.yml +0 -14
- package/docs/.nvmrc +0 -1
- package/docs/CONTRIBUTING.md +0 -28
- package/docs/Dockerfile +0 -4
- package/docs/LICENSE +0 -201
- package/docs/README.md +0 -217
- package/docs/assets/icons/logo.svg +0 -1
- package/docs/assets/scss/_variables_project.scss +0 -12
- package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
- package/docs/assets/scss/index.scss +0 -48
- package/docs/config.yaml +0 -15
- package/docs/content/_index.md +0 -28
- package/docs/content/docs/_index.md +0 -61
- package/docs/content/docs/directive/_index.md +0 -4
- package/docs/content/docs/directive/app.md +0 -11
- package/docs/content/docs/directive/aria.md +0 -0
- package/docs/content/docs/directive/bind.md +0 -72
- package/docs/content/docs/directive/blur.md +0 -38
- package/docs/content/docs/directive/channel.md +0 -37
- package/docs/content/docs/directive/class-even.md +0 -47
- package/docs/content/docs/directive/class-odd.md +0 -48
- package/docs/content/docs/directive/class.md +0 -64
- package/docs/content/docs/directive/click.md +0 -41
- package/docs/content/docs/directive/cloak.md +0 -74
- package/docs/content/docs/directive/copy.md +0 -38
- package/docs/content/docs/directive/cut.md +0 -40
- package/docs/content/docs/directive/dblclick.md +0 -41
- package/docs/content/docs/directive/focus.md +0 -38
- package/docs/content/docs/directive/get.md +0 -203
- package/docs/content/docs/directive/include.md +0 -7
- package/docs/content/docs/directive/keydown.md +0 -38
- package/docs/content/docs/directive/keyup.md +0 -38
- package/docs/content/docs/directive/load.md +0 -43
- package/docs/content/docs/directive/mousedown.md +0 -38
- package/docs/content/docs/directive/mouseenter.md +0 -38
- package/docs/content/docs/directive/mouseleave.md +0 -38
- package/docs/content/docs/directive/mousemove.md +0 -38
- package/docs/content/docs/directive/mouseout.md +0 -38
- package/docs/content/docs/directive/mouseover.md +0 -38
- package/docs/content/docs/directive/mouseup.md +0 -38
- package/docs/content/docs/directive/non-bindable.md +0 -28
- package/docs/content/docs/filter/_index.md +0 -4
- package/docs/content/docs/filter/filter.md +0 -78
- package/docs/content/docs/filter/json.md +0 -19
- package/docs/content/docs/filter/limit-to.md +0 -30
- package/docs/content/docs/filter/order-by.md +0 -123
- package/docs/content/docs/provider/_index.md +0 -4
- package/docs/content/docs/provider/eventBusProvider.md +0 -35
- package/docs/content/docs/provider/locationProvider.md +0 -26
- package/docs/content/docs/provider/logProvider.md +0 -59
- package/docs/content/docs/provider/sceProvider.md +0 -194
- package/docs/content/docs/provider/templateCacheProvider.md +0 -100
- package/docs/content/docs/provider/templateRequestProvider.md +0 -5
- package/docs/content/docs/service/_index.md +0 -4
- package/docs/content/docs/service/compile.md +0 -5
- package/docs/content/docs/service/controller.md +0 -5
- package/docs/content/docs/service/eventBus.md +0 -56
- package/docs/content/docs/service/http.md +0 -161
- package/docs/content/docs/service/interpolation.md +0 -5
- package/docs/content/docs/service/location.md +0 -57
- package/docs/content/docs/service/log.md +0 -113
- package/docs/content/docs/service/parse.md +0 -5
- package/docs/content/docs/service/rootElement.md +0 -5
- package/docs/content/docs/service/rootScope.md +0 -5
- package/docs/content/docs/service/sce.md +0 -194
- package/docs/content/docs/service/templateCache.md +0 -64
- package/docs/content/docs/service/templateRequest.md +0 -5
- package/docs/content/docs/service/url.md +0 -5
- package/docs/content/docs/values/_index.md +0 -4
- package/docs/content/docs/values/document.md +0 -29
- package/docs/content/docs/values/window.md +0 -29
- package/docs/docker-compose.yaml +0 -12
- package/docs/docsy.work +0 -5
- package/docs/docsy.work.sum +0 -0
- package/docs/go.mod +0 -5
- package/docs/go.sum +0 -6
- package/docs/hugo-disabled.toml +0 -220
- package/docs/hugo.yaml +0 -200
- package/docs/layouts/404.html +0 -13
- package/docs/layouts/_markup/render-heading.html +0 -1
- package/docs/layouts/partials/hooks/head-end.html +0 -3
- package/docs/layouts/shortcodes/showcss.html +0 -2
- package/docs/layouts/shortcodes/showhtml.html +0 -2
- package/docs/layouts/shortcodes/showjs.html +0 -2
- package/docs/layouts/shortcodes/showraw.html +0 -1
- package/docs/layouts/shortcodes/version.html +0 -1
- package/docs/package-lock.json +0 -2293
- package/docs/package.json +0 -53
- package/docs/static/examples/counter/counter-test.html +0 -13
- package/docs/static/examples/counter/counter.html +0 -5
- package/docs/static/examples/counter/counter.test.js +0 -28
- package/docs/static/examples/document/document.html +0 -3
- package/docs/static/examples/eventbus/eventbus-test.html +0 -15
- package/docs/static/examples/eventbus/eventbus.html +0 -13
- package/docs/static/examples/eventbus/eventbus.js +0 -15
- package/docs/static/examples/eventbus/eventbus.test.js +0 -19
- package/docs/static/examples/i18n/i18n.html +0 -77
- package/docs/static/examples/ng-bind/ng-bind.html +0 -9
- package/docs/static/examples/ng-blur/ng-blur.html +0 -9
- package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
- package/docs/static/examples/ng-channel/ng-channel.html +0 -24
- package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
- package/docs/static/examples/ng-class/ng-class.html +0 -71
- package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
- package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
- package/docs/static/examples/ng-click/ng-click.html +0 -6
- package/docs/static/examples/ng-copy/ng-copy.html +0 -6
- package/docs/static/examples/ng-cut/ng-cut.html +0 -6
- package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
- package/docs/static/examples/ng-focus/ng-focus.html +0 -9
- package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
- package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
- package/docs/static/examples/ng-load/ng-load.html +0 -8
- package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
- package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
- package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
- package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
- package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
- package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
- package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
- package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
- package/docs/static/examples/window/window.html +0 -4
- package/docs/static/typedoc/.nojekyll +0 -1
- package/docs/static/typedoc/assets/hierarchy.js +0 -1
- package/docs/static/typedoc/assets/highlight.css +0 -29
- package/docs/static/typedoc/assets/icons.js +0 -18
- package/docs/static/typedoc/assets/icons.svg +0 -1
- package/docs/static/typedoc/assets/main.js +0 -60
- package/docs/static/typedoc/assets/navigation.js +0 -1
- package/docs/static/typedoc/assets/search.js +0 -1
- package/docs/static/typedoc/assets/style.css +0 -1633
- package/docs/static/typedoc/classes/Location.html +0 -55
- package/docs/static/typedoc/classes/LocationProvider.html +0 -20
- package/docs/static/typedoc/classes/LogProvider.html +0 -6
- package/docs/static/typedoc/classes/PubSub.html +0 -71
- package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
- package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
- package/docs/static/typedoc/hierarchy.html +0 -1
- package/docs/static/typedoc/index.html +0 -1
- package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
- package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
- package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
- package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
- package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
- package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
- package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpService.html +0 -38
- package/docs/static/typedoc/interfaces/LogService.html +0 -12
- package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
- package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
- package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
- package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
- package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
- package/docs/static/typedoc/types/HttpParams.html +0 -2
- package/docs/static/typedoc/types/HttpPromise.html +0 -1
- package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
- package/docs/static/typedoc/types/LogCall.html +0 -2
- package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
- package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
- package/docs/static/typedoc/variables/EventBus.html +0 -1
- package/docs/static/version.js +0 -13
- package/docs/test-results/.last-run.json +0 -4
- package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
- package/eslint.config.js +0 -26
- package/images/android-chrome-192x192.png +0 -0
- package/images/android-chrome-512x512.png +0 -0
- package/images/apple-touch-icon.png +0 -0
- package/images/favicon-16x16.png +0 -0
- package/images/favicon-32x32.png +0 -0
- package/images/favicon.ico +0 -0
- package/images/site.webmanifest +0 -19
- package/index.html +0 -86
- package/legacy.d.ts +0 -1678
- package/playwright.config.ts +0 -81
- package/public/jasmine/boot0.js +0 -66
- package/public/jasmine/boot1.js +0 -134
- package/public/jasmine/jasmine-html.js +0 -970
- package/public/jasmine/jasmine.css +0 -323
- package/public/jasmine/jasmine.js +0 -11406
- package/public/public/README.md +0 -1
- package/public/public/circle.html +0 -1
- package/public/public/jasmine-helper.css +0 -9
- package/public/public/my_child_directive.html +0 -1
- package/public/public/my_directive.html +0 -1
- package/public/public/my_other_directive.html +0 -1
- package/public/public/test.html +0 -1
- package/rollup.config.js +0 -51
- package/src/angular.js +0 -286
- package/src/angular.spec.js +0 -1191
- package/src/animations/animate-cache.js +0 -80
- package/src/animations/animate-children-directive.js +0 -32
- package/src/animations/animate-children-directive.md +0 -80
- package/src/animations/animate-css-driver.js +0 -284
- package/src/animations/animate-css.html +0 -58
- package/src/animations/animate-css.js +0 -915
- package/src/animations/animate-css.md +0 -263
- package/src/animations/animate-js-driver.js +0 -60
- package/src/animations/animate-js.html +0 -47
- package/src/animations/animate-js.js +0 -371
- package/src/animations/animate-queue.js +0 -859
- package/src/animations/animate-runner.js +0 -193
- package/src/animations/animate-swap.js +0 -33
- package/src/animations/animate-swap.md +0 -88
- package/src/animations/animate.html +0 -19
- package/src/animations/animate.js +0 -546
- package/src/animations/animate.md +0 -933
- package/src/animations/animate.spec.js +0 -490
- package/src/animations/animation.js +0 -519
- package/src/animations/animations.test.js +0 -10
- package/src/animations/interface.ts +0 -19
- package/src/animations/raf-scheduler.html +0 -19
- package/src/animations/raf-scheduler.js +0 -92
- package/src/animations/raf-scheduler.spec.js +0 -98
- package/src/animations/shared.js +0 -341
- package/src/binding.html +0 -19
- package/src/binding.spec.js +0 -474
- package/src/binding.test.js +0 -10
- package/src/core/compile/attributes.js +0 -337
- package/src/core/compile/compile.html +0 -19
- package/src/core/compile/compile.js +0 -3271
- package/src/core/compile/compile.md +0 -1128
- package/src/core/compile/compile.spec.js +0 -15574
- package/src/core/compile/compile.test.js +0 -12
- package/src/core/controller/controller.html +0 -22
- package/src/core/controller/controller.js +0 -193
- package/src/core/controller/controller.spec.js +0 -334
- package/src/core/controller/controller.test.js +0 -12
- package/src/core/controller/interface.ts +0 -6
- package/src/core/core.html +0 -20
- package/src/core/core.test.js +0 -12
- package/src/core/di/injector.html +0 -19
- package/src/core/di/injector.js +0 -307
- package/src/core/di/injector.md +0 -740
- package/src/core/di/injector.spec.js +0 -2310
- package/src/core/di/injector.test.js +0 -12
- package/src/core/di/internal-injector.js +0 -286
- package/src/core/di/ng-module.html +0 -19
- package/src/core/di/ng-module.js +0 -229
- package/src/core/di/ng-module.spec.js +0 -263
- package/src/core/di/ng-module.test.js +0 -12
- package/src/core/filter/filter.html +0 -19
- package/src/core/filter/filter.js +0 -55
- package/src/core/filter/filter.md +0 -132
- package/src/core/filter/filter.spec.js +0 -149
- package/src/core/filter/filter.test.js +0 -12
- package/src/core/interpolate/interface.ts +0 -14
- package/src/core/interpolate/interpolate.html +0 -22
- package/src/core/interpolate/interpolate.js +0 -410
- package/src/core/interpolate/interpolate.spec.js +0 -601
- package/src/core/interpolate/interpolate.test.js +0 -12
- package/src/core/parse/ast/ast-node.ts +0 -81
- package/src/core/parse/ast/ast.html +0 -19
- package/src/core/parse/ast/ast.js +0 -574
- package/src/core/parse/ast/ast.spec.js +0 -1453
- package/src/core/parse/ast/ast.test.js +0 -10
- package/src/core/parse/ast-type.js +0 -23
- package/src/core/parse/interface.ts +0 -84
- package/src/core/parse/interpreter.js +0 -915
- package/src/core/parse/lexer/lexer.html +0 -19
- package/src/core/parse/lexer/lexer.js +0 -338
- package/src/core/parse/lexer/lexer.spec.js +0 -303
- package/src/core/parse/lexer/lexer.test.js +0 -10
- package/src/core/parse/lexer/token.ts +0 -22
- package/src/core/parse/parse.html +0 -19
- package/src/core/parse/parse.js +0 -337
- package/src/core/parse/parse.md +0 -57
- package/src/core/parse/parse.spec.js +0 -2107
- package/src/core/parse/parse.test.js +0 -10
- package/src/core/parse/parser/parser.html +0 -19
- package/src/core/parse/parser/parser.js +0 -64
- package/src/core/parse/parser/parser.spec.js +0 -8
- package/src/core/parse/parser/parser.test.js +0 -10
- package/src/core/prop.spec.js +0 -775
- package/src/core/root-element.spec.js +0 -14
- package/src/core/sanitize/interface.ts +0 -10
- package/src/core/sanitize/sanitize-uri.js +0 -75
- package/src/core/sanitize/sanitize-uri.spec.js +0 -249
- package/src/core/sanitize/sanitize-uri.test.js +0 -12
- package/src/core/sanitize/sanitize.html +0 -22
- package/src/core/scope/scope.html +0 -19
- package/src/core/scope/scope.js +0 -1252
- package/src/core/scope/scope.spec.js +0 -3000
- package/src/core/scope/scope.test.js +0 -12
- package/src/directive/aria/aria.html +0 -19
- package/src/directive/aria/aria.js +0 -382
- package/src/directive/aria/aria.md +0 -145
- package/src/directive/aria/aria.spec.js +0 -1241
- package/src/directive/aria/aria.test.js +0 -12
- package/src/directive/attrs/attrs.html +0 -19
- package/src/directive/attrs/attrs.js +0 -106
- package/src/directive/attrs/attrs.md +0 -224
- package/src/directive/attrs/attrs.spec.js +0 -71
- package/src/directive/attrs/attrs.test.js +0 -12
- package/src/directive/attrs/boolean.html +0 -19
- package/src/directive/attrs/boolean.spec.js +0 -137
- package/src/directive/attrs/boolean.test.js +0 -12
- package/src/directive/attrs/element-style.html +0 -22
- package/src/directive/attrs/element-style.spec.js +0 -85
- package/src/directive/attrs/element-style.test.js +0 -12
- package/src/directive/attrs/src.html +0 -19
- package/src/directive/attrs/src.spec.js +0 -163
- package/src/directive/attrs/src.test.js +0 -12
- package/src/directive/bind/bind-html.spec.js +0 -36
- package/src/directive/bind/bind.html +0 -20
- package/src/directive/bind/bind.js +0 -78
- package/src/directive/bind/bind.md +0 -142
- package/src/directive/bind/bind.spec.js +0 -314
- package/src/directive/bind/bind.test.js +0 -12
- package/src/directive/channel/channel.html +0 -19
- package/src/directive/channel/channel.js +0 -30
- package/src/directive/channel/channel.spec.js +0 -67
- package/src/directive/channel/channel.test.js +0 -10
- package/src/directive/class/class-test.html +0 -23
- package/src/directive/class/class.html +0 -19
- package/src/directive/class/class.js +0 -184
- package/src/directive/class/class.spec.js +0 -704
- package/src/directive/class/class.test.js +0 -12
- package/src/directive/cloak/cloak.html +0 -19
- package/src/directive/cloak/cloak.js +0 -11
- package/src/directive/cloak/cloak.spec.js +0 -44
- package/src/directive/cloak/cloak.test.js +0 -12
- package/src/directive/controller/controller.html +0 -22
- package/src/directive/controller/controller.js +0 -11
- package/src/directive/controller/controller.md +0 -46
- package/src/directive/controller/controller.spec.js +0 -175
- package/src/directive/controller/controller.test.js +0 -12
- package/src/directive/events/click.spec.js +0 -35
- package/src/directive/events/event.spec.js +0 -267
- package/src/directive/events/events-test.html +0 -36
- package/src/directive/events/events.html +0 -20
- package/src/directive/events/events.js +0 -65
- package/src/directive/events/events.md +0 -125
- package/src/directive/events/events.test.js +0 -12
- package/src/directive/form/form.html +0 -19
- package/src/directive/form/form.js +0 -669
- package/src/directive/form/form.spec.js +0 -1515
- package/src/directive/form/form.test.js +0 -12
- package/src/directive/http/delete.spec.js +0 -23
- package/src/directive/http/form-router-test.html +0 -44
- package/src/directive/http/form-test.html +0 -18
- package/src/directive/http/get.spec.js +0 -488
- package/src/directive/http/http.html +0 -22
- package/src/directive/http/http.js +0 -342
- package/src/directive/http/http.test.js +0 -12
- package/src/directive/http/interface.ts +0 -36
- package/src/directive/http/post-example.html +0 -30
- package/src/directive/http/post.spec.js +0 -521
- package/src/directive/http/put.spec.js +0 -23
- package/src/directive/if/if-animate-css.html +0 -57
- package/src/directive/if/if-animate-svg.html +0 -25
- package/src/directive/if/if.html +0 -19
- package/src/directive/if/if.js +0 -72
- package/src/directive/if/if.md +0 -76
- package/src/directive/if/if.spec.js +0 -293
- package/src/directive/if/if.test.js +0 -114
- package/src/directive/include/include.html +0 -19
- package/src/directive/include/include.js +0 -151
- package/src/directive/include/include.md +0 -87
- package/src/directive/include/include.spec.js +0 -734
- package/src/directive/include/include.test.js +0 -12
- package/src/directive/init/init.html +0 -19
- package/src/directive/init/init.js +0 -22
- package/src/directive/init/init.md +0 -41
- package/src/directive/init/init.spec.js +0 -68
- package/src/directive/init/init.test.js +0 -12
- package/src/directive/inject/inject.html +0 -19
- package/src/directive/inject/inject.js +0 -35
- package/src/directive/inject/inject.spec.js +0 -108
- package/src/directive/inject/inject.test.js +0 -12
- package/src/directive/input/input-example.html +0 -15
- package/src/directive/input/input.html +0 -19
- package/src/directive/input/input.js +0 -1078
- package/src/directive/input/input.md +0 -706
- package/src/directive/input/input.spec.js +0 -3700
- package/src/directive/input/input.test.js +0 -12
- package/src/directive/messages/messages.html +0 -22
- package/src/directive/messages/messages.js +0 -349
- package/src/directive/messages/messages.md +0 -543
- package/src/directive/messages/messages.spec.js +0 -1083
- package/src/directive/messages/messages.test.js +0 -12
- package/src/directive/model/change.md +0 -25
- package/src/directive/model/model.html +0 -19
- package/src/directive/model/model.js +0 -1170
- package/src/directive/model/model.spec.js +0 -1976
- package/src/directive/model/model.test.js +0 -12
- package/src/directive/model-options/model-option.test.js +0 -12
- package/src/directive/model-options/model-options.html +0 -22
- package/src/directive/model-options/model-options.js +0 -142
- package/src/directive/model-options/model-options.md +0 -407
- package/src/directive/model-options/model-options.spec.js +0 -1022
- package/src/directive/non-bindable/non-bindable.html +0 -22
- package/src/directive/non-bindable/non-bindable.js +0 -9
- package/src/directive/non-bindable/non-bindable.spec.js +0 -59
- package/src/directive/non-bindable/non-bindable.test.js +0 -12
- package/src/directive/observe/observe-demo.html +0 -184
- package/src/directive/observe/observe.html +0 -19
- package/src/directive/observe/observe.js +0 -41
- package/src/directive/observe/observe.spec.js +0 -106
- package/src/directive/observe/observe.test.js +0 -10
- package/src/directive/on/on.html +0 -19
- package/src/directive/on/on.spec.js +0 -215
- package/src/directive/on/on.test.js +0 -12
- package/src/directive/options/options-example.html +0 -17
- package/src/directive/options/options.html +0 -22
- package/src/directive/options/options.js +0 -542
- package/src/directive/options/options.md +0 -179
- package/src/directive/options/options.spec.js +0 -3554
- package/src/directive/options/options.test.js +0 -12
- package/src/directive/ref/href.html +0 -19
- package/src/directive/ref/href.spec.js +0 -141
- package/src/directive/ref/href.test.js +0 -19
- package/src/directive/ref/ref.html +0 -19
- package/src/directive/ref/ref.js +0 -89
- package/src/directive/ref/ref.spec.js +0 -546
- package/src/directive/repeat/repeat.html +0 -19
- package/src/directive/repeat/repeat.js +0 -333
- package/src/directive/repeat/repeat.md +0 -330
- package/src/directive/repeat/repeat.spec.js +0 -1209
- package/src/directive/repeat/repeat.test.js +0 -12
- package/src/directive/script/script.html +0 -19
- package/src/directive/script/script.js +0 -17
- package/src/directive/script/script.md +0 -11
- package/src/directive/script/script.spec.js +0 -47
- package/src/directive/script/script.test.js +0 -12
- package/src/directive/select/select.html +0 -19
- package/src/directive/select/select.js +0 -594
- package/src/directive/select/select.md +0 -74
- package/src/directive/select/select.spec.js +0 -2566
- package/src/directive/select/select.test.js +0 -12
- package/src/directive/setter/setter.html +0 -19
- package/src/directive/setter/setter.js +0 -59
- package/src/directive/setter/setter.spec.js +0 -100
- package/src/directive/setter/setter.test.js +0 -12
- package/src/directive/show-hide/show-hide.html +0 -22
- package/src/directive/show-hide/show-hide.js +0 -65
- package/src/directive/show-hide/show-hide.md +0 -255
- package/src/directive/show-hide/show-hide.spec.js +0 -268
- package/src/directive/show-hide/show-hide.test.js +0 -12
- package/src/directive/style/style.html +0 -19
- package/src/directive/style/style.js +0 -27
- package/src/directive/style/style.md +0 -23
- package/src/directive/style/style.spec.js +0 -183
- package/src/directive/style/style.test.js +0 -12
- package/src/directive/switch/switch.html +0 -19
- package/src/directive/switch/switch.js +0 -133
- package/src/directive/switch/switch.md +0 -66
- package/src/directive/switch/switch.spec.js +0 -509
- package/src/directive/switch/switch.test.js +0 -12
- package/src/directive/transclude/transclude.js +0 -122
- package/src/directive/validators/validators.html +0 -22
- package/src/directive/validators/validators.js +0 -346
- package/src/directive/validators/validators.spec.js +0 -740
- package/src/directive/validators/validators.test.js +0 -12
- package/src/filters/filter.js +0 -213
- package/src/filters/filter.spec.js +0 -719
- package/src/filters/filters.html +0 -22
- package/src/filters/filters.js +0 -239
- package/src/filters/filters.spec.js +0 -36
- package/src/filters/filters.test.js +0 -12
- package/src/filters/interface.ts +0 -9
- package/src/filters/limit-to.js +0 -55
- package/src/filters/limit-to.spec.js +0 -252
- package/src/filters/order-by.js +0 -181
- package/src/filters/order-by.spec.js +0 -883
- package/src/index.js +0 -6
- package/src/index.spec.js +0 -11
- package/src/injection-tokens.js +0 -81
- package/src/interface.ts +0 -430
- package/src/ng.js +0 -291
- package/src/ng.spec.js +0 -45
- package/src/router/common/trace.js +0 -240
- package/src/router/directives/component-example.html +0 -37
- package/src/router/directives/state-directives.html +0 -22
- package/src/router/directives/state-directives.js +0 -393
- package/src/router/directives/state-directives.md +0 -435
- package/src/router/directives/state-directives.spec.js +0 -1091
- package/src/router/directives/state-directives.test.js +0 -10
- package/src/router/directives/view-directive.js +0 -489
- package/src/router/directives/view-directive.spec.js +0 -1921
- package/src/router/directives/view-directive.test.js +0 -10
- package/src/router/directives/view-directives.html +0 -22
- package/src/router/glob/glob.html +0 -19
- package/src/router/glob/glob.js +0 -102
- package/src/router/glob/glob.spec.js +0 -108
- package/src/router/glob/glob.test.js +0 -12
- package/src/router/hooks/core-resolvables.js +0 -38
- package/src/router/hooks/ignored-transition.js +0 -25
- package/src/router/hooks/invalid-transition.js +0 -14
- package/src/router/hooks/lazy-load.js +0 -104
- package/src/router/hooks/on-enter-exit-retain.js +0 -55
- package/src/router/hooks/redirect-to.js +0 -38
- package/src/router/hooks/resolve.js +0 -57
- package/src/router/hooks/update-globals.js +0 -34
- package/src/router/hooks/url.js +0 -34
- package/src/router/hooks/views.js +0 -41
- package/src/router/params/interface.ts +0 -626
- package/src/router/params/param-factory.js +0 -23
- package/src/router/params/param-type.js +0 -133
- package/src/router/params/param-types.js +0 -153
- package/src/router/params/param.js +0 -243
- package/src/router/params/state-params.js +0 -36
- package/src/router/path/path-node.js +0 -78
- package/src/router/path/path-utils.js +0 -207
- package/src/router/resolve/interface.ts +0 -208
- package/src/router/resolve/resolvable.js +0 -123
- package/src/router/resolve/resolve-context.js +0 -190
- package/src/router/router-test-hashbang.html +0 -45
- package/src/router/router-test.html +0 -41
- package/src/router/router.html +0 -22
- package/src/router/router.js +0 -54
- package/src/router/router.test.js +0 -12
- package/src/router/services.spec.js +0 -52
- package/src/router/state/interface.ts +0 -1007
- package/src/router/state/state-builder.js +0 -376
- package/src/router/state/state-builder.spec.js +0 -86
- package/src/router/state/state-matcher.js +0 -64
- package/src/router/state/state-object.js +0 -118
- package/src/router/state/state-queue-manager.js +0 -95
- package/src/router/state/state-registry.js +0 -262
- package/src/router/state/state-service.js +0 -687
- package/src/router/state/state.html +0 -23
- package/src/router/state/state.spec.js +0 -1002
- package/src/router/state/state.test.js +0 -12
- package/src/router/state/target-state.js +0 -162
- package/src/router/state/views.js +0 -195
- package/src/router/state-filter.spec.js +0 -139
- package/src/router/state-filters.js +0 -46
- package/src/router/template-factory.html +0 -19
- package/src/router/template-factory.js +0 -249
- package/src/router/template-factory.spec.js +0 -146
- package/src/router/template-factory.test.js +0 -12
- package/src/router/transition/hook-builder.js +0 -137
- package/src/router/transition/hook-registry.js +0 -181
- package/src/router/transition/interface.js +0 -18
- package/src/router/transition/interface.ts +0 -922
- package/src/router/transition/reject-factory.js +0 -122
- package/src/router/transition/transition-event-type.js +0 -26
- package/src/router/transition/transition-hook.js +0 -199
- package/src/router/transition/transition-service.js +0 -297
- package/src/router/transition/transition.js +0 -653
- package/src/router/url/url-config.js +0 -155
- package/src/router/url/url-matcher.js +0 -532
- package/src/router/url/url-rule.js +0 -231
- package/src/router/url/url-rules.js +0 -350
- package/src/router/url/url-service.js +0 -446
- package/src/router/url/url-service.spec.js +0 -1288
- package/src/router/url/url.html +0 -19
- package/src/router/url/url.test.js +0 -12
- package/src/router/view/interface.ts +0 -51
- package/src/router/view/view.html +0 -19
- package/src/router/view/view.js +0 -262
- package/src/router/view/view.spec.js +0 -100
- package/src/router/view/view.test.js +0 -12
- package/src/router/view-hook.spec.js +0 -215
- package/src/router/view-scroll.js +0 -33
- package/src/router/view-scroll.spec.js +0 -72
- package/src/services/anchor-scroll/anchor-scroll.html +0 -76
- package/src/services/anchor-scroll/anchor-scroll.js +0 -147
- package/src/services/exception/exception-handler.js +0 -75
- package/src/services/exception/interface.ts +0 -7
- package/src/services/http/http.html +0 -23
- package/src/services/http/http.js +0 -1109
- package/src/services/http/http.spec.js +0 -4320
- package/src/services/http/http.test.js +0 -11
- package/src/services/http/interface.ts +0 -256
- package/src/services/http/template-request.spec.js +0 -220
- package/src/services/location/interface.ts +0 -70
- package/src/services/location/location.html +0 -22
- package/src/services/location/location.js +0 -1006
- package/src/services/location/location.spec.js +0 -3792
- package/src/services/location/location.test.js +0 -12
- package/src/services/log/interface.ts +0 -39
- package/src/services/log/log.html +0 -19
- package/src/services/log/log.js +0 -74
- package/src/services/log/log.spec.js +0 -64
- package/src/services/log/log.test.js +0 -12
- package/src/services/pubsub/pubsub.html +0 -19
- package/src/services/pubsub/pubsub.js +0 -349
- package/src/services/pubsub/pubsub.spec.js +0 -400
- package/src/services/pubsub/pubsub.test.js +0 -12
- package/src/services/sce/sce.html +0 -19
- package/src/services/sce/sce.js +0 -852
- package/src/services/sce/sce.spec.js +0 -617
- package/src/services/sce/sce.test.js +0 -12
- package/src/services/template-cache/template-cache.html +0 -22
- package/src/services/template-cache/template-cache.js +0 -15
- package/src/services/template-cache/template-cache.spec.js +0 -134
- package/src/services/template-cache/template-cache.test.js +0 -12
- package/src/services/template-request/interface.ts +0 -23
- package/src/services/template-request/template-request.js +0 -142
- package/src/shared/cache.js +0 -7
- package/src/shared/common.js +0 -365
- package/src/shared/common.spec.js +0 -294
- package/src/shared/constants.js +0 -21
- package/src/shared/dom.js +0 -716
- package/src/shared/hof.js +0 -157
- package/src/shared/hof.spec.js +0 -60
- package/src/shared/interface.ts +0 -21
- package/src/shared/min-err.spec.js +0 -178
- package/src/shared/noderef.js +0 -225
- package/src/shared/predicates.js +0 -34
- package/src/shared/queue.js +0 -105
- package/src/shared/queue.spec.js +0 -80
- package/src/shared/shared.html +0 -24
- package/src/shared/shared.test.js +0 -12
- package/src/shared/strings.js +0 -142
- package/src/shared/strings.spec.js +0 -40
- package/src/shared/test-utils.js +0 -47
- package/src/shared/url-utils/interface.ts +0 -54
- package/src/shared/url-utils/url-utils.html +0 -22
- package/src/shared/url-utils/url-utils.js +0 -122
- package/src/shared/url-utils/url-utils.spec.js +0 -148
- package/src/shared/url-utils/url-utils.test.js +0 -12
- package/src/shared/utils.js +0 -1255
- package/src/shared/utils.spec.js +0 -178
- package/src/src.html +0 -21
- package/src/src.test.js +0 -10
- package/tsconfig.json +0 -19
- package/tsconfig.types.json +0 -14
- package/typedoc.json +0 -8
- package/utils/express.js +0 -203
- package/utils/version.cjs +0 -23
- package/vite.config.js +0 -14
package/src/shared/queue.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A simple bounded FIFO queue with optional eviction notifications.
|
|
3
|
-
* @template T
|
|
4
|
-
*/
|
|
5
|
-
export class Queue {
|
|
6
|
-
/**
|
|
7
|
-
* @param {T[]} [items=[]] - Initial queue items.
|
|
8
|
-
* @param {number|null} [limit=null] - Maximum allowed items before eviction (null = unlimited).
|
|
9
|
-
*/
|
|
10
|
-
constructor(items = [], limit = null) {
|
|
11
|
-
/** @type {T[]} */
|
|
12
|
-
this._items = Array.isArray(items) ? [...items] : [];
|
|
13
|
-
|
|
14
|
-
/** @type {number|null} */
|
|
15
|
-
this._limit = Number.isInteger(limit) && limit > 0 ? limit : null;
|
|
16
|
-
|
|
17
|
-
/** @type {Array<(item: T) => void>} */
|
|
18
|
-
this._evictListeners = [];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Register a listener that will be called with the evicted item.
|
|
23
|
-
* @param {(item: T) => void} listener
|
|
24
|
-
*/
|
|
25
|
-
onEvict(listener) {
|
|
26
|
-
this._evictListeners.push(listener);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Adds an item to the end of the queue, evicting the head if over limit.
|
|
31
|
-
* @param {T} item
|
|
32
|
-
* @returns {T}
|
|
33
|
-
*/
|
|
34
|
-
enqueue(item) {
|
|
35
|
-
this._items.push(item);
|
|
36
|
-
if (this._limit !== null && this._items.length > this._limit) {
|
|
37
|
-
this.evict();
|
|
38
|
-
}
|
|
39
|
-
return item;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Removes the head item and notifies eviction listeners.
|
|
44
|
-
* @returns {T|undefined}
|
|
45
|
-
*/
|
|
46
|
-
evict() {
|
|
47
|
-
const item = this._items.shift();
|
|
48
|
-
if (item !== undefined) {
|
|
49
|
-
this._evictListeners.forEach((fn) => fn(item));
|
|
50
|
-
}
|
|
51
|
-
return item;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Removes and returns the first item in the queue.
|
|
56
|
-
* @returns {T|undefined}
|
|
57
|
-
*/
|
|
58
|
-
dequeue() {
|
|
59
|
-
return this._items.length > 0 ? this._items.shift() : undefined;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Clears all items from the queue.
|
|
64
|
-
* @returns {T[]} The previously stored items.
|
|
65
|
-
*/
|
|
66
|
-
clear() {
|
|
67
|
-
const cleared = [...this._items];
|
|
68
|
-
this._items.length = 0;
|
|
69
|
-
return cleared;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Returns the current number of items.
|
|
74
|
-
* @returns {number}
|
|
75
|
-
*/
|
|
76
|
-
size() {
|
|
77
|
-
return this._items.length;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Removes a specific item from the queue.
|
|
82
|
-
* @param {T} item
|
|
83
|
-
* @returns {T|false} The removed item, or false if not found.
|
|
84
|
-
*/
|
|
85
|
-
remove(item) {
|
|
86
|
-
const index = this._items.indexOf(item);
|
|
87
|
-
return index !== -1 ? this._items.splice(index, 1)[0] : false;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Returns the item at the tail (last).
|
|
92
|
-
* @returns {T|undefined}
|
|
93
|
-
*/
|
|
94
|
-
peekTail() {
|
|
95
|
-
return this._items[this._items.length - 1];
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Returns the item at the head (first).
|
|
100
|
-
* @returns {T|undefined}
|
|
101
|
-
*/
|
|
102
|
-
peekHead() {
|
|
103
|
-
return this._items[0];
|
|
104
|
-
}
|
|
105
|
-
}
|
package/src/shared/queue.spec.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Queue } from "./queue.js";
|
|
2
|
-
|
|
3
|
-
describe("Queue", () => {
|
|
4
|
-
let queue;
|
|
5
|
-
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
queue = new Queue();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it("should enqueue items", () => {
|
|
11
|
-
queue.enqueue("a");
|
|
12
|
-
queue.enqueue("b");
|
|
13
|
-
expect(queue.size()).toBe(2);
|
|
14
|
-
expect(queue.peekHead()).toBe("a");
|
|
15
|
-
expect(queue.peekTail()).toBe("b");
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("should dequeue items", () => {
|
|
19
|
-
queue.enqueue("x");
|
|
20
|
-
queue.enqueue("y");
|
|
21
|
-
const item = queue.dequeue();
|
|
22
|
-
expect(item).toBe("x");
|
|
23
|
-
expect(queue.size()).toBe(1);
|
|
24
|
-
expect(queue.peekHead()).toBe("y");
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it("should evict when over limit", () => {
|
|
28
|
-
const evicted = [];
|
|
29
|
-
queue = new Queue([], 2);
|
|
30
|
-
queue.onEvict((item) => evicted.push(item));
|
|
31
|
-
queue.enqueue("1");
|
|
32
|
-
queue.enqueue("2");
|
|
33
|
-
queue.enqueue("3"); // should evict "1"
|
|
34
|
-
expect(queue.size()).toBe(2);
|
|
35
|
-
expect(evicted).toEqual(["1"]);
|
|
36
|
-
expect(queue.peekHead()).toBe("2");
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("should remove specific items", () => {
|
|
40
|
-
queue.enqueue("a");
|
|
41
|
-
queue.enqueue("b");
|
|
42
|
-
queue.enqueue("c");
|
|
43
|
-
const removed = queue.remove("b");
|
|
44
|
-
expect(removed).toBe("b");
|
|
45
|
-
expect(queue.size()).toBe(2);
|
|
46
|
-
expect(queue._items).toEqual(["a", "c"]);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it("should clear the queue", () => {
|
|
50
|
-
queue.enqueue("foo");
|
|
51
|
-
queue.enqueue("bar");
|
|
52
|
-
const cleared = queue.clear();
|
|
53
|
-
expect(cleared).toEqual(["foo", "bar"]);
|
|
54
|
-
expect(queue.size()).toBe(0);
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
it("should peek at head and tail", () => {
|
|
58
|
-
queue.enqueue("first");
|
|
59
|
-
queue.enqueue("last");
|
|
60
|
-
expect(queue.peekHead()).toBe("first");
|
|
61
|
-
expect(queue.peekTail()).toBe("last");
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it("should return undefined when dequeueing from empty queue", () => {
|
|
65
|
-
expect(queue.dequeue()).toBeUndefined();
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it("should return undefined when peeking head in empty queue", () => {
|
|
69
|
-
expect(queue.peekHead()).toBeUndefined();
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it("should not evict if limit is not reached", () => {
|
|
73
|
-
const evicted = [];
|
|
74
|
-
queue = new Queue([], 3);
|
|
75
|
-
queue.onEvict((item) => evicted.push(item));
|
|
76
|
-
queue.enqueue("1");
|
|
77
|
-
queue.enqueue("2");
|
|
78
|
-
expect(evicted.length).toBe(0);
|
|
79
|
-
});
|
|
80
|
-
});
|
package/src/shared/shared.html
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<title>AngularTS Test Runner</title>
|
|
6
|
-
|
|
7
|
-
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
-
<link rel="stylesheet" href="/jasmine/jasmine.css" />
|
|
9
|
-
<link rel="stylesheet" href="/public/jasmine-helper.css" />
|
|
10
|
-
<script src="/jasmine/jasmine.js"></script>
|
|
11
|
-
<script src="/jasmine/jasmine-html.js"></script>
|
|
12
|
-
<script src="/jasmine/boot0.js"></script>
|
|
13
|
-
<script src="/jasmine/boot1.js"></script>
|
|
14
|
-
<script type="module" src="/src/shared/common.spec.js"></script>
|
|
15
|
-
<script type="module" src="/src/shared/hof.spec.js"></script>
|
|
16
|
-
<script type="module" src="/src/shared/min-err.spec.js"></script>
|
|
17
|
-
<script type="module" src="/src/shared/queue.spec.js"></script>
|
|
18
|
-
<script type="module" src="/src/shared/strings.spec.js"></script>
|
|
19
|
-
<script type="module" src="/src/shared/utils.spec.js"></script>
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<div id="app"></div>
|
|
23
|
-
</body>
|
|
24
|
-
</html>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/shared/shared.html";
|
|
4
|
-
|
|
5
|
-
test("unit tests contain no errors", async ({ page }) => {
|
|
6
|
-
await page.goto(TEST_URL);
|
|
7
|
-
await page.content();
|
|
8
|
-
await page.waitForTimeout(1000);
|
|
9
|
-
await expect(page.locator(".jasmine-overall-result")).toHaveText(
|
|
10
|
-
/ 0 failures/,
|
|
11
|
-
);
|
|
12
|
-
});
|
package/src/shared/strings.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { isInjectable, isPromise } from "./predicates.js";
|
|
2
|
-
import {
|
|
3
|
-
isUndefined,
|
|
4
|
-
isFunction,
|
|
5
|
-
isNull,
|
|
6
|
-
isString,
|
|
7
|
-
isObject,
|
|
8
|
-
} from "./utils.js";
|
|
9
|
-
import { pushR, tail } from "./common.js";
|
|
10
|
-
import { pattern, val } from "./hof.js";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Functions that manipulate strings
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Returns a string shortened to a maximum length
|
|
18
|
-
*
|
|
19
|
-
* If the string is already less than the `max` length, return the string.
|
|
20
|
-
* Else return the string, shortened to `max - 3` and append three dots ("...").
|
|
21
|
-
*
|
|
22
|
-
* @param max the maximum length of the string to return
|
|
23
|
-
* @param str the input string
|
|
24
|
-
*/
|
|
25
|
-
export function maxLength(max, str) {
|
|
26
|
-
if (str.length <= max) return str;
|
|
27
|
-
return str.substring(0, max - 3) + "...";
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Returns a string, with spaces added to the end, up to a desired str length
|
|
31
|
-
*
|
|
32
|
-
* If the string is already longer than the desired length, return the string.
|
|
33
|
-
* Else returns the string, with extra spaces on the end, such that it reaches `length` characters.
|
|
34
|
-
*
|
|
35
|
-
* @param length the desired length of the string to return
|
|
36
|
-
* @param str the input string
|
|
37
|
-
*/
|
|
38
|
-
export function padString(length, str) {
|
|
39
|
-
while (str.length < length) str += " ";
|
|
40
|
-
return str;
|
|
41
|
-
}
|
|
42
|
-
export function kebobString(camelCase) {
|
|
43
|
-
return camelCase
|
|
44
|
-
.replace(/^([A-Z])/, ($1) => $1.toLowerCase()) // replace first char
|
|
45
|
-
.replace(/([A-Z])/g, ($1) => "-" + $1.toLowerCase()); // replace rest
|
|
46
|
-
}
|
|
47
|
-
export function functionToString(fn) {
|
|
48
|
-
const fnStr = fnToString(fn);
|
|
49
|
-
const namedFunctionMatch = fnStr.match(/^(function [^ ]+\([^)]*\))/);
|
|
50
|
-
const toStr = namedFunctionMatch ? namedFunctionMatch[1] : fnStr;
|
|
51
|
-
const fnName = fn["name"] || "";
|
|
52
|
-
if (fnName && toStr.match(/function \(/)) {
|
|
53
|
-
return "function " + fnName + toStr.substring(9);
|
|
54
|
-
}
|
|
55
|
-
return toStr;
|
|
56
|
-
}
|
|
57
|
-
export function fnToString(fn) {
|
|
58
|
-
const _fn = Array.isArray(fn) ? fn.slice(-1)[0] : fn;
|
|
59
|
-
return (_fn && _fn.toString()) || "undefined";
|
|
60
|
-
}
|
|
61
|
-
export function stringify(o) {
|
|
62
|
-
const seen = [];
|
|
63
|
-
const isRejection = (obj) => {
|
|
64
|
-
return (
|
|
65
|
-
obj &&
|
|
66
|
-
typeof obj.then === "function" &&
|
|
67
|
-
obj.constructor.name == "Rejection"
|
|
68
|
-
);
|
|
69
|
-
};
|
|
70
|
-
const hasToString = (obj) =>
|
|
71
|
-
isObject(obj) &&
|
|
72
|
-
!Array.isArray(obj) &&
|
|
73
|
-
obj.constructor !== Object &&
|
|
74
|
-
isFunction(obj.toString);
|
|
75
|
-
const stringifyPattern = pattern([
|
|
76
|
-
[isUndefined, val("undefined")],
|
|
77
|
-
[isNull, val("null")],
|
|
78
|
-
[isPromise, val("[Promise]")],
|
|
79
|
-
[isRejection, (x) => x._transitionRejection.toString()],
|
|
80
|
-
[hasToString, (x) => x.toString()],
|
|
81
|
-
[isInjectable, functionToString],
|
|
82
|
-
[val(true), (x) => x],
|
|
83
|
-
]);
|
|
84
|
-
function format(value) {
|
|
85
|
-
if (isObject(value)) {
|
|
86
|
-
if (seen.indexOf(value) !== -1) return "[circular ref]";
|
|
87
|
-
seen.push(value);
|
|
88
|
-
}
|
|
89
|
-
return stringifyPattern(value);
|
|
90
|
-
}
|
|
91
|
-
if (isUndefined(o)) {
|
|
92
|
-
// Workaround for IE & Edge Spec incompatibility where replacer function would not be called when JSON.stringify
|
|
93
|
-
// is given `undefined` as value. To work around that, we simply detect `undefined` and bail out early by
|
|
94
|
-
// manually stringifying it.
|
|
95
|
-
return format(o);
|
|
96
|
-
}
|
|
97
|
-
return JSON.stringify(o, (key, value) => format(value)).replace(/\\"/g, '"');
|
|
98
|
-
}
|
|
99
|
-
/** Returns a function that splits a string on a character or substring */
|
|
100
|
-
export const beforeAfterSubstr = (char) => (str) => {
|
|
101
|
-
if (!str) return ["", ""];
|
|
102
|
-
const idx = str.indexOf(char);
|
|
103
|
-
if (idx === -1) return [str, ""];
|
|
104
|
-
return [str.substring(0, idx), str.substring(idx + 1)];
|
|
105
|
-
};
|
|
106
|
-
export const hostRegex = new RegExp("^(?:[a-z]+:)?//[^/]+/");
|
|
107
|
-
export const stripLastPathElement = (str) => str.replace(/\/[^/]*$/, "");
|
|
108
|
-
export const splitHash = beforeAfterSubstr("#");
|
|
109
|
-
export const splitQuery = beforeAfterSubstr("?");
|
|
110
|
-
export const splitEqual = beforeAfterSubstr("=");
|
|
111
|
-
export const trimHashVal = (str) => (str ? str.replace(/^#/, "") : "");
|
|
112
|
-
/**
|
|
113
|
-
* Splits on a delimiter, but returns the delimiters in the array
|
|
114
|
-
*
|
|
115
|
-
* #### Example:
|
|
116
|
-
* ```js
|
|
117
|
-
* var splitOnSlashes = splitOnDelim('/');
|
|
118
|
-
* splitOnSlashes("/foo"); // ["/", "foo"]
|
|
119
|
-
* splitOnSlashes("/foo/"); // ["/", "foo", "/"]
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
export function splitOnDelim(delim) {
|
|
123
|
-
const re = new RegExp("(" + delim + ")", "g");
|
|
124
|
-
return (str) => str.split(re).filter(Boolean);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Reduce fn that joins neighboring strings
|
|
128
|
-
*
|
|
129
|
-
* Given an array of strings, returns a new array
|
|
130
|
-
* where all neighboring strings have been joined.
|
|
131
|
-
*
|
|
132
|
-
* #### Example:
|
|
133
|
-
* ```js
|
|
134
|
-
* let arr = ["foo", "bar", 1, "baz", "", "qux" ];
|
|
135
|
-
* arr.reduce(joinNeighborsR, []) // ["foobar", 1, "bazqux" ]
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
export function joinNeighborsR(acc, x) {
|
|
139
|
-
if (isString(tail(acc)) && isString(x))
|
|
140
|
-
return acc.slice(0, -1).concat(tail(acc) + x);
|
|
141
|
-
return pushR(acc, x);
|
|
142
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { stripLastPathElement } from "./strings.js";
|
|
2
|
-
|
|
3
|
-
describe("string functions:", () => {
|
|
4
|
-
describe("stripLastPathElement", () => {
|
|
5
|
-
it("should strip trailing filenames from a path", () => {
|
|
6
|
-
const result = stripLastPathElement("/some/path/to/file.html");
|
|
7
|
-
expect(result).toBe("/some/path/to");
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it("should strip a filename (with no extension) from a path ", () => {
|
|
11
|
-
const result = stripLastPathElement("/some/path/to/file");
|
|
12
|
-
expect(result).toBe("/some/path/to");
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it("should strip trailing filenames from a root path", () => {
|
|
16
|
-
const result = stripLastPathElement("/file.html");
|
|
17
|
-
expect(result).toBe("");
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it("should strip a filename (with no extension) from a root path", () => {
|
|
21
|
-
const result = stripLastPathElement("/file");
|
|
22
|
-
expect(result).toBe("");
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("should strip a trailing slash", () => {
|
|
26
|
-
expect(stripLastPathElement("/path/")).toBe("/path");
|
|
27
|
-
expect(stripLastPathElement("/path/foo/")).toBe("/path/foo");
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it("should return empty string given an empty string", () => {
|
|
31
|
-
const result = stripLastPathElement("");
|
|
32
|
-
expect(result).toBe("");
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("should return an empty string given a slash", () => {
|
|
36
|
-
const result = stripLastPathElement("/");
|
|
37
|
-
expect(result).toBe("");
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
});
|
package/src/shared/test-utils.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { isObject } from "./utils.js";
|
|
2
|
-
import { dealoc } from "./dom.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Triggers a browser event on the specified element.
|
|
6
|
-
* @param {HTMLElement} element - The target element.
|
|
7
|
-
* @param {Object} options - The event type and properties.
|
|
8
|
-
*/
|
|
9
|
-
export function browserTrigger(element, options) {
|
|
10
|
-
const { type, ...eventProps } = options;
|
|
11
|
-
let event;
|
|
12
|
-
if (isObject(options) && type.startsWith("key")) {
|
|
13
|
-
event = new KeyboardEvent(type, eventProps);
|
|
14
|
-
} else if (isObject(options) && type.startsWith("mouse")) {
|
|
15
|
-
event = new MouseEvent(type, eventProps);
|
|
16
|
-
} else {
|
|
17
|
-
event = new Event(type || options, { bubbles: true, cancelable: true });
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
element.dispatchEvent(event);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Delays execution for a specified number of milliseconds.
|
|
25
|
-
* TODO remove
|
|
26
|
-
*
|
|
27
|
-
* @param {number} [t=0] - The number of milliseconds to wait. Defaults to 0.
|
|
28
|
-
* @returns {Promise<void>} A promise that resolves after the delay.
|
|
29
|
-
*/
|
|
30
|
-
export function wait(t = 0) {
|
|
31
|
-
return new Promise((resolve) => setTimeout(resolve, t));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
let ELEMENT;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Helper for bootstraping content onto default element
|
|
38
|
-
*/
|
|
39
|
-
export function bootstrap(htmlContent, moduleName) {
|
|
40
|
-
if (!ELEMENT) {
|
|
41
|
-
ELEMENT = document.getElementById("app");
|
|
42
|
-
window["ELEMENT"] = ELEMENT;
|
|
43
|
-
}
|
|
44
|
-
dealoc(ELEMENT);
|
|
45
|
-
ELEMENT.innerHTML = htmlContent;
|
|
46
|
-
return window["angular"].bootstrap(ELEMENT, [moduleName || "myModule"]);
|
|
47
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A normalized representation of a parsed URL.
|
|
3
|
-
*/
|
|
4
|
-
export interface ParsedUrl {
|
|
5
|
-
/**
|
|
6
|
-
* The full URL string, including protocol, host, path, query, and hash.
|
|
7
|
-
* Example: "https://example.com:8080/path?query=1#section"
|
|
8
|
-
*/
|
|
9
|
-
href: string;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* The protocol scheme of the URL, without the trailing colon.
|
|
13
|
-
* Example: "http" or "https"
|
|
14
|
-
*/
|
|
15
|
-
protocol: string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* The host part of the URL, including hostname and port (if specified).
|
|
19
|
-
* Example: "example.com:8080"
|
|
20
|
-
*/
|
|
21
|
-
host: string;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The query string portion of the URL, without the leading "?".
|
|
25
|
-
* Example: "query=1&sort=asc"
|
|
26
|
-
*/
|
|
27
|
-
search: string;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* The fragment identifier (hash) of the URL, without the leading "#".
|
|
31
|
-
* Example: "section2"
|
|
32
|
-
*/
|
|
33
|
-
hash: string;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The domain or IP address (including IPv6 in brackets) of the URL.
|
|
37
|
-
* Example: "example.com" or "[::1]"
|
|
38
|
-
*/
|
|
39
|
-
hostname: string;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* The port number of the URL as a string, or an empty string if not specified.
|
|
43
|
-
* Example: "8080" or ""
|
|
44
|
-
*/
|
|
45
|
-
port: string;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* The path of the URL, always beginning with a leading slash.
|
|
49
|
-
* Example: "/path/to/resource"
|
|
50
|
-
*/
|
|
51
|
-
pathname: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export type ResolvableUrl = string | ParsedUrl;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<title>AngularTS Test Runner</title>
|
|
6
|
-
|
|
7
|
-
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
-
<link rel="stylesheet" href="/jasmine/jasmine.css" />
|
|
9
|
-
<link rel="stylesheet" href="/public/jasmine-helper.css" />
|
|
10
|
-
<script src="/jasmine/jasmine.js"></script>
|
|
11
|
-
<script src="/jasmine/jasmine-html.js"></script>
|
|
12
|
-
<script src="/jasmine/boot0.js"></script>
|
|
13
|
-
<script src="/jasmine/boot1.js"></script>
|
|
14
|
-
<script
|
|
15
|
-
type="module"
|
|
16
|
-
src="/src/shared/url-utils/url-utils.spec.js"
|
|
17
|
-
></script>
|
|
18
|
-
</head>
|
|
19
|
-
<body>
|
|
20
|
-
<div id="app"></div>
|
|
21
|
-
</body>
|
|
22
|
-
</html>
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { isString } from "../../shared/utils.js";
|
|
2
|
-
|
|
3
|
-
const originUrl = urlResolve(window.location.href);
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @param {import("./interface.js").ResolvableUrl} url
|
|
7
|
-
* @return {import("./interface.js").ParsedUrl}
|
|
8
|
-
*/
|
|
9
|
-
export function urlResolve(url) {
|
|
10
|
-
if (!isString(url))
|
|
11
|
-
return /** @type {import("./interface.js").ParsedUrl} */ (url);
|
|
12
|
-
|
|
13
|
-
const urlParsingNode = new URL(
|
|
14
|
-
/** @type {string} */ (url),
|
|
15
|
-
window.location.href,
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
const hostname = urlParsingNode.hostname.includes(":")
|
|
19
|
-
? `[${urlParsingNode.hostname}]`
|
|
20
|
-
: urlParsingNode.hostname;
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
href: urlParsingNode.href,
|
|
24
|
-
protocol: urlParsingNode.protocol,
|
|
25
|
-
host: urlParsingNode.host,
|
|
26
|
-
search: urlParsingNode.search
|
|
27
|
-
? urlParsingNode.search.replace(/^\?/, "")
|
|
28
|
-
: "",
|
|
29
|
-
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
|
|
30
|
-
hostname,
|
|
31
|
-
port: urlParsingNode.port,
|
|
32
|
-
pathname:
|
|
33
|
-
urlParsingNode.pathname.charAt(0) === "/"
|
|
34
|
-
? urlParsingNode.pathname
|
|
35
|
-
: `/${urlParsingNode.pathname}`,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Parse a request URL and determine whether this is a same-origin request as the application
|
|
41
|
-
* document.
|
|
42
|
-
*
|
|
43
|
-
* @param {import("./interface.js").ResolvableUrl} requestUrl The url of the request as a string that will be resolved
|
|
44
|
-
* or a parsed URL object.
|
|
45
|
-
* @returns {boolean} Whether the request is for the same origin as the application document.
|
|
46
|
-
*/
|
|
47
|
-
export function urlIsSameOrigin(requestUrl) {
|
|
48
|
-
return urlsAreSameOrigin(requestUrl, originUrl);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Parse a request URL and determine whether it is same-origin as the current document base URL.
|
|
53
|
-
*
|
|
54
|
-
* Note: The base URL is usually the same as the document location (`location.href`) but can
|
|
55
|
-
* be overriden by using the `<base>` tag.
|
|
56
|
-
*
|
|
57
|
-
* @param {import("./interface.js").ResolvableUrl} requestUrl The url of the request as a string that will be resolved
|
|
58
|
-
* or a parsed URL object.
|
|
59
|
-
* @returns {boolean} Whether the URL is same-origin as the document base URL.
|
|
60
|
-
*/
|
|
61
|
-
export function urlIsSameOriginAsBaseUrl(requestUrl) {
|
|
62
|
-
return urlsAreSameOrigin(requestUrl, document.baseURI);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Create a function that can check a URL's origin against a list of allowed/trusted origins.
|
|
67
|
-
* The current location's origin is implicitly trusted.
|
|
68
|
-
*
|
|
69
|
-
* @param {string[]} trustedOriginUrls - A list of URLs (strings), whose origins are trusted.
|
|
70
|
-
*
|
|
71
|
-
* @returns {(url: import("./interface.js").ResolvableUrl) => boolean } - A function that receives a URL (string or parsed URL object) and returns
|
|
72
|
-
* whether it is of an allowed origin.
|
|
73
|
-
*/
|
|
74
|
-
export function urlIsAllowedOriginFactory(trustedOriginUrls) {
|
|
75
|
-
const parsedAllowedOriginUrls = [originUrl].concat(
|
|
76
|
-
trustedOriginUrls.map(urlResolve),
|
|
77
|
-
);
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Check whether the specified URL (string or parsed URL object) has an origin that is allowed
|
|
81
|
-
* based on a list of trusted-origin URLs. The current location's origin is implicitly
|
|
82
|
-
* trusted.
|
|
83
|
-
*
|
|
84
|
-
* @param {import("./interface.js").ResolvableUrl} requestUrl - The URL to be checked (provided as a string that will be
|
|
85
|
-
* resolved or a parsed URL object).
|
|
86
|
-
*
|
|
87
|
-
* @returns {boolean} - Whether the specified URL is of an allowed origin.
|
|
88
|
-
*/
|
|
89
|
-
return function urlIsAllowedOrigin(requestUrl) {
|
|
90
|
-
const parsedUrl = urlResolve(requestUrl);
|
|
91
|
-
return parsedAllowedOriginUrls.some(
|
|
92
|
-
urlsAreSameOrigin.bind(null, parsedUrl),
|
|
93
|
-
);
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Determine if two URLs share the same origin.
|
|
99
|
-
*
|
|
100
|
-
* @param {import("./interface.js").ResolvableUrl} url1 - First URL to compare as a string or a normalized URL in the form of
|
|
101
|
-
* a dictionary object returned by `urlResolve()`.
|
|
102
|
-
* @param {import("./interface.js").ResolvableUrl} url2 - Second URL to compare as a string or a normalized URL in the form
|
|
103
|
-
* of a dictionary object returned by `urlResolve()`.
|
|
104
|
-
*
|
|
105
|
-
* @returns {boolean} - True if both URLs have the same origin, and false otherwise.
|
|
106
|
-
*/
|
|
107
|
-
export function urlsAreSameOrigin(url1, url2) {
|
|
108
|
-
url1 = urlResolve(url1);
|
|
109
|
-
url2 = urlResolve(url2);
|
|
110
|
-
|
|
111
|
-
return url1.protocol === url2.protocol && url1.host === url2.host;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Removes a trailing hash ('#') from the given URL if it exists.
|
|
116
|
-
*
|
|
117
|
-
* @param {string} url
|
|
118
|
-
* @returns {string}
|
|
119
|
-
*/
|
|
120
|
-
export function trimEmptyHash(url) {
|
|
121
|
-
return url.replace(/#$/, "");
|
|
122
|
-
}
|