hsu-utils 0.0.10-alpha.1 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +3 -1
- package/dist/hsu-utils.js +13 -3
- package/dist/hsu-utils.min.js +1 -1
- package/dist/hsu-utils.min.js.LICENSE.txt +1 -1
- package/es/GetStrWidth/index.js +1 -1
- package/es/LoadImage/index.d.ts +1 -0
- package/es/LoadImage/index.js +32 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/lib/GetStrWidth/index.js +1 -1
- package/lib/LoadImage/index.d.ts +1 -0
- package/lib/LoadImage/index.js +65 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -25,4 +25,6 @@ yarn add hsu-utils
|
|
25
25
|
> `number`、`string`、`boolean`、`object`、`array`、`null`、`undefined`、`unknown`、`function`、`symbol`、`date`、`formdata`
|
26
26
|
|
27
27
|
- `get_string_width` 获取字符串长度
|
28
|
-
>
|
28
|
+
> 根据字体属性进行计算,默认 size 为 12,family 为 微软雅黑
|
29
|
+
- `loadImage` 异步加载图片
|
30
|
+
> 确保相同的图片只加载一次
|
package/dist/hsu-utils.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
2
|
*
|
3
|
-
* hsu-utils v0.0.
|
3
|
+
* hsu-utils v0.0.11
|
4
4
|
*
|
5
5
|
* some front-end utils
|
6
6
|
*
|
@@ -95,7 +95,17 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
95
95
|
\************************************/
|
96
96
|
/***/ ((__unused_webpack_module, exports) => {
|
97
97
|
|
98
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction get_string_width(str, font) {\n if (font === void 0) { font = {}; }\n var _a = font.style, style = _a === void 0 ? 'normal' : _a, _b = font.variant, variant = _b === void 0 ? 'normal' : _b, _c = font.weight, weight = _c === void 0 ? 'normal' : _c, _d = font.size, size = _d === void 0 ? 12 : _d, _e = font.lineHeight, lineHeight = _e === void 0 ? 1 : _e, _f = font.family, fontFamily = _f === void 0 ? '
|
98
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction get_string_width(str, font) {\n if (font === void 0) { font = {}; }\n var _a = font.style, style = _a === void 0 ? 'normal' : _a, _b = font.variant, variant = _b === void 0 ? 'normal' : _b, _c = font.weight, weight = _c === void 0 ? 'normal' : _c, _d = font.size, size = _d === void 0 ? 12 : _d, _e = font.lineHeight, lineHeight = _e === void 0 ? 1 : _e, _f = font.family, fontFamily = _f === void 0 ? '微软雅黑' : _f;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n ctx.font = \"\".concat(style, \" \").concat(variant, \" \").concat(weight, \" \").concat(size, \"px/\").concat(lineHeight, \" \").concat(fontFamily);\n var metrics = ctx.measureText(str);\n var width = +(+metrics.width.toFixed(2) + 0.01).toFixed(2);\n return width;\n}\nexports[\"default\"] = get_string_width;\n\n\n//# sourceURL=webpack://hsu-utils/./tools/GetStrWidth/index.ts?");
|
99
|
+
|
100
|
+
/***/ }),
|
101
|
+
|
102
|
+
/***/ "./tools/LoadImage/index.ts":
|
103
|
+
/*!**********************************!*\
|
104
|
+
!*** ./tools/LoadImage/index.ts ***!
|
105
|
+
\**********************************/
|
106
|
+
/***/ (function(__unused_webpack_module, exports) {
|
107
|
+
|
108
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar imagePromiseCache = {};\nvar imageCache = {};\nfunction loadImage(url) {\n return __awaiter(this, void 0, void 0, function () {\n var imagePromise;\n return __generator(this, function (_a) {\n if (imageCache[url])\n return [2, imageCache[url]];\n if (imagePromiseCache[url])\n return [2, imagePromiseCache[url]];\n imagePromise = new Promise(function (resolve, reject) {\n var image = new Image();\n image.src = url;\n image.onload = function () {\n resolve(image);\n imageCache[url] = image;\n };\n image.onerror = function () {\n reject();\n };\n });\n imagePromiseCache[url] = imagePromise;\n return [2, imagePromise];\n });\n });\n}\nexports[\"default\"] = loadImage;\n\n\n//# sourceURL=webpack://hsu-utils/./tools/LoadImage/index.ts?");
|
99
109
|
|
100
110
|
/***/ }),
|
101
111
|
|
@@ -115,7 +125,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunc
|
|
115
125
|
\************************/
|
116
126
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
117
127
|
|
118
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConvertNumbers = exports.get_string_width = exports.Typeof = exports.Equal = exports.deepCopy = exports.console_table = void 0;\nvar ConsoleTable_1 = __importDefault(__webpack_require__(/*! ./ConsoleTable */ \"./tools/ConsoleTable/index.ts\"));\nexports.console_table = ConsoleTable_1.default;\nvar DeepCopy_1 = __importDefault(__webpack_require__(/*! ./DeepCopy */ \"./tools/DeepCopy/index.ts\"));\nexports.deepCopy = DeepCopy_1.default;\nvar Equal_1 = __importDefault(__webpack_require__(/*! ./Equal */ \"./tools/Equal/index.ts\"));\nexports.Equal = Equal_1.default;\nvar Typeof_1 = __importDefault(__webpack_require__(/*! ./Typeof */ \"./tools/Typeof/index.ts\"));\nexports.Typeof = Typeof_1.default;\nvar GetStrWidth_1 = __importDefault(__webpack_require__(/*! ./GetStrWidth */ \"./tools/GetStrWidth/index.ts\"));\nexports.get_string_width = GetStrWidth_1.default;\nvar ConvertNumbers_1 = __importDefault(__webpack_require__(/*! ./ConvertNumbers */ \"./tools/ConvertNumbers/index.ts\"));\nexports.ConvertNumbers = ConvertNumbers_1.default;\n\n\n//# sourceURL=webpack://hsu-utils/./tools/index.ts?");
|
128
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.loadImage = exports.ConvertNumbers = exports.get_string_width = exports.Typeof = exports.Equal = exports.deepCopy = exports.console_table = void 0;\nvar ConsoleTable_1 = __importDefault(__webpack_require__(/*! ./ConsoleTable */ \"./tools/ConsoleTable/index.ts\"));\nexports.console_table = ConsoleTable_1.default;\nvar DeepCopy_1 = __importDefault(__webpack_require__(/*! ./DeepCopy */ \"./tools/DeepCopy/index.ts\"));\nexports.deepCopy = DeepCopy_1.default;\nvar Equal_1 = __importDefault(__webpack_require__(/*! ./Equal */ \"./tools/Equal/index.ts\"));\nexports.Equal = Equal_1.default;\nvar Typeof_1 = __importDefault(__webpack_require__(/*! ./Typeof */ \"./tools/Typeof/index.ts\"));\nexports.Typeof = Typeof_1.default;\nvar GetStrWidth_1 = __importDefault(__webpack_require__(/*! ./GetStrWidth */ \"./tools/GetStrWidth/index.ts\"));\nexports.get_string_width = GetStrWidth_1.default;\nvar ConvertNumbers_1 = __importDefault(__webpack_require__(/*! ./ConvertNumbers */ \"./tools/ConvertNumbers/index.ts\"));\nexports.ConvertNumbers = ConvertNumbers_1.default;\nvar LoadImage_1 = __importDefault(__webpack_require__(/*! ./LoadImage */ \"./tools/LoadImage/index.ts\"));\nexports.loadImage = LoadImage_1.default;\n\n\n//# sourceURL=webpack://hsu-utils/./tools/index.ts?");
|
119
129
|
|
120
130
|
/***/ })
|
121
131
|
|
package/dist/hsu-utils.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
/*! For license information please see hsu-utils.min.js.LICENSE.txt */
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["hsu-utils"]=t():e["hsu-utils"]=t()}(this,(()=>(()=>{"use strict";var e={442:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r="+",
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["hsu-utils"]=t():e["hsu-utils"]=t()}(this,(()=>(()=>{"use strict";var e={442:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r="+",n="-",o="|",a=" ",u="";function i(e){for(var t=0,r=0,n=e;r<n.length;r++){var o=n[r];t+=o.charCodeAt(0)<128&&o.charCodeAt(0)>=0?1:2}return t}function l(e,t){void 0===t&&(t=!1);var o=e.length,a="";return e.forEach((function(e,i){a+=r+function(e){for(var t="",r=0;r<=e;r++)t+=n;return t}(e+1),a+=i===o-1?r+(t?u:"\n"):u})),a}function f(e){for(var t="",r=0;r<=e;r++)t+=a;return t}t.default=function(e,t){var r=e.length,n=function(e){for(var t=Object.keys(e[0]).map((function(e){return+e})),r=0,n=e;r<n.length;r++)n[r].forEach((function(e,r){var n=i(e.toString());t[r]=Math.max(n,t[r])}));return t}(e),c="";e.forEach((function(e,t){t<=1&&(c+=l(n)),c+=function(e,t){var r=e.length,n="";return e.forEach((function(e,l){var c=t[l],s="";isNaN(+c)?s+=a+(null!=c?c:"")+f(e-i((null!=c?c:"").toString())):s+=f(e-i(c.toString()))+c+a,n+=o+s,n+=l===r-1?o+"\n":u})),n}(n,e),t===r-1&&(c+=l(n,!0))})),console.log(c),t&&t(c)}},84:(e,t)=>{function r(e,t){void 0===t&&(t={});var r,n,o=t.benchmark,a=t.textType,u=void 0===a?"lowercase":a,i={lowercase:["零","一","二","三","四","五","六","七","八","九"],uppercase:["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]},l={lowercase:["","十","百","千"],uppercase:["","拾","佰","仟"]},f={lowercase:["","万","亿","兆"],uppercase:["","万","亿","兆"]},c="";if(o&&(e=+(e*=o).toFixed(4)),e>1e16)return"超出转换范围";var s=e.toString();if(r=s.split(".")[0],n=s.split(".")[1],r)for(var d=0,p=0;p<r.length;p++){var v=r.length-p-1,y=+r[p],h=Math.floor(v/4),b=v%(4*(0===h?1:h));0==+r[p]?d++:(d>0&&(c+=i[u][0],d=0),c+="".concat(i[u][y]+l[u][b]),v%4==0&&(c+=f[u][h]))}if(n){c+="点";for(p=0;p<n.length;p++){var g=+n[p];0==+n[p]?c+="".concat(i[u][0]):c+="".concat(i[u][g])}}return""===c&&(c+=i[u][0]),c}Object.defineProperty(t,"__esModule",{value:!0}),t.toChineseNum=void 0,t.toChineseNum=r;var n={toChineseNum:r};t.default=n},819:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(243);t.default=function e(t){if("date"===(0,n.Typeof)(t))return new Date(t.toISOString());if("formdata"===(0,n.Typeof)(t)){var r=t,o=new FormData;return r.forEach((function(e,t){o.append(t,e)})),o}if(Array.isArray(t))return t.map((function(t){return"object"==typeof t?e(t):t}));if(t&&"object"===(0,n.Typeof)(t)){var a=t,u={};return Object.keys(a).forEach((function(t){var r=a[t];u[t]="object"==typeof r?e(r):r})),u}return t}},962:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjEqual=t.ValEqual=t.TypeEqual=void 0;var n=r(243);function o(e,t){return(0,n.Typeof)(e)===(0,n.Typeof)(t)}function a(e,t){return null===e&&void 0===t||void 0===e&&null===t||("object"==typeof e&&"object"==typeof t?u(e,t):"function"==typeof e&&"function"==typeof t?JSON.stringify(e)===JSON.stringify(t):e===t)}function u(e,t){var r=!1,o=(0,n.deepCopy)(e),u=(0,n.deepCopy)(t);if(null!==o&&null!==u){if(Array.isArray(o)&&Array.isArray(u))if(o.sort(),u.sort(),o.length!==u.length)r=!1;else{r=!0;for(var i=0;i<o.length&&(r=a(o[i],u[i]));i++);}else if("object"==typeof o&&"object"==typeof u)if(Object.keys(o).length!==Object.keys(u).length)r=!1;else for(var l in r=!0,o)if(!(r=a(o[l],u[l])))break}else null===o&&null===u&&(r=!0);return r}t.TypeEqual=o,t.ValEqual=a,t.ObjEqual=u;var i={ValEqual:a,TypeEqual:o,ObjEqual:u};t.default=i},285:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){void 0===t&&(t={});var r=t.style,n=void 0===r?"normal":r,o=t.variant,a=void 0===o?"normal":o,u=t.weight,i=void 0===u?"normal":u,l=t.size,f=void 0===l?12:l,c=t.lineHeight,s=void 0===c?1:c,d=t.family,p=void 0===d?"微软雅黑":d,v=document.createElement("canvas").getContext("2d");return v.font="".concat(n," ").concat(a," ").concat(i," ").concat(f,"px/").concat(s," ").concat(p),+(+v.measureText(e).width.toFixed(2)+.01).toFixed(2)}},676:function(e,t){var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function u(e){try{l(n.next(e))}catch(e){a(e)}}function i(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,i)}l((n=n.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,n,o,a,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(u=0)),u;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,n=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}};Object.defineProperty(t,"__esModule",{value:!0});var o={},a={};t.default=function(e){return r(this,void 0,void 0,(function(){var t;return n(this,(function(r){return a[e]?[2,a[e]]:o[e]?[2,o[e]]:(t=new Promise((function(t,r){var n=new Image;n.src=e,n.onload=function(){t(n),a[e]=n},n.onerror=function(){r()}})),o[e]=t,[2,t])}))}))}},332:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=Object.prototype.toString.call(e),r=new RegExp(" (.+?)]");return t.match(r)[1].toLowerCase()}},243:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=t.ConvertNumbers=t.get_string_width=t.Typeof=t.Equal=t.deepCopy=t.console_table=void 0;var o=n(r(442));t.console_table=o.default;var a=n(r(819));t.deepCopy=a.default;var u=n(r(962));t.Equal=u.default;var i=n(r(332));t.Typeof=i.default;var l=n(r(285));t.get_string_width=l.default;var f=n(r(84));t.ConvertNumbers=f.default;var c=n(r(676));t.loadImage=c.default}},t={};var r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}(243);return r})()));
|
package/es/GetStrWidth/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
export default function get_string_width(str, font = {}) {
|
2
|
-
const { style = 'normal', variant = 'normal', weight = 'normal', size = 12, lineHeight = 1, family: fontFamily = '
|
2
|
+
const { style = 'normal', variant = 'normal', weight = 'normal', size = 12, lineHeight = 1, family: fontFamily = '微软雅黑' } = font;
|
3
3
|
const canvas = document.createElement('canvas');
|
4
4
|
const ctx = canvas.getContext('2d');
|
5
5
|
ctx.font = `${style} ${variant} ${weight} ${size}px/${lineHeight} ${fontFamily}`;
|
@@ -0,0 +1 @@
|
|
1
|
+
export default function loadImage(url: string): Promise<HTMLImageElement>;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
const imagePromiseCache = {};
|
11
|
+
const imageCache = {};
|
12
|
+
export default function loadImage(url) {
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
14
|
+
if (imageCache[url])
|
15
|
+
return imageCache[url];
|
16
|
+
if (imagePromiseCache[url])
|
17
|
+
return imagePromiseCache[url];
|
18
|
+
const imagePromise = new Promise((resolve, reject) => {
|
19
|
+
const image = new Image();
|
20
|
+
image.src = url;
|
21
|
+
image.onload = () => {
|
22
|
+
resolve(image);
|
23
|
+
imageCache[url] = image;
|
24
|
+
};
|
25
|
+
image.onerror = () => {
|
26
|
+
reject();
|
27
|
+
};
|
28
|
+
});
|
29
|
+
imagePromiseCache[url] = imagePromise;
|
30
|
+
return imagePromise;
|
31
|
+
});
|
32
|
+
}
|
package/es/index.d.ts
CHANGED
@@ -4,6 +4,7 @@ import Equal from './Equal';
|
|
4
4
|
import Typeof from './Typeof';
|
5
5
|
import get_string_width from './GetStrWidth';
|
6
6
|
import ConvertNumbers from './ConvertNumbers';
|
7
|
-
|
7
|
+
import loadImage from './LoadImage';
|
8
|
+
export { console_table, deepCopy, Equal, Typeof, get_string_width, ConvertNumbers, loadImage };
|
8
9
|
import { ConsoleData } from './ConsoleTable';
|
9
10
|
export type { ConsoleData };
|
package/es/index.js
CHANGED
@@ -4,4 +4,5 @@ import Equal from './Equal';
|
|
4
4
|
import Typeof from './Typeof';
|
5
5
|
import get_string_width from './GetStrWidth';
|
6
6
|
import ConvertNumbers from './ConvertNumbers';
|
7
|
-
|
7
|
+
import loadImage from './LoadImage';
|
8
|
+
export { console_table, deepCopy, Equal, Typeof, get_string_width, ConvertNumbers, loadImage };
|
package/lib/GetStrWidth/index.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
function get_string_width(str, font) {
|
4
4
|
if (font === void 0) { font = {}; }
|
5
|
-
var _a = font.style, style = _a === void 0 ? 'normal' : _a, _b = font.variant, variant = _b === void 0 ? 'normal' : _b, _c = font.weight, weight = _c === void 0 ? 'normal' : _c, _d = font.size, size = _d === void 0 ? 12 : _d, _e = font.lineHeight, lineHeight = _e === void 0 ? 1 : _e, _f = font.family, fontFamily = _f === void 0 ? '
|
5
|
+
var _a = font.style, style = _a === void 0 ? 'normal' : _a, _b = font.variant, variant = _b === void 0 ? 'normal' : _b, _c = font.weight, weight = _c === void 0 ? 'normal' : _c, _d = font.size, size = _d === void 0 ? 12 : _d, _e = font.lineHeight, lineHeight = _e === void 0 ? 1 : _e, _f = font.family, fontFamily = _f === void 0 ? '微软雅黑' : _f;
|
6
6
|
var canvas = document.createElement('canvas');
|
7
7
|
var ctx = canvas.getContext('2d');
|
8
8
|
ctx.font = "".concat(style, " ").concat(variant, " ").concat(weight, " ").concat(size, "px/").concat(lineHeight, " ").concat(fontFamily);
|
@@ -0,0 +1 @@
|
|
1
|
+
export default function loadImage(url: string): Promise<HTMLImageElement>;
|
@@ -0,0 +1,65 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
15
|
+
function step(op) {
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
20
|
+
switch (op[0]) {
|
21
|
+
case 0: case 1: t = op; break;
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
25
|
+
default:
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
30
|
+
if (t[2]) _.ops.pop();
|
31
|
+
_.trys.pop(); continue;
|
32
|
+
}
|
33
|
+
op = body.call(thisArg, _);
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
36
|
+
}
|
37
|
+
};
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
39
|
+
var imagePromiseCache = {};
|
40
|
+
var imageCache = {};
|
41
|
+
function loadImage(url) {
|
42
|
+
return __awaiter(this, void 0, void 0, function () {
|
43
|
+
var imagePromise;
|
44
|
+
return __generator(this, function (_a) {
|
45
|
+
if (imageCache[url])
|
46
|
+
return [2, imageCache[url]];
|
47
|
+
if (imagePromiseCache[url])
|
48
|
+
return [2, imagePromiseCache[url]];
|
49
|
+
imagePromise = new Promise(function (resolve, reject) {
|
50
|
+
var image = new Image();
|
51
|
+
image.src = url;
|
52
|
+
image.onload = function () {
|
53
|
+
resolve(image);
|
54
|
+
imageCache[url] = image;
|
55
|
+
};
|
56
|
+
image.onerror = function () {
|
57
|
+
reject();
|
58
|
+
};
|
59
|
+
});
|
60
|
+
imagePromiseCache[url] = imagePromise;
|
61
|
+
return [2, imagePromise];
|
62
|
+
});
|
63
|
+
});
|
64
|
+
}
|
65
|
+
exports.default = loadImage;
|
package/lib/index.d.ts
CHANGED
@@ -4,6 +4,7 @@ import Equal from './Equal';
|
|
4
4
|
import Typeof from './Typeof';
|
5
5
|
import get_string_width from './GetStrWidth';
|
6
6
|
import ConvertNumbers from './ConvertNumbers';
|
7
|
-
|
7
|
+
import loadImage from './LoadImage';
|
8
|
+
export { console_table, deepCopy, Equal, Typeof, get_string_width, ConvertNumbers, loadImage };
|
8
9
|
import { ConsoleData } from './ConsoleTable';
|
9
10
|
export type { ConsoleData };
|
package/lib/index.js
CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.ConvertNumbers = exports.get_string_width = exports.Typeof = exports.Equal = exports.deepCopy = exports.console_table = void 0;
|
6
|
+
exports.loadImage = exports.ConvertNumbers = exports.get_string_width = exports.Typeof = exports.Equal = exports.deepCopy = exports.console_table = void 0;
|
7
7
|
var ConsoleTable_1 = __importDefault(require("./ConsoleTable"));
|
8
8
|
exports.console_table = ConsoleTable_1.default;
|
9
9
|
var DeepCopy_1 = __importDefault(require("./DeepCopy"));
|
@@ -16,3 +16,5 @@ var GetStrWidth_1 = __importDefault(require("./GetStrWidth"));
|
|
16
16
|
exports.get_string_width = GetStrWidth_1.default;
|
17
17
|
var ConvertNumbers_1 = __importDefault(require("./ConvertNumbers"));
|
18
18
|
exports.ConvertNumbers = ConvertNumbers_1.default;
|
19
|
+
var LoadImage_1 = __importDefault(require("./LoadImage"));
|
20
|
+
exports.loadImage = LoadImage_1.default;
|