@polyv/utils 2.5.0-beta.1 → 2.6.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/cjs/image.js CHANGED
@@ -1 +1 @@
1
- "use strict";function supportWebP(){var A=document.createElement("canvas");if(A.getContext&&A.getContext("2d")){var e="image/webp";return 0===A.toDataURL(e).indexOf("data:"+e)}return!1}function supportAVIF(){return new Promise((function(A){var e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",e.onerror=function(){A(!1)},e.onload=function(){A(!0)},setTimeout((function(){A(!1)}),1e3)}))}function ossCompress(A,e){var s=document.createElement("a");s.href=A;var t=s.search;if("liveimages.videocc.net"!==s.hostname.toLowerCase()||/(?:\?|&)x-oss-process(?:=|&|$)/.test(t))return A;var o="";return null==e.width&&null==e.height||(o+="/resize",e.width&&(o+=",w_"+e.width),e.height&&(o+=",h_"+e.height),o+=",limit_1"),e.allowAVIF?o+="/format,avif":e.allowWebP&&(o+="/format,webp"),o&&(o="x-oss-process=image"+o,A+=(-1===A.indexOf("?")?"?":"&")+o),A}function compressHTMLImgs(A,e){return A?A.replace(/(<img.*?\ssrc=)(["']?)(.+?)\2(.*?>)/gi,(function(A,s,t,o,r){return s+'"'+ossCompress(o,e)+'" data-src="'+o+'"'+r})):""}Object.defineProperty(exports,"__esModule",{value:!0}),exports.compressHTMLImgs=exports.ossCompress=exports.supportAVIF=exports.supportWebP=void 0,exports.supportWebP=supportWebP,exports.supportAVIF=supportAVIF,exports.ossCompress=ossCompress,exports.compressHTMLImgs=compressHTMLImgs;
1
+ "use strict";function supportWebP(){var A=document.createElement("canvas");if(A.getContext&&A.getContext("2d")){var e="image/webp";return 0===A.toDataURL(e).indexOf("data:"+e)}return!1}function supportAVIF(){return new Promise((function(A){var e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",e.onerror=function(){A(!1)},e.onload=function(){A(!0)},setTimeout((function(){A(!1)}),1e3)}))}function ossCompress(A,e){var s=document.createElement("a");s.href=A;var t=s.search,o=s.hostname.toLowerCase();if(-1===["liveimages.videocc.net","vod-assets.videocc.net"].indexOf(o)||/(?:\?|&)x-oss-process(?:=|&|$)/.test(t))return A;var r="";return null==e.width&&null==e.height||(r+="/resize",e.width&&(r+=",w_"+e.width),e.height&&(r+=",h_"+e.height),r+=",limit_1"),e.allowAVIF?r+="/format,avif":e.allowWebP&&(r+="/format,webp"),r&&(r="x-oss-process=image"+r,A+=(-1===A.indexOf("?")?"?":"&")+r),A}function compressHTMLImgs(A,e){return A?A.replace(/(<img.*?\ssrc=)(["']?)(.+?)\2(.*?>)/gi,(function(A,s,t,o,r){return s+'"'+ossCompress(o,e)+'" data-src="'+o+'"'+r})):""}Object.defineProperty(exports,"__esModule",{value:!0}),exports.compressHTMLImgs=exports.ossCompress=exports.supportAVIF=exports.supportWebP=void 0,exports.supportWebP=supportWebP,exports.supportAVIF=supportAVIF,exports.ossCompress=ossCompress,exports.compressHTMLImgs=compressHTMLImgs;
package/cjs/net.d.ts CHANGED
@@ -30,6 +30,17 @@ export declare function startsWithProtocol(str: string, protocols?: string[]): b
30
30
  * ```
31
31
  */
32
32
  export declare function changeProtocol(url: string, protocol: string): string;
33
+ /**
34
+ * 移除指定 URL 中的协议头。
35
+ * @param url 指定 URL。
36
+ * @returns 处理后的字符串。
37
+ * @example
38
+ * ```javascript
39
+ * removeProtocol('https://abc.com/abc.html'); // 'abc.com/abc.html'
40
+ * removeProtocol('abc.com/abc.html'); // 'abc.com/abc.html'
41
+ * ```
42
+ */
43
+ export declare function removeProtocol(url: string): string;
33
44
  /**
34
45
  * 标准化(如果当前页面协议为 http,则为 http,否则为 https)目标字符串中的 URL 协议。
35
46
  * @param url 目标字符串。
package/cjs/net.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeProtocol=exports.changeProtocol=exports.startsWithProtocol=void 0;var reProtocol=/^(?:([a-z]+):)?\/{2,3}/i;function startsWithProtocol(o,t){var r=reProtocol.test(o);if(r&&t){for(var e=(RegExp.$1||"").toLowerCase(),c=t.length-1;c>=0;c--)if(e===t[c].toLowerCase())return!0;return!1}return r}function changeProtocol(o,t){return reProtocol.test(t)||(t+="://"),startsWithProtocol(o)?o.replace(reProtocol,t):t+o}function normalizeProtocol(o){return changeProtocol(o,"http:"===window.location.protocol?"http":"https")}exports.startsWithProtocol=startsWithProtocol,exports.changeProtocol=changeProtocol,exports.normalizeProtocol=normalizeProtocol;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeProtocol=exports.removeProtocol=exports.changeProtocol=exports.startsWithProtocol=void 0;var reProtocol=/^(?:([a-z]+):)?\/{2,3}/i;function startsWithProtocol(o,t){var r=reProtocol.test(o);if(r&&t){for(var e=(RegExp.$1||"").toLowerCase(),c=t.length-1;c>=0;c--)if(e===t[c].toLowerCase())return!0;return!1}return r}function changeProtocol(o,t){return reProtocol.test(t)||(t+="://"),startsWithProtocol(o)?o.replace(reProtocol,t):t+o}function removeProtocol(o){return o.replace(reProtocol,"")}function normalizeProtocol(o){return changeProtocol(o,"http:"===window.location.protocol?"http":"https")}exports.startsWithProtocol=startsWithProtocol,exports.changeProtocol=changeProtocol,exports.removeProtocol=removeProtocol,exports.normalizeProtocol=normalizeProtocol;
package/es/image.js CHANGED
@@ -1 +1 @@
1
- export function supportWebP(){const A=document.createElement("canvas");if(A.getContext&&A.getContext("2d")){const e="image/webp";return 0===A.toDataURL(e).indexOf("data:"+e)}return!1}export function supportAVIF(){return new Promise((A=>{const e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",e.onerror=()=>{A(!1)},e.onload=()=>{A(!0)},setTimeout((()=>{A(!1)}),1e3)}))}export function ossCompress(A,e){const t=document.createElement("a");t.href=A;const o=t.search;if("liveimages.videocc.net"!==t.hostname.toLowerCase()||/(?:\?|&)x-oss-process(?:=|&|$)/.test(o))return A;let s="";return null==e.width&&null==e.height||(s+="/resize",e.width&&(s+=",w_"+e.width),e.height&&(s+=",h_"+e.height),s+=",limit_1"),e.allowAVIF?s+="/format,avif":e.allowWebP&&(s+="/format,webp"),s&&(s="x-oss-process=image"+s,A+=(-1===A.indexOf("?")?"?":"&")+s),A}export function compressHTMLImgs(A,e){return A?A.replace(/(<img.*?\ssrc=)(["']?)(.+?)\2(.*?>)/gi,((A,t,o,s,r)=>t+'"'+ossCompress(s,e)+'" data-src="'+s+'"'+r)):""}
1
+ export function supportWebP(){const A=document.createElement("canvas");if(A.getContext&&A.getContext("2d")){const e="image/webp";return 0===A.toDataURL(e).indexOf("data:"+e)}return!1}export function supportAVIF(){return new Promise((A=>{const e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",e.onerror=()=>{A(!1)},e.onload=()=>{A(!0)},setTimeout((()=>{A(!1)}),1e3)}))}export function ossCompress(A,e){const t=document.createElement("a");t.href=A;const o=t.search,s=t.hostname.toLowerCase();if(-1===["liveimages.videocc.net","vod-assets.videocc.net"].indexOf(s)||/(?:\?|&)x-oss-process(?:=|&|$)/.test(o))return A;let a="";return null==e.width&&null==e.height||(a+="/resize",e.width&&(a+=",w_"+e.width),e.height&&(a+=",h_"+e.height),a+=",limit_1"),e.allowAVIF?a+="/format,avif":e.allowWebP&&(a+="/format,webp"),a&&(a="x-oss-process=image"+a,A+=(-1===A.indexOf("?")?"?":"&")+a),A}export function compressHTMLImgs(A,e){return A?A.replace(/(<img.*?\ssrc=)(["']?)(.+?)\2(.*?>)/gi,((A,t,o,s,a)=>t+'"'+ossCompress(s,e)+'" data-src="'+s+'"'+a)):""}
package/es/net.d.ts CHANGED
@@ -30,6 +30,17 @@ export declare function startsWithProtocol(str: string, protocols?: string[]): b
30
30
  * ```
31
31
  */
32
32
  export declare function changeProtocol(url: string, protocol: string): string;
33
+ /**
34
+ * 移除指定 URL 中的协议头。
35
+ * @param url 指定 URL。
36
+ * @returns 处理后的字符串。
37
+ * @example
38
+ * ```javascript
39
+ * removeProtocol('https://abc.com/abc.html'); // 'abc.com/abc.html'
40
+ * removeProtocol('abc.com/abc.html'); // 'abc.com/abc.html'
41
+ * ```
42
+ */
43
+ export declare function removeProtocol(url: string): string;
33
44
  /**
34
45
  * 标准化(如果当前页面协议为 http,则为 http,否则为 https)目标字符串中的 URL 协议。
35
46
  * @param url 目标字符串。
package/es/net.js CHANGED
@@ -1 +1 @@
1
- const reProtocol=/^(?:([a-z]+):)?\/{2,3}/i;export function startsWithProtocol(o,t){const r=reProtocol.test(o);if(r&&t){const o=(RegExp.$1||"").toLowerCase();for(let r=t.length-1;r>=0;r--)if(o===t[r].toLowerCase())return!0;return!1}return r}export function changeProtocol(o,t){return reProtocol.test(t)||(t+="://"),startsWithProtocol(o)?o.replace(reProtocol,t):t+o}export function normalizeProtocol(o){return changeProtocol(o,"http:"===window.location.protocol?"http":"https")}
1
+ const reProtocol=/^(?:([a-z]+):)?\/{2,3}/i;export function startsWithProtocol(o,t){const r=reProtocol.test(o);if(r&&t){const o=(RegExp.$1||"").toLowerCase();for(let r=t.length-1;r>=0;r--)if(o===t[r].toLowerCase())return!0;return!1}return r}export function changeProtocol(o,t){return reProtocol.test(t)||(t+="://"),startsWithProtocol(o)?o.replace(reProtocol,t):t+o}export function removeProtocol(o){return o.replace(reProtocol,"")}export function normalizeProtocol(o){return changeProtocol(o,"http:"===window.location.protocol?"http":"https")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyv/utils",
3
- "version": "2.5.0-beta.1",
3
+ "version": "2.6.0",
4
4
  "description": "Utility functions of Polyv frontend development.",
5
5
  "keywords": [
6
6
  "polyv",