@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.
Files changed (99) hide show
  1. package/index.cjs +1457 -0
  2. package/package.json +18 -32
  3. package/README.md +0 -57
  4. package/_mjs/index.mjs +0 -71
  5. package/_mjs/index.mjs.map +0 -1
  6. package/_mjs/refactors/asyncAwaitToGen.mjs +0 -19
  7. package/_mjs/refactors/asyncAwaitToGen.mjs.map +0 -1
  8. package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs +0 -24
  9. package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs.map +0 -1
  10. package/_mjs/refactors/definition.mjs +0 -4
  11. package/_mjs/refactors/definition.mjs.map +0 -1
  12. package/_mjs/refactors/functionToArrow.mjs +0 -39
  13. package/_mjs/refactors/functionToArrow.mjs.map +0 -1
  14. package/_mjs/refactors/index.mjs +0 -19
  15. package/_mjs/refactors/index.mjs.map +0 -1
  16. package/_mjs/refactors/pipeableToDatafirst.mjs +0 -38
  17. package/_mjs/refactors/pipeableToDatafirst.mjs.map +0 -1
  18. package/_mjs/refactors/toggleLazyConst.mjs +0 -32
  19. package/_mjs/refactors/toggleLazyConst.mjs.map +0 -1
  20. package/_mjs/refactors/toggleReturnTypeAnnotation.mjs +0 -40
  21. package/_mjs/refactors/toggleReturnTypeAnnotation.mjs.map +0 -1
  22. package/_mjs/refactors/toggleTypeAnnotation.mjs +0 -32
  23. package/_mjs/refactors/toggleTypeAnnotation.mjs.map +0 -1
  24. package/_mjs/refactors/wrapWithPipe.mjs +0 -18
  25. package/_mjs/refactors/wrapWithPipe.mjs.map +0 -1
  26. package/_mjs/transformer.mjs +0 -163
  27. package/_mjs/transformer.mjs.map +0 -1
  28. package/_mjs/utils/AST.mjs +0 -210
  29. package/_mjs/utils/AST.mjs.map +0 -1
  30. package/_mjs/utils/Function.mjs +0 -31
  31. package/_mjs/utils/Function.mjs.map +0 -1
  32. package/_mjs/utils/Option.mjs +0 -15
  33. package/_mjs/utils/Option.mjs.map +0 -1
  34. package/_mjs/utils/ReadonlyArray.mjs +0 -12
  35. package/_mjs/utils/ReadonlyArray.mjs.map +0 -1
  36. package/index.d.ts +0 -2
  37. package/index.d.ts.map +0 -1
  38. package/index.js +0 -76
  39. package/index.js.map +0 -1
  40. package/refactors/asyncAwaitToGen.d.ts +0 -3
  41. package/refactors/asyncAwaitToGen.d.ts.map +0 -1
  42. package/refactors/asyncAwaitToGen.js +0 -28
  43. package/refactors/asyncAwaitToGen.js.map +0 -1
  44. package/refactors/asyncAwaitToGenTryPromise.d.ts +0 -3
  45. package/refactors/asyncAwaitToGenTryPromise.d.ts.map +0 -1
  46. package/refactors/asyncAwaitToGenTryPromise.js +0 -33
  47. package/refactors/asyncAwaitToGenTryPromise.js.map +0 -1
  48. package/refactors/definition.d.ts +0 -15
  49. package/refactors/definition.d.ts.map +0 -1
  50. package/refactors/definition.js +0 -10
  51. package/refactors/definition.js.map +0 -1
  52. package/refactors/functionToArrow.d.ts +0 -3
  53. package/refactors/functionToArrow.d.ts.map +0 -1
  54. package/refactors/functionToArrow.js +0 -48
  55. package/refactors/functionToArrow.js.map +0 -1
  56. package/refactors/index.d.ts +0 -12
  57. package/refactors/index.d.ts.map +0 -1
  58. package/refactors/index.js +0 -27
  59. package/refactors/index.js.map +0 -1
  60. package/refactors/pipeableToDatafirst.d.ts +0 -3
  61. package/refactors/pipeableToDatafirst.d.ts.map +0 -1
  62. package/refactors/pipeableToDatafirst.js +0 -47
  63. package/refactors/pipeableToDatafirst.js.map +0 -1
  64. package/refactors/toggleLazyConst.d.ts +0 -3
  65. package/refactors/toggleLazyConst.d.ts.map +0 -1
  66. package/refactors/toggleLazyConst.js +0 -41
  67. package/refactors/toggleLazyConst.js.map +0 -1
  68. package/refactors/toggleReturnTypeAnnotation.d.ts +0 -3
  69. package/refactors/toggleReturnTypeAnnotation.d.ts.map +0 -1
  70. package/refactors/toggleReturnTypeAnnotation.js +0 -49
  71. package/refactors/toggleReturnTypeAnnotation.js.map +0 -1
  72. package/refactors/toggleTypeAnnotation.d.ts +0 -3
  73. package/refactors/toggleTypeAnnotation.d.ts.map +0 -1
  74. package/refactors/toggleTypeAnnotation.js +0 -41
  75. package/refactors/toggleTypeAnnotation.js.map +0 -1
  76. package/refactors/wrapWithPipe.d.ts +0 -3
  77. package/refactors/wrapWithPipe.d.ts.map +0 -1
  78. package/refactors/wrapWithPipe.js +0 -27
  79. package/refactors/wrapWithPipe.js.map +0 -1
  80. package/transformer.d.ts +0 -27
  81. package/transformer.d.ts.map +0 -1
  82. package/transformer.js +0 -170
  83. package/transformer.js.map +0 -1
  84. package/utils/AST.d.ts +0 -120
  85. package/utils/AST.d.ts.map +0 -1
  86. package/utils/AST.js +0 -235
  87. package/utils/AST.js.map +0 -1
  88. package/utils/Function.d.ts +0 -21
  89. package/utils/Function.d.ts.map +0 -1
  90. package/utils/Function.js +0 -37
  91. package/utils/Function.js.map +0 -1
  92. package/utils/Option.d.ts +0 -18
  93. package/utils/Option.d.ts.map +0 -1
  94. package/utils/Option.js +0 -30
  95. package/utils/Option.js.map +0 -1
  96. package/utils/ReadonlyArray.d.ts +0 -17
  97. package/utils/ReadonlyArray.d.ts.map +0 -1
  98. package/utils/ReadonlyArray.js +0 -30
  99. 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.20",
4
- "license": "MIT",
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
- "dependencies": {
10
- "@fp-ts/core": "~0.0.9",
11
- "@fp-ts/data": "~0.0.22"
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
- "sideEffects": [],
18
- "exports": {
19
- ".": {
20
- "import": {
21
- "types": "./index.d.ts",
22
- "default": "./_mjs/index.mjs"
23
- },
24
- "require": {
25
- "types": "./index.d.ts",
26
- "default": "./index.js"
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
- ![](images/add-pipe.gif)
30
-
31
- Transform a set of function calls to a pipe() call.
32
-
33
- ### Pipeable to DataFirst
34
-
35
- ![](images/pipeable-to-datafirst.gif)
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
- ![](images/toggle-type-annotation.gif)
44
-
45
- With a single refactor, adds or removes type annotations from the definition.
46
-
47
- ### async-await to Effect.gen
48
-
49
- ![](images/async-await-to-gen.gif)
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
- ![](images/async-await-to-gen-try-promise.gif)
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
@@ -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,4 +0,0 @@
1
- export function createRefactor(definition) {
2
- return definition;
3
- }
4
- //# sourceMappingURL=definition.mjs.map
@@ -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]}
@@ -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]}