@daysnap/utils 0.0.45 → 0.0.47
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/es/formatMessage.d.ts +6 -0
- package/es/formatMessage.js +25 -0
- package/es/index.d.ts +4 -1
- package/es/index.js +4 -1
- package/es/insertLink.d.ts +5 -0
- package/es/insertLink.js +15 -0
- package/es/insertScript.d.ts +5 -0
- package/es/insertScript.js +15 -0
- package/es/insertStyle.d.ts +4 -0
- package/es/insertStyle.js +9 -0
- package/lib/formatMessage.d.ts +6 -0
- package/lib/formatMessage.js +29 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +4 -1
- package/lib/insertLink.d.ts +5 -0
- package/lib/insertLink.js +19 -0
- package/lib/insertScript.d.ts +5 -0
- package/lib/insertScript.js +19 -0
- package/lib/insertStyle.d.ts +4 -0
- package/lib/insertStyle.js +13 -0
- package/package.json +2 -2
- package/es/loadResource.d.ts +0 -7
- package/es/loadResource.js +0 -35
- package/lib/loadResource.d.ts +0 -7
- package/lib/loadResource.js +0 -39
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { isNull } from './isNull';
|
|
2
|
+
import { isObject } from './isObject';
|
|
3
|
+
import { isUndefined } from './isUndefined';
|
|
4
|
+
import { parsePath } from './parsePath';
|
|
5
|
+
/**
|
|
6
|
+
* 格式化消息
|
|
7
|
+
* formatMessage({ a: '123', b: { ba: '456' } }, ['a']) => '123'
|
|
8
|
+
* formatMessage({ a: '123', b: { ba: '456' } }, ['b.ba']) => '456'
|
|
9
|
+
*/
|
|
10
|
+
export function formatMessage(message, keys = ['message', 'msg', 'errorMsg']) {
|
|
11
|
+
if (isNull(message)) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
if (!isObject(message)) {
|
|
15
|
+
return `${message}`;
|
|
16
|
+
}
|
|
17
|
+
for (let i = 0, len = keys.length; i < len; i++) {
|
|
18
|
+
const key = keys[i];
|
|
19
|
+
const val = parsePath(message, key);
|
|
20
|
+
if (!isUndefined(val)) {
|
|
21
|
+
return `${val}`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return JSON.stringify(message);
|
|
25
|
+
}
|
package/es/index.d.ts
CHANGED
|
@@ -17,12 +17,16 @@ export * from './filterName';
|
|
|
17
17
|
export * from './filterPhone';
|
|
18
18
|
export * from './formatAmount';
|
|
19
19
|
export * from './formatDate';
|
|
20
|
+
export * from './formatMessage';
|
|
20
21
|
export * from './getBlobByUrl';
|
|
21
22
|
export * from './getDayMillisecond';
|
|
22
23
|
export * from './getImageInfo';
|
|
23
24
|
export * from './getRandomColor';
|
|
24
25
|
export * from './getVideoInfo';
|
|
25
26
|
export * from './inBrowser';
|
|
27
|
+
export * from './insertLink';
|
|
28
|
+
export * from './insertScript';
|
|
29
|
+
export * from './insertStyle';
|
|
26
30
|
export * from './isAndroid';
|
|
27
31
|
export * from './isArray';
|
|
28
32
|
export * from './isBoolean';
|
|
@@ -48,7 +52,6 @@ export * from './isURL';
|
|
|
48
52
|
export * from './isUndefined';
|
|
49
53
|
export * from './isWeixin';
|
|
50
54
|
export * from './isWindow';
|
|
51
|
-
export * from './loadResource';
|
|
52
55
|
export * from './omit';
|
|
53
56
|
export * from './padding';
|
|
54
57
|
export * from './parseDate';
|
package/es/index.js
CHANGED
|
@@ -18,12 +18,16 @@ export * from './filterName';
|
|
|
18
18
|
export * from './filterPhone';
|
|
19
19
|
export * from './formatAmount';
|
|
20
20
|
export * from './formatDate';
|
|
21
|
+
export * from './formatMessage';
|
|
21
22
|
export * from './getBlobByUrl';
|
|
22
23
|
export * from './getDayMillisecond';
|
|
23
24
|
export * from './getImageInfo';
|
|
24
25
|
export * from './getRandomColor';
|
|
25
26
|
export * from './getVideoInfo';
|
|
26
27
|
export * from './inBrowser';
|
|
28
|
+
export * from './insertLink';
|
|
29
|
+
export * from './insertScript';
|
|
30
|
+
export * from './insertStyle';
|
|
27
31
|
export * from './isAndroid';
|
|
28
32
|
export * from './isArray';
|
|
29
33
|
export * from './isBoolean';
|
|
@@ -49,7 +53,6 @@ export * from './isURL';
|
|
|
49
53
|
export * from './isUndefined';
|
|
50
54
|
export * from './isWeixin';
|
|
51
55
|
export * from './isWindow';
|
|
52
|
-
export * from './loadResource';
|
|
53
56
|
export * from './omit';
|
|
54
57
|
export * from './padding';
|
|
55
58
|
export * from './parseDate';
|
package/es/insertLink.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function insertLink(href, callback) {
|
|
2
|
+
const linkElement = document.createElement('link');
|
|
3
|
+
linkElement.href = href;
|
|
4
|
+
const insert = (success, fail) => {
|
|
5
|
+
document.body.appendChild(linkElement);
|
|
6
|
+
linkElement.onload = success;
|
|
7
|
+
linkElement.onerror = fail;
|
|
8
|
+
};
|
|
9
|
+
if (callback) {
|
|
10
|
+
return insert(() => callback(null, linkElement), (err) => callback(err, linkElement));
|
|
11
|
+
}
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
insert(() => resolve(linkElement), reject);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function insertScript(src, callback) {
|
|
2
|
+
const scriptElement = document.createElement('script');
|
|
3
|
+
scriptElement.src = src;
|
|
4
|
+
const insert = (success, fail) => {
|
|
5
|
+
document.body.appendChild(scriptElement);
|
|
6
|
+
scriptElement.onload = success;
|
|
7
|
+
scriptElement.onerror = fail;
|
|
8
|
+
};
|
|
9
|
+
if (callback) {
|
|
10
|
+
return insert(() => callback(null, scriptElement), (err) => callback(err, scriptElement));
|
|
11
|
+
}
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
insert(() => resolve(scriptElement), reject);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatMessage = void 0;
|
|
4
|
+
const isNull_1 = require("./isNull");
|
|
5
|
+
const isObject_1 = require("./isObject");
|
|
6
|
+
const isUndefined_1 = require("./isUndefined");
|
|
7
|
+
const parsePath_1 = require("./parsePath");
|
|
8
|
+
/**
|
|
9
|
+
* 格式化消息
|
|
10
|
+
* formatMessage({ a: '123', b: { ba: '456' } }, ['a']) => '123'
|
|
11
|
+
* formatMessage({ a: '123', b: { ba: '456' } }, ['b.ba']) => '456'
|
|
12
|
+
*/
|
|
13
|
+
function formatMessage(message, keys = ['message', 'msg', 'errorMsg']) {
|
|
14
|
+
if ((0, isNull_1.isNull)(message)) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
if (!(0, isObject_1.isObject)(message)) {
|
|
18
|
+
return `${message}`;
|
|
19
|
+
}
|
|
20
|
+
for (let i = 0, len = keys.length; i < len; i++) {
|
|
21
|
+
const key = keys[i];
|
|
22
|
+
const val = (0, parsePath_1.parsePath)(message, key);
|
|
23
|
+
if (!(0, isUndefined_1.isUndefined)(val)) {
|
|
24
|
+
return `${val}`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return JSON.stringify(message);
|
|
28
|
+
}
|
|
29
|
+
exports.formatMessage = formatMessage;
|
package/lib/index.d.ts
CHANGED
|
@@ -17,12 +17,16 @@ export * from './filterName';
|
|
|
17
17
|
export * from './filterPhone';
|
|
18
18
|
export * from './formatAmount';
|
|
19
19
|
export * from './formatDate';
|
|
20
|
+
export * from './formatMessage';
|
|
20
21
|
export * from './getBlobByUrl';
|
|
21
22
|
export * from './getDayMillisecond';
|
|
22
23
|
export * from './getImageInfo';
|
|
23
24
|
export * from './getRandomColor';
|
|
24
25
|
export * from './getVideoInfo';
|
|
25
26
|
export * from './inBrowser';
|
|
27
|
+
export * from './insertLink';
|
|
28
|
+
export * from './insertScript';
|
|
29
|
+
export * from './insertStyle';
|
|
26
30
|
export * from './isAndroid';
|
|
27
31
|
export * from './isArray';
|
|
28
32
|
export * from './isBoolean';
|
|
@@ -48,7 +52,6 @@ export * from './isURL';
|
|
|
48
52
|
export * from './isUndefined';
|
|
49
53
|
export * from './isWeixin';
|
|
50
54
|
export * from './isWindow';
|
|
51
|
-
export * from './loadResource';
|
|
52
55
|
export * from './omit';
|
|
53
56
|
export * from './padding';
|
|
54
57
|
export * from './parseDate';
|
package/lib/index.js
CHANGED
|
@@ -34,12 +34,16 @@ __exportStar(require("./filterName"), exports);
|
|
|
34
34
|
__exportStar(require("./filterPhone"), exports);
|
|
35
35
|
__exportStar(require("./formatAmount"), exports);
|
|
36
36
|
__exportStar(require("./formatDate"), exports);
|
|
37
|
+
__exportStar(require("./formatMessage"), exports);
|
|
37
38
|
__exportStar(require("./getBlobByUrl"), exports);
|
|
38
39
|
__exportStar(require("./getDayMillisecond"), exports);
|
|
39
40
|
__exportStar(require("./getImageInfo"), exports);
|
|
40
41
|
__exportStar(require("./getRandomColor"), exports);
|
|
41
42
|
__exportStar(require("./getVideoInfo"), exports);
|
|
42
43
|
__exportStar(require("./inBrowser"), exports);
|
|
44
|
+
__exportStar(require("./insertLink"), exports);
|
|
45
|
+
__exportStar(require("./insertScript"), exports);
|
|
46
|
+
__exportStar(require("./insertStyle"), exports);
|
|
43
47
|
__exportStar(require("./isAndroid"), exports);
|
|
44
48
|
__exportStar(require("./isArray"), exports);
|
|
45
49
|
__exportStar(require("./isBoolean"), exports);
|
|
@@ -65,7 +69,6 @@ __exportStar(require("./isURL"), exports);
|
|
|
65
69
|
__exportStar(require("./isUndefined"), exports);
|
|
66
70
|
__exportStar(require("./isWeixin"), exports);
|
|
67
71
|
__exportStar(require("./isWindow"), exports);
|
|
68
|
-
__exportStar(require("./loadResource"), exports);
|
|
69
72
|
__exportStar(require("./omit"), exports);
|
|
70
73
|
__exportStar(require("./padding"), exports);
|
|
71
74
|
__exportStar(require("./parseDate"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.insertLink = void 0;
|
|
4
|
+
function insertLink(href, callback) {
|
|
5
|
+
const linkElement = document.createElement('link');
|
|
6
|
+
linkElement.href = href;
|
|
7
|
+
const insert = (success, fail) => {
|
|
8
|
+
document.body.appendChild(linkElement);
|
|
9
|
+
linkElement.onload = success;
|
|
10
|
+
linkElement.onerror = fail;
|
|
11
|
+
};
|
|
12
|
+
if (callback) {
|
|
13
|
+
return insert(() => callback(null, linkElement), (err) => callback(err, linkElement));
|
|
14
|
+
}
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
insert(() => resolve(linkElement), reject);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.insertLink = insertLink;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.insertScript = void 0;
|
|
4
|
+
function insertScript(src, callback) {
|
|
5
|
+
const scriptElement = document.createElement('script');
|
|
6
|
+
scriptElement.src = src;
|
|
7
|
+
const insert = (success, fail) => {
|
|
8
|
+
document.body.appendChild(scriptElement);
|
|
9
|
+
scriptElement.onload = success;
|
|
10
|
+
scriptElement.onerror = fail;
|
|
11
|
+
};
|
|
12
|
+
if (callback) {
|
|
13
|
+
return insert(() => callback(null, scriptElement), (err) => callback(err, scriptElement));
|
|
14
|
+
}
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
insert(() => resolve(scriptElement), reject);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.insertScript = insertScript;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.insertStyle = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 插入样式
|
|
6
|
+
*/
|
|
7
|
+
function insertStyle(content) {
|
|
8
|
+
const styleElement = document.createElement('style');
|
|
9
|
+
document.head.appendChild(styleElement);
|
|
10
|
+
styleElement.innerText = content;
|
|
11
|
+
return styleElement;
|
|
12
|
+
}
|
|
13
|
+
exports.insertStyle = insertStyle;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daysnap/utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.47",
|
|
4
4
|
"description": "通用的工具库",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"clean": "npm run clean:es && npm run clean:lib",
|
|
23
23
|
"build:es": "npm run clean:es && tsc -p ./tsconfig-esm.json",
|
|
24
24
|
"build:lib": "npm run clean:lib && tsc -p ./tsconfig.json",
|
|
25
|
-
"build": "npm run build:es && npm run build:lib",
|
|
25
|
+
"build": "npm run entry && npm run build:es && npm run build:lib",
|
|
26
26
|
"test": "jest",
|
|
27
27
|
"coverage": "jest --coverage",
|
|
28
28
|
"prerelease": "npm run entry && npm run test && npm run docs",
|
package/es/loadResource.d.ts
DELETED
package/es/loadResource.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { isFunction } from './isFunction';
|
|
2
|
-
/**
|
|
3
|
-
* 加载外部js、css、写入style样式
|
|
4
|
-
* @param res 资源url或内容
|
|
5
|
-
* @param type 类型
|
|
6
|
-
* @param callback 回调函数
|
|
7
|
-
*/
|
|
8
|
-
export function loadResource(res, type, callback) {
|
|
9
|
-
var _a;
|
|
10
|
-
let ref = null;
|
|
11
|
-
if (type === 'js') {
|
|
12
|
-
// 外部js
|
|
13
|
-
ref = document.createElement('js');
|
|
14
|
-
ref.setAttribute('type', 'text/javascript');
|
|
15
|
-
ref.setAttribute('src', res);
|
|
16
|
-
}
|
|
17
|
-
else if (type === 'css') {
|
|
18
|
-
// 外部css
|
|
19
|
-
ref = document.createElement('link');
|
|
20
|
-
ref.setAttribute('rel', 'stylesheet');
|
|
21
|
-
ref.setAttribute('type', 'text/css');
|
|
22
|
-
ref.setAttribute('href', res);
|
|
23
|
-
}
|
|
24
|
-
else if (type === 'style') {
|
|
25
|
-
ref = document.createElement('style');
|
|
26
|
-
ref.innerHTML = res;
|
|
27
|
-
}
|
|
28
|
-
if (ref) {
|
|
29
|
-
(_a = document.querySelector('head')) === null || _a === void 0 ? void 0 : _a.appendChild(ref);
|
|
30
|
-
ref.onload = () => {
|
|
31
|
-
if (isFunction(callback))
|
|
32
|
-
callback();
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
package/lib/loadResource.d.ts
DELETED
package/lib/loadResource.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadResource = void 0;
|
|
4
|
-
const isFunction_1 = require("./isFunction");
|
|
5
|
-
/**
|
|
6
|
-
* 加载外部js、css、写入style样式
|
|
7
|
-
* @param res 资源url或内容
|
|
8
|
-
* @param type 类型
|
|
9
|
-
* @param callback 回调函数
|
|
10
|
-
*/
|
|
11
|
-
function loadResource(res, type, callback) {
|
|
12
|
-
var _a;
|
|
13
|
-
let ref = null;
|
|
14
|
-
if (type === 'js') {
|
|
15
|
-
// 外部js
|
|
16
|
-
ref = document.createElement('js');
|
|
17
|
-
ref.setAttribute('type', 'text/javascript');
|
|
18
|
-
ref.setAttribute('src', res);
|
|
19
|
-
}
|
|
20
|
-
else if (type === 'css') {
|
|
21
|
-
// 外部css
|
|
22
|
-
ref = document.createElement('link');
|
|
23
|
-
ref.setAttribute('rel', 'stylesheet');
|
|
24
|
-
ref.setAttribute('type', 'text/css');
|
|
25
|
-
ref.setAttribute('href', res);
|
|
26
|
-
}
|
|
27
|
-
else if (type === 'style') {
|
|
28
|
-
ref = document.createElement('style');
|
|
29
|
-
ref.innerHTML = res;
|
|
30
|
-
}
|
|
31
|
-
if (ref) {
|
|
32
|
-
(_a = document.querySelector('head')) === null || _a === void 0 ? void 0 : _a.appendChild(ref);
|
|
33
|
-
ref.onload = () => {
|
|
34
|
-
if ((0, isFunction_1.isFunction)(callback))
|
|
35
|
-
callback();
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.loadResource = loadResource;
|