@opensumi/ide-core-browser 2.17.3-next-1652155566.0 → 2.17.4
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/application/application.service.d.ts +4 -4
- package/lib/application/application.service.d.ts.map +1 -1
- package/lib/application/application.service.js.map +1 -1
- package/lib/bootstrap/app.view.d.ts +3 -6
- package/lib/bootstrap/app.view.d.ts.map +1 -1
- package/lib/bootstrap/app.view.js +12 -8
- package/lib/bootstrap/app.view.js.map +1 -1
- package/lib/bootstrap/inner-providers.d.ts.map +1 -1
- package/lib/bootstrap/inner-providers.js +2 -2
- package/lib/bootstrap/inner-providers.js.map +1 -1
- package/lib/common/common.command.d.ts +0 -2
- package/lib/common/common.command.d.ts.map +1 -1
- package/lib/common/common.command.js +0 -10
- package/lib/common/common.command.js.map +1 -1
- package/lib/common/common.module.js +1 -1
- package/lib/components/actions/index.js +2 -2
- package/lib/components/actions/index.js.map +1 -1
- package/lib/components/layout/box-panel.d.ts.map +1 -1
- package/lib/components/layout/box-panel.js +1 -8
- package/lib/components/layout/box-panel.js.map +1 -1
- package/lib/components/layout/default-layout.d.ts +1 -0
- package/lib/components/layout/default-layout.d.ts.map +1 -1
- package/lib/components/layout/layout.d.ts +1 -0
- package/lib/components/layout/layout.d.ts.map +1 -1
- package/lib/components/layout/split-panel.js.map +1 -1
- package/lib/components/portal/index.d.ts +0 -1
- package/lib/components/portal/index.d.ts.map +1 -1
- package/lib/components/portal/index.js.map +1 -1
- package/lib/components/recycle-tree/recycle-tree.view.d.ts +1 -1
- package/lib/components/recycle-tree/recycle-tree.view.js +2 -2
- package/lib/components/resize/resize.d.ts +1 -0
- package/lib/components/resize/resize.d.ts.map +1 -1
- package/lib/components/scroll/index.d.ts +2 -2
- package/lib/components/scroll/index.d.ts.map +1 -1
- package/lib/components/scroll/index.js.map +1 -1
- package/lib/core-preferences.d.ts.map +1 -1
- package/lib/core-preferences.js +3 -2
- package/lib/core-preferences.js.map +1 -1
- package/lib/dom/index.js +4 -4
- package/lib/dom/index.js.map +1 -1
- package/lib/encoding-registry.d.ts.map +1 -1
- package/lib/encoding-registry.js +4 -4
- package/lib/encoding-registry.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/keyboard/keys.js +2 -2
- package/lib/keyboard/keys.js.map +1 -1
- package/lib/layout/index.d.ts.map +1 -1
- package/lib/layout/index.js +1 -3
- package/lib/layout/index.js.map +1 -1
- package/lib/menu/next/ctxmenu-service.d.ts +2 -1
- package/lib/menu/next/ctxmenu-service.d.ts.map +1 -1
- package/lib/menu/next/ctxmenu-service.js +6 -5
- package/lib/menu/next/ctxmenu-service.js.map +1 -1
- package/lib/menu/next/menu.interface.d.ts +3 -1
- package/lib/menu/next/menu.interface.d.ts.map +1 -1
- package/lib/menu/next/menu.interface.js +1 -1
- package/lib/menu/next/menu.interface.js.map +1 -1
- package/lib/menu/next/menubar-service.d.ts +2 -1
- package/lib/menu/next/menubar-service.d.ts.map +1 -1
- package/lib/menu/next/menubar-service.js +9 -8
- package/lib/menu/next/menubar-service.js.map +1 -1
- package/lib/menu/next/renderer/ctxmenu/electron.d.ts +1 -2
- package/lib/menu/next/renderer/ctxmenu/electron.d.ts.map +1 -1
- package/lib/menu/next/renderer/ctxmenu/electron.js +6 -6
- package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
- package/lib/menu/next/toolbar-action.service.d.ts +1 -1
- package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
- package/lib/menu/next/toolbar-action.service.js +3 -3
- package/lib/menu/next/toolbar-action.service.js.map +1 -1
- package/lib/preferences/index.d.ts +0 -1
- package/lib/preferences/index.d.ts.map +1 -1
- package/lib/preferences/index.js +0 -1
- package/lib/preferences/index.js.map +1 -1
- package/lib/preferences/preference-provider.d.ts +7 -3
- package/lib/preferences/preference-provider.d.ts.map +1 -1
- package/lib/preferences/preference-provider.js +5 -6
- package/lib/preferences/preference-provider.js.map +1 -1
- package/lib/preferences/preference-proxy.d.ts +1 -1
- package/lib/preferences/preference-proxy.d.ts.map +1 -1
- package/lib/preferences/preference-service.d.ts +68 -7
- package/lib/preferences/preference-service.d.ts.map +1 -1
- package/lib/preferences/preference-service.js +6 -6
- package/lib/preferences/preference-service.js.map +1 -1
- package/lib/progress/progress.service.d.ts.map +1 -1
- package/lib/progress/progress.service.js +7 -7
- package/lib/progress/progress.service.js.map +1 -1
- package/lib/quick-open/recent-files.d.ts +1 -1
- package/lib/quick-open/recent-files.d.ts.map +1 -1
- package/lib/quick-open/recent-files.js +2 -2
- package/lib/quick-open/recent-files.js.map +1 -1
- package/lib/react-providers/slot.d.ts +3 -4
- package/lib/react-providers/slot.d.ts.map +1 -1
- package/lib/react-providers/slot.js +2 -2
- package/lib/react-providers/slot.js.map +1 -1
- package/lib/services/cryptr-service.d.ts +11 -0
- package/lib/services/{crypto-service.d.ts.map → cryptr-service.d.ts.map} +1 -1
- package/lib/services/cryptr-service.js +24 -0
- package/lib/services/{crypto-service.js.map → cryptr-service.js.map} +1 -1
- package/lib/services/index.d.ts +1 -1
- package/lib/services/index.js +1 -1
- package/lib/services/label-service.d.ts.map +1 -1
- package/lib/services/label-service.js +1 -2
- package/lib/services/label-service.js.map +1 -1
- package/lib/services/status-bar-service.d.ts +1 -2
- package/lib/services/status-bar-service.d.ts.map +1 -1
- package/lib/services/status-bar-service.js.map +1 -1
- package/lib/style/normalize.less +0 -6
- package/lib/style/variable.less +4 -0
- package/lib/toolbar/components/button.d.ts.map +1 -1
- package/lib/toolbar/components/button.js +4 -4
- package/lib/toolbar/components/button.js.map +1 -1
- package/lib/toolbar/components/select.d.ts +1 -0
- package/lib/toolbar/components/select.d.ts.map +1 -1
- package/lib/toolbar/toolbar.d.ts.map +1 -1
- package/lib/toolbar/toolbar.js +18 -17
- package/lib/toolbar/toolbar.js.map +1 -1
- package/lib/toolbar/toolbar.popover.registry.d.ts +1 -1
- package/lib/toolbar/toolbar.popover.registry.d.ts.map +1 -1
- package/lib/toolbar/toolbar.popover.registry.js +2 -1
- package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
- package/lib/toolbar/toolbar.registry.d.ts +5 -3
- package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
- package/lib/toolbar/toolbar.registry.js +5 -0
- package/lib/toolbar/toolbar.registry.js.map +1 -1
- package/lib/utils/create-overlay.d.ts.map +1 -1
- package/lib/utils/create-overlay.js +1 -2
- package/lib/utils/create-overlay.js.map +1 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +0 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/react-hooks.d.ts.map +1 -1
- package/lib/utils/react-hooks.js +2 -3
- package/lib/utils/react-hooks.js.map +1 -1
- package/lib/window/window.service.d.ts +1 -0
- package/lib/window/window.service.d.ts.map +1 -1
- package/lib/window/window.service.js +5 -2
- package/lib/window/window.service.js.map +1 -1
- package/package.json +8 -8
- package/lib/preferences/types.d.ts +0 -72
- package/lib/preferences/types.d.ts.map +0 -1
- package/lib/preferences/types.js +0 -6
- package/lib/preferences/types.js.map +0 -1
- package/lib/services/crypto-service.d.ts +0 -11
- package/lib/services/crypto-service.js +0 -24
- package/lib/terminal/index.d.ts +0 -7
- package/lib/terminal/index.d.ts.map +0 -1
- package/lib/terminal/index.js +0 -8
- package/lib/terminal/index.js.map +0 -1
- package/lib/utils/json.d.ts +0 -76
- package/lib/utils/json.d.ts.map +0 -1
- package/lib/utils/json.js +0 -188
- package/lib/utils/json.js.map +0 -1
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { URI, IDisposable, Event } from '@opensumi/ide-core-common';
|
|
2
|
-
import { PreferenceProvider } from './preference-provider';
|
|
3
|
-
import { PreferenceScope } from './preference-scope';
|
|
4
|
-
export interface PreferenceChange {
|
|
5
|
-
readonly preferenceName: string;
|
|
6
|
-
readonly newValue?: any;
|
|
7
|
-
readonly oldValue?: any;
|
|
8
|
-
readonly scope: PreferenceScope;
|
|
9
|
-
affects(resourceUri?: string): boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface PreferenceResolveResult<T> {
|
|
12
|
-
configUri?: URI;
|
|
13
|
-
value?: T;
|
|
14
|
-
scope?: PreferenceScope;
|
|
15
|
-
languageSpecific?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export interface PreferenceChanges {
|
|
18
|
-
[preferenceName: string]: PreferenceChange;
|
|
19
|
-
}
|
|
20
|
-
export declare const PreferenceService: unique symbol;
|
|
21
|
-
export interface PreferenceService extends IDisposable {
|
|
22
|
-
readonly ready: Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* 获取一个配置的值
|
|
25
|
-
* @param preferenceName 配置名称
|
|
26
|
-
* @param defaultValue 默认值
|
|
27
|
-
* @param resourceUri 资源路径
|
|
28
|
-
* @param overrideIdentifier 一般指语言偏好设置
|
|
29
|
-
*/
|
|
30
|
-
get<T>(preferenceName: string, defaultValue: T, resourceUri?: string, overrideIdentifier?: string): T;
|
|
31
|
-
get<T>(preferenceName: string, defaultValue?: T, resourceUri?: string, overrideIdentifier?: string): T | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* 是否一个配置在指定 scope 存在针对语言的配置
|
|
34
|
-
* @param preferenceName 配置名称
|
|
35
|
-
* @param overrideIdentifier 语言
|
|
36
|
-
* @param resourceUri 资源路径
|
|
37
|
-
*/
|
|
38
|
-
hasLanguageSpecific(preferenceName: any, overrideIdentifier: string, resourceUri: string): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* 设置一个配置的值
|
|
41
|
-
* @param preferenceName 偏好名称
|
|
42
|
-
* @param value 设置值
|
|
43
|
-
* @param scope 目标scope级别 如 User, Workspace
|
|
44
|
-
* @param resourceUri 资源路径
|
|
45
|
-
* @param overrideIdentifier 一般指语言偏好设置
|
|
46
|
-
*/
|
|
47
|
-
set(preferenceName: string, value: any, scope?: PreferenceScope, resourceUri?: string, overrideIdentifier?: string): Promise<void>;
|
|
48
|
-
onPreferenceChanged: Event<PreferenceChange>;
|
|
49
|
-
onPreferencesChanged: Event<PreferenceChanges>;
|
|
50
|
-
onLanguagePreferencesChanged: Event<{
|
|
51
|
-
overrideIdentifier: string;
|
|
52
|
-
changes: PreferenceChanges;
|
|
53
|
-
}>;
|
|
54
|
-
inspect<T>(preferenceName: string, resourceUri?: string, language?: string): {
|
|
55
|
-
preferenceName: string;
|
|
56
|
-
defaultValue: T | undefined;
|
|
57
|
-
globalValue: T | undefined;
|
|
58
|
-
workspaceValue: T | undefined;
|
|
59
|
-
workspaceFolderValue: T | undefined;
|
|
60
|
-
} | undefined;
|
|
61
|
-
getProvider(scope: PreferenceScope): PreferenceProvider | undefined;
|
|
62
|
-
resolve<T>(preferenceName: string, defaultValue?: T, resourceUri?: string, language?: string, untilScope?: PreferenceScope): PreferenceResolveResult<T>;
|
|
63
|
-
/**
|
|
64
|
-
* 都走 onPreferenceChanged 再用if判断性能太差了
|
|
65
|
-
* TODO: 将只监听一个偏好的使用这个方法
|
|
66
|
-
* @param preferenceName
|
|
67
|
-
*/
|
|
68
|
-
onSpecificPreferenceChange(preferenceName: any, listener: (change: PreferenceChange) => void): IDisposable;
|
|
69
|
-
}
|
|
70
|
-
export declare const PreferenceProviderProvider: unique symbol;
|
|
71
|
-
export declare type PreferenceProviderProvider = (scope: PreferenceScope, uri?: URI) => PreferenceProvider;
|
|
72
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":"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"}
|
package/lib/preferences/types.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PreferenceProviderProvider = exports.PreferenceService = void 0;
|
|
4
|
-
exports.PreferenceService = Symbol('PreferenceService');
|
|
5
|
-
exports.PreferenceProviderProvider = Symbol('PreferenceProviderProvider');
|
|
6
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":";;;AAwBa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AA4EhD,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const ICryptoService: unique symbol;
|
|
2
|
-
export interface ICryptoService {
|
|
3
|
-
decrypt(hash: string): Promise<string>;
|
|
4
|
-
encrypt(password: string): Promise<string>;
|
|
5
|
-
}
|
|
6
|
-
export declare class CryptoService implements ICryptoService {
|
|
7
|
-
private readonly cryptoService;
|
|
8
|
-
encrypt(password: string): Promise<string>;
|
|
9
|
-
decrypt(hash: string): Promise<string>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=crypto-service.d.ts.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CryptoService = exports.ICryptoService = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const di_1 = require("@opensumi/di");
|
|
6
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
7
|
-
exports.ICryptoService = Symbol('ICryptoService');
|
|
8
|
-
let CryptoService = class CryptoService {
|
|
9
|
-
async encrypt(password) {
|
|
10
|
-
return await this.cryptoService.encrypt(password);
|
|
11
|
-
}
|
|
12
|
-
async decrypt(hash) {
|
|
13
|
-
return await this.cryptoService.decrypt(hash);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
tslib_1.__decorate([
|
|
17
|
-
(0, di_1.Autowired)(ide_core_common_1.CryptoServicePath),
|
|
18
|
-
tslib_1.__metadata("design:type", Object)
|
|
19
|
-
], CryptoService.prototype, "cryptoService", void 0);
|
|
20
|
-
CryptoService = tslib_1.__decorate([
|
|
21
|
-
(0, di_1.Injectable)()
|
|
22
|
-
], CryptoService);
|
|
23
|
-
exports.CryptoService = CryptoService;
|
|
24
|
-
//# sourceMappingURL=crypto-service.js.map
|
package/lib/terminal/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BasicEvent } from '@opensumi/ide-core-common';
|
|
2
|
-
export interface TerminalClientAttachEventPayload {
|
|
3
|
-
clientId: string;
|
|
4
|
-
}
|
|
5
|
-
export declare class TerminalClientAttachEvent extends BasicEvent<TerminalClientAttachEventPayload> {
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,gCAAgC,CAAC;CAAG"}
|
package/lib/terminal/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TerminalClientAttachEvent = void 0;
|
|
4
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
5
|
-
class TerminalClientAttachEvent extends ide_core_common_1.BasicEvent {
|
|
6
|
-
}
|
|
7
|
-
exports.TerminalClientAttachEvent = TerminalClientAttachEvent;
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AAMvD,MAAa,yBAA0B,SAAQ,4BAA4C;CAAG;AAA9F,8DAA8F"}
|
package/lib/utils/json.d.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSON对象的值为引用类型的类型
|
|
3
|
-
*/
|
|
4
|
-
export declare type JSONPrimitive = boolean | number | string | null;
|
|
5
|
-
/**
|
|
6
|
-
* JSON对象值类型
|
|
7
|
-
*/
|
|
8
|
-
export declare type JSONValue = JSONPrimitive | JSONObject | JSONArray;
|
|
9
|
-
/**
|
|
10
|
-
* JSON Object值类型
|
|
11
|
-
*/
|
|
12
|
-
export interface JSONObject {
|
|
13
|
-
[key: string]: JSONValue;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* JSON Array值类型
|
|
17
|
-
*/
|
|
18
|
-
export declare type JSONArray = Array<JSONValue>;
|
|
19
|
-
/**
|
|
20
|
-
* 只读的JSON Object类型
|
|
21
|
-
*/
|
|
22
|
-
export interface ReadonlyJSONObject {
|
|
23
|
-
readonly [key: string]: ReadonlyJSONValue;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 只读的JSON Array类型
|
|
27
|
-
*/
|
|
28
|
-
export declare type ReadonlyJSONArray = ReadonlyArray<ReadonlyJSONValue>;
|
|
29
|
-
/**
|
|
30
|
-
* 只读的JSON值类型
|
|
31
|
-
*/
|
|
32
|
-
export declare type ReadonlyJSONValue = JSONPrimitive | ReadonlyJSONObject | ReadonlyJSONArray;
|
|
33
|
-
/**
|
|
34
|
-
* JSON 工具方法空间
|
|
35
|
-
*/
|
|
36
|
-
export declare namespace JSONUtils {
|
|
37
|
-
/**
|
|
38
|
-
* 冻结的空JSON Object
|
|
39
|
-
*/
|
|
40
|
-
const emptyObject: ReadonlyJSONObject;
|
|
41
|
-
/**
|
|
42
|
-
* 冻结的空JSON Array
|
|
43
|
-
*/
|
|
44
|
-
const emptyArray: ReadonlyJSONArray;
|
|
45
|
-
/**
|
|
46
|
-
* 判断JSON是否为普通类型值,如JSONPrimitive
|
|
47
|
-
* @param value
|
|
48
|
-
*/
|
|
49
|
-
function isPrimitive(value: ReadonlyJSONValue): value is JSONPrimitive;
|
|
50
|
-
/**
|
|
51
|
-
* 判断JSON值是否为Array
|
|
52
|
-
* @param value
|
|
53
|
-
*/
|
|
54
|
-
function isArray(value: JSONValue): value is JSONArray;
|
|
55
|
-
function isArray(value: ReadonlyJSONValue): value is ReadonlyJSONArray;
|
|
56
|
-
/**
|
|
57
|
-
* 判断JSON值是否为Object.
|
|
58
|
-
* @param value
|
|
59
|
-
*/
|
|
60
|
-
function isObject(value: JSONValue): value is JSONObject;
|
|
61
|
-
function isObject(value: ReadonlyJSONValue): value is ReadonlyJSONObject;
|
|
62
|
-
/**
|
|
63
|
-
* 判断两个值是否深层相等
|
|
64
|
-
* @param first
|
|
65
|
-
* @param second
|
|
66
|
-
*/
|
|
67
|
-
function deepEqual(first: ReadonlyJSONValue, second: ReadonlyJSONValue): boolean;
|
|
68
|
-
/**
|
|
69
|
-
* 深拷贝JSON值
|
|
70
|
-
* @param value
|
|
71
|
-
*/
|
|
72
|
-
function deepCopy<T extends ReadonlyJSONValue>(value: T): T;
|
|
73
|
-
}
|
|
74
|
-
export declare function parseWithComments<T>(content: any): T;
|
|
75
|
-
export declare function stripTrailingComma(content: string): string;
|
|
76
|
-
//# sourceMappingURL=json.d.ts.map
|
package/lib/utils/json.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE7D;;GAEG;AACH,oBAAY,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C;AAED;;GAEG;AACH,oBAAY,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;GAEG;AACH,oBAAY,iBAAiB,GAAG,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,yBAAiB,SAAS,CAAC;IACzB;;OAEG;IACI,MAAM,WAAW,oBAA0C,CAAC;IAEnE;;OAEG;IACI,MAAM,UAAU,mBAAyC,CAAC;IAEjE;;;OAGG;IACH,SAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,IAAI,aAAa,CAE5E;IAED;;;OAGG;IACH,SAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC;IAC9D,SAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,IAAI,iBAAiB,CAAC;IAK9E;;;OAGG;IACH,SAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,UAAU,CAAC;IAChE,SAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,IAAI,kBAAkB,CAAC;IAKhF;;;;OAIG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAqBtF;IAED;;;OAGG;IACH,SAAgB,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUjE;CA+EF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,KAAA,GAAG,CAAC,CAI/C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,UAkCjD"}
|
package/lib/utils/json.js
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stripTrailingComma = exports.parseWithComments = exports.JSONUtils = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const strip_json_comments_1 = tslib_1.__importDefault(require("strip-json-comments"));
|
|
6
|
-
/**
|
|
7
|
-
* JSON 工具方法空间
|
|
8
|
-
*/
|
|
9
|
-
var JSONUtils;
|
|
10
|
-
(function (JSONUtils) {
|
|
11
|
-
/**
|
|
12
|
-
* 冻结的空JSON Object
|
|
13
|
-
*/
|
|
14
|
-
JSONUtils.emptyObject = Object.freeze({});
|
|
15
|
-
/**
|
|
16
|
-
* 冻结的空JSON Array
|
|
17
|
-
*/
|
|
18
|
-
JSONUtils.emptyArray = Object.freeze([]);
|
|
19
|
-
/**
|
|
20
|
-
* 判断JSON是否为普通类型值,如JSONPrimitive
|
|
21
|
-
* @param value
|
|
22
|
-
*/
|
|
23
|
-
function isPrimitive(value) {
|
|
24
|
-
return value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string';
|
|
25
|
-
}
|
|
26
|
-
JSONUtils.isPrimitive = isPrimitive;
|
|
27
|
-
function isArray(value) {
|
|
28
|
-
return Array.isArray(value);
|
|
29
|
-
}
|
|
30
|
-
JSONUtils.isArray = isArray;
|
|
31
|
-
function isObject(value) {
|
|
32
|
-
return !isPrimitive(value) && !isArray(value);
|
|
33
|
-
}
|
|
34
|
-
JSONUtils.isObject = isObject;
|
|
35
|
-
/**
|
|
36
|
-
* 判断两个值是否深层相等
|
|
37
|
-
* @param first
|
|
38
|
-
* @param second
|
|
39
|
-
*/
|
|
40
|
-
function deepEqual(first, second) {
|
|
41
|
-
if (first === second) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
if (isPrimitive(first) || isPrimitive(second)) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
const a1 = isArray(first);
|
|
48
|
-
const a2 = isArray(second);
|
|
49
|
-
if (a1 !== a2) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
if (a1 && a2) {
|
|
53
|
-
return deepArrayEqual(first, second);
|
|
54
|
-
}
|
|
55
|
-
return deepObjectEqual(first, second);
|
|
56
|
-
}
|
|
57
|
-
JSONUtils.deepEqual = deepEqual;
|
|
58
|
-
/**
|
|
59
|
-
* 深拷贝JSON值
|
|
60
|
-
* @param value
|
|
61
|
-
*/
|
|
62
|
-
function deepCopy(value) {
|
|
63
|
-
if (isPrimitive(value)) {
|
|
64
|
-
return value;
|
|
65
|
-
}
|
|
66
|
-
if (isArray(value)) {
|
|
67
|
-
return deepArrayCopy(value);
|
|
68
|
-
}
|
|
69
|
-
return deepObjectCopy(value);
|
|
70
|
-
}
|
|
71
|
-
JSONUtils.deepCopy = deepCopy;
|
|
72
|
-
/**
|
|
73
|
-
* 对比两个数组类型的JSON是否深匹配
|
|
74
|
-
*/
|
|
75
|
-
function deepArrayEqual(first, second) {
|
|
76
|
-
if (first === second) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
if (first.length !== second.length) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
// Compare the values for equality.
|
|
83
|
-
for (let i = 0, n = first.length; i < n; ++i) {
|
|
84
|
-
if (!deepEqual(first[i], second[i])) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// At this point, the arrays are equal.
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* 对比两个对象类型的JSON是否深匹配
|
|
93
|
-
*/
|
|
94
|
-
function deepObjectEqual(first, second) {
|
|
95
|
-
if (first === second) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
for (const key in first) {
|
|
99
|
-
if (!(key in second)) {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// Check for the second object's keys in the first object.
|
|
104
|
-
for (const key in second) {
|
|
105
|
-
if (!(key in first)) {
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// Compare the values for equality.
|
|
110
|
-
for (const key in first) {
|
|
111
|
-
if (!deepEqual(first[key], second[key])) {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// At this point, the objects are equal.
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 深拷贝Array类型的值
|
|
120
|
-
*/
|
|
121
|
-
function deepArrayCopy(value) {
|
|
122
|
-
const result = new Array(value.length);
|
|
123
|
-
for (let i = 0, n = value.length; i < n; ++i) {
|
|
124
|
-
result[i] = deepCopy(value[i]);
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* 深拷贝Object类型的值
|
|
130
|
-
*/
|
|
131
|
-
function deepObjectCopy(value) {
|
|
132
|
-
const result = {};
|
|
133
|
-
// eslint-disable-next-line guard-for-in
|
|
134
|
-
for (const key in value) {
|
|
135
|
-
result[key] = deepCopy(value[key]);
|
|
136
|
-
}
|
|
137
|
-
return result;
|
|
138
|
-
}
|
|
139
|
-
})(JSONUtils = exports.JSONUtils || (exports.JSONUtils = {}));
|
|
140
|
-
function parseWithComments(content) {
|
|
141
|
-
content = stripTrailingComma((0, strip_json_comments_1.default)(content));
|
|
142
|
-
const res = JSON.parse(content);
|
|
143
|
-
return res;
|
|
144
|
-
}
|
|
145
|
-
exports.parseWithComments = parseWithComments;
|
|
146
|
-
function stripTrailingComma(content) {
|
|
147
|
-
const subStrs = [];
|
|
148
|
-
let lastIndex = 0;
|
|
149
|
-
let inString = false;
|
|
150
|
-
let i = 0;
|
|
151
|
-
while (i < content.length) {
|
|
152
|
-
if (inString) {
|
|
153
|
-
if (content[i] === '"' && content[i - 1] !== '\\') {
|
|
154
|
-
inString = false;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
if (content[i] === ',') {
|
|
159
|
-
// 跳过空白
|
|
160
|
-
const candidate = i;
|
|
161
|
-
while (content[i + 1] && isWhiteSpace(content[i + 1])) {
|
|
162
|
-
i++;
|
|
163
|
-
}
|
|
164
|
-
if (content[i + 1] === ']' || content[i + 1] === '}') {
|
|
165
|
-
subStrs.push(content.substring(lastIndex, candidate));
|
|
166
|
-
lastIndex = candidate + 1;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
else if (content[i] === '"') {
|
|
170
|
-
// 肯定是开始字符串
|
|
171
|
-
inString = true;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
i++;
|
|
175
|
-
}
|
|
176
|
-
if (lastIndex > 0) {
|
|
177
|
-
subStrs.push(content.substr(lastIndex));
|
|
178
|
-
return subStrs.join('');
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
return content;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
exports.stripTrailingComma = stripTrailingComma;
|
|
185
|
-
function isWhiteSpace(char) {
|
|
186
|
-
return char === ' ' || char === '\t' || char === '\n' || char === '\r';
|
|
187
|
-
}
|
|
188
|
-
//# sourceMappingURL=json.js.map
|
package/lib/utils/json.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":";;;;AAAA,sFAAoD;AAyCpD;;GAEG;AACH,IAAiB,SAAS,CAgKzB;AAhKD,WAAiB,SAAS;IACxB;;OAEG;IACU,qBAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAuB,CAAC;IAEnE;;OAEG;IACU,oBAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAsB,CAAC;IAEjE;;;OAGG;IACH,SAAgB,WAAW,CAAC,KAAwB;QAClD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;IAChH,CAAC;IAFe,qBAAW,cAE1B,CAAA;IAQD,SAAgB,OAAO,CAAC,KAAwB;QAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAFe,iBAAO,UAEtB,CAAA;IAQD,SAAgB,QAAQ,CAAC,KAAwB;QAC/C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAFe,kBAAQ,WAEvB,CAAA;IAED;;;;OAIG;IACH,SAAgB,SAAS,CAAC,KAAwB,EAAE,MAAyB;QAC3E,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SACd;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,EAAE,KAAK,EAAE,EAAE;YACb,OAAO,KAAK,CAAC;SACd;QAED,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,OAAO,cAAc,CAAC,KAA0B,EAAE,MAA2B,CAAC,CAAC;SAChF;QAED,OAAO,eAAe,CAAC,KAA2B,EAAE,MAA4B,CAAC,CAAC;IACpF,CAAC;IArBe,mBAAS,YAqBxB,CAAA;IAED;;;OAGG;IACH,SAAgB,QAAQ,CAA8B,KAAQ;QAC5D,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;QAED,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAVe,kBAAQ,WAUvB,CAAA;IAED;;OAEG;IACH,SAAS,cAAc,CAAC,KAAwB,EAAE,MAAyB;QACzE,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QAED,mCAAmC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnC,OAAO,KAAK,CAAC;aACd;SACF;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,eAAe,CAAC,KAAyB,EAAE,MAA0B;QAC5E,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;gBACpB,OAAO,KAAK,CAAC;aACd;SACF;QAED,0DAA0D;QAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE;gBACnB,OAAO,KAAK,CAAC;aACd;SACF;QAED,mCAAmC;QACnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,OAAO,KAAK,CAAC;aACd;SACF;QAED,wCAAwC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,aAAa,CAAC,KAAU;QAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC5C,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,SAAS,cAAc,CAAC,KAAU;QAChC,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC,EAhKgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAgKzB;AAED,SAAgB,iBAAiB,CAAI,OAAO;IAC1C,OAAO,GAAG,kBAAkB,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,8CAIC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;QACzB,IAAI,QAAQ,EAAE;YACZ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACjD,QAAQ,GAAG,KAAK,CAAC;aAClB;SACF;aAAM;YACL,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACtB,OAAO;gBACP,MAAM,SAAS,GAAG,CAAC,CAAC;gBACpB,OAAO,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACrD,CAAC,EAAE,CAAC;iBACL;gBACD,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;oBACpD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBACtD,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;iBAC3B;aACF;iBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,WAAW;gBACX,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QACD,CAAC,EAAE,CAAC;KACL;IACD,IAAI,SAAS,GAAG,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACzB;SAAM;QACL,OAAO,OAAO,CAAC;KAChB;AACH,CAAC;AAlCD,gDAkCC;AAED,SAAS,YAAY,CAAC,IAAI;IACxB,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AACzE,CAAC"}
|