@asteby/metacore-lib 0.6.0 → 0.7.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/dist/format.d.ts +13 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +33 -0
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/format.d.ts
CHANGED
|
@@ -23,4 +23,17 @@ export declare function formatPercentage(value: number, options?: FormatNumberOp
|
|
|
23
23
|
* @example truncate('hello world', 5) -> "hello…"
|
|
24
24
|
*/
|
|
25
25
|
export declare function truncate(value: string, maxLength: number, suffix?: string): string;
|
|
26
|
+
export interface FormatDurationOptions {
|
|
27
|
+
/** BCP-47 locale for the unit labels. Default 'es-MX'. */
|
|
28
|
+
locale?: string;
|
|
29
|
+
/** Text for invalid or negative input. Default '—'. */
|
|
30
|
+
invalid?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Human duration from seconds, at most two units, locale-aware via
|
|
34
|
+
* Intl unit formatting: "45 s", "12 min", "3 h 20 min", "2 días 5 h".
|
|
35
|
+
* @example formatDuration(12000) -> "3 h 20 min" (es-MX)
|
|
36
|
+
* @example formatDuration(12000, { locale: 'en-US' }) -> "3 hr 20 min"
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatDuration(seconds: number, options?: FormatDurationOptions): string;
|
|
26
39
|
//# sourceMappingURL=format.d.ts.map
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAQrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;CAAO,GACtD,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CAKvF"}
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAQrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;CAAO,GACtD,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CAKvF;AAED,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAWD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAa3F"}
|
package/dist/format.js
CHANGED
|
@@ -52,4 +52,37 @@ export function truncate(value, maxLength, suffix = '…') {
|
|
|
52
52
|
return '';
|
|
53
53
|
return value.slice(0, maxLength) + suffix;
|
|
54
54
|
}
|
|
55
|
+
function unitPart(value, unit, locale) {
|
|
56
|
+
try {
|
|
57
|
+
return new Intl.NumberFormat(locale, { style: 'unit', unit, unitDisplay: 'short', maximumFractionDigits: 0 }).format(value);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
const fallback = { second: 's', minute: 'min', hour: 'h', day: 'd' }[unit];
|
|
61
|
+
return `${value} ${fallback}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Human duration from seconds, at most two units, locale-aware via
|
|
66
|
+
* Intl unit formatting: "45 s", "12 min", "3 h 20 min", "2 días 5 h".
|
|
67
|
+
* @example formatDuration(12000) -> "3 h 20 min" (es-MX)
|
|
68
|
+
* @example formatDuration(12000, { locale: 'en-US' }) -> "3 hr 20 min"
|
|
69
|
+
*/
|
|
70
|
+
export function formatDuration(seconds, options = {}) {
|
|
71
|
+
const { locale = 'es-MX', invalid = '—' } = options;
|
|
72
|
+
if (!Number.isFinite(seconds) || seconds < 0)
|
|
73
|
+
return invalid;
|
|
74
|
+
const s = Math.round(seconds);
|
|
75
|
+
if (s < 60)
|
|
76
|
+
return unitPart(s, 'second', locale);
|
|
77
|
+
const min = Math.round(s / 60);
|
|
78
|
+
if (min < 60)
|
|
79
|
+
return unitPart(min, 'minute', locale);
|
|
80
|
+
const h = Math.floor(min / 60);
|
|
81
|
+
const restMin = min % 60;
|
|
82
|
+
if (h < 24)
|
|
83
|
+
return restMin ? `${unitPart(h, 'hour', locale)} ${unitPart(restMin, 'minute', locale)}` : unitPart(h, 'hour', locale);
|
|
84
|
+
const d = Math.floor(h / 24);
|
|
85
|
+
const restH = h % 24;
|
|
86
|
+
return restH ? `${unitPart(d, 'day', locale)} ${unitPart(restH, 'hour', locale)}` : unitPart(d, 'day', locale);
|
|
87
|
+
}
|
|
55
88
|
//# sourceMappingURL=format.js.map
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,UAA+B,EAAE;IAC3E,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,UAAqD,EAAE;IAEvD,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAC1G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,UAAU,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACnC,KAAK,EAAE,SAAS;YAChB,qBAAqB;YACrB,qBAAqB;YACrB,GAAG,IAAI;SACR,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IAC5C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,SAAiB,EAAE,SAAiB,GAAG;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAA;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { formatDate, formatDistance, formatRelative, getAllTimezones, detectTimezone, } from './date';
|
|
2
2
|
export type { TimezoneInfo } from './date';
|
|
3
|
-
export { formatNumber, formatPercentage, truncate } from './format';
|
|
4
|
-
export type { FormatNumberOptions } from './format';
|
|
3
|
+
export { formatNumber, formatPercentage, formatDuration, truncate } from './format';
|
|
4
|
+
export type { FormatNumberOptions, FormatDurationOptions } from './format';
|
|
5
5
|
export { formatCurrency, getCurrencySymbol, parseCurrency, SPANISH_SYMBOLS, } from './currency';
|
|
6
6
|
export type { CurrencyInfo } from './currency';
|
|
7
7
|
export { handleServerError } from './errors';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnF,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { formatDate, formatDistance, formatRelative, getAllTimezones, detectTimezone, } from './date';
|
|
2
|
-
export { formatNumber, formatPercentage, truncate } from './format';
|
|
2
|
+
export { formatNumber, formatPercentage, formatDuration, truncate } from './format';
|
|
3
3
|
export { formatCurrency, getCurrencySymbol, parseCurrency, SPANISH_SYMBOLS, } from './currency';
|
|
4
4
|
export { handleServerError } from './errors';
|
|
5
5
|
export { HtmlResponseError, HTML_RESPONSE_ERROR_CODE, detectHtmlResponse, isHtmlResponseError, looksLikeHtml, isHtmlContentType, htmlTitle, htmlSnippet, newCorrelationId, } from './http-errors';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAG5C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|