oak-domain 3.0.4 → 4.0.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/lib/actions/action.d.ts +16 -16
- package/lib/actions/action.js +17 -17
- package/lib/actions/relation.d.ts +5 -5
- package/lib/actions/relation.js +25 -25
- package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -186
- package/lib/base-app-domain/ActionAuth/Storage.js +39 -39
- package/lib/base-app-domain/ActionDefDict.d.ts +8 -8
- package/lib/base-app-domain/ActionDefDict.js +9 -9
- package/lib/base-app-domain/EntityDict.d.ts +28 -28
- package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
- package/lib/base-app-domain/I18n/Schema.js +2 -2
- package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
- package/lib/base-app-domain/I18n/Storage.js +59 -59
- package/lib/base-app-domain/Modi/Action.d.ts +10 -10
- package/lib/base-app-domain/Modi/Action.js +14 -14
- package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
- package/lib/base-app-domain/Modi/Storage.js +63 -63
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +384 -384
- package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
- package/lib/base-app-domain/Oper/Schema.d.ts +153 -153
- package/lib/base-app-domain/Oper/Storage.js +38 -38
- package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -373
- package/lib/base-app-domain/OperEntity/Storage.js +30 -30
- package/lib/base-app-domain/Path/Schema.d.ts +149 -149
- package/lib/base-app-domain/Path/Schema.js +2 -2
- package/lib/base-app-domain/Path/Storage.d.ts +3 -3
- package/lib/base-app-domain/Path/Storage.js +54 -54
- package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
- package/lib/base-app-domain/Relation/Storage.js +54 -54
- package/lib/base-app-domain/Relation.d.ts +2 -2
- package/lib/base-app-domain/Relation.js +4 -4
- package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -214
- package/lib/base-app-domain/RelationAuth/Storage.js +44 -44
- package/lib/base-app-domain/Storage.js +31 -31
- package/lib/base-app-domain/User/Action.d.ts +10 -10
- package/lib/base-app-domain/User/Action.js +12 -12
- package/lib/base-app-domain/User/Schema.d.ts +210 -210
- package/lib/base-app-domain/User/Storage.js +33 -33
- package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -264
- package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -2
- package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -37
- package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
- package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
- package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +131 -131
- package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -25
- package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -208
- package/lib/base-app-domain/UserRelation/Storage.js +56 -56
- package/lib/base-app-domain/_SubQuery.d.ts +142 -142
- package/lib/base-app-domain/index.d.ts +4 -4
- package/lib/base-app-domain/index.js +7 -7
- package/lib/checkers/index.d.ts +5 -5
- package/lib/checkers/index.js +13 -13
- package/lib/compiler/entities.d.ts +2 -0
- package/lib/compiler/entities.js +7 -0
- package/lib/compiler/env.d.ts +13 -14
- package/lib/compiler/env.js +45 -48
- package/lib/compiler/localeBuilder.d.ts +27 -22
- package/lib/compiler/localeBuilder.js +184 -173
- package/lib/compiler/schemalBuilder.d.ts +27 -27
- package/lib/compiler/schemalBuilder.js +3569 -3569
- package/lib/entities/ActionAuth.d.ts +10 -10
- package/lib/entities/ActionAuth.js +31 -31
- package/lib/entities/I18n.d.ts +9 -9
- package/lib/entities/I18n.js +36 -37
- package/lib/entities/Modi.js +49 -49
- package/lib/entities/ModiEntity.js +18 -18
- package/lib/entities/Oper.js +21 -21
- package/lib/entities/OperEntity.js +18 -18
- package/lib/entities/Path.d.ts +8 -8
- package/lib/entities/Path.js +35 -35
- package/lib/entities/Relation.d.ts +8 -8
- package/lib/entities/Relation.js +35 -35
- package/lib/entities/RelationAuth.d.ts +8 -8
- package/lib/entities/RelationAuth.js +34 -34
- package/lib/entities/User.js +31 -31
- package/lib/entities/UserEntityClaim.d.ts +13 -13
- package/lib/entities/UserEntityClaim.js +17 -17
- package/lib/entities/UserEntityGrant.d.ts +9 -9
- package/lib/entities/UserEntityGrant.js +15 -15
- package/lib/entities/UserRelation.d.ts +10 -10
- package/lib/entities/UserRelation.js +38 -38
- package/lib/index.d.ts +23 -23
- package/lib/index.js +37 -37
- package/lib/store/AsyncRowStore.d.ts +65 -59
- package/lib/store/AsyncRowStore.js +176 -116
- package/lib/store/CascadeStore.d.ts +106 -103
- package/lib/store/CascadeStore.js +1740 -1662
- package/lib/store/RelationAuth.d.ts +96 -96
- package/lib/store/RelationAuth.js +1336 -1334
- package/lib/store/SyncRowStore.d.ts +29 -29
- package/lib/store/SyncRowStore.js +50 -50
- package/lib/store/TriggerExecutor.d.ts +41 -38
- package/lib/store/TriggerExecutor.js +468 -459
- package/lib/store/actionAuth.d.ts +4 -4
- package/lib/store/actionAuth.js +25 -25
- package/lib/store/actionDef.d.ts +10 -10
- package/lib/store/actionDef.js +278 -278
- package/lib/store/checker.d.ts +26 -26
- package/lib/store/checker.js +487 -487
- package/lib/store/filter.d.ts +85 -122
- package/lib/store/filter.js +1652 -1623
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +254 -254
- package/lib/store/relation.d.ts +12 -12
- package/lib/store/relation.js +67 -67
- package/lib/timers/oper.d.ts +18 -18
- package/lib/timers/oper.js +57 -57
- package/lib/timers/vaccum.d.ts +20 -20
- package/lib/timers/vaccum.js +111 -111
- package/lib/triggers/index.d.ts +5 -5
- package/lib/triggers/index.js +8 -8
- package/lib/types/Action.d.ts +20 -20
- package/lib/types/AppLoader.d.ts +17 -17
- package/lib/types/AppLoader.js +10 -10
- package/lib/types/Auth.d.ts +70 -70
- package/lib/types/Cluster.d.ts +5 -0
- package/lib/types/Cluster.js +2 -0
- package/lib/types/Connector.d.ts +38 -38
- package/lib/types/Connector.js +2 -2
- package/lib/types/DataType.d.ts +25 -25
- package/lib/types/DataType.js +6 -6
- package/lib/types/Demand.d.ts +89 -88
- package/lib/types/Demand.js +10 -10
- package/lib/types/Endpoint.d.ts +11 -11
- package/lib/types/Entity.d.ts +209 -202
- package/lib/types/Entity.js +15 -15
- package/lib/types/EntityDesc.d.ts +9 -9
- package/lib/types/EntityDesc.js +2 -2
- package/lib/types/Environment.d.ts +90 -57
- package/lib/types/Environment.js +2 -2
- package/lib/types/Exception.d.ts +147 -147
- package/lib/types/Exception.js +406 -406
- package/lib/types/Expression.d.ts +163 -163
- package/lib/types/Expression.js +397 -394
- package/lib/types/Geo.d.ts +18 -18
- package/lib/types/Locale.d.ts +25 -25
- package/lib/types/Logger.d.ts +6 -6
- package/lib/types/Polyfill.d.ts +24 -24
- package/lib/types/Port.d.ts +18 -18
- package/lib/types/RowStore.d.ts +19 -18
- package/lib/types/RowStore.js +33 -33
- package/lib/types/Storage.d.ts +58 -58
- package/lib/types/Style.d.ts +11 -11
- package/lib/types/Timer.d.ts +20 -14
- package/lib/types/Trigger.d.ts +118 -124
- package/lib/types/Trigger.js +35 -58
- package/lib/types/Watcher.d.ts +19 -19
- package/lib/types/index.d.ts +26 -25
- package/lib/types/index.js +29 -28
- package/lib/types/schema/DataTypes.d.ts +34 -34
- package/lib/utils/SimpleConnector.d.ts +64 -64
- package/lib/utils/SimpleConnector.js +206 -206
- package/lib/utils/assert.d.ts +5 -5
- package/lib/utils/assert.js +9 -9
- package/lib/utils/concurrent.d.ts +15 -15
- package/lib/utils/concurrent.js +63 -63
- package/lib/utils/date.js +18 -18
- package/lib/utils/{url.d.ts → domain.d.ts} +1 -1
- package/lib/utils/{url.js → domain.js} +11 -13
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +24 -22
- package/lib/utils/lodash.js +46 -42
- package/lib/utils/mask.js +34 -34
- package/lib/utils/money.d.ts +6 -6
- package/lib/utils/money.js +51 -51
- package/lib/utils/projection.d.ts +4 -4
- package/lib/utils/projection.js +15 -15
- package/lib/utils/random/random.js +19 -19
- package/lib/utils/random/random.mp.js +14 -14
- package/lib/utils/random/random.native.d.ts +1 -0
- package/lib/utils/random/random.native.js +14 -0
- package/lib/utils/random/random.web.js +11 -11
- package/lib/utils/string.d.ts +28 -28
- package/lib/utils/string.js +69 -69
- package/lib/utils/url/index.d.ts +7 -0
- package/lib/utils/url/index.js +8 -0
- package/lib/utils/url/index.mp.d.ts +3 -0
- package/lib/utils/url/index.mp.js +8 -0
- package/lib/utils/url/index.native.d.ts +12 -0
- package/lib/utils/url/index.native.js +7 -0
- package/lib/utils/url/index.web.d.ts +12 -0
- package/lib/utils/url/index.web.js +7 -0
- package/lib/utils/url/whatwg-url/index.d.ts +3 -0
- package/lib/utils/url/whatwg-url/index.js +16 -0
- package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -0
- package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -0
- package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -0
- package/lib/utils/url/whatwg-url/lib/URL.js +298 -0
- package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -0
- package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -0
- package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -0
- package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -0
- package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -0
- package/lib/utils/url/whatwg-url/lib/infra.js +25 -0
- package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -0
- package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -0
- package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -0
- package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -0
- package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -0
- package/lib/utils/url/whatwg-url/lib/utils.js +101 -0
- package/lib/utils/uuid.d.ts +17 -17
- package/lib/utils/uuid.js +218 -218
- package/lib/utils/validator.d.ts +26 -26
- package/lib/utils/validator.js +131 -131
- package/lib/utils/version.js +21 -21
- package/package.json +50 -49
- package/src/entities/ActionAuth.ts +41 -41
- package/src/entities/I18n.ts +45 -46
- package/src/entities/Modi.ts +69 -69
- package/src/entities/ModiEntity.ts +26 -26
- package/src/entities/Oper.ts +32 -32
- package/src/entities/OperEntity.ts +27 -27
- package/src/entities/Path.ts +43 -43
- package/src/entities/Relation.ts +43 -43
- package/src/entities/RelationAuth.ts +44 -44
- package/src/entities/User.ts +48 -48
- package/src/entities/UserEntityClaim.ts +29 -29
- package/src/entities/UserEntityGrant.ts +24 -24
- package/src/entities/UserRelation.ts +50 -50
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/// <reference types="wechat-miniprogram" />
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.getRandomValues = void 0;
|
|
5
|
-
async function getRandomValues(length) {
|
|
6
|
-
if (length > 65536) {
|
|
7
|
-
throw new Error('Can only request a maximum of 65536 bytes');
|
|
8
|
-
}
|
|
9
|
-
const { randomValues } = await wx.getRandomValues({
|
|
10
|
-
length,
|
|
11
|
-
});
|
|
12
|
-
return new Uint8Array(randomValues);
|
|
13
|
-
}
|
|
14
|
-
exports.getRandomValues = getRandomValues;
|
|
1
|
+
"use strict";
|
|
2
|
+
/// <reference types="wechat-miniprogram" />
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getRandomValues = void 0;
|
|
5
|
+
async function getRandomValues(length) {
|
|
6
|
+
if (length > 65536) {
|
|
7
|
+
throw new Error('Can only request a maximum of 65536 bytes');
|
|
8
|
+
}
|
|
9
|
+
const { randomValues } = await wx.getRandomValues({
|
|
10
|
+
length,
|
|
11
|
+
});
|
|
12
|
+
return new Uint8Array(randomValues);
|
|
13
|
+
}
|
|
14
|
+
exports.getRandomValues = getRandomValues;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getRandomValues(length: number): Promise<Uint8Array>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRandomValues = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
|
+
async function getRandomValues(length) {
|
|
7
|
+
if (length > 65536) {
|
|
8
|
+
throw new Error('Can only request a maximum of 65536 bytes');
|
|
9
|
+
}
|
|
10
|
+
const randomValues = crypto_1.default.randomBytes(length);
|
|
11
|
+
return new Uint8Array(randomValues);
|
|
12
|
+
;
|
|
13
|
+
}
|
|
14
|
+
exports.getRandomValues = getRandomValues;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRandomValues = void 0;
|
|
4
|
-
async function getRandomValues(length) {
|
|
5
|
-
if (length > 65536) {
|
|
6
|
-
throw new Error('Can only request a maximum of 65536 bytes');
|
|
7
|
-
}
|
|
8
|
-
const randomValues = window.crypto.getRandomValues(new Uint8Array(length));
|
|
9
|
-
return new Uint8Array(randomValues);
|
|
10
|
-
}
|
|
11
|
-
exports.getRandomValues = getRandomValues;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRandomValues = void 0;
|
|
4
|
+
async function getRandomValues(length) {
|
|
5
|
+
if (length > 65536) {
|
|
6
|
+
throw new Error('Can only request a maximum of 65536 bytes');
|
|
7
|
+
}
|
|
8
|
+
const randomValues = window.crypto.getRandomValues(new Uint8Array(length));
|
|
9
|
+
return new Uint8Array(randomValues);
|
|
10
|
+
}
|
|
11
|
+
exports.getRandomValues = getRandomValues;
|
package/lib/utils/string.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
export declare function firstLetterLowerCase(s: string): string;
|
|
2
|
-
export declare function firstLetterUpperCase(s: string): string;
|
|
3
|
-
/**
|
|
4
|
-
* 模板字符串 使用 定义const NotFilled = template`${0}未填写`; 调用NotFilled('姓名') 等于姓名未填写
|
|
5
|
-
* @param strings
|
|
6
|
-
* @param keys
|
|
7
|
-
* @returns {function(...[*]): string}
|
|
8
|
-
*/
|
|
9
|
-
export declare const template: (strings: TemplateStringsArray, ...keys: Array<any>) => (...values: Array<any>) => string;
|
|
10
|
-
/**
|
|
11
|
-
* 随机生成字符串
|
|
12
|
-
* @param length
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
export declare const random: (length?: number) => string;
|
|
16
|
-
/**
|
|
17
|
-
* 随机生成带前缀的字符串
|
|
18
|
-
* @param prefix 第一个参数为你想生成的固定的文字开头比如: 微信用户xxxxx
|
|
19
|
-
* @param length 第二个为你想生成出固定开头文字外的随机长度
|
|
20
|
-
* @returns
|
|
21
|
-
*/
|
|
22
|
-
export declare const randomPrefixedString: (prefix?: string, length?: number) => string;
|
|
23
|
-
/**
|
|
24
|
-
* 将字符串中的u16编码转换回汉字
|
|
25
|
-
* @param str
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
export declare function unescapeUnicode(str: string): string;
|
|
1
|
+
export declare function firstLetterLowerCase(s: string): string;
|
|
2
|
+
export declare function firstLetterUpperCase(s: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* 模板字符串 使用 定义const NotFilled = template`${0}未填写`; 调用NotFilled('姓名') 等于姓名未填写
|
|
5
|
+
* @param strings
|
|
6
|
+
* @param keys
|
|
7
|
+
* @returns {function(...[*]): string}
|
|
8
|
+
*/
|
|
9
|
+
export declare const template: (strings: TemplateStringsArray, ...keys: Array<any>) => (...values: Array<any>) => string;
|
|
10
|
+
/**
|
|
11
|
+
* 随机生成字符串
|
|
12
|
+
* @param length
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export declare const random: (length?: number) => string;
|
|
16
|
+
/**
|
|
17
|
+
* 随机生成带前缀的字符串
|
|
18
|
+
* @param prefix 第一个参数为你想生成的固定的文字开头比如: 微信用户xxxxx
|
|
19
|
+
* @param length 第二个为你想生成出固定开头文字外的随机长度
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare const randomPrefixedString: (prefix?: string, length?: number) => string;
|
|
23
|
+
/**
|
|
24
|
+
* 将字符串中的u16编码转换回汉字
|
|
25
|
+
* @param str
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
export declare function unescapeUnicode(str: string): string;
|
package/lib/utils/string.js
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unescapeUnicode = exports.randomPrefixedString = exports.random = exports.template = exports.firstLetterUpperCase = exports.firstLetterLowerCase = void 0;
|
|
4
|
-
function firstLetterLowerCase(s) {
|
|
5
|
-
return s.slice(0, 1).toLowerCase().concat(s.slice(1));
|
|
6
|
-
}
|
|
7
|
-
exports.firstLetterLowerCase = firstLetterLowerCase;
|
|
8
|
-
function firstLetterUpperCase(s) {
|
|
9
|
-
return s.slice(0, 1).toUpperCase().concat(s.slice(1));
|
|
10
|
-
}
|
|
11
|
-
exports.firstLetterUpperCase = firstLetterUpperCase;
|
|
12
|
-
/**
|
|
13
|
-
* 模板字符串 使用 定义const NotFilled = template`${0}未填写`; 调用NotFilled('姓名') 等于姓名未填写
|
|
14
|
-
* @param strings
|
|
15
|
-
* @param keys
|
|
16
|
-
* @returns {function(...[*]): string}
|
|
17
|
-
*/
|
|
18
|
-
const template = (strings, ...keys) => {
|
|
19
|
-
return (function (...values) {
|
|
20
|
-
const dict = values[values.length - 1] || {};
|
|
21
|
-
const result = [strings[0]];
|
|
22
|
-
keys.forEach((key, i) => {
|
|
23
|
-
const value = Number.isInteger(key) ? values[key] : dict[key];
|
|
24
|
-
result.push(value, strings[i + 1]);
|
|
25
|
-
});
|
|
26
|
-
return result.join('');
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
exports.template = template;
|
|
30
|
-
/**
|
|
31
|
-
* 随机生成字符串
|
|
32
|
-
* @param length
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
const random = (length = 16) => {
|
|
36
|
-
// 默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1
|
|
37
|
-
const DICT = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
|
|
38
|
-
const maxPos = DICT.length;
|
|
39
|
-
let pwd = '';
|
|
40
|
-
for (let i = 0; i < length; i++) {
|
|
41
|
-
pwd += DICT.charAt(Math.floor(Math.random() * maxPos));
|
|
42
|
-
}
|
|
43
|
-
return pwd;
|
|
44
|
-
};
|
|
45
|
-
exports.random = random;
|
|
46
|
-
/**
|
|
47
|
-
* 随机生成带前缀的字符串
|
|
48
|
-
* @param prefix 第一个参数为你想生成的固定的文字开头比如: 微信用户xxxxx
|
|
49
|
-
* @param length 第二个为你想生成出固定开头文字外的随机长度
|
|
50
|
-
* @returns
|
|
51
|
-
*/
|
|
52
|
-
const randomPrefixedString = (prefix, length = 8) => {
|
|
53
|
-
let name = prefix === undefined ? '' : prefix;
|
|
54
|
-
name += (0, exports.random)(length);
|
|
55
|
-
return name;
|
|
56
|
-
};
|
|
57
|
-
exports.randomPrefixedString = randomPrefixedString;
|
|
58
|
-
/**
|
|
59
|
-
* 将字符串中的u16编码转换回汉字
|
|
60
|
-
* @param str
|
|
61
|
-
* @returns
|
|
62
|
-
*/
|
|
63
|
-
function unescapeUnicode(str) {
|
|
64
|
-
return str.replace(/\\u[\dA-F]{4}/gi, (match) => {
|
|
65
|
-
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
exports.unescapeUnicode = unescapeUnicode;
|
|
69
|
-
;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unescapeUnicode = exports.randomPrefixedString = exports.random = exports.template = exports.firstLetterUpperCase = exports.firstLetterLowerCase = void 0;
|
|
4
|
+
function firstLetterLowerCase(s) {
|
|
5
|
+
return s.slice(0, 1).toLowerCase().concat(s.slice(1));
|
|
6
|
+
}
|
|
7
|
+
exports.firstLetterLowerCase = firstLetterLowerCase;
|
|
8
|
+
function firstLetterUpperCase(s) {
|
|
9
|
+
return s.slice(0, 1).toUpperCase().concat(s.slice(1));
|
|
10
|
+
}
|
|
11
|
+
exports.firstLetterUpperCase = firstLetterUpperCase;
|
|
12
|
+
/**
|
|
13
|
+
* 模板字符串 使用 定义const NotFilled = template`${0}未填写`; 调用NotFilled('姓名') 等于姓名未填写
|
|
14
|
+
* @param strings
|
|
15
|
+
* @param keys
|
|
16
|
+
* @returns {function(...[*]): string}
|
|
17
|
+
*/
|
|
18
|
+
const template = (strings, ...keys) => {
|
|
19
|
+
return (function (...values) {
|
|
20
|
+
const dict = values[values.length - 1] || {};
|
|
21
|
+
const result = [strings[0]];
|
|
22
|
+
keys.forEach((key, i) => {
|
|
23
|
+
const value = Number.isInteger(key) ? values[key] : dict[key];
|
|
24
|
+
result.push(value, strings[i + 1]);
|
|
25
|
+
});
|
|
26
|
+
return result.join('');
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
exports.template = template;
|
|
30
|
+
/**
|
|
31
|
+
* 随机生成字符串
|
|
32
|
+
* @param length
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
const random = (length = 16) => {
|
|
36
|
+
// 默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1
|
|
37
|
+
const DICT = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
|
|
38
|
+
const maxPos = DICT.length;
|
|
39
|
+
let pwd = '';
|
|
40
|
+
for (let i = 0; i < length; i++) {
|
|
41
|
+
pwd += DICT.charAt(Math.floor(Math.random() * maxPos));
|
|
42
|
+
}
|
|
43
|
+
return pwd;
|
|
44
|
+
};
|
|
45
|
+
exports.random = random;
|
|
46
|
+
/**
|
|
47
|
+
* 随机生成带前缀的字符串
|
|
48
|
+
* @param prefix 第一个参数为你想生成的固定的文字开头比如: 微信用户xxxxx
|
|
49
|
+
* @param length 第二个为你想生成出固定开头文字外的随机长度
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
const randomPrefixedString = (prefix, length = 8) => {
|
|
53
|
+
let name = prefix === undefined ? '' : prefix;
|
|
54
|
+
name += (0, exports.random)(length);
|
|
55
|
+
return name;
|
|
56
|
+
};
|
|
57
|
+
exports.randomPrefixedString = randomPrefixedString;
|
|
58
|
+
/**
|
|
59
|
+
* 将字符串中的u16编码转换回汉字
|
|
60
|
+
* @param str
|
|
61
|
+
* @returns
|
|
62
|
+
*/
|
|
63
|
+
function unescapeUnicode(str) {
|
|
64
|
+
return str.replace(/\\u[\dA-F]{4}/gi, (match) => {
|
|
65
|
+
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.unescapeUnicode = unescapeUnicode;
|
|
69
|
+
;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { URL, URLSearchParams } from 'node:url';
|
|
3
|
+
import type { UrlObject } from 'node:url';
|
|
4
|
+
declare const url: typeof URL;
|
|
5
|
+
declare const urlSearchParams: typeof URLSearchParams;
|
|
6
|
+
type urlObject = UrlObject;
|
|
7
|
+
export { url, urlSearchParams, urlObject };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.urlSearchParams = exports.url = void 0;
|
|
4
|
+
const node_url_1 = require("node:url");
|
|
5
|
+
const url = node_url_1.URL;
|
|
6
|
+
exports.url = url;
|
|
7
|
+
const urlSearchParams = node_url_1.URLSearchParams;
|
|
8
|
+
exports.urlSearchParams = urlSearchParams;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.urlSearchParams = exports.url = void 0;
|
|
4
|
+
const whatwg_url_1 = require("./whatwg-url");
|
|
5
|
+
const url = whatwg_url_1.URL;
|
|
6
|
+
exports.url = url;
|
|
7
|
+
const urlSearchParams = whatwg_url_1.URLSearchParams;
|
|
8
|
+
exports.urlSearchParams = urlSearchParams;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const url: {
|
|
2
|
+
new (url: string | URL, base?: string | URL | undefined): URL;
|
|
3
|
+
prototype: URL;
|
|
4
|
+
canParse(url: string | URL, base?: string | undefined): boolean;
|
|
5
|
+
createObjectURL(obj: Blob | MediaSource): string;
|
|
6
|
+
revokeObjectURL(url: string): void;
|
|
7
|
+
};
|
|
8
|
+
declare const urlSearchParams: {
|
|
9
|
+
new (init?: string | Record<string, string> | string[][] | URLSearchParams | undefined): URLSearchParams;
|
|
10
|
+
prototype: URLSearchParams;
|
|
11
|
+
};
|
|
12
|
+
export { url, urlSearchParams };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const url: {
|
|
2
|
+
new (url: string | URL, base?: string | URL | undefined): URL;
|
|
3
|
+
prototype: URL;
|
|
4
|
+
canParse(url: string | URL, base?: string | undefined): boolean;
|
|
5
|
+
createObjectURL(obj: Blob | MediaSource): string;
|
|
6
|
+
revokeObjectURL(url: string): void;
|
|
7
|
+
};
|
|
8
|
+
declare const urlSearchParams: {
|
|
9
|
+
new (init?: string | Record<string, string> | string[][] | URLSearchParams | undefined): URLSearchParams;
|
|
10
|
+
prototype: URLSearchParams;
|
|
11
|
+
};
|
|
12
|
+
export { url, urlSearchParams };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.URLSearchParams = exports.URL = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 为了能在小程序中使用URL、URLSearchParams
|
|
6
|
+
* 但whatwg-url-without-unicode这个库未更新,把其的代码放本地进行更新
|
|
7
|
+
*/
|
|
8
|
+
const whatwgUrl = require('./lib/URL');
|
|
9
|
+
const whatwgUrlSearchParams = require('./lib/URLSearchParams');
|
|
10
|
+
const sharedGlobalObject = {};
|
|
11
|
+
whatwgUrl.install(sharedGlobalObject);
|
|
12
|
+
whatwgUrlSearchParams.install(sharedGlobalObject);
|
|
13
|
+
const URL = sharedGlobalObject.URL;
|
|
14
|
+
exports.URL = URL;
|
|
15
|
+
const URLSearchParams = sharedGlobalObject.URLSearchParams;
|
|
16
|
+
exports.URLSearchParams = URLSearchParams;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
implementation: {
|
|
3
|
+
new (globalObject: any, constructorArgs: any): {
|
|
4
|
+
href: string;
|
|
5
|
+
readonly origin: any;
|
|
6
|
+
protocol: string;
|
|
7
|
+
username: any;
|
|
8
|
+
password: any;
|
|
9
|
+
host: any;
|
|
10
|
+
hostname: any;
|
|
11
|
+
port: string;
|
|
12
|
+
pathname: any;
|
|
13
|
+
search: string;
|
|
14
|
+
readonly searchParams: any;
|
|
15
|
+
hash: string;
|
|
16
|
+
toJSON(): string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const url_state_machine_1 = tslib_1.__importDefault(require("./url-state-machine"));
|
|
6
|
+
const urlencoded_1 = tslib_1.__importDefault(require("./urlencoded"));
|
|
7
|
+
const URLSearchParams_1 = tslib_1.__importDefault(require("./URLSearchParams"));
|
|
8
|
+
const implementation = class URLImpl {
|
|
9
|
+
constructor(globalObject, constructorArgs) {
|
|
10
|
+
const url = constructorArgs[0];
|
|
11
|
+
const base = constructorArgs[1];
|
|
12
|
+
let parsedBase = null;
|
|
13
|
+
if (base !== undefined) {
|
|
14
|
+
parsedBase = url_state_machine_1.default.basicURLParse(base);
|
|
15
|
+
if (parsedBase === null) {
|
|
16
|
+
throw new TypeError(`Invalid base URL: ${base}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const parsedURL = url_state_machine_1.default.basicURLParse(url, { baseURL: parsedBase });
|
|
20
|
+
if (parsedURL === null) {
|
|
21
|
+
throw new TypeError(`Invalid URL: ${url}`);
|
|
22
|
+
}
|
|
23
|
+
const query = parsedURL.query !== null ? parsedURL.query : "";
|
|
24
|
+
this._url = parsedURL;
|
|
25
|
+
// We cannot invoke the "new URLSearchParams object" algorithm without going through the constructor, which strips
|
|
26
|
+
// question mark by default. Therefore the doNotStripQMark hack is used.
|
|
27
|
+
this._query = URLSearchParams_1.default.createImpl(globalObject, [query], { doNotStripQMark: true });
|
|
28
|
+
this._query._url = this;
|
|
29
|
+
}
|
|
30
|
+
get href() {
|
|
31
|
+
return url_state_machine_1.default.serializeURL(this._url);
|
|
32
|
+
}
|
|
33
|
+
set href(v) {
|
|
34
|
+
const parsedURL = url_state_machine_1.default.basicURLParse(v);
|
|
35
|
+
if (parsedURL === null) {
|
|
36
|
+
throw new TypeError(`Invalid URL: ${v}`);
|
|
37
|
+
}
|
|
38
|
+
this._url = parsedURL;
|
|
39
|
+
this._query._list.splice(0);
|
|
40
|
+
const { query } = parsedURL;
|
|
41
|
+
if (query !== null) {
|
|
42
|
+
this._query._list = urlencoded_1.default.parseUrlencoded(query);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get origin() {
|
|
46
|
+
return url_state_machine_1.default.serializeURLOrigin(this._url);
|
|
47
|
+
}
|
|
48
|
+
get protocol() {
|
|
49
|
+
return this._url.scheme + ":";
|
|
50
|
+
}
|
|
51
|
+
set protocol(v) {
|
|
52
|
+
url_state_machine_1.default.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" });
|
|
53
|
+
}
|
|
54
|
+
get username() {
|
|
55
|
+
return this._url.username;
|
|
56
|
+
}
|
|
57
|
+
set username(v) {
|
|
58
|
+
if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
url_state_machine_1.default.setTheUsername(this._url, v);
|
|
62
|
+
}
|
|
63
|
+
get password() {
|
|
64
|
+
return this._url.password;
|
|
65
|
+
}
|
|
66
|
+
set password(v) {
|
|
67
|
+
if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
url_state_machine_1.default.setThePassword(this._url, v);
|
|
71
|
+
}
|
|
72
|
+
get host() {
|
|
73
|
+
const url = this._url;
|
|
74
|
+
if (url.host === null) {
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
if (url.port === null) {
|
|
78
|
+
return url_state_machine_1.default.serializeHost(url.host);
|
|
79
|
+
}
|
|
80
|
+
return url_state_machine_1.default.serializeHost(url.host) + ":" + url_state_machine_1.default.serializeInteger(url.port);
|
|
81
|
+
}
|
|
82
|
+
set host(v) {
|
|
83
|
+
if (this._url.cannotBeABaseURL) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "host" });
|
|
87
|
+
}
|
|
88
|
+
get hostname() {
|
|
89
|
+
if (this._url.host === null) {
|
|
90
|
+
return "";
|
|
91
|
+
}
|
|
92
|
+
return url_state_machine_1.default.serializeHost(this._url.host);
|
|
93
|
+
}
|
|
94
|
+
set hostname(v) {
|
|
95
|
+
if (this._url.cannotBeABaseURL) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "hostname" });
|
|
99
|
+
}
|
|
100
|
+
get port() {
|
|
101
|
+
if (this._url.port === null) {
|
|
102
|
+
return "";
|
|
103
|
+
}
|
|
104
|
+
return url_state_machine_1.default.serializeInteger(this._url.port);
|
|
105
|
+
}
|
|
106
|
+
set port(v) {
|
|
107
|
+
if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (v === "") {
|
|
111
|
+
this._url.port = null;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "port" });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
get pathname() {
|
|
118
|
+
if (this._url.cannotBeABaseURL) {
|
|
119
|
+
return this._url.path[0];
|
|
120
|
+
}
|
|
121
|
+
if (this._url.path.length === 0) {
|
|
122
|
+
return "";
|
|
123
|
+
}
|
|
124
|
+
return "/" + this._url.path.join("/");
|
|
125
|
+
}
|
|
126
|
+
set pathname(v) {
|
|
127
|
+
if (this._url.cannotBeABaseURL) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this._url.path = [];
|
|
131
|
+
url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "path start" });
|
|
132
|
+
}
|
|
133
|
+
get search() {
|
|
134
|
+
if (this._url.query === null || this._url.query === "") {
|
|
135
|
+
return "";
|
|
136
|
+
}
|
|
137
|
+
return "?" + this._url.query;
|
|
138
|
+
}
|
|
139
|
+
set search(v) {
|
|
140
|
+
const url = this._url;
|
|
141
|
+
if (v === "") {
|
|
142
|
+
url.query = null;
|
|
143
|
+
this._query._list = [];
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const input = v[0] === "?" ? v.substring(1) : v;
|
|
147
|
+
url.query = "";
|
|
148
|
+
url_state_machine_1.default.basicURLParse(input, { url, stateOverride: "query" });
|
|
149
|
+
this._query._list = urlencoded_1.default.parseUrlencoded(input);
|
|
150
|
+
}
|
|
151
|
+
get searchParams() {
|
|
152
|
+
return this._query;
|
|
153
|
+
}
|
|
154
|
+
get hash() {
|
|
155
|
+
if (this._url.fragment === null || this._url.fragment === "") {
|
|
156
|
+
return "";
|
|
157
|
+
}
|
|
158
|
+
return "#" + this._url.fragment;
|
|
159
|
+
}
|
|
160
|
+
set hash(v) {
|
|
161
|
+
if (v === "") {
|
|
162
|
+
this._url.fragment = null;
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const input = v[0] === "#" ? v.substring(1) : v;
|
|
166
|
+
this._url.fragment = "";
|
|
167
|
+
url_state_machine_1.default.basicURLParse(input, { url: this._url, stateOverride: "fragment" });
|
|
168
|
+
}
|
|
169
|
+
toJSON() {
|
|
170
|
+
return this.href;
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
exports.default = {
|
|
174
|
+
implementation
|
|
175
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|