@sd-angular/core 0.0.1008 → 0.0.1012
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/api/sd-angular-core-api.metadata.json +1 -1
- package/api/src/lib/token.service.d.ts +1 -2
- package/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
- package/autocomplete/src/lib/autocomplete.component.d.ts +6 -5
- package/autocomplete/src/lib/autocomplete.module.d.ts +0 -1
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js +96 -98
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.min.js +2 -2
- package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.js +4 -4
- package/bundles/sd-angular-core-cache.umd.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.min.js +2 -2
- package/bundles/sd-angular-core-cache.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.js +4 -8
- package/bundles/sd-angular-core-chart.umd.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.min.js +1 -1
- package/bundles/sd-angular-core-chart.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.js +2 -1
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.min.js +1 -1
- package/bundles/sd-angular-core-comment.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.js +376 -40
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.min.js +2 -3
- package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.js +4 -4
- package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.min.js +2 -2
- package/bundles/sd-angular-core-date-range.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.js +57 -35
- package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
- package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.js +4 -4
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.min.js +1 -1
- package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js +4 -4
- package/bundles/sd-angular-core-form.umd.min.js +1 -1
- package/bundles/sd-angular-core-form.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +32 -70
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js +5 -4
- package/bundles/sd-angular-core-grid.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js +4 -4
- package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-upload-file.umd.min.js +2 -2
- package/bundles/sd-angular-core-input-upload-file.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.js +11 -13
- package/bundles/sd-angular-core-input.umd.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.min.js +2 -2
- package/bundles/sd-angular-core-input.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.js +4 -4
- package/bundles/sd-angular-core-modal.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.min.js +1 -1
- package/bundles/sd-angular-core-modal.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-radio.umd.js +4 -8
- package/bundles/sd-angular-core-radio.umd.js.map +1 -1
- package/bundles/sd-angular-core-radio.umd.min.js +2 -2
- package/bundles/sd-angular-core-radio.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.js +4 -4
- package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.min.js +2 -2
- package/bundles/sd-angular-core-select-editor.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.js +25 -47
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.min.js +2 -2
- package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-service.umd.js +8 -202
- package/bundles/sd-angular-core-service.umd.js.map +1 -1
- package/bundles/sd-angular-core-service.umd.min.js +1 -1
- package/bundles/sd-angular-core-service.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.js +4 -4
- package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.min.js +2 -2
- package/bundles/sd-angular-core-side-drawer.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-time.umd.js +4 -4
- package/bundles/sd-angular-core-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-time.umd.min.js +2 -2
- package/bundles/sd-angular-core-time.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js +4 -4
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js +4 -4
- package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.min.js +2 -2
- package/bundles/sd-angular-core-upload-file.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.js +4 -4
- package/bundles/sd-angular-core-utility.umd.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
- package/bundles/sd-angular-core.umd.js +4 -8
- package/bundles/sd-angular-core.umd.js.map +1 -1
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/cache/sd-angular-core-cache.metadata.json +1 -1
- package/cache/src/lib/cache.service.d.ts +0 -1
- package/cache/src/public-api.d.ts +1 -0
- package/chart/sd-angular-core-chart.metadata.json +1 -1
- package/chart/src/lib/chart.component.d.ts +0 -1
- package/chart/src/public-api.d.ts +1 -0
- package/common/sd-angular-core-common.metadata.json +1 -1
- package/{grid-material → common}/src/lib/directives/sd-let.directive.d.ts +0 -0
- package/common/src/lib/typings/array.extension.d.ts +20 -0
- package/{service → common}/src/lib/typings/date.extension.d.ts +0 -0
- package/{service → common}/src/lib/typings/number.extension.d.ts +0 -0
- package/{typing/src/lib/typing → common/src/lib/typings}/string.extension.d.ts +2 -0
- package/common/src/public-api.d.ts +5 -0
- package/date-range/index.d.ts +0 -1
- package/date-range/sd-angular-core-date-range.metadata.json +1 -1
- package/date-range/src/lib/date-range.component.d.ts +0 -1
- package/date-range/src/lib/date-range.module.d.ts +0 -1
- package/date-range/src/public-api.d.ts +1 -1
- package/date-time/sd-angular-core-date-time.metadata.json +1 -1
- package/date-time/src/lib/date-time.component.d.ts +14 -7
- package/date-time/src/lib/date-time.module.d.ts +0 -1
- package/date-time/src/public-api.d.ts +0 -1
- package/esm2015/api/src/lib/token.service.js +1 -1
- package/esm2015/autocomplete/src/lib/autocomplete.component.js +86 -73
- package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -2
- package/esm2015/cache/src/lib/cache.service.js +1 -2
- package/esm2015/cache/src/public-api.js +2 -1
- package/esm2015/chart/src/lib/chart.component.js +1 -2
- package/esm2015/chart/src/public-api.js +2 -4
- package/esm2015/comment/src/lib/comment.component.js +3 -2
- package/esm2015/common/src/lib/common.module.js +7 -3
- package/esm2015/common/src/lib/directives/sd-let.directive.js +29 -0
- package/esm2015/common/src/lib/typings/array.extension.js +65 -0
- package/esm2015/common/src/lib/typings/date.extension.js +143 -0
- package/esm2015/common/src/lib/typings/number.extension.js +33 -0
- package/esm2015/common/src/lib/typings/string.extension.js +42 -0
- package/esm2015/common/src/public-api.js +6 -1
- package/esm2015/date-range/index.js +1 -2
- package/esm2015/date-range/src/lib/date-range.component.js +1 -2
- package/esm2015/date-range/src/lib/date-range.module.js +1 -2
- package/esm2015/date-range/src/public-api.js +2 -2
- package/esm2015/date-time/src/lib/date-time.component.js +55 -35
- package/esm2015/date-time/src/lib/date-time.module.js +5 -3
- package/esm2015/date-time/src/public-api.js +1 -2
- package/esm2015/export/src/lib/export.service.js +1 -2
- package/esm2015/form/src/public-api.js +2 -1
- package/esm2015/grid/src/lib/components/grid-date-picker-control/grid-date-picker-control.component.js +1 -2
- package/esm2015/grid/src/lib/grid.module.js +1 -2
- package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -2
- package/esm2015/grid-material/sd-angular-core-grid-material.js +27 -28
- package/esm2015/grid-material/src/lib/grid-material.module.js +4 -5
- package/esm2015/grid-material/src/public-api.js +2 -4
- package/esm2015/input/src/lib/input.component.js +5 -4
- package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +2 -2
- package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -2
- package/esm2015/lib/controls/date-picker-control/date-picker-control.component.js +1 -2
- package/esm2015/lib/pipes/sd-date.pipe.js +1 -2
- package/esm2015/modal/src/lib/modal.module.js +1 -2
- package/esm2015/public-api.js +11 -14
- package/esm2015/radio/src/lib/radio.module.js +1 -2
- package/esm2015/radio/src/public-api.js +2 -4
- package/esm2015/select/src/lib/select.component.js +23 -45
- package/esm2015/select/src/lib/select.module.js +1 -2
- package/esm2015/select-editor/src/lib/select-editor.module.js +1 -2
- package/esm2015/service/src/lib/service.module.js +6 -4
- package/esm2015/service/src/public-api.js +2 -2
- package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -2
- package/esm2015/time/src/lib/time.component.js +1 -2
- package/esm2015/time/src/public-api.js +2 -1
- package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -2
- package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -2
- package/esm2015/upload-file/src/lib/upload-file.module.js +1 -2
- package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -2
- package/esm2015/utility/src/lib/pipes/time-different.pipe.js +1 -2
- package/esm2015/utility/src/lib/utility.service.js +1 -2
- package/esm2015/utility/src/public-api.js +2 -1
- package/export/sd-angular-core-export.metadata.json +1 -1
- package/export/src/lib/export.service.d.ts +0 -1
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js +85 -72
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-cache.js +1 -1
- package/fesm2015/sd-angular-core-cache.js.map +1 -1
- package/fesm2015/sd-angular-core-chart.js +1 -5
- package/fesm2015/sd-angular-core-chart.js.map +1 -1
- package/fesm2015/sd-angular-core-comment.js +2 -1
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-common.js +315 -5
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-date-range.js +1 -1
- package/fesm2015/sd-angular-core-date-range.js.map +1 -1
- package/fesm2015/sd-angular-core-date-time.js +57 -36
- package/fesm2015/sd-angular-core-date-time.js.map +1 -1
- package/fesm2015/sd-angular-core-export.js +0 -1
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core-form.js +1 -0
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +5 -37
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-grid.js +1 -1
- package/fesm2015/sd-angular-core-grid.js.map +1 -1
- package/fesm2015/sd-angular-core-input-upload-file.js +0 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-input.js +4 -3
- package/fesm2015/sd-angular-core-input.js.map +1 -1
- package/fesm2015/sd-angular-core-modal.js +0 -1
- package/fesm2015/sd-angular-core-modal.js.map +1 -1
- package/fesm2015/sd-angular-core-radio.js +1 -5
- package/fesm2015/sd-angular-core-radio.js.map +1 -1
- package/fesm2015/sd-angular-core-select-editor.js +0 -1
- package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-select.js +22 -45
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/fesm2015/sd-angular-core-service.js +5 -198
- package/fesm2015/sd-angular-core-service.js.map +1 -1
- package/fesm2015/sd-angular-core-side-drawer.js +0 -1
- package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
- package/fesm2015/sd-angular-core-time.js +1 -1
- package/fesm2015/sd-angular-core-time.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js +0 -1
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-file.js +0 -1
- package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-utility.js +1 -1
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/fesm2015/sd-angular-core.js +15 -20
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/form/src/public-api.d.ts +1 -0
- package/grid/sd-angular-core-grid.metadata.json +1 -1
- package/grid/src/lib/components/grid-date-picker-control/grid-date-picker-control.component.d.ts +0 -1
- package/grid/src/lib/grid.module.d.ts +0 -1
- package/grid/src/lib/models/handler-dotnet.d.ts +0 -1
- package/grid-material/sd-angular-core-grid-material.d.ts +26 -27
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/grid-material/src/lib/grid-material.module.d.ts +0 -1
- package/grid-material/src/public-api.d.ts +1 -0
- package/input/sd-angular-core-input.metadata.json +1 -1
- package/input-upload-file/sd-angular-core-input-upload-file.metadata.json +1 -1
- package/input-upload-file/src/lib/input-upload-file.module.d.ts +0 -1
- package/lib/controls/date-picker-control/date-picker-control.component.d.ts +0 -1
- package/lib/pipes/sd-date.pipe.d.ts +0 -1
- package/modal/sd-angular-core-modal.metadata.json +1 -1
- package/modal/src/lib/modal.module.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +10 -10
- package/radio/sd-angular-core-radio.metadata.json +1 -1
- package/radio/src/lib/radio.module.d.ts +0 -1
- package/radio/src/public-api.d.ts +1 -0
- package/{sd-angular-core-0.0.1008.tgz → sd-angular-core-0.0.1012.tgz} +0 -0
- package/sd-angular-core.metadata.json +1 -1
- package/select/sd-angular-core-select.metadata.json +1 -1
- package/select/src/lib/select.component.d.ts +3 -4
- package/select/src/lib/select.module.d.ts +0 -1
- package/select-editor/sd-angular-core-select-editor.metadata.json +1 -1
- package/select-editor/src/lib/select-editor.module.d.ts +0 -1
- package/service/sd-angular-core-service.metadata.json +1 -1
- package/service/src/lib/service.module.d.ts +0 -1
- package/service/src/public-api.d.ts +1 -1
- package/side-drawer/sd-angular-core-side-drawer.metadata.json +1 -1
- package/side-drawer/src/lib/side-drawer.module.d.ts +0 -1
- package/time/sd-angular-core-time.metadata.json +1 -1
- package/time/src/lib/time.component.d.ts +0 -1
- package/time/src/public-api.d.ts +1 -0
- package/upload-excel/sd-angular-core-upload-excel.metadata.json +1 -1
- package/upload-excel/src/lib/upload-excel.component.d.ts +0 -1
- package/upload-excel/src/lib/upload-excel.module.d.ts +0 -1
- package/upload-file/sd-angular-core-upload-file.metadata.json +1 -1
- package/upload-file/src/lib/upload-file.module.d.ts +0 -1
- package/utility/sd-angular-core-utility.metadata.json +1 -1
- package/utility/src/lib/pipes/currency.pipe.d.ts +0 -1
- package/utility/src/lib/pipes/time-different.pipe.d.ts +0 -1
- package/utility/src/lib/utility.service.d.ts +0 -1
- package/utility/src/public-api.d.ts +1 -0
- package/bundles/sd-angular-core-typing.umd.js +0 -226
- package/bundles/sd-angular-core-typing.umd.js.map +0 -1
- package/bundles/sd-angular-core-typing.umd.min.js +0 -2
- package/bundles/sd-angular-core-typing.umd.min.js.map +0 -1
- package/esm2015/grid-material/src/lib/directives/sd-let.directive.js +0 -29
- package/esm2015/service/src/lib/typings/date.extension.js +0 -143
- package/esm2015/service/src/lib/typings/index.js +0 -4
- package/esm2015/service/src/lib/typings/number.extension.js +0 -33
- package/esm2015/service/src/lib/typings/string.extension.js +0 -23
- package/esm2015/typing/index.js +0 -2
- package/esm2015/typing/sd-angular-core-typing.js +0 -5
- package/esm2015/typing/src/lib/typing/date.extension.js +0 -143
- package/esm2015/typing/src/lib/typing/index.js +0 -4
- package/esm2015/typing/src/lib/typing/number.extension.js +0 -33
- package/esm2015/typing/src/lib/typing/string.extension.js +0 -23
- package/esm2015/typing/src/lib/typing.service.js +0 -13
- package/esm2015/typing/src/public-api.js +0 -3
- package/fesm2015/sd-angular-core-typing.js +0 -215
- package/fesm2015/sd-angular-core-typing.js.map +0 -1
- package/service/src/lib/typings/index.d.ts +0 -3
- package/service/src/lib/typings/string.extension.d.ts +0 -8
- package/typing/index.d.ts +0 -1
- package/typing/package.json +0 -12
- package/typing/sd-angular-core-typing.d.ts +0 -4
- package/typing/sd-angular-core-typing.metadata.json +0 -1
- package/typing/src/lib/typing/date.extension.d.ts +0 -24
- package/typing/src/lib/typing/index.d.ts +0 -3
- package/typing/src/lib/typing/number.extension.d.ts +0 -9
- package/typing/src/lib/typing.service.d.ts +0 -3
- package/typing/src/public-api.d.ts +0 -2
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Number.toVNCurrency = (value) => {
|
|
2
|
-
value = (value !== null && value !== void 0 ? value : '').toString().replace(/,/g, '');
|
|
3
|
-
if (!value) {
|
|
4
|
-
return null;
|
|
5
|
-
}
|
|
6
|
-
const val = +value;
|
|
7
|
-
if (!Number.isNaN(val)) {
|
|
8
|
-
return val.toLocaleString('vi-VN');
|
|
9
|
-
}
|
|
10
|
-
return null;
|
|
11
|
-
};
|
|
12
|
-
Number.isPositiveInteger = (value) => {
|
|
13
|
-
if (!value) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const regex = /^([0-9]*)$/;
|
|
17
|
-
return regex.test(value) && +value > 0;
|
|
18
|
-
};
|
|
19
|
-
Number.isPositiveNumber = (value) => {
|
|
20
|
-
if (!value) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const regex = /^([0-9]*)(\.[0-9]+$){0,1}$/;
|
|
24
|
-
return regex.test(value) && +value > 0;
|
|
25
|
-
};
|
|
26
|
-
Number.isNumber = (value) => {
|
|
27
|
-
if (value === undefined || value === null || value === '') {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
return !Number.isNaN(+value);
|
|
31
|
-
};
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlcnZpY2UvIiwic291cmNlcyI6WyJzcmMvbGliL3R5cGluZ3MvbnVtYmVyLmV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDbkMsS0FBSyxHQUFHLENBQUMsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNwQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUM7SUFDM0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sS0FBSyxHQUFHLDRCQUE0QixDQUFDO0lBQzNDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDekQsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgTnVtYmVyQ29uc3RydWN0b3Ige1xyXG4gICAgdG9WTkN1cnJlbmN5KHZhbHVlOiBhbnkpOiBzdHJpbmc7XHJcbiAgICBpc051bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbjtcclxuICAgIGlzUG9zaXRpdmVJbnRlZ2VyKHZhbHVlOiBhbnkpOiBib29sZWFuO1xyXG4gICAgaXNQb3NpdGl2ZU51bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbjtcclxuICB9XHJcbn1cclxuXHJcbk51bWJlci50b1ZOQ3VycmVuY3kgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIHZhbHVlID0gKHZhbHVlID8/ICcnKS50b1N0cmluZygpLnJlcGxhY2UoLywvZywgJycpO1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBjb25zdCB2YWwgPSArdmFsdWU7XHJcbiAgaWYgKCFOdW1iZXIuaXNOYU4odmFsKSkge1xyXG4gICAgcmV0dXJuIHZhbC50b0xvY2FsZVN0cmluZygndmktVk4nKTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn07XHJcblxyXG5OdW1iZXIuaXNQb3NpdGl2ZUludGVnZXIgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3QgcmVnZXggPSAvXihbMC05XSopJC87XHJcbiAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpICYmICt2YWx1ZSA+IDA7XHJcbn07XHJcblxyXG5OdW1iZXIuaXNQb3NpdGl2ZU51bWJlciA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBjb25zdCByZWdleCA9IC9eKFswLTldKikoXFwuWzAtOV0rJCl7MCwxfSQvO1xyXG4gIHJldHVybiByZWdleC50ZXN0KHZhbHVlKSAmJiArdmFsdWUgPiAwO1xyXG59O1xyXG5cclxuTnVtYmVyLmlzTnVtYmVyID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgcmV0dXJuICFOdW1iZXIuaXNOYU4oK3ZhbHVlKTtcclxufTtcclxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
String.isValidEmail = (value) => {
|
|
2
|
-
if (!value) {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
const re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
|
|
6
|
-
return re.test(value);
|
|
7
|
-
};
|
|
8
|
-
String.isValidPhone = (value) => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/;
|
|
13
|
-
return re.test(value);
|
|
14
|
-
};
|
|
15
|
-
String.isValidCode = (value) => {
|
|
16
|
-
if (!value) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
const re = /^[a-zA-Z0-9\@\_\-]{2,20}$/;
|
|
20
|
-
return re.test(value);
|
|
21
|
-
};
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlcnZpY2UvIiwic291cmNlcyI6WyJzcmMvbGliL3R5cGluZ3Mvc3RyaW5nLmV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLEVBQUUsR0FBRyx3SEFBd0gsQ0FBQztJQUNwSSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsTUFBTSxFQUFFLEdBQUcsOENBQThDLENBQUM7SUFDMUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNsQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sRUFBRSxHQUFHLDJCQUEyQixDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB9O1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBTdHJpbmdDb25zdHJ1Y3RvciB7XHJcbiAgICBpc1ZhbGlkRW1haWwodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgICBpc1ZhbGlkUGhvbmUodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgICBpc1ZhbGlkQ29kZSh2YWx1ZTogYW55KTogYm9vbGVhbjtcclxuICB9XHJcbn1cclxuXHJcblN0cmluZy5pc1ZhbGlkRW1haWwgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3QgcmUgPSAvXigoW148PigpXFxbXFxdXFwuLDs6XFxzQFxcXCJdKyhcXC5bXjw+KClcXFtcXF1cXC4sOzpcXHNAXFxcIl0rKSopfChcXFwiLitcXFwiKSlAKChbXjw+KClbXFxdXFwuLDs6XFxzQFxcXCJdK1xcLikrW148PigpW1xcXVxcLiw7Olxcc0BcXFwiXXsyLH0pJC9pO1xyXG4gIHJldHVybiByZS50ZXN0KHZhbHVlKTtcclxufTtcclxuXHJcblN0cmluZy5pc1ZhbGlkUGhvbmUgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3QgcmUgPSAvXlsrXSpbKF17MCwxfVswLTldezEsNH1bKV17MCwxfVstXFxzXFwuLzAtOV0qJC87XHJcbiAgcmV0dXJuIHJlLnRlc3QodmFsdWUpO1xyXG59O1xyXG5cclxuU3RyaW5nLmlzVmFsaWRDb2RlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0IHJlID0gL15bYS16QS1aMC05XFxAXFxfXFwtXXsyLDIwfSQvO1xyXG4gIHJldHVybiByZS50ZXN0KHZhbHVlKTtcclxufTtcclxuIl19
|
package/esm2015/typing/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './src/public-api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90eXBpbmcvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvcHVibGljLWFwaSc7Il19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLXR5cGluZy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3R5cGluZy8iLCJzb3VyY2VzIjpbInNkLWFuZ3VsYXItY29yZS10eXBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
Date.equal = (date1, date2) => {
|
|
2
|
-
if (!Date.isDate(date1) && !Date.isDate(date2)) {
|
|
3
|
-
return true;
|
|
4
|
-
}
|
|
5
|
-
if (!Date.isDate(date1) || !Date.isDate(date2)) {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
return new Date(date1).getTime() === new Date(date2).getTime();
|
|
9
|
-
};
|
|
10
|
-
Date.parseFrom = (value, format) => {
|
|
11
|
-
if (!value) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
if (!format) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
value = value.toString();
|
|
18
|
-
const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;
|
|
19
|
-
const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;
|
|
20
|
-
let strDate = '';
|
|
21
|
-
if (dmy) {
|
|
22
|
-
const dd = value.substr(format.indexOf('dd'), 'dd'.length);
|
|
23
|
-
const MM = value.substr(format.indexOf('MM'), 'MM'.length);
|
|
24
|
-
const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);
|
|
25
|
-
if (+yyyy > 0 && +MM > 0 && +dd > 0) {
|
|
26
|
-
strDate += `${MM}/${dd}/${yyyy}`;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const today = new Date();
|
|
34
|
-
const yyyy = today.getFullYear().toString();
|
|
35
|
-
const MM = (today.getMonth() + 1).toString().padStart(2, '0');
|
|
36
|
-
const dd = today.getDate().toString().padStart(2, '0');
|
|
37
|
-
strDate += `${MM}/${dd}/${yyyy}`;
|
|
38
|
-
}
|
|
39
|
-
if (hms) {
|
|
40
|
-
const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';
|
|
41
|
-
const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';
|
|
42
|
-
const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';
|
|
43
|
-
strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;
|
|
44
|
-
}
|
|
45
|
-
if (!Date.isDate(strDate)) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
return new Date(strDate);
|
|
49
|
-
};
|
|
50
|
-
Date.isDate = (value) => {
|
|
51
|
-
if (!value) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
const date = new Date(value);
|
|
55
|
-
return !isNaN(date.getTime());
|
|
56
|
-
};
|
|
57
|
-
Date.toFormat = (value, format) => {
|
|
58
|
-
if (!Date.isDate(value)) {
|
|
59
|
-
return '';
|
|
60
|
-
}
|
|
61
|
-
const date = new Date(value);
|
|
62
|
-
return date.toFormat(format);
|
|
63
|
-
};
|
|
64
|
-
Date.addMiliseconds = (value, miliseconds) => {
|
|
65
|
-
if (!Date.isDate(value)) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
const date = new Date(value);
|
|
69
|
-
return date.addMiliseconds(miliseconds);
|
|
70
|
-
};
|
|
71
|
-
Date.addHours = (value, hours) => {
|
|
72
|
-
if (!Date.isDate(value)) {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
const date = new Date(value);
|
|
76
|
-
return date.addHours(hours);
|
|
77
|
-
};
|
|
78
|
-
Date.addDays = (value, days) => {
|
|
79
|
-
if (!Date.isDate(value)) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
const date = new Date(value);
|
|
83
|
-
return date.addDays(days);
|
|
84
|
-
};
|
|
85
|
-
Date.addMonths = (value, months) => {
|
|
86
|
-
if (!Date.isDate(value)) {
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
const date = new Date(value);
|
|
90
|
-
return date.addMonths(months);
|
|
91
|
-
};
|
|
92
|
-
Date.begin = (value) => {
|
|
93
|
-
if (!Date.isDate(value)) {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
return new Date(Date.toFormat(value, 'MM/dd/yyyy'));
|
|
97
|
-
};
|
|
98
|
-
Date.end = (value) => {
|
|
99
|
-
if (!Date.isDate(value)) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
return new Date(value).addDays(1).begin().addMiliseconds(-1);
|
|
103
|
-
};
|
|
104
|
-
Date.prototype.begin = function () {
|
|
105
|
-
return new Date(this.toFormat('MM/dd/yyyy'));
|
|
106
|
-
};
|
|
107
|
-
Date.prototype.end = function () {
|
|
108
|
-
const date = this;
|
|
109
|
-
return date.addDays(1).begin().addMiliseconds(-1);
|
|
110
|
-
};
|
|
111
|
-
Date.prototype.addMiliseconds = function (miliseconds) {
|
|
112
|
-
const date = this;
|
|
113
|
-
date.setMilliseconds(date.getMilliseconds() + miliseconds);
|
|
114
|
-
return date;
|
|
115
|
-
};
|
|
116
|
-
Date.prototype.addHours = function (hours) {
|
|
117
|
-
const date = this;
|
|
118
|
-
date.setHours(date.getHours() + hours);
|
|
119
|
-
return date;
|
|
120
|
-
};
|
|
121
|
-
Date.prototype.addDays = function (days) {
|
|
122
|
-
const date = this;
|
|
123
|
-
date.setDate(date.getDate() + days);
|
|
124
|
-
return date;
|
|
125
|
-
};
|
|
126
|
-
Date.prototype.addMonths = function (months) {
|
|
127
|
-
const date = this;
|
|
128
|
-
date.setMonth(date.getMonth() + months);
|
|
129
|
-
return date;
|
|
130
|
-
};
|
|
131
|
-
Date.prototype.toFormat = function (format) {
|
|
132
|
-
const date = this;
|
|
133
|
-
let result = format;
|
|
134
|
-
result = result.replace('yyyy', date.getFullYear().toString());
|
|
135
|
-
result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));
|
|
136
|
-
result = result.replace('dd', date.getDate().toString().padStart(2, '0'));
|
|
137
|
-
result = result.replace('HH', date.getHours().toString().padStart(2, '0'));
|
|
138
|
-
result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));
|
|
139
|
-
result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));
|
|
140
|
-
return result;
|
|
141
|
-
};
|
|
142
|
-
export {};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90eXBpbmcvIiwic291cmNlcyI6WyJzcmMvbGliL3R5cGluZy9kYXRlLmV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkEsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQVUsRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM5QyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzlDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixJQUFJLEdBQUcsRUFBRTtRQUNQLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtLQUNGO1NBQU07UUFDTCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7S0FDbEM7SUFDRCxJQUFJLEdBQUcsRUFBRTtRQUNQLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5RixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUYsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlGLE9BQU8sSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxF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LENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IH07XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIERhdGUge1xyXG4gICAgYmVnaW4oKTogRGF0ZTtcclxuICAgIGVuZCgpOiBEYXRlO1xyXG4gICAgYWRkTWlsaXNlY29uZHMobWlsaXNlY29uZHM6IG51bWJlcik6IERhdGU7XHJcbiAgICBhZGRIb3Vycyhob3VyczogbnVtYmVyKTogRGF0ZTtcclxuICAgIGFkZERheXMoZGF5czogbnVtYmVyKTogRGF0ZTtcclxuICAgIGFkZE1vbnRocyhtb250aHM6IG51bWJlcik6IERhdGU7XHJcbiAgICB0b0Zvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHN0cmluZztcclxuICB9XHJcbiAgaW50ZXJmYWNlIERhdGVDb25zdHJ1Y3RvciB7XHJcbiAgICBlcXVhbChkYXRlMTogYW55LCBkYXRlMjogYW55KTogYm9vbGVhbjtcclxuICAgIHBhcnNlRnJvbSh2YWx1ZTogYW55LCBmb3JtYXQ6IHN0cmluZyk6IERhdGU7XHJcbiAgICBpc0RhdGUodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgICB0b0Zvcm1hdCh2YWx1ZTogYW55LCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZztcclxuICAgIGFkZE1pbGlzZWNvbmRzKHZhbHVlOiBhbnksIG1pbGlzZWNvbmRzOiBudW1iZXIpOiBEYXRlO1xyXG4gICAgYWRkSG91cnModmFsdWU6IGFueSwgaG91cnM6IG51bWJlcik6IERhdGU7XHJcbiAgICBhZGREYXlzKHZhbHVlOiBhbnksIGRheXM6IG51bWJlcik6IERhdGU7XHJcbiAgICBhZGRNb250aHModmFsdWU6IGFueSwgbW9udGhzOiBudW1iZXIpOiBEYXRlO1xyXG4gICAgYmVnaW4odmFsdWU6IGFueSk6IERhdGU7XHJcbiAgICBlbmQodmFsdWU6IGFueSk6IERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5EYXRlLmVxdWFsID0gKGRhdGUxOiBhbnksIGRhdGUyOiBhbnkpID0+IHtcclxuICBpZiAoIURhdGUuaXNEYXRlKGRhdGUxKSAmJiAhRGF0ZS5pc0RhdGUoZGF0ZTIpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgaWYgKCFEYXRlLmlzRGF0ZShkYXRlMSkgfHwgIURhdGUuaXNEYXRlKGRhdGUyKSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICByZXR1cm4gbmV3IERhdGUoZGF0ZTEpLmdldFRpbWUoKSA9PT0gbmV3IERhdGUoZGF0ZTIpLmdldFRpbWUoKTtcclxufTtcclxuXHJcbkRhdGUucGFyc2VGcm9tID0gKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nKSA9PiB7XHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGlmICghZm9ybWF0KSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xyXG4gIGNvbnN0IGRteSA9IGZvcm1hdC5pbmRleE9mKCdkZCcpID4gLTEgJiYgZm9ybWF0LmluZGV4T2YoJ01NJykgPiAtMSAmJiBmb3JtYXQuaW5kZXhPZigneXl5eScpID4gLTE7XHJcbiAgY29uc3QgaG1zID0gZm9ybWF0LmluZGV4T2YoJ0hIJykgPiAtMSB8fCBmb3JtYXQuaW5kZXhPZignbW0nKSA+IC0xIHx8IGZvcm1hdC5pbmRleE9mKCdzcycpID4gLTE7XHJcbiAgbGV0IHN0ckRhdGUgPSAnJztcclxuICBpZiAoZG15KSB7XHJcbiAgICBjb25zdCBkZCA9IHZhbHVlLnN1YnN0cihmb3JtYXQuaW5kZXhPZignZGQnKSwgJ2RkJy5sZW5ndGgpO1xyXG4gICAgY29uc3QgTU0gPSB2YWx1ZS5zdWJzdHIoZm9ybWF0LmluZGV4T2YoJ01NJyksICdNTScubGVuZ3RoKTtcclxuICAgIGNvbnN0IHl5eXkgPSB2YWx1ZS5zdWJzdHIoZm9ybWF0LmluZGV4T2YoJ3l5eXknKSwgJ3l5eXknLmxlbmd0aCk7XHJcbiAgICBpZiAoK3l5eXkgPiAwICYmICtNTSA+IDAgJiYgK2RkID4gMCkge1xyXG4gICAgICBzdHJEYXRlICs9IGAke01NfS8ke2RkfS8ke3l5eXl9YDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCB5eXl5ID0gdG9kYXkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgY29uc3QgTU0gPSAodG9kYXkuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IGRkID0gdG9kYXkuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIHN0ckRhdGUgKz0gYCR7TU19LyR7ZGR9LyR7eXl5eX1gO1xyXG4gIH1cclxuICBpZiAoaG1zKSB7XHJcbiAgICBjb25zdCBISCA9IGZvcm1hdC5pbmRleE9mKCdISCcpID4gLTEgPyB2YWx1ZS5zdWJzdHIoZm9ybWF0LmluZGV4T2YoJ0hIJyksICdISCcubGVuZ3RoKSA6ICcwMCc7XHJcbiAgICBjb25zdCBtbSA9IGZvcm1hdC5pbmRleE9mKCdtbScpID4gLTEgPyB2YWx1ZS5zdWJzdHIoZm9ybWF0LmluZGV4T2YoJ21tJyksICdtbScubGVuZ3RoKSA6ICcwMCc7XHJcbiAgICBjb25zdCBzcyA9IGZvcm1hdC5pbmRleE9mKCdzcycpID4gLTEgPyB2YWx1ZS5zdWJzdHIoZm9ybWF0LmluZGV4T2YoJ3NzJyksICdzcycubGVuZ3RoKSA6ICcwMCc7XHJcbiAgICBzdHJEYXRlICs9IGAgJHtISCB8fCAnMDAnfToke21tIHx8ICcwMCd9OiR7c3MgfHwgJzAwJ31gO1xyXG4gIH1cclxuICBpZiAoIURhdGUuaXNEYXRlKHN0ckRhdGUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIG5ldyBEYXRlKHN0ckRhdGUpO1xyXG59O1xyXG5cclxuRGF0ZS5pc0RhdGUgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICByZXR1cm4gIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcclxufTtcclxuXHJcbkRhdGUudG9Gb3JtYXQgPSAodmFsdWU6IGFueSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmICghRGF0ZS5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgcmV0dXJuIGRhdGUudG9Gb3JtYXQoZm9ybWF0KTtcclxufTtcclxuXHJcbkRhdGUuYWRkTWlsaXNlY29uZHMgPSAodmFsdWU6IGFueSwgbWlsaXNlY29uZHM6IG51bWJlcik6IERhdGUgPT4ge1xyXG4gIGlmICghRGF0ZS5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICByZXR1cm4gZGF0ZS5hZGRNaWxpc2Vjb25kcyhtaWxpc2Vjb25kcyk7XHJcbn07XHJcblxyXG5EYXRlLmFkZEhvdXJzID0gKHZhbHVlOiBhbnksIGhvdXJzOiBudW1iZXIpOiBEYXRlID0+IHtcclxuICBpZiAoIURhdGUuaXNEYXRlKHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgcmV0dXJuIGRhdGUuYWRkSG91cnMoaG91cnMpO1xyXG59O1xyXG5cclxuRGF0ZS5hZGREYXlzID0gKHZhbHVlOiBhbnksIGRheXM6IG51bWJlcik6IERhdGUgPT4ge1xyXG4gIGlmICghRGF0ZS5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICByZXR1cm4gZGF0ZS5hZGREYXlzKGRheXMpO1xyXG59O1xyXG5cclxuRGF0ZS5hZGRNb250aHMgPSAodmFsdWU6IGFueSwgbW9udGhzOiBudW1iZXIpOiBEYXRlID0+IHtcclxuICBpZiAoIURhdGUuaXNEYXRlKHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgcmV0dXJuIGRhdGUuYWRkTW9udGhzKG1vbnRocyk7XHJcbn07XHJcblxyXG5EYXRlLmJlZ2luID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIURhdGUuaXNEYXRlKHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLnRvRm9ybWF0KHZhbHVlLCAnTU0vZGQveXl5eScpKTtcclxufTtcclxuXHJcbkRhdGUuZW5kID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIURhdGUuaXNEYXRlKHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkuYWRkRGF5cygxKS5iZWdpbigpLmFkZE1pbGlzZWNvbmRzKC0xKTtcclxufTtcclxuXHJcbkRhdGUucHJvdG90eXBlLmJlZ2luID0gZnVuY3Rpb24gKCkge1xyXG4gIHJldHVybiBuZXcgRGF0ZSh0aGlzLnRvRm9ybWF0KCdNTS9kZC95eXl5JykpO1xyXG59O1xyXG5cclxuRGF0ZS5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24gKCkge1xyXG4gIGNvbnN0IGRhdGU6IERhdGUgPSB0aGlzO1xyXG4gIHJldHVybiBkYXRlLmFkZERheXMoMSkuYmVnaW4oKS5hZGRNaWxpc2Vjb25kcygtMSk7XHJcbn07XHJcblxyXG5EYXRlLnByb3RvdHlwZS5hZGRNaWxpc2Vjb25kcyA9IGZ1bmN0aW9uIChtaWxpc2Vjb25kczogbnVtYmVyKSB7XHJcbiAgY29uc3QgZGF0ZTogRGF0ZSA9IHRoaXM7XHJcbiAgZGF0ZS5zZXRNaWxsaXNlY29uZHMoZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSArIG1pbGlzZWNvbmRzKTtcclxuICByZXR1cm4gZGF0ZTtcclxufTtcclxuXHJcbkRhdGUucHJvdG90eXBlLmFkZEhvdXJzID0gZnVuY3Rpb24gKGhvdXJzOiBudW1iZXIpIHtcclxuICBjb25zdCBkYXRlOiBEYXRlID0gdGhpcztcclxuICBkYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSArIGhvdXJzKTtcclxuICByZXR1cm4gZGF0ZTtcclxufTtcclxuXHJcbkRhdGUucHJvdG90eXBlLmFkZERheXMgPSBmdW5jdGlvbiAoZGF5czogbnVtYmVyKSB7XHJcbiAgY29uc3QgZGF0ZTogRGF0ZSA9IHRoaXM7XHJcbiAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgZGF5cyk7XHJcbiAgcmV0dXJuIGRhdGU7XHJcbn07XHJcblxyXG5EYXRlLnByb3RvdHlwZS5hZGRNb250aHMgPSBmdW5jdGlvbiAobW9udGhzOiBudW1iZXIpIHtcclxuICBjb25zdCBkYXRlOiBEYXRlID0gdGhpcztcclxuICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIG1vbnRocyk7XHJcbiAgcmV0dXJuIGRhdGU7XHJcbn07XHJcblxyXG5EYXRlLnByb3RvdHlwZS50b0Zvcm1hdCA9IGZ1bmN0aW9uIChmb3JtYXQ6IHN0cmluZykge1xyXG4gIGNvbnN0IGRhdGU6IERhdGUgPSB0aGlzO1xyXG4gIGxldCByZXN1bHQgPSBmb3JtYXQ7XHJcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ3l5eXknLCBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKSk7XHJcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ01NJywgKGRhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSk7XHJcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ2RkJywgZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpKTtcclxuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgnSEgnLCBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpKTtcclxuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgnbW0nLCBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJykpO1xyXG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCdzcycsIGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSk7XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufTtcclxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import './date.extension';
|
|
2
|
-
import './string.extension';
|
|
3
|
-
import './number.extension';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90eXBpbmcvIiwic291cmNlcyI6WyJzcmMvbGliL3R5cGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9kYXRlLmV4dGVuc2lvbic7XHJcbmltcG9ydCAnLi9zdHJpbmcuZXh0ZW5zaW9uJztcclxuaW1wb3J0ICcuL251bWJlci5leHRlbnNpb24nO1xyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Number.toVNCurrency = (value) => {
|
|
2
|
-
value = (value !== null && value !== void 0 ? value : '').toString().replace(/,/g, '');
|
|
3
|
-
if (!value) {
|
|
4
|
-
return null;
|
|
5
|
-
}
|
|
6
|
-
const val = +value;
|
|
7
|
-
if (!Number.isNaN(val)) {
|
|
8
|
-
return val.toLocaleString('vi-VN');
|
|
9
|
-
}
|
|
10
|
-
return null;
|
|
11
|
-
};
|
|
12
|
-
Number.isPositiveInteger = (value) => {
|
|
13
|
-
if (!value) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const regex = /^([0-9]*)$/;
|
|
17
|
-
return regex.test(value) && +value > 0;
|
|
18
|
-
};
|
|
19
|
-
Number.isPositiveNumber = (value) => {
|
|
20
|
-
if (!value) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const regex = /^([0-9]*)(\.[0-9]+$){0,1}$/;
|
|
24
|
-
return regex.test(value) && +value > 0;
|
|
25
|
-
};
|
|
26
|
-
Number.isNumber = (value) => {
|
|
27
|
-
if (value === undefined || value === null || value === '') {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
return !Number.isNaN(+value);
|
|
31
|
-
};
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3R5cGluZy8iLCJzb3VyY2VzIjpbInNyYy9saWIvdHlwaW5nL251bWJlci5leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ25DLEtBQUssR0FBRyxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDcEM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDO0lBQzNCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLEtBQUssR0FBRyw0QkFBNEIsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUMvQixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ3pELE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IH07XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIE51bWJlckNvbnN0cnVjdG9yIHtcclxuICAgIHRvVk5DdXJyZW5jeSh2YWx1ZTogYW55KTogc3RyaW5nO1xyXG4gICAgaXNOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgICBpc1Bvc2l0aXZlSW50ZWdlcih2YWx1ZTogYW55KTogYm9vbGVhbjtcclxuICAgIGlzUG9zaXRpdmVOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgfVxyXG59XHJcblxyXG5OdW1iZXIudG9WTkN1cnJlbmN5ID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICB2YWx1ZSA9ICh2YWx1ZSA/PyAnJykudG9TdHJpbmcoKS5yZXBsYWNlKC8sL2csICcnKTtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3QgdmFsID0gK3ZhbHVlO1xyXG4gIGlmICghTnVtYmVyLmlzTmFOKHZhbCkpIHtcclxuICAgIHJldHVybiB2YWwudG9Mb2NhbGVTdHJpbmcoJ3ZpLVZOJyk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59O1xyXG5cclxuTnVtYmVyLmlzUG9zaXRpdmVJbnRlZ2VyID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0IHJlZ2V4ID0gL14oWzAtOV0qKSQvO1xyXG4gIHJldHVybiByZWdleC50ZXN0KHZhbHVlKSAmJiArdmFsdWUgPiAwO1xyXG59O1xyXG5cclxuTnVtYmVyLmlzUG9zaXRpdmVOdW1iZXIgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIGlmICghdmFsdWUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3QgcmVnZXggPSAvXihbMC05XSopKFxcLlswLTldKyQpezAsMX0kLztcclxuICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSkgJiYgK3ZhbHVlID4gMDtcclxufTtcclxuXHJcbk51bWJlci5pc051bWJlciA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHJldHVybiAhTnVtYmVyLmlzTmFOKCt2YWx1ZSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
String.isValidEmail = (value) => {
|
|
2
|
-
if (!value) {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
const re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
|
|
6
|
-
return re.test(value);
|
|
7
|
-
};
|
|
8
|
-
String.isValidPhone = (value) => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/;
|
|
13
|
-
return re.test(value);
|
|
14
|
-
};
|
|
15
|
-
String.isValidCode = (value) => {
|
|
16
|
-
if (!value) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
const re = /^[a-zA-Z0-9\@\_\-]{2,20}$/;
|
|
20
|
-
return re.test(value);
|
|
21
|
-
};
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3R5cGluZy8iLCJzb3VyY2VzIjpbInNyYy9saWIvdHlwaW5nL3N0cmluZy5leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsTUFBTSxFQUFFLEdBQUcsd0hBQXdILENBQUM7SUFDcEksT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sRUFBRSxHQUFHLDhDQUE4QyxDQUFDO0lBQzFELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLEVBQUUsR0FBRywyQkFBMkIsQ0FBQztJQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgU3RyaW5nQ29uc3RydWN0b3Ige1xyXG4gICAgaXNWYWxpZEVtYWlsKHZhbHVlOiBhbnkpOiBib29sZWFuO1xyXG4gICAgaXNWYWxpZFBob25lKHZhbHVlOiBhbnkpOiBib29sZWFuO1xyXG4gICAgaXNWYWxpZENvZGUodmFsdWU6IGFueSk6IGJvb2xlYW47XHJcbiAgfVxyXG59XHJcblxyXG5TdHJpbmcuaXNWYWxpZEVtYWlsID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0IHJlID0gL14oKFtePD4oKVxcW1xcXVxcLiw7Olxcc0BcXFwiXSsoXFwuW148PigpXFxbXFxdXFwuLDs6XFxzQFxcXCJdKykqKXwoXFxcIi4rXFxcIikpQCgoW148PigpW1xcXVxcLiw7Olxcc0BcXFwiXStcXC4pK1tePD4oKVtcXF1cXC4sOzpcXHNAXFxcIl17Mix9KSQvaTtcclxuICByZXR1cm4gcmUudGVzdCh2YWx1ZSk7XHJcbn07XHJcblxyXG5TdHJpbmcuaXNWYWxpZFBob25lID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0IHJlID0gL15bK10qWyhdezAsMX1bMC05XXsxLDR9WyldezAsMX1bLVxcc1xcLi8wLTldKiQvO1xyXG4gIHJldHVybiByZS50ZXN0KHZhbHVlKTtcclxufTtcclxuXHJcblN0cmluZy5pc1ZhbGlkQ29kZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBjb25zdCByZSA9IC9eW2EtekEtWjAtOVxcQFxcX1xcLV17MiwyMH0kLztcclxuICByZXR1cm4gcmUudGVzdCh2YWx1ZSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import './typing';
|
|
3
|
-
export class SdTypingModule {
|
|
4
|
-
}
|
|
5
|
-
SdTypingModule.decorators = [
|
|
6
|
-
{ type: NgModule, args: [{
|
|
7
|
-
imports: [],
|
|
8
|
-
declarations: [],
|
|
9
|
-
providers: [],
|
|
10
|
-
exports: []
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90eXBpbmcvIiwic291cmNlcyI6WyJzcmMvbGliL3R5cGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxVQUFVLENBQUM7QUFZbEIsTUFBTSxPQUFPLGNBQWM7OztZQVYxQixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLEVBQ1I7Z0JBQ0QsWUFBWSxFQUFFLEVBQ2I7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7Z0JBQ0QsT0FBTyxFQUFFLEVBQ1I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAnLi90eXBpbmcnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkVHlwaW5nTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import './lib/typing';
|
|
2
|
-
export * from './lib/typing.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3R5cGluZy8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sY0FBYyxDQUFDO0FBQ3RCLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vbGliL3R5cGluZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGluZy5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
Date.equal = (date1, date2) => {
|
|
4
|
-
if (!Date.isDate(date1) && !Date.isDate(date2)) {
|
|
5
|
-
return true;
|
|
6
|
-
}
|
|
7
|
-
if (!Date.isDate(date1) || !Date.isDate(date2)) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return new Date(date1).getTime() === new Date(date2).getTime();
|
|
11
|
-
};
|
|
12
|
-
Date.parseFrom = (value, format) => {
|
|
13
|
-
if (!value) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
if (!format) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
value = value.toString();
|
|
20
|
-
const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;
|
|
21
|
-
const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;
|
|
22
|
-
let strDate = '';
|
|
23
|
-
if (dmy) {
|
|
24
|
-
const dd = value.substr(format.indexOf('dd'), 'dd'.length);
|
|
25
|
-
const MM = value.substr(format.indexOf('MM'), 'MM'.length);
|
|
26
|
-
const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);
|
|
27
|
-
if (+yyyy > 0 && +MM > 0 && +dd > 0) {
|
|
28
|
-
strDate += `${MM}/${dd}/${yyyy}`;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
const today = new Date();
|
|
36
|
-
const yyyy = today.getFullYear().toString();
|
|
37
|
-
const MM = (today.getMonth() + 1).toString().padStart(2, '0');
|
|
38
|
-
const dd = today.getDate().toString().padStart(2, '0');
|
|
39
|
-
strDate += `${MM}/${dd}/${yyyy}`;
|
|
40
|
-
}
|
|
41
|
-
if (hms) {
|
|
42
|
-
const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';
|
|
43
|
-
const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';
|
|
44
|
-
const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';
|
|
45
|
-
strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;
|
|
46
|
-
}
|
|
47
|
-
if (!Date.isDate(strDate)) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
return new Date(strDate);
|
|
51
|
-
};
|
|
52
|
-
Date.isDate = (value) => {
|
|
53
|
-
if (!value) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
const date = new Date(value);
|
|
57
|
-
return !isNaN(date.getTime());
|
|
58
|
-
};
|
|
59
|
-
Date.toFormat = (value, format) => {
|
|
60
|
-
if (!Date.isDate(value)) {
|
|
61
|
-
return '';
|
|
62
|
-
}
|
|
63
|
-
const date = new Date(value);
|
|
64
|
-
return date.toFormat(format);
|
|
65
|
-
};
|
|
66
|
-
Date.addMiliseconds = (value, miliseconds) => {
|
|
67
|
-
if (!Date.isDate(value)) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
const date = new Date(value);
|
|
71
|
-
return date.addMiliseconds(miliseconds);
|
|
72
|
-
};
|
|
73
|
-
Date.addHours = (value, hours) => {
|
|
74
|
-
if (!Date.isDate(value)) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
const date = new Date(value);
|
|
78
|
-
return date.addHours(hours);
|
|
79
|
-
};
|
|
80
|
-
Date.addDays = (value, days) => {
|
|
81
|
-
if (!Date.isDate(value)) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
const date = new Date(value);
|
|
85
|
-
return date.addDays(days);
|
|
86
|
-
};
|
|
87
|
-
Date.addMonths = (value, months) => {
|
|
88
|
-
if (!Date.isDate(value)) {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
const date = new Date(value);
|
|
92
|
-
return date.addMonths(months);
|
|
93
|
-
};
|
|
94
|
-
Date.begin = (value) => {
|
|
95
|
-
if (!Date.isDate(value)) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
return new Date(Date.toFormat(value, 'MM/dd/yyyy'));
|
|
99
|
-
};
|
|
100
|
-
Date.end = (value) => {
|
|
101
|
-
if (!Date.isDate(value)) {
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
return new Date(value).addDays(1).begin().addMiliseconds(-1);
|
|
105
|
-
};
|
|
106
|
-
Date.prototype.begin = function () {
|
|
107
|
-
return new Date(this.toFormat('MM/dd/yyyy'));
|
|
108
|
-
};
|
|
109
|
-
Date.prototype.end = function () {
|
|
110
|
-
const date = this;
|
|
111
|
-
return date.addDays(1).begin().addMiliseconds(-1);
|
|
112
|
-
};
|
|
113
|
-
Date.prototype.addMiliseconds = function (miliseconds) {
|
|
114
|
-
const date = this;
|
|
115
|
-
date.setMilliseconds(date.getMilliseconds() + miliseconds);
|
|
116
|
-
return date;
|
|
117
|
-
};
|
|
118
|
-
Date.prototype.addHours = function (hours) {
|
|
119
|
-
const date = this;
|
|
120
|
-
date.setHours(date.getHours() + hours);
|
|
121
|
-
return date;
|
|
122
|
-
};
|
|
123
|
-
Date.prototype.addDays = function (days) {
|
|
124
|
-
const date = this;
|
|
125
|
-
date.setDate(date.getDate() + days);
|
|
126
|
-
return date;
|
|
127
|
-
};
|
|
128
|
-
Date.prototype.addMonths = function (months) {
|
|
129
|
-
const date = this;
|
|
130
|
-
date.setMonth(date.getMonth() + months);
|
|
131
|
-
return date;
|
|
132
|
-
};
|
|
133
|
-
Date.prototype.toFormat = function (format) {
|
|
134
|
-
const date = this;
|
|
135
|
-
let result = format;
|
|
136
|
-
result = result.replace('yyyy', date.getFullYear().toString());
|
|
137
|
-
result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));
|
|
138
|
-
result = result.replace('dd', date.getDate().toString().padStart(2, '0'));
|
|
139
|
-
result = result.replace('HH', date.getHours().toString().padStart(2, '0'));
|
|
140
|
-
result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));
|
|
141
|
-
result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));
|
|
142
|
-
return result;
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
String.isValidEmail = (value) => {
|
|
146
|
-
if (!value) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
const re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
|
|
150
|
-
return re.test(value);
|
|
151
|
-
};
|
|
152
|
-
String.isValidPhone = (value) => {
|
|
153
|
-
if (!value) {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/;
|
|
157
|
-
return re.test(value);
|
|
158
|
-
};
|
|
159
|
-
String.isValidCode = (value) => {
|
|
160
|
-
if (!value) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
const re = /^[a-zA-Z0-9\@\_\-]{2,20}$/;
|
|
164
|
-
return re.test(value);
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
Number.toVNCurrency = (value) => {
|
|
168
|
-
value = (value !== null && value !== void 0 ? value : '').toString().replace(/,/g, '');
|
|
169
|
-
if (!value) {
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
const val = +value;
|
|
173
|
-
if (!Number.isNaN(val)) {
|
|
174
|
-
return val.toLocaleString('vi-VN');
|
|
175
|
-
}
|
|
176
|
-
return null;
|
|
177
|
-
};
|
|
178
|
-
Number.isPositiveInteger = (value) => {
|
|
179
|
-
if (!value) {
|
|
180
|
-
return false;
|
|
181
|
-
}
|
|
182
|
-
const regex = /^([0-9]*)$/;
|
|
183
|
-
return regex.test(value) && +value > 0;
|
|
184
|
-
};
|
|
185
|
-
Number.isPositiveNumber = (value) => {
|
|
186
|
-
if (!value) {
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
const regex = /^([0-9]*)(\.[0-9]+$){0,1}$/;
|
|
190
|
-
return regex.test(value) && +value > 0;
|
|
191
|
-
};
|
|
192
|
-
Number.isNumber = (value) => {
|
|
193
|
-
if (value === undefined || value === null || value === '') {
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
196
|
-
return !Number.isNaN(+value);
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
class SdTypingModule {
|
|
200
|
-
}
|
|
201
|
-
SdTypingModule.decorators = [
|
|
202
|
-
{ type: NgModule, args: [{
|
|
203
|
-
imports: [],
|
|
204
|
-
declarations: [],
|
|
205
|
-
providers: [],
|
|
206
|
-
exports: []
|
|
207
|
-
},] }
|
|
208
|
-
];
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Generated bundle index. Do not edit.
|
|
212
|
-
*/
|
|
213
|
-
|
|
214
|
-
export { SdTypingModule };
|
|
215
|
-
//# sourceMappingURL=sd-angular-core-typing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-typing.js","sources":["../../../../projects/sd-core/typing/src/lib/typing/date.extension.ts","../../../../projects/sd-core/typing/src/lib/typing/string.extension.ts","../../../../projects/sd-core/typing/src/lib/typing/number.extension.ts","../../../../projects/sd-core/typing/src/lib/typing.service.ts","../../../../projects/sd-core/typing/sd-angular-core-typing.ts"],"sourcesContent":["export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n return val.toLocaleString('vi-VN');\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport './typing';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n declarations: [\r\n ],\r\n providers: [\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class SdTypingModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/typing/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './src/public-api';
|
package/typing/package.json
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"peerDependencies": {},
|
|
3
|
-
"main": "../bundles/sd-angular-core-typing.umd.js",
|
|
4
|
-
"module": "../fesm2015/sd-angular-core-typing.js",
|
|
5
|
-
"es2015": "../fesm2015/sd-angular-core-typing.js",
|
|
6
|
-
"esm2015": "../esm2015/typing/sd-angular-core-typing.js",
|
|
7
|
-
"fesm2015": "../fesm2015/sd-angular-core-typing.js",
|
|
8
|
-
"typings": "sd-angular-core-typing.d.ts",
|
|
9
|
-
"metadata": "sd-angular-core-typing.metadata.json",
|
|
10
|
-
"sideEffects": false,
|
|
11
|
-
"name": "@sd-angular/core/typing"
|
|
12
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"SdTypingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"imports":[],"declarations":[],"providers":[],"exports":[]}]}],"members":{}}},"origins":{"SdTypingModule":"./src/lib/typing.service"},"importAs":"@sd-angular/core/typing"}
|