@joster-dev/chaos-control 0.1.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/README.md +86 -0
- package/esm2022/joster-dev-chaos-control.mjs +5 -0
- package/esm2022/lib/chaos-control.module.mjs +67 -0
- package/esm2022/lib/chaos-control.service.mjs +14 -0
- package/esm2022/lib/components/choice/choice.component.mjs +52 -0
- package/esm2022/lib/components/color/color.component.mjs +77 -0
- package/esm2022/lib/components/file/file.component.mjs +131 -0
- package/esm2022/lib/components/index.mjs +8 -0
- package/esm2022/lib/components/number/number.component.mjs +134 -0
- package/esm2022/lib/components/readonly/readonly.component.mjs +14 -0
- package/esm2022/lib/components/select/select.component.mjs +69 -0
- package/esm2022/lib/components/text/text.component.mjs +162 -0
- package/esm2022/lib/directives/border-radius.directive.mjs +41 -0
- package/esm2022/lib/directives/control.directive.mjs +46 -0
- package/esm2022/lib/directives/index.mjs +4 -0
- package/esm2022/lib/directives/item.directive.mjs +115 -0
- package/esm2022/lib/models/index.mjs +7 -0
- package/esm2022/lib/models/is-item.function.mjs +8 -0
- package/esm2022/lib/models/is-items.function.mjs +5 -0
- package/esm2022/lib/models/is-number.function.mjs +5 -0
- package/esm2022/lib/models/is-primitive.function.mjs +7 -0
- package/esm2022/lib/models/item.interface.mjs +2 -0
- package/esm2022/lib/models/primitive.type.mjs +2 -0
- package/esm2022/public-api.mjs +6 -0
- package/fesm2022/joster-dev-chaos-control.mjs +894 -0
- package/fesm2022/joster-dev-chaos-control.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/LICENSE +9 -0
- package/lib/chaos-control.module.d.ts +20 -0
- package/lib/chaos-control.service.d.ts +6 -0
- package/lib/components/choice/choice.component.d.ts +15 -0
- package/lib/components/color/color.component.d.ts +22 -0
- package/lib/components/file/file.component.d.ts +31 -0
- package/lib/components/index.d.ts +7 -0
- package/lib/components/number/number.component.d.ts +33 -0
- package/lib/components/readonly/readonly.component.d.ts +8 -0
- package/lib/components/select/select.component.d.ts +23 -0
- package/lib/components/text/text.component.d.ts +41 -0
- package/lib/directives/border-radius.directive.d.ts +12 -0
- package/lib/directives/control.directive.d.ts +18 -0
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/item.directive.d.ts +35 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/is-item.function.d.ts +2 -0
- package/lib/models/is-items.function.d.ts +2 -0
- package/lib/models/is-number.function.d.ts +1 -0
- package/lib/models/is-primitive.function.d.ts +2 -0
- package/lib/models/item.interface.d.ts +6 -0
- package/lib/models/primitive.type.d.ts +1 -0
- package/package.json +57 -0
- package/public-api.d.ts +4 -0
- package/src/lib/atomic.scss +87 -0
- package/src/lib/styles.scss +83 -0
- package/src/lib/variables.scss +3 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Directive, Input, Self } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import { isItems, isNumber, isPrimitive } from '../models';
|
|
5
|
+
import { ControlDirective } from './control.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
export class ItemDirective extends ControlDirective {
|
|
9
|
+
get items() {
|
|
10
|
+
return this._items;
|
|
11
|
+
}
|
|
12
|
+
set items(value) {
|
|
13
|
+
if (!isItems(value))
|
|
14
|
+
throw new Error('[items] expects: { key: boolean | number | string, value: string }[]');
|
|
15
|
+
this._items = value;
|
|
16
|
+
this.validation.next();
|
|
17
|
+
}
|
|
18
|
+
get limit() {
|
|
19
|
+
return this._limit;
|
|
20
|
+
}
|
|
21
|
+
set limit(value) {
|
|
22
|
+
if (value == null)
|
|
23
|
+
value = 0;
|
|
24
|
+
if (!isNumber(value) || value < 0 || !Number.isInteger(value))
|
|
25
|
+
throw new Error('limit expects: positive integer');
|
|
26
|
+
this._limit = value;
|
|
27
|
+
this.validation.next();
|
|
28
|
+
}
|
|
29
|
+
get isMultiple() {
|
|
30
|
+
return this._isMultiple;
|
|
31
|
+
}
|
|
32
|
+
set isMultiple(value) {
|
|
33
|
+
if (value === '')
|
|
34
|
+
value = true;
|
|
35
|
+
if (value == null)
|
|
36
|
+
value = false;
|
|
37
|
+
if (typeof value !== 'boolean')
|
|
38
|
+
throw new Error('multiple expects: boolean');
|
|
39
|
+
this._isMultiple = value;
|
|
40
|
+
}
|
|
41
|
+
set model(value) {
|
|
42
|
+
this._model = value;
|
|
43
|
+
this.onChange(value.length === 0
|
|
44
|
+
? null
|
|
45
|
+
: this.isMultiple
|
|
46
|
+
? this._model
|
|
47
|
+
: this._model[0]);
|
|
48
|
+
}
|
|
49
|
+
constructor(ngControl) {
|
|
50
|
+
super();
|
|
51
|
+
this.ngControl = ngControl;
|
|
52
|
+
this._items = [];
|
|
53
|
+
this._limit = 0;
|
|
54
|
+
this._isMultiple = false;
|
|
55
|
+
this._model = [];
|
|
56
|
+
this.validation
|
|
57
|
+
.pipe(debounceTime(100))
|
|
58
|
+
.subscribe(() => this.validate());
|
|
59
|
+
ngControl.valueAccessor = this;
|
|
60
|
+
}
|
|
61
|
+
onChange(_value) { }
|
|
62
|
+
registerOnChange(fn) {
|
|
63
|
+
this.onChange = fn;
|
|
64
|
+
}
|
|
65
|
+
writeValue(value) {
|
|
66
|
+
if (value == null)
|
|
67
|
+
value = [];
|
|
68
|
+
if (!Array.isArray(value))
|
|
69
|
+
value = [value];
|
|
70
|
+
if (value.every(item => isPrimitive(item)))
|
|
71
|
+
this._model = value;
|
|
72
|
+
}
|
|
73
|
+
invalidValidator(items, isMultiple) {
|
|
74
|
+
return (control) => (isMultiple
|
|
75
|
+
? Array.isArray(control.value) && control.value.every((key) => !items.map(item => item.key).includes(key))
|
|
76
|
+
: ![undefined, null].includes(control.value) && !items.map(item => item.key).includes(control.value))
|
|
77
|
+
? { invalid: control.value }
|
|
78
|
+
: null;
|
|
79
|
+
}
|
|
80
|
+
limitValidator(limit) {
|
|
81
|
+
return (control) => control.value !== null && limit !== 0 && control.value.length > limit
|
|
82
|
+
? { limit: { value: control.value } }
|
|
83
|
+
: null;
|
|
84
|
+
}
|
|
85
|
+
validate() {
|
|
86
|
+
const validators = [
|
|
87
|
+
this.invalidValidator(this._items, this._isMultiple),
|
|
88
|
+
];
|
|
89
|
+
if (this._isMultiple)
|
|
90
|
+
validators.push(this.limitValidator(this._limit));
|
|
91
|
+
if (this.required === true)
|
|
92
|
+
validators.push(Validators.required);
|
|
93
|
+
if (this.ngControl.control === null)
|
|
94
|
+
throw new Error('expected control to be defined');
|
|
95
|
+
this.ngControl.control.setValidators(validators);
|
|
96
|
+
this.ngControl.control.updateValueAndValidity();
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ItemDirective, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
99
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: ItemDirective, selector: "[joItem]", inputs: { items: "items", limit: "limit", isMultiple: "isMultiple" }, usesInheritance: true, ngImport: i0 }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ItemDirective, decorators: [{
|
|
102
|
+
type: Directive,
|
|
103
|
+
args: [{
|
|
104
|
+
selector: '[joItem]'
|
|
105
|
+
}]
|
|
106
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
107
|
+
type: Self
|
|
108
|
+
}] }], propDecorators: { items: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], limit: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], isMultiple: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}] } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvZGlyZWN0aXZlcy9pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFtRixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFtQixNQUFNLFdBQVcsQ0FBQztBQUU1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxhQUFjLFNBQVEsZ0JBQWdCO0lBQ2pELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBa0Y7UUFDMUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQ2YsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQW1CO1FBQ2hDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDZCxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsSUFBSSxLQUFLLElBQUksSUFBSTtZQUNmLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBSSxLQUFLLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FDWCxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDaEIsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUdELFlBQ2lCLFNBQW9CO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBRk8sY0FBUyxHQUFULFNBQVMsQ0FBVztRQTlDckMsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQWdCcEIsV0FBTSxHQUFHLENBQUMsQ0FBQztRQWVYLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBWXBCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBTXZCLElBQUksQ0FBQyxVQUFVO2FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEMsU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFzQyxJQUFJLENBQUM7SUFDcEQsZ0JBQWdCLENBQUMsRUFBYztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXFDO1FBQzlDLElBQUksS0FBSyxJQUFJLElBQUk7WUFDZixLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFVBQW1CO1FBQ3pELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFLENBQzNELENBQ0UsVUFBVTtZQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUN2RztZQUNDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7UUFDbEMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUUsQ0FDM0QsT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLO1lBQ25FLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxVQUFVLEdBQWtCO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDckQsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFdBQVc7WUFDbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJO1lBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssSUFBSTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEQsQ0FBQzs4R0FwSFUsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs7MEJBMERJLElBQUk7eUNBdkRILEtBQUs7c0JBRFIsS0FBSztnQkFhRixLQUFLO3NCQURSLEtBQUs7Z0JBaUJGLFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBpc0l0ZW1zLCBpc051bWJlciwgaXNQcmltaXRpdmUsIEl0ZW0sIHByaW1pdGl2ZSB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5pbXBvcnQgeyBDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tqb0l0ZW1dJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSXRlbURpcmVjdGl2ZSBleHRlbmRzIENvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KClcclxuICBnZXQgaXRlbXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHNldCBpdGVtcyh2YWx1ZTogeyBrZXk6IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIFtrZXk6IHN0cmluZ106IHVua25vd24gfVtdKSB7XHJcbiAgICBpZiAoIWlzSXRlbXModmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tpdGVtc10gZXhwZWN0czogeyBrZXk6IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdJyk7XHJcbiAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uLm5leHQoKTtcclxuICB9XHJcbiAgX2l0ZW1zOiBJdGVtW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbGltaXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGltaXQ7XHJcbiAgfVxyXG4gIHNldCBsaW1pdCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbClcclxuICAgICAgdmFsdWUgPSAwO1xyXG5cclxuICAgIGlmICghaXNOdW1iZXIodmFsdWUpIHx8IHZhbHVlIDwgMCB8fCAhTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbGltaXQgZXhwZWN0czogcG9zaXRpdmUgaW50ZWdlcicpO1xyXG5cclxuICAgIHRoaXMuX2xpbWl0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gIH1cclxuICBfbGltaXQgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBpc011bHRpcGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzTXVsdGlwbGU7XHJcbiAgfVxyXG4gIHNldCBpc011bHRpcGxlKHZhbHVlOiBib29sZWFuIHwgJycpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gJycpXHJcbiAgICAgIHZhbHVlID0gdHJ1ZTtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKVxyXG4gICAgICB2YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ211bHRpcGxlIGV4cGVjdHM6IGJvb2xlYW4nKVxyXG4gICAgdGhpcy5faXNNdWx0aXBsZSA9IHZhbHVlO1xyXG4gIH1cclxuICBfaXNNdWx0aXBsZSA9IGZhbHNlO1xyXG5cclxuICBzZXQgbW9kZWwodmFsdWU6IHByaW1pdGl2ZVtdKSB7XHJcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZShcclxuICAgICAgdmFsdWUubGVuZ3RoID09PSAwXHJcbiAgICAgICAgPyBudWxsXHJcbiAgICAgICAgOiB0aGlzLmlzTXVsdGlwbGVcclxuICAgICAgICAgID8gdGhpcy5fbW9kZWxcclxuICAgICAgICAgIDogdGhpcy5fbW9kZWxbMF1cclxuICAgICk7XHJcbiAgfVxyXG4gIF9tb2RlbDogcHJpbWl0aXZlW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudmFsaWRhdGlvblxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZhbGlkYXRlKCkpO1xyXG4gICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX3ZhbHVlOiBwcmltaXRpdmVbXSB8IHByaW1pdGl2ZSB8IG51bGwpIHsgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IHByaW1pdGl2ZVtdIHwgcHJpbWl0aXZlIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpXHJcbiAgICAgIHZhbHVlID0gW107XHJcblxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcclxuICAgICAgdmFsdWUgPSBbdmFsdWVdO1xyXG5cclxuICAgIGlmICh2YWx1ZS5ldmVyeShpdGVtID0+IGlzUHJpbWl0aXZlKGl0ZW0pKSlcclxuICAgICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW52YWxpZFZhbGlkYXRvcihpdGVtczogSXRlbVtdLCBpc011bHRpcGxlOiBib29sZWFuKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PlxyXG4gICAgICAoXHJcbiAgICAgICAgaXNNdWx0aXBsZVxyXG4gICAgICAgICAgPyBBcnJheS5pc0FycmF5KGNvbnRyb2wudmFsdWUpICYmIGNvbnRyb2wudmFsdWUuZXZlcnkoKGtleTogYW55KSA9PiAhaXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5rZXkpLmluY2x1ZGVzKGtleSkpXHJcbiAgICAgICAgICA6ICFbdW5kZWZpbmVkLCBudWxsXS5pbmNsdWRlcyhjb250cm9sLnZhbHVlKSAmJiAhaXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5rZXkpLmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpXHJcbiAgICAgIClcclxuICAgICAgICA/IHsgaW52YWxpZDogY29udHJvbC52YWx1ZSB9XHJcbiAgICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaW1pdFZhbGlkYXRvcihsaW1pdDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PlxyXG4gICAgICBjb250cm9sLnZhbHVlICE9PSBudWxsICYmIGxpbWl0ICE9PSAwICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gbGltaXRcclxuICAgICAgICA/IHsgbGltaXQ6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSB9XHJcbiAgICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXHJcbiAgICAgIHRoaXMuaW52YWxpZFZhbGlkYXRvcih0aGlzLl9pdGVtcywgdGhpcy5faXNNdWx0aXBsZSksXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLl9pc011bHRpcGxlKVxyXG4gICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5saW1pdFZhbGlkYXRvcih0aGlzLl9saW1pdCkpO1xyXG5cclxuICAgIGlmICh0aGlzLnJlcXVpcmVkID09PSB0cnVlKVxyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sLmNvbnRyb2wgPT09IG51bGwpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgY29udHJvbCB0byBiZSBkZWZpbmVkJyk7XHJcblxyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './is-item.function';
|
|
2
|
+
export * from './is-items.function';
|
|
3
|
+
export * from './is-number.function';
|
|
4
|
+
export * from './is-primitive.function';
|
|
5
|
+
export * from './item.interface';
|
|
6
|
+
export * from './primitive.type';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1pdGVtLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9pcy1pdGVtcy5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaXMtbnVtYmVyLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9pcy1wcmltaXRpdmUuZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2l0ZW0uaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcmltaXRpdmUudHlwZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isPrimitive } from './is-primitive.function';
|
|
2
|
+
export function isItem(item) {
|
|
3
|
+
return typeof (item) === 'object'
|
|
4
|
+
&& item !== null
|
|
5
|
+
&& isPrimitive(item.key)
|
|
6
|
+
&& typeof item.value === 'string';
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaXRlbS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9tb2RlbHMvaXMtaXRlbS5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHdEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFVO0lBQy9CLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVE7V0FDNUIsSUFBSSxLQUFLLElBQUk7V0FDYixXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztXQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ByaW1pdGl2ZSB9IGZyb20gJy4vaXMtcHJpbWl0aXZlLmZ1bmN0aW9uJztcclxuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4vaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzSXRlbShpdGVtOiBJdGVtKTogaXRlbSBpcyBJdGVtIHtcclxuICByZXR1cm4gdHlwZW9mIChpdGVtKSA9PT0gJ29iamVjdCdcclxuICAgICYmIGl0ZW0gIT09IG51bGxcclxuICAgICYmIGlzUHJpbWl0aXZlKGl0ZW0ua2V5KVxyXG4gICAgJiYgdHlwZW9mIGl0ZW0udmFsdWUgPT09ICdzdHJpbmcnO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { isItem } from './is-item.function';
|
|
2
|
+
export function isItems(value) {
|
|
3
|
+
return Array.isArray(value) && value.every(item => isItem(item));
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaXRlbXMuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvbW9kZWxzL2lzLWl0ZW1zLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc1QyxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQWE7SUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNJdGVtIH0gZnJvbSAnLi9pcy1pdGVtLmZ1bmN0aW9uJztcclxuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4vaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzSXRlbXModmFsdWU6IEl0ZW1bXSk6IHZhbHVlIGlzIEl0ZW1bXSB7XHJcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KGl0ZW0gPT4gaXNJdGVtKGl0ZW0pKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function isNumber(value) {
|
|
2
|
+
return typeof value === 'number'
|
|
3
|
+
&& !isNaN(value);
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbnVtYmVyLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL21vZGVscy9pcy1udW1iZXIuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFjO0lBQ3JDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUTtXQUMzQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgbnVtYmVyIHtcclxuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJ1xyXG4gICAgJiYgIWlzTmFOKHZhbHVlKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { isNumber } from './is-number.function';
|
|
2
|
+
export function isPrimitive(value) {
|
|
3
|
+
return typeof value === 'boolean'
|
|
4
|
+
|| isNumber(value)
|
|
5
|
+
|| typeof value === 'string';
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcHJpbWl0aXZlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL21vZGVscy9pcy1wcmltaXRpdmUuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYztJQUN4QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVM7V0FDNUIsUUFBUSxDQUFDLEtBQUssQ0FBQztXQUNmLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuL2lzLW51bWJlci5mdW5jdGlvbic7XHJcbmltcG9ydCB7IHByaW1pdGl2ZSB9IGZyb20gJy4vcHJpbWl0aXZlLnR5cGUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgcHJpbWl0aXZlIHtcclxuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbidcclxuICAgIHx8IGlzTnVtYmVyKHZhbHVlKVxyXG4gICAgfHwgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvbW9kZWxzL2l0ZW0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcmltaXRpdmUgfSBmcm9tICcuL3ByaW1pdGl2ZS50eXBlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbSB7XHJcbiAga2V5OiBwcmltaXRpdmU7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBbeDogc3RyaW5nXTogdW5rbm93bjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvbW9kZWxzL3ByaW1pdGl2ZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBwcmltaXRpdmUgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nO1xyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Public API Surface of chaos-control
|
|
2
|
+
export * from './lib/chaos-control.module';
|
|
3
|
+
export * from './lib/components';
|
|
4
|
+
export * from './lib/models';
|
|
5
|
+
export * from './lib/chaos-control.service';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBRXRDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUHVibGljIEFQSSBTdXJmYWNlIG9mIGNoYW9zLWNvbnRyb2xcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW9zLWNvbnRyb2wubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW9zLWNvbnRyb2wuc2VydmljZSc7XHJcbiJdfQ==
|