a-js-tools 0.3.0 → 0.5.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/README.md +3 -0
- package/cjs/index.cjs +3 -0
- package/cjs/src/getRandomString.cjs +2 -1
- package/cjs/src/isNode.cjs +23 -0
- package/mjs/index.mjs +1 -0
- package/mjs/src/getRandomString.mjs +3 -2
- package/mjs/src/isNode.mjs +20 -0
- package/package.json +1 -1
- package/types/index.d.ts +1 -0
- package/types/src/ceateConstructor.d.ts +10 -0
- package/types/src/isNode.d.ts +12 -0
package/README.md
CHANGED
package/cjs/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ var getRandomString = require('./src/getRandomString.cjs');
|
|
|
6
6
|
var performance = require('./src/performance.cjs');
|
|
7
7
|
var escapeRegExp = require('./src/regexp/escapeRegExp.cjs');
|
|
8
8
|
var autoEscapedRegExp = require('./src/regexp/autoEscapedRegExp.cjs');
|
|
9
|
+
var isNode = require('./src/isNode.cjs');
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
@@ -18,3 +19,5 @@ exports.debounce = performance.debounce;
|
|
|
18
19
|
exports.throttle = performance.throttle;
|
|
19
20
|
exports.escapeRegExp = escapeRegExp.escapeRegExp;
|
|
20
21
|
exports.autoEscapedRegExp = autoEscapedRegExp.autoEscapedRegExp;
|
|
22
|
+
exports.isBrowser = isNode.isBrowser;
|
|
23
|
+
exports.isNode = isNode.isNode;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var aTypeOfJs = require('a-type-of-js');
|
|
4
|
+
var isNode = require('./isNode.cjs');
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* 获取随机字符串
|
|
@@ -77,7 +78,7 @@ function getRandomString(options) {
|
|
|
77
78
|
interleaveString(templateCharsArr, initOptions.chars3);
|
|
78
79
|
}
|
|
79
80
|
// 使用密码学安全的随机数生成器
|
|
80
|
-
const bytes =
|
|
81
|
+
const bytes = isNode.isBrowser() && window.crypto
|
|
81
82
|
? window.crypto.getRandomValues(new Uint8Array(initOptions.length))
|
|
82
83
|
: global.crypto.getRandomValues(new Uint8Array(initOptions.length));
|
|
83
84
|
let result = '';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var aTypeOfJs = require('a-type-of-js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* 判断当前环境是否为 node 环境
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
function isNode() {
|
|
11
|
+
return aTypeOfJs.isUndefined(window) || aTypeOfJs.isUndefined(window.document);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* 是否为浏览器环境
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
function isBrowser() {
|
|
19
|
+
return !isNode();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.isBrowser = isBrowser;
|
|
23
|
+
exports.isNode = isNode;
|
package/mjs/index.mjs
CHANGED
|
@@ -4,3 +4,4 @@ export { getRandomString } from './src/getRandomString.mjs';
|
|
|
4
4
|
export { debounce, throttle } from './src/performance.mjs';
|
|
5
5
|
export { escapeRegExp } from './src/regexp/escapeRegExp.mjs';
|
|
6
6
|
export { autoEscapedRegExp } from './src/regexp/autoEscapedRegExp.mjs';
|
|
7
|
+
export { isBrowser, isNode } from './src/isNode.mjs';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { isPlainObject, isNumber, isNaN
|
|
1
|
+
import { isPlainObject, isNumber, isNaN } from 'a-type-of-js';
|
|
2
|
+
import { isBrowser } from './isNode.mjs';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* 获取随机字符串
|
|
@@ -75,7 +76,7 @@ function getRandomString(options) {
|
|
|
75
76
|
interleaveString(templateCharsArr, initOptions.chars3);
|
|
76
77
|
}
|
|
77
78
|
// 使用密码学安全的随机数生成器
|
|
78
|
-
const bytes =
|
|
79
|
+
const bytes = isBrowser() && window.crypto
|
|
79
80
|
? window.crypto.getRandomValues(new Uint8Array(initOptions.length))
|
|
80
81
|
: global.crypto.getRandomValues(new Uint8Array(initOptions.length));
|
|
81
82
|
let result = '';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { isUndefined } from 'a-type-of-js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* 判断当前环境是否为 node 环境
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
function isNode() {
|
|
9
|
+
return isUndefined(window) || isUndefined(window.document);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* 是否为浏览器环境
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
function isBrowser() {
|
|
17
|
+
return !isNode();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { isBrowser, isNode };
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { toLowerCamelCase, toSplitCase, getRandomFloat, getRandomInt, getRandomS
|
|
|
2
2
|
export { throttle, debounce } from './src/performance';
|
|
3
3
|
export type { DebounceAndThrottleReturnType } from './src/performance';
|
|
4
4
|
export { escapeRegExp, autoEscapedRegExp } from './src/regexp';
|
|
5
|
+
export { isBrowser, isNode } from './src/isNode';
|