@effect/language-service 0.0.11 → 0.0.12
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/_mjs/diagnostics/definition.mjs.map +1 -1
- package/_mjs/diagnostics/ensureGetCallTrace.mjs +5 -8
- package/_mjs/diagnostics/ensureGetCallTrace.mjs.map +1 -1
- package/_mjs/diagnostics/noSyncWithConstant.mjs +8 -11
- package/_mjs/diagnostics/noSyncWithConstant.mjs.map +1 -1
- package/_mjs/eslint-rules/no-curry-arrow.mjs +2 -2
- package/_mjs/eslint-rules/no-curry-arrow.mjs.map +1 -1
- package/_mjs/index.mjs +24 -27
- package/_mjs/index.mjs.map +1 -1
- package/_mjs/refactors/addPipe.mjs +12 -18
- package/_mjs/refactors/addPipe.mjs.map +1 -1
- package/_mjs/refactors/asyncAwaitToGen.mjs +12 -18
- package/_mjs/refactors/asyncAwaitToGen.mjs.map +1 -1
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs +17 -23
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs.map +1 -1
- package/_mjs/refactors/definition.mjs.map +1 -1
- package/_mjs/refactors/functionToArrow.mjs +31 -36
- package/_mjs/refactors/functionToArrow.mjs.map +1 -1
- package/_mjs/refactors/noSyncWithConstant.mjs +10 -14
- package/_mjs/refactors/noSyncWithConstant.mjs.map +1 -1
- package/_mjs/refactors/removeCurryArrow.mjs +12 -18
- package/_mjs/refactors/removeCurryArrow.mjs.map +1 -1
- package/_mjs/refactors/removePipe.mjs +11 -17
- package/_mjs/refactors/removePipe.mjs.map +1 -1
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs +10 -15
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs.map +1 -1
- package/_mjs/refactors/toggleTypeAnnotation.mjs +25 -31
- package/_mjs/refactors/toggleTypeAnnotation.mjs.map +1 -1
- package/_mjs/refactors/wrapWithPipe.mjs +5 -8
- package/_mjs/refactors/wrapWithPipe.mjs.map +1 -1
- package/_mjs/{utils.mjs → utils/AST.mjs} +81 -4
- package/_mjs/utils/AST.mjs.map +1 -0
- package/_mjs/utils/Function.mjs +31 -0
- package/_mjs/utils/Function.mjs.map +1 -0
- package/_mjs/utils/Option.mjs +14 -0
- package/_mjs/utils/Option.mjs.map +1 -0
- package/_mjs/utils/ReadonlyArray.mjs +12 -0
- package/_mjs/utils/ReadonlyArray.mjs.map +1 -0
- package/diagnostics/definition.d.ts +3 -3
- package/diagnostics/definition.d.ts.map +1 -1
- package/diagnostics/definition.js.map +1 -1
- package/diagnostics/ensureGetCallTrace.d.ts.map +1 -1
- package/diagnostics/ensureGetCallTrace.js +5 -8
- package/diagnostics/ensureGetCallTrace.js.map +1 -1
- package/diagnostics/noSyncWithConstant.d.ts +1 -1
- package/diagnostics/noSyncWithConstant.d.ts.map +1 -1
- package/diagnostics/noSyncWithConstant.js +8 -11
- package/diagnostics/noSyncWithConstant.js.map +1 -1
- package/eslint-rules/no-curry-arrow.js +2 -2
- package/eslint-rules/no-curry-arrow.js.map +1 -1
- package/index.js +25 -28
- package/index.js.map +1 -1
- package/package.json +1 -3
- package/refactors/addPipe.d.ts.map +1 -1
- package/refactors/addPipe.js +12 -18
- package/refactors/addPipe.js.map +1 -1
- package/refactors/asyncAwaitToGen.d.ts.map +1 -1
- package/refactors/asyncAwaitToGen.js +12 -18
- package/refactors/asyncAwaitToGen.js.map +1 -1
- package/refactors/asyncAwaitToGenTryPromise.d.ts.map +1 -1
- package/refactors/asyncAwaitToGenTryPromise.js +17 -23
- package/refactors/asyncAwaitToGenTryPromise.js.map +1 -1
- package/refactors/definition.d.ts +7 -6
- package/refactors/definition.d.ts.map +1 -1
- package/refactors/definition.js.map +1 -1
- package/refactors/functionToArrow.d.ts.map +1 -1
- package/refactors/functionToArrow.js +31 -36
- package/refactors/functionToArrow.js.map +1 -1
- package/refactors/noSyncWithConstant.d.ts.map +1 -1
- package/refactors/noSyncWithConstant.js +10 -14
- package/refactors/noSyncWithConstant.js.map +1 -1
- package/refactors/removeCurryArrow.d.ts.map +1 -1
- package/refactors/removeCurryArrow.js +12 -18
- package/refactors/removeCurryArrow.js.map +1 -1
- package/refactors/removePipe.d.ts.map +1 -1
- package/refactors/removePipe.js +11 -17
- package/refactors/removePipe.js.map +1 -1
- package/refactors/toggleReturnTypeAnnotation.d.ts.map +1 -1
- package/refactors/toggleReturnTypeAnnotation.js +10 -15
- package/refactors/toggleReturnTypeAnnotation.js.map +1 -1
- package/refactors/toggleTypeAnnotation.d.ts.map +1 -1
- package/refactors/toggleTypeAnnotation.js +25 -31
- package/refactors/toggleTypeAnnotation.js.map +1 -1
- package/refactors/wrapWithPipe.d.ts.map +1 -1
- package/refactors/wrapWithPipe.js +5 -8
- package/refactors/wrapWithPipe.js.map +1 -1
- package/{ast.d.ts → utils/AST.d.ts} +17 -10
- package/utils/AST.d.ts.map +1 -0
- package/{utils.js → utils/AST.js} +91 -4
- package/utils/AST.js.map +1 -0
- package/utils/Function.d.ts +21 -0
- package/utils/Function.d.ts.map +1 -0
- package/utils/Function.js +37 -0
- package/utils/Function.js.map +1 -0
- package/utils/Option.d.ts +17 -0
- package/utils/Option.d.ts.map +1 -0
- package/utils/Option.js +28 -0
- package/utils/Option.js.map +1 -0
- package/utils/ReadonlyArray.d.ts +17 -0
- package/utils/ReadonlyArray.d.ts.map +1 -0
- package/utils/ReadonlyArray.js +30 -0
- package/utils/ReadonlyArray.js.map +1 -0
- package/_mjs/ast.mjs +0 -80
- package/_mjs/ast.mjs.map +0 -1
- package/_mjs/utils.mjs.map +0 -1
- package/ast.d.ts.map +0 -1
- package/ast.js +0 -100
- package/ast.js.map +0 -1
- package/utils.d.ts +0 -17
- package/utils.d.ts.map +0 -1
- package/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":"AAoBA,OAAM,SAAUA,gBAAgB,CAACC,UAAgC;EAC/D,OAAOA,UAAU;AACnB","names":["createDiagnostic","definition"],"sourceRoot":"","sources":["../../../src/diagnostics/definition.ts"],"sourcesContent":[null]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createDiagnostic } from "@effect/language-service/diagnostics/definition";
|
|
4
|
-
import * as
|
|
5
|
-
import { pipe } from "@
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
6
5
|
export default /*#__PURE__*/createDiagnostic({
|
|
7
6
|
code: 1003,
|
|
8
7
|
category: "none",
|
|
9
|
-
apply:
|
|
10
|
-
const ts = yield* $(T.service(AST.TypeScriptApi));
|
|
11
|
-
const program = yield* $(T.service(AST.TypeScriptProgram));
|
|
8
|
+
apply: (ts, program) => sourceFile => {
|
|
12
9
|
const typeChecker = program.getTypeChecker();
|
|
13
10
|
function isEffectType(type) {
|
|
14
11
|
const symbol = type.getSymbol();
|
|
@@ -46,6 +43,6 @@ export default /*#__PURE__*/createDiagnostic({
|
|
|
46
43
|
node,
|
|
47
44
|
messageText: `This function should be traced. getCallTrace() should be the first line of the body.`
|
|
48
45
|
})));
|
|
49
|
-
}
|
|
46
|
+
}
|
|
50
47
|
});
|
|
51
48
|
//# sourceMappingURL=ensureGetCallTrace.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureGetCallTrace.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ensureGetCallTrace.mjs","mappings":"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","names":["createDiagnostic","AST","pipe","Ch","code","category","apply","ts","program","sourceFile","typeChecker","getTypeChecker","isEffectType","type","symbol","getSymbol","declarations","some","declaration","getSourceFile","fileName","includes","isPipeableCombinator","signatures","getCallSignatures","length","isPipeableCallSignatureReturningEffect","signature","getParameters","getReturnType","shouldBeTraced","returnType","isGetCallTraceCallExpression","node","isCallExpression","expression","isIdentifier","text","collectAll","isArrowFunction","concat","isFunctionDeclaration","filter","body","getTypeAtLocation","isBlock","firstStatement","statements","isEmpty","map","messageText"],"sourceRoot":"","sources":["../../../src/diagnostics/ensureGetCallTrace.ts"],"sourcesContent":[null]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createDiagnostic } from "@effect/language-service/diagnostics/definition";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
7
5
|
export const noSyncWithConstantMethodsMap = {
|
|
8
6
|
sync: "succeed",
|
|
9
7
|
failSync: "fail",
|
|
@@ -11,9 +9,9 @@ export const noSyncWithConstantMethodsMap = {
|
|
|
11
9
|
};
|
|
12
10
|
export function isEffectSyncWithConstantCall(ts) {
|
|
13
11
|
return (moduleIdentifier, methodName) => node => {
|
|
14
|
-
if (isCombinatorCall(ts)(moduleIdentifier, methodName)(node) && node.arguments.length === 1) {
|
|
12
|
+
if (AST.isCombinatorCall(ts)(moduleIdentifier, methodName)(node) && node.arguments.length === 1) {
|
|
15
13
|
const arg = node.arguments[0];
|
|
16
|
-
if (ts.isArrowFunction(arg) && isLiteralConstantValue(ts)(arg.body)) {
|
|
14
|
+
if (ts.isArrowFunction(arg) && AST.isLiteralConstantValue(ts)(arg.body)) {
|
|
17
15
|
return true;
|
|
18
16
|
}
|
|
19
17
|
}
|
|
@@ -23,9 +21,8 @@ export function isEffectSyncWithConstantCall(ts) {
|
|
|
23
21
|
export default /*#__PURE__*/createDiagnostic({
|
|
24
22
|
code: 1002,
|
|
25
23
|
category: "warning",
|
|
26
|
-
apply:
|
|
27
|
-
const
|
|
28
|
-
const effectIdentifier = getEffectModuleIdentifier(ts)(sourceFile);
|
|
24
|
+
apply: ts => sourceFile => {
|
|
25
|
+
const effectIdentifier = AST.getEffectModuleIdentifier(ts)(sourceFile);
|
|
29
26
|
let result = Ch.empty;
|
|
30
27
|
for (const methodName of Object.keys(noSyncWithConstantMethodsMap)) {
|
|
31
28
|
const suggestedMethodName = noSyncWithConstantMethodsMap[methodName];
|
|
@@ -35,6 +32,6 @@ export default /*#__PURE__*/createDiagnostic({
|
|
|
35
32
|
})))));
|
|
36
33
|
}
|
|
37
34
|
return result;
|
|
38
|
-
}
|
|
35
|
+
}
|
|
39
36
|
});
|
|
40
37
|
//# sourceMappingURL=noSyncWithConstant.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noSyncWithConstant.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"noSyncWithConstant.mjs","mappings":"AACA,SAASA,gBAAgB,QAAQ,iDAAiD;AAClF,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,OAAO,MAAMC,4BAA4B,GAAG;EAC1CC,IAAI,EAAE,SAAS;EACfC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE;CACV;AAED,OAAM,SAAUC,4BAA4B,CAACC,EAAqB;EAChE,OAAO,CAACC,gBAAwB,EAAEC,UAAkB,KACjDC,IAAa,IAA+B;IAC3C,IAAIX,GAAG,CAACY,gBAAgB,CAACJ,EAAE,CAAC,CAACC,gBAAgB,EAAEC,UAAU,CAAC,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACE,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;MAC/F,MAAMC,GAAG,GAAGJ,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC;MAC7B,IAAIL,EAAE,CAACQ,eAAe,CAACD,GAAG,CAAC,IAAIf,GAAG,CAACiB,sBAAsB,CAACT,EAAE,CAAC,CAACO,GAAG,CAACG,IAAI,CAAC,EAAE;QACvE,OAAO,IAAI;;;IAGf,OAAO,KAAK;EACd,CAAC;AACL;AAEA,4BAAenB,gBAAgB,CAAC;EAC9BoB,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,SAAS;EACnBC,KAAK,EAAGb,EAAE,IACPc,UAAU,IAAI;IACb,MAAMC,gBAAgB,GAAGvB,GAAG,CAACwB,yBAAyB,CAAChB,EAAE,CAAC,CAACc,UAAU,CAAC;IAEtE,IAAIG,MAAM,GAA0CvB,EAAE,CAACwB,KAAK;IAE5D,KAAK,MAAMhB,UAAU,IAAIiB,MAAM,CAACC,IAAI,CAACzB,4BAA4B,CAAC,EAAE;MAClE,MAAM0B,mBAAmB,GAAW1B,4BAA4B,CAACO,UAAU,CAAE;MAC7Ee,MAAM,GAAGxB,IAAI,CACXwB,MAAM,EACNvB,EAAE,CAAC4B,MAAM,CACP7B,IAAI,CACFD,GAAG,CAAC+B,UAAU,CAACvB,EAAE,CAAC,CAACc,UAAU,EAAEf,4BAA4B,CAACC,EAAE,CAAC,CAACe,gBAAgB,EAAEb,UAAU,CAAC,CAAC,EAC9FR,EAAE,CAAC8B,GAAG,CAAErB,IAAI,KAAM;QAChBA,IAAI;QACJsB,WAAW,EAAE,uCAAuCvB,UAAU,kBAAkBmB,mBAAmB;OACpG,CAAC,CAAC,CACJ,CACF,CACF;;IAGH,OAAOJ,MAAM;EACf;CACH,CAAC","names":["createDiagnostic","AST","pipe","Ch","noSyncWithConstantMethodsMap","sync","failSync","dieSync","isEffectSyncWithConstantCall","ts","moduleIdentifier","methodName","node","isCombinatorCall","arguments","length","arg","isArrowFunction","isLiteralConstantValue","body","code","category","apply","sourceFile","effectIdentifier","getEffectModuleIdentifier","result","empty","Object","keys","suggestedMethodName","concat","collectAll","map","messageText"],"sourceRoot":"","sources":["../../../src/diagnostics/noSyncWithConstant.ts"],"sourcesContent":[null]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as utils from "@effect/language-service/eslint-rules/utils";
|
|
2
|
-
import * as
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
3
|
import * as ts from "typescript/lib/tsserverlibrary";
|
|
4
4
|
export default /*#__PURE__*/utils.createRule({
|
|
5
5
|
create(context) {
|
|
@@ -7,7 +7,7 @@ export default /*#__PURE__*/utils.createRule({
|
|
|
7
7
|
return {
|
|
8
8
|
ArrowFunctionExpression(node) {
|
|
9
9
|
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
10
|
-
if (
|
|
10
|
+
if (AST.isCurryArrow(ts)(tsNode)) {
|
|
11
11
|
context.report({
|
|
12
12
|
messageId: "noCurryArrow",
|
|
13
13
|
node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-curry-arrow.mjs","mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,6CAA6C;AACpE,OAAO,KAAKC,
|
|
1
|
+
{"version":3,"file":"no-curry-arrow.mjs","mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,6CAA6C;AACpE,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,OAAO,KAAKC,EAAE,MAAM,gCAAgC;AAEpD,4BAAeF,KAAK,CAACG,UAAU,CAAC;EAC9BC,MAAM,CAACC,OAAO;IACZ,MAAMC,cAAc,GAAGN,KAAK,CAACO,iBAAiB,CAACF,OAAO,CAAC;IAEvD,OAAO;MACLG,uBAAuB,CAACC,IAAI;QAC1B,MAAMC,MAAM,GAAGJ,cAAc,CAACK,qBAAqB,CAACC,GAAG,CAACH,IAAI,CAAC;QAC7D,IAAIR,GAAG,CAACY,YAAY,CAACX,EAAE,CAAC,CAACQ,MAAM,CAAC,EAAE;UAChCL,OAAO,CAACS,MAAM,CAAC;YACbC,SAAS,EAAE,cAAc;YACzBN;WACD,CAAC;;MAEN;KACD;EACH,CAAC;EACDO,IAAI,EAAE,gBAAgB;EACtBC,IAAI,EAAE;IACJC,IAAI,EAAE;MACJC,WAAW,EAAE,kGAAkG;MAC/GC,WAAW,EAAE;KACd;IACDC,QAAQ,EAAE;MACRC,YAAY,EAAE;KACf;IACDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;GACT;EACDC,cAAc,EAAE;CACjB,CAAC","names":["utils","AST","ts","createRule","create","context","parserServices","getParserServices","ArrowFunctionExpression","node","tsNode","esTreeNodeToTSNodeMap","get","isCurryArrow","report","messageId","name","meta","docs","description","recommended","messages","noCurryArrow","type","schema","defaultOptions"],"sourceRoot":"","sources":["../../../src/eslint-rules/no-curry-arrow.ts"],"sourcesContent":[null]}
|
package/_mjs/index.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { parseLanguageServicePluginConfig } from "@effect/language-service/config";
|
|
4
2
|
import diagnostics from "@effect/language-service/diagnostics/index";
|
|
5
3
|
import refactors from "@effect/language-service/refactors/index";
|
|
6
|
-
import * as
|
|
7
|
-
import {
|
|
8
|
-
import * as O from "@
|
|
4
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
5
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
6
|
+
import * as O from "@effect/language-service/utils/Option";
|
|
7
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
9
8
|
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
10
9
|
function init(modules) {
|
|
11
10
|
const ts = modules.typescript;
|
|
@@ -38,7 +37,7 @@ function init(modules) {
|
|
|
38
37
|
const [fileName] = args;
|
|
39
38
|
const program = languageService.getProgram();
|
|
40
39
|
if (program) {
|
|
41
|
-
const effectDiagnostics = pipe(AST.getSourceFile(fileName),
|
|
40
|
+
const effectDiagnostics = pipe(AST.getSourceFile(program)(fileName), sourceFile => pipe(Object.values(diagnostics).map(applyConfiguredDiagnosticCategory).filter(_ => _.category !== "none"), _ => _.map(diagnostic => pipe(diagnostic.apply(modules.typescript, program)(sourceFile), Ch.map(_ => ({
|
|
42
41
|
file: sourceFile,
|
|
43
42
|
start: _.node.pos,
|
|
44
43
|
length: _.node.end - _.node.pos,
|
|
@@ -46,7 +45,7 @@ function init(modules) {
|
|
|
46
45
|
category: toTsDiagnosticCategory(diagnostic.category),
|
|
47
46
|
code: diagnostic.code,
|
|
48
47
|
source: "effect"
|
|
49
|
-
}))
|
|
48
|
+
})), _ => Array.from(_)))), _ => _.flat());
|
|
50
49
|
return suggestionDiagnostics.concat(effectDiagnostics);
|
|
51
50
|
}
|
|
52
51
|
return suggestionDiagnostics;
|
|
@@ -57,14 +56,14 @@ function init(modules) {
|
|
|
57
56
|
const program = languageService.getProgram();
|
|
58
57
|
if (program) {
|
|
59
58
|
const textRange = AST.toTextRange(positionOrRange);
|
|
60
|
-
const effectRefactors = pipe(AST.getSourceFile(fileName),
|
|
59
|
+
const effectRefactors = pipe(AST.getSourceFile(program)(fileName), sourceFile => pipe(Object.values(refactors).map(refactor => pipe(refactor.apply(modules.typescript, program)(sourceFile, textRange), O.map(_ => ({
|
|
61
60
|
name: refactor.name,
|
|
62
61
|
description: refactor.description,
|
|
63
62
|
actions: [{
|
|
64
63
|
name: refactor.name,
|
|
65
64
|
description: _.description
|
|
66
65
|
}]
|
|
67
|
-
}))))
|
|
66
|
+
})))), _ => _.reduce((arr, maybeRefactor) => arr.concat(O.isSome(maybeRefactor) ? [maybeRefactor.value] : []), [])));
|
|
68
67
|
info.project.projectService.logger.info("[@effect/language-service] possible refactors are " + JSON.stringify(effectRefactors));
|
|
69
68
|
return applicableRefactors.concat(effectRefactors);
|
|
70
69
|
}
|
|
@@ -75,26 +74,24 @@ function init(modules) {
|
|
|
75
74
|
if (program) {
|
|
76
75
|
for (const refactor of Object.values(refactors)) {
|
|
77
76
|
if (refactor.name === refactorName) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
info.project.projectService.logger.info("[@effect/language-service] requested refactor " + refactorName + " is not applicable");
|
|
84
|
-
return {
|
|
85
|
-
edits: []
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
const formatContext = ts.formatting.getFormatContext(formatOptions, info.languageServiceHost);
|
|
89
|
-
const edits = ts.textChanges.ChangeTracker.with({
|
|
90
|
-
formatContext,
|
|
91
|
-
host: info.languageServiceHost,
|
|
92
|
-
preferences: preferences || {}
|
|
93
|
-
}, changeTracker => pipe(possibleRefactor.value.apply, T.provideService(AST.ChangeTrackerApi)(changeTracker), T.provideService(AST.TypeScriptApi)(modules.typescript), T.provideService(AST.TypeScriptProgram)(program), T.unsafeRunSync));
|
|
77
|
+
const sourceFile = AST.getSourceFile(program)(fileName);
|
|
78
|
+
const textRange = AST.toTextRange(positionOrRange);
|
|
79
|
+
const possibleRefactor = refactor.apply(modules.typescript, program)(sourceFile, textRange);
|
|
80
|
+
if (O.isNone(possibleRefactor)) {
|
|
81
|
+
info.project.projectService.logger.info("[@effect/language-service] requested refactor " + refactorName + " is not applicable");
|
|
94
82
|
return {
|
|
95
|
-
edits
|
|
83
|
+
edits: []
|
|
96
84
|
};
|
|
97
|
-
}
|
|
85
|
+
}
|
|
86
|
+
const formatContext = ts.formatting.getFormatContext(formatOptions, info.languageServiceHost);
|
|
87
|
+
const edits = ts.textChanges.ChangeTracker.with({
|
|
88
|
+
formatContext,
|
|
89
|
+
host: info.languageServiceHost,
|
|
90
|
+
preferences: preferences || {}
|
|
91
|
+
}, changeTracker => possibleRefactor.value.apply(changeTracker));
|
|
92
|
+
return {
|
|
93
|
+
edits
|
|
94
|
+
};
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
}
|
package/_mjs/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.mjs","mappings":"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","names":["parseLanguageServicePluginConfig","diagnostics","refactors","AST","pipe","O","Ch","init","modules","ts","typescript","create","info","languageService","proxy","Object","k","keys","args","apply","applyConfiguredDiagnosticCategory","diagnostic","config","category","code","toTsDiagnosticCategory","none","DiagnosticCategory","Suggestion","suggestion","warning","Warning","error","Error","getSuggestionDiagnostics","suggestionDiagnostics","fileName","program","getProgram","effectDiagnostics","getSourceFile","sourceFile","values","map","filter","_","file","start","node","pos","length","end","messageText","source","Array","from","flat","concat","getApplicableRefactors","applicableRefactors","positionOrRange","textRange","toTextRange","effectRefactors","refactor","name","description","actions","reduce","arr","maybeRefactor","isSome","value","project","projectService","logger","JSON","stringify","getEditsForRefactor","formatOptions","refactorName","actionName","preferences","possibleRefactor","isNone","edits","formatContext","formatting","getFormatContext","languageServiceHost","textChanges","ChangeTracker","with","host","changeTracker","module","exports"],"sourceRoot":"","sources":["../../src/index.ts"],"sourcesContent":[null]}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as O from "@effect/language-service/utils/Option";
|
|
5
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
8
6
|
export default /*#__PURE__*/createRefactor({
|
|
9
7
|
name: "effect/addPipe",
|
|
10
8
|
description: "Rewrite using pipe",
|
|
11
|
-
apply: (sourceFile, textRange) =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
changeTracker.replaceNode(sourceFile, node, newNode);
|
|
20
|
-
})
|
|
21
|
-
})));
|
|
22
|
-
})
|
|
9
|
+
apply: ts => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.reverse, Ch.fromIterable, Ch.filter(AST.isNodeInRange(textRange)), Ch.filter(AST.isPipeableCallExpression(ts)), Ch.head, O.map(node => ({
|
|
10
|
+
description: `Rewrite ${AST.getHumanReadableName(sourceFile, node.expression)} to pipe`,
|
|
11
|
+
apply: changeTracker => {
|
|
12
|
+
const args = AST.asPipeArguments(ts)(node);
|
|
13
|
+
const newNode = ts.factory.createCallExpression(ts.factory.createIdentifier("pipe"), undefined, Array.from(args));
|
|
14
|
+
changeTracker.replaceNode(sourceFile, node, newNode);
|
|
15
|
+
}
|
|
16
|
+
})))
|
|
23
17
|
});
|
|
24
18
|
//# sourceMappingURL=addPipe.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPipe.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"addPipe.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,gBAAgB;EACtBC,WAAW,EAAE,oBAAoB;EACjCC,KAAK,EAAGC,EAAE,IACR,CAACC,UAAU,EAAEC,SAAS,KACpBR,IAAI,CACFD,GAAG,CAACU,uBAAuB,CAACH,EAAE,CAAC,CAACC,UAAU,EAAEC,SAAS,CAAC,EACtDN,EAAE,CAACQ,OAAO,EACVR,EAAE,CAACS,YAAY,EACfT,EAAE,CAACU,MAAM,CAACb,GAAG,CAACc,aAAa,CAACL,SAAS,CAAC,CAAC,EACvCN,EAAE,CAACU,MAAM,CAACb,GAAG,CAACe,wBAAwB,CAACR,EAAE,CAAC,CAAC,EAC3CJ,EAAE,CAACa,IAAI,EACPd,CAAC,CAACe,GAAG,CAAEC,IAAI,KAAM;IACfb,WAAW,EAAE,WAAWL,GAAG,CAACmB,oBAAoB,CAACX,UAAU,EAAEU,IAAI,CAACE,UAAU,CAAC,UAAU;IACvFd,KAAK,EAAGe,aAA2C,IAAI;MACrD,MAAMC,IAAI,GAAGtB,GAAG,CAACuB,eAAe,CAAChB,EAAE,CAAC,CAACW,IAAI,CAAC;MAE1C,MAAMM,OAAO,GAAGjB,EAAE,CAACkB,OAAO,CAACC,oBAAoB,CAC7CnB,EAAE,CAACkB,OAAO,CAACE,gBAAgB,CAAC,MAAM,CAAC,EACnCC,SAAS,EACTC,KAAK,CAACC,IAAI,CAACR,IAAI,CAAC,CACjB;MAEDD,aAAa,CAACU,WAAW,CAACvB,UAAU,EAAEU,IAAI,EAAEM,OAAO,CAAC;IACtD;GACD,CAAC,CAAC;CAEV,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","reverse","fromIterable","filter","isNodeInRange","isPipeableCallExpression","head","map","node","getHumanReadableName","expression","changeTracker","args","asPipeArguments","newNode","factory","createCallExpression","createIdentifier","undefined","Array","from","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/addPipe.ts"],"sourcesContent":[null]}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as O from "@effect/language-service/utils/Option";
|
|
5
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
8
6
|
export default /*#__PURE__*/createRefactor({
|
|
9
7
|
name: "effect/asyncAwaitToGen",
|
|
10
8
|
description: "Convert to Effect.gen",
|
|
11
|
-
apply: (sourceFile, textRange) =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
20
|
-
})
|
|
21
|
-
})));
|
|
22
|
-
})
|
|
9
|
+
apply: ts => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isFunctionDeclaration), Ch.filter(node => !!node.body), Ch.filter(node => !!(ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Async)), Ch.head, O.map(node => ({
|
|
10
|
+
description: "Rewrite to Effect.gen",
|
|
11
|
+
apply: changeTracker => {
|
|
12
|
+
const effectName = AST.getEffectModuleIdentifier(ts)(sourceFile);
|
|
13
|
+
const newDeclaration = AST.transformAsyncAwaitToEffectGen(ts)(node, effectName, expression => ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(effectName), "promise"), undefined, [expression]));
|
|
14
|
+
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
15
|
+
}
|
|
16
|
+
})))
|
|
23
17
|
});
|
|
24
18
|
//# sourceMappingURL=asyncAwaitToGen.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncAwaitToGen.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"asyncAwaitToGen.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,wBAAwB;EAC9BC,WAAW,EAAE,uBAAuB;EACpCC,KAAK,EAAGC,EAAE,IACR,CAACC,UAAU,EAAEC,SAAS,KACpBR,IAAI,CACFD,GAAG,CAACU,uBAAuB,CAACH,EAAE,CAAC,CAACC,UAAU,EAAEC,SAAS,CAAC,EACtDN,EAAE,CAACQ,MAAM,CAACJ,EAAE,CAACK,qBAAqB,CAAC,EACnCT,EAAE,CAACQ,MAAM,CAAEE,IAAI,IAAK,CAAC,CAACA,IAAI,CAACC,IAAI,CAAC,EAChCX,EAAE,CAACQ,MAAM,CAAEE,IAAI,IAAK,CAAC,EAAEN,EAAE,CAACQ,wBAAwB,CAACF,IAAI,CAAC,GAAGN,EAAE,CAACS,aAAa,CAACC,KAAK,CAAC,CAAC,EACnFd,EAAE,CAACe,IAAI,EACPhB,CAAC,CAACiB,GAAG,CAAEN,IAAI,KAAM;IACfR,WAAW,EAAE,uBAAuB;IACpCC,KAAK,EAAGc,aAAa,IAAI;MACvB,MAAMC,UAAU,GAAGrB,GAAG,CAACsB,yBAAyB,CAACf,EAAE,CAAC,CAACC,UAAU,CAAC;MAEhE,MAAMe,cAAc,GAAGvB,GAAG,CAACwB,8BAA8B,CAACjB,EAAE,CAAC,CAACM,IAAI,EAAEQ,UAAU,EAAGI,UAAU,IACzFlB,EAAE,CAACmB,OAAO,CAACC,oBAAoB,CAC7BpB,EAAE,CAACmB,OAAO,CAACE,8BAA8B,CACvCrB,EAAE,CAACmB,OAAO,CAACG,gBAAgB,CAACR,UAAU,CAAC,EACvC,SAAS,CACV,EACDS,SAAS,EACT,CAACL,UAAU,CAAC,CACb,CAAC;MAEJL,aAAa,CAACW,WAAW,CAACvB,UAAU,EAAEK,IAAI,EAAEU,cAAc,CAAC;IAC7D;GACD,CAAC,CAAC;CAEV,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","filter","isFunctionDeclaration","node","body","getCombinedModifierFlags","ModifierFlags","Async","head","map","changeTracker","effectName","getEffectModuleIdentifier","newDeclaration","transformAsyncAwaitToEffectGen","expression","factory","createCallExpression","createPropertyAccessExpression","createIdentifier","undefined","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/asyncAwaitToGen.ts"],"sourcesContent":[null]}
|
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as O from "@effect/language-service/utils/Option";
|
|
5
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
8
6
|
export default /*#__PURE__*/createRefactor({
|
|
9
7
|
name: "effect/asyncAwaitToGenTryPromise",
|
|
10
8
|
description: "Convert to Effect.gen with failures",
|
|
11
|
-
apply: (sourceFile, textRange) =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
25
|
-
})
|
|
26
|
-
})));
|
|
27
|
-
})
|
|
9
|
+
apply: ts => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isFunctionDeclaration), Ch.filter(node => !!node.body), Ch.filter(node => !!(ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Async)), Ch.head, O.map(node => ({
|
|
10
|
+
description: "Rewrite to Effect.gen with failures",
|
|
11
|
+
apply: changeTracker => {
|
|
12
|
+
const effectName = AST.getEffectModuleIdentifier(ts)(sourceFile);
|
|
13
|
+
let errorCount = 0;
|
|
14
|
+
function createErrorADT() {
|
|
15
|
+
errorCount++;
|
|
16
|
+
return ts.factory.createObjectLiteralExpression([ts.factory.createPropertyAssignment("_tag", ts.factory.createAsExpression(ts.factory.createStringLiteral("Error" + errorCount), ts.factory.createTypeReferenceNode("const"))), ts.factory.createShorthandPropertyAssignment("error")]);
|
|
17
|
+
}
|
|
18
|
+
const newDeclaration = AST.transformAsyncAwaitToEffectGen(ts)(node, effectName, expression => ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(effectName), "tryCatchPromise"), undefined, [ts.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, expression), ts.factory.createArrowFunction(undefined, undefined, [ts.factory.createParameterDeclaration(undefined, undefined, "error")], undefined, undefined, createErrorADT())]));
|
|
19
|
+
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
20
|
+
}
|
|
21
|
+
})))
|
|
28
22
|
});
|
|
29
23
|
//# sourceMappingURL=asyncAwaitToGenTryPromise.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncAwaitToGenTryPromise.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"asyncAwaitToGenTryPromise.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,kCAAkC;EACxCC,WAAW,EAAE,qCAAqC;EAClDC,KAAK,EAAGC,EAAE,IACR,CAACC,UAAU,EAAEC,SAAS,KACpBR,IAAI,CACFD,GAAG,CAACU,uBAAuB,CAACH,EAAE,CAAC,CAACC,UAAU,EAAEC,SAAS,CAAC,EACtDN,EAAE,CAACQ,MAAM,CAACJ,EAAE,CAACK,qBAAqB,CAAC,EACnCT,EAAE,CAACQ,MAAM,CAAEE,IAAI,IAAK,CAAC,CAACA,IAAI,CAACC,IAAI,CAAC,EAChCX,EAAE,CAACQ,MAAM,CAAEE,IAAI,IAAK,CAAC,EAAEN,EAAE,CAACQ,wBAAwB,CAACF,IAAI,CAAC,GAAGN,EAAE,CAACS,aAAa,CAACC,KAAK,CAAC,CAAC,EACnFd,EAAE,CAACe,IAAI,EACPhB,CAAC,CAACiB,GAAG,CAAEN,IAAI,KAAM;IACfR,WAAW,EAAE,qCAAqC;IAClDC,KAAK,EAAGc,aAAa,IAAI;MACvB,MAAMC,UAAU,GAAGrB,GAAG,CAACsB,yBAAyB,CAACf,EAAE,CAAC,CAACC,UAAU,CAAC;MAEhE,IAAIe,UAAU,GAAG,CAAC;MAElB,SAASC,cAAc;QACrBD,UAAU,EAAE;QACZ,OAAOhB,EAAE,CAACkB,OAAO,CAACC,6BAA6B,CAAC,CAC9CnB,EAAE,CAACkB,OAAO,CAACE,wBAAwB,CACjC,MAAM,EACNpB,EAAE,CAACkB,OAAO,CAACG,kBAAkB,CAC3BrB,EAAE,CAACkB,OAAO,CAACI,mBAAmB,CAAC,OAAO,GAAGN,UAAU,CAAC,EACpDhB,EAAE,CAACkB,OAAO,CAACK,uBAAuB,CAAC,OAAO,CAAC,CAC5C,CACF,EACDvB,EAAE,CAACkB,OAAO,CAACM,iCAAiC,CAAC,OAAO,CAAC,CACtD,CAAC;MACJ;MAEA,MAAMC,cAAc,GAAIhC,GAAG,CAACiC,8BAA8B,CAAC1B,EAAE,CAAC,CAACM,IAAI,EAAEQ,UAAU,EAAGa,UAAU,IAC1F3B,EAAE,CAACkB,OAAO,CAACU,oBAAoB,CAC7B5B,EAAE,CAACkB,OAAO,CAACW,8BAA8B,CACvC7B,EAAE,CAACkB,OAAO,CAACY,gBAAgB,CAAChB,UAAU,CAAC,EACvC,iBAAiB,CAClB,EACDiB,SAAS,EACT,CACE/B,EAAE,CAACkB,OAAO,CAACc,mBAAmB,CAACD,SAAS,EAAEA,SAAS,EAAE,EAAE,EAAEA,SAAS,EAAEA,SAAS,EAAEJ,UAAU,CAAC,EAC1F3B,EAAE,CAACkB,OAAO,CAACc,mBAAmB,CAC5BD,SAAS,EACTA,SAAS,EACT,CAAC/B,EAAE,CAACkB,OAAO,CAACe,0BAA0B,CAACF,SAAS,EAAEA,SAAS,EAAE,OAAO,CAAC,CAAC,EACtEA,SAAS,EACTA,SAAS,EACTd,cAAc,EAAE,CACjB,CACF,CACF,CAAE;MAELJ,aAAa,CAACqB,WAAW,CAACjC,UAAU,EAAEK,IAAI,EAAEmB,cAAc,CAAC;IAC7D;GACD,CAAC,CAAC;CAEV,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","filter","isFunctionDeclaration","node","body","getCombinedModifierFlags","ModifierFlags","Async","head","map","changeTracker","effectName","getEffectModuleIdentifier","errorCount","createErrorADT","factory","createObjectLiteralExpression","createPropertyAssignment","createAsExpression","createStringLiteral","createTypeReferenceNode","createShorthandPropertyAssignment","newDeclaration","transformAsyncAwaitToEffectGen","expression","createCallExpression","createPropertyAccessExpression","createIdentifier","undefined","createArrowFunction","createParameterDeclaration","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/asyncAwaitToGenTryPromise.ts"],"sourcesContent":[null]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":"AAkBA,OAAM,SAAUA,cAAc,CAACC,UAA8B;EAC3D,OAAOA,UAAU;AACnB","names":["createRefactor","definition"],"sourceRoot":"","sources":["../../../src/refactors/definition.ts"],"sourcesContent":[null]}
|
|
@@ -1,43 +1,38 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
1
|
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
4
|
-
import * as
|
|
5
|
-
import { pipe } from "@
|
|
6
|
-
import * as O from "@
|
|
2
|
+
import * as AST from "@effect/language-service/utils/AST";
|
|
3
|
+
import { pipe } from "@effect/language-service/utils/Function";
|
|
4
|
+
import * as O from "@effect/language-service/utils/Option";
|
|
5
|
+
import * as Ch from "@effect/language-service/utils/ReadonlyArray";
|
|
7
6
|
export default /*#__PURE__*/createRefactor({
|
|
8
7
|
name: "effect/functionToArrow",
|
|
9
8
|
description: "Convert to arrow",
|
|
10
|
-
apply: (sourceFile, textRange) =>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const statement = body.statements[0];
|
|
20
|
-
if (statement && ts.isReturnStatement(statement) && statement.expression) {
|
|
21
|
-
newBody = statement.expression;
|
|
22
|
-
}
|
|
9
|
+
apply: ts => (sourceFile, textRange) => pipe(pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isFunctionDeclaration)), Ch.concat(pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isMethodDeclaration))), Ch.filter(node => !!node.body), Ch.filter(node => !!node.name && AST.isNodeInRange(textRange)(node.name)), Ch.head, O.map(node => ({
|
|
10
|
+
description: "Convert to arrow",
|
|
11
|
+
apply: changeTracker => {
|
|
12
|
+
const body = node.body;
|
|
13
|
+
let newBody = ts.factory.createBlock(body.statements);
|
|
14
|
+
if (body.statements.length === 1) {
|
|
15
|
+
const statement = body.statements[0];
|
|
16
|
+
if (statement && ts.isReturnStatement(statement) && statement.expression) {
|
|
17
|
+
newBody = statement.expression;
|
|
23
18
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
})
|
|
19
|
+
}
|
|
20
|
+
let arrowFlags = ts.getCombinedModifierFlags(node);
|
|
21
|
+
arrowFlags &= ~ts.ModifierFlags.Export;
|
|
22
|
+
arrowFlags &= ~ts.ModifierFlags.Default;
|
|
23
|
+
const arrowModifiers = ts.factory.createModifiersFromModifierFlags(arrowFlags);
|
|
24
|
+
const arrowFunction = ts.factory.createArrowFunction(arrowModifiers, node.typeParameters, node.parameters, undefined, ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), newBody);
|
|
25
|
+
let constFlags = ts.getCombinedModifierFlags(node);
|
|
26
|
+
constFlags &= ~arrowFlags;
|
|
27
|
+
const constModifiers = ts.factory.createModifiersFromModifierFlags(constFlags);
|
|
28
|
+
let newDeclaration = node;
|
|
29
|
+
if (ts.isMethodDeclaration(node)) {
|
|
30
|
+
newDeclaration = ts.factory.createPropertyDeclaration(constModifiers, node.name, undefined, undefined, arrowFunction);
|
|
31
|
+
} else if (ts.isFunctionDeclaration(node)) {
|
|
32
|
+
newDeclaration = ts.factory.createVariableStatement(constModifiers, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(node.name, undefined, undefined, arrowFunction)], ts.NodeFlags.Const));
|
|
33
|
+
}
|
|
34
|
+
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
35
|
+
}
|
|
36
|
+
})))
|
|
42
37
|
});
|
|
43
38
|
//# sourceMappingURL=functionToArrow.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionToArrow.mjs","mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"functionToArrow.mjs","mappings":"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","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","filter","isFunctionDeclaration","concat","isMethodDeclaration","node","body","isNodeInRange","head","map","changeTracker","newBody","factory","createBlock","statements","length","statement","isReturnStatement","expression","arrowFlags","getCombinedModifierFlags","ModifierFlags","Export","Default","arrowModifiers","createModifiersFromModifierFlags","arrowFunction","createArrowFunction","typeParameters","parameters","undefined","createToken","SyntaxKind","EqualsGreaterThanToken","constFlags","constModifiers","newDeclaration","createPropertyDeclaration","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/functionToArrow.ts"],"sourcesContent":[null]}
|