@simplysm/sd-cli 12.9.18 → 12.9.19
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/dist/fix/convert-ecma-private-to-ts-private.d.ts +1 -0
- package/dist/fix/{convert-private.js → convert-ecma-private-to-ts-private.js} +7 -8
- package/dist/fix/convert-ecma-private-to-ts-private.js.map +1 -0
- package/dist/fix/core/get-ts-morph-source-files.d.ts +1 -0
- package/dist/fix/core/get-ts-morph-source-files.js +8 -0
- package/dist/fix/core/get-ts-morph-source-files.js.map +1 -0
- package/dist/fix/prefix-underscore-for-access-modifiers.d.ts +1 -0
- package/dist/fix/{convert-private-underscore.js → prefix-underscore-for-access-modifiers.js} +13 -10
- package/dist/fix/prefix-underscore-for-access-modifiers.js.map +1 -0
- package/dist/sd-cli-entry.js +5 -5
- package/dist/sd-cli-entry.js.map +1 -1
- package/package.json +5 -5
- package/src/fix/{convert-private.ts → convert-ecma-private-to-ts-private.ts} +5 -8
- package/src/fix/core/get-ts-morph-source-files.ts +9 -0
- package/src/fix/{convert-private-underscore.ts → prefix-underscore-for-access-modifiers.ts} +12 -13
- package/src/sd-cli-entry.ts +5 -5
- package/dist/fix/convert-private-underscore.d.ts +0 -1
- package/dist/fix/convert-private-underscore.js.map +0 -1
- package/dist/fix/convert-private.d.ts +0 -1
- package/dist/fix/convert-private.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function convertEcmaPrivateToTsPrivate(): void;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const sourceFiles = project.getSourceFiles("packages/*/src/**/*.ts");
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { SyntaxKind } from "ts-morph";
|
|
3
|
+
import getTsMortphSourceFiles from "./core/get-ts-morph-source-files";
|
|
4
|
+
export default function convertEcmaPrivateToTsPrivate() {
|
|
5
|
+
const sourceFiles = getTsMortphSourceFiles();
|
|
7
6
|
for (const sourceFile of sourceFiles) {
|
|
8
7
|
for (const classDec of sourceFile.getClasses()) {
|
|
9
8
|
let changed = false;
|
|
@@ -55,6 +54,6 @@ export default function convertPrivate() {
|
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
|
-
console.log("
|
|
57
|
+
console.log("[완료] #field/#method → private _field/_method 변환 완료");
|
|
59
58
|
}
|
|
60
|
-
//# sourceMappingURL=convert-private.js.map
|
|
59
|
+
//# sourceMappingURL=convert-ecma-private-to-ts-private.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-ecma-private-to-ts-private.js","sourceRoot":"","sources":["../../src/fix/convert-ecma-private-to-ts-private.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getTsMortphSourceFiles(): import("ts-morph").SourceFile[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Project } from "ts-morph";
|
|
2
|
+
export default function getTsMortphSourceFiles() {
|
|
3
|
+
const project = new Project({
|
|
4
|
+
tsConfigFilePath: "tsconfig.base.json",
|
|
5
|
+
});
|
|
6
|
+
return project.getSourceFiles("packages/*/src/**/*.ts");
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=get-ts-morph-source-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-ts-morph-source-files.js","sourceRoot":"","sources":["../../../src/fix/core/get-ts-morph-source-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,OAAO,UAAU,sBAAsB;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function prefixUnderscoreForAccessModifiers(): void;
|
package/dist/fix/{convert-private-underscore.js → prefix-underscore-for-access-modifiers.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const sourceFiles = project.getSourceFiles("packages/*/src/**/*.ts");
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { SyntaxKind, } from "ts-morph";
|
|
3
|
+
import getTsMortphSourceFiles from "./core/get-ts-morph-source-files";
|
|
4
|
+
export default function prefixUnderscoreForAccessModifiers() {
|
|
5
|
+
const sourceFiles = getTsMortphSourceFiles();
|
|
7
6
|
for (const sourceFile of sourceFiles) {
|
|
8
7
|
for (const classDec of sourceFile.getClasses()) {
|
|
8
|
+
let changed = false;
|
|
9
9
|
const members = classDec.getMembers();
|
|
10
10
|
for (const member of members) {
|
|
11
11
|
// 타입 좁히기
|
|
@@ -38,12 +38,15 @@ export default function convertPrivateUnderscore() {
|
|
|
38
38
|
expr.getNameNode().replaceWithText(newName);
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
-
console.log(`[
|
|
41
|
+
console.log(`[private-or-protected] ${sourceFile.getBaseName()} :: ${originalName} → ${newName}`);
|
|
42
|
+
changed = true;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
if (changed) {
|
|
46
|
+
sourceFile.saveSync();
|
|
47
|
+
}
|
|
44
48
|
}
|
|
45
|
-
sourceFile.saveSync();
|
|
46
49
|
}
|
|
47
|
-
console.log("
|
|
50
|
+
console.log("[완료] private/protected 멤버 → _접두사 변환 완료");
|
|
48
51
|
}
|
|
49
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=prefix-underscore-for-access-modifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix-underscore-for-access-modifiers.js","sourceRoot":"","sources":["../../src/fix/prefix-underscore-for-access-modifiers.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAIL,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,kCAAkC;IACxD,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS;gBACT,IACE,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;oBACnD,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,iBAAiB,EACjD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,MAAiD,CAAC;gBACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU;oBAAE,SAAS;gBAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEvE,SAAS;gBACT,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;oBAAE,SAAS;gBAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAEhF,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;oBAEnC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE5B,iBAAiB;oBACjB,UAAU;yBACP,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC;yBACzD,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;wBAC1C,IACE,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY;4BAC/B,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,WAAW,EACzD,CAAC;4BACD,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEL,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,CAAC,WAAW,EAAE,OAAO,YAAY,MAAM,OAAO,EAAE,CAAC,CAAC;oBAClG,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/sd-cli-entry.js
CHANGED
|
@@ -10,8 +10,8 @@ import { SdCliLocalUpdate } from "./entry/sd-cli-local-update";
|
|
|
10
10
|
import { SdCliCordova } from "./entry/sd-cli-cordova";
|
|
11
11
|
import { SdCliAiCommand } from "./entry/sd-cli-ai-command";
|
|
12
12
|
import { SdCliPostinstall } from "./entry/sd-cli-postinstall";
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import convertEcmaPrivateToTsPrivate from "./fix/convert-ecma-private-to-ts-private";
|
|
14
|
+
import prefixUnderscoreForAccessModifiers from "./fix/prefix-underscore-for-access-modifiers";
|
|
15
15
|
Error.stackTraceLimit = Infinity;
|
|
16
16
|
EventEmitter.defaultMaxListeners = 0;
|
|
17
17
|
await yargs(hideBin(process.argv))
|
|
@@ -197,13 +197,13 @@ await yargs(hideBin(process.argv))
|
|
|
197
197
|
.version(false)
|
|
198
198
|
.hide("help")
|
|
199
199
|
.hide("debug"), () => {
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
convertEcmaPrivateToTsPrivate();
|
|
201
|
+
prefixUnderscoreForAccessModifiers();
|
|
202
202
|
})
|
|
203
203
|
.strict()
|
|
204
204
|
.recommendCommands()
|
|
205
205
|
.fail((msg, err, cmd) => {
|
|
206
|
-
console.error("
|
|
206
|
+
console.error("지원되지 않는 명령입니다.");
|
|
207
207
|
console.error(msg);
|
|
208
208
|
console.log("\n명령어 목록:");
|
|
209
209
|
cmd.showHelp();
|
package/dist/sd-cli-entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-cli-entry.js","sourceRoot":"","sources":["../src/sd-cli-entry.ts"],"names":[],"mappings":";AAEA,+BAA+B;AAE/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"sd-cli-entry.js","sourceRoot":"","sources":["../src/sd-cli-entry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "12.9.
|
|
3
|
+
"version": "12.9.19",
|
|
4
4
|
"description": "심플리즘 패키지 - CLI",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"repository": {
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"@angular/compiler-cli": "^19.2.10",
|
|
18
18
|
"@anthropic-ai/sdk": "^0.41.0",
|
|
19
19
|
"@electron/rebuild": "^4.0.1",
|
|
20
|
-
"@simplysm/sd-core-common": "12.9.
|
|
21
|
-
"@simplysm/sd-core-node": "12.9.
|
|
22
|
-
"@simplysm/sd-service-server": "12.9.
|
|
23
|
-
"@simplysm/sd-storage": "12.9.
|
|
20
|
+
"@simplysm/sd-core-common": "12.9.19",
|
|
21
|
+
"@simplysm/sd-core-node": "12.9.19",
|
|
22
|
+
"@simplysm/sd-service-server": "12.9.19",
|
|
23
|
+
"@simplysm/sd-storage": "12.9.19",
|
|
24
24
|
"browserslist": "^4.24.5",
|
|
25
25
|
"cordova": "^12.0.0",
|
|
26
26
|
"css-has-pseudo": "^7.0.2",
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
|
|
3
|
-
import { MethodDeclaration,
|
|
3
|
+
import { MethodDeclaration, PropertyAccessExpression, SyntaxKind } from "ts-morph";
|
|
4
|
+
import getTsMortphSourceFiles from "./core/get-ts-morph-source-files";
|
|
4
5
|
|
|
5
|
-
export default function
|
|
6
|
-
const
|
|
7
|
-
tsConfigFilePath: "tsconfig.base.json",
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
const sourceFiles = project.getSourceFiles("packages/*/src/**/*.ts");
|
|
6
|
+
export default function convertEcmaPrivateToTsPrivate() {
|
|
7
|
+
const sourceFiles = getTsMortphSourceFiles();
|
|
11
8
|
|
|
12
9
|
for (const sourceFile of sourceFiles) {
|
|
13
10
|
for (const classDec of sourceFile.getClasses()) {
|
|
@@ -70,5 +67,5 @@ export default function convertPrivate() {
|
|
|
70
67
|
}
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
console.log("
|
|
70
|
+
console.log("[완료] #field/#method → private _field/_method 변환 완료");
|
|
74
71
|
}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
|
|
3
2
|
import {
|
|
4
3
|
MethodDeclaration,
|
|
5
|
-
Project,
|
|
6
4
|
PropertyAccessExpression,
|
|
7
5
|
PropertyDeclaration,
|
|
8
6
|
SyntaxKind,
|
|
9
7
|
} from "ts-morph";
|
|
8
|
+
import getTsMortphSourceFiles from "./core/get-ts-morph-source-files";
|
|
10
9
|
|
|
11
|
-
export default function
|
|
12
|
-
const
|
|
13
|
-
tsConfigFilePath: "tsconfig.base.json",
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
const sourceFiles = project.getSourceFiles("packages/*/src/**/*.ts");
|
|
10
|
+
export default function prefixUnderscoreForAccessModifiers() {
|
|
11
|
+
const sourceFiles = getTsMortphSourceFiles();
|
|
17
12
|
|
|
18
13
|
for (const sourceFile of sourceFiles) {
|
|
19
14
|
for (const classDec of sourceFile.getClasses()) {
|
|
15
|
+
let changed = false;
|
|
20
16
|
const members = classDec.getMembers();
|
|
21
17
|
|
|
22
18
|
for (const member of members) {
|
|
@@ -57,13 +53,16 @@ export default function convertPrivateUnderscore() {
|
|
|
57
53
|
}
|
|
58
54
|
});
|
|
59
55
|
|
|
60
|
-
console.log(`[
|
|
56
|
+
console.log(`[private-or-protected] ${sourceFile.getBaseName()} :: ${originalName} → ${newName}`);
|
|
57
|
+
changed = true;
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
|
-
}
|
|
64
60
|
|
|
65
|
-
|
|
61
|
+
if (changed) {
|
|
62
|
+
sourceFile.saveSync();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
console.log("
|
|
69
|
-
}
|
|
67
|
+
console.log("[완료] private/protected 멤버 → _접두사 변환 완료");
|
|
68
|
+
}
|
package/src/sd-cli-entry.ts
CHANGED
|
@@ -12,8 +12,8 @@ import { SdCliLocalUpdate } from "./entry/sd-cli-local-update";
|
|
|
12
12
|
import { SdCliCordova } from "./entry/sd-cli-cordova";
|
|
13
13
|
import { SdCliAiCommand } from "./entry/sd-cli-ai-command";
|
|
14
14
|
import { SdCliPostinstall } from "./entry/sd-cli-postinstall";
|
|
15
|
-
import
|
|
16
|
-
import
|
|
15
|
+
import convertEcmaPrivateToTsPrivate from "./fix/convert-ecma-private-to-ts-private";
|
|
16
|
+
import prefixUnderscoreForAccessModifiers from "./fix/prefix-underscore-for-access-modifiers";
|
|
17
17
|
|
|
18
18
|
Error.stackTraceLimit = Infinity;
|
|
19
19
|
EventEmitter.defaultMaxListeners = 0;
|
|
@@ -250,14 +250,14 @@ await yargs(hideBin(process.argv))
|
|
|
250
250
|
.hide("help")
|
|
251
251
|
.hide("debug"),
|
|
252
252
|
() => {
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
convertEcmaPrivateToTsPrivate();
|
|
254
|
+
prefixUnderscoreForAccessModifiers();
|
|
255
255
|
},
|
|
256
256
|
)
|
|
257
257
|
.strict()
|
|
258
258
|
.recommendCommands()
|
|
259
259
|
.fail((msg, err, cmd) => {
|
|
260
|
-
console.error("
|
|
260
|
+
console.error("지원되지 않는 명령입니다.");
|
|
261
261
|
console.error(msg);
|
|
262
262
|
console.log("\n명령어 목록:");
|
|
263
263
|
cmd.showHelp();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function convertPrivateUnderscore(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-private-underscore.js","sourceRoot":"","sources":["../../src/fix/convert-private-underscore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAGP,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,OAAO,UAAU,wBAAwB;IAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAErE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS;gBACT,IACE,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;oBACnD,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,iBAAiB,EACjD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,MAAiD,CAAC;gBACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU;oBAAE,SAAS;gBAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEvE,SAAS;gBACT,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;oBAAE,SAAS;gBAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAEhF,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;oBAEnC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE5B,iBAAiB;oBACjB,UAAU;yBACP,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC;yBACzD,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;wBAC1C,IACE,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY;4BAC/B,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,WAAW,EACzD,CAAC;4BACD,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEL,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,WAAW,EAAE,OAAO,YAAY,MAAM,OAAO,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function convertPrivate(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-private.js","sourceRoot":"","sources":["../../src/fix/convert-private.ts"],"names":[],"mappings":"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"}
|