@effect/language-service 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_mjs/index.mjs +21 -61
- package/_mjs/index.mjs.map +1 -1
- package/_mjs/refactors/addPipe.mjs +12 -18
- package/_mjs/refactors/addPipe.mjs.map +1 -1
- package/_mjs/refactors/asyncAwaitToGen.mjs +12 -18
- package/_mjs/refactors/asyncAwaitToGen.mjs.map +1 -1
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs +17 -23
- package/_mjs/refactors/asyncAwaitToGenTryPromise.mjs.map +1 -1
- package/_mjs/refactors/definition.mjs.map +1 -1
- package/_mjs/refactors/functionToArrow.mjs +31 -36
- package/_mjs/refactors/functionToArrow.mjs.map +1 -1
- package/_mjs/refactors/index.mjs +1 -5
- package/_mjs/refactors/index.mjs.map +1 -1
- package/_mjs/refactors/removePipe.mjs +11 -17
- package/_mjs/refactors/removePipe.mjs.map +1 -1
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs +10 -15
- package/_mjs/refactors/toggleReturnTypeAnnotation.mjs.map +1 -1
- package/_mjs/refactors/toggleTypeAnnotation.mjs +25 -31
- package/_mjs/refactors/toggleTypeAnnotation.mjs.map +1 -1
- package/_mjs/refactors/wrapWithPipe.mjs +5 -8
- package/_mjs/refactors/wrapWithPipe.mjs.map +1 -1
- package/_mjs/{utils.mjs → utils/AST.mjs} +81 -39
- package/_mjs/utils/AST.mjs.map +1 -0
- package/_mjs/utils/Function.mjs +31 -0
- package/_mjs/utils/Function.mjs.map +1 -0
- package/_mjs/utils/Option.mjs +14 -0
- package/_mjs/utils/Option.mjs.map +1 -0
- package/_mjs/utils/ReadonlyArray.mjs +12 -0
- package/_mjs/utils/ReadonlyArray.mjs.map +1 -0
- package/index.js +24 -64
- package/index.js.map +1 -1
- package/package.json +1 -3
- package/refactors/addPipe.d.ts.map +1 -1
- package/refactors/addPipe.js +12 -18
- package/refactors/addPipe.js.map +1 -1
- package/refactors/asyncAwaitToGen.d.ts.map +1 -1
- package/refactors/asyncAwaitToGen.js +12 -18
- package/refactors/asyncAwaitToGen.js.map +1 -1
- package/refactors/asyncAwaitToGenTryPromise.d.ts.map +1 -1
- package/refactors/asyncAwaitToGenTryPromise.js +17 -23
- package/refactors/asyncAwaitToGenTryPromise.js.map +1 -1
- package/refactors/definition.d.ts +7 -6
- package/refactors/definition.d.ts.map +1 -1
- package/refactors/definition.js.map +1 -1
- package/refactors/functionToArrow.d.ts.map +1 -1
- package/refactors/functionToArrow.js +31 -36
- package/refactors/functionToArrow.js.map +1 -1
- package/refactors/index.d.ts +0 -2
- package/refactors/index.d.ts.map +1 -1
- package/refactors/index.js +1 -5
- package/refactors/index.js.map +1 -1
- package/refactors/removePipe.d.ts.map +1 -1
- package/refactors/removePipe.js +11 -17
- package/refactors/removePipe.js.map +1 -1
- package/refactors/toggleReturnTypeAnnotation.d.ts.map +1 -1
- package/refactors/toggleReturnTypeAnnotation.js +10 -15
- package/refactors/toggleReturnTypeAnnotation.js.map +1 -1
- package/refactors/toggleTypeAnnotation.d.ts.map +1 -1
- package/refactors/toggleTypeAnnotation.js +25 -31
- package/refactors/toggleTypeAnnotation.js.map +1 -1
- package/refactors/wrapWithPipe.d.ts.map +1 -1
- package/refactors/wrapWithPipe.js +5 -8
- package/refactors/wrapWithPipe.js.map +1 -1
- package/{ast.d.ts → utils/AST.d.ts} +14 -10
- package/utils/AST.d.ts.map +1 -0
- package/{utils.js → utils/AST.js} +91 -42
- package/utils/AST.js.map +1 -0
- package/utils/Function.d.ts +21 -0
- package/utils/Function.d.ts.map +1 -0
- package/utils/Function.js +37 -0
- package/utils/Function.js.map +1 -0
- package/utils/Option.d.ts +17 -0
- package/utils/Option.d.ts.map +1 -0
- package/utils/Option.js +28 -0
- package/utils/Option.js.map +1 -0
- package/utils/ReadonlyArray.d.ts +17 -0
- package/utils/ReadonlyArray.d.ts.map +1 -0
- package/utils/ReadonlyArray.js +30 -0
- package/utils/ReadonlyArray.js.map +1 -0
- package/_mjs/ast.mjs +0 -80
- package/_mjs/ast.mjs.map +0 -1
- package/_mjs/config.mjs +0 -24
- package/_mjs/config.mjs.map +0 -1
- package/_mjs/diagnostics/definition.mjs +0 -4
- package/_mjs/diagnostics/definition.mjs.map +0 -1
- package/_mjs/diagnostics/ensureGetCallTrace.mjs +0 -51
- package/_mjs/diagnostics/ensureGetCallTrace.mjs.map +0 -1
- package/_mjs/diagnostics/index.mjs +0 -7
- package/_mjs/diagnostics/index.mjs.map +0 -1
- package/_mjs/diagnostics/noSyncWithConstant.mjs +0 -40
- package/_mjs/diagnostics/noSyncWithConstant.mjs.map +0 -1
- package/_mjs/eslint-rules/index.mjs +0 -8
- package/_mjs/eslint-rules/index.mjs.map +0 -1
- package/_mjs/eslint-rules/no-curry-arrow.mjs +0 -33
- package/_mjs/eslint-rules/no-curry-arrow.mjs.map +0 -1
- package/_mjs/eslint-rules/utils.mjs +0 -8
- package/_mjs/eslint-rules/utils.mjs.map +0 -1
- package/_mjs/refactors/noSyncWithConstant.mjs +0 -34
- package/_mjs/refactors/noSyncWithConstant.mjs.map +0 -1
- package/_mjs/refactors/removeCurryArrow.mjs +0 -24
- package/_mjs/refactors/removeCurryArrow.mjs.map +0 -1
- package/_mjs/utils.mjs.map +0 -1
- package/ast.d.ts.map +0 -1
- package/ast.js +0 -100
- package/ast.js.map +0 -1
- package/config.d.ts +0 -10
- package/config.d.ts.map +0 -1
- package/config.js +0 -31
- package/config.js.map +0 -1
- package/diagnostics/definition.d.ts +0 -15
- package/diagnostics/definition.d.ts.map +0 -1
- package/diagnostics/definition.js +0 -10
- package/diagnostics/definition.js.map +0 -1
- package/diagnostics/ensureGetCallTrace.d.ts +0 -3
- package/diagnostics/ensureGetCallTrace.d.ts.map +0 -1
- package/diagnostics/ensureGetCallTrace.js +0 -60
- package/diagnostics/ensureGetCallTrace.js.map +0 -1
- package/diagnostics/index.d.ts +0 -6
- package/diagnostics/index.d.ts.map +0 -1
- package/diagnostics/index.js +0 -15
- package/diagnostics/index.js.map +0 -1
- package/diagnostics/noSyncWithConstant.d.ts +0 -10
- package/diagnostics/noSyncWithConstant.d.ts.map +0 -1
- package/diagnostics/noSyncWithConstant.js +0 -52
- package/diagnostics/noSyncWithConstant.js.map +0 -1
- package/eslint-rules/index.d.ts +0 -9
- package/eslint-rules/index.d.ts.map +0 -1
- package/eslint-rules/index.js +0 -16
- package/eslint-rules/index.js.map +0 -1
- package/eslint-rules/no-curry-arrow.d.ts +0 -5
- package/eslint-rules/no-curry-arrow.d.ts.map +0 -1
- package/eslint-rules/no-curry-arrow.js +0 -42
- package/eslint-rules/no-curry-arrow.js.map +0 -1
- package/eslint-rules/utils.d.ts +0 -5
- package/eslint-rules/utils.d.ts.map +0 -1
- package/eslint-rules/utils.js +0 -16
- package/eslint-rules/utils.js.map +0 -1
- package/refactors/noSyncWithConstant.d.ts +0 -3
- package/refactors/noSyncWithConstant.d.ts.map +0 -1
- package/refactors/noSyncWithConstant.js +0 -43
- package/refactors/noSyncWithConstant.js.map +0 -1
- package/refactors/removeCurryArrow.d.ts +0 -3
- package/refactors/removeCurryArrow.d.ts.map +0 -1
- package/refactors/removeCurryArrow.js +0 -33
- package/refactors/removeCurryArrow.js.map +0 -1
- package/utils.d.ts +0 -17
- package/utils.d.ts.map +0 -1
- package/utils.js.map +0 -1
package/_mjs/ast.mjs
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as Ch from "@fp-ts/data/Chunk";
|
|
3
|
-
import { Tag } from "@fp-ts/data/Context";
|
|
4
|
-
import { pipe } from "@fp-ts/data/Function";
|
|
5
|
-
import * as O from "@fp-ts/data/Option";
|
|
6
|
-
export const TypeScriptApi = /*#__PURE__*/Tag();
|
|
7
|
-
export const TypeScriptProgram = /*#__PURE__*/Tag();
|
|
8
|
-
export const ChangeTrackerApi = /*#__PURE__*/Tag();
|
|
9
|
-
export class NoSuchSourceFile {
|
|
10
|
-
constructor(fileName) {
|
|
11
|
-
this.fileName = fileName;
|
|
12
|
-
this._tag = "NoSuchSourceFile";
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export function getSourceFile(fileName) {
|
|
16
|
-
return pipe(T.service(TypeScriptProgram), T.map(program => program.getSourceFile(fileName)), T.filterOrFail(sourceFile => !!sourceFile, () => new NoSuchSourceFile(fileName)));
|
|
17
|
-
}
|
|
18
|
-
export function hasModifier(node, kind) {
|
|
19
|
-
return T.serviceWith(TypeScriptApi)(ts => !!(ts.getCombinedModifierFlags(node) & kind));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Gets the closest node that contains given TextRange
|
|
23
|
-
*/
|
|
24
|
-
export function getNodesContainingRange(ts) {
|
|
25
|
-
return (sourceFile, textRange) => {
|
|
26
|
-
const precedingToken = ts.findPrecedingToken(textRange.pos, sourceFile);
|
|
27
|
-
if (!precedingToken) return Ch.empty;
|
|
28
|
-
let result = Ch.empty;
|
|
29
|
-
let parent = precedingToken;
|
|
30
|
-
while (parent) {
|
|
31
|
-
result = pipe(result, Ch.append(parent));
|
|
32
|
-
parent = parent.parent;
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Ensures value is a text range
|
|
39
|
-
*/
|
|
40
|
-
export function toTextRange(positionOrRange) {
|
|
41
|
-
return typeof positionOrRange === "number" ? {
|
|
42
|
-
end: positionOrRange,
|
|
43
|
-
pos: positionOrRange
|
|
44
|
-
} : positionOrRange;
|
|
45
|
-
}
|
|
46
|
-
export function getHumanReadableName(sourceFile, node) {
|
|
47
|
-
const text = node.getText(sourceFile);
|
|
48
|
-
return text.length > 10 ? text.substring(0, 10) + "..." : text;
|
|
49
|
-
}
|
|
50
|
-
export function collectAll(ts) {
|
|
51
|
-
return (rootNode, test) => {
|
|
52
|
-
let result = Ch.empty;
|
|
53
|
-
function visitor(node) {
|
|
54
|
-
if (test(node)) result = pipe(result, Ch.append(node));
|
|
55
|
-
ts.forEachChild(node, visitor);
|
|
56
|
-
}
|
|
57
|
-
visitor(rootNode);
|
|
58
|
-
return result;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export function getRelevantTokens(ts) {
|
|
62
|
-
return (position, sourceFile) => {
|
|
63
|
-
const previousToken = ts.findPrecedingToken(position, sourceFile);
|
|
64
|
-
if (previousToken && position <= previousToken.end && (ts.isMemberName(previousToken) || ts.isKeyword(previousToken.kind))) {
|
|
65
|
-
const contextToken = ts.findPrecedingToken(previousToken.getFullStart(), sourceFile, /*startNode*/undefined); // TODO: GH#18217
|
|
66
|
-
return {
|
|
67
|
-
contextToken: O.some(contextToken),
|
|
68
|
-
previousToken: O.some(previousToken)
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
contextToken: O.fromNullable(previousToken),
|
|
73
|
-
previousToken: O.fromNullable(previousToken)
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export function isNodeInRange(textRange) {
|
|
78
|
-
return node => node.pos <= textRange.pos && node.end >= textRange.end;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=ast.mjs.map
|
package/_mjs/ast.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.mjs","mappings":"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","names":["T","Ch","Tag","pipe","O","TypeScriptApi","TypeScriptProgram","ChangeTrackerApi","NoSuchSourceFile","constructor","fileName","getSourceFile","service","map","program","filterOrFail","sourceFile","hasModifier","node","kind","serviceWith","ts","getCombinedModifierFlags","getNodesContainingRange","textRange","precedingToken","findPrecedingToken","pos","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","some","fromNullable","isNodeInRange"],"sourceRoot":"","sources":["../../src/ast.ts"],"sourcesContent":[null]}
|
package/_mjs/config.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
function literal(...types) {
|
|
2
|
-
return def => value => types.indexOf(value) > -1 ? value : def;
|
|
3
|
-
}
|
|
4
|
-
function record(type) {
|
|
5
|
-
return value => {
|
|
6
|
-
if (typeof value !== "object" || value === null) return {};
|
|
7
|
-
return Object.keys(value).reduce((obj, key) => ({
|
|
8
|
-
...obj,
|
|
9
|
-
[key]: type(value[key])
|
|
10
|
-
}), {});
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function struct(types) {
|
|
14
|
-
return value => {
|
|
15
|
-
return Object.keys(types).reduce((obj, key) => ({
|
|
16
|
-
...obj,
|
|
17
|
-
[key]: types[key](typeof value !== "object" || value === null ? null : value[key])
|
|
18
|
-
}), {});
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export const parseLanguageServicePluginConfig = /*#__PURE__*/struct({
|
|
22
|
-
diagnostics: /*#__PURE__*/record( /*#__PURE__*/literal("none", "suggestion", "warning", "error")("none"))
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=config.mjs.map
|
package/_mjs/config.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","mappings":"AAQA,SAASA,OAAO,CAA+B,GAAGC,KAAQ;EACxD,OAAQC,GAAc,IAA0BC,KAAK,IAAKF,KAAK,CAACG,OAAO,CAACD,KAAY,CAAC,GAAG,CAAC,CAAC,GAAGA,KAAY,GAAGD,GAAG;AACjH;AAEA,SAASG,MAAM,CAAIC,IAAgB;EACjC,OAAQH,KAAc,IAAI;IACxB,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE;IAC1D,OAAOI,MAAM,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGL,IAAI,CAACH,KAAK,CAACQ,GAAG,CAAC;IAAC,CAAE,CAAC,EAAE,EAAE,CAAC;EAC3F,CAAC;AACH;AAEA,SAASC,MAAM,CAA6CX,KAAQ;EAClE,OAAQE,KAAc,IAAI;IACxB,OAAOI,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC,CAACQ,MAAM,CAC9B,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGV,KAAK,CAACU,GAAG,CAAE,CAAC,OAAOR,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GAAG,IAAI,GAAGA,KAAK,CAACQ,GAAG,CAAC;IAAC,CAAE,CAAC,EAC/G,EAA0C,CAC3C;EACH,CAAC;AACH;AAEA,OAAO,MAAME,gCAAgC,gBAAGD,MAAM,CAAC;EACrDE,WAAW,eAAET,MAAM,eAACL,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;CAC9E,CAAC","names":["literal","types","def","value","indexOf","record","type","Object","keys","reduce","obj","key","struct","parseLanguageServicePluginConfig","diagnostics"],"sourceRoot":"","sources":["../../src/config.ts"],"sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"AAwBA,OAAM,SAAUA,gBAAgB,CAACC,UAAgC;EAC/D,OAAOA,UAAU;AACnB","names":["createDiagnostic","definition"],"sourceRoot":"","sources":["../../../src/diagnostics/definition.ts"],"sourcesContent":[null]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
|
-
import { createDiagnostic } from "@effect/language-service/diagnostics/definition";
|
|
4
|
-
import * as Ch from "@fp-ts/data/Chunk";
|
|
5
|
-
import { pipe } from "@fp-ts/data/Function";
|
|
6
|
-
export default /*#__PURE__*/createDiagnostic({
|
|
7
|
-
code: 1003,
|
|
8
|
-
category: "none",
|
|
9
|
-
apply: sourceFile => T.gen(function* ($) {
|
|
10
|
-
const ts = yield* $(T.service(AST.TypeScriptApi));
|
|
11
|
-
const program = yield* $(T.service(AST.TypeScriptProgram));
|
|
12
|
-
const typeChecker = program.getTypeChecker();
|
|
13
|
-
function isEffectType(type) {
|
|
14
|
-
const symbol = type.getSymbol();
|
|
15
|
-
if (!symbol) return false;
|
|
16
|
-
if (symbol.declarations) {
|
|
17
|
-
return symbol.declarations.some(declaration => declaration.getSourceFile().fileName.includes("@effect/io/Effect"));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function isPipeableCombinator(type) {
|
|
21
|
-
const signatures = type.getCallSignatures();
|
|
22
|
-
if (signatures.length === 0) return false;
|
|
23
|
-
return signatures.some(isPipeableCallSignatureReturningEffect);
|
|
24
|
-
}
|
|
25
|
-
function isPipeableCallSignatureReturningEffect(signature) {
|
|
26
|
-
if (signature.getParameters().length !== 1) return false;
|
|
27
|
-
return isEffectType(signature.getReturnType());
|
|
28
|
-
}
|
|
29
|
-
function shouldBeTraced(signature) {
|
|
30
|
-
const returnType = signature.getReturnType();
|
|
31
|
-
return isEffectType(returnType) || isPipeableCombinator(returnType);
|
|
32
|
-
}
|
|
33
|
-
function isGetCallTraceCallExpression(node) {
|
|
34
|
-
if (!ts.isCallExpression(node)) return false;
|
|
35
|
-
const expression = node.expression;
|
|
36
|
-
if (!ts.isIdentifier(expression)) return false;
|
|
37
|
-
return expression.text === "getCallTrace";
|
|
38
|
-
}
|
|
39
|
-
return pipe(AST.collectAll(ts)(sourceFile, ts.isArrowFunction), Ch.concat(AST.collectAll(ts)(sourceFile, ts.isFunctionDeclaration)), Ch.filter(node => !!node.body), Ch.filter(node => typeChecker.getTypeAtLocation(node).getCallSignatures().some(shouldBeTraced)), Ch.filter(node => {
|
|
40
|
-
const body = node.body;
|
|
41
|
-
if (!ts.isBlock(body)) return true;
|
|
42
|
-
const firstStatement = body.statements[0];
|
|
43
|
-
if (!firstStatement) return true;
|
|
44
|
-
return Ch.isEmpty(AST.collectAll(ts)(firstStatement, isGetCallTraceCallExpression));
|
|
45
|
-
}), Ch.map(node => ({
|
|
46
|
-
node,
|
|
47
|
-
messageText: `This function should be traced. getCallTrace() should be the first line of the body.`
|
|
48
|
-
})));
|
|
49
|
-
})
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=ensureGetCallTrace.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureGetCallTrace.mjs","mappings":"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","names":["T","AST","createDiagnostic","Ch","pipe","code","category","apply","sourceFile","gen","$","ts","service","TypeScriptApi","program","TypeScriptProgram","typeChecker","getTypeChecker","isEffectType","type","symbol","getSymbol","declarations","some","declaration","getSourceFile","fileName","includes","isPipeableCombinator","signatures","getCallSignatures","length","isPipeableCallSignatureReturningEffect","signature","getParameters","getReturnType","shouldBeTraced","returnType","isGetCallTraceCallExpression","node","isCallExpression","expression","isIdentifier","text","collectAll","isArrowFunction","concat","isFunctionDeclaration","filter","body","getTypeAtLocation","isBlock","firstStatement","statements","isEmpty","map","messageText"],"sourceRoot":"","sources":["../../../src/diagnostics/ensureGetCallTrace.ts"],"sourcesContent":[null]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import ensureGetCallTrace from "@effect/language-service/diagnostics/ensureGetCallTrace";
|
|
2
|
-
import noSyncWithConstant from "@effect/language-service/diagnostics/noSyncWithConstant";
|
|
3
|
-
export default {
|
|
4
|
-
noSyncWithConstant,
|
|
5
|
-
ensureGetCallTrace
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,kBAAkB,MAAM,yDAAyD;AACxF,OAAOC,kBAAkB,MAAM,yDAAyD;AAExF,eAAe;EAAEA,kBAAkB;EAAED;AAAkB,CAAE","names":["ensureGetCallTrace","noSyncWithConstant"],"sourceRoot":"","sources":["../../../src/diagnostics/index.ts"],"sourcesContent":[null]}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
|
-
import { createDiagnostic } from "@effect/language-service/diagnostics/definition";
|
|
4
|
-
import { getEffectModuleIdentifier, isCombinatorCall, isLiteralConstantValue } from "@effect/language-service/utils";
|
|
5
|
-
import * as Ch from "@fp-ts/data/Chunk";
|
|
6
|
-
import { pipe } from "@fp-ts/data/Function";
|
|
7
|
-
export const noSyncWithConstantMethodsMap = {
|
|
8
|
-
sync: "succeed",
|
|
9
|
-
failSync: "fail",
|
|
10
|
-
dieSync: "die"
|
|
11
|
-
};
|
|
12
|
-
export function isEffectSyncWithConstantCall(ts) {
|
|
13
|
-
return (moduleIdentifier, methodName) => node => {
|
|
14
|
-
if (isCombinatorCall(ts)(moduleIdentifier, methodName)(node) && node.arguments.length === 1) {
|
|
15
|
-
const arg = node.arguments[0];
|
|
16
|
-
if (ts.isArrowFunction(arg) && isLiteralConstantValue(ts)(arg.body)) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return false;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export default /*#__PURE__*/createDiagnostic({
|
|
24
|
-
code: 1002,
|
|
25
|
-
category: "warning",
|
|
26
|
-
apply: sourceFile => T.gen(function* ($) {
|
|
27
|
-
const ts = yield* $(T.service(AST.TypeScriptApi));
|
|
28
|
-
const effectIdentifier = getEffectModuleIdentifier(ts)(sourceFile);
|
|
29
|
-
let result = Ch.empty;
|
|
30
|
-
for (const methodName of Object.keys(noSyncWithConstantMethodsMap)) {
|
|
31
|
-
const suggestedMethodName = noSyncWithConstantMethodsMap[methodName];
|
|
32
|
-
result = pipe(result, Ch.concat(pipe(AST.collectAll(ts)(sourceFile, isEffectSyncWithConstantCall(ts)(effectIdentifier, methodName)), Ch.map(node => ({
|
|
33
|
-
node,
|
|
34
|
-
messageText: `Value is constant, instead of using ${methodName} you could use ${suggestedMethodName}.`
|
|
35
|
-
})))));
|
|
36
|
-
}
|
|
37
|
-
return result;
|
|
38
|
-
})
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=noSyncWithConstant.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"noSyncWithConstant.mjs","mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,mBAAmB;AACtC,OAAO,KAAKC,GAAG,MAAM,8BAA8B;AAEnD,SAASC,gBAAgB,QAAQ,iDAAiD;AAClF,SAASC,yBAAyB,EAAEC,gBAAgB,EAAEC,sBAAsB,QAAQ,gCAAgC;AACpH,OAAO,KAAKC,EAAE,MAAM,mBAAmB;AACvC,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,OAAO,MAAMC,4BAA4B,GAAG;EAC1CC,IAAI,EAAE,SAAS;EACfC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE;CACV;AAED,OAAM,SAAUC,4BAA4B,CAACC,EAAqB;EAChE,OAAO,CAACC,gBAAwB,EAAEC,UAAkB,KACjDC,IAAa,IAA+B;IAC3C,IAAIZ,gBAAgB,CAACS,EAAE,CAAC,CAACC,gBAAgB,EAAEC,UAAU,CAAC,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACC,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE;MAC3F,MAAMC,GAAG,GAAGH,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;MAC7B,IAAIJ,EAAE,CAACO,eAAe,CAACD,GAAG,CAAC,IAAId,sBAAsB,CAACQ,EAAE,CAAC,CAACM,GAAG,CAACE,IAAI,CAAC,EAAE;QACnE,OAAO,IAAI;;;IAGf,OAAO,KAAK;EACd,CAAC;AACL;AAEA,4BAAenB,gBAAgB,CAAC;EAC9BoB,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,SAAS;EACnBC,KAAK,EAAGC,UAAU,IAChBzB,CAAC,CAAC0B,GAAG,CAAC,WAAUC,CAAC;IACf,MAAMd,EAAE,GAAG,OAAOc,CAAC,CAAC3B,CAAC,CAAC4B,OAAO,CAAC3B,GAAG,CAAC4B,aAAa,CAAC,CAAC;IAEjD,MAAMC,gBAAgB,GAAG3B,yBAAyB,CAACU,EAAE,CAAC,CAACY,UAAU,CAAC;IAElE,IAAIM,MAAM,GAA0CzB,EAAE,CAAC0B,KAAK;IAE5D,KAAK,MAAMjB,UAAU,IAAIkB,MAAM,CAACC,IAAI,CAAC1B,4BAA4B,CAAC,EAAE;MAClE,MAAM2B,mBAAmB,GAAW3B,4BAA4B,CAACO,UAAU,CAAE;MAC7EgB,MAAM,GAAGxB,IAAI,CACXwB,MAAM,EACNzB,EAAE,CAAC8B,MAAM,CACP7B,IAAI,CACFN,GAAG,CAACoC,UAAU,CAACxB,EAAE,CAAC,CAACY,UAAU,EAAEb,4BAA4B,CAACC,EAAE,CAAC,CAACiB,gBAAgB,EAAEf,UAAU,CAAC,CAAC,EAC9FT,EAAE,CAACgC,GAAG,CAAEtB,IAAI,KAAM;QAChBA,IAAI;QACJuB,WAAW,EAAE,uCAAuCxB,UAAU,kBAAkBoB,mBAAmB;OACpG,CAAC,CAAC,CACJ,CACF,CACF;;IAGH,OAAOJ,MAAM;EACf,CAAC;CACJ,CAAC","names":["T","AST","createDiagnostic","getEffectModuleIdentifier","isCombinatorCall","isLiteralConstantValue","Ch","pipe","noSyncWithConstantMethodsMap","sync","failSync","dieSync","isEffectSyncWithConstantCall","ts","moduleIdentifier","methodName","node","arguments","length","arg","isArrowFunction","body","code","category","apply","sourceFile","gen","$","service","TypeScriptApi","effectIdentifier","result","empty","Object","keys","suggestedMethodName","concat","collectAll","map","messageText"],"sourceRoot":"","sources":["../../../src/diagnostics/noSyncWithConstant.ts"],"sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,YAAY,MAAM,sDAAsD;AAE/E,MAAMC,KAAK,GAAG;EACZ,gBAAgB,EAAED;CACnB;AAED,eAAe;EACbC;CACD","names":["noCurryArrow","rules"],"sourceRoot":"","sources":["../../../src/eslint-rules/index.ts"],"sourcesContent":[null]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as utils from "@effect/language-service/eslint-rules/utils";
|
|
2
|
-
import * as U from "@effect/language-service/utils";
|
|
3
|
-
import * as ts from "typescript/lib/tsserverlibrary";
|
|
4
|
-
export default /*#__PURE__*/utils.createRule({
|
|
5
|
-
create(context) {
|
|
6
|
-
const parserServices = utils.getParserServices(context);
|
|
7
|
-
return {
|
|
8
|
-
ArrowFunctionExpression(node) {
|
|
9
|
-
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
10
|
-
if (U.isCurryArrow(ts)(tsNode)) {
|
|
11
|
-
context.report({
|
|
12
|
-
messageId: "noCurryArrow",
|
|
13
|
-
node
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
},
|
|
19
|
-
name: "no-curry-arrow",
|
|
20
|
-
meta: {
|
|
21
|
-
docs: {
|
|
22
|
-
description: "There should be no curry arrow functions, like T.map((_) => log(_)) should be T.map(log) instead",
|
|
23
|
-
recommended: "warn"
|
|
24
|
-
},
|
|
25
|
-
messages: {
|
|
26
|
-
noCurryArrow: "There should be no curry arrow functions, like T.map((_) => log(_)) should be T.map(log) instead"
|
|
27
|
-
},
|
|
28
|
-
type: "suggestion",
|
|
29
|
-
schema: []
|
|
30
|
-
},
|
|
31
|
-
defaultOptions: []
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=no-curry-arrow.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-curry-arrow.mjs","mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,6CAA6C;AACpE,OAAO,KAAKC,CAAC,MAAM,gCAAgC;AACnD,OAAO,KAAKC,EAAE,MAAM,gCAAgC;AAEpD,4BAAeF,KAAK,CAACG,UAAU,CAAC;EAC9BC,MAAM,CAACC,OAAO;IACZ,MAAMC,cAAc,GAAGN,KAAK,CAACO,iBAAiB,CAACF,OAAO,CAAC;IAEvD,OAAO;MACLG,uBAAuB,CAACC,IAAI;QAC1B,MAAMC,MAAM,GAAGJ,cAAc,CAACK,qBAAqB,CAACC,GAAG,CAACH,IAAI,CAAC;QAC7D,IAAIR,CAAC,CAACY,YAAY,CAACX,EAAE,CAAC,CAACQ,MAAM,CAAC,EAAE;UAC9BL,OAAO,CAACS,MAAM,CAAC;YACbC,SAAS,EAAE,cAAc;YACzBN;WACD,CAAC;;MAEN;KACD;EACH,CAAC;EACDO,IAAI,EAAE,gBAAgB;EACtBC,IAAI,EAAE;IACJC,IAAI,EAAE;MACJC,WAAW,EAAE,kGAAkG;MAC/GC,WAAW,EAAE;KACd;IACDC,QAAQ,EAAE;MACRC,YAAY,EAAE;KACf;IACDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;GACT;EACDC,cAAc,EAAE;CACjB,CAAC","names":["utils","U","ts","createRule","create","context","parserServices","getParserServices","ArrowFunctionExpression","node","tsNode","esTreeNodeToTSNodeMap","get","isCurryArrow","report","messageId","name","meta","docs","description","recommended","messages","noCurryArrow","type","schema","defaultOptions"],"sourceRoot":"","sources":["../../../src/eslint-rules/no-curry-arrow.ts"],"sourcesContent":[null]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @repo-tooling/dprint/dprint */
|
|
2
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
3
|
-
const {
|
|
4
|
-
getParserServices
|
|
5
|
-
} = ESLintUtils;
|
|
6
|
-
const createRule = /*#__PURE__*/ESLintUtils.RuleCreator(name => `https://example.com/rule/${name}`);
|
|
7
|
-
export { getParserServices, createRule };
|
|
8
|
-
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","mappings":"AAAA;AACA,SAASA,WAAW,QAAQ,0BAA0B;AAEtD,MAAM;EAACC;AAAiB,CAAC,GAAGD,WAAW;AAEvC,MAAME,UAAU,gBAAGF,WAAW,CAACG,WAAW,CACvCC,IAAI,IAAK,4BAA4BA,IAAI,EAAE,CAC7C;AAED,SAASH,iBAAiB,EAAEC,UAAU","names":["ESLintUtils","getParserServices","createRule","RuleCreator","name"],"sourceRoot":"","sources":["../../../src/eslint-rules/utils.ts"],"sourcesContent":[null]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
|
-
import { isEffectSyncWithConstantCall, noSyncWithConstantMethodsMap } from "@effect/language-service/diagnostics/noSyncWithConstant";
|
|
4
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
5
|
-
import { getEffectModuleIdentifier, isLiteralConstantValue } from "@effect/language-service/utils";
|
|
6
|
-
import * as Ch from "@fp-ts/data/Chunk";
|
|
7
|
-
import { pipe } from "@fp-ts/data/Function";
|
|
8
|
-
import * as O from "@fp-ts/data/Option";
|
|
9
|
-
export default /*#__PURE__*/createRefactor({
|
|
10
|
-
name: "effect/addPipe",
|
|
11
|
-
description: "Rewrite using pipe",
|
|
12
|
-
apply: (sourceFile, textRange) => T.gen(function* ($) {
|
|
13
|
-
const ts = yield* $(T.service(AST.TypeScriptApi));
|
|
14
|
-
const effectIdentifier = getEffectModuleIdentifier(ts)(sourceFile);
|
|
15
|
-
const nodes = pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.reverse, Ch.fromIterable, Ch.filter(AST.isNodeInRange(textRange)));
|
|
16
|
-
for (const methodName of Object.keys(noSyncWithConstantMethodsMap)) {
|
|
17
|
-
const suggestedMethodName = noSyncWithConstantMethodsMap[methodName];
|
|
18
|
-
const refactor = pipe(nodes, Ch.filter(isEffectSyncWithConstantCall(ts)(effectIdentifier, methodName)), Ch.head, O.map(node => ({
|
|
19
|
-
description: `Rewrite ${methodName} to ${suggestedMethodName}`,
|
|
20
|
-
apply: T.gen(function* ($) {
|
|
21
|
-
const changeTracker = yield* $(T.service(AST.ChangeTrackerApi));
|
|
22
|
-
const arg = node.arguments[0];
|
|
23
|
-
if (ts.isArrowFunction(arg) && isLiteralConstantValue(ts)(arg.body)) {
|
|
24
|
-
const newNode = ts.factory.updateCallExpression(node, ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(effectIdentifier), suggestedMethodName), node.typeArguments, ts.factory.createNodeArray([arg.body]));
|
|
25
|
-
changeTracker.replaceNode(sourceFile, node, newNode);
|
|
26
|
-
}
|
|
27
|
-
})
|
|
28
|
-
})));
|
|
29
|
-
if (O.isSome(refactor)) return refactor;
|
|
30
|
-
}
|
|
31
|
-
return O.none;
|
|
32
|
-
})
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=noSyncWithConstant.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"noSyncWithConstant.mjs","mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,mBAAmB;AACtC,OAAO,KAAKC,GAAG,MAAM,8BAA8B;AACnD,SACEC,4BAA4B,EAC5BC,4BAA4B,QACvB,yDAAyD;AAChE,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,yBAAyB,EAAEC,sBAAsB,QAAQ,gCAAgC;AAClG,OAAO,KAAKC,EAAE,MAAM,mBAAmB;AACvC,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAO,KAAKC,CAAC,MAAM,oBAAoB;AAEvC,4BAAeL,cAAc,CAAC;EAC5BM,IAAI,EAAE,gBAAgB;EACtBC,WAAW,EAAE,oBAAoB;EACjCC,KAAK,EAAE,CAACC,UAAU,EAAEC,SAAS,KAC3Bd,CAAC,CAACe,GAAG,CAAC,WAAUC,CAAC;IACf,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAAChB,CAAC,CAACkB,OAAO,CAACjB,GAAG,CAACkB,aAAa,CAAC,CAAC;IACjD,MAAMC,gBAAgB,GAAGf,yBAAyB,CAACY,EAAE,CAAC,CAACJ,UAAU,CAAC;IAElE,MAAMQ,KAAK,GAAGb,IAAI,CAChBP,GAAG,CAACqB,uBAAuB,CAACL,EAAE,CAAC,CAACJ,UAAU,EAAEC,SAAS,CAAC,EACtDP,EAAE,CAACgB,OAAO,EACVhB,EAAE,CAACiB,YAAY,EACfjB,EAAE,CAACkB,MAAM,CAACxB,GAAG,CAACyB,aAAa,CAACZ,SAAS,CAAC,CAAC,CACxC;IAED,KAAK,MAAMa,UAAU,IAAIC,MAAM,CAACC,IAAI,CAAC1B,4BAA4B,CAAC,EAAE;MAClE,MAAM2B,mBAAmB,GAAW3B,4BAA4B,CAACwB,UAAU,CAAE;MAC7E,MAAMI,QAAQ,GAAGvB,IAAI,CACnBa,KAAK,EACLd,EAAE,CAACkB,MAAM,CAACvB,4BAA4B,CAACe,EAAE,CAAC,CAACG,gBAAgB,EAAEO,UAAU,CAAC,CAAC,EACzEpB,EAAE,CAACyB,IAAI,EACPvB,CAAC,CAACwB,GAAG,CAAEC,IAAI,KAAM;QACfvB,WAAW,EAAE,WAAWgB,UAAU,OAAOG,mBAAmB,EAAE;QAC9DlB,KAAK,EAAEZ,CAAC,CAACe,GAAG,CAAC,WAAUC,CAAC;UACtB,MAAMmB,aAAa,GAAG,OAAOnB,CAAC,CAAChB,CAAC,CAACkB,OAAO,CAACjB,GAAG,CAACmC,gBAAgB,CAAC,CAAC;UAC/D,MAAMC,GAAG,GAAGH,IAAI,CAACI,SAAS,CAAC,CAAC,CAAC;UAC7B,IAAIrB,EAAE,CAACsB,eAAe,CAACF,GAAG,CAAC,IAAI/B,sBAAsB,CAACW,EAAE,CAAC,CAACoB,GAAG,CAACG,IAAI,CAAC,EAAE;YACnE,MAAMC,OAAO,GAAGxB,EAAE,CAACyB,OAAO,CAACC,oBAAoB,CAC7CT,IAAI,EACJjB,EAAE,CAACyB,OAAO,CAACE,8BAA8B,CACvC3B,EAAE,CAACyB,OAAO,CAACG,gBAAgB,CAACzB,gBAAgB,CAAC,EAC7CU,mBAAmB,CACpB,EACDI,IAAI,CAACY,aAAa,EAClB7B,EAAE,CAACyB,OAAO,CAACK,eAAe,CAAC,CAACV,GAAG,CAACG,IAAI,CAAC,CAAC,CACvC;YAEDL,aAAa,CAACa,WAAW,CAACnC,UAAU,EAAEqB,IAAI,EAAEO,OAAO,CAAC;;QAExD,CAAC;OACF,CAAC,CAAC,CACJ;MACD,IAAIhC,CAAC,CAACwC,MAAM,CAAClB,QAAQ,CAAC,EAAE,OAAOA,QAAQ;;IAGzC,OAAOtB,CAAC,CAACyC,IAAI;EACf,CAAC;CACJ,CAAC","names":["T","AST","isEffectSyncWithConstantCall","noSyncWithConstantMethodsMap","createRefactor","getEffectModuleIdentifier","isLiteralConstantValue","Ch","pipe","O","name","description","apply","sourceFile","textRange","gen","$","ts","service","TypeScriptApi","effectIdentifier","nodes","getNodesContainingRange","reverse","fromIterable","filter","isNodeInRange","methodName","Object","keys","suggestedMethodName","refactor","head","map","node","changeTracker","ChangeTrackerApi","arg","arguments","isArrowFunction","body","newNode","factory","updateCallExpression","createPropertyAccessExpression","createIdentifier","typeArguments","createNodeArray","replaceNode","isSome","none"],"sourceRoot":"","sources":["../../../src/refactors/noSyncWithConstant.ts"],"sourcesContent":[null]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as T from "@effect/io/Effect";
|
|
2
|
-
import * as AST from "@effect/language-service/ast";
|
|
3
|
-
import { createRefactor } from "@effect/language-service/refactors/definition";
|
|
4
|
-
import { isCurryArrow } from "@effect/language-service/utils";
|
|
5
|
-
import * as Ch from "@fp-ts/data/Chunk";
|
|
6
|
-
import { pipe } from "@fp-ts/data/Function";
|
|
7
|
-
import * as O from "@fp-ts/data/Option";
|
|
8
|
-
export default /*#__PURE__*/createRefactor({
|
|
9
|
-
name: "effect/removeCurryArrow",
|
|
10
|
-
description: "Remove arrow",
|
|
11
|
-
apply: (sourceFile, textRange) => T.gen(function* ($) {
|
|
12
|
-
const ts = yield* $(T.service(AST.TypeScriptApi));
|
|
13
|
-
return pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(isCurryArrow(ts)), Ch.head, O.map(node => ({
|
|
14
|
-
description: `Remove arrow ${AST.getHumanReadableName(sourceFile, node.body)}`,
|
|
15
|
-
apply: T.gen(function* ($) {
|
|
16
|
-
const changeTracker = yield* $(T.service(AST.ChangeTrackerApi));
|
|
17
|
-
if (!ts.isCallExpression(node.body)) return;
|
|
18
|
-
const newNode = node.body.expression;
|
|
19
|
-
changeTracker.replaceNode(sourceFile, node, newNode);
|
|
20
|
-
})
|
|
21
|
-
})));
|
|
22
|
-
})
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=removeCurryArrow.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"removeCurryArrow.mjs","mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,mBAAmB;AACtC,OAAO,KAAKC,GAAG,MAAM,8BAA8B;AACnD,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,OAAO,KAAKC,EAAE,MAAM,mBAAmB;AACvC,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAO,KAAKC,CAAC,MAAM,oBAAoB;AAEvC,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,yBAAyB;EAC/BC,WAAW,EAAE,cAAc;EAC3BC,KAAK,EAAE,CAACC,UAAU,EAAEC,SAAS,KAC3BX,CAAC,CAACY,GAAG,CAAC,WAAUC,CAAC;IACf,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAACb,CAAC,CAACe,OAAO,CAACd,GAAG,CAACe,aAAa,CAAC,CAAC;IAEjD,OAAOX,IAAI,CACTJ,GAAG,CAACgB,uBAAuB,CAACH,EAAE,CAAC,CAACJ,UAAU,EAAEC,SAAS,CAAC,EACtDP,EAAE,CAACc,MAAM,CAACf,YAAY,CAACW,EAAE,CAAC,CAAC,EAC3BV,EAAE,CAACe,IAAI,EACPb,CAAC,CAACc,GAAG,CAAEC,IAAI,KAAM;MACfb,WAAW,EAAE,gBAAgBP,GAAG,CAACqB,oBAAoB,CAACZ,UAAU,EAAEW,IAAI,CAACE,IAAI,CAAC,EAAE;MAC9Ed,KAAK,EAAET,CAAC,CAACY,GAAG,CAAC,WAAUC,CAAC;QACtB,MAAMW,aAAa,GAAG,OAAOX,CAAC,CAACb,CAAC,CAACe,OAAO,CAACd,GAAG,CAACwB,gBAAgB,CAAC,CAAC;QAE/D,IAAI,CAACX,EAAE,CAACY,gBAAgB,CAACL,IAAI,CAACE,IAAI,CAAC,EAAE;QACrC,MAAMI,OAAO,GAAGN,IAAI,CAACE,IAAI,CAACK,UAAU;QACpCJ,aAAa,CAACK,WAAW,CAACnB,UAAU,EAAEW,IAAI,EAAEM,OAAO,CAAC;MACtD,CAAC;KACF,CAAC,CAAC,CACJ;EACH,CAAC;CACJ,CAAC","names":["T","AST","createRefactor","isCurryArrow","Ch","pipe","O","name","description","apply","sourceFile","textRange","gen","$","ts","service","TypeScriptApi","getNodesContainingRange","filter","head","map","node","getHumanReadableName","body","changeTracker","ChangeTrackerApi","isCallExpression","newNode","expression","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/removeCurryArrow.ts"],"sourcesContent":[null]}
|
package/_mjs/utils.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","mappings":"AACA,OAAO,KAAKA,EAAE,MAAM,mBAAmB;AACvC,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAO,KAAKC,CAAC,MAAM,oBAAoB;AAGvC,OAAM,SAAUC,UAAU,CAACC,EAAqB;EAC9C,OAAQC,IAAa,IAA+B;IAClD,IAAI,CAACD,EAAE,CAACE,gBAAgB,CAACD,IAAI,CAAC,EAAE,OAAO,KAAK;IAC5C,MAAME,UAAU,GAAGF,IAAI,CAACE,UAAU;IAClC,IAAI,CAACH,EAAE,CAACI,YAAY,CAACD,UAAU,CAAC,EAAE,OAAO,KAAK;IAC9C,IAAIA,UAAU,CAACE,OAAO,CAACJ,IAAI,CAACK,aAAa,EAAE,CAAC,KAAK,MAAM,EAAE,OAAO,KAAK;IACrE,OAAO,IAAI;EACb,CAAC;AACH;AAEA,OAAM,SAAUC,wBAAwB,CAACP,EAAqB;EAC5D,OAAQC,IAAa,IAAI;IACvB;IACA,IAAI,CAACD,EAAE,CAACE,gBAAgB,CAACD,IAAI,CAAC,EAAE,OAAOH,CAAC,CAACU,IAAI;IAC7C;IACA,IAAIP,IAAI,CAACQ,SAAS,CAACC,MAAM,KAAK,CAAC,EAAE,OAAOZ,CAAC,CAACU,IAAI;IAC9C,MAAMG,GAAG,GAAGV,IAAI,CAACQ,SAAS,CAAC,CAAC,CAAE;IAC9B;IACA;IACA,IAAIT,EAAE,CAACY,eAAe,CAACD,GAAG,CAAC,EAAE,OAAOb,CAAC,CAACU,IAAI;IAC1C;IACA,IAAIR,EAAE,CAACa,eAAe,CAACF,GAAG,CAAC,IAAIX,EAAE,CAACc,gBAAgB,CAACH,GAAG,CAAC,IAAIX,EAAE,CAACI,YAAY,CAACO,GAAG,CAAC,EAAE,OAAOb,CAAC,CAACU,IAAI;IAC9F,OAAOV,CAAC,CAACiB,IAAI,CAAC,CAACd,IAAI,CAACE,UAAU,EAAEQ,GAAG,CAAU,CAAC;EAChD,CAAC;AACH;AAEA,OAAM,SAAUK,eAAe,CAAChB,EAAqB;EACnD,OAAQiB,WAAoB,IAAI;IAC9B,IAAIC,MAAM,GAA4BtB,EAAE,CAACuB,KAAK;IAC9C,IAAIC,WAAW,GAAsBtB,CAAC,CAACiB,IAAI,CAACE,WAAW,CAAC;IACxD,OAAOnB,CAAC,CAACuB,MAAM,CAACD,WAAW,CAAC,EAAE;MAC5B,MAAMnB,IAAI,GAAGmB,WAAW,CAACE,KAAK;MAC9B,MAAMC,aAAa,GAAGhB,wBAAwB,CAACP,EAAE,CAAC,CAACC,IAAI,CAAC;MACxD,IAAIH,CAAC,CAAC0B,MAAM,CAACD,aAAa,CAAC,EAAE;QAC3BL,MAAM,GAAGrB,IAAI,CAACqB,MAAM,EAAEtB,EAAE,CAAC6B,MAAM,CAACxB,IAAqB,CAAC,CAAC;QACvD;;MAEF,MAAM,CAACyB,GAAG,EAAEf,GAAG,CAAC,GAAGY,aAAa,CAACD,KAAK;MACtCJ,MAAM,GAAGrB,IAAI,CAACqB,MAAM,EAAEtB,EAAE,CAAC6B,MAAM,CAACC,GAAG,CAAC,CAAC;MACrCN,WAAW,GAAGtB,CAAC,CAACiB,IAAI,CAACJ,GAAG,CAAC;;IAE3B,OAAOf,EAAE,CAAC+B,OAAO,CAACT,MAAM,CAAC;EAC3B,CAAC;AACH;AAEA,OAAM,SAAUU,wBAAwB,CAAC5B,EAAqB;EAC5D,OAAQC,IAAa,IAAgCH,CAAC,CAACuB,MAAM,CAACd,wBAAwB,CAACP,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC;AACnG;AAEA,OAAM,SAAU4B,gBAAgB,CAAC7B,EAAqB;EACpD,OAAO,CAAC8B,gBAAwB,EAAEC,gBAAwB,KACvD9B,IAAa,IAA+B;IAC3C,IAAI,CAACD,EAAE,CAACE,gBAAgB,CAACD,IAAI,CAAC,EAAE,OAAO,KAAK;IAC5C,MAAM+B,IAAI,GAAG/B,IAAI,CAACE,UAAU;IAC5B,IAAI,CAACH,EAAE,CAACiC,0BAA0B,CAACD,IAAI,CAAC,EAAE,OAAO,KAAK;IACtD,MAAME,UAAU,GAAGF,IAAI,CAAC7B,UAAU;IAClC,MAAMgC,QAAQ,GAAGH,IAAI,CAACI,IAAI;IAC1B,IAAI,CAACpC,EAAE,CAACI,YAAY,CAAC8B,UAAU,CAAC,EAAE,OAAO,KAAK;IAC9C,IAAIA,UAAU,CAACG,IAAI,KAAKP,gBAAgB,EAAE,OAAO,KAAK;IACtD,IAAI,CAAC9B,EAAE,CAACI,YAAY,CAAC+B,QAAQ,CAAC,EAAE,OAAO,KAAK;IAC5C,IAAIA,QAAQ,CAACE,IAAI,KAAKN,gBAAgB,EAAE,OAAO,KAAK;IACpD,OAAO,IAAI;EACb,CAAC;AACL;AAEA,OAAM,SAAUO,8BAA8B,CAC5CtC,EAAqB;EAErB,OAAO,CAACuC,UAAyB,EAAEC,UAAkB,KAAI;IACvD,OAAO1C,CAAC,CAAC2C,YAAY,CAACzC,EAAE,CAAC0C,YAAY,CAACH,UAAU,EAAGtC,IAAI,IAAI;MACzD,IAAI,CAACD,EAAE,CAAC2C,mBAAmB,CAAC1C,IAAI,CAAC,EAAE;MACnC,MAAM2C,eAAe,GAAG3C,IAAI,CAAC2C,eAAe;MAC5C,IAAI,CAAC5C,EAAE,CAACa,eAAe,CAAC+B,eAAe,CAAC,EAAE;MAC1C,IAAIA,eAAe,CAACP,IAAI,KAAKG,UAAU,EAAE;MACzC,MAAMK,YAAY,GAAG5C,IAAI,CAAC4C,YAAY;MACtC,IAAI,CAACA,YAAY,EAAE;MACnB,MAAMC,aAAa,GAAGD,YAAY,CAACC,aAAa;MAChD,IAAI,CAACA,aAAa,EAAE;MACpB,IAAI,CAAC9C,EAAE,CAAC+C,iBAAiB,CAACD,aAAa,CAAC,EAAE;MAC1C,OAAOA,aAAa,CAACV,IAAI,CAACC,IAAI;IAChC,CAAC,CAAC,CAAC;EACL,CAAC;AACH;AAEA,OAAM,SAAUW,YAAY,CAAChD,EAAqB;EAChD,OAAQiD,KAAc,IAA+B;IACnD,IAAI,CAACjD,EAAE,CAACY,eAAe,CAACqC,KAAK,CAAC,EAAE,OAAO,KAAK;IAC5C,IAAIA,KAAK,CAACC,UAAU,CAACxC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAC/C,MAAMyC,SAAS,GAAGF,KAAK,CAACC,UAAU,CAAC,CAAC,CAAE;IACtC,MAAME,aAAa,GAAGD,SAAS,CAACf,IAAI;IACpC,IAAI,CAACpC,EAAE,CAACI,YAAY,CAACgD,aAAa,CAAC,EAAE,OAAO,KAAK;IACjD,MAAMC,IAAI,GAAGJ,KAAK,CAACI,IAAI;IACvB,IAAI,CAACrD,EAAE,CAACE,gBAAgB,CAACmD,IAAI,CAAC,EAAE,OAAO,KAAK;IAC5C,MAAMC,IAAI,GAAGD,IAAI,CAAC5C,SAAS;IAC3B,IAAI6C,IAAI,CAAC5C,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IACnC,MAAM6C,UAAU,GAAGD,IAAI,CAAC,CAAC,CAAE;IAC3B,IAAI,CAACtD,EAAE,CAACI,YAAY,CAACmD,UAAU,CAAC,EAAE,OAAO,KAAK;IAC9C,OAAOA,UAAU,CAAClB,IAAI,KAAKe,aAAa,CAACf,IAAI;EAC/C,CAAC;AACH;AAEA,OAAM,SAAUmB,sBAAsB,CAACxD,EAAqB;EAC1D,OAAQC,IAAa,IAAuF;IAC1G,OAAOD,EAAE,CAACa,eAAe,CAACZ,IAAI,CAAC,IAAID,EAAE,CAACc,gBAAgB,CAACb,IAAI,CAAC,IAC1DA,IAAI,CAACwD,IAAI,KAAKzD,EAAE,CAAC0D,UAAU,CAACC,WAAW,IACvC1D,IAAI,CAACwD,IAAI,KAAKzD,EAAE,CAAC0D,UAAU,CAACE,YAAY,IAAI3D,IAAI,CAACwD,IAAI,KAAKzD,EAAE,CAAC0D,UAAU,CAACG,WAAW;EACvF,CAAC;AACH;AAEA,OAAM,SAAUC,8BAA8B,CAC5C9D,EAAqB;EAErB,OAAO,CACLC,IAAuE,EACvE8D,UAAkB,EAClBC,OAAqD,KACnD;IACF,SAASC,OAAO,CAACC,CAAU;MACzB,IAAIlE,EAAE,CAACmE,iBAAiB,CAACD,CAAC,CAAC,EAAE;QAC3B,MAAM/D,UAAU,GAAGH,EAAE,CAACoE,cAAc,CAACF,CAAC,CAAC/D,UAAU,EAAE8D,OAAO,EAAEjE,EAAE,CAACqE,yBAAyB,CAAC;QAEzF,OAAOrE,EAAE,CAACsE,OAAO,CAACC,qBAAqB,CACrCvE,EAAE,CAACsE,OAAO,CAACE,WAAW,CAACxE,EAAE,CAAC0D,UAAU,CAACe,aAAa,CAAC,EACnDzE,EAAE,CAACsE,OAAO,CAACI,oBAAoB,CAAC1E,EAAE,CAACsE,OAAO,CAACK,gBAAgB,CAAC,GAAG,CAAC,EAAEC,SAAS,EAAE,CAACZ,OAAO,CAAC7D,UAAU,CAAC,CAAC,CAAC,CACpG;;MAEH,OAAOH,EAAE,CAACoE,cAAc,CAACF,CAAC,EAAED,OAAO,EAAEjE,EAAE,CAACqE,yBAAyB,CAAC;IACpE;IACA,MAAMQ,aAAa,GAAGZ,OAAO,CAAChE,IAAI,CAACoD,IAAK,CAAC;IAEzC,MAAMyB,SAAS,GAAG9E,EAAE,CAACsE,OAAO,CAACS,wBAAwB,CACnD,EAAE,EACF/E,EAAE,CAACsE,OAAO,CAACE,WAAW,CAACxE,EAAE,CAAC0D,UAAU,CAACe,aAAa,CAAC,EACnDG,SAAS,EACT,EAAE,EACF,CAAC5E,EAAE,CAACsE,OAAO,CAACU,0BAA0B,CAACJ,SAAS,EAAEA,SAAS,EAAE,GAAG,CAAC,CAAC,EAClEA,SAAS,EACTC,aAAoB,CAAC;IAAA,CACtB;;IAED,MAAMI,gBAAgB,GAAGjF,EAAE,CAACsE,OAAO,CAACI,oBAAoB,CACtD1E,EAAE,CAACsE,OAAO,CAACY,8BAA8B,CACvClF,EAAE,CAACsE,OAAO,CAACK,gBAAgB,CAACZ,UAAU,CAAC,EACvC,KAAK,CACN,EACDa,SAAS,EACT,CAACE,SAAgB,CAAC,CACnB;IAED,IAAIK,YAAY,GAAGnF,EAAE,CAACoF,wBAAwB,CAACnF,IAAI,CAAC;IACpDkF,YAAY,IAAI,CAACnF,EAAE,CAACqF,aAAa,CAACC,KAAK;IACvC,MAAMC,YAAY,GAAGvF,EAAE,CAACsE,OAAO,CAACkB,gCAAgC,CAACL,YAAY,CAAC;IAE9E,IAAInF,EAAE,CAACY,eAAe,CAACX,IAAI,CAAC,EAAE;MAC5B,OAAOD,EAAE,CAACsE,OAAO,CAACmB,mBAAmB,CACnCF,YAAY,EACZtF,IAAI,CAACyF,cAAc,EACnBzF,IAAI,CAACiD,UAAU,EACf0B,SAAS,EACT3E,IAAI,CAAC0F,sBAAsB,EAC3BV,gBAAgB,CACjB;;IAGH,MAAMW,OAAO,GAAG5F,EAAE,CAACsE,OAAO,CAACuB,WAAW,CAAC,CACrC7F,EAAE,CAACsE,OAAO,CAACwB,qBAAqB,CAACb,gBAAgB,CAAC,CACnD,CAAC;IAEF,IAAIjF,EAAE,CAAC+F,qBAAqB,CAAC9F,IAAI,CAAC,EAAE;MAClC,OAAOD,EAAE,CAACsE,OAAO,CAAC0B,yBAAyB,CACzCT,YAAY,EACZtF,IAAI,CAACgG,aAAa,EAClBhG,IAAI,CAACmC,IAAI,EACTnC,IAAI,CAACyF,cAAc,EACnBzF,IAAI,CAACiD,UAAU,EACf0B,SAAS,EACTgB,OAAO,CACR;;IAEH,OAAO5F,EAAE,CAACsE,OAAO,CAACS,wBAAwB,CACxCQ,YAAY,EACZtF,IAAI,CAACgG,aAAa,EAClBhG,IAAI,CAACmC,IAAI,EACTnC,IAAI,CAACyF,cAAc,EACnBzF,IAAI,CAACiD,UAAU,EACf0B,SAAS,EACTgB,OAAO,CACR;EACH,CAAC;AACH;AAEA,OAAM,SAAUM,uBAAuB,CACrClG,EAAqB,EACrBmG,OAAqC;EAErC,OAAO,CACL5D,UAAyB,EACzB6D,WAIwB,EACxBC,QAAqB,KACnB;IACF,MAAMC,UAAU,GAAGtG,EAAE,CAACuG,eAAe,CAACH,WAAW,EAAEpG,EAAE,CAAC0D,UAAU,CAAC8C,eAAe,EAAEjE,UAAU,CAAC;IAC7F,MAAMkE,UAAU,GAAGzG,EAAE,CAACY,eAAe,CAACwF,WAAW,CAAC,IAAIE,UAAU,KAAK1B,SAAS;IAC9E,MAAM8B,OAAO,GAAGD,UAAU,GAAGL,WAAW,CAAClD,UAAU,CAAC,CAAC,CAAC,GAAGoD,UAAU;IACnE,IAAII,OAAO,EAAE;MACX,IAAID,UAAU,EAAE;QACdN,OAAO,CAACQ,gBAAgB,CAACpE,UAAU,EAAEmE,OAAO,EAAE1G,EAAE,CAACsE,OAAO,CAACE,WAAW,CAACxE,EAAE,CAAC0D,UAAU,CAACkD,cAAc,CAAC,CAAC;QACnGT,OAAO,CAACU,eAAe,CAACtE,UAAU,EAAEmE,OAAO,EAAE1G,EAAE,CAACsE,OAAO,CAACE,WAAW,CAACxE,EAAE,CAAC0D,UAAU,CAAC8C,eAAe,CAAC,CAAC;;MAErGL,OAAO,CAACW,YAAY,CAACvE,UAAU,EAAEmE,OAAO,CAACK,GAAG,EAAEV,QAAQ,EAAE;QAAEW,MAAM,EAAE;MAAI,CAAE,CAAC;;EAE7E,CAAC;AACH;AAEA,OAAM,SAAUC,0BAA0B,CACxCjH,EAAqB,EACrBmG,OAAqC;EAErC,OAAO,CACL5D,UAAyB,EACzB6D,WAIwB,KACtB;IACF,MAAME,UAAU,GAAGtG,EAAE,CAACuG,eAAe,CAACH,WAAW,EAAEpG,EAAE,CAAC0D,UAAU,CAAC8C,eAAe,EAAEjE,UAAU,CAAC;IAC7F,MAAMkE,UAAU,GAAGzG,EAAE,CAACY,eAAe,CAACwF,WAAW,CAAC,IAAIE,UAAU,KAAK1B,SAAS;IAC9E,MAAM8B,OAAO,GAAGD,UAAU,GAAGL,WAAW,CAAClD,UAAU,CAAC,CAAC,CAAC,GAAGoD,UAAU;IACnE,IAAII,OAAO,IAAIN,WAAW,CAACc,IAAI,EAAE;MAC/Bf,OAAO,CAACgB,WAAW,CAAC5E,UAAU,EAAE;QAAE6E,GAAG,EAAEV,OAAO,CAACK,GAAG;QAAEA,GAAG,EAAEX,WAAW,CAACc,IAAI,CAACH;MAAG,CAAE,CAAC;;EAEpF,CAAC;AACH;AAEA,OAAM,SAAUM,yBAAyB,CAACrH,EAAqB;EAC7D,OAAQuC,UAAyB,IAC/B1C,IAAI,CACFyC,8BAA8B,CAACtC,EAAE,CAAC,CAACuC,UAAU,EAAE,mBAAmB,CAAC,EACnEzC,CAAC,CAACwH,MAAM,CAAChF,8BAA8B,CAACtC,EAAE,CAAC,CAACuC,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAC7EzC,CAAC,CAACyH,SAAS,CACT,MAAM,QAAQ,CACf,CACF;AACL","names":["Ch","pipe","O","isPipeCall","ts","node","isCallExpression","expression","isIdentifier","getText","getSourceFile","asPipeableCallExpression","none","arguments","length","arg","isArrowFunction","isStringLiteral","isNumericLiteral","some","asPipeArguments","initialNode","result","empty","currentNode","isSome","value","maybePipeable","isNone","append","exp","reverse","isPipeableCallExpression","isCombinatorCall","moduleIdentifier","moduleMethodName","left","isPropertyAccessExpression","leftModule","leftName","name","text","findModuleImportIdentifierName","sourceFile","moduleName","fromNullable","forEachChild","isImportDeclaration","moduleSpecifier","importClause","namedBindings","isNamespaceImport","isCurryArrow","arrow","parameters","parameter","parameterName","body","args","identifier","isLiteralConstantValue","kind","SyntaxKind","TrueKeyword","FalseKeyword","NullKeyword","transformAsyncAwaitToEffectGen","effectName","onAwait","visitor","_","isAwaitExpression","visitEachChild","nullTransformationContext","factory","createYieldExpression","createToken","AsteriskToken","createCallExpression","createIdentifier","undefined","generatorBody","generator","createFunctionExpression","createParameterDeclaration","effectGenCallExp","createPropertyAccessExpression","currentFlags","getCombinedModifierFlags","ModifierFlags","Async","newModifiers","createModifiersFromModifierFlags","createArrowFunction","typeParameters","equalsGreaterThanToken","newBody","createBlock","createReturnStatement","isFunctionDeclaration","createFunctionDeclaration","asteriskToken","addReturnTypeAnnotation","changes","declaration","typeNode","closeParen","findChildOfKind","CloseParenToken","needParens","endNode","insertNodeBefore","OpenParenToken","insertNodeAfter","insertNodeAt","end","prefix","removeReturnTypeAnnotation","type","deleteRange","pos","getEffectModuleIdentifier","orElse","getOrElse"],"sourceRoot":"","sources":["../../src/utils.ts"],"sourcesContent":[null]}
|
package/ast.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast.ts"],"names":[],"mappings":"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"}
|
package/ast.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TypeScriptProgram = exports.TypeScriptApi = exports.NoSuchSourceFile = exports.ChangeTrackerApi = void 0;
|
|
7
|
-
exports.collectAll = collectAll;
|
|
8
|
-
exports.getHumanReadableName = getHumanReadableName;
|
|
9
|
-
exports.getNodesContainingRange = getNodesContainingRange;
|
|
10
|
-
exports.getRelevantTokens = getRelevantTokens;
|
|
11
|
-
exports.getSourceFile = getSourceFile;
|
|
12
|
-
exports.hasModifier = hasModifier;
|
|
13
|
-
exports.isNodeInRange = isNodeInRange;
|
|
14
|
-
exports.toTextRange = toTextRange;
|
|
15
|
-
var T = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
16
|
-
var Ch = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fp-ts/data/Chunk"));
|
|
17
|
-
var _Context = /*#__PURE__*/require("@fp-ts/data/Context");
|
|
18
|
-
var _Function = /*#__PURE__*/require("@fp-ts/data/Function");
|
|
19
|
-
var O = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fp-ts/data/Option"));
|
|
20
|
-
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); }
|
|
21
|
-
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; }
|
|
22
|
-
const TypeScriptApi = /*#__PURE__*/(0, _Context.Tag)();
|
|
23
|
-
exports.TypeScriptApi = TypeScriptApi;
|
|
24
|
-
const TypeScriptProgram = /*#__PURE__*/(0, _Context.Tag)();
|
|
25
|
-
exports.TypeScriptProgram = TypeScriptProgram;
|
|
26
|
-
const ChangeTrackerApi = /*#__PURE__*/(0, _Context.Tag)();
|
|
27
|
-
exports.ChangeTrackerApi = ChangeTrackerApi;
|
|
28
|
-
class NoSuchSourceFile {
|
|
29
|
-
constructor(fileName) {
|
|
30
|
-
this.fileName = fileName;
|
|
31
|
-
this._tag = "NoSuchSourceFile";
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.NoSuchSourceFile = NoSuchSourceFile;
|
|
35
|
-
function getSourceFile(fileName) {
|
|
36
|
-
return (0, _Function.pipe)(T.service(TypeScriptProgram), T.map(program => program.getSourceFile(fileName)), T.filterOrFail(sourceFile => !!sourceFile, () => new NoSuchSourceFile(fileName)));
|
|
37
|
-
}
|
|
38
|
-
function hasModifier(node, kind) {
|
|
39
|
-
return T.serviceWith(TypeScriptApi)(ts => !!(ts.getCombinedModifierFlags(node) & kind));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Gets the closest node that contains given TextRange
|
|
43
|
-
*/
|
|
44
|
-
function getNodesContainingRange(ts) {
|
|
45
|
-
return (sourceFile, textRange) => {
|
|
46
|
-
const precedingToken = ts.findPrecedingToken(textRange.pos, sourceFile);
|
|
47
|
-
if (!precedingToken) return Ch.empty;
|
|
48
|
-
let result = Ch.empty;
|
|
49
|
-
let parent = precedingToken;
|
|
50
|
-
while (parent) {
|
|
51
|
-
result = (0, _Function.pipe)(result, Ch.append(parent));
|
|
52
|
-
parent = parent.parent;
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Ensures value is a text range
|
|
59
|
-
*/
|
|
60
|
-
function toTextRange(positionOrRange) {
|
|
61
|
-
return typeof positionOrRange === "number" ? {
|
|
62
|
-
end: positionOrRange,
|
|
63
|
-
pos: positionOrRange
|
|
64
|
-
} : positionOrRange;
|
|
65
|
-
}
|
|
66
|
-
function getHumanReadableName(sourceFile, node) {
|
|
67
|
-
const text = node.getText(sourceFile);
|
|
68
|
-
return text.length > 10 ? text.substring(0, 10) + "..." : text;
|
|
69
|
-
}
|
|
70
|
-
function collectAll(ts) {
|
|
71
|
-
return (rootNode, test) => {
|
|
72
|
-
let result = Ch.empty;
|
|
73
|
-
function visitor(node) {
|
|
74
|
-
if (test(node)) result = (0, _Function.pipe)(result, Ch.append(node));
|
|
75
|
-
ts.forEachChild(node, visitor);
|
|
76
|
-
}
|
|
77
|
-
visitor(rootNode);
|
|
78
|
-
return result;
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function getRelevantTokens(ts) {
|
|
82
|
-
return (position, sourceFile) => {
|
|
83
|
-
const previousToken = ts.findPrecedingToken(position, sourceFile);
|
|
84
|
-
if (previousToken && position <= previousToken.end && (ts.isMemberName(previousToken) || ts.isKeyword(previousToken.kind))) {
|
|
85
|
-
const contextToken = ts.findPrecedingToken(previousToken.getFullStart(), sourceFile, /*startNode*/undefined); // TODO: GH#18217
|
|
86
|
-
return {
|
|
87
|
-
contextToken: O.some(contextToken),
|
|
88
|
-
previousToken: O.some(previousToken)
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
contextToken: O.fromNullable(previousToken),
|
|
93
|
-
previousToken: O.fromNullable(previousToken)
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function isNodeInRange(textRange) {
|
|
98
|
-
return node => node.pos <= textRange.pos && node.end >= textRange.end;
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=ast.js.map
|
package/ast.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","mappings":"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","names":["TypeScriptApi","TypeScriptProgram","ChangeTrackerApi","NoSuchSourceFile","constructor","fileName","getSourceFile","T","service","map","program","filterOrFail","sourceFile","hasModifier","node","kind","serviceWith","ts","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"],"sourceRoot":"","sources":["../../src/ast.ts"],"sourcesContent":[null]}
|
package/config.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { DiagnosticDefinitionMessageCategory } from "@effect/language-service/diagnostics/definition";
|
|
2
|
-
export interface LanguageServicePluginConfig {
|
|
3
|
-
diagnostic: Record<number, DiagnosticDefinitionMessageCategory>;
|
|
4
|
-
}
|
|
5
|
-
type Decoder<A> = (value: unknown) => A;
|
|
6
|
-
export declare const parseLanguageServicePluginConfig: Decoder<{
|
|
7
|
-
diagnostics: Record<string, "none" | "suggestion" | "warning" | "error">;
|
|
8
|
-
}>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=config.d.ts.map
|
package/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAA;AAE1G,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;CAChE;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;AAsBvC,eAAO,MAAM,gCAAgC;;EAE3C,CAAA"}
|
package/config.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseLanguageServicePluginConfig = void 0;
|
|
7
|
-
function literal(...types) {
|
|
8
|
-
return def => value => types.indexOf(value) > -1 ? value : def;
|
|
9
|
-
}
|
|
10
|
-
function record(type) {
|
|
11
|
-
return value => {
|
|
12
|
-
if (typeof value !== "object" || value === null) return {};
|
|
13
|
-
return Object.keys(value).reduce((obj, key) => ({
|
|
14
|
-
...obj,
|
|
15
|
-
[key]: type(value[key])
|
|
16
|
-
}), {});
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function struct(types) {
|
|
20
|
-
return value => {
|
|
21
|
-
return Object.keys(types).reduce((obj, key) => ({
|
|
22
|
-
...obj,
|
|
23
|
-
[key]: types[key](typeof value !== "object" || value === null ? null : value[key])
|
|
24
|
-
}), {});
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
const parseLanguageServicePluginConfig = /*#__PURE__*/struct({
|
|
28
|
-
diagnostics: /*#__PURE__*/record( /*#__PURE__*/literal("none", "suggestion", "warning", "error")("none"))
|
|
29
|
-
});
|
|
30
|
-
exports.parseLanguageServicePluginConfig = parseLanguageServicePluginConfig;
|
|
31
|
-
//# sourceMappingURL=config.js.map
|
package/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","mappings":";;;;;;AAQA,SAASA,OAAO,CAA+B,GAAGC,KAAQ;EACxD,OAAQC,GAAc,IAA0BC,KAAK,IAAKF,KAAK,CAACG,OAAO,CAACD,KAAY,CAAC,GAAG,CAAC,CAAC,GAAGA,KAAY,GAAGD,GAAG;AACjH;AAEA,SAASG,MAAM,CAAIC,IAAgB;EACjC,OAAQH,KAAc,IAAI;IACxB,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE;IAC1D,OAAOI,MAAM,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGL,IAAI,CAACH,KAAK,CAACQ,GAAG,CAAC;IAAC,CAAE,CAAC,EAAE,EAAE,CAAC;EAC3F,CAAC;AACH;AAEA,SAASC,MAAM,CAA6CX,KAAQ;EAClE,OAAQE,KAAc,IAAI;IACxB,OAAOI,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC,CAACQ,MAAM,CAC9B,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGV,KAAK,CAACU,GAAG,CAAE,CAAC,OAAOR,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GAAG,IAAI,GAAGA,KAAK,CAACQ,GAAG,CAAC;IAAC,CAAE,CAAC,EAC/G,EAA0C,CAC3C;EACH,CAAC;AACH;AAEO,MAAME,gCAAgC,gBAAGD,MAAM,CAAC;EACrDE,WAAW,eAAET,MAAM,eAACL,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;CAC9E,CAAC;AAAA","names":["literal","types","def","value","indexOf","record","type","Object","keys","reduce","obj","key","struct","parseLanguageServicePluginConfig","diagnostics"],"sourceRoot":"","sources":["../../src/config.ts"],"sourcesContent":[null]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type * as T from "@effect/io/Effect";
|
|
2
|
-
import type * as Ch from "@fp-ts/data/Chunk";
|
|
3
|
-
import type ts from "typescript/lib/tsserverlibrary";
|
|
4
|
-
export interface DiagnosticDefinitionMessage {
|
|
5
|
-
node: ts.Node;
|
|
6
|
-
messageText: string;
|
|
7
|
-
}
|
|
8
|
-
export type DiagnosticDefinitionMessageCategory = "none" | "suggestion" | "warning" | "error";
|
|
9
|
-
export interface DiagnosticDefinition {
|
|
10
|
-
code: number;
|
|
11
|
-
category: DiagnosticDefinitionMessageCategory;
|
|
12
|
-
apply: <E>(sourceFile: ts.SourceFile) => T.Effect<typeof ts | ts.Program, E, Ch.Chunk<DiagnosticDefinitionMessage>>;
|
|
13
|
-
}
|
|
14
|
-
export declare function createDiagnostic(definition: DiagnosticDefinition): DiagnosticDefinition;
|
|
15
|
-
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAA;AAEpD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,mCAAmC,CAAA;IAC7C,KAAK,EAAE,CAAC,CAAC,EACP,UAAU,EAAE,EAAE,CAAC,UAAU,KACtB,CAAC,CAAC,MAAM,CACX,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EACtB,CAAC,EACD,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CACtC,CAAA;CACF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,wBAEhE"}
|