@endesyc/format 1.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/endesyc-format-1.0.0.tgz +0 -0
- package/esm2022/endesyc-format.mjs +5 -0
- package/esm2022/lib/dates/company-date.pipe.mjs +28 -0
- package/esm2022/lib/dates/date-display-format.mjs +2 -0
- package/esm2022/lib/dates/date-formats.mjs +10 -0
- package/esm2022/lib/dates/date-input.mjs +2 -0
- package/esm2022/lib/dates/date.util.mjs +63 -0
- package/esm2022/lib/money/company-money.pipe.mjs +13 -0
- package/esm2022/lib/money/money-format-options.mjs +2 -0
- package/esm2022/lib/money/money-formats.mjs +8 -0
- package/esm2022/lib/money/money-input.mjs +2 -0
- package/esm2022/lib/money/money.util.mjs +58 -0
- package/esm2022/public-api.mjs +11 -0
- package/fesm2022/endesyc-format.mjs +181 -0
- package/fesm2022/endesyc-format.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/dates/company-date.pipe.d.ts +9 -0
- package/lib/dates/date-display-format.d.ts +1 -0
- package/lib/dates/date-formats.d.ts +9 -0
- package/lib/dates/date-input.d.ts +2 -0
- package/lib/dates/date.util.d.ts +14 -0
- package/lib/money/company-money.pipe.d.ts +9 -0
- package/lib/money/money-format-options.d.ts +8 -0
- package/lib/money/money-formats.d.ts +7 -0
- package/lib/money/money-input.d.ts +1 -0
- package/lib/money/money.util.d.ts +10 -0
- package/package.json +32 -0
- package/public-api.d.ts +10 -0
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kZXN5Yy1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9mb3JtYXQtbGlicmFyeS9zcmMvZW5kZXN5Yy1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Pipe } from "@angular/core";
|
|
2
|
+
import { DateUtil } from "./date.util";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class CompanyDatePipe {
|
|
5
|
+
transform(v, t = "dateTime", f = "-") {
|
|
6
|
+
switch (t) {
|
|
7
|
+
case "date":
|
|
8
|
+
return DateUtil.formatDate(v, f);
|
|
9
|
+
case "time":
|
|
10
|
+
return DateUtil.formatTime(v, f);
|
|
11
|
+
case "dateTimeSeconds":
|
|
12
|
+
return DateUtil.formatDateTimeWithSeconds(v, f);
|
|
13
|
+
case "monthYear":
|
|
14
|
+
return DateUtil.formatMonthYear(v, f);
|
|
15
|
+
case "year":
|
|
16
|
+
return DateUtil.formatYear(v, f);
|
|
17
|
+
default:
|
|
18
|
+
return DateUtil.formatDateTime(v, f);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
22
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, isStandalone: true, name: "companyDate" }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, decorators: [{
|
|
25
|
+
type: Pipe,
|
|
26
|
+
args: [{ name: "companyDate", standalone: true, pure: true }]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1kYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtYXQtbGlicmFyeS9zcmMvbGliL2RhdGVzL2NvbXBhbnktZGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRXZDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxDQUFZLEVBQUUsSUFBdUIsVUFBVSxFQUFFLENBQUMsR0FBRyxHQUFHO1FBQ2hFLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxLQUFLLGlCQUFpQjtnQkFDcEIsT0FBTyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xELEtBQUssV0FBVztnQkFDZCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLEtBQUssTUFBTTtnQkFDVCxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25DO2dCQUNFLE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7K0dBaEJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERhdGVEaXNwbGF5Rm9ybWF0IH0gZnJvbSBcIi4vZGF0ZS1kaXNwbGF5LWZvcm1hdFwiO1xyXG5pbXBvcnQgeyBEYXRlSW5wdXQgfSBmcm9tIFwiLi9kYXRlLWlucHV0XCI7XHJcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSBcIi4vZGF0ZS51dGlsXCI7XHJcbkBQaXBlKHsgbmFtZTogXCJjb21wYW55RGF0ZVwiLCBzdGFuZGFsb25lOiB0cnVlLCBwdXJlOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBDb21wYW55RGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odjogRGF0ZUlucHV0LCB0OiBEYXRlRGlzcGxheUZvcm1hdCA9IFwiZGF0ZVRpbWVcIiwgZiA9IFwiLVwiKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodCkge1xyXG4gICAgICBjYXNlIFwiZGF0ZVwiOlxyXG4gICAgICAgIHJldHVybiBEYXRlVXRpbC5mb3JtYXREYXRlKHYsIGYpO1xyXG4gICAgICBjYXNlIFwidGltZVwiOlxyXG4gICAgICAgIHJldHVybiBEYXRlVXRpbC5mb3JtYXRUaW1lKHYsIGYpO1xyXG4gICAgICBjYXNlIFwiZGF0ZVRpbWVTZWNvbmRzXCI6XHJcbiAgICAgICAgcmV0dXJuIERhdGVVdGlsLmZvcm1hdERhdGVUaW1lV2l0aFNlY29uZHModiwgZik7XHJcbiAgICAgIGNhc2UgXCJtb250aFllYXJcIjpcclxuICAgICAgICByZXR1cm4gRGF0ZVV0aWwuZm9ybWF0TW9udGhZZWFyKHYsIGYpO1xyXG4gICAgICBjYXNlIFwieWVhclwiOlxyXG4gICAgICAgIHJldHVybiBEYXRlVXRpbC5mb3JtYXRZZWFyKHYsIGYpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBEYXRlVXRpbC5mb3JtYXREYXRlVGltZSh2LCBmKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1hdC1saWJyYXJ5L3NyYy9saWIvZGF0ZXMvZGF0ZS1kaXNwbGF5LWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRGF0ZURpc3BsYXlGb3JtYXQgPVxyXG4gIHwgXCJkYXRlXCJcclxuICB8IFwidGltZVwiXHJcbiAgfCBcImRhdGVUaW1lXCJcclxuICB8IFwiZGF0ZVRpbWVTZWNvbmRzXCJcclxuICB8IFwibW9udGhZZWFyXCJcclxuICB8IFwieWVhclwiO1xyXG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class DateFormats {
|
|
2
|
+
constructor() { }
|
|
3
|
+
static { this.DATE = "DD/MM/YYYY"; }
|
|
4
|
+
static { this.TIME = "HH:mm"; }
|
|
5
|
+
static { this.DATE_TIME = "DD/MM/YYYY HH:mm"; }
|
|
6
|
+
static { this.DATE_TIME_SECONDS = "DD/MM/YYYY HH:mm:ss"; }
|
|
7
|
+
static { this.MONTH_YEAR = "MM/YYYY"; }
|
|
8
|
+
static { this.YEAR = "YYYY"; }
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybWF0LWxpYnJhcnkvc3JjL2xpYi9kYXRlcy9kYXRlLWZvcm1hdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFDdEIsZ0JBQXVCLENBQUM7YUFDUixTQUFJLEdBQUcsWUFBWSxDQUFDO2FBQ3BCLFNBQUksR0FBRyxPQUFPLENBQUM7YUFDZixjQUFTLEdBQUcsa0JBQWtCLENBQUM7YUFDL0Isc0JBQWlCLEdBQUcscUJBQXFCLENBQUM7YUFDMUMsZUFBVSxHQUFHLFNBQVMsQ0FBQzthQUN2QixTQUFJLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERhdGVGb3JtYXRzIHtcclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cclxuICBzdGF0aWMgcmVhZG9ubHkgREFURSA9IFwiREQvTU0vWVlZWVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBUSU1FID0gXCJISDptbVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBEQVRFX1RJTUUgPSBcIkREL01NL1lZWVkgSEg6bW1cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgREFURV9USU1FX1NFQ09ORFMgPSBcIkREL01NL1lZWVkgSEg6bW06c3NcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9OVEhfWUVBUiA9IFwiTU0vWVlZWVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBZRUFSID0gXCJZWVlZXCI7XHJcbi8vICAgc3RhdGljIHJlYWRvbmx5IEFQSV9EQVRFID0gXCJZWVlZLU1NLUREXCI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1hdC1saWJyYXJ5L3NyYy9saWIvZGF0ZXMvZGF0ZS1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF5anMgfSBmcm9tICdkYXlqcyc7IGV4cG9ydCB0eXBlIERhdGVJbnB1dD1zdHJpbmd8bnVtYmVyfERhdGV8RGF5anN8bnVsbHx1bmRlZmluZWQ7Il19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
import customParseFormat from "dayjs/plugin/customParseFormat";
|
|
3
|
+
import { DateFormats } from "./date-formats";
|
|
4
|
+
dayjs.extend(customParseFormat);
|
|
5
|
+
export class DateUtil {
|
|
6
|
+
constructor() { }
|
|
7
|
+
static { this.FORMATS = [
|
|
8
|
+
"YYYY-MM-DD HH:mm:ss.SSS",
|
|
9
|
+
"YYYY-MM-DD HH:mm:ss",
|
|
10
|
+
"YYYY-MM-DD",
|
|
11
|
+
]; }
|
|
12
|
+
static formatDate(v, f = "-") {
|
|
13
|
+
return this.format(v, DateFormats.DATE, f);
|
|
14
|
+
}
|
|
15
|
+
static formatTime(v, f = "-") {
|
|
16
|
+
return this.format(v, DateFormats.TIME, f);
|
|
17
|
+
}
|
|
18
|
+
static formatDateTime(v, f = "-") {
|
|
19
|
+
return this.format(v, DateFormats.DATE_TIME, f);
|
|
20
|
+
}
|
|
21
|
+
static formatDateTimeWithSeconds(v, f = "-") {
|
|
22
|
+
return this.format(v, DateFormats.DATE_TIME_SECONDS, f);
|
|
23
|
+
}
|
|
24
|
+
static formatMonthYear(v, f = "-") {
|
|
25
|
+
return this.format(v, DateFormats.MONTH_YEAR, f);
|
|
26
|
+
}
|
|
27
|
+
static formatYear(v, f = "-") {
|
|
28
|
+
return this.format(v, DateFormats.YEAR, f);
|
|
29
|
+
}
|
|
30
|
+
static format(v, o, f = "-") {
|
|
31
|
+
const d = this.parse(v);
|
|
32
|
+
return d ? d.format(o) : f;
|
|
33
|
+
}
|
|
34
|
+
static isValid(v) {
|
|
35
|
+
return this.parse(v) !== null;
|
|
36
|
+
}
|
|
37
|
+
static parse(v) {
|
|
38
|
+
if (v === null || v === undefined || v === "")
|
|
39
|
+
return null;
|
|
40
|
+
if (dayjs.isDayjs(v))
|
|
41
|
+
return v.isValid() ? v.clone() : null;
|
|
42
|
+
if (v instanceof Date || typeof v === "number") {
|
|
43
|
+
const d = dayjs(v);
|
|
44
|
+
return d.isValid() ? d : null;
|
|
45
|
+
}
|
|
46
|
+
if (typeof v !== "string")
|
|
47
|
+
return null;
|
|
48
|
+
const s = v.trim();
|
|
49
|
+
if (!s)
|
|
50
|
+
return null;
|
|
51
|
+
for (const fmt of this.FORMATS) {
|
|
52
|
+
const d = dayjs(s, fmt, true);
|
|
53
|
+
if (d.isValid())
|
|
54
|
+
return d;
|
|
55
|
+
}
|
|
56
|
+
const iso = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
57
|
+
if (!iso.test(s))
|
|
58
|
+
return null;
|
|
59
|
+
const d = dayjs(s);
|
|
60
|
+
return d.isValid() ? d : null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybWF0LWxpYnJhcnkvc3JjL2xpYi9kYXRlcy9kYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDaEMsTUFBTSxPQUFPLFFBQVE7SUFDbkIsZ0JBQXVCLENBQUM7YUFDQSxZQUFPLEdBQUc7UUFDaEMseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixZQUFZO0tBQ0osQ0FBQztJQUNYLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBWSxFQUFFLENBQUMsR0FBRyxHQUFHO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFZLEVBQUUsQ0FBQyxHQUFHLEdBQUc7UUFDckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxNQUFNLENBQUMsY0FBYyxDQUFDLENBQVksRUFBRSxDQUFDLEdBQUcsR0FBRztRQUN6QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFZLEVBQUUsQ0FBQyxHQUFHLEdBQUc7UUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBWSxFQUFFLENBQUMsR0FBRyxHQUFHO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFZLEVBQUUsQ0FBQyxHQUFHLEdBQUc7UUFDckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQVksRUFBRSxDQUFTLEVBQUUsQ0FBQyxHQUFHLEdBQUc7UUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBQ08sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFZO1FBQy9CLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDM0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0MsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FDUCwwRUFBMEUsQ0FBQztRQUM3RSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5QixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gXCJkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXRcIjtcclxuaW1wb3J0IHsgRGF0ZUZvcm1hdHMgfSBmcm9tIFwiLi9kYXRlLWZvcm1hdHNcIjtcclxuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSBcIi4vZGF0ZS1pbnB1dFwiO1xyXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xyXG5leHBvcnQgY2xhc3MgRGF0ZVV0aWwge1xyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEZPUk1BVFMgPSBbXHJcbiAgICBcIllZWVktTU0tREQgSEg6bW06c3MuU1NTXCIsXHJcbiAgICBcIllZWVktTU0tREQgSEg6bW06c3NcIixcclxuICAgIFwiWVlZWS1NTS1ERFwiLFxyXG4gIF0gYXMgY29uc3Q7XHJcbiAgc3RhdGljIGZvcm1hdERhdGUodjogRGF0ZUlucHV0LCBmID0gXCItXCIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCh2LCBEYXRlRm9ybWF0cy5EQVRFLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGZvcm1hdFRpbWUodjogRGF0ZUlucHV0LCBmID0gXCItXCIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCh2LCBEYXRlRm9ybWF0cy5USU1FLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGZvcm1hdERhdGVUaW1lKHY6IERhdGVJbnB1dCwgZiA9IFwiLVwiKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQodiwgRGF0ZUZvcm1hdHMuREFURV9USU1FLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGZvcm1hdERhdGVUaW1lV2l0aFNlY29uZHModjogRGF0ZUlucHV0LCBmID0gXCItXCIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCh2LCBEYXRlRm9ybWF0cy5EQVRFX1RJTUVfU0VDT05EUywgZik7XHJcbiAgfVxyXG4gIHN0YXRpYyBmb3JtYXRNb250aFllYXIodjogRGF0ZUlucHV0LCBmID0gXCItXCIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCh2LCBEYXRlRm9ybWF0cy5NT05USF9ZRUFSLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGZvcm1hdFllYXIodjogRGF0ZUlucHV0LCBmID0gXCItXCIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCh2LCBEYXRlRm9ybWF0cy5ZRUFSLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGZvcm1hdCh2OiBEYXRlSW5wdXQsIG86IHN0cmluZywgZiA9IFwiLVwiKSB7XHJcbiAgICBjb25zdCBkID0gdGhpcy5wYXJzZSh2KTtcclxuICAgIHJldHVybiBkID8gZC5mb3JtYXQobykgOiBmO1xyXG4gIH1cclxuICBzdGF0aWMgaXNWYWxpZCh2OiBEYXRlSW5wdXQpIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnNlKHYpICE9PSBudWxsO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyBwYXJzZSh2OiBEYXRlSW5wdXQpOiBEYXlqcyB8IG51bGwge1xyXG4gICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IFwiXCIpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKGRheWpzLmlzRGF5anModikpIHJldHVybiB2LmlzVmFsaWQoKSA/IHYuY2xvbmUoKSA6IG51bGw7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIERhdGUgfHwgdHlwZW9mIHYgPT09IFwibnVtYmVyXCIpIHtcclxuICAgICAgY29uc3QgZCA9IGRheWpzKHYpO1xyXG4gICAgICByZXR1cm4gZC5pc1ZhbGlkKCkgPyBkIDogbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdiAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCBzID0gdi50cmltKCk7XHJcbiAgICBpZiAoIXMpIHJldHVybiBudWxsO1xyXG4gICAgZm9yIChjb25zdCBmbXQgb2YgdGhpcy5GT1JNQVRTKSB7XHJcbiAgICAgIGNvbnN0IGQgPSBkYXlqcyhzLCBmbXQsIHRydWUpO1xyXG4gICAgICBpZiAoZC5pc1ZhbGlkKCkpIHJldHVybiBkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXNvID1cclxuICAgICAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZHsxLDl9KT8oPzpafFsrLV1cXGR7Mn06XFxkezJ9KSQvO1xyXG4gICAgaWYgKCFpc28udGVzdChzKSkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCBkID0gZGF5anMocyk7XHJcbiAgICByZXR1cm4gZC5pc1ZhbGlkKCkgPyBkIDogbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { MoneyUtil } from './money.util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class CompanyMoneyPipe {
|
|
5
|
+
transform(v, o = {}) { return MoneyUtil.formatBolivianos(v, o); }
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
7
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, isStandalone: true, name: "companyMoney" }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, decorators: [{
|
|
10
|
+
type: Pipe,
|
|
11
|
+
args: [{ name: 'companyMoney', standalone: true, pure: true }]
|
|
12
|
+
}] });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1tb25leS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybWF0LWxpYnJhcnkvc3JjL2xpYi9tb25leS9jb21wYW55LW1vbmV5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUFzRyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDOztBQUF3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQTRCLFNBQVMsQ0FBQyxDQUFZLEVBQUMsSUFBcUIsRUFBRSxJQUFTLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUM7K0dBQTFJLGdCQUFnQjs2R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUFuRixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBQyxVQUFVLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7IGltcG9ydCB7TW9uZXlGb3JtYXRPcHRpb25zfSBmcm9tICcuL21vbmV5LWZvcm1hdC1vcHRpb25zJzsgaW1wb3J0IHtNb25leUlucHV0fSBmcm9tICcuL21vbmV5LWlucHV0JzsgaW1wb3J0IHtNb25leVV0aWx9IGZyb20gJy4vbW9uZXkudXRpbCc7IEBQaXBlKHtuYW1lOidjb21wYW55TW9uZXknLHN0YW5kYWxvbmU6dHJ1ZSxwdXJlOnRydWV9KSBleHBvcnQgY2xhc3MgQ29tcGFueU1vbmV5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0geyB0cmFuc2Zvcm0odjpNb25leUlucHV0LG86TW9uZXlGb3JtYXRPcHRpb25zPXt9KTpzdHJpbmd7cmV0dXJuIE1vbmV5VXRpbC5mb3JtYXRCb2xpdmlhbm9zKHYsbyl9IH0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktZm9ybWF0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtYXQtbGlicmFyeS9zcmMvbGliL21vbmV5L21vbmV5LWZvcm1hdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1vbmV5Rm9ybWF0T3B0aW9ucyB7XHJcbiAgc3ltYm9sPzogc3RyaW5nO1xyXG4gIG1pbmltdW1GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcclxuICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XHJcbiAgc2hvd1N5bWJvbD86IGJvb2xlYW47XHJcbiAgc3ltYm9sUG9zaXRpb24/OiBcImJlZm9yZVwiIHwgXCJhZnRlclwiO1xyXG4gIGZhbGxiYWNrPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class MoneyFormats {
|
|
2
|
+
constructor() { }
|
|
3
|
+
static { this.DEFAULT_LOCALE = "es-BO"; }
|
|
4
|
+
static { this.DEFAULT_CURRENCY = "BOB"; }
|
|
5
|
+
static { this.DEFAULT_SYMBOL = "Bs"; }
|
|
6
|
+
static { this.DEFAULT_DECIMALS = 2; }
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktZm9ybWF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1hdC1saWJyYXJ5L3NyYy9saWIvbW9uZXkvbW9uZXktZm9ybWF0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUN2QixnQkFBdUIsQ0FBQzthQUNSLG1CQUFjLEdBQUcsT0FBTyxDQUFDO2FBQ3pCLHFCQUFnQixHQUFHLEtBQUssQ0FBQzthQUN6QixtQkFBYyxHQUFHLElBQUksQ0FBQzthQUN0QixxQkFBZ0IsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTW9uZXlGb3JtYXRzIHtcclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cclxuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9MT0NBTEUgPSBcImVzLUJPXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQ1VSUkVOQ1kgPSBcIkJPQlwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1NZTUJPTCA9IFwiQnNcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9ERUNJTUFMUyA9IDI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtYXQtbGlicmFyeS9zcmMvbGliL21vbmV5L21vbmV5LWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBNb25leUlucHV0ID0gbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MoneyFormats } from "./money-formats";
|
|
2
|
+
export class MoneyUtil {
|
|
3
|
+
constructor() { }
|
|
4
|
+
static formatBolivianos(v, o = {}) {
|
|
5
|
+
const n = this.parse(v);
|
|
6
|
+
if (n === null)
|
|
7
|
+
return o.fallback ?? "-";
|
|
8
|
+
const min = o.minimumFractionDigits ?? 2, max = o.maximumFractionDigits ?? 2;
|
|
9
|
+
const amount = new Intl.NumberFormat(MoneyFormats.DEFAULT_LOCALE, {
|
|
10
|
+
style: "decimal",
|
|
11
|
+
useGrouping: true,
|
|
12
|
+
minimumFractionDigits: min,
|
|
13
|
+
maximumFractionDigits: max,
|
|
14
|
+
}).format(n);
|
|
15
|
+
if (!(o.showSymbol ?? true))
|
|
16
|
+
return amount;
|
|
17
|
+
const s = o.symbol ?? MoneyFormats.DEFAULT_SYMBOL;
|
|
18
|
+
return o.symbolPosition === "after" ? `${amount} ${s}` : `${s} ${amount}`;
|
|
19
|
+
}
|
|
20
|
+
static formatNumber(v, min = 2, max = 2, f = "-") {
|
|
21
|
+
return this.formatBolivianos(v, {
|
|
22
|
+
showSymbol: false,
|
|
23
|
+
minimumFractionDigits: min,
|
|
24
|
+
maximumFractionDigits: max,
|
|
25
|
+
fallback: f,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
static isValid(v) {
|
|
29
|
+
return this.parse(v) !== null;
|
|
30
|
+
}
|
|
31
|
+
static toNumber(v) {
|
|
32
|
+
return this.parse(v);
|
|
33
|
+
}
|
|
34
|
+
static parse(v) {
|
|
35
|
+
if (v === null || v === undefined || v === "")
|
|
36
|
+
return null;
|
|
37
|
+
if (typeof v === "number")
|
|
38
|
+
return Number.isFinite(v) ? v : null;
|
|
39
|
+
const s = v
|
|
40
|
+
.trim()
|
|
41
|
+
.replace(/\s/g, "")
|
|
42
|
+
.replace(/^Bs\.?/i, "");
|
|
43
|
+
if (!s)
|
|
44
|
+
return null;
|
|
45
|
+
let n;
|
|
46
|
+
if (s.includes(",") && s.includes("."))
|
|
47
|
+
n = s.replace(/\./g, "").replace(",", ".");
|
|
48
|
+
else if (s.includes(","))
|
|
49
|
+
n = s.replace(",", ".");
|
|
50
|
+
else
|
|
51
|
+
n = s;
|
|
52
|
+
if (!/^-?\d+(?:\.\d+)?$/.test(n))
|
|
53
|
+
return null;
|
|
54
|
+
const x = Number(n);
|
|
55
|
+
return Number.isFinite(x) ? x : null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1hdC1saWJyYXJ5L3NyYy9saWIvbW9uZXkvbW9uZXkudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxPQUFPLFNBQVM7SUFDcEIsZ0JBQXVCLENBQUM7SUFDeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQWEsRUFBRSxJQUF3QixFQUFFO1FBQy9ELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssSUFBSTtZQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixJQUFJLENBQUMsRUFDdEMsR0FBRyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUU7WUFDaEUsS0FBSyxFQUFFLFNBQVM7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIscUJBQXFCLEVBQUUsR0FBRztZQUMxQixxQkFBcUIsRUFBRSxHQUFHO1NBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNsRCxPQUFPLENBQUMsQ0FBQyxjQUFjLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBYSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRztRQUMxRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsVUFBVSxFQUFFLEtBQUs7WUFDakIscUJBQXFCLEVBQUUsR0FBRztZQUMxQixxQkFBcUIsRUFBRSxHQUFHO1lBQzFCLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFDTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQWE7UUFDaEMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7WUFBRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLEVBQUU7YUFDTixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDcEMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDeEMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzs7WUFDN0MsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDOUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9uZXlGb3JtYXRPcHRpb25zIH0gZnJvbSBcIi4vbW9uZXktZm9ybWF0LW9wdGlvbnNcIjtcclxuaW1wb3J0IHsgTW9uZXlGb3JtYXRzIH0gZnJvbSBcIi4vbW9uZXktZm9ybWF0c1wiO1xyXG5pbXBvcnQgeyBNb25leUlucHV0IH0gZnJvbSBcIi4vbW9uZXktaW5wdXRcIjtcclxuZXhwb3J0IGNsYXNzIE1vbmV5VXRpbCB7XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XHJcbiAgc3RhdGljIGZvcm1hdEJvbGl2aWFub3ModjogTW9uZXlJbnB1dCwgbzogTW9uZXlGb3JtYXRPcHRpb25zID0ge30pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbiA9IHRoaXMucGFyc2Uodik7XHJcbiAgICBpZiAobiA9PT0gbnVsbCkgcmV0dXJuIG8uZmFsbGJhY2sgPz8gXCItXCI7XHJcbiAgICBjb25zdCBtaW4gPSBvLm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyLFxyXG4gICAgICBtYXggPSBvLm1heGltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyO1xyXG4gICAgY29uc3QgYW1vdW50ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KE1vbmV5Rm9ybWF0cy5ERUZBVUxUX0xPQ0FMRSwge1xyXG4gICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXHJcbiAgICAgIHVzZUdyb3VwaW5nOiB0cnVlLFxyXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbixcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXgsXHJcbiAgICB9KS5mb3JtYXQobik7XHJcbiAgICBpZiAoIShvLnNob3dTeW1ib2wgPz8gdHJ1ZSkpIHJldHVybiBhbW91bnQ7XHJcbiAgICBjb25zdCBzID0gby5zeW1ib2wgPz8gTW9uZXlGb3JtYXRzLkRFRkFVTFRfU1lNQk9MO1xyXG4gICAgcmV0dXJuIG8uc3ltYm9sUG9zaXRpb24gPT09IFwiYWZ0ZXJcIiA/IGAke2Ftb3VudH0gJHtzfWAgOiBgJHtzfSAke2Ftb3VudH1gO1xyXG4gIH1cclxuICBzdGF0aWMgZm9ybWF0TnVtYmVyKHY6IE1vbmV5SW5wdXQsIG1pbiA9IDIsIG1heCA9IDIsIGYgPSBcIi1cIikge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0Qm9saXZpYW5vcyh2LCB7XHJcbiAgICAgIHNob3dTeW1ib2w6IGZhbHNlLFxyXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbixcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXgsXHJcbiAgICAgIGZhbGxiYWNrOiBmLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHN0YXRpYyBpc1ZhbGlkKHY6IE1vbmV5SW5wdXQpIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnNlKHYpICE9PSBudWxsO1xyXG4gIH1cclxuICBzdGF0aWMgdG9OdW1iZXIodjogTW9uZXlJbnB1dCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyc2Uodik7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIHBhcnNlKHY6IE1vbmV5SW5wdXQpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuICAgIGlmICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIikgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2KSA/IHYgOiBudWxsO1xyXG4gICAgY29uc3QgcyA9IHZcclxuICAgICAgLnRyaW0oKVxyXG4gICAgICAucmVwbGFjZSgvXFxzL2csIFwiXCIpXHJcbiAgICAgIC5yZXBsYWNlKC9eQnNcXC4/L2ksIFwiXCIpO1xyXG4gICAgaWYgKCFzKSByZXR1cm4gbnVsbDtcclxuICAgIGxldCBuOiBzdHJpbmc7XHJcbiAgICBpZiAocy5pbmNsdWRlcyhcIixcIikgJiYgcy5pbmNsdWRlcyhcIi5cIikpXHJcbiAgICAgIG4gPSBzLnJlcGxhY2UoL1xcLi9nLCBcIlwiKS5yZXBsYWNlKFwiLFwiLCBcIi5cIik7XHJcbiAgICBlbHNlIGlmIChzLmluY2x1ZGVzKFwiLFwiKSkgbiA9IHMucmVwbGFjZShcIixcIiwgXCIuXCIpO1xyXG4gICAgZWxzZSBuID0gcztcclxuICAgIGlmICghL14tP1xcZCsoPzpcXC5cXGQrKT8kLy50ZXN0KG4pKSByZXR1cm4gbnVsbDtcclxuICAgIGNvbnN0IHggPSBOdW1iZXIobik7XHJcbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHgpID8geCA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './lib/dates/date-formats';
|
|
2
|
+
export * from './lib/dates/date-display-format';
|
|
3
|
+
export * from './lib/dates/date-input';
|
|
4
|
+
export * from './lib/dates/date.util';
|
|
5
|
+
export * from './lib/dates/company-date.pipe';
|
|
6
|
+
export * from './lib/money/money-formats';
|
|
7
|
+
export * from './lib/money/money-input';
|
|
8
|
+
export * from './lib/money/money-format-options';
|
|
9
|
+
export * from './lib/money/money.util';
|
|
10
|
+
export * from './lib/money/company-money.pipe';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Zvcm1hdC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlcy9kYXRlLWZvcm1hdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXMvZGF0ZS1kaXNwbGF5LWZvcm1hdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlcy9kYXRlLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGVzL2RhdGUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlcy9jb21wYW55LWRhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb25leS9tb25leS1mb3JtYXRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vbmV5L21vbmV5LWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vbmV5L21vbmV5LWZvcm1hdC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vbmV5L21vbmV5LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9uZXkvY29tcGFueS1tb25leS5waXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Pipe } from '@angular/core';
|
|
5
|
+
|
|
6
|
+
class DateFormats {
|
|
7
|
+
constructor() { }
|
|
8
|
+
static { this.DATE = "DD/MM/YYYY"; }
|
|
9
|
+
static { this.TIME = "HH:mm"; }
|
|
10
|
+
static { this.DATE_TIME = "DD/MM/YYYY HH:mm"; }
|
|
11
|
+
static { this.DATE_TIME_SECONDS = "DD/MM/YYYY HH:mm:ss"; }
|
|
12
|
+
static { this.MONTH_YEAR = "MM/YYYY"; }
|
|
13
|
+
static { this.YEAR = "YYYY"; }
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
dayjs.extend(customParseFormat);
|
|
17
|
+
class DateUtil {
|
|
18
|
+
constructor() { }
|
|
19
|
+
static { this.FORMATS = [
|
|
20
|
+
"YYYY-MM-DD HH:mm:ss.SSS",
|
|
21
|
+
"YYYY-MM-DD HH:mm:ss",
|
|
22
|
+
"YYYY-MM-DD",
|
|
23
|
+
]; }
|
|
24
|
+
static formatDate(v, f = "-") {
|
|
25
|
+
return this.format(v, DateFormats.DATE, f);
|
|
26
|
+
}
|
|
27
|
+
static formatTime(v, f = "-") {
|
|
28
|
+
return this.format(v, DateFormats.TIME, f);
|
|
29
|
+
}
|
|
30
|
+
static formatDateTime(v, f = "-") {
|
|
31
|
+
return this.format(v, DateFormats.DATE_TIME, f);
|
|
32
|
+
}
|
|
33
|
+
static formatDateTimeWithSeconds(v, f = "-") {
|
|
34
|
+
return this.format(v, DateFormats.DATE_TIME_SECONDS, f);
|
|
35
|
+
}
|
|
36
|
+
static formatMonthYear(v, f = "-") {
|
|
37
|
+
return this.format(v, DateFormats.MONTH_YEAR, f);
|
|
38
|
+
}
|
|
39
|
+
static formatYear(v, f = "-") {
|
|
40
|
+
return this.format(v, DateFormats.YEAR, f);
|
|
41
|
+
}
|
|
42
|
+
static format(v, o, f = "-") {
|
|
43
|
+
const d = this.parse(v);
|
|
44
|
+
return d ? d.format(o) : f;
|
|
45
|
+
}
|
|
46
|
+
static isValid(v) {
|
|
47
|
+
return this.parse(v) !== null;
|
|
48
|
+
}
|
|
49
|
+
static parse(v) {
|
|
50
|
+
if (v === null || v === undefined || v === "")
|
|
51
|
+
return null;
|
|
52
|
+
if (dayjs.isDayjs(v))
|
|
53
|
+
return v.isValid() ? v.clone() : null;
|
|
54
|
+
if (v instanceof Date || typeof v === "number") {
|
|
55
|
+
const d = dayjs(v);
|
|
56
|
+
return d.isValid() ? d : null;
|
|
57
|
+
}
|
|
58
|
+
if (typeof v !== "string")
|
|
59
|
+
return null;
|
|
60
|
+
const s = v.trim();
|
|
61
|
+
if (!s)
|
|
62
|
+
return null;
|
|
63
|
+
for (const fmt of this.FORMATS) {
|
|
64
|
+
const d = dayjs(s, fmt, true);
|
|
65
|
+
if (d.isValid())
|
|
66
|
+
return d;
|
|
67
|
+
}
|
|
68
|
+
const iso = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
69
|
+
if (!iso.test(s))
|
|
70
|
+
return null;
|
|
71
|
+
const d = dayjs(s);
|
|
72
|
+
return d.isValid() ? d : null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
class CompanyDatePipe {
|
|
77
|
+
transform(v, t = "dateTime", f = "-") {
|
|
78
|
+
switch (t) {
|
|
79
|
+
case "date":
|
|
80
|
+
return DateUtil.formatDate(v, f);
|
|
81
|
+
case "time":
|
|
82
|
+
return DateUtil.formatTime(v, f);
|
|
83
|
+
case "dateTimeSeconds":
|
|
84
|
+
return DateUtil.formatDateTimeWithSeconds(v, f);
|
|
85
|
+
case "monthYear":
|
|
86
|
+
return DateUtil.formatMonthYear(v, f);
|
|
87
|
+
case "year":
|
|
88
|
+
return DateUtil.formatYear(v, f);
|
|
89
|
+
default:
|
|
90
|
+
return DateUtil.formatDateTime(v, f);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
94
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, isStandalone: true, name: "companyDate" }); }
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyDatePipe, decorators: [{
|
|
97
|
+
type: Pipe,
|
|
98
|
+
args: [{ name: "companyDate", standalone: true, pure: true }]
|
|
99
|
+
}] });
|
|
100
|
+
|
|
101
|
+
class MoneyFormats {
|
|
102
|
+
constructor() { }
|
|
103
|
+
static { this.DEFAULT_LOCALE = "es-BO"; }
|
|
104
|
+
static { this.DEFAULT_CURRENCY = "BOB"; }
|
|
105
|
+
static { this.DEFAULT_SYMBOL = "Bs"; }
|
|
106
|
+
static { this.DEFAULT_DECIMALS = 2; }
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
class MoneyUtil {
|
|
110
|
+
constructor() { }
|
|
111
|
+
static formatBolivianos(v, o = {}) {
|
|
112
|
+
const n = this.parse(v);
|
|
113
|
+
if (n === null)
|
|
114
|
+
return o.fallback ?? "-";
|
|
115
|
+
const min = o.minimumFractionDigits ?? 2, max = o.maximumFractionDigits ?? 2;
|
|
116
|
+
const amount = new Intl.NumberFormat(MoneyFormats.DEFAULT_LOCALE, {
|
|
117
|
+
style: "decimal",
|
|
118
|
+
useGrouping: true,
|
|
119
|
+
minimumFractionDigits: min,
|
|
120
|
+
maximumFractionDigits: max,
|
|
121
|
+
}).format(n);
|
|
122
|
+
if (!(o.showSymbol ?? true))
|
|
123
|
+
return amount;
|
|
124
|
+
const s = o.symbol ?? MoneyFormats.DEFAULT_SYMBOL;
|
|
125
|
+
return o.symbolPosition === "after" ? `${amount} ${s}` : `${s} ${amount}`;
|
|
126
|
+
}
|
|
127
|
+
static formatNumber(v, min = 2, max = 2, f = "-") {
|
|
128
|
+
return this.formatBolivianos(v, {
|
|
129
|
+
showSymbol: false,
|
|
130
|
+
minimumFractionDigits: min,
|
|
131
|
+
maximumFractionDigits: max,
|
|
132
|
+
fallback: f,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
static isValid(v) {
|
|
136
|
+
return this.parse(v) !== null;
|
|
137
|
+
}
|
|
138
|
+
static toNumber(v) {
|
|
139
|
+
return this.parse(v);
|
|
140
|
+
}
|
|
141
|
+
static parse(v) {
|
|
142
|
+
if (v === null || v === undefined || v === "")
|
|
143
|
+
return null;
|
|
144
|
+
if (typeof v === "number")
|
|
145
|
+
return Number.isFinite(v) ? v : null;
|
|
146
|
+
const s = v
|
|
147
|
+
.trim()
|
|
148
|
+
.replace(/\s/g, "")
|
|
149
|
+
.replace(/^Bs\.?/i, "");
|
|
150
|
+
if (!s)
|
|
151
|
+
return null;
|
|
152
|
+
let n;
|
|
153
|
+
if (s.includes(",") && s.includes("."))
|
|
154
|
+
n = s.replace(/\./g, "").replace(",", ".");
|
|
155
|
+
else if (s.includes(","))
|
|
156
|
+
n = s.replace(",", ".");
|
|
157
|
+
else
|
|
158
|
+
n = s;
|
|
159
|
+
if (!/^-?\d+(?:\.\d+)?$/.test(n))
|
|
160
|
+
return null;
|
|
161
|
+
const x = Number(n);
|
|
162
|
+
return Number.isFinite(x) ? x : null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
class CompanyMoneyPipe {
|
|
167
|
+
transform(v, o = {}) { return MoneyUtil.formatBolivianos(v, o); }
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
169
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, isStandalone: true, name: "companyMoney" }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CompanyMoneyPipe, decorators: [{
|
|
172
|
+
type: Pipe,
|
|
173
|
+
args: [{ name: 'companyMoney', standalone: true, pure: true }]
|
|
174
|
+
}] });
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Generated bundle index. Do not edit.
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
export { CompanyDatePipe, CompanyMoneyPipe, DateFormats, DateUtil, MoneyFormats, MoneyUtil };
|
|
181
|
+
//# sourceMappingURL=endesyc-format.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endesyc-format.mjs","sources":["../../../projects/format-library/src/lib/dates/date-formats.ts","../../../projects/format-library/src/lib/dates/date.util.ts","../../../projects/format-library/src/lib/dates/company-date.pipe.ts","../../../projects/format-library/src/lib/money/money-formats.ts","../../../projects/format-library/src/lib/money/money.util.ts","../../../projects/format-library/src/lib/money/company-money.pipe.ts","../../../projects/format-library/src/endesyc-format.ts"],"sourcesContent":["export class DateFormats {\r\n private constructor() {}\r\n static readonly DATE = \"DD/MM/YYYY\";\r\n static readonly TIME = \"HH:mm\";\r\n static readonly DATE_TIME = \"DD/MM/YYYY HH:mm\";\r\n static readonly DATE_TIME_SECONDS = \"DD/MM/YYYY HH:mm:ss\";\r\n static readonly MONTH_YEAR = \"MM/YYYY\";\r\n static readonly YEAR = \"YYYY\";\r\n// static readonly API_DATE = \"YYYY-MM-DD\";\r\n}\r\n","import dayjs, { Dayjs } from \"dayjs\";\r\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\r\nimport { DateFormats } from \"./date-formats\";\r\nimport { DateInput } from \"./date-input\";\r\ndayjs.extend(customParseFormat);\r\nexport class DateUtil {\r\n private constructor() {}\r\n private static readonly FORMATS = [\r\n \"YYYY-MM-DD HH:mm:ss.SSS\",\r\n \"YYYY-MM-DD HH:mm:ss\",\r\n \"YYYY-MM-DD\",\r\n ] as const;\r\n static formatDate(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.DATE, f);\r\n }\r\n static formatTime(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.TIME, f);\r\n }\r\n static formatDateTime(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.DATE_TIME, f);\r\n }\r\n static formatDateTimeWithSeconds(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.DATE_TIME_SECONDS, f);\r\n }\r\n static formatMonthYear(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.MONTH_YEAR, f);\r\n }\r\n static formatYear(v: DateInput, f = \"-\") {\r\n return this.format(v, DateFormats.YEAR, f);\r\n }\r\n static format(v: DateInput, o: string, f = \"-\") {\r\n const d = this.parse(v);\r\n return d ? d.format(o) : f;\r\n }\r\n static isValid(v: DateInput) {\r\n return this.parse(v) !== null;\r\n }\r\n private static parse(v: DateInput): Dayjs | null {\r\n if (v === null || v === undefined || v === \"\") return null;\r\n if (dayjs.isDayjs(v)) return v.isValid() ? v.clone() : null;\r\n if (v instanceof Date || typeof v === \"number\") {\r\n const d = dayjs(v);\r\n return d.isValid() ? d : null;\r\n }\r\n if (typeof v !== \"string\") return null;\r\n const s = v.trim();\r\n if (!s) return null;\r\n for (const fmt of this.FORMATS) {\r\n const d = dayjs(s, fmt, true);\r\n if (d.isValid()) return d;\r\n }\r\n const iso =\r\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,9})?(?:Z|[+-]\\d{2}:\\d{2})$/;\r\n if (!iso.test(s)) return null;\r\n const d = dayjs(s);\r\n return d.isValid() ? d : null;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DateDisplayFormat } from \"./date-display-format\";\r\nimport { DateInput } from \"./date-input\";\r\nimport { DateUtil } from \"./date.util\";\r\n@Pipe({ name: \"companyDate\", standalone: true, pure: true })\r\nexport class CompanyDatePipe implements PipeTransform {\r\n transform(v: DateInput, t: DateDisplayFormat = \"dateTime\", f = \"-\"): string {\r\n switch (t) {\r\n case \"date\":\r\n return DateUtil.formatDate(v, f);\r\n case \"time\":\r\n return DateUtil.formatTime(v, f);\r\n case \"dateTimeSeconds\":\r\n return DateUtil.formatDateTimeWithSeconds(v, f);\r\n case \"monthYear\":\r\n return DateUtil.formatMonthYear(v, f);\r\n case \"year\":\r\n return DateUtil.formatYear(v, f);\r\n default:\r\n return DateUtil.formatDateTime(v, f);\r\n }\r\n }\r\n}\r\n","export class MoneyFormats {\r\n private constructor() {}\r\n static readonly DEFAULT_LOCALE = \"es-BO\";\r\n static readonly DEFAULT_CURRENCY = \"BOB\";\r\n static readonly DEFAULT_SYMBOL = \"Bs\";\r\n static readonly DEFAULT_DECIMALS = 2;\r\n}\r\n","import { MoneyFormatOptions } from \"./money-format-options\";\r\nimport { MoneyFormats } from \"./money-formats\";\r\nimport { MoneyInput } from \"./money-input\";\r\nexport class MoneyUtil {\r\n private constructor() {}\r\n static formatBolivianos(v: MoneyInput, o: MoneyFormatOptions = {}): string {\r\n const n = this.parse(v);\r\n if (n === null) return o.fallback ?? \"-\";\r\n const min = o.minimumFractionDigits ?? 2,\r\n max = o.maximumFractionDigits ?? 2;\r\n const amount = new Intl.NumberFormat(MoneyFormats.DEFAULT_LOCALE, {\r\n style: \"decimal\",\r\n useGrouping: true,\r\n minimumFractionDigits: min,\r\n maximumFractionDigits: max,\r\n }).format(n);\r\n if (!(o.showSymbol ?? true)) return amount;\r\n const s = o.symbol ?? MoneyFormats.DEFAULT_SYMBOL;\r\n return o.symbolPosition === \"after\" ? `${amount} ${s}` : `${s} ${amount}`;\r\n }\r\n static formatNumber(v: MoneyInput, min = 2, max = 2, f = \"-\") {\r\n return this.formatBolivianos(v, {\r\n showSymbol: false,\r\n minimumFractionDigits: min,\r\n maximumFractionDigits: max,\r\n fallback: f,\r\n });\r\n }\r\n static isValid(v: MoneyInput) {\r\n return this.parse(v) !== null;\r\n }\r\n static toNumber(v: MoneyInput) {\r\n return this.parse(v);\r\n }\r\n private static parse(v: MoneyInput): number | null {\r\n if (v === null || v === undefined || v === \"\") return null;\r\n if (typeof v === \"number\") return Number.isFinite(v) ? v : null;\r\n const s = v\r\n .trim()\r\n .replace(/\\s/g, \"\")\r\n .replace(/^Bs\\.?/i, \"\");\r\n if (!s) return null;\r\n let n: string;\r\n if (s.includes(\",\") && s.includes(\".\"))\r\n n = s.replace(/\\./g, \"\").replace(\",\", \".\");\r\n else if (s.includes(\",\")) n = s.replace(\",\", \".\");\r\n else n = s;\r\n if (!/^-?\\d+(?:\\.\\d+)?$/.test(n)) return null;\r\n const x = Number(n);\r\n return Number.isFinite(x) ? x : null;\r\n }\r\n}\r\n","import {Pipe,PipeTransform} from '@angular/core'; import {MoneyFormatOptions} from './money-format-options'; import {MoneyInput} from './money-input'; import {MoneyUtil} from './money.util'; @Pipe({name:'companyMoney',standalone:true,pure:true}) export class CompanyMoneyPipe implements PipeTransform { transform(v:MoneyInput,o:MoneyFormatOptions={}):string{return MoneyUtil.formatBolivianos(v,o)} }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PipeTransform } from "@angular/core";
|
|
2
|
+
import { DateDisplayFormat } from "./date-display-format";
|
|
3
|
+
import { DateInput } from "./date-input";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CompanyDatePipe implements PipeTransform {
|
|
6
|
+
transform(v: DateInput, t?: DateDisplayFormat, f?: string): string;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CompanyDatePipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<CompanyDatePipe, "companyDate", true>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type DateDisplayFormat = "date" | "time" | "dateTime" | "dateTimeSeconds" | "monthYear" | "year";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class DateFormats {
|
|
2
|
+
private constructor();
|
|
3
|
+
static readonly DATE = "DD/MM/YYYY";
|
|
4
|
+
static readonly TIME = "HH:mm";
|
|
5
|
+
static readonly DATE_TIME = "DD/MM/YYYY HH:mm";
|
|
6
|
+
static readonly DATE_TIME_SECONDS = "DD/MM/YYYY HH:mm:ss";
|
|
7
|
+
static readonly MONTH_YEAR = "MM/YYYY";
|
|
8
|
+
static readonly YEAR = "YYYY";
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DateInput } from "./date-input";
|
|
2
|
+
export declare class DateUtil {
|
|
3
|
+
private constructor();
|
|
4
|
+
private static readonly FORMATS;
|
|
5
|
+
static formatDate(v: DateInput, f?: string): string;
|
|
6
|
+
static formatTime(v: DateInput, f?: string): string;
|
|
7
|
+
static formatDateTime(v: DateInput, f?: string): string;
|
|
8
|
+
static formatDateTimeWithSeconds(v: DateInput, f?: string): string;
|
|
9
|
+
static formatMonthYear(v: DateInput, f?: string): string;
|
|
10
|
+
static formatYear(v: DateInput, f?: string): string;
|
|
11
|
+
static format(v: DateInput, o: string, f?: string): string;
|
|
12
|
+
static isValid(v: DateInput): boolean;
|
|
13
|
+
private static parse;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { MoneyFormatOptions } from './money-format-options';
|
|
3
|
+
import { MoneyInput } from './money-input';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CompanyMoneyPipe implements PipeTransform {
|
|
6
|
+
transform(v: MoneyInput, o?: MoneyFormatOptions): string;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CompanyMoneyPipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<CompanyMoneyPipe, "companyMoney", true>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type MoneyInput = number | string | null | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MoneyFormatOptions } from "./money-format-options";
|
|
2
|
+
import { MoneyInput } from "./money-input";
|
|
3
|
+
export declare class MoneyUtil {
|
|
4
|
+
private constructor();
|
|
5
|
+
static formatBolivianos(v: MoneyInput, o?: MoneyFormatOptions): string;
|
|
6
|
+
static formatNumber(v: MoneyInput, min?: number, max?: number, f?: string): string;
|
|
7
|
+
static isValid(v: MoneyInput): boolean;
|
|
8
|
+
static toNumber(v: MoneyInput): number | null;
|
|
9
|
+
private static parse;
|
|
10
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@endesyc/format",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Librería Angular compartida para formateo de fechas y montos monetarios.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"author": "ENDESYC",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"peerDependencies": {
|
|
9
|
+
"@angular/common": ">=18 <21",
|
|
10
|
+
"@angular/core": ">=18 <21",
|
|
11
|
+
"dayjs": "^1.11.13"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"tslib": "^2.3.0"
|
|
15
|
+
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"module": "fesm2022/endesyc-format.mjs",
|
|
20
|
+
"typings": "index.d.ts",
|
|
21
|
+
"exports": {
|
|
22
|
+
"./package.json": {
|
|
23
|
+
"default": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./index.d.ts",
|
|
27
|
+
"esm2022": "./esm2022/endesyc-format.mjs",
|
|
28
|
+
"esm": "./esm2022/endesyc-format.mjs",
|
|
29
|
+
"default": "./fesm2022/endesyc-format.mjs"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './lib/dates/date-formats';
|
|
2
|
+
export * from './lib/dates/date-display-format';
|
|
3
|
+
export * from './lib/dates/date-input';
|
|
4
|
+
export * from './lib/dates/date.util';
|
|
5
|
+
export * from './lib/dates/company-date.pipe';
|
|
6
|
+
export * from './lib/money/money-formats';
|
|
7
|
+
export * from './lib/money/money-input';
|
|
8
|
+
export * from './lib/money/money-format-options';
|
|
9
|
+
export * from './lib/money/money.util';
|
|
10
|
+
export * from './lib/money/company-money.pipe';
|