@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.
- package/index.cjs +1457 -0
- package/package.json +18 -28
- 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/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
|
package/transformer.js.map
DELETED
|
@@ -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
|
package/utils/AST.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AST.d.ts","sourceRoot":"","sources":["../../../src/utils/AST.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,uCAAuC,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAA;AAEpD,OAAO,QAAQ,gCAAgC,CAAC;IAC9C,MAAM,yBAAyB,EAAE,EAAE,CAAC,qBAAqB,CAAA;IAEzD,UAAiB,UAAU,CAAC;QAC1B,UAAU,cAAc;YACtB,UAAU,CAAC,IAAI,MAAM,CAAA;SACtB;QAED,UAAiB,aAAa;YAC5B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAA;YACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;SAC3B;QAED,SAAS,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,EAAE,cAAc,GAAG,aAAa,CAAA;KAC/F;IAED,KAAY,kBAAkB,GAAG,GAAG,CAAA;IACpC,KAAY,iBAAiB,GAAG,GAAG,CAAA;IAEnC,UAAiB,WAAW,CAAC;QAC3B,KAAY,mBAAmB;YAC7B,kDAAkD;YAClD,OAAO,IAAI;YACX;;;eAGG;YACH,UAAU,IAAI;YACd;;eAEG;YACH,KAAK,IAAI;YACT;;;eAGG;YACH,SAAS,IAAI;SACd;QACD,KAAY,oBAAoB;YAC9B,iDAAiD;YACjD,OAAO,IAAI;YACX,0DAA0D;YAC1D,iBAAiB,IAAI;YACrB,8BAA8B;YAC9B,OAAO,IAAI;SACZ;QACD,UAAiB,iBAAiB;YAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;SAC1C;QACD,UAAiB,eAAe;YAC9B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;SAC5C;QACD,UAAiB,iBAAiB;YAChC;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAA;YACf;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAA;YACf;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB;;eAEG;YACH,KAAK,CAAC,EAAE,MAAM,CAAA;SACf;QACD,UAAiB,oBAAqB,SAAQ,iBAAiB,EAAE,eAAe;SAC/E;QACD,MAAa,aAAa;YACxB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;YAC5G,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,IAAI;YAClG,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,IAAI;YACjE,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,iBAAiB,GAAG,IAAI;YAChH,YAAY,CACV,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,EAAE,CAAC,IAAI,EAChB,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,GACzC,IAAI;YACP,gBAAgB,CACd,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,MAAM,EAAE,EAAE,CAAC,IAAI,EACf,OAAO,EAAE,EAAE,CAAC,IAAI,EAChB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI;YACP,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI;YAClF,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;SACvE;QACD,SAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;KAC1F;IAED,SAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,EAAE,CAAC,cAAc,EAC7B,SAAS,EAAE,EAAE,CAAC,IAAI,EAClB,YAAY,CAAC,EAAE,OAAO,GACrB,EAAE,CAAC,IAAI,GAAG,SAAS,CAAA;IACtB,SAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EACnB,YAAY,CAAC,EAAE,OAAO,GACrB,EAAE,CAAC,IAAI,GAAG,SAAS,CAAA;IACtB,SAAS,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,cAAc,GAAG,CAAC,GAAG,SAAS,CAAA;IAEtH,SAAgB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,CAAA;IAClE,SAAgB,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAA;CAC/E;AAGD,MAAM,MAAM,aAAa,GAAG,cAAc,gCAAgC,CAAC,CAAA;AAE3E,qBAAa,gBAAgB;IAGzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAF3B,QAAQ,CAAC,IAAI,sBAAqB;gBAEvB,QAAQ,EAAE,MAAM;CAE5B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,cAC7B,MAAM,mBAOzB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,aAAa,UAC7B,GAAG,WAAW,QAAQ,GAAG,aAAa,aACrD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,aAAa,gBAEI,GAAG,UAAU,aAAa,GAAG,SAAS,uBAa5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,eAAe,EAAE,MAAM,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAEhF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,UAG5E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,aAAa,iCACL,GAAG,IAAI,eAAe,GAAG,IAAI,+BAYnE;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,aAAa,cAEE,MAAM,cAAc,GAAG,UAAU;;;EAWrD;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,UACrC,GAAG,IAAI,aACtB;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,aAAa,gBAEG,GAAG,UAAU,cAAc,MAAM,sBActD;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,aAAa,UAGT,GAAG,mBAAmB,GAAG,GAAG,aAAa,GAAG,GAAG,kBAAkB,cAC3D,MAAM,wBACI,GAAG,UAAU,KAAK,GAAG,UAAU,uEA0ExD;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,gBAGvB,GAAG,UAAU,eAErB,GAAG,mBAAmB,GACtB,GAAG,kBAAkB,GACrB,GAAG,aAAa,GAChB,GAAG,iBAAiB,YACd,GAAG,QAAQ,UAaxB;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,gBAGvB,GAAG,UAAU,eAErB,GAAG,mBAAmB,GACtB,GAAG,kBAAkB,GACrB,GAAG,aAAa,GAChB,GAAG,iBAAiB,UAS3B;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,gBACrC,GAAG,UAAU,YAQlC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,aAAa,cA2BC,GAAG,QAAQ,iBAO9B;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,aAAa,UAC5B,GAAG,IAAI,+BAOtB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,UAChE,GAAG,IAAI,QAAQ,GAAG,UAAU,KAAG,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAmBzE"}
|
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]}
|
package/utils/Function.d.ts
DELETED
|
@@ -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
|