@effect/language-service 0.0.20 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +1457 -0
- package/package.json +18 -32
- package/README.md +0 -57
- package/_mjs/index.mjs +0 -71
- package/_mjs/index.mjs.map +0 -1
- package/_mjs/refactors/asyncAwaitToGen.mjs +0 -19
- package/_mjs/refactors/asyncAwaitToGen.mjs.map +0 -1
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs +0 -24
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs.map +0 -1
- package/_mjs/refactors/definition.mjs +0 -4
- package/_mjs/refactors/definition.mjs.map +0 -1
- package/_mjs/refactors/functionToArrow.mjs +0 -39
- package/_mjs/refactors/functionToArrow.mjs.map +0 -1
- package/_mjs/refactors/index.mjs +0 -19
- package/_mjs/refactors/index.mjs.map +0 -1
- package/_mjs/refactors/pipeableToDatafirst.mjs +0 -38
- package/_mjs/refactors/pipeableToDatafirst.mjs.map +0 -1
- package/_mjs/refactors/toggleLazyConst.mjs +0 -32
- package/_mjs/refactors/toggleLazyConst.mjs.map +0 -1
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs +0 -40
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs.map +0 -1
- package/_mjs/refactors/toggleTypeAnnotation.mjs +0 -32
- package/_mjs/refactors/toggleTypeAnnotation.mjs.map +0 -1
- package/_mjs/refactors/wrapWithPipe.mjs +0 -18
- package/_mjs/refactors/wrapWithPipe.mjs.map +0 -1
- package/_mjs/transformer.mjs +0 -163
- package/_mjs/transformer.mjs.map +0 -1
- package/_mjs/utils/AST.mjs +0 -210
- package/_mjs/utils/AST.mjs.map +0 -1
- package/_mjs/utils/Function.mjs +0 -31
- package/_mjs/utils/Function.mjs.map +0 -1
- package/_mjs/utils/Option.mjs +0 -15
- package/_mjs/utils/Option.mjs.map +0 -1
- package/_mjs/utils/ReadonlyArray.mjs +0 -12
- package/_mjs/utils/ReadonlyArray.mjs.map +0 -1
- package/index.d.ts +0 -2
- package/index.d.ts.map +0 -1
- package/index.js +0 -76
- package/index.js.map +0 -1
- package/refactors/asyncAwaitToGen.d.ts +0 -3
- package/refactors/asyncAwaitToGen.d.ts.map +0 -1
- package/refactors/asyncAwaitToGen.js +0 -28
- package/refactors/asyncAwaitToGen.js.map +0 -1
- package/refactors/asyncAwaitToGenTryPromise.d.ts +0 -3
- package/refactors/asyncAwaitToGenTryPromise.d.ts.map +0 -1
- package/refactors/asyncAwaitToGenTryPromise.js +0 -33
- package/refactors/asyncAwaitToGenTryPromise.js.map +0 -1
- package/refactors/definition.d.ts +0 -15
- package/refactors/definition.d.ts.map +0 -1
- package/refactors/definition.js +0 -10
- package/refactors/definition.js.map +0 -1
- package/refactors/functionToArrow.d.ts +0 -3
- package/refactors/functionToArrow.d.ts.map +0 -1
- package/refactors/functionToArrow.js +0 -48
- package/refactors/functionToArrow.js.map +0 -1
- package/refactors/index.d.ts +0 -12
- package/refactors/index.d.ts.map +0 -1
- package/refactors/index.js +0 -27
- package/refactors/index.js.map +0 -1
- package/refactors/pipeableToDatafirst.d.ts +0 -3
- package/refactors/pipeableToDatafirst.d.ts.map +0 -1
- package/refactors/pipeableToDatafirst.js +0 -47
- package/refactors/pipeableToDatafirst.js.map +0 -1
- package/refactors/toggleLazyConst.d.ts +0 -3
- package/refactors/toggleLazyConst.d.ts.map +0 -1
- package/refactors/toggleLazyConst.js +0 -41
- package/refactors/toggleLazyConst.js.map +0 -1
- package/refactors/toggleReturnTypeAnnotation.d.ts +0 -3
- package/refactors/toggleReturnTypeAnnotation.d.ts.map +0 -1
- package/refactors/toggleReturnTypeAnnotation.js +0 -49
- package/refactors/toggleReturnTypeAnnotation.js.map +0 -1
- package/refactors/toggleTypeAnnotation.d.ts +0 -3
- package/refactors/toggleTypeAnnotation.d.ts.map +0 -1
- package/refactors/toggleTypeAnnotation.js +0 -41
- package/refactors/toggleTypeAnnotation.js.map +0 -1
- package/refactors/wrapWithPipe.d.ts +0 -3
- package/refactors/wrapWithPipe.d.ts.map +0 -1
- package/refactors/wrapWithPipe.js +0 -27
- package/refactors/wrapWithPipe.js.map +0 -1
- package/transformer.d.ts +0 -27
- package/transformer.d.ts.map +0 -1
- package/transformer.js +0 -170
- package/transformer.js.map +0 -1
- package/utils/AST.d.ts +0 -120
- package/utils/AST.d.ts.map +0 -1
- package/utils/AST.js +0 -235
- package/utils/AST.js.map +0 -1
- package/utils/Function.d.ts +0 -21
- package/utils/Function.d.ts.map +0 -1
- package/utils/Function.js +0 -37
- package/utils/Function.js.map +0 -1
- package/utils/Option.d.ts +0 -18
- package/utils/Option.d.ts.map +0 -1
- package/utils/Option.js +0 -30
- package/utils/Option.js.map +0 -1
- package/utils/ReadonlyArray.d.ts +0 -17
- package/utils/ReadonlyArray.d.ts.map +0 -1
- package/utils/ReadonlyArray.js +0 -30
- package/utils/ReadonlyArray.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,40 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/language-service",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A Language-Service Plugin to Refactor and Diagnostic effect-ts projects",
|
|
5
|
+
"main": "index.cjs",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
8
|
"url": "https://github.com/Effect-TS/language-service.git"
|
|
8
9
|
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"main": "./index.js",
|
|
14
|
-
"publishConfig": {
|
|
15
|
-
"access": "public"
|
|
10
|
+
"author": "Michael Arnaldi <ma@matechs.com>",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/Effect-TS/language-service/issues"
|
|
16
14
|
},
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
"./*": {
|
|
30
|
-
"import": {
|
|
31
|
-
"types": "./*.d.ts",
|
|
32
|
-
"default": "./_mjs/*.mjs"
|
|
33
|
-
},
|
|
34
|
-
"require": {
|
|
35
|
-
"types": "./*.d.ts",
|
|
36
|
-
"default": "./*.js"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
15
|
+
"homepage": "https://github.com/Effect-TS/language-service",
|
|
16
|
+
"tags": [
|
|
17
|
+
"typescript",
|
|
18
|
+
"algebraic-data-types",
|
|
19
|
+
"functional-programming"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"typescript",
|
|
23
|
+
"algebraic-data-types",
|
|
24
|
+
"functional-programming"
|
|
25
|
+
]
|
|
40
26
|
}
|
package/README.md
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# language-service
|
|
2
|
-
|
|
3
|
-
This package implements a TypeScript language service plugin that allows additional refactors and diagnostics with your VSCode editor (or any editor that supports TypeScript's LSP).
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
After `npm install @effect/language-service` in your project, ensure you set your VSCode to use your workspace TypeScript version.
|
|
8
|
-
|
|
9
|
-
Inside your tsconfig.json, you should add the plugin configuration as follows:
|
|
10
|
-
|
|
11
|
-
```json
|
|
12
|
-
{
|
|
13
|
-
"compilerOptions": {
|
|
14
|
-
"plugins": [
|
|
15
|
-
{
|
|
16
|
-
"name": "@effect/language-service"
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Provided refactors
|
|
24
|
-
|
|
25
|
-
Here's a list of the refactors provided by this language service plugin.
|
|
26
|
-
|
|
27
|
-
### Add pipe
|
|
28
|
-
|
|
29
|
-

|
|
30
|
-
|
|
31
|
-
Transform a set of function calls to a pipe() call.
|
|
32
|
-
|
|
33
|
-
### Pipeable to DataFirst
|
|
34
|
-
|
|
35
|
-

|
|
36
|
-
|
|
37
|
-
Transform a pipe() call into a series of datafirst function calls (where available).
|
|
38
|
-
|
|
39
|
-
Removes useless arrow functions.
|
|
40
|
-
|
|
41
|
-
### Toggle type annotation
|
|
42
|
-
|
|
43
|
-

|
|
44
|
-
|
|
45
|
-
With a single refactor, adds or removes type annotations from the definition.
|
|
46
|
-
|
|
47
|
-
### async-await to Effect.gen
|
|
48
|
-
|
|
49
|
-

|
|
50
|
-
|
|
51
|
-
Transform an async function definition, into an Effect by using Effect.gen.
|
|
52
|
-
|
|
53
|
-
### async-await to Effect.gen with tryPromise
|
|
54
|
-
|
|
55
|
-

|
|
56
|
-
|
|
57
|
-
Transform an async function definition, into an Effect by using Effect.gen, and generating a tagged error for each promise call.
|
package/_mjs/index.mjs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import refactors from "@effect/language-service/refactors/index";
|
|
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
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
6
|
-
function init(modules) {
|
|
7
|
-
const ts = modules.typescript;
|
|
8
|
-
function create(info) {
|
|
9
|
-
const languageService = info.languageService;
|
|
10
|
-
// create the proxy
|
|
11
|
-
const proxy = Object.create(null);
|
|
12
|
-
for (const k of Object.keys(info.languageService)) {
|
|
13
|
-
// @ts-expect-error
|
|
14
|
-
proxy[k] = (...args) => languageService[k].apply(languageService, args);
|
|
15
|
-
}
|
|
16
|
-
proxy.getApplicableRefactors = (...args) => {
|
|
17
|
-
const applicableRefactors = languageService.getApplicableRefactors(...args);
|
|
18
|
-
const [fileName, positionOrRange] = args;
|
|
19
|
-
const program = languageService.getProgram();
|
|
20
|
-
if (program) {
|
|
21
|
-
const textRange = AST.toTextRange(positionOrRange);
|
|
22
|
-
const effectRefactors = pipe(AST.getSourceFile(program)(fileName), sourceFile => pipe(Object.values(refactors).map(refactor => pipe(refactor.apply(modules.typescript, program)(sourceFile, textRange), O.map(_ => ({
|
|
23
|
-
name: refactor.name,
|
|
24
|
-
description: refactor.description,
|
|
25
|
-
actions: [{
|
|
26
|
-
name: refactor.name,
|
|
27
|
-
description: _.description,
|
|
28
|
-
kind: _.kind
|
|
29
|
-
}]
|
|
30
|
-
})))), _ => _.reduce((arr, maybeRefactor) => arr.concat(O.isSome(maybeRefactor) ? [maybeRefactor.value] : []), [])));
|
|
31
|
-
info.project.projectService.logger.info("[@effect/language-service] possible refactors are " + JSON.stringify(effectRefactors));
|
|
32
|
-
return applicableRefactors.concat(effectRefactors);
|
|
33
|
-
}
|
|
34
|
-
return applicableRefactors;
|
|
35
|
-
};
|
|
36
|
-
proxy.getEditsForRefactor = (fileName, formatOptions, positionOrRange, refactorName, actionName, preferences, ...args) => {
|
|
37
|
-
const program = languageService.getProgram();
|
|
38
|
-
if (program) {
|
|
39
|
-
for (const refactor of Object.values(refactors)) {
|
|
40
|
-
if (refactor.name === refactorName) {
|
|
41
|
-
const sourceFile = AST.getSourceFile(program)(fileName);
|
|
42
|
-
const textRange = AST.toTextRange(positionOrRange);
|
|
43
|
-
const possibleRefactor = refactor.apply(modules.typescript, program)(sourceFile, textRange);
|
|
44
|
-
if (O.isNone(possibleRefactor)) {
|
|
45
|
-
info.project.projectService.logger.info("[@effect/language-service] requested refactor " + refactorName + " is not applicable");
|
|
46
|
-
return {
|
|
47
|
-
edits: []
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const formatContext = ts.formatting.getFormatContext(formatOptions, info.languageServiceHost);
|
|
51
|
-
const edits = ts.textChanges.ChangeTracker.with({
|
|
52
|
-
formatContext,
|
|
53
|
-
host: info.languageServiceHost,
|
|
54
|
-
preferences: preferences || {}
|
|
55
|
-
}, changeTracker => possibleRefactor.value.apply(changeTracker));
|
|
56
|
-
return {
|
|
57
|
-
edits
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return languageService.getEditsForRefactor(fileName, formatOptions, positionOrRange, refactorName, actionName, preferences, ...args);
|
|
63
|
-
};
|
|
64
|
-
return proxy;
|
|
65
|
-
}
|
|
66
|
-
return {
|
|
67
|
-
create
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
module.exports = init;
|
|
71
|
-
//# sourceMappingURL=index.mjs.map
|
package/_mjs/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","mappings":"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","names":["refactors","AST","pipe","O","init","modules","ts","typescript","create","info","languageService","proxy","Object","k","keys","args","apply","getApplicableRefactors","applicableRefactors","fileName","positionOrRange","program","getProgram","textRange","toTextRange","effectRefactors","getSourceFile","sourceFile","values","map","refactor","_","name","description","actions","kind","reduce","arr","maybeRefactor","concat","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,19 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/asyncAwaitToGen",
|
|
8
|
-
description: "Convert to Effect.gen",
|
|
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
|
-
kind: "refactor.rewrite.effect.asyncAwaitToGen",
|
|
11
|
-
description: "Rewrite to Effect.gen",
|
|
12
|
-
apply: changeTracker => {
|
|
13
|
-
const effectName = AST.getEffectModuleIdentifier(ts)(sourceFile);
|
|
14
|
-
const newDeclaration = AST.transformAsyncAwaitToEffectGen(ts)(node, effectName, expression => ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(effectName), "promise"), undefined, [expression]));
|
|
15
|
-
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
16
|
-
}
|
|
17
|
-
})))
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=asyncAwaitToGen.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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;IACfO,IAAI,EAAE,yCAAyC;IAC/Cf,WAAW,EAAE,uBAAuB;IACpCC,KAAK,EAAGe,aAAa,IAAI;MACvB,MAAMC,UAAU,GAAGtB,GAAG,CAACuB,yBAAyB,CAAChB,EAAE,CAAC,CAACC,UAAU,CAAC;MAEhE,MAAMgB,cAAc,GAAGxB,GAAG,CAACyB,8BAA8B,CAAClB,EAAE,CAAC,CAACM,IAAI,EAAES,UAAU,EAAGI,UAAU,IACzFnB,EAAE,CAACoB,OAAO,CAACC,oBAAoB,CAC7BrB,EAAE,CAACoB,OAAO,CAACE,8BAA8B,CACvCtB,EAAE,CAACoB,OAAO,CAACG,gBAAgB,CAACR,UAAU,CAAC,EACvC,SAAS,CACV,EACDS,SAAS,EACT,CAACL,UAAU,CAAC,CACb,CAAC;MAEJL,aAAa,CAACW,WAAW,CAACxB,UAAU,EAAEK,IAAI,EAAEW,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","kind","changeTracker","effectName","getEffectModuleIdentifier","newDeclaration","transformAsyncAwaitToEffectGen","expression","factory","createCallExpression","createPropertyAccessExpression","createIdentifier","undefined","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/asyncAwaitToGen.ts"],"sourcesContent":[null]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/asyncAwaitToGenTryPromise",
|
|
8
|
-
description: "Convert to Effect.gen with failures",
|
|
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
|
-
kind: "refactor.rewrite.effect.asyncAwaitToGenTryPromise",
|
|
11
|
-
description: "Rewrite to Effect.gen with failures",
|
|
12
|
-
apply: changeTracker => {
|
|
13
|
-
const effectName = AST.getEffectModuleIdentifier(ts)(sourceFile);
|
|
14
|
-
let errorCount = 0;
|
|
15
|
-
function createErrorADT() {
|
|
16
|
-
errorCount++;
|
|
17
|
-
return ts.factory.createObjectLiteralExpression([ts.factory.createPropertyAssignment("_tag", ts.factory.createAsExpression(ts.factory.createStringLiteral("Error" + errorCount), ts.factory.createTypeReferenceNode("const"))), ts.factory.createShorthandPropertyAssignment("error")]);
|
|
18
|
-
}
|
|
19
|
-
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())]));
|
|
20
|
-
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
21
|
-
}
|
|
22
|
-
})))
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=asyncAwaitToGenTryPromise.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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;IACfO,IAAI,EAAE,mDAAmD;IACzDf,WAAW,EAAE,qCAAqC;IAClDC,KAAK,EAAGe,aAAa,IAAI;MACvB,MAAMC,UAAU,GAAGtB,GAAG,CAACuB,yBAAyB,CAAChB,EAAE,CAAC,CAACC,UAAU,CAAC;MAEhE,IAAIgB,UAAU,GAAG,CAAC;MAElB,SAASC,cAAc;QACrBD,UAAU,EAAE;QACZ,OAAOjB,EAAE,CAACmB,OAAO,CAACC,6BAA6B,CAAC,CAC9CpB,EAAE,CAACmB,OAAO,CAACE,wBAAwB,CACjC,MAAM,EACNrB,EAAE,CAACmB,OAAO,CAACG,kBAAkB,CAC3BtB,EAAE,CAACmB,OAAO,CAACI,mBAAmB,CAAC,OAAO,GAAGN,UAAU,CAAC,EACpDjB,EAAE,CAACmB,OAAO,CAACK,uBAAuB,CAAC,OAAO,CAAC,CAC5C,CACF,EACDxB,EAAE,CAACmB,OAAO,CAACM,iCAAiC,CAAC,OAAO,CAAC,CACtD,CAAC;MACJ;MAEA,MAAMC,cAAc,GAAIjC,GAAG,CAACkC,8BAA8B,CAAC3B,EAAE,CAAC,CAACM,IAAI,EAAES,UAAU,EAAGa,UAAU,IAC1F5B,EAAE,CAACmB,OAAO,CAACU,oBAAoB,CAC7B7B,EAAE,CAACmB,OAAO,CAACW,8BAA8B,CACvC9B,EAAE,CAACmB,OAAO,CAACY,gBAAgB,CAAChB,UAAU,CAAC,EACvC,iBAAiB,CAClB,EACDiB,SAAS,EACT,CACEhC,EAAE,CAACmB,OAAO,CAACc,mBAAmB,CAACD,SAAS,EAAEA,SAAS,EAAE,EAAE,EAAEA,SAAS,EAAEA,SAAS,EAAEJ,UAAU,CAAC,EAC1F5B,EAAE,CAACmB,OAAO,CAACc,mBAAmB,CAC5BD,SAAS,EACTA,SAAS,EACT,CAAChC,EAAE,CAACmB,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,CAAClC,UAAU,EAAEK,IAAI,EAAEoB,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","kind","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"AAmBA,OAAM,SAAUA,cAAc,CAACC,UAA8B;EAC3D,OAAOA,UAAU;AACnB","names":["createRefactor","definition"],"sourceRoot":"","sources":["../../../src/refactors/definition.ts"],"sourcesContent":[null]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/functionToArrow",
|
|
8
|
-
description: "Convert to arrow",
|
|
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
|
-
kind: "refactor.rewrite.effect.functionToArrow",
|
|
11
|
-
description: "Convert to arrow",
|
|
12
|
-
apply: changeTracker => {
|
|
13
|
-
const body = node.body;
|
|
14
|
-
let newBody = ts.factory.createBlock(body.statements);
|
|
15
|
-
if (body.statements.length === 1) {
|
|
16
|
-
const statement = body.statements[0];
|
|
17
|
-
if (statement && ts.isReturnStatement(statement) && statement.expression) {
|
|
18
|
-
newBody = statement.expression;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
let arrowFlags = ts.getCombinedModifierFlags(node);
|
|
22
|
-
arrowFlags &= ~ts.ModifierFlags.Export;
|
|
23
|
-
arrowFlags &= ~ts.ModifierFlags.Default;
|
|
24
|
-
const arrowModifiers = ts.factory.createModifiersFromModifierFlags(arrowFlags);
|
|
25
|
-
const arrowFunction = ts.factory.createArrowFunction(arrowModifiers, node.typeParameters, node.parameters, undefined, ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), newBody);
|
|
26
|
-
let constFlags = ts.getCombinedModifierFlags(node);
|
|
27
|
-
constFlags &= ~arrowFlags;
|
|
28
|
-
const constModifiers = ts.factory.createModifiersFromModifierFlags(constFlags);
|
|
29
|
-
let newDeclaration = node;
|
|
30
|
-
if (ts.isMethodDeclaration(node)) {
|
|
31
|
-
newDeclaration = ts.factory.createPropertyDeclaration(constModifiers, node.name, undefined, undefined, arrowFunction);
|
|
32
|
-
} else if (ts.isFunctionDeclaration(node)) {
|
|
33
|
-
newDeclaration = ts.factory.createVariableStatement(constModifiers, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(node.name, undefined, undefined, arrowFunction)], ts.NodeFlags.Const));
|
|
34
|
-
}
|
|
35
|
-
changeTracker.replaceNode(sourceFile, node, newDeclaration);
|
|
36
|
-
}
|
|
37
|
-
})))
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=functionToArrow.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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","kind","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]}
|
package/_mjs/refactors/index.mjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import asyncAwaitToGen from "@effect/language-service/refactors/asyncAwaitToGen";
|
|
2
|
-
import asyncAwaitToGenTryPromise from "@effect/language-service/refactors/asyncAwaitToGenTryPromise";
|
|
3
|
-
import functionToArrow from "@effect/language-service/refactors/functionToArrow";
|
|
4
|
-
import pipeableToDatafirst from "@effect/language-service/refactors/pipeableToDatafirst";
|
|
5
|
-
import toggleLazyConst from "@effect/language-service/refactors/toggleLazyConst";
|
|
6
|
-
import toggleReturnTypeAnnotation from "@effect/language-service/refactors/toggleReturnTypeAnnotation";
|
|
7
|
-
import toggleTypeAnnotation from "@effect/language-service/refactors/toggleTypeAnnotation";
|
|
8
|
-
import wrapWithPipe from "@effect/language-service/refactors/wrapWithPipe";
|
|
9
|
-
export default {
|
|
10
|
-
asyncAwaitToGen,
|
|
11
|
-
asyncAwaitToGenTryPromise,
|
|
12
|
-
functionToArrow,
|
|
13
|
-
toggleTypeAnnotation,
|
|
14
|
-
toggleReturnTypeAnnotation,
|
|
15
|
-
wrapWithPipe,
|
|
16
|
-
pipeableToDatafirst,
|
|
17
|
-
toggleLazyConst
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,eAAe,MAAM,oDAAoD;AAChF,OAAOC,yBAAyB,MAAM,8DAA8D;AACpG,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,mBAAmB,MAAM,wDAAwD;AACxF,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,0BAA0B,MAAM,+DAA+D;AACtG,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,OAAOC,YAAY,MAAM,iDAAiD;AAE1E,eAAe;EACbP,eAAe;EACfC,yBAAyB;EACzBC,eAAe;EACfI,oBAAoB;EACpBD,0BAA0B;EAC1BE,YAAY;EACZJ,mBAAmB;EACnBC;CACD","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","pipeableToDatafirst","toggleLazyConst","toggleReturnTypeAnnotation","toggleTypeAnnotation","wrapWithPipe"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/pipeableToDatafirst",
|
|
8
|
-
description: "Rewrite to datafirst",
|
|
9
|
-
apply: (ts, program) => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(AST.isPipeCall(ts)), Ch.filter(node => AST.isNodeInRange(textRange)(node.expression)), Ch.filter(node => node.arguments.length > 0), Ch.map(node => {
|
|
10
|
-
let newNode = node.arguments[0];
|
|
11
|
-
let didSomething = false;
|
|
12
|
-
for (let i = 1; i < node.arguments.length; i++) {
|
|
13
|
-
const arg = node.arguments[i];
|
|
14
|
-
const a = AST.asDataFirstExpression(ts, program.getTypeChecker())(arg, newNode);
|
|
15
|
-
if (O.isSome(a)) {
|
|
16
|
-
// use found datafirst
|
|
17
|
-
newNode = a.value;
|
|
18
|
-
didSomething = true;
|
|
19
|
-
} else {
|
|
20
|
-
if (AST.isPipeCall(ts)(newNode)) {
|
|
21
|
-
// avoid nested pipe(a, pipe(b, c))
|
|
22
|
-
newNode = ts.factory.createCallExpression(ts.factory.createIdentifier("pipe"), [], newNode.arguments.concat([arg]));
|
|
23
|
-
} else {
|
|
24
|
-
// no datafirst, keep pipeable
|
|
25
|
-
newNode = ts.factory.createCallExpression(ts.factory.createIdentifier("pipe"), [], [newNode, arg]);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return didSomething ? O.some([node, newNode]) : O.none;
|
|
30
|
-
}), Ch.filter(O.isSome), Ch.map(_ => _.value), Ch.head, O.map(([node, newNode]) => ({
|
|
31
|
-
kind: "refactor.rewrite.effect.pipeableToDatafirst",
|
|
32
|
-
description: "Rewrite to datafirst",
|
|
33
|
-
apply: changeTracker => {
|
|
34
|
-
changeTracker.replaceNode(sourceFile, node, newNode);
|
|
35
|
-
}
|
|
36
|
-
})))
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=pipeableToDatafirst.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeableToDatafirst.mjs","mappings":"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","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","program","sourceFile","textRange","getNodesContainingRange","filter","isPipeCall","node","isNodeInRange","expression","arguments","length","map","newNode","didSomething","i","arg","a","asDataFirstExpression","getTypeChecker","isSome","value","factory","createCallExpression","createIdentifier","concat","some","none","_","head","kind","changeTracker","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/pipeableToDatafirst.ts"],"sourcesContent":[null]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/toggleLazyConst",
|
|
8
|
-
description: "Toggle type annotation",
|
|
9
|
-
apply: ts => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isVariableDeclaration), Ch.filter(node => AST.isNodeInRange(textRange)(node.name)), Ch.filter(node => !!node.initializer && !(ts.isArrowFunction(node.initializer) && ts.isBlock(node.initializer.body))), Ch.head, O.map(node => ({
|
|
10
|
-
kind: "refactor.rewrite.effect.toggleLazyConst",
|
|
11
|
-
description: "Toggle lazy const",
|
|
12
|
-
apply: changeTracker => {
|
|
13
|
-
const initializer = node.initializer;
|
|
14
|
-
if (ts.isArrowFunction(initializer) && initializer.parameters.length === 0) {
|
|
15
|
-
// delete eventual closing bracked
|
|
16
|
-
changeTracker.deleteRange(sourceFile, {
|
|
17
|
-
pos: initializer.body.end,
|
|
18
|
-
end: initializer.end
|
|
19
|
-
});
|
|
20
|
-
// remove () => {
|
|
21
|
-
changeTracker.deleteRange(sourceFile, {
|
|
22
|
-
pos: initializer.pos,
|
|
23
|
-
end: initializer.body.pos
|
|
24
|
-
});
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
// adds () => before
|
|
28
|
-
changeTracker.insertText(sourceFile, initializer.pos, " () =>");
|
|
29
|
-
}
|
|
30
|
-
})))
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=toggleLazyConst.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggleLazyConst.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,wBAAwB;EACrCC,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,IAAKb,GAAG,CAACc,aAAa,CAACL,SAAS,CAAC,CAACI,IAAI,CAACT,IAAI,CAAC,CAAC,EAC5DD,EAAE,CAACQ,MAAM,CAAEE,IAAI,IACb,CAAC,CAACA,IAAI,CAACE,WAAW,IAAI,EAAER,EAAE,CAACS,eAAe,CAACH,IAAI,CAACE,WAAW,CAAC,IAAIR,EAAE,CAACU,OAAO,CAACJ,IAAI,CAACE,WAAW,CAACG,IAAI,CAAC,CAAC,CACnG,EACDf,EAAE,CAACgB,IAAI,EACPjB,CAAC,CAACkB,GAAG,CACFP,IAAI,KAAM;IACTQ,IAAI,EAAE,yCAAyC;IAC/ChB,WAAW,EAAE,mBAAmB;IAChCC,KAAK,EAAGgB,aAAa,IAAI;MACvB,MAAMP,WAAW,GAAGF,IAAI,CAACE,WAAY;MAErC,IAAIR,EAAE,CAACS,eAAe,CAACD,WAAW,CAAC,IAAIA,WAAW,CAACQ,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;QAC1E;QACAF,aAAa,CAACG,WAAW,CAACjB,UAAU,EAAE;UAAEkB,GAAG,EAAEX,WAAW,CAACG,IAAI,CAACS,GAAG;UAAEA,GAAG,EAAEZ,WAAW,CAACY;QAAG,CAAE,CAAC;QAC1F;QACAL,aAAa,CAACG,WAAW,CAACjB,UAAU,EAAE;UAAEkB,GAAG,EAAEX,WAAW,CAACW,GAAG;UAAEC,GAAG,EAAEZ,WAAW,CAACG,IAAI,CAACQ;QAAG,CAAE,CAAC;QAC1F;;MAGF;MACAJ,aAAa,CAACM,UAAU,CAACpB,UAAU,EAAEO,WAAW,CAACW,GAAG,EAAE,QAAQ,CAAC;IACjE;GACD,CAAC,CACH;CAER,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","filter","isVariableDeclaration","node","isNodeInRange","initializer","isArrowFunction","isBlock","body","head","map","kind","changeTracker","parameters","length","deleteRange","pos","end","insertText"],"sourceRoot":"","sources":["../../../src/refactors/toggleLazyConst.ts"],"sourcesContent":[null]}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/toggleReturnTypeAnnotation",
|
|
8
|
-
description: "Toggle return type annotation",
|
|
9
|
-
apply: (ts, program) => (sourceFile, textRange) => {
|
|
10
|
-
function isConvertibleDeclaration(node) {
|
|
11
|
-
switch (node.kind) {
|
|
12
|
-
case ts.SyntaxKind.FunctionDeclaration:
|
|
13
|
-
case ts.SyntaxKind.FunctionExpression:
|
|
14
|
-
case ts.SyntaxKind.ArrowFunction:
|
|
15
|
-
case ts.SyntaxKind.MethodDeclaration:
|
|
16
|
-
return true;
|
|
17
|
-
default:
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(isConvertibleDeclaration), Ch.head, O.map(node => ({
|
|
22
|
-
kind: "refactor.rewrite.effect.toggleReturnTypeAnnotation",
|
|
23
|
-
description: "Toggle return type annotation",
|
|
24
|
-
apply: changeTracker => {
|
|
25
|
-
const typeChecker = program.getTypeChecker();
|
|
26
|
-
if (node.type) {
|
|
27
|
-
AST.removeReturnTypeAnnotation(ts, changeTracker)(sourceFile, node);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const callableType = typeChecker.getTypeAtLocation(node);
|
|
31
|
-
const returnTypes = callableType.getCallSignatures().map(s => s.getReturnType());
|
|
32
|
-
const returnTypeNodes = returnTypes.map(type => typeChecker.typeToTypeNode(type, node, ts.NodeBuilderFlags.NoTruncation)).filter(node => !!node);
|
|
33
|
-
if (returnTypeNodes.length === 0) return;
|
|
34
|
-
const returnTypeNode = returnTypeNodes.length === 1 ? returnTypeNodes[0] : ts.factory.createUnionTypeNode(returnTypeNodes);
|
|
35
|
-
AST.addReturnTypeAnnotation(ts, changeTracker)(sourceFile, node, AST.simplifyTypeNode(ts)(returnTypeNode));
|
|
36
|
-
}
|
|
37
|
-
})));
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=toggleReturnTypeAnnotation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggleReturnTypeAnnotation.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;AASlE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,mCAAmC;EACzCC,WAAW,EAAE,+BAA+B;EAC5CC,KAAK,EAAE,CAACC,EAAE,EAAEC,OAAO,KACjB,CAACC,UAAU,EAAEC,SAAS,KAAI;IACxB,SAASC,wBAAwB,CAACC,IAAa;MAC7C,QAAQA,IAAI,CAACC,IAAI;QACf,KAAKN,EAAE,CAACO,UAAU,CAACC,mBAAmB;QACtC,KAAKR,EAAE,CAACO,UAAU,CAACE,kBAAkB;QACrC,KAAKT,EAAE,CAACO,UAAU,CAACG,aAAa;QAChC,KAAKV,EAAE,CAACO,UAAU,CAACI,iBAAiB;UAClC,OAAO,IAAI;QACb;UACE,OAAO,KAAK;MAAA;IAElB;IAEA,OAAOjB,IAAI,CACTD,GAAG,CAACmB,uBAAuB,CAACZ,EAAE,CAAC,CAACE,UAAU,EAAEC,SAAS,CAAC,EACtDP,EAAE,CAACiB,MAAM,CAACT,wBAAwB,CAAC,EACnCR,EAAE,CAACkB,IAAI,EACPnB,CAAC,CAACoB,GAAG,CACFV,IAAI,KAAM;MACTC,IAAI,EAAE,oDAAoD;MAC1DR,WAAW,EAAE,+BAA+B;MAC5CC,KAAK,EAAGiB,aAAa,IAAI;QACvB,MAAMC,WAAW,GAAGhB,OAAO,CAACiB,cAAc,EAAE;QAE5C,IAAIb,IAAI,CAACc,IAAI,EAAE;UACb1B,GAAG,CAAC2B,0BAA0B,CAACpB,EAAE,EAAEgB,aAAa,CAAC,CAACd,UAAU,EAAEG,IAAI,CAAC;UACnE;;QAGF,MAAMgB,YAAY,GAAGJ,WAAW,CAACK,iBAAiB,CAACjB,IAAI,CAAC;QACxD,MAAMkB,WAAW,GAAGF,YAAY,CAACG,iBAAiB,EAAE,CAACT,GAAG,CAAEU,CAAC,IAAKA,CAAC,CAACC,aAAa,EAAE,CAAC;QAClF,MAAMC,eAAe,GAAGJ,WAAW,CAACR,GAAG,CAAEI,IAAI,IAC3CF,WAAW,CAACW,cAAc,CAACT,IAAI,EAAEd,IAAI,EAAEL,EAAE,CAAC6B,gBAAgB,CAACC,YAAY,CAAC,CACzE,CAACjB,MAAM,CAAER,IAAI,IAA0B,CAAC,CAACA,IAAI,CAAC;QAC/C,IAAIsB,eAAe,CAACI,MAAM,KAAK,CAAC,EAAE;QAClC,MAAMC,cAAc,GAAGL,eAAe,CAACI,MAAM,KAAK,CAAC,GACjDJ,eAAe,CAAC,CAAC,CAAE,GACnB3B,EAAE,CAACiC,OAAO,CAACC,mBAAmB,CAACP,eAAe,CAAC;QAEjDlC,GAAG,CAAC0C,uBAAuB,CAACnC,EAAE,EAAEgB,aAAa,CAAC,CAACd,UAAU,EAAEG,IAAI,EAAEZ,GAAG,CAAC2C,gBAAgB,CAACpC,EAAE,CAAC,CAACgC,cAAc,CAAC,CAAC;MAC5G;KACD,CAAC,CACH,CACF;EACH;CACH,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","program","sourceFile","textRange","isConvertibleDeclaration","node","kind","SyntaxKind","FunctionDeclaration","FunctionExpression","ArrowFunction","MethodDeclaration","getNodesContainingRange","filter","head","map","changeTracker","typeChecker","getTypeChecker","type","removeReturnTypeAnnotation","callableType","getTypeAtLocation","returnTypes","getCallSignatures","s","getReturnType","returnTypeNodes","typeToTypeNode","NodeBuilderFlags","NoTruncation","length","returnTypeNode","factory","createUnionTypeNode","addReturnTypeAnnotation","simplifyTypeNode"],"sourceRoot":"","sources":["../../../src/refactors/toggleReturnTypeAnnotation.ts"],"sourcesContent":[null]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
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";
|
|
6
|
-
export default /*#__PURE__*/createRefactor({
|
|
7
|
-
name: "effect/toggleTypeAnnotation",
|
|
8
|
-
description: "Toggle type annotation",
|
|
9
|
-
apply: (ts, program) => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isVariableDeclaration), Ch.filter(node => AST.isNodeInRange(textRange)(node.name)), Ch.filter(node => !!node.initializer), Ch.head, O.map(node => ({
|
|
10
|
-
kind: "refactor.rewrite.effect.toggleTypeAnnotation",
|
|
11
|
-
description: "Toggle type annotation",
|
|
12
|
-
apply: changeTracker => {
|
|
13
|
-
const typeChecker = program.getTypeChecker();
|
|
14
|
-
if (node.type) {
|
|
15
|
-
changeTracker.deleteRange(sourceFile, {
|
|
16
|
-
pos: node.name.end,
|
|
17
|
-
end: node.type.end
|
|
18
|
-
});
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const initializer = node.initializer;
|
|
22
|
-
const initializerType = typeChecker.getTypeAtLocation(initializer);
|
|
23
|
-
const initializerTypeNode = typeChecker.typeToTypeNode(initializerType, node, ts.NodeBuilderFlags.NoTruncation);
|
|
24
|
-
if (initializerTypeNode) {
|
|
25
|
-
changeTracker.insertNodeAt(sourceFile, node.name.end, AST.simplifyTypeNode(ts)(initializerTypeNode), {
|
|
26
|
-
prefix: ": "
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
})))
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=toggleTypeAnnotation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggleTypeAnnotation.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,6BAA6B;EACnCC,WAAW,EAAE,wBAAwB;EACrCC,KAAK,EAAE,CAACC,EAAE,EAAEC,OAAO,KACjB,CAACC,UAAU,EAAEC,SAAS,KACpBT,IAAI,CACFD,GAAG,CAACW,uBAAuB,CAACJ,EAAE,CAAC,CAACE,UAAU,EAAEC,SAAS,CAAC,EACtDP,EAAE,CAACS,MAAM,CAACL,EAAE,CAACM,qBAAqB,CAAC,EACnCV,EAAE,CAACS,MAAM,CAAEE,IAAI,IAAKd,GAAG,CAACe,aAAa,CAACL,SAAS,CAAC,CAACI,IAAI,CAACV,IAAI,CAAC,CAAC,EAC5DD,EAAE,CAACS,MAAM,CAAEE,IAAI,IAAK,CAAC,CAACA,IAAI,CAACE,WAAW,CAAC,EACvCb,EAAE,CAACc,IAAI,EACPf,CAAC,CAACgB,GAAG,CACFJ,IAAI,KAAM;IACTK,IAAI,EAAE,8CAA8C;IACpDd,WAAW,EAAE,wBAAwB;IACrCC,KAAK,EAAGc,aAAa,IAAI;MACvB,MAAMC,WAAW,GAAGb,OAAO,CAACc,cAAc,EAAE;MAE5C,IAAIR,IAAI,CAACS,IAAI,EAAE;QACbH,aAAa,CAACI,WAAW,CAACf,UAAU,EAAE;UAAEgB,GAAG,EAAEX,IAAI,CAACV,IAAI,CAACsB,GAAG;UAAEA,GAAG,EAAEZ,IAAI,CAACS,IAAI,CAACG;QAAG,CAAE,CAAC;QACjF;;MAGF,MAAMV,WAAW,GAAGF,IAAI,CAACE,WAAY;MACrC,MAAMW,eAAe,GAAGN,WAAW,CAACO,iBAAiB,CAACZ,WAAW,CAAC;MAClE,MAAMa,mBAAmB,GAAGR,WAAW,CAACS,cAAc,CACpDH,eAAe,EACfb,IAAI,EACJP,EAAE,CAACwB,gBAAgB,CAACC,YAAY,CACjC;MACD,IAAIH,mBAAmB,EAAE;QACvBT,aAAa,CAACa,YAAY,CAACxB,UAAU,EAAEK,IAAI,CAACV,IAAI,CAACsB,GAAG,EAAE1B,GAAG,CAACkC,gBAAgB,CAAC3B,EAAE,CAAC,CAACsB,mBAAmB,CAAC,EAAE;UACnGM,MAAM,EAAE;SACT,CAAC;;IAEN;GACD,CAAC,CACH;CAER,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","program","sourceFile","textRange","getNodesContainingRange","filter","isVariableDeclaration","node","isNodeInRange","initializer","head","map","kind","changeTracker","typeChecker","getTypeChecker","type","deleteRange","pos","end","initializerType","getTypeAtLocation","initializerTypeNode","typeToTypeNode","NodeBuilderFlags","NoTruncation","insertNodeAt","simplifyTypeNode","prefix"],"sourceRoot":"","sources":["../../../src/refactors/toggleTypeAnnotation.ts"],"sourcesContent":[null]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
2
|
-
import * as O from "@effect/language-service/utils/Option";
|
|
3
|
-
export default /*#__PURE__*/createRefactor({
|
|
4
|
-
name: "effect/wrapWithPipe",
|
|
5
|
-
description: "Wrap with pipe",
|
|
6
|
-
apply: () => (sourceFile, textRange) => {
|
|
7
|
-
if (textRange.end - textRange.pos === 0) return O.none;
|
|
8
|
-
return O.some({
|
|
9
|
-
kind: "refactor.rewrite.effect.wrapWithPipe",
|
|
10
|
-
description: `Wrap with pipe(...)`,
|
|
11
|
-
apply: changeTracker => {
|
|
12
|
-
changeTracker.insertText(sourceFile, textRange.pos, "pipe(");
|
|
13
|
-
changeTracker.insertText(sourceFile, textRange.end, ")");
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=wrapWithPipe.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrapWithPipe.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAE1D,4BAAeD,cAAc,CAAC;EAC5BE,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,gBAAgB;EAC7BC,KAAK,EAAE,MACL,CAACC,UAAU,EAAEC,SAAS,KAAI;IACxB,IAAIA,SAAS,CAACC,GAAG,GAAGD,SAAS,CAACE,GAAG,KAAK,CAAC,EAAE,OAAOP,CAAC,CAACQ,IAAI;IAEtD,OAAOR,CAAC,CAACS,IAAI,CAAC;MACZC,IAAI,EAAE,sCAAsC;MAC5CR,WAAW,EAAE,qBAAqB;MAClCC,KAAK,EAAGQ,aAAa,IAAI;QACvBA,aAAa,CAACC,UAAU,CAACR,UAAU,EAAEC,SAAS,CAACE,GAAG,EAAE,OAAO,CAAC;QAC5DI,aAAa,CAACC,UAAU,CAACR,UAAU,EAAEC,SAAS,CAACC,GAAG,EAAE,GAAG,CAAC;MAC1D;KACD,CAAC;EACJ;CACH,CAAC","names":["createRefactor","O","name","description","apply","sourceFile","textRange","end","pos","none","some","kind","changeTracker","insertText"],"sourceRoot":"","sources":["../../../src/refactors/wrapWithPipe.ts"],"sourcesContent":[null]}
|