@firestitch/common 13.0.4 → 14.0.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/app/directives/auto-focus.directive.d.ts +15 -15
- package/app/directives/auto-select.directive.d.ts +11 -11
- package/app/directives/index.d.ts +5 -5
- package/app/directives/model-change.directive.d.ts +16 -16
- package/app/directives/prevent-default.directive.d.ts +6 -6
- package/app/directives/stop-propagation.directive.d.ts +6 -6
- package/app/fs-common.module.d.ts +20 -20
- package/app/pipes/bytes.pipe.d.ts +7 -7
- package/app/pipes/currency.pipe.d.ts +9 -9
- package/app/pipes/index.d.ts +2 -2
- package/app/pipes/number.pipe.d.ts +7 -7
- package/app/pipes/ordinal-number.pipe.d.ts +7 -7
- package/app/pipes/truncate.pipe.d.ts +8 -8
- package/app/pipes/util.pipe.d.ts +24 -24
- package/app/services/array.service.d.ts +61 -61
- package/app/services/math.service.d.ts +9 -9
- package/app/services/util.service.d.ts +89 -89
- package/app/services/vaildate.service.d.ts +16 -16
- package/esm2020/app/directives/auto-focus.directive.mjs +58 -58
- package/esm2020/app/directives/auto-select.directive.mjs +30 -30
- package/esm2020/app/directives/index.mjs +5 -5
- package/esm2020/app/directives/model-change.directive.mjs +36 -36
- package/esm2020/app/directives/prevent-default.directive.mjs +18 -18
- package/esm2020/app/directives/stop-propagation.directive.mjs +18 -18
- package/esm2020/app/fs-common.module.mjs +99 -101
- package/esm2020/app/pipes/bytes.pipe.mjs +16 -16
- package/esm2020/app/pipes/currency.pipe.mjs +22 -22
- package/esm2020/app/pipes/index.mjs +2 -2
- package/esm2020/app/pipes/number.pipe.mjs +16 -16
- package/esm2020/app/pipes/ordinal-number.pipe.mjs +16 -16
- package/esm2020/app/pipes/truncate.pipe.mjs +17 -17
- package/esm2020/app/pipes/util.pipe.mjs +59 -59
- package/esm2020/app/services/array.service.mjs +224 -224
- package/esm2020/app/services/math.service.mjs +20 -20
- package/esm2020/app/services/util.service.mjs +250 -250
- package/esm2020/app/services/vaildate.service.mjs +27 -27
- package/esm2020/firestitch-common.mjs +4 -4
- package/esm2020/libs/array/compare/compare.mjs +7 -7
- package/esm2020/libs/array/compare/index.mjs +1 -1
- package/esm2020/libs/array/filter/filter.mjs +26 -26
- package/esm2020/libs/array/filter/index.mjs +1 -1
- package/esm2020/libs/array/find/find.mjs +5 -5
- package/esm2020/libs/array/find/index.mjs +1 -1
- package/esm2020/libs/array/inArray/inArray.mjs +11 -11
- package/esm2020/libs/array/inArray/index.mjs +1 -1
- package/esm2020/libs/array/index/index.mjs +7 -7
- package/esm2020/libs/array/index.mjs +13 -13
- package/esm2020/libs/array/indexOf/index.mjs +1 -1
- package/esm2020/libs/array/indexOf/indexOf.mjs +15 -15
- package/esm2020/libs/array/keyExists/index.mjs +1 -1
- package/esm2020/libs/array/keyExists/keyExists.mjs +3 -3
- package/esm2020/libs/array/ksort/index.mjs +1 -1
- package/esm2020/libs/array/ksort/ksort.mjs +7 -7
- package/esm2020/libs/array/list/index.mjs +1 -1
- package/esm2020/libs/array/list/list.mjs +12 -12
- package/esm2020/libs/array/nameValue/index.mjs +1 -1
- package/esm2020/libs/array/nameValue/nameValue.mjs +20 -20
- package/esm2020/libs/array/remove/index.mjs +1 -1
- package/esm2020/libs/array/remove/remove.mjs +8 -8
- package/esm2020/libs/array/rsort/index.mjs +1 -1
- package/esm2020/libs/array/rsort/rsort.mjs +4 -4
- package/esm2020/libs/array/sort/index.mjs +1 -1
- package/esm2020/libs/array/sort/sort.mjs +26 -26
- package/esm2020/libs/format/acronym/acronym.mjs +21 -21
- package/esm2020/libs/format/acronym/index.mjs +1 -1
- package/esm2020/libs/format/bytes/bytes.mjs +17 -17
- package/esm2020/libs/format/bytes/index.mjs +1 -1
- package/esm2020/libs/format/currency/currency.mjs +8 -8
- package/esm2020/libs/format/currency/index.mjs +1 -1
- package/esm2020/libs/format/index.mjs +5 -5
- package/esm2020/libs/format/number/index.mjs +1 -1
- package/esm2020/libs/format/number/number.mjs +7 -7
- package/esm2020/libs/format/truncate/index.mjs +1 -1
- package/esm2020/libs/format/truncate/truncate.mjs +11 -11
- package/esm2020/libs/index.mjs +5 -5
- package/esm2020/libs/rxjs/delayedRetry.mjs +19 -19
- package/esm2020/libs/rxjs/keyboard-shortcut.mjs +17 -17
- package/esm2020/libs/util/boolean/boolean.mjs +3 -3
- package/esm2020/libs/util/boolean/index.mjs +1 -1
- package/esm2020/libs/util/clone/clone.mjs +20 -20
- package/esm2020/libs/util/clone/index.mjs +1 -1
- package/esm2020/libs/util/debounce/debounce.mjs +16 -16
- package/esm2020/libs/util/debounce/index.mjs +1 -1
- package/esm2020/libs/util/get-normalized-path/get-normalized-path.mjs +5 -5
- package/esm2020/libs/util/get-normalized-path/index.mjs +1 -1
- package/esm2020/libs/util/guid/guid.mjs +18 -18
- package/esm2020/libs/util/guid/index.mjs +1 -1
- package/esm2020/libs/util/index.mjs +24 -24
- package/esm2020/libs/util/is-array-equal/index.mjs +2 -2
- package/esm2020/libs/util/is-array-equal/is-array-equal.mjs +21 -21
- package/esm2020/libs/util/is-class/index.mjs +1 -1
- package/esm2020/libs/util/is-class/is-class.mjs +17 -17
- package/esm2020/libs/util/is-empty/index.mjs +1 -1
- package/esm2020/libs/util/is-empty/is-empty.mjs +11 -11
- package/esm2020/libs/util/is-numeric/index.mjs +1 -1
- package/esm2020/libs/util/is-numeric/is-numeric.mjs +4 -4
- package/esm2020/libs/util/is-object/index.mjs +1 -1
- package/esm2020/libs/util/is-object/is-object.mjs +3 -3
- package/esm2020/libs/util/keys/index.mjs +1 -1
- package/esm2020/libs/util/keys/keys.mjs +37 -37
- package/esm2020/libs/util/length/index.mjs +1 -1
- package/esm2020/libs/util/length/length.mjs +9 -9
- package/esm2020/libs/util/ordinal-number/index.mjs +2 -2
- package/esm2020/libs/util/ordinal-number/ordinal-number.mjs +7 -7
- package/esm2020/libs/util/queue/index.mjs +3 -3
- package/esm2020/libs/util/queue/operation.mjs +14 -14
- package/esm2020/libs/util/queue/queue-stats.mjs +1 -1
- package/esm2020/libs/util/queue/queue.enum.mjs +5 -5
- package/esm2020/libs/util/queue/queue.mjs +164 -164
- package/esm2020/libs/util/remove-query-params/index.mjs +1 -1
- package/esm2020/libs/util/remove-query-params/remove-query-params.mjs +3 -3
- package/esm2020/libs/util/resolve/index.mjs +1 -1
- package/esm2020/libs/util/resolve/resolve.mjs +9 -9
- package/esm2020/libs/util/round/index.mjs +1 -1
- package/esm2020/libs/util/round/round.mjs +5 -5
- package/esm2020/libs/util/source-loader/index.mjs +2 -2
- package/esm2020/libs/util/source-loader/source-loader.mjs +154 -154
- package/esm2020/libs/util/stringify/index.mjs +1 -1
- package/esm2020/libs/util/stringify/stringify.mjs +3 -3
- package/esm2020/libs/util/throttle/index.mjs +1 -1
- package/esm2020/libs/util/throttle/throttle.mjs +12 -12
- package/esm2020/libs/util/to-string/index.mjs +1 -1
- package/esm2020/libs/util/to-string/to-string.mjs +6 -6
- package/esm2020/libs/util/uuid/index.mjs +1 -1
- package/esm2020/libs/util/uuid/uuid.mjs +4 -4
- package/esm2020/libs/util/value/index.mjs +1 -1
- package/esm2020/libs/util/value/value.mjs +8 -8
- package/esm2020/libs/validate/email/email.mjs +3 -3
- package/esm2020/libs/validate/email/index.mjs +1 -1
- package/esm2020/libs/validate/index.mjs +3 -3
- package/esm2020/libs/validate/phone/index.mjs +1 -1
- package/esm2020/libs/validate/phone/phone.mjs +4 -4
- package/esm2020/libs/validate/url/index.mjs +1 -1
- package/esm2020/libs/validate/url/url.mjs +11 -11
- package/esm2020/public_api.mjs +17 -17
- package/fesm2015/firestitch-common.mjs +1698 -1700
- package/fesm2015/firestitch-common.mjs.map +1 -1
- package/fesm2020/firestitch-common.mjs +1691 -1693
- package/fesm2020/firestitch-common.mjs.map +1 -1
- package/{firestitch-common.d.ts → index.d.ts} +5 -5
- package/libs/array/compare/compare.d.ts +1 -1
- package/libs/array/compare/index.d.ts +1 -1
- package/libs/array/filter/filter.d.ts +1 -1
- package/libs/array/filter/index.d.ts +1 -1
- package/libs/array/find/find.d.ts +1 -1
- package/libs/array/find/index.d.ts +1 -1
- package/libs/array/inArray/inArray.d.ts +1 -1
- package/libs/array/inArray/index.d.ts +1 -1
- package/libs/array/index/index.d.ts +1 -1
- package/libs/array/index.d.ts +13 -13
- package/libs/array/indexOf/index.d.ts +1 -1
- package/libs/array/indexOf/indexOf.d.ts +1 -1
- package/libs/array/keyExists/index.d.ts +1 -1
- package/libs/array/keyExists/keyExists.d.ts +1 -1
- package/libs/array/ksort/index.d.ts +1 -1
- package/libs/array/ksort/ksort.d.ts +1 -1
- package/libs/array/list/index.d.ts +1 -1
- package/libs/array/list/list.d.ts +1 -1
- package/libs/array/nameValue/index.d.ts +1 -1
- package/libs/array/nameValue/nameValue.d.ts +1 -1
- package/libs/array/remove/index.d.ts +1 -1
- package/libs/array/remove/remove.d.ts +1 -1
- package/libs/array/rsort/index.d.ts +1 -1
- package/libs/array/rsort/rsort.d.ts +1 -1
- package/libs/array/sort/index.d.ts +1 -1
- package/libs/array/sort/sort.d.ts +1 -1
- package/libs/format/acronym/acronym.d.ts +1 -1
- package/libs/format/acronym/index.d.ts +1 -1
- package/libs/format/bytes/bytes.d.ts +1 -1
- package/libs/format/bytes/index.d.ts +1 -1
- package/libs/format/currency/currency.d.ts +1 -1
- package/libs/format/currency/index.d.ts +1 -1
- package/libs/format/index.d.ts +5 -5
- package/libs/format/number/index.d.ts +1 -1
- package/libs/format/number/number.d.ts +1 -1
- package/libs/format/truncate/index.d.ts +1 -1
- package/libs/format/truncate/truncate.d.ts +1 -1
- package/libs/index.d.ts +5 -5
- package/libs/rxjs/delayedRetry.d.ts +2 -2
- package/libs/rxjs/keyboard-shortcut.d.ts +2 -2
- package/libs/util/boolean/boolean.d.ts +1 -1
- package/libs/util/boolean/index.d.ts +1 -1
- package/libs/util/clone/clone.d.ts +1 -1
- package/libs/util/clone/index.d.ts +1 -1
- package/libs/util/debounce/debounce.d.ts +1 -1
- package/libs/util/debounce/index.d.ts +1 -1
- package/libs/util/get-normalized-path/get-normalized-path.d.ts +2 -2
- package/libs/util/get-normalized-path/index.d.ts +1 -1
- package/libs/util/guid/guid.d.ts +1 -1
- package/libs/util/guid/index.d.ts +1 -1
- package/libs/util/index.d.ts +23 -23
- package/libs/util/is-array-equal/index.d.ts +1 -1
- package/libs/util/is-array-equal/is-array-equal.d.ts +1 -1
- package/libs/util/is-class/index.d.ts +1 -1
- package/libs/util/is-class/is-class.d.ts +1 -1
- package/libs/util/is-empty/index.d.ts +1 -1
- package/libs/util/is-empty/is-empty.d.ts +1 -1
- package/libs/util/is-numeric/index.d.ts +1 -1
- package/libs/util/is-numeric/is-numeric.d.ts +1 -1
- package/libs/util/is-object/index.d.ts +1 -1
- package/libs/util/is-object/is-object.d.ts +1 -1
- package/libs/util/keys/index.d.ts +1 -1
- package/libs/util/keys/keys.d.ts +37 -37
- package/libs/util/length/index.d.ts +1 -1
- package/libs/util/length/length.d.ts +1 -1
- package/libs/util/ordinal-number/index.d.ts +1 -1
- package/libs/util/ordinal-number/ordinal-number.d.ts +1 -1
- package/libs/util/queue/index.d.ts +3 -3
- package/libs/util/queue/operation.d.ts +7 -7
- package/libs/util/queue/queue-stats.d.ts +5 -5
- package/libs/util/queue/queue.d.ts +39 -39
- package/libs/util/queue/queue.enum.d.ts +4 -4
- package/libs/util/remove-query-params/index.d.ts +1 -1
- package/libs/util/remove-query-params/remove-query-params.d.ts +1 -1
- package/libs/util/resolve/index.d.ts +1 -1
- package/libs/util/resolve/resolve.d.ts +1 -1
- package/libs/util/round/index.d.ts +1 -1
- package/libs/util/round/round.d.ts +1 -1
- package/libs/util/source-loader/index.d.ts +1 -1
- package/libs/util/source-loader/source-loader.d.ts +11 -11
- package/libs/util/stringify/index.d.ts +1 -1
- package/libs/util/stringify/stringify.d.ts +1 -1
- package/libs/util/throttle/index.d.ts +1 -1
- package/libs/util/throttle/throttle.d.ts +1 -1
- package/libs/util/to-string/index.d.ts +1 -1
- package/libs/util/to-string/to-string.d.ts +1 -1
- package/libs/util/uuid/index.d.ts +1 -1
- package/libs/util/uuid/uuid.d.ts +1 -1
- package/libs/util/value/index.d.ts +1 -1
- package/libs/util/value/value.d.ts +1 -1
- package/libs/validate/email/email.d.ts +1 -1
- package/libs/validate/email/index.d.ts +1 -1
- package/libs/validate/index.d.ts +3 -3
- package/libs/validate/phone/index.d.ts +1 -1
- package/libs/validate/phone/phone.d.ts +1 -1
- package/libs/validate/url/index.d.ts +1 -1
- package/libs/validate/url/url.d.ts +7 -7
- package/package.json +3 -3
- package/public_api.d.ts +15 -15
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export function length(object) {
|
|
2
|
-
if (Array.isArray(object)) {
|
|
3
|
-
return object.length;
|
|
4
|
-
}
|
|
5
|
-
if (object instanceof Object) {
|
|
6
|
-
return Object.keys(object).length;
|
|
7
|
-
}
|
|
8
|
-
return 0;
|
|
9
|
-
}
|
|
1
|
+
export function length(object) {
|
|
2
|
+
if (Array.isArray(object)) {
|
|
3
|
+
return object.length;
|
|
4
|
+
}
|
|
5
|
+
if (object instanceof Object) {
|
|
6
|
+
return Object.keys(object).length;
|
|
7
|
+
}
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdXRpbC9sZW5ndGgvbGVuZ3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBTTtJQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQ3RCO0lBRUQsSUFBSSxNQUFNLFlBQVksTUFBTSxFQUFFO1FBQzVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDbkM7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gbGVuZ3RoKG9iamVjdCkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgcmV0dXJuIG9iamVjdC5sZW5ndGg7XG4gIH1cblxuICBpZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './ordinal-number';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './ordinal-number';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL29yZGluYWwtbnVtYmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29yZGluYWwtbnVtYmVyJztcbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export function ordinalNumber(value) {
|
|
2
|
-
value = String(value);
|
|
3
|
-
const index = value.match `1?.$`;
|
|
4
|
-
const endings = [, 'st', 'nd', 'rd'];
|
|
5
|
-
const ending = endings[index] || 'th';
|
|
6
|
-
return value + ending;
|
|
7
|
-
}
|
|
1
|
+
export function ordinalNumber(value) {
|
|
2
|
+
value = String(value);
|
|
3
|
+
const index = value.match `1?.$`;
|
|
4
|
+
const endings = [, 'st', 'nd', 'rd'];
|
|
5
|
+
const ending = endings[index] || 'th';
|
|
6
|
+
return value + ending;
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkaW5hbC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL29yZGluYWwtbnVtYmVyL29yZGluYWwtbnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBVTtJQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUEsTUFBTSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFdEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gb3JkaW5hbE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xuXG4gIGNvbnN0IGluZGV4ID0gdmFsdWUubWF0Y2hgMT8uJGA7XG4gIGNvbnN0IGVuZGluZ3MgPSBbLCAnc3QnLCAnbmQnLCAncmQnXTtcbiAgY29uc3QgZW5kaW5nID0gZW5kaW5nc1tpbmRleF0gfHwgJ3RoJztcblxuICByZXR1cm4gdmFsdWUgKyBlbmRpbmc7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './queue';
|
|
2
|
-
export * from './queue.enum';
|
|
3
|
-
export * from './queue-stats';
|
|
1
|
+
export * from './queue';
|
|
2
|
+
export * from './queue.enum';
|
|
3
|
+
export * from './queue-stats';
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3F1ZXVlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9xdWV1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXVlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9xdWV1ZS1zdGF0cyc7XG4iXX0=
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Observable, Subject, of } from 'rxjs';
|
|
2
|
-
import { guid } from '../guid';
|
|
3
|
-
export class Operation {
|
|
4
|
-
constructor(target, name) {
|
|
5
|
-
this.ready$ = new Subject();
|
|
6
|
-
this.name = name ? name : guid();
|
|
7
|
-
if (target instanceof Observable) {
|
|
8
|
-
this.target = target;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
this.target = of(target);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
import { Observable, Subject, of } from 'rxjs';
|
|
2
|
+
import { guid } from '../guid';
|
|
3
|
+
export class Operation {
|
|
4
|
+
constructor(target, name) {
|
|
5
|
+
this.ready$ = new Subject();
|
|
6
|
+
this.name = name ? name : guid();
|
|
7
|
+
if (target instanceof Observable) {
|
|
8
|
+
this.target = target;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
this.target = of(target);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdXRpbC9xdWV1ZS9vcGVyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHL0IsTUFBTSxPQUFPLFNBQVM7SUFNcEIsWUFBWSxNQUF1QixFQUFFLElBQWE7UUFGM0MsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFHNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakMsSUFBSSxNQUFNLFlBQVksVUFBVSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBndWlkIH0gZnJvbSAnLi4vZ3VpZCc7XG5cblxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbiB7XG5cbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIHRhcmdldDogT2JzZXJ2YWJsZTxhbnk+O1xuICBwdWJsaWMgcmVhZHkkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IE9ic2VydmFibGU8YW55PiwgbmFtZT86IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IG5hbWUgPyBuYW1lIDogZ3VpZCgpO1xuXG4gICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhcmdldCA9IG9mKHRhcmdldCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUtc3RhdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3F1ZXVlL3F1ZXVlLXN0YXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFF1ZXVlU3RhdHMge1xuICB0b3RhbDogbnVtYmVyO1xuICBjb21wbGV0ZWQ6IG51bWJlcjtcbiAgZXJyb3JzOiBzdHJpbmdbXTtcbn0iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export var QueueState;
|
|
2
|
-
(function (QueueState) {
|
|
3
|
-
QueueState["Idle"] = "idle";
|
|
4
|
-
QueueState["Processing"] = "processing";
|
|
5
|
-
})(QueueState || (QueueState = {}));
|
|
1
|
+
export var QueueState;
|
|
2
|
+
(function (QueueState) {
|
|
3
|
+
QueueState["Idle"] = "idle";
|
|
4
|
+
QueueState["Processing"] = "processing";
|
|
5
|
+
})(QueueState || (QueueState = {}));
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvcXVldWUvcXVldWUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLDJCQUFhLENBQUE7SUFDYix1Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBRdWV1ZVN0YXRlIHtcbiAgSWRsZSA9ICdpZGxlJyxcbiAgUHJvY2Vzc2luZyA9ICdwcm9jZXNzaW5nJ1xufVxuIl19
|
|
@@ -1,165 +1,165 @@
|
|
|
1
|
-
import { of, Subject } from 'rxjs';
|
|
2
|
-
import { delay, finalize, map, take, takeUntil } from 'rxjs/operators';
|
|
3
|
-
import { Operation } from './operation';
|
|
4
|
-
import { QueueState } from './queue.enum';
|
|
5
|
-
export class Queue {
|
|
6
|
-
constructor(_limit = Infinity) {
|
|
7
|
-
this._limit = _limit;
|
|
8
|
-
this._queueStats = {
|
|
9
|
-
completed: 0,
|
|
10
|
-
total: 0,
|
|
11
|
-
errors: [],
|
|
12
|
-
};
|
|
13
|
-
this._doneQueueStats = {
|
|
14
|
-
completed: 0,
|
|
15
|
-
total: 0,
|
|
16
|
-
errors: [],
|
|
17
|
-
};
|
|
18
|
-
this._completeQueueStats = {
|
|
19
|
-
completed: 0,
|
|
20
|
-
total: 0,
|
|
21
|
-
errors: [],
|
|
22
|
-
};
|
|
23
|
-
this._done = new Subject();
|
|
24
|
-
this._queue = [];
|
|
25
|
-
this._inProgress = [];
|
|
26
|
-
this._state = QueueState.Idle;
|
|
27
|
-
this._destroy$ = new Subject();
|
|
28
|
-
// if(_targets) {
|
|
29
|
-
// _targets.forEach((target) => {
|
|
30
|
-
// this.push(target);
|
|
31
|
-
// });
|
|
32
|
-
// }
|
|
33
|
-
}
|
|
34
|
-
get total() {
|
|
35
|
-
return this._queueStats.total;
|
|
36
|
-
}
|
|
37
|
-
get completed() {
|
|
38
|
-
return this._queueStats.completed;
|
|
39
|
-
}
|
|
40
|
-
get pending() {
|
|
41
|
-
return this._queue.length;
|
|
42
|
-
}
|
|
43
|
-
get inProgress() {
|
|
44
|
-
return this._inProgress.length;
|
|
45
|
-
}
|
|
46
|
-
get errors() {
|
|
47
|
-
return this._queueStats.errors;
|
|
48
|
-
}
|
|
49
|
-
get state() {
|
|
50
|
-
return this._state;
|
|
51
|
-
}
|
|
52
|
-
get empty() {
|
|
53
|
-
return !this._queue.length && !this._inProgress.length;
|
|
54
|
-
}
|
|
55
|
-
get pendingOperations() {
|
|
56
|
-
return this._queue
|
|
57
|
-
.map((operation) => operation.name);
|
|
58
|
-
}
|
|
59
|
-
get inProgressOperations() {
|
|
60
|
-
return this._inProgress
|
|
61
|
-
.map((operation) => operation.name);
|
|
62
|
-
}
|
|
63
|
-
isProcessing() {
|
|
64
|
-
return this._state === QueueState.Processing;
|
|
65
|
-
}
|
|
66
|
-
isIdle() {
|
|
67
|
-
return this._state === QueueState.Idle;
|
|
68
|
-
}
|
|
69
|
-
setLimit(value) {
|
|
70
|
-
this._limit = value;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @depreated
|
|
74
|
-
*/
|
|
75
|
-
subscribe(fun, err, complete) {
|
|
76
|
-
this.observe$
|
|
77
|
-
.subscribe(fun, err, complete);
|
|
78
|
-
}
|
|
79
|
-
get observe$() {
|
|
80
|
-
return this._done
|
|
81
|
-
.pipe(takeUntil(this._destroy$));
|
|
82
|
-
}
|
|
83
|
-
get complete$() {
|
|
84
|
-
if (!this.isProcessing()) {
|
|
85
|
-
return of({ total: 0, completed: 0, errors: [] });
|
|
86
|
-
}
|
|
87
|
-
return this.observe$
|
|
88
|
-
.pipe(take(1), map(() => (this._completeQueueStats)));
|
|
89
|
-
}
|
|
90
|
-
complete(fun, err, complete) {
|
|
91
|
-
this.complete$.subscribe(fun, err, complete);
|
|
92
|
-
}
|
|
93
|
-
push(target, name) {
|
|
94
|
-
const operation = new Operation(target, name);
|
|
95
|
-
this._queueStats.total++;
|
|
96
|
-
this._doneQueueStats.total++;
|
|
97
|
-
this._completeQueueStats.total++;
|
|
98
|
-
this._state = QueueState.Processing;
|
|
99
|
-
if (this._inProgress.length < this._limit) {
|
|
100
|
-
this._processOperation(operation);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
this._queue.push(operation);
|
|
104
|
-
}
|
|
105
|
-
return operation.ready$;
|
|
106
|
-
}
|
|
107
|
-
clear() {
|
|
108
|
-
this._queue = [];
|
|
109
|
-
this._state = QueueState.Idle;
|
|
110
|
-
this._queueStats = {
|
|
111
|
-
total: 0,
|
|
112
|
-
errors: [],
|
|
113
|
-
completed: 0,
|
|
114
|
-
};
|
|
115
|
-
this._clearDoneQueueStats();
|
|
116
|
-
}
|
|
117
|
-
destroy() {
|
|
118
|
-
this._done.complete();
|
|
119
|
-
this.clear();
|
|
120
|
-
}
|
|
121
|
-
_processOperation(operation) {
|
|
122
|
-
this._inProgress.push(operation);
|
|
123
|
-
operation.target
|
|
124
|
-
.pipe(delay(200), // Hack to prevent extra quick proccess execution
|
|
125
|
-
finalize(() => {
|
|
126
|
-
const opIndex = this._inProgress.indexOf(operation);
|
|
127
|
-
this._inProgress.splice(opIndex, 1);
|
|
128
|
-
if (this.empty) {
|
|
129
|
-
this._state = QueueState.Idle;
|
|
130
|
-
this._done.next(this._doneQueueStats);
|
|
131
|
-
this._clearDoneQueueStats();
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
if (this._queue.length) {
|
|
135
|
-
const queueItem = this._queue.shift();
|
|
136
|
-
this._processOperation(queueItem);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}), takeUntil(this._destroy$)).subscribe({
|
|
140
|
-
next: (data) => {
|
|
141
|
-
operation.ready$.next(data);
|
|
142
|
-
},
|
|
143
|
-
error: (error) => {
|
|
144
|
-
this._queueStats.errors.push(error);
|
|
145
|
-
this._doneQueueStats.errors.push(error);
|
|
146
|
-
this._completeQueueStats.errors.push(error);
|
|
147
|
-
operation.ready$.error(error);
|
|
148
|
-
},
|
|
149
|
-
complete: () => {
|
|
150
|
-
this._queueStats.completed++;
|
|
151
|
-
this._doneQueueStats.completed++;
|
|
152
|
-
this._completeQueueStats.completed++;
|
|
153
|
-
operation.ready$.complete();
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
_clearDoneQueueStats() {
|
|
158
|
-
this._doneQueueStats = {
|
|
159
|
-
total: 0,
|
|
160
|
-
errors: [],
|
|
161
|
-
completed: 0,
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
}
|
|
1
|
+
import { of, Subject } from 'rxjs';
|
|
2
|
+
import { delay, finalize, map, take, takeUntil } from 'rxjs/operators';
|
|
3
|
+
import { Operation } from './operation';
|
|
4
|
+
import { QueueState } from './queue.enum';
|
|
5
|
+
export class Queue {
|
|
6
|
+
constructor(_limit = Infinity) {
|
|
7
|
+
this._limit = _limit;
|
|
8
|
+
this._queueStats = {
|
|
9
|
+
completed: 0,
|
|
10
|
+
total: 0,
|
|
11
|
+
errors: [],
|
|
12
|
+
};
|
|
13
|
+
this._doneQueueStats = {
|
|
14
|
+
completed: 0,
|
|
15
|
+
total: 0,
|
|
16
|
+
errors: [],
|
|
17
|
+
};
|
|
18
|
+
this._completeQueueStats = {
|
|
19
|
+
completed: 0,
|
|
20
|
+
total: 0,
|
|
21
|
+
errors: [],
|
|
22
|
+
};
|
|
23
|
+
this._done = new Subject();
|
|
24
|
+
this._queue = [];
|
|
25
|
+
this._inProgress = [];
|
|
26
|
+
this._state = QueueState.Idle;
|
|
27
|
+
this._destroy$ = new Subject();
|
|
28
|
+
// if(_targets) {
|
|
29
|
+
// _targets.forEach((target) => {
|
|
30
|
+
// this.push(target);
|
|
31
|
+
// });
|
|
32
|
+
// }
|
|
33
|
+
}
|
|
34
|
+
get total() {
|
|
35
|
+
return this._queueStats.total;
|
|
36
|
+
}
|
|
37
|
+
get completed() {
|
|
38
|
+
return this._queueStats.completed;
|
|
39
|
+
}
|
|
40
|
+
get pending() {
|
|
41
|
+
return this._queue.length;
|
|
42
|
+
}
|
|
43
|
+
get inProgress() {
|
|
44
|
+
return this._inProgress.length;
|
|
45
|
+
}
|
|
46
|
+
get errors() {
|
|
47
|
+
return this._queueStats.errors;
|
|
48
|
+
}
|
|
49
|
+
get state() {
|
|
50
|
+
return this._state;
|
|
51
|
+
}
|
|
52
|
+
get empty() {
|
|
53
|
+
return !this._queue.length && !this._inProgress.length;
|
|
54
|
+
}
|
|
55
|
+
get pendingOperations() {
|
|
56
|
+
return this._queue
|
|
57
|
+
.map((operation) => operation.name);
|
|
58
|
+
}
|
|
59
|
+
get inProgressOperations() {
|
|
60
|
+
return this._inProgress
|
|
61
|
+
.map((operation) => operation.name);
|
|
62
|
+
}
|
|
63
|
+
isProcessing() {
|
|
64
|
+
return this._state === QueueState.Processing;
|
|
65
|
+
}
|
|
66
|
+
isIdle() {
|
|
67
|
+
return this._state === QueueState.Idle;
|
|
68
|
+
}
|
|
69
|
+
setLimit(value) {
|
|
70
|
+
this._limit = value;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @depreated
|
|
74
|
+
*/
|
|
75
|
+
subscribe(fun, err, complete) {
|
|
76
|
+
this.observe$
|
|
77
|
+
.subscribe(fun, err, complete);
|
|
78
|
+
}
|
|
79
|
+
get observe$() {
|
|
80
|
+
return this._done
|
|
81
|
+
.pipe(takeUntil(this._destroy$));
|
|
82
|
+
}
|
|
83
|
+
get complete$() {
|
|
84
|
+
if (!this.isProcessing()) {
|
|
85
|
+
return of({ total: 0, completed: 0, errors: [] });
|
|
86
|
+
}
|
|
87
|
+
return this.observe$
|
|
88
|
+
.pipe(take(1), map(() => (this._completeQueueStats)));
|
|
89
|
+
}
|
|
90
|
+
complete(fun, err, complete) {
|
|
91
|
+
this.complete$.subscribe(fun, err, complete);
|
|
92
|
+
}
|
|
93
|
+
push(target, name) {
|
|
94
|
+
const operation = new Operation(target, name);
|
|
95
|
+
this._queueStats.total++;
|
|
96
|
+
this._doneQueueStats.total++;
|
|
97
|
+
this._completeQueueStats.total++;
|
|
98
|
+
this._state = QueueState.Processing;
|
|
99
|
+
if (this._inProgress.length < this._limit) {
|
|
100
|
+
this._processOperation(operation);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this._queue.push(operation);
|
|
104
|
+
}
|
|
105
|
+
return operation.ready$;
|
|
106
|
+
}
|
|
107
|
+
clear() {
|
|
108
|
+
this._queue = [];
|
|
109
|
+
this._state = QueueState.Idle;
|
|
110
|
+
this._queueStats = {
|
|
111
|
+
total: 0,
|
|
112
|
+
errors: [],
|
|
113
|
+
completed: 0,
|
|
114
|
+
};
|
|
115
|
+
this._clearDoneQueueStats();
|
|
116
|
+
}
|
|
117
|
+
destroy() {
|
|
118
|
+
this._done.complete();
|
|
119
|
+
this.clear();
|
|
120
|
+
}
|
|
121
|
+
_processOperation(operation) {
|
|
122
|
+
this._inProgress.push(operation);
|
|
123
|
+
operation.target
|
|
124
|
+
.pipe(delay(200), // Hack to prevent extra quick proccess execution
|
|
125
|
+
finalize(() => {
|
|
126
|
+
const opIndex = this._inProgress.indexOf(operation);
|
|
127
|
+
this._inProgress.splice(opIndex, 1);
|
|
128
|
+
if (this.empty) {
|
|
129
|
+
this._state = QueueState.Idle;
|
|
130
|
+
this._done.next(this._doneQueueStats);
|
|
131
|
+
this._clearDoneQueueStats();
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
if (this._queue.length) {
|
|
135
|
+
const queueItem = this._queue.shift();
|
|
136
|
+
this._processOperation(queueItem);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}), takeUntil(this._destroy$)).subscribe({
|
|
140
|
+
next: (data) => {
|
|
141
|
+
operation.ready$.next(data);
|
|
142
|
+
},
|
|
143
|
+
error: (error) => {
|
|
144
|
+
this._queueStats.errors.push(error);
|
|
145
|
+
this._doneQueueStats.errors.push(error);
|
|
146
|
+
this._completeQueueStats.errors.push(error);
|
|
147
|
+
operation.ready$.error(error);
|
|
148
|
+
},
|
|
149
|
+
complete: () => {
|
|
150
|
+
this._queueStats.completed++;
|
|
151
|
+
this._doneQueueStats.completed++;
|
|
152
|
+
this._completeQueueStats.completed++;
|
|
153
|
+
operation.ready$.complete();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
_clearDoneQueueStats() {
|
|
158
|
+
this._doneQueueStats = {
|
|
159
|
+
total: 0,
|
|
160
|
+
errors: [],
|
|
161
|
+
completed: 0,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
165
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3F1ZXVlL3F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxLQUFLO0lBMEJoQixZQUNVLFNBQVMsUUFBUTtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBekJuQixnQkFBVyxHQUFlO1lBQ2hDLFNBQVMsRUFBRSxDQUFDO1lBQ1osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFTSxvQkFBZSxHQUFlO1lBQ3BDLFNBQVMsRUFBRSxDQUFDO1lBQ1osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFTSx3QkFBbUIsR0FBZTtZQUN4QyxTQUFTLEVBQUUsQ0FBQztZQUNaLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBRU0sVUFBSyxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDbEMsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBZSxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTXRDLGlCQUFpQjtRQUNqQixtQ0FBbUM7UUFDbkMseUJBQXlCO1FBQ3pCLFNBQVM7UUFDVCxJQUFJO0lB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RSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBRXJDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxFQUFFO1lBQ1YsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaW5hbGl6ZSwgbWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFF1ZXVlU3RhdHMgfSBmcm9tICcuL3F1ZXVlLXN0YXRzJztcbmltcG9ydCB7IFF1ZXVlU3RhdGUgfSBmcm9tICcuL3F1ZXVlLmVudW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBRdWV1ZSB7XG5cbiAgcHJpdmF0ZSBfcXVldWVTdGF0czogUXVldWVTdGF0cyA9IHtcbiAgICBjb21wbGV0ZWQ6IDAsXG4gICAgdG90YWw6IDAsXG4gICAgZXJyb3JzOiBbXSxcbiAgfTtcblxuICBwcml2YXRlIF9kb25lUXVldWVTdGF0czogUXVldWVTdGF0cyA9IHtcbiAgICBjb21wbGV0ZWQ6IDAsXG4gICAgdG90YWw6IDAsXG4gICAgZXJyb3JzOiBbXSxcbiAgfTtcblxuICBwcml2YXRlIF9jb21wbGV0ZVF1ZXVlU3RhdHM6IFF1ZXVlU3RhdHMgPSB7XG4gICAgY29tcGxldGVkOiAwLFxuICAgIHRvdGFsOiAwLFxuICAgIGVycm9yczogW10sXG4gIH07XG5cbiAgcHJpdmF0ZSBfZG9uZSA9IG5ldyBTdWJqZWN0PFF1ZXVlU3RhdHM+KCk7XG4gIHByaXZhdGUgX3F1ZXVlOiBPcGVyYXRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9pblByb2dyZXNzOiBPcGVyYXRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9zdGF0ZTogUXVldWVTdGF0ZSA9IFF1ZXVlU3RhdGUuSWRsZTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfbGltaXQgPSBJbmZpbml0eSxcbiAgICAvL3ByaXZhdGUgX3RhcmdldHM/OiBPYnNlcnZhYmxlPGFueT5bXSxcbiAgKSB7XG4gICAgLy8gaWYoX3RhcmdldHMpIHtcbiAgICAvLyAgIF90YXJnZXRzLmZvckVhY2goKHRhcmdldCkgPT4ge1xuICAgIC8vICAgICB0aGlzLnB1c2godGFyZ2V0KTtcbiAgICAvLyAgIH0pOyBcbiAgICAvLyB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdGFsKCkge1xuICAgIHJldHVybiB0aGlzLl9xdWV1ZVN0YXRzLnRvdGFsO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlU3RhdHMuY29tcGxldGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9xdWV1ZS5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluUHJvZ3Jlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luUHJvZ3Jlc3MubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlU3RhdHMuZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5fcXVldWUubGVuZ3RoICYmICF0aGlzLl9pblByb2dyZXNzLmxlbmd0aFxuICB9XG5cbiAgcHVibGljIGdldCBwZW5kaW5nT3BlcmF0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlXG4gICAgICAubWFwKChvcGVyYXRpb24pID0+IG9wZXJhdGlvbi5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5Qcm9ncmVzc09wZXJhdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9pblByb2dyZXNzXG4gICAgICAubWFwKChvcGVyYXRpb24pID0+IG9wZXJhdGlvbi5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1Byb2Nlc3NpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlID09PSBRdWV1ZVN0YXRlLlByb2Nlc3Npbmc7XG4gIH1cblxuICBwdWJsaWMgaXNJZGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSA9PT0gUXVldWVTdGF0ZS5JZGxlO1xuICB9XG5cbiAgcHVibGljIHNldExpbWl0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9saW1pdCA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWF0ZWRcbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUoZnVuLCBlcnI/LCBjb21wbGV0ZT8pOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmUkXG4gICAgICAuc3Vic2NyaWJlKGZ1biwgZXJyLCBjb21wbGV0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9ic2VydmUkKCk6IE9ic2VydmFibGU8UXVldWVTdGF0cz4ge1xuICAgIHJldHVybiB0aGlzLl9kb25lXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBsZXRlJCgpOiBPYnNlcnZhYmxlPFF1ZXVlU3RhdHM+IHtcbiAgICBpZiAoIXRoaXMuaXNQcm9jZXNzaW5nKCkpIHtcbiAgICAgIHJldHVybiBvZih7IHRvdGFsOiAwLCBjb21wbGV0ZWQ6IDAsIGVycm9yczogW10gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMub2JzZXJ2ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBtYXAoKCkgPT4gKHRoaXMuX2NvbXBsZXRlUXVldWVTdGF0cykpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZShmdW4sIGVycj8sIGNvbXBsZXRlPyk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGUkLnN1YnNjcmliZShmdW4sIGVyciwgY29tcGxldGUpO1xuICB9XG5cbiAgcHVibGljIHB1c2godGFyZ2V0OiBPYnNlcnZhYmxlPGFueT4sIG5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBuZXcgT3BlcmF0aW9uKHRhcmdldCwgbmFtZSk7XG5cbiAgICB0aGlzLl9xdWV1ZVN0YXRzLnRvdGFsKys7XG4gICAgdGhpcy5fZG9uZVF1ZXVlU3RhdHMudG90YWwrKztcbiAgICB0aGlzLl9jb21wbGV0ZVF1ZXVlU3RhdHMudG90YWwrKztcbiAgICB0aGlzLl9zdGF0ZSA9IFF1ZXVlU3RhdGUuUHJvY2Vzc2luZztcblxuICAgIGlmICh0aGlzLl9pblByb2dyZXNzLmxlbmd0aCA8IHRoaXMuX2xpbWl0KSB7XG4gICAgICB0aGlzLl9wcm9jZXNzT3BlcmF0aW9uKG9wZXJhdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3F1ZXVlLnB1c2gob3BlcmF0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3BlcmF0aW9uLnJlYWR5JDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICAgIHRoaXMuX3N0YXRlID0gUXVldWVTdGF0ZS5JZGxlOyAgICAgICBcbiAgICB0aGlzLl9xdWV1ZVN0YXRzID0ge1xuICAgICAgdG90YWw6IDAsXG4gICAgICBlcnJvcnM6IFtdLFxuICAgICAgY29tcGxldGVkOiAwLFxuICAgIH07XG4gICAgdGhpcy5fY2xlYXJEb25lUXVldWVTdGF0cygpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7ICAgIFxuICAgIHRoaXMuX2RvbmUuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm9jZXNzT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5faW5Qcm9ncmVzcy5wdXNoKG9wZXJhdGlvbik7XG5cbiAgICBvcGVyYXRpb24udGFyZ2V0XG4gICAgICAucGlwZShcbiAgICAgICAgZGVsYXkoMjAwKSwgLy8gSGFjayB0byBwcmV2ZW50IGV4dHJhIHF1aWNrIHByb2NjZXNzIGV4ZWN1dGlvblxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3BJbmRleCA9IHRoaXMuX2luUHJvZ3Jlc3MuaW5kZXhPZihvcGVyYXRpb24pO1xuICAgICAgICAgIHRoaXMuX2luUHJvZ3Jlc3Muc3BsaWNlKG9wSW5kZXgsIDEpO1xuICAgICAgICAgIFxuICAgICAgICAgIGlmICh0aGlzLmVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFF1ZXVlU3RhdGUuSWRsZTtcbiAgICAgICAgICAgIHRoaXMuX2RvbmUubmV4dCh0aGlzLl9kb25lUXVldWVTdGF0cyk7XG4gICAgICAgICAgICB0aGlzLl9jbGVhckRvbmVRdWV1ZVN0YXRzKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9xdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgcXVldWVJdGVtID0gdGhpcy5fcXVldWUuc2hpZnQoKTtcbiAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc09wZXJhdGlvbihxdWV1ZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgb3BlcmF0aW9uLnJlYWR5JC5uZXh0KGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcXVldWVTdGF0cy5lcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgICAgdGhpcy5fZG9uZVF1ZXVlU3RhdHMuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgIHRoaXMuX2NvbXBsZXRlUXVldWVTdGF0cy5lcnJvcnMucHVzaChlcnJvcik7XG5cbiAgICAgICAgICBvcGVyYXRpb24ucmVhZHkkLmVycm9yKGVycm9yKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLl9xdWV1ZVN0YXRzLmNvbXBsZXRlZCsrO1xuICAgICAgICAgIHRoaXMuX2RvbmVRdWV1ZVN0YXRzLmNvbXBsZXRlZCsrO1xuICAgICAgICAgIHRoaXMuX2NvbXBsZXRlUXVldWVTdGF0cy5jb21wbGV0ZWQrKztcblxuICAgICAgICAgIG9wZXJhdGlvbi5yZWFkeSQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhckRvbmVRdWV1ZVN0YXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2RvbmVRdWV1ZVN0YXRzID0ge1xuICAgICAgdG90YWw6IDAsXG4gICAgICBlcnJvcnM6IFtdLFxuICAgICAgY29tcGxldGVkOiAwLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { removeQueryParams } from './remove-query-params';
|
|
1
|
+
export { removeQueryParams } from './remove-query-params';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3JlbW92ZS1xdWVyeS1wYXJhbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyByZW1vdmVRdWVyeVBhcmFtcyB9IGZyb20gJy4vcmVtb3ZlLXF1ZXJ5LXBhcmFtcyc7XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function removeQueryParams(path) {
|
|
2
|
-
return path.split('?')[0];
|
|
3
|
-
}
|
|
1
|
+
export function removeQueryParams(path) {
|
|
2
|
+
return path.split('?')[0];
|
|
3
|
+
}
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvcmVtb3ZlLXF1ZXJ5LXBhcmFtcy9yZW1vdmUtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVF1ZXJ5UGFyYW1zKHBhdGg6IHN0cmluZykge1xuICByZXR1cm4gcGF0aC5zcGxpdCgnPycpWzBdO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './resolve';
|
|
1
|
+
export * from './resolve';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3Jlc29sdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc29sdmUnO1xuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export function resolve(promise, defaults = []) {
|
|
2
|
-
const result = defaults;
|
|
3
|
-
return new Promise(resolve => {
|
|
4
|
-
promise.then(function (data) {
|
|
5
|
-
Object.keys(data).forEach(key => result[key] = data[key]);
|
|
6
|
-
resolve(result);
|
|
7
|
-
});
|
|
8
|
-
});
|
|
9
|
-
}
|
|
1
|
+
export function resolve(promise, defaults = []) {
|
|
2
|
+
const result = defaults;
|
|
3
|
+
return new Promise(resolve => {
|
|
4
|
+
promise.then(function (data) {
|
|
5
|
+
Object.keys(data).forEach(key => result[key] = data[key]);
|
|
6
|
+
resolve(result);
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvcmVzb2x2ZS9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBd0IsRUFBRSxRQUFRLEdBQUcsRUFBRTtJQUM3RCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDeEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSTtZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShwcm9taXNlOiBQcm9taXNlPG9iamVjdD4sIGRlZmF1bHRzID0gW10pIHtcbiAgY29uc3QgcmVzdWx0ID0gZGVmYXVsdHM7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goa2V5ID0+IHJlc3VsdFtrZXldID0gZGF0YVtrZXldKTtcbiAgICAgIHJlc29sdmUocmVzdWx0KVxuICAgIH0pO1xuICB9KVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './round';
|
|
1
|
+
export * from './round';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3JvdW5kL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3VuZCc7XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function round(num, decimalPlaces = 0) {
|
|
2
|
-
num = parseFloat(parseFloat(num).toPrecision(Number.MAX_SAFE_INTEGER.toString().length - 1));
|
|
3
|
-
const p = Math.pow(10, decimalPlaces);
|
|
4
|
-
return Math.round(num * p) / p;
|
|
5
|
-
}
|
|
1
|
+
export function round(num, decimalPlaces = 0) {
|
|
2
|
+
num = parseFloat(parseFloat(num).toPrecision(Number.MAX_SAFE_INTEGER.toString().length - 1));
|
|
3
|
+
const p = Math.pow(10, decimalPlaces);
|
|
4
|
+
return Math.round(num * p) / p;
|
|
5
|
+
}
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3JvdW5kL3JvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRyxDQUFDO0lBQzFDLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0YsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByb3VuZChudW0sIGRlY2ltYWxQbGFjZXMgPSAwKSB7XG4gIG51bSA9IHBhcnNlRmxvYXQocGFyc2VGbG9hdChudW0pLnRvUHJlY2lzaW9uKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLnRvU3RyaW5nKCkubGVuZ3RoIC0gMSkpO1xuICBjb25zdCBwID0gTWF0aC5wb3coMTAsIGRlY2ltYWxQbGFjZXMpO1xuXG4gIHJldHVybiBNYXRoLnJvdW5kKG51bSAqIHApIC8gcDtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './source-loader';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './source-loader';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3NvdXJjZS1sb2FkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc291cmNlLWxvYWRlcic7XG4iXX0=
|