@polyv/utils 2.10.0-beta.5 → 2.11.0-beta.1

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/cjs/date.d.ts CHANGED
@@ -18,11 +18,12 @@ export declare function formatDate(date: number | Date, formation: string): stri
18
18
  */
19
19
  export interface FormatSecondsOptions {
20
20
  /**
21
- * 段数,2 或者 3
21
+ * 段数,2、3 'auto'
22
22
  * 为 3 时,格式化样式为「时:分:秒」。
23
- * 为 2 时,格式化样式为「分:秒」。
23
+ * 为 2 时,格式化样式为「分:秒」;
24
+ * 为 'auto' 时,不超过 1 小时按 2 段处理,否则按 3 段处理。
24
25
  */
25
- segments?: number;
26
+ segments?: number | 'auto';
26
27
  /**
27
28
  * 每一段数字的最小位数,不足位数时补 0。
28
29
  */
package/cjs/date.js CHANGED
@@ -1 +1 @@
1
- "use strict";function ensureDate(e){return"object"!=typeof e&&(e=new Date(e)),e}function formatDate(e,t){var r={Y:(e=ensureDate(e)).getFullYear(),M:e.getMonth()+1,D:e.getDate(),h:e.getHours(),m:e.getMinutes(),s:e.getSeconds()};return t.replace(/([YMDhms])\1*/g,(function(e){var t=r[e[0]].toString(),n=e.length;return n>t.length&&(t=new Array(n-t.length+1).join("0")+t),t}))}function formatSeconds(e,t){if(void 0===t&&(t={segments:2,digits:2}),e=Number(e),isNaN(e)||e<0)throw new Error('"secs" must be a positive integer');var r=0|(t.segments||2),n=0|(t.digits||2);n=Math.max(1,n),-1===[2,3].indexOf(r)&&(r=2);var o=new Array(n+1).join("0"),a=[60,1];return 3===t.segments&&a.unshift(3600),a.map((function(t){var r=Math.floor(e/t),a=r.toString().length;return e%=t,(o+r).slice(-Math.max(a,n))})).join(":")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.formatSeconds=formatSeconds;
1
+ "use strict";function ensureDate(e){return"object"!=typeof e&&(e=new Date(e)),e}function formatDate(e,t){var r={Y:(e=ensureDate(e)).getFullYear(),M:e.getMonth()+1,D:e.getDate(),h:e.getHours(),m:e.getMinutes(),s:e.getSeconds()};return t.replace(/([YMDhms])\1*/g,(function(e){var t=r[e[0]].toString(),n=e.length;return n>t.length&&(t=new Array(n-t.length+1).join("0")+t),t}))}function formatSeconds(e,t){if(void 0===t&&(t={segments:2,digits:2}),e=Number(e),isNaN(e)||e<0)throw new Error('"secs" must be a positive integer');var r=2;"auto"===t.segments&&e>=3600?r=3:"number"==typeof t.segments&&-1!==[2,3].indexOf(t.segments)&&(r=t.segments);var n=0|(t.digits||2);n=Math.max(1,n);var o=new Array(n+1).join("0"),s=[60,1];return 3===r&&s.unshift(3600),s.map((function(t){var r=Math.floor(e/t),s=r.toString().length;return e%=t,(o+r).slice(-Math.max(s,n))})).join(":")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.formatSeconds=formatSeconds;
package/es/date.d.ts CHANGED
@@ -18,11 +18,12 @@ export declare function formatDate(date: number | Date, formation: string): stri
18
18
  */
19
19
  export interface FormatSecondsOptions {
20
20
  /**
21
- * 段数,2 或者 3
21
+ * 段数,2、3 'auto'
22
22
  * 为 3 时,格式化样式为「时:分:秒」。
23
- * 为 2 时,格式化样式为「分:秒」。
23
+ * 为 2 时,格式化样式为「分:秒」;
24
+ * 为 'auto' 时,不超过 1 小时按 2 段处理,否则按 3 段处理。
24
25
  */
25
- segments?: number;
26
+ segments?: number | 'auto';
26
27
  /**
27
28
  * 每一段数字的最小位数,不足位数时补 0。
28
29
  */
package/es/date.js CHANGED
@@ -1 +1 @@
1
- function ensureDate(t){return"object"!=typeof t&&(t=new Date(t)),t}export function formatDate(t,e){const n={Y:(t=ensureDate(t)).getFullYear(),M:t.getMonth()+1,D:t.getDate(),h:t.getHours(),m:t.getMinutes(),s:t.getSeconds()};return e.replace(/([YMDhms])\1*/g,(function(t){let e=n[t[0]].toString();const r=t.length;return r>e.length&&(e=new Array(r-e.length+1).join("0")+e),e}))}export function formatSeconds(t,e={segments:2,digits:2}){if(t=Number(t),isNaN(t)||t<0)throw new Error('"secs" must be a positive integer');let n=0|(e.segments||2),r=0|(e.digits||2);r=Math.max(1,r),-1===[2,3].indexOf(n)&&(n=2);const o=new Array(r+1).join("0"),s=[60,1];return 3===e.segments&&s.unshift(3600),s.map((e=>{const n=Math.floor(t/e),s=n.toString().length;return t%=e,(o+n).slice(-Math.max(s,r))})).join(":")}
1
+ function ensureDate(e){return"object"!=typeof e&&(e=new Date(e)),e}export function formatDate(e,t){const n={Y:(e=ensureDate(e)).getFullYear(),M:e.getMonth()+1,D:e.getDate(),h:e.getHours(),m:e.getMinutes(),s:e.getSeconds()};return t.replace(/([YMDhms])\1*/g,(function(e){let t=n[e[0]].toString();const r=e.length;return r>t.length&&(t=new Array(r-t.length+1).join("0")+t),t}))}export function formatSeconds(e,t={segments:2,digits:2}){if(e=Number(e),isNaN(e)||e<0)throw new Error('"secs" must be a positive integer');let n=2;"auto"===t.segments&&e>=3600?n=3:"number"==typeof t.segments&&-1!==[2,3].indexOf(t.segments)&&(n=t.segments);let r=0|(t.digits||2);r=Math.max(1,r);const s=new Array(r+1).join("0"),o=[60,1];return 3===n&&o.unshift(3600),o.map((t=>{const n=Math.floor(e/t),o=n.toString().length;return e%=t,(s+n).slice(-Math.max(o,r))})).join(":")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyv/utils",
3
- "version": "2.10.0-beta.5",
3
+ "version": "2.11.0-beta.1",
4
4
  "description": "Utility functions of Polyv frontend development.",
5
5
  "keywords": [
6
6
  "polyv",