@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.
- package/@types/angular.d.ts +4 -19
- package/@types/animations/animate.d.ts +2 -2
- package/@types/animations/animation.d.ts +1 -1
- package/@types/core/compile/attributes.d.ts +1 -1
- package/@types/core/compile/compile.d.ts +2 -2
- package/@types/core/controller/controller.d.ts +1 -1
- package/@types/core/controller/interface.d.ts +6 -0
- package/@types/core/di/ng-module.d.ts +27 -26
- package/@types/core/filter/filter.d.ts +5 -5
- package/@types/core/interpolate/interface.d.ts +13 -0
- package/@types/core/interpolate/interpolate.d.ts +1 -13
- package/@types/core/scope/scope.d.ts +4 -1
- package/@types/directive/http/http.d.ts +16 -16
- package/@types/directive/http/interface.d.ts +27 -0
- package/@types/directive/include/include.d.ts +4 -4
- package/@types/directive/inject/inject.d.ts +12 -0
- package/@types/directive/model/model.d.ts +1 -1
- package/@types/directive/script/script.d.ts +2 -2
- package/@types/directive/setter/setter.d.ts +4 -4
- package/@types/filters/filter.d.ts +2 -2
- package/@types/filters/filters.d.ts +2 -2
- package/@types/filters/interface.d.ts +8 -0
- package/@types/filters/limit-to.d.ts +2 -2
- package/@types/filters/order-by.d.ts +2 -2
- package/@types/interface.d.ts +105 -82
- package/@types/namespace.d.ts +76 -0
- package/@types/router/state/interface.d.ts +8 -8
- package/@types/router/state-filters.d.ts +4 -4
- package/@types/router/template-factory.d.ts +8 -8
- package/@types/router/transition/hook-builder.d.ts +5 -2
- package/@types/router/transition/hook-registry.d.ts +11 -2
- package/@types/router/transition/transition-service.d.ts +6 -2
- package/@types/router/transition/transition.d.ts +2 -2
- package/@types/router/view/view.d.ts +1 -8
- package/@types/router/view-scroll.d.ts +4 -2
- package/@types/services/{anchor-scroll.d.ts → anchor-scroll/anchor-scroll.d.ts} +2 -2
- package/@types/services/exception/exception-handler.d.ts +2 -2
- package/@types/services/exception/interface.d.ts +1 -1
- package/@types/services/http/http.d.ts +40 -2
- package/@types/services/http/interface.d.ts +11 -0
- package/@types/services/location/location.d.ts +1 -4
- package/@types/services/sce/sce.d.ts +3 -4
- package/@types/services/template-cache/template-cache.d.ts +4 -4
- package/@types/services/template-request/interface.d.ts +22 -0
- package/@types/services/{template-request.d.ts → template-request/template-request.d.ts} +4 -7
- package/@types/shared/common.d.ts +8 -69
- package/@types/shared/hof.d.ts +7 -7
- package/dist/angular-ts.esm.js +510 -570
- package/dist/angular-ts.umd.js +510 -570
- 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/@types/services/cookie-reader.d.ts +0 -4
- package/@types/services/http-backend/http-backend.d.ts +0 -58
- package/@types/services/template-cache/interface.d.ts +0 -10
- 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/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/templateCacheProvider.md +0 -100
- package/docs/content/docs/service/_index.md +0 -4
- package/docs/content/docs/service/eventBus.md +0 -56
- package/docs/content/docs/service/location.md +0 -57
- package/docs/content/docs/service/log.md +0 -113
- package/docs/content/docs/service/templateCache.md +0 -64
- package/docs/content/docs/service/url.md +0 -5
- 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/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/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/typedoc/.nojekyll +0 -1
- package/docs/static/typedoc/assets/hierarchy.js +0 -1
- package/docs/static/typedoc/assets/highlight.css +0 -78
- 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 -3
- 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/ChangesObject.html +0 -6
- package/docs/static/typedoc/interfaces/ComponentOptions.html +0 -16
- package/docs/static/typedoc/interfaces/Controller.html +0 -12
- package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
- package/docs/static/typedoc/interfaces/Directive.html +0 -37
- package/docs/static/typedoc/interfaces/DirectivePrePost.html +0 -4
- 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/NgModelController.html +0 -30
- package/docs/static/typedoc/interfaces/NgModelOptions.html +0 -16
- package/docs/static/typedoc/interfaces/Provider.html +0 -34
- 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/TemplateCache.html +0 -7
- package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +0 -8
- package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
- package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +0 -1
- package/docs/static/typedoc/types/AnnotatedFactory.html +0 -8
- package/docs/static/typedoc/types/CloneAttachFunction.html +0 -2
- package/docs/static/typedoc/types/ControllerConstructor.html +0 -2
- package/docs/static/typedoc/types/DirectiveCompileFn.html +0 -2
- package/docs/static/typedoc/types/DirectiveController.html +0 -2
- package/docs/static/typedoc/types/DirectiveFactory.html +0 -1
- package/docs/static/typedoc/types/DirectiveFactoryFn.html +0 -1
- package/docs/static/typedoc/types/DirectiveLinkFn.html +0 -2
- package/docs/static/typedoc/types/ExpandoStore.html +0 -2
- package/docs/static/typedoc/types/Expression.html +0 -6
- package/docs/static/typedoc/types/FilterFactory.html +0 -2
- package/docs/static/typedoc/types/FilterFn.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/Injectable.html +0 -4
- package/docs/static/typedoc/types/InjectableClass.html +0 -1
- package/docs/static/typedoc/types/InjectableFactory.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/OnChangesObject.html +0 -2
- package/docs/static/typedoc/types/SwapModeType.html +0 -2
- package/docs/static/typedoc/types/TController.html +0 -2
- package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
- package/docs/static/typedoc/variables/EventBus.html +0 -1
- package/docs/static/typedoc/variables/SwapMode.html +0 -11
- 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 -2599
- 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 -293
- 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 -3270
- 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 -189
- package/src/core/controller/controller.spec.js +0 -334
- package/src/core/controller/controller.test.js +0 -12
- 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 -284
- package/src/core/di/ng-module.html +0 -19
- package/src/core/di/ng-module.js +0 -226
- 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/interpolate.html +0 -22
- package/src/core/interpolate/interpolate.js +0 -408
- 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 -1249
- 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 -26
- 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/post-example.html +0 -30
- package/src/directive/http/post.spec.js +0 -521
- package/src/directive/http/put.spec.js +0 -26
- 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/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.md +0 -69
- 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/json.md +0 -16
- package/src/filters/limit-to.js +0 -55
- package/src/filters/limit-to.md +0 -19
- package/src/filters/limit-to.spec.js +0 -252
- package/src/filters/order-by.js +0 -181
- package/src/filters/order-by.md +0 -83
- 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 -78
- package/src/interface.ts +0 -421
- package/src/ng.js +0 -289
- package/src/ng.spec.js +0 -33
- 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 -1937
- 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/README.md +0 -21
- 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 -257
- package/src/router/state/state-service.js +0 -699
- 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 -155
- package/src/router/template-factory.test.js +0 -12
- package/src/router/transition/hook-builder.js +0 -133
- package/src/router/transition/hook-registry.js +0 -172
- 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 -302
- package/src/router/transition/transition.js +0 -652
- 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 -274
- 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.html +0 -76
- package/src/services/anchor-scroll.js +0 -147
- package/src/services/cookie-reader.js +0 -48
- 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 -922
- package/src/services/http/http.md +0 -413
- package/src/services/http/http.spec.js +0 -3941
- package/src/services/http/http.test.js +0 -11
- package/src/services/http/interface.ts +0 -243
- package/src/services/http/template-request.spec.js +0 -220
- package/src/services/http-backend/http-backend.html +0 -22
- package/src/services/http-backend/http-backend.js +0 -158
- package/src/services/http-backend/http-backend.spec.js +0 -389
- package/src/services/http-backend/http-backend.test.js +0 -12
- 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 -847
- package/src/services/sce/sce.md +0 -300
- package/src/services/sce/sce.spec.js +0 -617
- package/src/services/sce/sce.test.js +0 -12
- package/src/services/template-cache/interface.ts +0 -10
- 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.js +0 -142
- package/src/shared/cache.js +0 -7
- package/src/shared/common.js +0 -438
- 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 -151
- 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/common.js
DELETED
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
import { isDate, isFunction, isRegExp, isString } from "./utils.js";
|
|
2
|
-
import { curry } from "./hof.js";
|
|
3
|
-
|
|
4
|
-
export function equals(o1, o2) {
|
|
5
|
-
if (o1 === o2) return true;
|
|
6
|
-
if (o1 === null || o2 === null) return false;
|
|
7
|
-
if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN
|
|
8
|
-
const t1 = typeof o1,
|
|
9
|
-
t2 = typeof o2;
|
|
10
|
-
if (t1 !== t2 || t1 !== "object") return false;
|
|
11
|
-
const tup = [o1, o2];
|
|
12
|
-
if (tup.every(Array.isArray)) return _arraysEq(o1, o2);
|
|
13
|
-
if (tup.every(isDate)) return o1.getTime() === o2.getTime();
|
|
14
|
-
if (tup.every(isRegExp)) return o1.toString() === o2.toString();
|
|
15
|
-
if (tup.every(isFunction)) return true; // meh
|
|
16
|
-
if ([isFunction, Array.isArray, isDate, isRegExp].some((fn) => !!fn(tup))) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
const keys = {};
|
|
20
|
-
|
|
21
|
-
for (const key in o1) {
|
|
22
|
-
if (!equals(o1[key], o2[key])) return false;
|
|
23
|
-
keys[key] = true;
|
|
24
|
-
}
|
|
25
|
-
for (const key in o2) {
|
|
26
|
-
if (!keys[key]) return false;
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Builds proxy functions on the `to` object which pass through to the `from` object.
|
|
32
|
-
*
|
|
33
|
-
* For each key in `fnNames`, creates a proxy function on the `to` object.
|
|
34
|
-
* The proxy function calls the real function on the `from` object.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* #### Example:
|
|
38
|
-
* This example creates an new class instance whose functions are prebound to the new'd object.
|
|
39
|
-
* ```js
|
|
40
|
-
* class Foo {
|
|
41
|
-
* constructor(data) {
|
|
42
|
-
* // Binds all functions from Foo.prototype to 'this',
|
|
43
|
-
* // then copies them to 'this'
|
|
44
|
-
* bindFunctions(Foo.prototype, this, this);
|
|
45
|
-
* this.data = data;
|
|
46
|
-
* }
|
|
47
|
-
*
|
|
48
|
-
* log() {
|
|
49
|
-
* console.log(this.data);
|
|
50
|
-
* }
|
|
51
|
-
* }
|
|
52
|
-
*
|
|
53
|
-
* let myFoo = new Foo([1,2,3]);
|
|
54
|
-
* var logit = myFoo.log;
|
|
55
|
-
* logit(); // logs [1, 2, 3] from the myFoo 'this' instance
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* #### Example:
|
|
59
|
-
* This example creates a bound version of a service function, and copies it to another object
|
|
60
|
-
* ```
|
|
61
|
-
*
|
|
62
|
-
* var SomeService = {
|
|
63
|
-
* this.data = [3, 4, 5];
|
|
64
|
-
* this.log = function() {
|
|
65
|
-
* console.log(this.data);
|
|
66
|
-
* }
|
|
67
|
-
* }
|
|
68
|
-
*
|
|
69
|
-
* // Constructor fn
|
|
70
|
-
* function OtherThing() {
|
|
71
|
-
* // Binds all functions from SomeService to SomeService,
|
|
72
|
-
* // then copies them to 'this'
|
|
73
|
-
* bindFunctions(SomeService, this, SomeService);
|
|
74
|
-
* }
|
|
75
|
-
*
|
|
76
|
-
* let myOtherThing = new OtherThing();
|
|
77
|
-
* myOtherThing.log(); // logs [3, 4, 5] from SomeService's 'this'
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
|
-
* @param source A function that returns the source object which contains the original functions to be bound
|
|
81
|
-
* @param target A function that returns the target object which will receive the bound functions
|
|
82
|
-
* @param bind A function that returns the object which the functions will be bound to
|
|
83
|
-
* @param fnNames The function names which will be bound (Defaults to all the functions found on the 'from' object)
|
|
84
|
-
* @param latebind If true, the binding of the function is delayed until the first time it's invoked
|
|
85
|
-
*/
|
|
86
|
-
export function createProxyFunctions(
|
|
87
|
-
source,
|
|
88
|
-
target,
|
|
89
|
-
bind,
|
|
90
|
-
fnNames,
|
|
91
|
-
latebind = false,
|
|
92
|
-
) {
|
|
93
|
-
const bindFunction = (fnName) => source()[fnName].bind(bind());
|
|
94
|
-
const makeLateRebindFn = (fnName) =>
|
|
95
|
-
function lateRebindFunction() {
|
|
96
|
-
target[fnName] = bindFunction(fnName);
|
|
97
|
-
return target[fnName].apply(null, arguments);
|
|
98
|
-
};
|
|
99
|
-
fnNames = fnNames || Object.keys(source());
|
|
100
|
-
return fnNames.reduce((acc, name) => {
|
|
101
|
-
acc[name] = latebind ? makeLateRebindFn(name) : bindFunction(name);
|
|
102
|
-
return acc;
|
|
103
|
-
}, target);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* prototypal inheritance helper.
|
|
107
|
-
* Creates a new object which has `parent` object as its prototype, and then copies the properties from `extra` onto it
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* prototypal inheritance helper.
|
|
112
|
-
* Creates a new object which has `parent` object as its prototype, and then copies the properties from `extra` onto it.
|
|
113
|
-
*
|
|
114
|
-
* @param {Object} parent - The object to be used as the prototype.
|
|
115
|
-
* @param {Object} [extra] - The object containing additional properties to be copied.
|
|
116
|
-
* @returns {Object} - A new object with `parent` as its prototype and properties from `extra`.
|
|
117
|
-
*/
|
|
118
|
-
export function inherit(parent, extra) {
|
|
119
|
-
const newObj = Object.create(parent);
|
|
120
|
-
if (extra) {
|
|
121
|
-
Object.assign(newObj, extra);
|
|
122
|
-
}
|
|
123
|
-
return newObj;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Given an array, and an item, if the item is found in the array, it removes it (in-place).
|
|
128
|
-
* The same array is returned
|
|
129
|
-
*/
|
|
130
|
-
export const removeFrom = curry(_removeFrom);
|
|
131
|
-
export function _removeFrom(array, obj) {
|
|
132
|
-
const idx = array.indexOf(obj);
|
|
133
|
-
if (idx >= 0) array.splice(idx, 1);
|
|
134
|
-
return array;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Applies a set of defaults to an options object. The options object is filtered
|
|
139
|
-
* to only those properties of the objects in the defaultsList.
|
|
140
|
-
* Earlier objects in the defaultsList take precedence when applying defaults.
|
|
141
|
-
*/
|
|
142
|
-
export function defaults(opts, ...defaultsList) {
|
|
143
|
-
const defaultVals = Object.assign({}, ...defaultsList.reverse());
|
|
144
|
-
return Object.assign(defaultVals, pick(opts || {}, Object.keys(defaultVals)));
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Finds the common ancestor path between two states.
|
|
149
|
-
*
|
|
150
|
-
* @param {Object} first The first state.
|
|
151
|
-
* @param {Object} second The second state.
|
|
152
|
-
* @return {Array} Returns an array of state names in descending order, not including the root.
|
|
153
|
-
*/
|
|
154
|
-
export function ancestors(first, second) {
|
|
155
|
-
const path = [];
|
|
156
|
-
for (const n in first.path) {
|
|
157
|
-
if (first.path[n] !== second.path[n]) break;
|
|
158
|
-
path.push(first.path[n]);
|
|
159
|
-
}
|
|
160
|
-
return path;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Return a copy of the object only containing the whitelisted properties.
|
|
164
|
-
*
|
|
165
|
-
* #### Example:
|
|
166
|
-
* ```
|
|
167
|
-
* var foo = { a: 1, b: 2, c: 3 };
|
|
168
|
-
* var ab = pick(foo, ['a', 'b']); // { a: 1, b: 2 }
|
|
169
|
-
* ```
|
|
170
|
-
* @param obj the source object
|
|
171
|
-
* @param propNames an Array of strings, which are the whitelisted property names
|
|
172
|
-
*/
|
|
173
|
-
export function pick(obj, propNames) {
|
|
174
|
-
const objCopy = {};
|
|
175
|
-
for (const _prop in obj) {
|
|
176
|
-
if (propNames.indexOf(_prop) !== -1) {
|
|
177
|
-
objCopy[_prop] = obj[_prop];
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return objCopy;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Return a copy of the object omitting the blacklisted properties.
|
|
184
|
-
*
|
|
185
|
-
* @example
|
|
186
|
-
* ```
|
|
187
|
-
*
|
|
188
|
-
* var foo = { a: 1, b: 2, c: 3 };
|
|
189
|
-
* var ab = omit(foo, ['a', 'b']); // { c: 3 }
|
|
190
|
-
* ```
|
|
191
|
-
* @param obj the source object
|
|
192
|
-
* @param propNames an Array of strings, which are the blacklisted property names
|
|
193
|
-
*/
|
|
194
|
-
export function omit(obj, propNames) {
|
|
195
|
-
return Object.keys(obj)
|
|
196
|
-
.filter((x) => !propNames.includes(x))
|
|
197
|
-
.reduce((acc, key) => ((acc[key] = obj[key]), acc), {});
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/** Filters an Array or an Object's properties based on a predicate */
|
|
201
|
-
export function filter(collection, callback) {
|
|
202
|
-
const arr = Array.isArray(collection),
|
|
203
|
-
result = arr ? [] : {};
|
|
204
|
-
const accept = arr ? (x) => result.push(x) : (x, key) => (result[key] = x);
|
|
205
|
-
Object.entries(collection).forEach(([i, item]) => {
|
|
206
|
-
if (callback(item, i)) accept(item, i);
|
|
207
|
-
});
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/** Finds an object from an array, or a property of an object, that matches a predicate */
|
|
212
|
-
export function find(collection, callback) {
|
|
213
|
-
let result;
|
|
214
|
-
Object.entries(collection).forEach(([i, item]) => {
|
|
215
|
-
if (result) return;
|
|
216
|
-
if (callback(item, i)) result = item;
|
|
217
|
-
});
|
|
218
|
-
return result;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/** Maps an array or object properties using a callback function */
|
|
222
|
-
export function map(collection, callback, target) {
|
|
223
|
-
target = target || (Array.isArray(collection) ? [] : {});
|
|
224
|
-
Object.entries(collection).forEach(
|
|
225
|
-
([i, item]) => (target[i] = callback(item, i)),
|
|
226
|
-
);
|
|
227
|
-
return target;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Reduce function that returns true if all of the values are truthy.
|
|
232
|
-
*
|
|
233
|
-
* @example
|
|
234
|
-
* ```
|
|
235
|
-
*
|
|
236
|
-
* let vals = [ 1, true, {}, "hello world"];
|
|
237
|
-
* vals.reduce(allTrueR, true); // true
|
|
238
|
-
*
|
|
239
|
-
* vals.push(0);
|
|
240
|
-
* vals.reduce(allTrueR, true); // false
|
|
241
|
-
* ```
|
|
242
|
-
*/
|
|
243
|
-
export const allTrueR = (memo, elem) => memo && elem;
|
|
244
|
-
/**
|
|
245
|
-
* Reduce function that returns true if any of the values are truthy.
|
|
246
|
-
*
|
|
247
|
-
* * @example
|
|
248
|
-
* ```
|
|
249
|
-
*
|
|
250
|
-
* let vals = [ 0, null, undefined ];
|
|
251
|
-
* vals.reduce(anyTrueR, true); // false
|
|
252
|
-
*
|
|
253
|
-
* vals.push("hello world");
|
|
254
|
-
* vals.reduce(anyTrueR, true); // true
|
|
255
|
-
* ```
|
|
256
|
-
*/
|
|
257
|
-
export const anyTrueR = (memo, elem) => memo || elem;
|
|
258
|
-
/**
|
|
259
|
-
* Reduce function which un-nests a single level of arrays
|
|
260
|
-
* @example
|
|
261
|
-
* ```
|
|
262
|
-
*
|
|
263
|
-
* let input = [ [ "a", "b" ], [ "c", "d" ], [ [ "double", "nested" ] ] ];
|
|
264
|
-
* input.reduce(unnestR, []) // [ "a", "b", "c", "d", [ "double, "nested" ] ]
|
|
265
|
-
* ```
|
|
266
|
-
*/
|
|
267
|
-
export const unnestR = (memo, elem) => memo.concat(elem);
|
|
268
|
-
/**
|
|
269
|
-
* Reduce function which recursively un-nests all arrays
|
|
270
|
-
*
|
|
271
|
-
* @example
|
|
272
|
-
* ```
|
|
273
|
-
*
|
|
274
|
-
* let input = [ [ "a", "b" ], [ "c", "d" ], [ [ "double", "nested" ] ] ];
|
|
275
|
-
* input.reduce(unnestR, []) // [ "a", "b", "c", "d", "double, "nested" ]
|
|
276
|
-
* ```
|
|
277
|
-
*/
|
|
278
|
-
export const flattenR = (memo, elem) =>
|
|
279
|
-
Array.isArray(elem)
|
|
280
|
-
? memo.concat(elem.reduce(flattenR, []))
|
|
281
|
-
: pushR(memo, elem);
|
|
282
|
-
/**
|
|
283
|
-
* Reduce function that pushes an object to an array, then returns the array.
|
|
284
|
-
* Mostly just for [[flattenR]] and [[uniqR]]
|
|
285
|
-
*/
|
|
286
|
-
export function pushR(arr, obj) {
|
|
287
|
-
arr.push(obj);
|
|
288
|
-
return arr;
|
|
289
|
-
}
|
|
290
|
-
/** Reduce function that filters out duplicates */
|
|
291
|
-
export const uniqR = (acc, token) =>
|
|
292
|
-
acc.includes(token) ? acc : pushR(acc, token);
|
|
293
|
-
/**
|
|
294
|
-
* Return a new array with a single level of arrays unnested.
|
|
295
|
-
*
|
|
296
|
-
* @example
|
|
297
|
-
* ```
|
|
298
|
-
*
|
|
299
|
-
* let input = [ [ "a", "b" ], [ "c", "d" ], [ [ "double", "nested" ] ] ];
|
|
300
|
-
* unnest(input) // [ "a", "b", "c", "d", [ "double, "nested" ] ]
|
|
301
|
-
* ```
|
|
302
|
-
*/
|
|
303
|
-
export const unnest = (arr) => arr.reduce(unnestR, []);
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Given a .filter Predicate, builds a .filter Predicate which throws an error if any elements do not pass.
|
|
307
|
-
* @example
|
|
308
|
-
* ```
|
|
309
|
-
*
|
|
310
|
-
* let isNumber = (obj) => typeof(obj) === 'number';
|
|
311
|
-
* let allNumbers = [ 1, 2, 3, 4, 5 ];
|
|
312
|
-
* allNumbers.filter(assertPredicate(isNumber)); //OK
|
|
313
|
-
*
|
|
314
|
-
* let oneString = [ 1, 2, 3, 4, "5" ];
|
|
315
|
-
* oneString.filter(assertPredicate(isNumber, "Not all numbers")); // throws Error(""Not all numbers"");
|
|
316
|
-
* ```
|
|
317
|
-
*/
|
|
318
|
-
export const assertPredicate = assertFn;
|
|
319
|
-
|
|
320
|
-
export function assertFn(predicateOrMap, errMsg = "assert failure") {
|
|
321
|
-
return (obj) => {
|
|
322
|
-
const result = predicateOrMap(obj);
|
|
323
|
-
if (!result) {
|
|
324
|
-
throw new Error(errMsg);
|
|
325
|
-
}
|
|
326
|
-
return result;
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Like _.pairs: Given an object, returns an array of key/value pairs
|
|
331
|
-
*
|
|
332
|
-
* @example
|
|
333
|
-
* ```
|
|
334
|
-
*
|
|
335
|
-
* pairs({ foo: "FOO", bar: "BAR }) // [ [ "foo", "FOO" ], [ "bar": "BAR" ] ]
|
|
336
|
-
* ```
|
|
337
|
-
*/
|
|
338
|
-
export const pairs = (obj) => Object.keys(obj).map((key) => [key, obj[key]]);
|
|
339
|
-
/**
|
|
340
|
-
* Given two or more parallel arrays, returns an array of tuples where
|
|
341
|
-
* each tuple is composed of [ a[i], b[i], ... z[i] ]
|
|
342
|
-
*
|
|
343
|
-
* @example
|
|
344
|
-
* ```
|
|
345
|
-
*
|
|
346
|
-
* let foo = [ 0, 2, 4, 6 ];
|
|
347
|
-
* let bar = [ 1, 3, 5, 7 ];
|
|
348
|
-
* let baz = [ 10, 30, 50, 70 ];
|
|
349
|
-
* arrayTuples(foo, bar); // [ [0, 1], [2, 3], [4, 5], [6, 7] ]
|
|
350
|
-
* arrayTuples(foo, bar, baz); // [ [0, 1, 10], [2, 3, 30], [4, 5, 50], [6, 7, 70] ]
|
|
351
|
-
* ```
|
|
352
|
-
*/
|
|
353
|
-
export function arrayTuples(...args) {
|
|
354
|
-
if (args.length === 0) return [];
|
|
355
|
-
const maxArrayLen = args.reduce(
|
|
356
|
-
(min, arr) => Math.min(arr.length, min),
|
|
357
|
-
9007199254740991,
|
|
358
|
-
); // aka 2^53 − 1 aka Number.MAX_SAFE_INTEGER
|
|
359
|
-
const result = [];
|
|
360
|
-
for (let i = 0; i < maxArrayLen; i++) {
|
|
361
|
-
// This is a hot function
|
|
362
|
-
// Unroll when there are 1-4 arguments
|
|
363
|
-
switch (args.length) {
|
|
364
|
-
case 1:
|
|
365
|
-
result.push([args[0][i]]);
|
|
366
|
-
break;
|
|
367
|
-
case 2:
|
|
368
|
-
result.push([args[0][i], args[1][i]]);
|
|
369
|
-
break;
|
|
370
|
-
case 3:
|
|
371
|
-
result.push([args[0][i], args[1][i], args[2][i]]);
|
|
372
|
-
break;
|
|
373
|
-
case 4:
|
|
374
|
-
result.push([args[0][i], args[1][i], args[2][i], args[3][i]]);
|
|
375
|
-
break;
|
|
376
|
-
default:
|
|
377
|
-
result.push(args.map((array) => array[i]));
|
|
378
|
-
break;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
return result;
|
|
382
|
-
}
|
|
383
|
-
/**
|
|
384
|
-
* Reduce function which builds an object from an array of [key, value] pairs.
|
|
385
|
-
*
|
|
386
|
-
* Each iteration sets the key/val pair on the memo object, then returns the memo for the next iteration.
|
|
387
|
-
*
|
|
388
|
-
* Each keyValueTuple should be an array with values [ key: string, value: any ]
|
|
389
|
-
*
|
|
390
|
-
* @example
|
|
391
|
-
* ```
|
|
392
|
-
*
|
|
393
|
-
* var pairs = [ ["fookey", "fooval"], ["barkey", "barval"] ]
|
|
394
|
-
*
|
|
395
|
-
* var pairsToObj = pairs.reduce((memo, pair) => applyPairs(memo, pair), {})
|
|
396
|
-
* // pairsToObj == { fookey: "fooval", barkey: "barval" }
|
|
397
|
-
*
|
|
398
|
-
* // Or, more simply:
|
|
399
|
-
* var pairsToObj = pairs.reduce(applyPairs, {})
|
|
400
|
-
* // pairsToObj == { fookey: "fooval", barkey: "barval" }
|
|
401
|
-
* ```
|
|
402
|
-
*/
|
|
403
|
-
export function applyPairs(memo, keyValTuple) {
|
|
404
|
-
let key, value;
|
|
405
|
-
if (Array.isArray(keyValTuple)) [key, value] = keyValTuple;
|
|
406
|
-
if (!isString(key)) throw new Error("invalid parameters to applyPairs");
|
|
407
|
-
memo[key] = value;
|
|
408
|
-
return memo;
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
/**
|
|
412
|
-
* Returns the last element of an array, or undefined if the array is empty.
|
|
413
|
-
* @template T
|
|
414
|
-
* @param {T[]} arr - The input array.
|
|
415
|
-
* @returns {T | undefined} The last element or undefined.
|
|
416
|
-
*/
|
|
417
|
-
export function tail(arr) {
|
|
418
|
-
return arr.length > 0 ? arr[arr.length - 1] : undefined;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
/**
|
|
422
|
-
* shallow copy from src to dest
|
|
423
|
-
*/
|
|
424
|
-
export function copy(src, dest) {
|
|
425
|
-
if (dest) Object.keys(dest).forEach((key) => delete dest[key]);
|
|
426
|
-
if (!dest) dest = {};
|
|
427
|
-
return Object.assign(dest, src);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
function _arraysEq(a1, a2) {
|
|
431
|
-
if (a1.length !== a2.length) return false;
|
|
432
|
-
return arrayTuples(a1, a2).reduce((b, t) => b && equals(t[0], t[1]), true);
|
|
433
|
-
}
|
|
434
|
-
// issue #2676
|
|
435
|
-
export const silenceUncaughtInPromise = (promise) =>
|
|
436
|
-
promise.catch(() => 0) && promise;
|
|
437
|
-
export const silentRejection = (error) =>
|
|
438
|
-
silenceUncaughtInPromise(Promise.reject(error));
|