angular-toolbox 0.0.7 → 0.9.0
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/LICENSE +21 -0
- package/README.md +14 -10
- package/{esm2020 → esm2022}/angular-toolbox.mjs +4 -4
- package/esm2022/lib/angular-toolbox.module.mjs +21 -0
- package/esm2022/lib/core/bridge/app-bridge.mjs +76 -0
- package/esm2022/lib/core/error/app-bridge-error.mjs +24 -0
- package/esm2022/lib/core/error/http-mock-service-error.mjs +26 -0
- package/esm2022/lib/core/error/index.mjs +5 -0
- package/esm2022/lib/core/error/integrity-error.mjs +26 -0
- package/esm2022/lib/core/error/subscription-error.mjs +26 -0
- package/esm2022/lib/core/impl/index.mjs +2 -0
- package/esm2022/lib/core/impl/lang/identifiable-component.mjs +31 -0
- package/esm2022/lib/core/impl/lang/index.mjs +2 -0
- package/esm2022/lib/core/impl/version/version.impl.mjs +34 -0
- package/esm2022/lib/core/index.mjs +3 -0
- package/esm2022/lib/directive/anchor-link.directive.mjs +62 -0
- package/esm2022/lib/directive/button-role.directive.mjs +102 -0
- package/esm2022/lib/directive/content-renderer.directive.mjs +61 -0
- package/esm2022/lib/directive/index.mjs +5 -0
- package/esm2022/lib/directive/navigate-to-url.directive.mjs +51 -0
- package/esm2022/lib/directive/navigation-directive-base.mjs +23 -0
- package/esm2022/lib/framework/index.mjs +2 -0
- package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +9 -0
- package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +48 -0
- package/esm2022/lib/framework/mock/http/config/index.mjs +3 -0
- package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +9 -0
- package/esm2022/lib/framework/mock/http/core/data-storage.mjs +9 -0
- package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +122 -0
- package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +48 -0
- package/esm2022/lib/framework/mock/http/index.mjs +4 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +111 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +34 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +28 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +76 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +96 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +28 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +30 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +87 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +41 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +29 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +49 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +33 -0
- package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +35 -0
- package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +138 -0
- package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +56 -0
- package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +60 -0
- package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +117 -0
- package/esm2022/lib/framework/mock/http/util/index.mjs +3 -0
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +316 -0
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +29 -0
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +19 -0
- package/esm2022/lib/framework/mock/http/xhr/index.mjs +2 -0
- package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +123 -0
- package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +177 -0
- package/esm2022/lib/model/business/index.mjs +5 -0
- package/esm2022/lib/model/business/lang/app-bridge-command.mjs +9 -0
- package/esm2022/lib/model/business/lang/destroyable.mjs +9 -0
- package/esm2022/lib/model/business/lang/identifiable.mjs +9 -0
- package/esm2022/lib/model/business/lang/index.mjs +5 -0
- package/esm2022/lib/model/business/lang/instantiable.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/index.mjs +8 -0
- package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +9 -0
- package/esm2022/lib/model/business/ui/dark-mode-config.mjs +9 -0
- package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +43 -0
- package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +16 -0
- package/esm2022/lib/model/business/ui/index.mjs +5 -0
- package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +9 -0
- package/esm2022/lib/model/business/version/index.mjs +4 -0
- package/esm2022/lib/model/business/version/version-config.mjs +9 -0
- package/esm2022/lib/model/business/version/version-config.provider.mjs +40 -0
- package/esm2022/lib/model/business/version/version.mjs +10 -0
- package/esm2022/lib/model/index.mjs +3 -0
- package/esm2022/lib/model/service/index.mjs +5 -0
- package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +239 -0
- package/esm2022/lib/model/service/subscription/subscription.service.mjs +122 -0
- package/esm2022/lib/model/service/ui/app-bridge.service.mjs +142 -0
- package/esm2022/lib/model/service/ui/dark-mode.service.mjs +183 -0
- package/esm2022/lib/model/service/ui/index.mjs +4 -0
- package/esm2022/lib/model/service/ui/scroll.service.mjs +93 -0
- package/esm2022/lib/model/service/version/version.service.mjs +51 -0
- package/{esm2020 → esm2022}/lib/pipe/index.mjs +1 -1
- package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +34 -0
- package/esm2022/lib/util/aria-role.constant.mjs +16 -0
- package/esm2022/lib/util/default-scroll-behavior.mjs +13 -0
- package/esm2022/lib/util/empty-string.const.mjs +12 -0
- package/esm2022/lib/util/index.mjs +5 -0
- package/esm2022/lib/util/js-type.mjs +40 -0
- package/esm2022/lib/util/uuid.mjs +126 -0
- package/esm2022/public-api.mjs +18 -0
- package/fesm2022/angular-toolbox.mjs +3710 -0
- package/fesm2022/angular-toolbox.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/angular-toolbox.module.d.ts +9 -7
- package/lib/core/bridge/app-bridge.d.ts +59 -0
- package/lib/core/error/app-bridge-error.d.ts +16 -0
- package/lib/core/error/http-mock-service-error.d.ts +18 -0
- package/lib/core/error/index.d.ts +4 -0
- package/lib/core/error/integrity-error.d.ts +18 -0
- package/lib/core/error/subscription-error.d.ts +18 -0
- package/lib/core/impl/index.d.ts +1 -0
- package/lib/core/impl/lang/identifiable-component.d.ts +26 -0
- package/lib/core/impl/lang/index.d.ts +1 -0
- package/lib/core/impl/version/version.impl.d.ts +42 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/directive/anchor-link.directive.d.ts +29 -0
- package/lib/directive/button-role.directive.d.ts +52 -0
- package/lib/directive/content-renderer.directive.d.ts +39 -0
- package/lib/directive/index.d.ts +4 -0
- package/lib/directive/navigate-to-url.directive.d.ts +23 -0
- package/lib/directive/navigation-directive-base.d.ts +19 -0
- package/lib/framework/index.d.ts +1 -0
- package/lib/framework/mock/http/config/http-mock-parameters.d.ts +13 -0
- package/lib/framework/mock/http/config/http-mock.decorator.d.ts +13 -0
- package/lib/framework/mock/http/config/index.d.ts +2 -0
- package/lib/framework/mock/http/config/route-mock-config.d.ts +30 -0
- package/lib/framework/mock/http/core/data-storage.d.ts +38 -0
- package/lib/framework/mock/http/event/event-target.impl.d.ts +70 -0
- package/lib/framework/mock/http/event/progress-event-mock.d.ts +36 -0
- package/lib/framework/mock/http/index.d.ts +3 -0
- package/lib/framework/mock/http/path-to-regexp/constants.d.ts +111 -0
- package/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.d.ts +24 -0
- package/lib/framework/mock/http/path-to-regexp/get-flags.d.ts +25 -0
- package/lib/framework/mock/http/path-to-regexp/iter.d.ts +50 -0
- package/lib/framework/mock/http/path-to-regexp/lexer.d.ts +24 -0
- package/lib/framework/mock/http/path-to-regexp/loose-replacer.d.ts +25 -0
- package/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/encode.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/key.d.ts +45 -0
- package/lib/framework/mock/http/path-to-regexp/model/lex-token.d.ts +34 -0
- package/lib/framework/mock/http/path-to-regexp/model/lexer-type.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/parse-options.d.ts +33 -0
- package/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.d.ts +52 -0
- package/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.d.ts +22 -0
- package/lib/framework/mock/http/path-to-regexp/model/simple-tokens.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.d.ts +23 -0
- package/lib/framework/mock/http/path-to-regexp/model/token-type.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/token.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/string-to-token-data.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/to-key-regexp.d.ts +22 -0
- package/lib/framework/mock/http/path-to-regexp/to-stringify.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/token-data.d.ts +32 -0
- package/lib/framework/mock/http/util/data-storage.builder.d.ts +25 -0
- package/lib/framework/mock/http/util/http-headers-mock.builder.d.ts +106 -0
- package/lib/framework/mock/http/util/http-headers.util.d.ts +31 -0
- package/lib/framework/mock/http/util/http-method-ref.enum.d.ts +58 -0
- package/lib/framework/mock/http/util/http-mock-response.builder.d.ts +83 -0
- package/lib/framework/mock/http/util/index.d.ts +2 -0
- package/lib/framework/mock/http/xhr/delegate-xhr.d.ts +199 -0
- package/lib/framework/mock/http/xhr/http-mock-factory.d.ts +14 -0
- package/lib/framework/mock/http/xhr/http-mock-factory.impl.d.ts +24 -0
- package/lib/framework/mock/http/xhr/index.d.ts +1 -0
- package/lib/framework/mock/http/xhr/xhr-base.d.ts +123 -0
- package/lib/framework/mock/http/xhr/xhr-proxy-impl.d.ts +125 -0
- package/lib/model/business/index.d.ts +4 -0
- package/lib/model/business/lang/app-bridge-command.d.ts +11 -0
- package/lib/model/business/lang/destroyable.d.ts +16 -0
- package/lib/model/business/lang/identifiable.d.ts +19 -0
- package/lib/model/business/lang/index.d.ts +4 -0
- package/lib/model/business/lang/instantiable.d.ts +15 -0
- package/lib/model/business/mock/http/http-method-mock.d.ts +35 -0
- package/lib/model/business/mock/http/http-mock-config.d.ts +28 -0
- package/lib/model/business/mock/http/http-mock-endpoint.d.ts +41 -0
- package/lib/model/business/mock/http/http-mock-error.d.ts +21 -0
- package/lib/model/business/mock/http/http-mock-interceptor.d.ts +27 -0
- package/lib/model/business/mock/http/http-response-mock.d.ts +44 -0
- package/lib/model/business/mock/http/index.d.ts +7 -0
- package/lib/model/business/mock/http/xhr-proxy.d.ts +15 -0
- package/lib/model/business/ui/dark-mode-config.d.ts +29 -0
- package/lib/model/business/ui/dark-mode-config.provider.d.ts +21 -0
- package/lib/model/business/ui/dark-mode.constant.d.ts +15 -0
- package/lib/model/business/ui/index.d.ts +4 -0
- package/lib/model/business/ui/scroll-behavior.type.d.ts +11 -0
- package/lib/model/business/version/index.d.ts +3 -0
- package/lib/model/business/version/version-config.d.ts +28 -0
- package/lib/model/business/version/version-config.provider.d.ts +22 -0
- package/lib/model/business/version/version.d.ts +34 -0
- package/lib/model/index.d.ts +2 -0
- package/lib/model/service/index.d.ts +4 -0
- package/lib/model/service/mock/http/http-mock.service.d.ts +101 -0
- package/lib/model/service/subscription/subscription.service.d.ts +66 -0
- package/lib/model/service/ui/app-bridge.service.d.ts +80 -0
- package/lib/model/service/ui/dark-mode.service.d.ts +99 -0
- package/lib/model/service/ui/index.d.ts +3 -0
- package/lib/model/service/ui/scroll.service.d.ts +55 -0
- package/lib/model/service/version/version.service.d.ts +30 -0
- package/lib/pipe/index.d.ts +1 -1
- package/lib/pipe/safe/safe-html.pipe.d.ts +30 -10
- package/lib/util/aria-role.constant.d.ts +15 -0
- package/lib/util/default-scroll-behavior.d.ts +12 -0
- package/lib/util/empty-string.const.d.ts +11 -0
- package/lib/util/index.d.ts +4 -0
- package/lib/util/js-type.d.ts +39 -0
- package/lib/util/uuid.d.ts +89 -0
- package/package.json +10 -13
- package/public-api.d.ts +14 -3
- package/esm2020/lib/angular-toolbox.module.mjs +0 -26
- package/esm2020/lib/pipe/safe/safe-html.pipe.mjs +0 -18
- package/esm2020/lib/service/index.mjs +0 -3
- package/esm2020/lib/service/subscription/subscription.service.mjs +0 -60
- package/esm2020/lib/service/ui/dark-mode.service.mjs +0 -167
- package/esm2020/public-api.mjs +0 -7
- package/fesm2015/angular-toolbox.mjs +0 -278
- package/fesm2015/angular-toolbox.mjs.map +0 -1
- package/fesm2020/angular-toolbox.mjs +0 -274
- package/fesm2020/angular-toolbox.mjs.map +0 -1
- package/lib/service/index.d.ts +0 -2
- package/lib/service/subscription/subscription.service.d.ts +0 -33
- package/lib/service/ui/dark-mode.service.d.ts +0 -92
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { Directive, EventEmitter, Output } from '@angular/core';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
const CHILD_LIST_TYPE = "childList";
|
|
14
|
+
/**
|
|
15
|
+
* Allows injection of any value into an HTML element container (`div`, `button`, etc...).
|
|
16
|
+
* A rendered event is emitted after the injected content has been rendered and is
|
|
17
|
+
* available for DOM manipulation.
|
|
18
|
+
*/
|
|
19
|
+
export class ContentRendererDirective {
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
constructor(_elmRef) {
|
|
24
|
+
this._elmRef = _elmRef;
|
|
25
|
+
/**
|
|
26
|
+
* Dispatches events when the content of the HTML element has been rendered.
|
|
27
|
+
*/
|
|
28
|
+
this.rendered = new EventEmitter();
|
|
29
|
+
const nativeElement = this._elmRef.nativeElement;
|
|
30
|
+
this._observer = new MutationObserver((mutations) => {
|
|
31
|
+
mutations.forEach((mutation) => {
|
|
32
|
+
if (mutation.type === CHILD_LIST_TYPE)
|
|
33
|
+
this.rendered.emit(nativeElement);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
this._observer.disconnect();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this._observer.observe(this._elmRef.nativeElement, { attributes: false, childList: true, characterData: false });
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ContentRendererDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ContentRendererDirective, isStandalone: true, selector: "[contentRenderer]", outputs: { rendered: "rendered" }, ngImport: i0 }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ContentRendererDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: '[contentRenderer]',
|
|
56
|
+
standalone: true
|
|
57
|
+
}]
|
|
58
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { rendered: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZW5kZXJlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9kaXJlY3RpdmUvY29udGVudC1yZW5kZXJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0Y7O0dBRUc7QUFDSCxNQUFNLGVBQWUsR0FBVyxXQUFXLENBQUM7QUFFNUM7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7SUFhbkM7O09BRUc7SUFDSCxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBVHZDOztXQUVHO1FBRWEsYUFBUSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBTXBGLE1BQU0sYUFBYSxHQUFnQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUEyQixFQUFFLEVBQUU7WUFDcEUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLGVBQWU7b0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0UsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUMxQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQzdELENBQUM7SUFDSixDQUFDOzhHQXhDVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBWWlCLFFBQVE7c0JBRHZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5jb25zdCBDSElMRF9MSVNUX1RZUEU6IHN0cmluZyA9IFwiY2hpbGRMaXN0XCI7XHJcblxyXG4vKipcclxuICogQWxsb3dzIGluamVjdGlvbiBvZiBhbnkgdmFsdWUgaW50byBhbiBIVE1MIGVsZW1lbnQgY29udGFpbmVyIChgZGl2YCwgYGJ1dHRvbmAsIGV0Yy4uLikuXHJcbiAqIEEgcmVuZGVyZWQgZXZlbnQgaXMgZW1pdHRlZCBhZnRlciB0aGUgaW5qZWN0ZWQgY29udGVudCBoYXMgYmVlbiByZW5kZXJlZCBhbmQgaXNcclxuICogYXZhaWxhYmxlIGZvciBET00gbWFuaXB1bGF0aW9uLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY29udGVudFJlbmRlcmVyXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGVudFJlbmRlcmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXRjaGVzIGV2ZW50cyB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBIVE1MIGVsZW1lbnQgaGFzIGJlZW4gcmVuZGVyZWQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkOiBFdmVudEVtaXR0ZXI8SFRNTEVsZW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxIVE1MRWxlbWVudD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbG1SZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5fZWxtUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcclxuICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xyXG4gICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSBDSElMRF9MSVNUX1RZUEUpIHRoaXMucmVuZGVyZWQuZW1pdChuYXRpdmVFbGVtZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKFxyXG4gICAgICB0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgeyBhdHRyaWJ1dGVzOiBmYWxzZSwgY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiBmYWxzZSB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './button-role.directive';
|
|
2
|
+
export * from './navigate-to-url.directive';
|
|
3
|
+
export * from './anchor-link.directive';
|
|
4
|
+
export * from './content-renderer.directive';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9kaXJlY3RpdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLXJvbGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0ZS10by11cmwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hbmNob3ItbGluay5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnQtcmVuZGVyZXIuZGlyZWN0aXZlJzsiXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { DOCUMENT } from '@angular/common';
|
|
9
|
+
import { Directive, HostListener, Inject, Input } from '@angular/core';
|
|
10
|
+
import { LINK_ROLE } from '../util';
|
|
11
|
+
import { NavigationDirectiveBase } from './navigation-directive-base';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
/**
|
|
14
|
+
* An easy-to-use directive that enables keyboard navigation and provides support for navigating to an external URL.
|
|
15
|
+
*/
|
|
16
|
+
export class NavigateToUrlDirective extends NavigationDirectiveBase {
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
onClick() {
|
|
21
|
+
const HREF = this.href;
|
|
22
|
+
if (!HREF)
|
|
23
|
+
throw new ReferenceError("href attribute is not defined.");
|
|
24
|
+
this._document.defaultView.location.href = HREF;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
constructor(_document, elmRef) {
|
|
30
|
+
super(elmRef, LINK_ROLE);
|
|
31
|
+
this._document = _document;
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NavigateToUrlDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NavigateToUrlDirective, isStandalone: true, selector: "[navigateToUrl]", inputs: { href: "href" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0 }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NavigateToUrlDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[navigateToUrl]',
|
|
40
|
+
standalone: true
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
43
|
+
type: Inject,
|
|
44
|
+
args: [DOCUMENT]
|
|
45
|
+
}] }, { type: i0.ElementRef }], propDecorators: { href: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], onClick: [{
|
|
48
|
+
type: HostListener,
|
|
49
|
+
args: ['click']
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGUtdG8tdXJsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2RpcmVjdGl2ZS9uYXZpZ2F0ZS10by11cmwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXRFOztHQUVHO0FBS0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHVCQUF1QjtJQVFqRTs7T0FFRztJQUVLLE9BQU87UUFDYixNQUFNLElBQUksR0FBdUIsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxjQUFjLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFzQyxTQUFjLEVBQ3hDLE1BQWtCO1FBQzVCLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFGVyxjQUFTLEdBQVQsU0FBUyxDQUFLO0lBR3BELENBQUM7OEdBeEJVLHNCQUFzQixrQkFxQmIsUUFBUTtrR0FyQmpCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXNCYyxNQUFNOzJCQUFDLFFBQVE7a0VBZnJCLElBQUk7c0JBRFYsS0FBSztnQkFPRSxPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTElOS19ST0xFIH0gZnJvbSAnLi4vdXRpbCc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25EaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWRpcmVjdGl2ZS1iYXNlJztcclxuXHJcbi8qKlxyXG4gKiBBbiBlYXN5LXRvLXVzZSBkaXJlY3RpdmUgdGhhdCBlbmFibGVzIGtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHByb3ZpZGVzIHN1cHBvcnQgZm9yIG5hdmlnYXRpbmcgdG8gYW4gZXh0ZXJuYWwgVVJMLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmF2aWdhdGVUb1VybF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRlVG9VcmxEaXJlY3RpdmUgZXh0ZW5kcyBOYXZpZ2F0aW9uRGlyZWN0aXZlQmFzZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBgaHJlZmAgYXR0cmlidXRlIG9mIHRoZSBkZWNvcmF0ZWQgZWxlbWVudC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBocmVmITogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHByaXZhdGUgb25DbGljaygpOiB2b2lkIHtcclxuICAgIGNvbnN0IEhSRUY6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuaHJlZjtcclxuICAgIGlmICghSFJFRikgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwiaHJlZiBhdHRyaWJ1dGUgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdGhpcy5fZG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYXRpb24uaHJlZiA9IEhSRUY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXHJcbiAgICAgICAgICAgICAgZWxtUmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihlbG1SZWYsIExJTktfUk9MRSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* The base class for all directives that are responsible for navigation whithin ab Angular app.
|
|
11
|
+
*/
|
|
12
|
+
export class NavigationDirectiveBase {
|
|
13
|
+
/**
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
constructor(elmRef, role) {
|
|
17
|
+
this.elmRef = elmRef;
|
|
18
|
+
const elm = elmRef.nativeElement;
|
|
19
|
+
elm.role = role;
|
|
20
|
+
elm.tabIndex = 0;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1kaXJlY3RpdmUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2RpcmVjdGl2ZS9uYXZpZ2F0aW9uLWRpcmVjdGl2ZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlIOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7O09BRUc7SUFDSCxZQUFzQixNQUFrQixFQUFFLElBQVk7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUN0QyxNQUFNLEdBQUcsR0FBZ0IsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGJhc2UgY2xhc3MgZm9yIGFsbCBkaXJlY3RpdmVzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBuYXZpZ2F0aW9uIHdoaXRoaW4gYWIgQW5ndWxhciBhcHAuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkRpcmVjdGl2ZUJhc2Uge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbG1SZWY6IEVsZW1lbnRSZWYsIHJvbGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZWxtOiBIVE1MRWxlbWVudCA9IGVsbVJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgZWxtLnJvbGUgPSByb2xlO1xyXG4gICAgZWxtLnRhYkluZGV4ID0gMDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './mock/http';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICogZnJvbSAnLi9tb2NrL2h0dHAnOyJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLXBhcmFtZXRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2NvbmZpZy9odHRwLW1vY2stcGFyYW1ldGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG4vKipcclxuICogVGhlIHR5cGUgb2YgcGFyYW1ldGVyIG9iamVjdHMgYXNzb2NpYXRlZCB3aXRoIGEgSFRUUCBjYWxsLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgSHR0cE1vY2tQYXJhbWV0ZXJzID0geyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { Uuid } from "../../../../util";
|
|
9
|
+
import { HTTP_MOCK_SERVICE } from "../../../../model";
|
|
10
|
+
/**
|
|
11
|
+
* The definition function for the `@HttpMock` decorator.
|
|
12
|
+
*
|
|
13
|
+
* @param config The `HttpMockConfig` object used to initialize the HTTP Mocking Framework.
|
|
14
|
+
*/
|
|
15
|
+
export const HttpMock = (config) => {
|
|
16
|
+
return (constructor) => {
|
|
17
|
+
const getMockService = (instance) => {
|
|
18
|
+
return Object.values(instance).find((v) => {
|
|
19
|
+
return (v.hasOwnProperty('type') && v.type === HTTP_MOCK_SERVICE);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const ngOnInit = constructor.prototype.ngOnInit;
|
|
23
|
+
const ngOnDestroy = constructor.prototype.ngOnDestroy;
|
|
24
|
+
const uiid = config.id || Uuid.build();
|
|
25
|
+
if (!ngOnDestroy)
|
|
26
|
+
throw new ReferenceError("Component must implement the OnDestroy interface.");
|
|
27
|
+
if (!ngOnInit)
|
|
28
|
+
throw new ReferenceError("Component must implement the OnInit interface.");
|
|
29
|
+
if (!config.id)
|
|
30
|
+
config.id = uiid;
|
|
31
|
+
constructor.prototype.ngOnInit = function () {
|
|
32
|
+
const mockService = getMockService(this);
|
|
33
|
+
if (!mockService)
|
|
34
|
+
throw new ReferenceError("No provider found for HttpMockService.");
|
|
35
|
+
mockService.addConfig(config);
|
|
36
|
+
ngOnInit.call(this);
|
|
37
|
+
};
|
|
38
|
+
constructor.prototype.ngOnDestroy = function () {
|
|
39
|
+
const mockService = getMockService(this);
|
|
40
|
+
// An exception is already thrown by the ngOnInit() method when HttpMockService is not provided.
|
|
41
|
+
// Following check statement prevents failure during Unit Testing:
|
|
42
|
+
if (mockService)
|
|
43
|
+
mockService.removeConfig(uiid);
|
|
44
|
+
ngOnDestroy.call(this);
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tb2NrLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvY29uZmlnL2h0dHAtbW9jay5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBbUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2Rjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFhLENBQUMsTUFBc0IsRUFBWSxFQUFFO0lBQ25FLE9BQU8sQ0FBQyxXQUFnQixFQUFDLEVBQUU7UUFDdkIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFhLEVBQStCLEVBQUU7WUFDbEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBQyxFQUFFO2dCQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFRLENBQUM7UUFDZCxDQUFDLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBUyxNQUFNLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxjQUFjLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxjQUFjLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztZQUM3QixNQUFNLFdBQVcsR0FBZ0MsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxXQUFXO2dCQUFFLE1BQU0sSUFBSSxjQUFjLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUNyRixXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBQ0YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUc7WUFDaEMsTUFBTSxXQUFXLEdBQWdDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RSxnR0FBZ0c7WUFDaEcsa0VBQWtFO1lBQ2xFLElBQUksV0FBVztnQkFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgVXVpZCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsXCI7XHJcbmltcG9ydCB7IEhUVFBfTU9DS19TRVJWSUNFLCBIdHRwTW9ja0NvbmZpZywgSHR0cE1vY2tTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsXCI7XHJcblxyXG4vKipcclxuICogVGhlIGRlZmluaXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgQEh0dHBNb2NrYCBkZWNvcmF0b3IuXHJcbiAqIFxyXG4gKiBAcGFyYW0gY29uZmlnIFRoZSBgSHR0cE1vY2tDb25maWdgIG9iamVjdCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIEhUVFAgTW9ja2luZyBGcmFtZXdvcmsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgSHR0cE1vY2s6IEZ1bmN0aW9uID0gKGNvbmZpZzogSHR0cE1vY2tDb25maWcpOiBGdW5jdGlvbiA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnN0cnVjdG9yOiBhbnkpPT4ge1xyXG4gICAgICAgIGNvbnN0IGdldE1vY2tTZXJ2aWNlID0gKGluc3RhbmNlOiBhbnkpOiBIdHRwTW9ja1NlcnZpY2UgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhpbnN0YW5jZSkuZmluZCgodjogYW55KT0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodi5oYXNPd25Qcm9wZXJ0eSgndHlwZScpICYmIHYudHlwZSA9PT0gSFRUUF9NT0NLX1NFUlZJQ0UpO1xyXG4gICAgICAgICAgICB9KSBhcyBhbnk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBuZ09uSW5pdCA9IGNvbnN0cnVjdG9yLnByb3RvdHlwZS5uZ09uSW5pdDtcclxuICAgICAgICBjb25zdCBuZ09uRGVzdHJveSA9IGNvbnN0cnVjdG9yLnByb3RvdHlwZS5uZ09uRGVzdHJveTtcclxuICAgICAgICBjb25zdCB1aWlkOiBVdWlkID0gY29uZmlnLmlkIHx8IFV1aWQuYnVpbGQoKTtcclxuICAgICAgICBpZiAoIW5nT25EZXN0cm95KSB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJDb21wb25lbnQgbXVzdCBpbXBsZW1lbnQgdGhlIE9uRGVzdHJveSBpbnRlcmZhY2UuXCIpO1xyXG4gICAgICAgIGlmICghbmdPbkluaXQpIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcIkNvbXBvbmVudCBtdXN0IGltcGxlbWVudCB0aGUgT25Jbml0IGludGVyZmFjZS5cIik7XHJcbiAgICAgICAgaWYgKCFjb25maWcuaWQpIGNvbmZpZy5pZCA9IHVpaWQ7XHJcbiAgICAgICAgY29uc3RydWN0b3IucHJvdG90eXBlLm5nT25Jbml0ID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vY2tTZXJ2aWNlOiBIdHRwTW9ja1NlcnZpY2UgfCB1bmRlZmluZWQgPSBnZXRNb2NrU2VydmljZSh0aGlzKTtcclxuICAgICAgICAgICAgaWYgKCFtb2NrU2VydmljZSkgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwiTm8gcHJvdmlkZXIgZm91bmQgZm9yIEh0dHBNb2NrU2VydmljZS5cIik7XHJcbiAgICAgICAgICAgIG1vY2tTZXJ2aWNlLmFkZENvbmZpZyhjb25maWcpO1xyXG4gICAgICAgICAgICBuZ09uSW5pdC5jYWxsKHRoaXMpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3RydWN0b3IucHJvdG90eXBlLm5nT25EZXN0cm95ID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vY2tTZXJ2aWNlOiBIdHRwTW9ja1NlcnZpY2UgfCB1bmRlZmluZWQgPSBnZXRNb2NrU2VydmljZSh0aGlzKTtcclxuICAgICAgICAgICAgLy8gQW4gZXhjZXB0aW9uIGlzIGFscmVhZHkgdGhyb3duIGJ5IHRoZSBuZ09uSW5pdCgpIG1ldGhvZCB3aGVuIEh0dHBNb2NrU2VydmljZSBpcyBub3QgcHJvdmlkZWQuXHJcbiAgICAgICAgICAgIC8vIEZvbGxvd2luZyBjaGVjayBzdGF0ZW1lbnQgcHJldmVudHMgZmFpbHVyZSBkdXJpbmcgVW5pdCBUZXN0aW5nOlxyXG4gICAgICAgICAgICBpZiAobW9ja1NlcnZpY2UpIG1vY2tTZXJ2aWNlLnJlbW92ZUNvbmZpZyh1aWlkKTtcclxuICAgICAgICAgICAgbmdPbkRlc3Ryb3kuY2FsbCh0aGlzKTtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './http-mock-parameters';
|
|
2
|
+
export * from './http-mock.decorator';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLW1vY2stcGFyYW1ldGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1tb2NrLmRlY29yYXRvcic7Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbW9jay1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2NvbmZpZy9yb3V0ZS1tb2NrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBIdHRwTWV0aG9kTW9jayB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBIdHRwTW9ja1BhcmFtZXRlcnMgfSBmcm9tIFwiLi9odHRwLW1vY2stcGFyYW1ldGVyc1wiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFxyXG4gKiBUaGUgbWFya3VwIGludGVyZmFjZSBmb3IgRFRPcyB0aGF0IGFyZSB1c2VkIHRvIHNlbmQgYSBtb2NrIGNvbmZpZyB0byB0aGUgZGVsZWdhdGVcclxuICogYFhoclByb3h5YCBpbnN0YW5jZS5cclxuICogVGhpcyBpbnRlcmZhY2UgaXMgbm90IGV4cG9zZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlTW9ja0NvbmZpZyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBUaGUgYEh0dHBNZXRob2RNb2NrYG9iamVjdCB0byBiZSBjb25zdW1lZCBieSB0aGUgdGhlIGRlbGVnYXRlIGBYaHJQcm94eWAgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIG1ldGhvZENvbmZpZzogSHR0cE1ldGhvZE1vY2s7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFxyXG4gICAgICogVGhlIGxpc3Qgb2YgVVJJIHBhcmFtZXRlcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IEhUVFAgY2FsbC5cclxuICAgICAqL1xyXG4gICAgcGFyYW1ldGVyczogSHR0cE1vY2tQYXJhbWV0ZXJzIHwgbnVsbDtcclxufSJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC9jb3JlL2RhdGEtc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5cclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlTW9jayB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFV0aWxpdHkgaW50ZXJmYWNlIHVzZWQgYnkgdGhlIGBEZWxlZ2F0ZVhocmAgY2xhc3MgdG8gc3RvcmUgSFRUUCByZXF1ZXN0IGluZm9ybWF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmFnZSB7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgaHR0cFJlc3BvbnNlOiBIdHRwUmVzcG9uc2VNb2NrO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIFRoZSBhbW91bnQgb2YgZGF0YSBjdXJyZW50bHkgbG9hZGVkLlxyXG4gICAgICovXHJcbiAgICBsb2FkZWQ6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBUaGUgdG90YWwgc2l6ZSBvZiBkYXRhIHRvIGxvYWQuXHJcbiAgICAgKi9cclxuICAgIHRvdGFsOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogVGhlIGxvYWRlZCBkYXRhLlxyXG4gICAgICovXHJcbiAgICBkYXRhOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogVGhlIEpTT04gc3RyaW5nIHByZXByZXNlbnRhdGlvbiBvZiB0aGUgbG9hZGVkIGRhdGEuXHJcbiAgICAgKi9cclxuICAgIHN0cmluZ2lmaWVkRGF0YTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*
|
|
8
|
+
* This source code is derived from the following original source code:
|
|
9
|
+
* - https://github.com/benlesh/event-target-polyfill
|
|
10
|
+
* - Copyright (c) 2020 Ben Lesh
|
|
11
|
+
*
|
|
12
|
+
* Use of the original source code is governed by an MIT-style license
|
|
13
|
+
* that can be found in the LICENSE file at
|
|
14
|
+
* https://github.com/benlesh/event-target-polyfill/blob/master/LICENSE
|
|
15
|
+
*/
|
|
16
|
+
import { FUNCTION } from "../../../../util";
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
const ADD = "addEventListener";
|
|
21
|
+
/**
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
const REMOVE = "removeEventListener";
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
* A utility class the provides an implementation for the `EventTarget` interface.
|
|
28
|
+
* This class is used internally by the framework; please do not expose it.
|
|
29
|
+
*
|
|
30
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
|
|
31
|
+
*/
|
|
32
|
+
export class EventTargetImpl {
|
|
33
|
+
/**
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
constructor() {
|
|
37
|
+
this._listenerList = new Map();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @private
|
|
41
|
+
* Sets up a function that will be called whenever the specified event is delivered to the target.
|
|
42
|
+
*
|
|
43
|
+
* @param type a case-sensitive string representing the event type to listen for.
|
|
44
|
+
* @param listener the object that receives a notification (an object that implements the
|
|
45
|
+
* `Event` interface) when an event of the specified type occurs.
|
|
46
|
+
* @param options an object that specifies characteristics about the event listener.
|
|
47
|
+
*
|
|
48
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
|
49
|
+
*/
|
|
50
|
+
addEventListener(type, listener, options) {
|
|
51
|
+
this.checkArgLength(arguments.length, ADD);
|
|
52
|
+
const ll = this._listenerList;
|
|
53
|
+
if (!ll.has(type))
|
|
54
|
+
ll.set(type, new Map());
|
|
55
|
+
const listenersForType = ll.get(type);
|
|
56
|
+
if (!listenersForType.has(listener)) {
|
|
57
|
+
// Any given listener is only registered once
|
|
58
|
+
listenersForType.set(listener, options);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @private
|
|
63
|
+
* Removes an event listener previously registered with `EventTarget.addEventListener()` from the target.
|
|
64
|
+
*
|
|
65
|
+
* @param type a case-sensitive which specifies the type of event for which to remove an event listener.
|
|
66
|
+
* @param listener the event listener function of the event handler to remove from the event target.
|
|
67
|
+
* @param options An options object that specifies characteristics about the event listener.
|
|
68
|
+
*
|
|
69
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener
|
|
70
|
+
*/
|
|
71
|
+
removeEventListener(type, listener, options) {
|
|
72
|
+
this.checkArgLength(arguments.length, REMOVE);
|
|
73
|
+
const ll = this._listenerList;
|
|
74
|
+
if (ll.has(type)) {
|
|
75
|
+
const listenersForType = ll.get(type);
|
|
76
|
+
if (listenersForType.has(listener))
|
|
77
|
+
listenersForType.delete(listener);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @private
|
|
82
|
+
* Sends an `Event` to this to the `Event` object, (synchronously) invoking the affected event listeners
|
|
83
|
+
* in the appropriate order.
|
|
84
|
+
*
|
|
85
|
+
* @param event the `Event object to dispatch. Its Event.target property will be set to the current EventTarget.
|
|
86
|
+
* @returns true since there are no cancellable events on a base `EventTarget`.
|
|
87
|
+
*
|
|
88
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent
|
|
89
|
+
*/
|
|
90
|
+
dispatchEvent(event) {
|
|
91
|
+
if (!(event instanceof Event)) {
|
|
92
|
+
throw new TypeError("Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.");
|
|
93
|
+
}
|
|
94
|
+
const type = event.type;
|
|
95
|
+
const ll = this._listenerList;
|
|
96
|
+
const listenersForType = ll.get(type);
|
|
97
|
+
if (!listenersForType)
|
|
98
|
+
return true;
|
|
99
|
+
for (const listnerEntry of listenersForType.entries()) {
|
|
100
|
+
const listener = listnerEntry[0];
|
|
101
|
+
const options = listnerEntry[1];
|
|
102
|
+
// Listener functions must be executed with the EventTarget as the `this` context.
|
|
103
|
+
if (typeof listener === FUNCTION)
|
|
104
|
+
listener.call(this, event);
|
|
105
|
+
// Listener objects have their handleEvent method called, if they have one
|
|
106
|
+
else if (listener && typeof listener.handleEvent === FUNCTION)
|
|
107
|
+
listener.handleEvent(event);
|
|
108
|
+
if (options && options.once)
|
|
109
|
+
listenersForType.delete(listener);
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
checkArgLength(argLen, method) {
|
|
117
|
+
if (argLen < 2) {
|
|
118
|
+
throw new TypeError(`TypeError: Failed to execute '${method}' on 'EventTarget': 2 arguments required, but ${argLen === 1 ? 'only 1' : '0'} present.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdGFyZ2V0LmltcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2V2ZW50L2V2ZW50LXRhcmdldC5pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVDOztHQUVHO0FBQ0gsTUFBTSxHQUFHLEdBQVcsa0JBQWtCLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLE1BQU0sR0FBVyxxQkFBcUIsQ0FBQztBQUU3Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQU94Qjs7T0FFRztJQUNIO1FBQ0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFFBQW1ELEVBQUUsT0FBdUQ7UUFDOUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sRUFBRSxHQUFxQixJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyw2Q0FBNkM7WUFDN0MsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLG1CQUFtQixDQUFDLElBQVksRUFBRSxRQUFtRCxFQUFFLE9BQW9EO1FBQzlJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QyxNQUFNLEVBQUUsR0FBcUIsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLE1BQU0sZ0JBQWdCLEdBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGFBQWEsQ0FBQyxLQUFZO1FBQzdCLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxTQUFTLENBQ2YseUZBQXlGLENBQzVGLENBQUM7UUFDTixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBcUIsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ25DLEtBQUssTUFBTSxZQUFZLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBUSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxPQUFPLEdBQVEsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLGtGQUFrRjtZQUNsRixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7Z0JBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0QsMEVBQTBFO2lCQUNyRSxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEtBQUssUUFBUTtnQkFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNGLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJO2dCQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYyxDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ2pELElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLFNBQVMsQ0FDZixpQ0FBaUMsTUFBTSxpREFBaUQsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FDbkksQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICpcclxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGxvd2luZyBvcmlnaW5hbCBzb3VyY2UgY29kZTpcclxuICogLSBodHRwczovL2dpdGh1Yi5jb20vYmVubGVzaC9ldmVudC10YXJnZXQtcG9seWZpbGxcclxuICogLSBDb3B5cmlnaHQgKGMpIDIwMjAgQmVuIExlc2hcclxuICogXHJcbiAqIFVzZSBvZiB0aGUgb3JpZ2luYWwgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgXHJcbiAqIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXRcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2Jlbmxlc2gvZXZlbnQtdGFyZ2V0LXBvbHlmaWxsL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcclxuICovXHJcblxyXG5pbXBvcnQgeyBGVU5DVElPTiB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IEFERDogc3RyaW5nID0gXCJhZGRFdmVudExpc3RlbmVyXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IFJFTU9WRTogc3RyaW5nID0gXCJyZW1vdmVFdmVudExpc3RlbmVyXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogQSB1dGlsaXR5IGNsYXNzIHRoZSBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGBFdmVudFRhcmdldGAgaW50ZXJmYWNlLlxyXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgZnJhbWV3b3JrOyBwbGVhc2UgZG8gbm90IGV4cG9zZSBpdC5cclxuICogXHJcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXZlbnRUYXJnZXRJbXBsIGltcGxlbWVudHMgRXZlbnRUYXJnZXQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbGlzdGVuZXJMaXN0OiBNYXA8c3RyaW5nLCBhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJMaXN0ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBTZXRzIHVwIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgc3BlY2lmaWVkIGV2ZW50IGlzIGRlbGl2ZXJlZCB0byB0aGUgdGFyZ2V0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdHlwZSBhIGNhc2Utc2Vuc2l0aXZlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGV2ZW50IHR5cGUgdG8gbGlzdGVuIGZvci5cclxuICAgICAqIEBwYXJhbSBsaXN0ZW5lciB0aGUgb2JqZWN0IHRoYXQgcmVjZWl2ZXMgYSBub3RpZmljYXRpb24gKGFuIG9iamVjdCB0aGF0IGltcGxlbWVudHMgdGhlXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgYEV2ZW50YCBpbnRlcmZhY2UpIHdoZW4gYW4gZXZlbnQgb2YgdGhlIHNwZWNpZmllZCB0eXBlIG9jY3Vycy4gXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBhbiBvYmplY3QgdGhhdCBzcGVjaWZpZXMgY2hhcmFjdGVyaXN0aWNzIGFib3V0IHRoZSBldmVudCBsaXN0ZW5lci5cclxuICAgICAqIFxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkRXZlbnRMaXN0ZW5lcih0eXBlOiBzdHJpbmcsIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0IHwgbnVsbCwgb3B0aW9ucz86IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hlY2tBcmdMZW5ndGgoYXJndW1lbnRzLmxlbmd0aCwgQUREKTtcclxuICAgICAgICBjb25zdCBsbDogTWFwPHN0cmluZywgYW55PiA9IHRoaXMuX2xpc3RlbmVyTGlzdDtcclxuICAgICAgICBpZiAoIWxsLmhhcyh0eXBlKSkgbGwuc2V0KHR5cGUsIG5ldyBNYXAoKSk7XHJcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzRm9yVHlwZTogTWFwPGFueSwgYW55PiA9IGxsLmdldCh0eXBlKTtcclxuICAgICAgICBpZiAoIWxpc3RlbmVyc0ZvclR5cGUuaGFzKGxpc3RlbmVyKSkge1xyXG4gICAgICAgICAgICAvLyBBbnkgZ2l2ZW4gbGlzdGVuZXIgaXMgb25seSByZWdpc3RlcmVkIG9uY2VcclxuICAgICAgICAgICAgbGlzdGVuZXJzRm9yVHlwZS5zZXQobGlzdGVuZXIsIG9wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBSZW1vdmVzIGFuIGV2ZW50IGxpc3RlbmVyIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCB3aXRoIGBFdmVudFRhcmdldC5hZGRFdmVudExpc3RlbmVyKClgIGZyb20gdGhlIHRhcmdldC4gXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB0eXBlIGEgY2FzZS1zZW5zaXRpdmUgd2hpY2ggc3BlY2lmaWVzIHRoZSB0eXBlIG9mIGV2ZW50IGZvciB3aGljaCB0byByZW1vdmUgYW4gZXZlbnQgbGlzdGVuZXIuXHJcbiAgICAgKiBAcGFyYW0gbGlzdGVuZXIgdGhlIGV2ZW50IGxpc3RlbmVyIGZ1bmN0aW9uIG9mIHRoZSBldmVudCBoYW5kbGVyIHRvIHJlbW92ZSBmcm9tIHRoZSBldmVudCB0YXJnZXQuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBBbiBvcHRpb25zIG9iamVjdCB0aGF0IHNwZWNpZmllcyBjaGFyYWN0ZXJpc3RpY3MgYWJvdXQgdGhlIGV2ZW50IGxpc3RlbmVyLlxyXG4gICAgICogXHJcbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FdmVudFRhcmdldC9yZW1vdmVFdmVudExpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZW1vdmVFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QgfCBudWxsLCBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGVja0FyZ0xlbmd0aChhcmd1bWVudHMubGVuZ3RoLCBSRU1PVkUpO1xyXG4gICAgICAgIGNvbnN0IGxsOiBNYXA8c3RyaW5nLCBhbnk+ID0gdGhpcy5fbGlzdGVuZXJMaXN0O1xyXG4gICAgICAgIGlmIChsbC5oYXModHlwZSkpIHtcclxuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzRm9yVHlwZTogTWFwPGFueSwgYW55PiA9IGxsLmdldCh0eXBlKTtcclxuICAgICAgICAgICAgaWYgKGxpc3RlbmVyc0ZvclR5cGUuaGFzKGxpc3RlbmVyKSkgbGlzdGVuZXJzRm9yVHlwZS5kZWxldGUobGlzdGVuZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBTZW5kcyBhbiBgRXZlbnRgIHRvIHRoaXMgdG8gdGhlIGBFdmVudGAgb2JqZWN0LCAoc3luY2hyb25vdXNseSkgaW52b2tpbmcgdGhlIGFmZmVjdGVkIGV2ZW50IGxpc3RlbmVyc1xyXG4gICAgICogaW4gdGhlIGFwcHJvcHJpYXRlIG9yZGVyLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBldmVudCB0aGUgYEV2ZW50IG9iamVjdCB0byBkaXNwYXRjaC4gSXRzIEV2ZW50LnRhcmdldCBwcm9wZXJ0eSB3aWxsIGJlIHNldCB0byB0aGUgY3VycmVudCBFdmVudFRhcmdldC5cclxuICAgICAqIEByZXR1cm5zIHRydWUgc2luY2UgdGhlcmUgYXJlIG5vIGNhbmNlbGxhYmxlIGV2ZW50cyBvbiBhIGJhc2UgYEV2ZW50VGFyZ2V0YC5cclxuICAgICAqIFxyXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvZGlzcGF0Y2hFdmVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIShldmVudCBpbnN0YW5jZW9mIEV2ZW50KSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxyXG4gICAgICAgICAgICAgICAgXCJGYWlsZWQgdG8gZXhlY3V0ZSAnZGlzcGF0Y2hFdmVudCcgb24gJ0V2ZW50VGFyZ2V0JzogcGFyYW1ldGVyIDEgaXMgbm90IG9mIHR5cGUgJ0V2ZW50Jy5cIlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSBldmVudC50eXBlO1xyXG4gICAgICAgIGNvbnN0IGxsOiBNYXA8c3RyaW5nLCBhbnk+ID0gdGhpcy5fbGlzdGVuZXJMaXN0O1xyXG4gICAgICAgIGNvbnN0IGxpc3RlbmVyc0ZvclR5cGUgPSBsbC5nZXQodHlwZSk7XHJcbiAgICAgICAgaWYgKCFsaXN0ZW5lcnNGb3JUeXBlKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGxpc3RuZXJFbnRyeSBvZiBsaXN0ZW5lcnNGb3JUeXBlLmVudHJpZXMoKSkge1xyXG4gICAgICAgICAgICBjb25zdCBsaXN0ZW5lcjogYW55ID0gbGlzdG5lckVudHJ5WzBdO1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zOiBhbnkgPSBsaXN0bmVyRW50cnlbMV07XHJcbiAgICAgICAgICAgIC8vIExpc3RlbmVyIGZ1bmN0aW9ucyBtdXN0IGJlIGV4ZWN1dGVkIHdpdGggdGhlIEV2ZW50VGFyZ2V0IGFzIHRoZSBgdGhpc2AgY29udGV4dC5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lciA9PT0gRlVOQ1RJT04pIGxpc3RlbmVyLmNhbGwodGhpcywgZXZlbnQpO1xyXG4gICAgICAgICAgICAvLyBMaXN0ZW5lciBvYmplY3RzIGhhdmUgdGhlaXIgaGFuZGxlRXZlbnQgbWV0aG9kIGNhbGxlZCwgaWYgdGhleSBoYXZlIG9uZVxyXG4gICAgICAgICAgICBlbHNlIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIuaGFuZGxlRXZlbnQgPT09IEZVTkNUSU9OKSBsaXN0ZW5lci5oYW5kbGVFdmVudChldmVudCk7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMub25jZSkgbGlzdGVuZXJzRm9yVHlwZS5kZWxldGUobGlzdGVuZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2hlY2tBcmdMZW5ndGgoYXJnTGVuOiBudW1iZXIsIG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGFyZ0xlbiA8IDIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcclxuICAgICAgICAgICAgICAgIGBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICcke21ldGhvZH0nIG9uICdFdmVudFRhcmdldCc6IDIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgJHthcmdMZW4gPT09IDEgPyAnb25seSAxJyA6ICcwJ30gcHJlc2VudC5gXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* A utility class used by delegate `XhrProxy` instances to dispatch `ProgressEvent`
|
|
11
|
+
* instances.
|
|
12
|
+
*
|
|
13
|
+
* This class is not exposed.
|
|
14
|
+
*/
|
|
15
|
+
export class ProgressEventMock extends ProgressEvent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
this._total = NaN;
|
|
22
|
+
/**
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
this._loaded = 0;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A 64-bit unsigned integer indicating the size, in bytes, of the data already
|
|
29
|
+
* transmitted or processed.
|
|
30
|
+
*/
|
|
31
|
+
set total(value) {
|
|
32
|
+
this._total = value;
|
|
33
|
+
}
|
|
34
|
+
get total() {
|
|
35
|
+
return this._total;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A 64-bit unsigned integer indicating the total size, in bytes, of the data being
|
|
39
|
+
* transmitted or processed.
|
|
40
|
+
*/
|
|
41
|
+
set loaded(value) {
|
|
42
|
+
this._loaded = value;
|
|
43
|
+
}
|
|
44
|
+
get loaded() {
|
|
45
|
+
return this._loaded;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtZXZlbnQtbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAvZXZlbnQvcHJvZ3Jlc3MtZXZlbnQtbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQUFwRDs7UUFFSTs7V0FFRztRQUNLLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFhN0I7O1dBRUc7UUFDSyxZQUFPLEdBQVcsQ0FBQyxDQUFDO0lBWWhDLENBQUM7SUExQkc7OztPQUdHO0lBQ0gsSUFBYSxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBYSxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFPRDs7O09BR0c7SUFDSCxJQUFhLE1BQU0sQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFhLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIEEgdXRpbGl0eSBjbGFzcyB1c2VkIGJ5IGRlbGVnYXRlIGBYaHJQcm94eWAgaW5zdGFuY2VzIHRvIGRpc3BhdGNoIGBQcm9ncmVzc0V2ZW50YFxyXG4gKiBpbnN0YW5jZXMuXHJcbiAqIFxyXG4gKiBUaGlzIGNsYXNzIGlzIG5vdCBleHBvc2VkLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzRXZlbnRNb2NrIGV4dGVuZHMgUHJvZ3Jlc3NFdmVudCB7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfdG90YWw6IG51bWJlciA9IE5hTjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEEgNjQtYml0IHVuc2lnbmVkIGludGVnZXIgaW5kaWNhdGluZyB0aGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBkYXRhIGFscmVhZHlcclxuICAgICAqIHRyYW5zbWl0dGVkIG9yIHByb2Nlc3NlZC4gXHJcbiAgICAgKi9cclxuICAgIG92ZXJyaWRlIHNldCB0b3RhbCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fdG90YWwgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGdldCB0b3RhbCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90b3RhbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9sb2FkZWQ6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIDY0LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIGluZGljYXRpbmcgdGhlIHRvdGFsIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgZGF0YSBiZWluZ1xyXG4gICAgICogdHJhbnNtaXR0ZWQgb3IgcHJvY2Vzc2VkLiBcclxuICAgICAqL1xyXG4gICAgb3ZlcnJpZGUgc2V0IGxvYWRlZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fbG9hZGVkID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBnZXQgbG9hZGVkKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZDtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './config';
|
|
2
|
+
export * from './util';
|
|
3
|
+
export * from './xhr';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3hocic7Il19
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* The reference to the default delimiter.
|
|
11
|
+
* Value is `"/"`.
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_DELIMITER = "/";
|
|
14
|
+
/**
|
|
15
|
+
* @private
|
|
16
|
+
* The reference to the case insensitive flag.
|
|
17
|
+
* Value is `"i"`.
|
|
18
|
+
*/
|
|
19
|
+
export const I_FLAG = "i";
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
* The reference to the global flag.
|
|
23
|
+
* Value is `"g"`.
|
|
24
|
+
*/
|
|
25
|
+
export const G_FLAG = "g";
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
* The reference to the `{` `TokenType`.
|
|
29
|
+
*/
|
|
30
|
+
export const LEFT_CURLY_BRACE = "{";
|
|
31
|
+
/**
|
|
32
|
+
* @private
|
|
33
|
+
* The reference to the `}` `TokenType`.
|
|
34
|
+
*/
|
|
35
|
+
export const RIGHT_CURLY_BRACE = "}";
|
|
36
|
+
/**
|
|
37
|
+
* @private
|
|
38
|
+
* The reference to the `*` `TokenType`.
|
|
39
|
+
*/
|
|
40
|
+
export const ASTERISK = "*";
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* The reference to the `+` `TokenType`.
|
|
44
|
+
*/
|
|
45
|
+
export const PLUS = "+";
|
|
46
|
+
/**
|
|
47
|
+
* @private
|
|
48
|
+
* The reference to the `?` `TokenType`.
|
|
49
|
+
*/
|
|
50
|
+
export const QUESTION_MARK = "?";
|
|
51
|
+
/**
|
|
52
|
+
* @private
|
|
53
|
+
* The reference to the `NAME` `TokenType`.
|
|
54
|
+
*/
|
|
55
|
+
export const NAME = "NAME";
|
|
56
|
+
/**
|
|
57
|
+
* @private
|
|
58
|
+
* The reference to the `PATTERN` `TokenType`.
|
|
59
|
+
*/
|
|
60
|
+
export const PATTERN = "PATTERN";
|
|
61
|
+
/**
|
|
62
|
+
* @private
|
|
63
|
+
* The reference to the `CHAR` `TokenType`.
|
|
64
|
+
*/
|
|
65
|
+
export const CHAR = "CHAR";
|
|
66
|
+
/**
|
|
67
|
+
* @private
|
|
68
|
+
* The reference to the `ESCAPED` `TokenType`.
|
|
69
|
+
*/
|
|
70
|
+
export const ESCAPED = "ESCAPED";
|
|
71
|
+
/**
|
|
72
|
+
* @private
|
|
73
|
+
* The reference to the `END` `TokenType`.
|
|
74
|
+
*/
|
|
75
|
+
export const END = "END";
|
|
76
|
+
/**
|
|
77
|
+
* @private
|
|
78
|
+
* The reference to the semi colon (`;`) character.
|
|
79
|
+
*/
|
|
80
|
+
export const SEMI_COLON = ";";
|
|
81
|
+
/**
|
|
82
|
+
* @private
|
|
83
|
+
* The reference to the colon (`:`) character.
|
|
84
|
+
*/
|
|
85
|
+
export const COLON = ":";
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
* The reference to the left parenthesis (`(`) character.
|
|
89
|
+
*/
|
|
90
|
+
export const LEFT_PARENTHESIS = "(";
|
|
91
|
+
/**
|
|
92
|
+
* @private
|
|
93
|
+
* The reference to the right parenthesis (`)`) character.
|
|
94
|
+
*/
|
|
95
|
+
export const RIGHT_PARENTHESIS = ")";
|
|
96
|
+
/**
|
|
97
|
+
* @private
|
|
98
|
+
* The reference to the escaped back slash (`\\`) character.
|
|
99
|
+
*/
|
|
100
|
+
export const ESC_BACK_SLASH = "\\";
|
|
101
|
+
/**
|
|
102
|
+
* @private
|
|
103
|
+
* The reference to the carret (`^`) character.
|
|
104
|
+
*/
|
|
105
|
+
export const CARRET = "^";
|
|
106
|
+
/**
|
|
107
|
+
* @private
|
|
108
|
+
* The reference to the carret (`$`) character.
|
|
109
|
+
*/
|
|
110
|
+
export const DOLLAR = "$";
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC9wYXRoLXRvLXJlZ2V4cC9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBSUg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFXLEdBQUcsQ0FBQztBQUU3Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFXLEdBQUcsQ0FBQztBQUVsQzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFXLEdBQUcsQ0FBQztBQUVsQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBYyxHQUFHLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWMsR0FBRyxDQUFDO0FBRWhEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBYyxHQUFHLENBQUM7QUFFdkM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFjLEdBQUcsQ0FBQztBQUVuQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWMsR0FBRyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBYyxNQUFNLENBQUM7QUFFdEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFjLFNBQVMsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQWMsTUFBTSxDQUFDO0FBRXRDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBYyxTQUFTLENBQUM7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFjLEtBQUssQ0FBQztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWMsR0FBRyxDQUFDO0FBRXpDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBVyxHQUFHLENBQUM7QUFFakM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVcsR0FBRyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFXLEdBQUcsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsSUFBSSxDQUFDO0FBRTNDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBVyxHQUFHLENBQUM7QUFFbEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFXLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFRva2VuVHlwZSB9IGZyb20gXCIuL21vZGVsL3Rva2VuLXR5cGVcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkZWZhdWx0IGRlbGltaXRlci5cclxuICogVmFsdWUgaXMgYFwiL1wiYC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFTElNSVRFUjogc3RyaW5nID0gXCIvXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgY2FzZSBpbnNlbnNpdGl2ZSBmbGFnLlxyXG4gKiBWYWx1ZSBpcyBgXCJpXCJgLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IElfRkxBRzogc3RyaW5nID0gXCJpXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIGZsYWcuXHJcbiAqIFZhbHVlIGlzIGBcImdcImAuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgR19GTEFHOiBzdHJpbmcgPSBcImdcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBge2AgYFRva2VuVHlwZWAuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTEVGVF9DVVJMWV9CUkFDRTogVG9rZW5UeXBlID0gXCJ7XCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgYH1gIGBUb2tlblR5cGVgLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFJJR0hUX0NVUkxZX0JSQUNFOiBUb2tlblR5cGUgPSBcIn1cIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBgKmAgYFRva2VuVHlwZWAuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQVNURVJJU0s6IFRva2VuVHlwZSA9IFwiKlwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIGArYCBgVG9rZW5UeXBlYC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBQTFVTOiBUb2tlblR5cGUgPSBcIitcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBgP2AgYFRva2VuVHlwZWAuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgUVVFU1RJT05fTUFSSzogVG9rZW5UeXBlID0gXCI/XCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgYE5BTUVgIGBUb2tlblR5cGVgLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE5BTUU6IFRva2VuVHlwZSA9IFwiTkFNRVwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIGBQQVRURVJOYCBgVG9rZW5UeXBlYC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBQQVRURVJOOiBUb2tlblR5cGUgPSBcIlBBVFRFUk5cIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBgQ0hBUmAgYFRva2VuVHlwZWAuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQ0hBUjogVG9rZW5UeXBlID0gXCJDSEFSXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgYEVTQ0FQRURgIGBUb2tlblR5cGVgLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVTQ0FQRUQ6IFRva2VuVHlwZSA9IFwiRVNDQVBFRFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIGBFTkRgIGBUb2tlblR5cGVgLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVORDogVG9rZW5UeXBlID0gXCJFTkRcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBzZW1pIGNvbG9uIChgO2ApIGNoYXJhY3Rlci5cclxuICovXHJcbmV4cG9ydCBjb25zdCBTRU1JX0NPTE9OOiBUb2tlblR5cGUgPSBcIjtcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb2xvbiAoYDpgKSBjaGFyYWN0ZXIuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQ09MT046IHN0cmluZyA9IFwiOlwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIGxlZnQgcGFyZW50aGVzaXMgKGAoYCkgY2hhcmFjdGVyLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IExFRlRfUEFSRU5USEVTSVM6IHN0cmluZyA9IFwiKFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHJpZ2h0IHBhcmVudGhlc2lzIChgKWApIGNoYXJhY3Rlci5cclxuICovXHJcbmV4cG9ydCBjb25zdCBSSUdIVF9QQVJFTlRIRVNJUzogc3RyaW5nID0gXCIpXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgZXNjYXBlZCBiYWNrIHNsYXNoIChgXFxcXGApIGNoYXJhY3Rlci5cclxuICovXHJcbmV4cG9ydCBjb25zdCBFU0NfQkFDS19TTEFTSDogc3RyaW5nID0gXCJcXFxcXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIHJlZmVyZW5jZSB0byB0aGUgY2FycmV0IChgXmApIGNoYXJhY3Rlci5cclxuICovXHJcbmV4cG9ydCBjb25zdCBDQVJSRVQ6IHN0cmluZyA9IFwiXlwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIGNhcnJldCAoYCRgKSBjaGFyYWN0ZXIuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRE9MTEFSOiBzdHJpbmcgPSBcIiRcIjtcclxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be ound in
|
|
6
|
+
* fthe LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*
|
|
8
|
+
* This source code is derived from the following original source code:
|
|
9
|
+
* - https://github.com/pillarjs/path-to-regexp
|
|
10
|
+
* - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
|
|
11
|
+
*
|
|
12
|
+
* Use of the original source code is governed by an MIT-style license
|
|
13
|
+
* that can be found in the LICENSE file at
|
|
14
|
+
* https://github.com/pillarjs/path-to-regexp/blob/master/LICENSE
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
const ESCAPE_REGEXP = /([.+*?=^!:${}()[\]|/\\])/g;
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
const ESCAPE_VALUE = "\\$1";
|
|
24
|
+
/**
|
|
25
|
+
* @private
|
|
26
|
+
* Escape a regular expression string.
|
|
27
|
+
*
|
|
28
|
+
* @param str The regular expression string to escape.
|
|
29
|
+
* @returns An escaped a regular expression string.
|
|
30
|
+
*/
|
|
31
|
+
export const escapeRegexpString = (str) => {
|
|
32
|
+
return str.replace(ESCAPE_REGEXP, ESCAPE_VALUE);
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLXRvLXJlZ2V4cC1zdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwL3BhdGgtdG8tcmVnZXhwL2VzY2FwZS10by1yZWdleHAtc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBSUg7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBVywyQkFBMkIsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFXLE1BQU0sQ0FBQztBQUVwQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxDQUFDLEdBQVcsRUFBQyxFQUFFO0lBQ3ZELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIG91bmQgaW5cclxuICogZnRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqXHJcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHRoZSBmb2xsb3dpbmcgb3JpZ2luYWwgc291cmNlIGNvZGU6XHJcbiAqIC0gaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXHJcbiAqIC0gQ29weXJpZ2h0IChjKSAyMDE0IEJsYWtlIEVtYnJleSAoaGVsbG9AYmxha2VlbWJyZXkuY29tKVxyXG4gKiBcclxuICogVXNlIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSBcclxuICogdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdFxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHAvYmxvYi9tYXN0ZXIvTElDRU5TRVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEVuY29kZSB9IGZyb20gXCIuL21vZGVsL2VuY29kZVwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5jb25zdCBFU0NBUEVfUkVHRVhQOiBSZWdFeHAgPSAvKFsuKyo/PV4hOiR7fSgpW1xcXXwvXFxcXF0pL2c7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbmNvbnN0IEVTQ0FQRV9WQUxVRTogc3RyaW5nID0gXCJcXFxcJDFcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBFc2NhcGUgYSByZWd1bGFyIGV4cHJlc3Npb24gc3RyaW5nLlxyXG4gKiBcclxuICogQHBhcmFtIHN0ciBUaGUgcmVndWxhciBleHByZXNzaW9uIHN0cmluZyB0byBlc2NhcGUuXHJcbiAqIEByZXR1cm5zIEFuIGVzY2FwZWQgYSByZWd1bGFyIGV4cHJlc3Npb24gc3RyaW5nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGVzY2FwZVJlZ2V4cFN0cmluZzogRW5jb2RlID0gKHN0cjogc3RyaW5nKT0+IHtcclxuICByZXR1cm4gc3RyLnJlcGxhY2UoRVNDQVBFX1JFR0VYUCwgRVNDQVBFX1ZBTFVFKTtcclxufVxyXG4iXX0=
|