@effect/language-service 0.0.21 → 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 -28
  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/transformer.js DELETED
@@ -1,170 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = effectPlugin;
7
- var _pluginutils = /*#__PURE__*/require("@rollup/pluginutils");
8
- var _typescript = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("typescript"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- class RefCounted {
11
- constructor(ref) {
12
- this.ref = ref;
13
- this.counter = 0;
14
- }
15
- get get() {
16
- this.counter++;
17
- return this.ref;
18
- }
19
- get count() {
20
- return this.counter;
21
- }
22
- }
23
- function effectPlugin(program, options) {
24
- const checker = program.getTypeChecker();
25
- const traceFilter = (0, _pluginutils.createFilter)(options?.trace?.include, options?.trace?.exclude);
26
- const debugFilter = (0, _pluginutils.createFilter)(options?.debug?.include ?? [], options?.debug?.exclude ?? (options?.debug?.include ? [] : ["**/*"]));
27
- const optimizeFilter = (0, _pluginutils.createFilter)(options?.optimize?.include, options?.optimize?.exclude);
28
- const removeUnusedImports = options?.removeUnusedImports ?? true;
29
- return {
30
- before(ctx) {
31
- return sourceFile => {
32
- if (sourceFile.isDeclarationFile) {
33
- return sourceFile;
34
- }
35
- const tracer = new RefCounted(ctx.factory.createUniqueName("tracer"));
36
- const fileName = new RefCounted(ctx.factory.createUniqueName("fileName"));
37
- function getOriginal(node) {
38
- let current = node;
39
- while ("original" in current) {
40
- current = current["original"];
41
- }
42
- return current;
43
- }
44
- function getTrace(node) {
45
- try {
46
- const pos = getOriginal(node).getStart();
47
- const nodeEnd = sourceFile.getLineAndCharacterOfPosition(pos);
48
- return ctx.factory.createBinaryExpression(fileName.get, ctx.factory.createToken(_typescript.default.SyntaxKind.PlusToken), ctx.factory.createStringLiteral(`:${nodeEnd.line + 1}:${nodeEnd.character + 1}`));
49
- } catch (e) {
50
- return undefined;
51
- }
52
- }
53
- const debugVisitor = node => {
54
- const visited = _typescript.default.visitEachChild(node, debugVisitor, ctx);
55
- if (_typescript.default.isFunctionDeclaration(visited)) {
56
- return ctx.factory.updateFunctionDeclaration(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
57
- } else if (_typescript.default.isFunctionExpression(visited)) {
58
- return ctx.factory.updateFunctionExpression(visited, visited.modifiers, visited.asteriskToken, visited.name, visited.typeParameters, visited.parameters, visited.type, visited.body ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : visited.body);
59
- } else if (_typescript.default.isArrowFunction(visited)) {
60
- return ctx.factory.updateArrowFunction(visited, visited.modifiers, visited.typeParameters, visited.parameters, visited.type, visited.equalsGreaterThanToken, _typescript.default.isBlock(visited.body) ? ctx.factory.updateBlock(visited.body, [ctx.factory.createDebuggerStatement(), ...visited.body.statements]) : ctx.factory.createBlock([ctx.factory.createDebuggerStatement(), ctx.factory.createReturnStatement(visited.body)]));
61
- }
62
- return visited;
63
- };
64
- const traceVisitor = node => {
65
- const visited = _typescript.default.visitEachChild(node, traceVisitor, ctx);
66
- if (_typescript.default.isCallExpression(visited)) {
67
- let shouldEmbedTrace = false;
68
- const signature = checker.getResolvedSignature(visited);
69
- const declaration = signature?.declaration;
70
- if (declaration) {
71
- shouldEmbedTrace = _typescript.default.getAllJSDocTags(declaration, tag => tag.tagName.text === "macro" && tag.comment === "traced").length > 0;
72
- }
73
- if (!shouldEmbedTrace) {
74
- shouldEmbedTrace = (checker.getSymbolAtLocation(visited.expression)?.getJsDocTags(checker).filter(tag => tag.name === "macro" && tag.text && tag.text.map(d => d.text).join("\n") === "traced") || []).length > 0;
75
- }
76
- if (shouldEmbedTrace) {
77
- const trace = getTrace(_typescript.default.isPropertyAccessExpression(visited.expression) ? visited.expression.name : visited.expression);
78
- if (typeof trace !== "undefined") {
79
- return ctx.factory.createCallExpression(ctx.factory.createCallExpression(ctx.factory.createPropertyAccessExpression(tracer.get, "withCallTrace"), [], [trace]), [], [visited]);
80
- }
81
- }
82
- }
83
- return visited;
84
- };
85
- const findSource = node => {
86
- while (!_typescript.default.isSourceFile(node)) {
87
- node = node.parent;
88
- }
89
- return node;
90
- };
91
- const optimizeVisitor = node => {
92
- const visited = _typescript.default.visitEachChild(node, optimizeVisitor, ctx);
93
- if (_typescript.default.isCallExpression(visited) && visited.arguments.length > 0) {
94
- const signature = checker.getResolvedSignature(visited);
95
- const declaration = signature?.declaration;
96
- if (declaration && !_typescript.default.isJSDocSignature(declaration) && findSource(declaration).fileName.includes("@fp-ts/data/Function")) {
97
- if (declaration.name?.getText() === "pipe") {
98
- let expr = _typescript.default.visitNode(visited.arguments[0], optimizeVisitor);
99
- for (let i = 1; i < visited.arguments.length; i++) {
100
- expr = ctx.factory.createCallExpression(_typescript.default.visitNode(visited.arguments[i], optimizeVisitor), [], [expr]);
101
- }
102
- return expr;
103
- }
104
- }
105
- }
106
- return visited;
107
- };
108
- const usedImportsVisitor = node => {
109
- if (_typescript.default.isImportDeclaration(node) && node.importClause) {
110
- if (node.importClause.namedBindings && _typescript.default.isNamedImports(node.importClause.namedBindings)) {
111
- node.importClause.namedBindings.elements.forEach(specifier => {
112
- specifier.used = 1;
113
- });
114
- } else if (node.importClause.namedBindings && _typescript.default.isNamespaceImport(node.importClause.namedBindings)) {
115
- node.importClause.namedBindings.used = 1;
116
- }
117
- } else if (_typescript.default.isIdentifier(node) && node.parent && !_typescript.default.isImportSpecifier(node.parent) && !_typescript.default.isNamespaceImport(node.parent)) {
118
- checker.getSymbolAtLocation(node)?.declarations?.forEach(d => {
119
- if (_typescript.default.isImportSpecifier(d) || _typescript.default.isNamespaceImport(d)) {
120
- d.used = (d.used ?? 1) + 1;
121
- }
122
- });
123
- }
124
- return _typescript.default.visitEachChild(node, usedImportsVisitor, ctx);
125
- };
126
- let visited = sourceFile;
127
- if (optimizeFilter(sourceFile.fileName)) {
128
- visited = _typescript.default.visitNode(visited, optimizeVisitor);
129
- }
130
- if (traceFilter(sourceFile.fileName)) {
131
- visited = _typescript.default.visitNode(visited, traceVisitor);
132
- }
133
- if (debugFilter(sourceFile.fileName)) {
134
- visited = _typescript.default.visitNode(visited, debugVisitor);
135
- }
136
- if (removeUnusedImports) {
137
- visited = _typescript.default.visitNode(visited, usedImportsVisitor);
138
- }
139
- const statements = [];
140
- if (tracer.count > 0) {
141
- statements.push(ctx.factory.createImportDeclaration(undefined, ctx.factory.createImportClause(false, undefined, ctx.factory.createNamespaceImport(tracer.get)), ctx.factory.createStringLiteral("@effect/io/Debug")));
142
- }
143
- if (fileName.count > 0) {
144
- statements.push(ctx.factory.createVariableStatement(undefined, ctx.factory.createVariableDeclarationList([ctx.factory.createVariableDeclaration(fileName.get, undefined, undefined, ctx.factory.createStringLiteral(sourceFile.fileName))], _typescript.default.NodeFlags.Const)));
145
- }
146
- for (const statement of visited.statements) {
147
- statements.push(statement);
148
- }
149
- return ctx.factory.updateSourceFile(visited, statements.filter(statement => {
150
- if (!removeUnusedImports) {
151
- return true;
152
- }
153
- if (_typescript.default.isImportDeclaration(statement) && statement.importClause) {
154
- if (statement.importClause.namedBindings && _typescript.default.isNamedImports(statement.importClause.namedBindings)) {
155
- if (statement.importClause.namedBindings.elements.every(specifier => specifier.used === 0)) {
156
- return false;
157
- }
158
- } else if (statement.importClause.namedBindings && _typescript.default.isNamespaceImport(statement.importClause.namedBindings)) {
159
- if (statement.importClause.namedBindings.used === 0) {
160
- return false;
161
- }
162
- }
163
- }
164
- return true;
165
- }), visited.isDeclarationFile, visited.referencedFiles, visited.typeReferenceDirectives, visited.hasNoDefaultLib, visited.libReferenceDirectives);
166
- };
167
- }
168
- };
169
- }
170
- //# sourceMappingURL=transformer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformer.js","mappings":"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","names":["RefCounted","constructor","ref","get","counter","count","effectPlugin","program","options","checker","getTypeChecker","traceFilter","trace","include","exclude","debugFilter","debug","optimizeFilter","optimize","removeUnusedImports","before","ctx","sourceFile","isDeclarationFile","tracer","factory","createUniqueName","fileName","getOriginal","node","current","getTrace","pos","getStart","nodeEnd","getLineAndCharacterOfPosition","createBinaryExpression","createToken","ts","SyntaxKind","PlusToken","createStringLiteral","line","character","e","undefined","debugVisitor","visited","visitEachChild","isFunctionDeclaration","updateFunctionDeclaration","modifiers","asteriskToken","name","typeParameters","parameters","type","body","updateBlock","createDebuggerStatement","statements","isFunctionExpression","updateFunctionExpression","isArrowFunction","updateArrowFunction","equalsGreaterThanToken","isBlock","createBlock","createReturnStatement","traceVisitor","isCallExpression","shouldEmbedTrace","signature","getResolvedSignature","declaration","getAllJSDocTags","tag","tagName","text","comment","length","getSymbolAtLocation","expression","getJsDocTags","filter","map","d","join","isPropertyAccessExpression","createCallExpression","createPropertyAccessExpression","findSource","isSourceFile","parent","optimizeVisitor","arguments","isJSDocSignature","includes","getText","expr","visitNode","i","usedImportsVisitor","isImportDeclaration","importClause","namedBindings","isNamedImports","elements","forEach","specifier","used","isNamespaceImport","isIdentifier","isImportSpecifier","declarations","push","createImportDeclaration","createImportClause","createNamespaceImport","createVariableStatement","createVariableDeclarationList","createVariableDeclaration","NodeFlags","Const","statement","updateSourceFile","every","referencedFiles","typeReferenceDirectives","hasNoDefaultLib","libReferenceDirectives"],"sourceRoot":"","sources":["../../src/transformer.ts"],"sourcesContent":[null]}
package/utils/AST.d.ts DELETED
@@ -1,120 +0,0 @@
1
- import * as O from "@effect/language-service/utils/Option";
2
- import * as Ch from "@effect/language-service/utils/ReadonlyArray";
3
- import type ts from "typescript/lib/tsserverlibrary";
4
- declare module "typescript/lib/tsserverlibrary" {
5
- const nullTransformationContext: ts.TransformationContext;
6
- namespace formatting {
7
- interface FormattingHost {
8
- getNewLine?(): string;
9
- }
10
- interface FormatContext {
11
- readonly options: ts.FormatCodeSettings;
12
- readonly getRules: unknown;
13
- }
14
- function getFormatContext(options: ts.FormatCodeSettings, host: FormattingHost): FormatContext;
15
- }
16
- type TextChangesContext = any;
17
- type ChangeNodeOptions = any;
18
- namespace textChanges {
19
- enum LeadingTriviaOption {
20
- /** Exclude all leading trivia (use getStart()) */
21
- Exclude = 0,
22
- /** Include leading trivia and,
23
- * if there are no line breaks between the node and the previous token,
24
- * include all trivia between the node and the previous token
25
- */
26
- IncludeAll = 1,
27
- /**
28
- * Include attached JSDoc comments
29
- */
30
- JSDoc = 2,
31
- /**
32
- * Only delete trivia on the same line as getStart().
33
- * Used to avoid deleting leading comments
34
- */
35
- StartLine = 3
36
- }
37
- enum TrailingTriviaOption {
38
- /** Exclude all trailing trivia (use getEnd()) */
39
- Exclude = 0,
40
- /** Doesn't include whitespace, but does strip comments */
41
- ExcludeWhitespace = 1,
42
- /** Include trailing trivia */
43
- Include = 2
44
- }
45
- interface ConfigurableStart {
46
- leadingTriviaOption?: LeadingTriviaOption;
47
- }
48
- interface ConfigurableEnd {
49
- trailingTriviaOption?: TrailingTriviaOption;
50
- }
51
- interface InsertNodeOptions {
52
- /**
53
- * Text to be inserted before the new node
54
- */
55
- prefix?: string;
56
- /**
57
- * Text to be inserted after the new node
58
- */
59
- suffix?: string;
60
- /**
61
- * Text of inserted node will be formatted with this indentation, otherwise indentation will be inferred from the old node
62
- */
63
- indentation?: number;
64
- /**
65
- * Text of inserted node will be formatted with this delta, otherwise delta will be inferred from the new node kind
66
- */
67
- delta?: number;
68
- }
69
- interface ConfigurableStartEnd extends ConfigurableStart, ConfigurableEnd {
70
- }
71
- class ChangeTracker {
72
- static with(context: ts.TextChangesContext, cb: (tracker: ChangeTracker) => void): Array<ts.FileTextChanges>;
73
- delete(sourceFile: ts.SourceFile, node: ts.Node | ts.NodeArray<ts.TypeParameterDeclaration>): void;
74
- deleteRange(sourceFile: ts.SourceFile, range: ts.TextRange): void;
75
- replaceNode(sourceFile: ts.SourceFile, oldNode: ts.Node, newNode: ts.Node, options?: ts.ChangeNodeOptions): void;
76
- insertNodeAt(sourceFile: ts.SourceFile, pos: number, newNode: ts.Node, options?: ts.textChanges.InsertNodeOptions): void;
77
- insertNodeBefore(sourceFile: ts.SourceFile, before: ts.Node, newNode: ts.Node, blankLineBetween?: boolean, options?: ConfigurableStartEnd): void;
78
- insertNodeAfter(sourceFile: ts.SourceFile, after: ts.Node, newNode: ts.Node): void;
79
- insertText(sourceFile: ts.SourceFile, pos: number, text: string): void;
80
- }
81
- function applyChanges(text: string, changes: ReadonlyArray<ts.TextChange>): string;
82
- }
83
- function findPrecedingToken(position: number, sourceFile: ts.SourceFileLike, startNode: ts.Node, excludeJsdoc?: boolean): ts.Node | undefined;
84
- function findPrecedingToken(position: number, sourceFile: ts.SourceFile, startNode?: ts.Node, excludeJsdoc?: boolean): ts.Node | undefined;
85
- function findChildOfKind<T extends ts.Node>(n: ts.Node, kind: T["kind"], sourceFile: ts.SourceFileLike): T | undefined;
86
- function isMemberName(node: ts.Node): node is ts.MemberName;
87
- function isKeyword(token: ts.SyntaxKind): token is ts.KeywordSyntaxKind;
88
- }
89
- export type TypeScriptApi = typeof import("typescript/lib/tsserverlibrary");
90
- export declare class NoSuchSourceFile {
91
- readonly fileName: string;
92
- readonly _tag = "NoSuchSourceFile";
93
- constructor(fileName: string);
94
- }
95
- export declare function getSourceFile(program: ts.Program): (fileName: string) => ts.SourceFile;
96
- export declare function hasModifier(ts: TypeScriptApi): (node: ts.Declaration, kind: ts.ModifierFlags) => boolean;
97
- /**
98
- * Gets the closest node that contains given TextRange
99
- */
100
- export declare function getNodesContainingRange(ts: TypeScriptApi): (sourceFile: ts.SourceFile, textRange: ts.TextRange) => Ch.Chunk<ts.Node>;
101
- /**
102
- * Ensures value is a text range
103
- */
104
- export declare function toTextRange(positionOrRange: number | ts.TextRange): ts.TextRange;
105
- export declare function getHumanReadableName(sourceFile: ts.SourceFile, node: ts.Node): string;
106
- export declare function collectAll(ts: TypeScriptApi): <A extends ts.Node>(rootNode: ts.Node, test: (node: ts.Node) => node is A) => Ch.Chunk<A>;
107
- export declare function getRelevantTokens(ts: TypeScriptApi): (position: number, sourceFile: ts.SourceFile) => {
108
- contextToken: O.Option<ts.Node>;
109
- previousToken: O.Option<ts.Node>;
110
- };
111
- export declare function isNodeInRange(textRange: ts.TextRange): (node: ts.Node) => boolean;
112
- export declare function findModuleImportIdentifierName(ts: TypeScriptApi): (sourceFile: ts.SourceFile, moduleName: string) => O.Option<string>;
113
- export declare function transformAsyncAwaitToEffectGen(ts: TypeScriptApi): (node: ts.FunctionDeclaration | ts.ArrowFunction | ts.FunctionExpression, effectName: string, onAwait: (expression: ts.Expression) => ts.Expression) => ts.FunctionDeclaration | ts.FunctionExpression | ts.ArrowFunction;
114
- export declare function addReturnTypeAnnotation(ts: TypeScriptApi, changes: ts.textChanges.ChangeTracker): (sourceFile: ts.SourceFile, declaration: ts.FunctionDeclaration | ts.FunctionExpression | ts.ArrowFunction | ts.MethodDeclaration, typeNode: ts.TypeNode) => void;
115
- export declare function removeReturnTypeAnnotation(ts: TypeScriptApi, changes: ts.textChanges.ChangeTracker): (sourceFile: ts.SourceFile, declaration: ts.FunctionDeclaration | ts.FunctionExpression | ts.ArrowFunction | ts.MethodDeclaration) => void;
116
- export declare function getEffectModuleIdentifier(ts: TypeScriptApi): (sourceFile: ts.SourceFile) => string;
117
- export declare function simplifyTypeNode(ts: TypeScriptApi): (typeNode: ts.TypeNode) => ts.TypeNode;
118
- export declare function isPipeCall(ts: TypeScriptApi): (node: ts.Node) => node is ts.CallExpression;
119
- export declare function asDataFirstExpression(ts: TypeScriptApi, checker: ts.TypeChecker): (node: ts.Node, self: ts.Expression) => O.Option<ts.CallExpression>;
120
- //# sourceMappingURL=AST.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AST.d.ts","sourceRoot":"","sources":["../../../src/utils/AST.ts"],"names":[],"mappings":"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"}
package/utils/AST.js DELETED
@@ -1,235 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NoSuchSourceFile = void 0;
7
- exports.addReturnTypeAnnotation = addReturnTypeAnnotation;
8
- exports.asDataFirstExpression = asDataFirstExpression;
9
- exports.collectAll = collectAll;
10
- exports.findModuleImportIdentifierName = findModuleImportIdentifierName;
11
- exports.getEffectModuleIdentifier = getEffectModuleIdentifier;
12
- exports.getHumanReadableName = getHumanReadableName;
13
- exports.getNodesContainingRange = getNodesContainingRange;
14
- exports.getRelevantTokens = getRelevantTokens;
15
- exports.getSourceFile = getSourceFile;
16
- exports.hasModifier = hasModifier;
17
- exports.isNodeInRange = isNodeInRange;
18
- exports.isPipeCall = isPipeCall;
19
- exports.removeReturnTypeAnnotation = removeReturnTypeAnnotation;
20
- exports.simplifyTypeNode = simplifyTypeNode;
21
- exports.toTextRange = toTextRange;
22
- exports.transformAsyncAwaitToEffectGen = transformAsyncAwaitToEffectGen;
23
- var _Function = /*#__PURE__*/require("@effect/language-service/utils/Function");
24
- var O = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/language-service/utils/Option"));
25
- var Ch = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/language-service/utils/ReadonlyArray"));
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
- class NoSuchSourceFile {
29
- constructor(fileName) {
30
- this.fileName = fileName;
31
- this._tag = "NoSuchSourceFile";
32
- }
33
- }
34
- exports.NoSuchSourceFile = NoSuchSourceFile;
35
- function getSourceFile(program) {
36
- return fileName => {
37
- const sourceFile = program.getSourceFile(fileName);
38
- if (!sourceFile) {
39
- throw new NoSuchSourceFile(fileName);
40
- }
41
- return sourceFile;
42
- };
43
- }
44
- function hasModifier(ts) {
45
- return (node, kind) => !!(ts.getCombinedModifierFlags(node) & kind);
46
- }
47
- /**
48
- * Gets the closest node that contains given TextRange
49
- */
50
- function getNodesContainingRange(ts) {
51
- return (sourceFile, textRange) => {
52
- const precedingToken = ts.findPrecedingToken(textRange.pos, sourceFile);
53
- if (!precedingToken) return Ch.empty;
54
- let result = Ch.empty;
55
- let parent = precedingToken;
56
- while (parent) {
57
- result = (0, _Function.pipe)(result, Ch.append(parent));
58
- parent = parent.parent;
59
- }
60
- return result;
61
- };
62
- }
63
- /**
64
- * Ensures value is a text range
65
- */
66
- function toTextRange(positionOrRange) {
67
- return typeof positionOrRange === "number" ? {
68
- end: positionOrRange,
69
- pos: positionOrRange
70
- } : positionOrRange;
71
- }
72
- function getHumanReadableName(sourceFile, node) {
73
- const text = node.getText(sourceFile);
74
- return text.length > 10 ? text.substring(0, 10) + "..." : text;
75
- }
76
- function collectAll(ts) {
77
- return (rootNode, test) => {
78
- let result = Ch.empty;
79
- function visitor(node) {
80
- if (test(node)) result = (0, _Function.pipe)(result, Ch.append(node));
81
- ts.forEachChild(node, visitor);
82
- }
83
- visitor(rootNode);
84
- return result;
85
- };
86
- }
87
- function getRelevantTokens(ts) {
88
- return (position, sourceFile) => {
89
- const previousToken = ts.findPrecedingToken(position, sourceFile);
90
- if (previousToken && position <= previousToken.end && (ts.isMemberName(previousToken) || ts.isKeyword(previousToken.kind))) {
91
- const contextToken = ts.findPrecedingToken(previousToken.getFullStart(), sourceFile, /*startNode*/undefined); // TODO: GH#18217
92
- return {
93
- contextToken: O.some(contextToken),
94
- previousToken: O.some(previousToken)
95
- };
96
- }
97
- return {
98
- contextToken: O.fromNullable(previousToken),
99
- previousToken: O.fromNullable(previousToken)
100
- };
101
- };
102
- }
103
- function isNodeInRange(textRange) {
104
- return node => node.pos <= textRange.pos && node.end >= textRange.end;
105
- }
106
- function findModuleImportIdentifierName(ts) {
107
- return (sourceFile, moduleName) => {
108
- return O.fromNullable(ts.forEachChild(sourceFile, node => {
109
- if (!ts.isImportDeclaration(node)) return;
110
- const moduleSpecifier = node.moduleSpecifier;
111
- if (!ts.isStringLiteral(moduleSpecifier)) return;
112
- if (moduleSpecifier.text !== moduleName) return;
113
- const importClause = node.importClause;
114
- if (!importClause) return;
115
- const namedBindings = importClause.namedBindings;
116
- if (!namedBindings) return;
117
- if (!ts.isNamespaceImport(namedBindings)) return;
118
- return namedBindings.name.text;
119
- }));
120
- };
121
- }
122
- function transformAsyncAwaitToEffectGen(ts) {
123
- return (node, effectName, onAwait) => {
124
- function visitor(_) {
125
- if (ts.isAwaitExpression(_)) {
126
- const expression = ts.visitEachChild(_.expression, visitor, ts.nullTransformationContext);
127
- return ts.factory.createYieldExpression(ts.factory.createToken(ts.SyntaxKind.AsteriskToken), ts.factory.createCallExpression(ts.factory.createIdentifier("$"), undefined, [onAwait(expression)]));
128
- }
129
- return ts.visitEachChild(_, visitor, ts.nullTransformationContext);
130
- }
131
- const generatorBody = visitor(node.body);
132
- const generator = ts.factory.createFunctionExpression([], ts.factory.createToken(ts.SyntaxKind.AsteriskToken), undefined, [], [ts.factory.createParameterDeclaration(undefined, undefined, "$")], undefined, generatorBody // NOTE(mattia): intended, to use same routine for both ConciseBody and Body
133
- );
134
-
135
- const effectGenCallExp = ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(effectName), "gen"), undefined, [generator]);
136
- let currentFlags = ts.getCombinedModifierFlags(node);
137
- currentFlags &= ~ts.ModifierFlags.Async;
138
- const newModifiers = ts.factory.createModifiersFromModifierFlags(currentFlags);
139
- if (ts.isArrowFunction(node)) {
140
- return ts.factory.createArrowFunction(newModifiers, node.typeParameters, node.parameters, undefined, node.equalsGreaterThanToken, effectGenCallExp);
141
- }
142
- const newBody = ts.factory.createBlock([ts.factory.createReturnStatement(effectGenCallExp)]);
143
- if (ts.isFunctionDeclaration(node)) {
144
- return ts.factory.createFunctionDeclaration(newModifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, undefined, newBody);
145
- }
146
- return ts.factory.createFunctionExpression(newModifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, undefined, newBody);
147
- };
148
- }
149
- function addReturnTypeAnnotation(ts, changes) {
150
- return (sourceFile, declaration, typeNode) => {
151
- const closeParen = ts.findChildOfKind(declaration, ts.SyntaxKind.CloseParenToken, sourceFile);
152
- const needParens = ts.isArrowFunction(declaration) && closeParen === undefined;
153
- const endNode = needParens ? declaration.parameters[0] : closeParen;
154
- if (endNode) {
155
- if (needParens) {
156
- changes.insertNodeBefore(sourceFile, endNode, ts.factory.createToken(ts.SyntaxKind.OpenParenToken));
157
- changes.insertNodeAfter(sourceFile, endNode, ts.factory.createToken(ts.SyntaxKind.CloseParenToken));
158
- }
159
- changes.insertNodeAt(sourceFile, endNode.end, typeNode, {
160
- prefix: ": "
161
- });
162
- }
163
- };
164
- }
165
- function removeReturnTypeAnnotation(ts, changes) {
166
- return (sourceFile, declaration) => {
167
- const closeParen = ts.findChildOfKind(declaration, ts.SyntaxKind.CloseParenToken, sourceFile);
168
- const needParens = ts.isArrowFunction(declaration) && closeParen === undefined;
169
- const endNode = needParens ? declaration.parameters[0] : closeParen;
170
- if (endNode && declaration.type) {
171
- changes.deleteRange(sourceFile, {
172
- pos: endNode.end,
173
- end: declaration.type.end
174
- });
175
- }
176
- };
177
- }
178
- function getEffectModuleIdentifier(ts) {
179
- return sourceFile => (0, _Function.pipe)(findModuleImportIdentifierName(ts)(sourceFile, "@effect/io/Effect"), O.orElse(findModuleImportIdentifierName(ts)(sourceFile, "@effect/io/Effect")), O.getOrElse(() => "Effect"));
180
- }
181
- function simplifyTypeNode(ts) {
182
- function collectCallable(typeNode) {
183
- // (() => 1) -> skip to inner node
184
- if (ts.isParenthesizedTypeNode(typeNode)) return collectCallable(typeNode.type);
185
- // () => 1 -> convert to call signature
186
- if (ts.isFunctionTypeNode(typeNode)) {
187
- return O.some([ts.factory.createCallSignature(typeNode.typeParameters, typeNode.parameters, typeNode.type)]);
188
- }
189
- // { ... } -> if every member is callsignature, return a merge of all of those
190
- if (ts.isTypeLiteralNode(typeNode)) {
191
- const allCallSignatures = typeNode.members.every(ts.isCallSignatureDeclaration);
192
- if (allCallSignatures) return O.some(typeNode.members);
193
- }
194
- // ... & ... -> if both are callable, return merge of both
195
- if (ts.isIntersectionTypeNode(typeNode)) {
196
- const members = typeNode.types.map(collectCallable);
197
- if (members.every(O.isSome)) {
198
- return O.some(members.map(_ => O.isSome(_) ? _.value : []).flat());
199
- }
200
- }
201
- return O.none;
202
- }
203
- return typeNode => {
204
- const callSignatures = collectCallable(typeNode);
205
- if (O.isSome(callSignatures) && callSignatures.value.length > 1) {
206
- return ts.factory.createTypeLiteralNode(callSignatures.value);
207
- }
208
- return typeNode;
209
- };
210
- }
211
- function isPipeCall(ts) {
212
- return node => {
213
- if (!ts.isCallExpression(node)) return false;
214
- const expression = node.expression;
215
- if (!ts.isIdentifier(expression)) return false;
216
- if (expression.text !== "pipe") return false;
217
- return true;
218
- };
219
- }
220
- function asDataFirstExpression(ts, checker) {
221
- return (node, self) => {
222
- if (!ts.isCallExpression(node)) return O.none;
223
- const signature = checker.getResolvedSignature(node);
224
- if (!signature) return O.none;
225
- const callSignatures = checker.getTypeAtLocation(node.expression).getCallSignatures();
226
- for (let i = 0; i < callSignatures.length; i++) {
227
- const callSignature = callSignatures[i];
228
- if (callSignature.parameters.length === node.arguments.length + 1) {
229
- return O.some(ts.factory.createCallExpression(node.expression, [], [self].concat(node.arguments)));
230
- }
231
- }
232
- return O.none;
233
- };
234
- }
235
- //# sourceMappingURL=AST.js.map
package/utils/AST.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"AST.js","mappings":"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","names":["NoSuchSourceFile","constructor","fileName","getSourceFile","program","sourceFile","hasModifier","ts","node","kind","getCombinedModifierFlags","getNodesContainingRange","textRange","precedingToken","findPrecedingToken","pos","Ch","empty","result","parent","append","toTextRange","positionOrRange","end","getHumanReadableName","text","getText","length","substring","collectAll","rootNode","test","visitor","forEachChild","getRelevantTokens","position","previousToken","isMemberName","isKeyword","contextToken","getFullStart","undefined","O","some","fromNullable","isNodeInRange","findModuleImportIdentifierName","moduleName","isImportDeclaration","moduleSpecifier","isStringLiteral","importClause","namedBindings","isNamespaceImport","name","transformAsyncAwaitToEffectGen","effectName","onAwait","_","isAwaitExpression","expression","visitEachChild","nullTransformationContext","factory","createYieldExpression","createToken","SyntaxKind","AsteriskToken","createCallExpression","createIdentifier","generatorBody","body","generator","createFunctionExpression","createParameterDeclaration","effectGenCallExp","createPropertyAccessExpression","currentFlags","ModifierFlags","Async","newModifiers","createModifiersFromModifierFlags","isArrowFunction","createArrowFunction","typeParameters","parameters","equalsGreaterThanToken","newBody","createBlock","createReturnStatement","isFunctionDeclaration","createFunctionDeclaration","asteriskToken","addReturnTypeAnnotation","changes","declaration","typeNode","closeParen","findChildOfKind","CloseParenToken","needParens","endNode","insertNodeBefore","OpenParenToken","insertNodeAfter","insertNodeAt","prefix","removeReturnTypeAnnotation","type","deleteRange","getEffectModuleIdentifier","orElse","getOrElse","simplifyTypeNode","collectCallable","isParenthesizedTypeNode","isFunctionTypeNode","createCallSignature","isTypeLiteralNode","allCallSignatures","members","every","isCallSignatureDeclaration","isIntersectionTypeNode","types","map","isSome","value","flat","none","callSignatures","createTypeLiteralNode","isPipeCall","isCallExpression","isIdentifier","asDataFirstExpression","checker","self","signature","getResolvedSignature","getTypeAtLocation","getCallSignatures","i","callSignature","arguments","concat"],"sourceRoot":"","sources":["../../../src/utils/AST.ts"],"sourcesContent":[null]}
@@ -1,21 +0,0 @@
1
- export declare function pipe<A>(a: A): A;
2
- export declare function pipe<A, B>(a: A, ab: (a: A) => B): B;
3
- export declare function pipe<A, B, C>(a: A, ab: (a: A) => B, bc: (b: B) => C): C;
4
- export declare function pipe<A, B, C, D>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D): D;
5
- export declare function pipe<A, B, C, D, E>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E): E;
6
- export declare function pipe<A, B, C, D, E, F>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F): F;
7
- export declare function pipe<A, B, C, D, E, F, G>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G): G;
8
- export declare function pipe<A, B, C, D, E, F, G, H>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H): H;
9
- export declare function pipe<A, B, C, D, E, F, G, H, I>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I): I;
10
- export declare function pipe<A, B, C, D, E, F, G, H, I, J>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J): J;
11
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K): K;
12
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L): L;
13
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M): M;
14
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N): N;
15
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O): O;
16
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P): P;
17
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q): Q;
18
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R): R;
19
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S): S;
20
- export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S, st: (s: S) => T): T;
21
- //# sourceMappingURL=Function.d.ts.map