@polyv/utils 2.17.0 → 2.19.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 +14 -0
- package/cjs/date.js +1 -1
- package/cjs/external-link.d.ts +2 -0
- package/cjs/external-link.js +1 -1
- package/es/date.d.ts +14 -0
- package/es/date.js +1 -1
- package/es/external-link.d.ts +2 -0
- package/es/external-link.js +1 -1
- package/package.json +1 -1
package/cjs/date.d.ts
CHANGED
|
@@ -43,3 +43,17 @@ export interface FormatSecondsOptions {
|
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
45
|
export declare function formatSeconds(secs: number, options?: FormatSecondsOptions): string;
|
|
46
|
+
/**
|
|
47
|
+
* 把“时:分:秒.毫秒”格式的字符串转换为总秒数。如存在毫秒部分,则四舍五入。
|
|
48
|
+
* @param time “时:分:秒.毫秒”格式的字符串。
|
|
49
|
+
* @returns 总秒数。
|
|
50
|
+
* @example
|
|
51
|
+
* ```javascript
|
|
52
|
+
* timeToSeconds('00:01'); // 1
|
|
53
|
+
* timeToSeconds('10:01'); // 601
|
|
54
|
+
* timeToSeconds('06:10:01'); // 22201
|
|
55
|
+
* timeToSeconds('06:10:01.123'); // 22201
|
|
56
|
+
* timeToSeconds('06:10:01.666'); // 22202
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function timeToSeconds(time: string): number;
|
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=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;
|
|
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(":")}function timeToSeconds(e){var t=/^(?:(\d+):)*?(?:(\d+):)?(\d+)(?:\.(\d+))?$/.exec(e);if(!t)return NaN;var r=[3600,60,1,.001],n=0;return[t[1],t[2],t[3],t[4]].some((function(e,t){if(null!=e){var o=Number(e);if(isNaN(o))return n=NaN,!0;n+=Math.round(o*r[t])}return!1})),n}Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.formatSeconds=formatSeconds,exports.timeToSeconds=timeToSeconds;
|
package/cjs/external-link.d.ts
CHANGED
package/cjs/external-link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(i,n,e
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,n,o,e){return new(o||(o=Promise))((function(r,t){function a(i){try{l(e.next(i))}catch(i){t(i)}}function s(i){try{l(e.throw(i))}catch(i){t(i)}}function l(i){var n;i.done?r(i.value):(n=i.value,n instanceof o?n:new o((function(i){i(n)}))).then(a,s)}l((e=e.apply(i,n||[])).next())}))},__generator=this&&this.__generator||function(i,n){var o,e,r,t,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return t={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function s(s){return function(l){return function(s){if(o)throw new TypeError("Generator is already executing.");for(;t&&(t=0,s[0]&&(a=0)),a;)try{if(o=1,e&&(r=2&s[0]?e.return:s[0]?e.throw||((r=e.return)&&r.call(e),0):e.next)&&!(r=r.call(e,s[1])).done)return r;switch(e=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,e=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(i,a)}catch(i){s=[6,i],e=0}finally{o=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LinkJumpWay=exports.isPortable=exports.isHarmony=exports.isIOS=exports.isAndroid=void 0,exports.isCustomUA=isCustomUA,exports.openAppWithFallback=openAppWithFallback,exports.formatLink=formatLink,exports.navigateToLink=navigateToLink;var LinkJumpWay,ua_info_1=require("@just4/ua-info"),querystring_1=require("@just4/querystring"),uaInfo=(0,ua_info_1.getCurrentUAInfo)();function isCustomUA(i){var n=navigator.userAgent.toLowerCase();return!!i.length&&i.some((function(i){return n.includes(i.toLowerCase())}))}function openAppWithFallback(i){var n,o=i.iosLink,e=i.androidLink,r=i.harmonyLink,t=i.fallbackUrl,a=i.jumpWay,s=i.openLink,l=Date.now(),u=!1,c=function(){u=!0,window.removeEventListener("blur",c)};if(window.addEventListener("blur",c),console.info("ios\uff1a".concat(exports.isIOS,"\uff0cAndroid\uff1a").concat(exports.isAndroid,"\uff0charmony\uff1a").concat(exports.isHarmony)),exports.isIOS?(console.info("iOSLink",o),n=o):exports.isAndroid?(console.info("Android link",e),n=e):exports.isHarmony&&(console.info("harmony link",r),n=r),!n)return console.info("\u6ca1\u6709\u914d\u7f6e\u591a\u5e73\u53f0\u94fe\u63a5\uff0c\u4f7f\u7528\u964d\u7ea7\u94fe\u63a5",t),void s(t,a);window.location.href=n,setTimeout((function(){console.info("\u8fdb\u5165\u5230\u964d\u7ea7\u903b\u8f91\u4e86"),window.removeEventListener("blur",c);var i=Date.now()-l;!u&&i<3700&&t&&(console.info("\u964d\u7ea7\u7684 url",t,a),s(t,a))}),3500)}function toPlvWebviewBridge(i){return __awaiter(this,void 0,void 0,(function(){var n,o,e,r;return __generator(this,(function(t){switch(t.label){case 0:return n=i.getPlvWebviewSmallWindowSize,o=i.getPlvWebviewBridge,e=(null==n?void 0:n())||{width:90,height:160},[4,null==o?void 0:o()];case 1:return(r=t.sent())?(r.sendData("clickProduct",{width:e.width,height:e.height,newPage:!0,link:i.link,data:i.data}),[2]):[2]}}))}))}function toMultiPlatformLink(i){return __awaiter(this,void 0,void 0,(function(){var n,o,e,r,t,a,s,l,u,c,p,f,k,d,v,m;return __generator(this,(function(w){switch(w.label){case 0:n=i.linkData,o=i.isWxMiniProgramEnv,e=i.toWxMiniProgram,r=i.openLink,t=i.getLinkParams,a=i.isMobile,s=n.wxMiniprogramLink,l=n.pcLink,u=n.iosLink,c=n.androidLink,p=n.harmonyLink,f=n.link,k=n.jumpWay,d=n.mobileAppLink,v=(null==a?void 0:a())||exports.isPortable,console.info("\u8df3\u8f6c\u51fd\u6570\u6536\u5230\u7684\u6570\u636e",n),m=!1,w.label=1;case 1:return w.trys.push([1,3,,4]),[4,null==o?void 0:o()];case 2:return m=w.sent()||!1,[3,4];case 3:return w.sent(),m=!1,[3,4];case 4:return m&&e?(console.info("\u8fdb\u5165\u5230\u5c0f\u7a0b\u5e8f webview \u73af\u5883 wxMiniprogramLink & link",s,f),s?e(formatLink(s,t)):r(formatLink(f,t),k),[2]):v?uaInfo.client.isWx||uaInfo.client.isWxWork||uaInfo.client.isDing||uaInfo.client.isQQ||uaInfo.client.isWeibo||uaInfo.client.isBaiduApp?(r(formatLink(f,t),k),[2]):(openAppWithFallback({iosLink:u,androidLink:c,harmonyLink:p,fallbackUrl:formatLink(d||f,t),jumpWay:k,openLink:r}),[2]):(r(formatLink(l||f,t),k),[2])}}))}))}function formatLink(i,n){var o={};if(n){var e=n(i);o=Object.assign({},o,e)}return(0,querystring_1.concat)(i,o)}function navigateToLink(i){var n=i.linkData,o=i.usePlvWebviewBridge,e=i.openLink,r=i.isPlvWebview,t=i.getPlvWebviewSmallWindowSize,a=i.getPlvWebviewBridge,s=i.isWxMiniProgramEnv,l=i.toWxMiniProgram,u=i.getLinkParams,c=i.isMobile,p=(null==r?void 0:r())||!1;if(console.info("\u662f\u5426\u4fdd\u5229\u5a01 webview \u73af\u5883",p),p){var f=n.link,k=n.iosLink,d=n.androidLink,v=n.harmonyLink,m=n.mobileAppLink,w=n.wxMiniprogramOriginalId,L=n.wxMiniprogramLink,b=n.jumpWay,g=m||f;console.info("\u4fdd\u5229\u5a01 webview \u4e0b\u7684 mobileAppLink\uff0clink",m,f),console.info("\u4fdd\u5229\u5a01 webview \u4e0b usePlvWebviewBridge",o);var h={mobileLink:formatLink(f,u),wxMiniprogramOriginalId:w,wxMiniprogramLink:formatLink(L,u),mobileAppLink:formatLink(m,u)};return o?void toPlvWebviewBridge({link:formatLink(g,u),data:h,getPlvWebviewSmallWindowSize:t,getPlvWebviewBridge:a}):void openAppWithFallback({iosLink:k,androidLink:d,harmonyLink:v,fallbackUrl:formatLink(m||f,u),jumpWay:b,openLink:e})}toMultiPlatformLink({linkData:n,getLinkParams:u,isWxMiniProgramEnv:s,toWxMiniProgram:l,openLink:e,isMobile:c})}exports.isAndroid=uaInfo.os.isAndroid,exports.isIOS=uaInfo.os.isIOS,exports.isHarmony=uaInfo.os.isOpenHarmony,exports.isPortable=uaInfo.isPortable,function(i){i.PopUp="POP_UP",i.NewWindow="NEW_WINDOW",i.CurrentWindow="CURRENT_WINDOW"}(LinkJumpWay||(exports.LinkJumpWay=LinkJumpWay={}));
|
package/es/date.d.ts
CHANGED
|
@@ -43,3 +43,17 @@ export interface FormatSecondsOptions {
|
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
45
|
export declare function formatSeconds(secs: number, options?: FormatSecondsOptions): string;
|
|
46
|
+
/**
|
|
47
|
+
* 把“时:分:秒.毫秒”格式的字符串转换为总秒数。如存在毫秒部分,则四舍五入。
|
|
48
|
+
* @param time “时:分:秒.毫秒”格式的字符串。
|
|
49
|
+
* @returns 总秒数。
|
|
50
|
+
* @example
|
|
51
|
+
* ```javascript
|
|
52
|
+
* timeToSeconds('00:01'); // 1
|
|
53
|
+
* timeToSeconds('10:01'); // 601
|
|
54
|
+
* timeToSeconds('06:10:01'); // 22201
|
|
55
|
+
* timeToSeconds('06:10:01.123'); // 22201
|
|
56
|
+
* timeToSeconds('06:10:01.666'); // 22202
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function timeToSeconds(time: string): number;
|
package/es/date.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
|
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 o=new Array(r+1).join("0"),s=[60,1];return 3===n&&s.unshift(3600),s.map((t=>{const n=Math.floor(e/t),s=n.toString().length;return e%=t,(o+n).slice(-Math.max(s,r))})).join(":")}export function timeToSeconds(e){const t=/^(?:(\d+):)*?(?:(\d+):)?(\d+)(?:\.(\d+))?$/.exec(e);if(!t)return NaN;const n=[3600,60,1,.001];let r=0;return[t[1],t[2],t[3],t[4]].some(((e,t)=>{if(null!=e){const o=Number(e);if(isNaN(o))return r=NaN,!0;r+=Math.round(o*n[t])}return!1})),r}
|
package/es/external-link.d.ts
CHANGED
package/es/external-link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(i,n,o,e){return new(o||(o=Promise))((function(t,r){function a(i){try{s(e.next(i))}catch(i){r(i)}}function l(i){try{s(e.throw(i))}catch(i){r(i)}}function s(i){var n;i.done?t(i.value):(n=i.value,n instanceof o?n:new o((function(i){i(n)}))).then(a,l)}s((e=e.apply(i,n||[])).next())}))};import{getCurrentUAInfo}from"@just4/ua-info";import{concat}from"@just4/querystring";const uaInfo=getCurrentUAInfo();export const isAndroid=uaInfo.os.isAndroid;export const isIOS=uaInfo.os.isIOS;export const isHarmony=uaInfo.os.isOpenHarmony;export const isPortable=uaInfo.isPortable;export var LinkJumpWay;!function(i){i.PopUp="POP_UP",i.NewWindow="NEW_WINDOW",i.CurrentWindow="CURRENT_WINDOW"}(LinkJumpWay||(LinkJumpWay={}));export function isCustomUA(i){const n=navigator.userAgent.toLowerCase();return!!i.length&&i.some((i=>n.includes(i.toLowerCase())))}export function openAppWithFallback(i){const{iosLink:n,androidLink:o,harmonyLink:e,fallbackUrl:t}=i,
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(i,n,o,e){return new(o||(o=Promise))((function(t,r){function a(i){try{s(e.next(i))}catch(i){r(i)}}function l(i){try{s(e.throw(i))}catch(i){r(i)}}function s(i){var n;i.done?t(i.value):(n=i.value,n instanceof o?n:new o((function(i){i(n)}))).then(a,l)}s((e=e.apply(i,n||[])).next())}))};import{getCurrentUAInfo}from"@just4/ua-info";import{concat}from"@just4/querystring";const uaInfo=getCurrentUAInfo();export const isAndroid=uaInfo.os.isAndroid;export const isIOS=uaInfo.os.isIOS;export const isHarmony=uaInfo.os.isOpenHarmony;export const isPortable=uaInfo.isPortable;export var LinkJumpWay;!function(i){i.PopUp="POP_UP",i.NewWindow="NEW_WINDOW",i.CurrentWindow="CURRENT_WINDOW"}(LinkJumpWay||(LinkJumpWay={}));export function isCustomUA(i){const n=navigator.userAgent.toLowerCase();return!!i.length&&i.some((i=>n.includes(i.toLowerCase())))}export function openAppWithFallback(i){const{iosLink:n,androidLink:o,harmonyLink:e,fallbackUrl:t,jumpWay:r,openLink:a}=i,l=Date.now();let s=!1;const c=()=>{s=!0,window.removeEventListener("blur",c)};let k;if(window.addEventListener("blur",c),console.info(`ios\uff1a${isIOS}\uff0cAndroid\uff1a${isAndroid}\uff0charmony\uff1a${isHarmony}`),isIOS?(console.info("iOSLink",n),k=n):isAndroid?(console.info("Android link",o),k=o):isHarmony&&(console.info("harmony link",e),k=e),!k)return console.info("\u6ca1\u6709\u914d\u7f6e\u591a\u5e73\u53f0\u94fe\u63a5\uff0c\u4f7f\u7528\u964d\u7ea7\u94fe\u63a5",t),void a(t,r);window.location.href=k,setTimeout((()=>{console.info("\u8fdb\u5165\u5230\u964d\u7ea7\u903b\u8f91\u4e86"),window.removeEventListener("blur",c);const i=Date.now()-l;!s&&i<3700&&t&&(console.info("\u964d\u7ea7\u7684 url",t,r),a(t,r))}),3500)}function toPlvWebviewBridge(i){return __awaiter(this,void 0,void 0,(function*(){const{getPlvWebviewSmallWindowSize:n,getPlvWebviewBridge:o}=i,e=(null==n?void 0:n())||{width:90,height:160},t=yield null==o?void 0:o();t&&t.sendData("clickProduct",{width:e.width,height:e.height,newPage:!0,link:i.link,data:i.data})}))}function toMultiPlatformLink(i){return __awaiter(this,void 0,void 0,(function*(){const{linkData:n,isWxMiniProgramEnv:o,toWxMiniProgram:e,openLink:t,getLinkParams:r,isMobile:a}=i,{wxMiniprogramLink:l,pcLink:s,iosLink:c,androidLink:k,harmonyLink:u,link:d,jumpWay:f,mobileAppLink:m}=n,L=(null==a?void 0:a())||isPortable;console.info("\u8df3\u8f6c\u51fd\u6570\u6536\u5230\u7684\u6570\u636e",n);let p=!1;try{p=(yield null==o?void 0:o())||!1}catch(i){p=!1}if(p&&e)return console.info("\u8fdb\u5165\u5230\u5c0f\u7a0b\u5e8f webview \u73af\u5883 wxMiniprogramLink & link",l,d),void(l?e(formatLink(l,r)):t(formatLink(d,r),f));L?uaInfo.client.isWx||uaInfo.client.isWxWork||uaInfo.client.isDing||uaInfo.client.isQQ||uaInfo.client.isWeibo||uaInfo.client.isBaiduApp?t(formatLink(d,r),f):openAppWithFallback({iosLink:c,androidLink:k,harmonyLink:u,fallbackUrl:formatLink(m||d,r),jumpWay:f,openLink:t}):t(formatLink(s||d,r),f)}))}export function formatLink(i,n){let o={};if(n){const e=n(i);o=Object.assign({},o,e)}return concat(i,o)}export function navigateToLink(i){const{linkData:n,usePlvWebviewBridge:o,openLink:e,isPlvWebview:t,getPlvWebviewSmallWindowSize:r,getPlvWebviewBridge:a,isWxMiniProgramEnv:l,toWxMiniProgram:s,getLinkParams:c,isMobile:k}=i,u=(null==t?void 0:t())||!1;if(console.info("\u662f\u5426\u4fdd\u5229\u5a01 webview \u73af\u5883",u),u){const{link:i,iosLink:t,androidLink:l,harmonyLink:s,mobileAppLink:k,wxMiniprogramOriginalId:u,wxMiniprogramLink:d,jumpWay:f}=n,m=k||i;console.info("\u4fdd\u5229\u5a01 webview \u4e0b\u7684 mobileAppLink\uff0clink",k,i),console.info("\u4fdd\u5229\u5a01 webview \u4e0b usePlvWebviewBridge",o);const L={mobileLink:formatLink(i,c),wxMiniprogramOriginalId:u,wxMiniprogramLink:formatLink(d,c),mobileAppLink:formatLink(k,c)};return o?void toPlvWebviewBridge({link:formatLink(m,c),data:L,getPlvWebviewSmallWindowSize:r,getPlvWebviewBridge:a}):void openAppWithFallback({iosLink:t,androidLink:l,harmonyLink:s,fallbackUrl:formatLink(k||i,c),jumpWay:f,openLink:e})}toMultiPlatformLink({linkData:n,getLinkParams:c,isWxMiniProgramEnv:l,toWxMiniProgram:s,openLink:e,isMobile:k})}
|