@effect/language-service 0.0.17 → 0.0.18

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/README.md CHANGED
@@ -20,27 +20,6 @@ Inside your tsconfig.json, you should add the plugin configuration as follows:
20
20
  }
21
21
  ```
22
22
 
23
- ## Configuration
24
-
25
- The severity of diagnostics can be customized by providing additional configuration in your tsconfig.json.
26
- Accepted values are: `"none" | "suggestion" | "warning" | "error"`
27
-
28
- ```json
29
- {
30
- "compilerOptions": {
31
- "plugins": [
32
- {
33
- "name": "@effect/language-service",
34
- "diagnostics": {
35
- "1003": "warning",
36
- "1002": "none"
37
- }
38
- }
39
- ]
40
- }
41
- }
42
- ```
43
-
44
23
  ## Provided refactors
45
24
 
46
25
  Here's a list of the refactors provided by this language service plugin.
@@ -51,15 +30,11 @@ Here's a list of the refactors provided by this language service plugin.
51
30
 
52
31
  Transform a set of function calls to a pipe() call.
53
32
 
54
- ### Remove pipe
55
-
56
- ![](images/remove-pipe.gif)
57
-
58
- Transform a pipe() call into a series of regular function calls.
33
+ ### Pipeable to DataFirst
59
34
 
60
- ### Remove curry arrow
35
+ ![](images/pipeable-to-datafirst.gif)
61
36
 
62
- ![](images/remove-curry-arrow.gif)
37
+ Transform a pipe() call into a series of datafirst function calls (where available).
63
38
 
64
39
  Removes useless arrow functions.
65
40
 
@@ -1,6 +1,7 @@
1
1
  import asyncAwaitToGen from "@effect/language-service/refactors/asyncAwaitToGen";
2
2
  import asyncAwaitToGenTryPromise from "@effect/language-service/refactors/asyncAwaitToGenTryPromise";
3
3
  import functionToArrow from "@effect/language-service/refactors/functionToArrow";
4
+ import pipeableToDatafirst from "@effect/language-service/refactors/pipeableToDatafirst";
4
5
  import toggleReturnTypeAnnotation from "@effect/language-service/refactors/toggleReturnTypeAnnotation";
5
6
  import toggleTypeAnnotation from "@effect/language-service/refactors/toggleTypeAnnotation";
6
7
  import wrapWithPipe from "@effect/language-service/refactors/wrapWithPipe";
@@ -10,6 +11,7 @@ export default {
10
11
  functionToArrow,
11
12
  toggleTypeAnnotation,
12
13
  toggleReturnTypeAnnotation,
13
- wrapWithPipe
14
+ wrapWithPipe,
15
+ pipeableToDatafirst
14
16
  };
15
17
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,eAAe,MAAM,oDAAoD;AAChF,OAAOC,yBAAyB,MAAM,8DAA8D;AACpG,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,0BAA0B,MAAM,+DAA+D;AACtG,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,OAAOC,YAAY,MAAM,iDAAiD;AAE1E,eAAe;EACbL,eAAe;EACfC,yBAAyB;EACzBC,eAAe;EACfE,oBAAoB;EACpBD,0BAA0B;EAC1BE;CACD","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","toggleReturnTypeAnnotation","toggleTypeAnnotation","wrapWithPipe"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,eAAe,MAAM,oDAAoD;AAChF,OAAOC,yBAAyB,MAAM,8DAA8D;AACpG,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,mBAAmB,MAAM,wDAAwD;AACxF,OAAOC,0BAA0B,MAAM,+DAA+D;AACtG,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,OAAOC,YAAY,MAAM,iDAAiD;AAE1E,eAAe;EACbN,eAAe;EACfC,yBAAyB;EACzBC,eAAe;EACfG,oBAAoB;EACpBD,0BAA0B;EAC1BE,YAAY;EACZH;CACD","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","pipeableToDatafirst","toggleReturnTypeAnnotation","toggleTypeAnnotation","wrapWithPipe"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
@@ -0,0 +1,27 @@
1
+ import { createRefactor } from "@effect/language-service/refactors/definition";
2
+ import * as AST from "@effect/language-service/utils/AST";
3
+ import { pipe } from "@effect/language-service/utils/Function";
4
+ import * as O from "@effect/language-service/utils/Option";
5
+ import * as Ch from "@effect/language-service/utils/ReadonlyArray";
6
+ export default /*#__PURE__*/createRefactor({
7
+ name: "effect/pipeableToDatafirst",
8
+ description: "Rewrite to datafirst",
9
+ apply: (ts, program) => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(AST.isPipeCall(ts)), Ch.filter(node => AST.isNodeInRange(textRange)(node.expression)), Ch.filter(node => node.arguments.length > 1), Ch.head, O.map(node => ({
10
+ kind: "refactor.rewrite.effect.pipeableToDatafirst",
11
+ description: "Rewrite to datafirst",
12
+ apply: changeTracker => {
13
+ let newNode = node.arguments[0];
14
+ for (let i = 1; i < node.arguments.length; i++) {
15
+ const arg = node.arguments[i];
16
+ const a = AST.asDataFirstExpression(ts, program.getTypeChecker())(arg, newNode);
17
+ if (O.isSome(a)) {
18
+ newNode = a.value;
19
+ } else {
20
+ newNode = ts.factory.createCallExpression(ts.factory.createIdentifier("pipe"), [], [newNode, arg]);
21
+ }
22
+ }
23
+ changeTracker.replaceNode(sourceFile, node, newNode);
24
+ }
25
+ })))
26
+ });
27
+ //# sourceMappingURL=pipeableToDatafirst.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeableToDatafirst.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,4BAA4B;EAClCC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,CAACC,EAAE,EAAEC,OAAO,KACjB,CAACC,UAAU,EAAEC,SAAS,KACpBT,IAAI,CACFD,GAAG,CAACW,uBAAuB,CAACJ,EAAE,CAAC,CAACE,UAAU,EAAEC,SAAS,CAAC,EACtDP,EAAE,CAACS,MAAM,CAACZ,GAAG,CAACa,UAAU,CAACN,EAAE,CAAC,CAAC,EAC7BJ,EAAE,CAACS,MAAM,CAAEE,IAAI,IAAKd,GAAG,CAACe,aAAa,CAACL,SAAS,CAAC,CAACI,IAAI,CAACE,UAAU,CAAC,CAAC,EAClEb,EAAE,CAACS,MAAM,CACNE,IAAI,IAAKA,IAAI,CAACG,SAAS,CAACC,MAAM,GAAG,CAAC,CACpC,EACDf,EAAE,CAACgB,IAAI,EACPjB,CAAC,CAACkB,GAAG,CAAEN,IAAI,KAAM;IACfO,IAAI,EAAE,6CAA6C;IACnDhB,WAAW,EAAE,sBAAsB;IACnCC,KAAK,EAAGgB,aAAa,IAAI;MACvB,IAAIC,OAAO,GAAGT,IAAI,CAACG,SAAS,CAAC,CAAC,CAAC;MAC/B,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,IAAI,CAACG,SAAS,CAACC,MAAM,EAAEM,CAAC,EAAE,EAAE;QAC9C,MAAMC,GAAG,GAAGX,IAAI,CAACG,SAAS,CAACO,CAAC,CAAC;QAC7B,MAAME,CAAC,GAAG1B,GAAG,CAAC2B,qBAAqB,CAACpB,EAAE,EAAEC,OAAO,CAACoB,cAAc,EAAE,CAAC,CAACH,GAAG,EAAEF,OAAO,CAAC;QAC/E,IAAIrB,CAAC,CAAC2B,MAAM,CAACH,CAAC,CAAC,EAAE;UACfH,OAAO,GAAGG,CAAC,CAACI,KAAK;SAClB,MAAM;UACLP,OAAO,GAAGhB,EAAE,CAACwB,OAAO,CAACC,oBAAoB,CAACzB,EAAE,CAACwB,OAAO,CAACE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAACV,OAAO,EAAEE,GAAG,CAAC,CAAC;;;MAItGH,aAAa,CAACY,WAAW,CAACzB,UAAU,EAAEK,IAAI,EAAES,OAAO,CAAC;IACtD;GACD,CAAC,CAAC;CAEV,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","program","sourceFile","textRange","getNodesContainingRange","filter","isPipeCall","node","isNodeInRange","expression","arguments","length","head","map","kind","changeTracker","newNode","i","arg","a","asDataFirstExpression","getTypeChecker","isSome","value","factory","createCallExpression","createIdentifier","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/pipeableToDatafirst.ts"],"sourcesContent":[null]}
@@ -183,4 +183,28 @@ export function simplifyTypeNode(ts) {
183
183
  return typeNode;
184
184
  };
185
185
  }
186
+ export function isPipeCall(ts) {
187
+ return node => {
188
+ if (!ts.isCallExpression(node)) return false;
189
+ const expression = node.expression;
190
+ if (!ts.isIdentifier(expression)) return false;
191
+ if (expression.getText(node.getSourceFile()) !== "pipe") return false;
192
+ return true;
193
+ };
194
+ }
195
+ export function asDataFirstExpression(ts, checker) {
196
+ return (node, self) => {
197
+ if (!ts.isCallExpression(node)) return O.none;
198
+ const signature = checker.getResolvedSignature(node);
199
+ if (!signature) return O.none;
200
+ const callSignatures = checker.getTypeAtLocation(node.expression).getCallSignatures();
201
+ for (let i = 0; i < callSignatures.length; i++) {
202
+ const callSignature = callSignatures[i];
203
+ if (callSignature.parameters.length === node.arguments.length + 1) {
204
+ return O.some(ts.factory.createCallExpression(node.expression, [], [self].concat(node.arguments)));
205
+ }
206
+ }
207
+ return O.none;
208
+ };
209
+ }
186
210
  //# sourceMappingURL=AST.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AST.mjs","mappings":"AAAA,SAASA,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAwHlE,OAAM,MAAOC,gBAAgB;EAE3BC,YACWC,QAAgB;IAAhB,aAAQ,GAARA,QAAQ;IAFV,SAAI,GAAG,kBAAkB;EAG/B;;AAGL,OAAM,SAAUC,aAAa,CAACC,OAAmB;EAC/C,OAAQF,QAAgB,IAAI;IAC1B,MAAMG,UAAU,GAAGD,OAAO,CAACD,aAAa,CAACD,QAAQ,CAAC;IAClD,IAAI,CAACG,UAAU,EAAE;MACf,MAAM,IAAIL,gBAAgB,CAACE,QAAQ,CAAC;;IAEtC,OAAOG,UAAU;EACnB,CAAC;AACH;AAEA,OAAM,SAAUC,WAAW,CAACC,EAAiB;EAC3C,OAAO,CAACC,IAAoB,EAAEC,IAAsB,KAAK,CAAC,EAAEF,EAAE,CAACG,wBAAwB,CAACF,IAAI,CAAC,GAAGC,IAAI,CAAC;AACvG;AAEA;;;AAGA,OAAM,SAAUE,uBAAuB,CACrCJ,EAAiB;EAEjB,OAAQ,CAACF,UAAyB,EAAEO,SAAuB,KAAI;IAC7D,MAAMC,cAAc,GAAGN,EAAE,CAACO,kBAAkB,CAACF,SAAS,CAACG,GAAG,EAAEV,UAAU,CAAC;IACvE,IAAI,CAACQ,cAAc,EAAE,OAAOd,EAAE,CAACiB,KAAK;IAEpC,IAAIC,MAAM,GAAsBlB,EAAE,CAACiB,KAAK;IACxC,IAAIE,MAAM,GAAGL,cAAc;IAC3B,OAAOK,MAAM,EAAE;MACbD,MAAM,GAAGpB,IAAI,CAACoB,MAAM,EAAElB,EAAE,CAACoB,MAAM,CAACD,MAAM,CAAC,CAAC;MACxCA,MAAM,GAAGA,MAAM,CAACA,MAAM;;IAGxB,OAAOD,MAAM;EACf,CAAC;AACH;AAEA;;;AAGA,OAAM,SAAUG,WAAW,CAACC,eAAsC;EAChE,OAAO,OAAOA,eAAe,KAAK,QAAQ,GAAG;IAAEC,GAAG,EAAED,eAAe;IAAEN,GAAG,EAAEM;EAAe,CAAE,GAAGA,eAAe;AAC/G;AAEA,OAAM,SAAUE,oBAAoB,CAAClB,UAAyB,EAAEG,IAAa;EAC3E,MAAMgB,IAAI,GAAGhB,IAAI,CAACiB,OAAO,CAACpB,UAAU,CAAC;EACrC,OAAOmB,IAAI,CAACE,MAAM,GAAG,EAAE,GAAGF,IAAI,CAACG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAGH,IAAI;AAChE;AAEA,OAAM,SAAUI,UAAU,CAACrB,EAAiB;EAC1C,OAAO,CAAoBsB,QAAiB,EAAEC,IAAkC,KAAI;IAClF,IAAIb,MAAM,GAAgBlB,EAAE,CAACiB,KAAK;IAElC,SAASe,OAAO,CAACvB,IAAa;MAC5B,IAAIsB,IAAI,CAACtB,IAAI,CAAC,EAAES,MAAM,GAAGpB,IAAI,CAACoB,MAAM,EAAElB,EAAE,CAACoB,MAAM,CAACX,IAAI,CAAC,CAAC;MACtDD,EAAE,CAACyB,YAAY,CAACxB,IAAI,EAAEuB,OAAO,CAAC;IAChC;IAEAA,OAAO,CAACF,QAAQ,CAAC;IAEjB,OAAOZ,MAAM;EACf,CAAC;AACH;AAEA,OAAM,SAAUgB,iBAAiB,CAC/B1B,EAAiB;EAEjB,OAAQ,CAAC2B,QAAgB,EAAE7B,UAAyB,KAAI;IACtD,MAAM8B,aAAa,GAAG5B,EAAE,CAACO,kBAAkB,CAACoB,QAAQ,EAAE7B,UAAU,CAAC;IACjE,IACE8B,aAAa,IAAID,QAAQ,IAAIC,aAAa,CAACb,GAAG,KAC7Cf,EAAE,CAAC6B,YAAY,CAACD,aAAa,CAAC,IAAI5B,EAAE,CAAC8B,SAAS,CAACF,aAAa,CAAC1B,IAAI,CAAC,CAAC,EACpE;MACA,MAAM6B,YAAY,GAAG/B,EAAE,CAACO,kBAAkB,CAACqB,aAAa,CAACI,YAAY,EAAE,EAAElC,UAAU,EAAE,aAAcmC,SAAS,CAAE,EAAC;MAC/G,OAAO;QAAEF,YAAY,EAAExC,CAAC,CAAC2C,IAAI,CAACH,YAAY,CAAC;QAAEH,aAAa,EAAErC,CAAC,CAAC2C,IAAI,CAACN,aAAa;MAAC,CAAE;;IAErF,OAAO;MAAEG,YAAY,EAAExC,CAAC,CAAC4C,YAAY,CAACP,aAAa,CAAC;MAAEA,aAAa,EAAErC,CAAC,CAAC4C,YAAY,CAACP,aAAa;IAAC,CAAE;EACtG,CAAC;AACH;AAEA,OAAM,SAAUQ,aAAa,CAAC/B,SAAuB;EACnD,OAAQJ,IAAa,IAAKA,IAAI,CAACO,GAAG,IAAIH,SAAS,CAACG,GAAG,IAAIP,IAAI,CAACc,GAAG,IAAIV,SAAS,CAACU,GAAG;AAClF;AAEA,OAAM,SAAUsB,8BAA8B,CAC5CrC,EAAiB;EAEjB,OAAO,CAACF,UAAyB,EAAEwC,UAAkB,KAAI;IACvD,OAAO/C,CAAC,CAAC4C,YAAY,CAACnC,EAAE,CAACyB,YAAY,CAAC3B,UAAU,EAAGG,IAAI,IAAI;MACzD,IAAI,CAACD,EAAE,CAACuC,mBAAmB,CAACtC,IAAI,CAAC,EAAE;MACnC,MAAMuC,eAAe,GAAGvC,IAAI,CAACuC,eAAe;MAC5C,IAAI,CAACxC,EAAE,CAACyC,eAAe,CAACD,eAAe,CAAC,EAAE;MAC1C,IAAIA,eAAe,CAACvB,IAAI,KAAKqB,UAAU,EAAE;MACzC,MAAMI,YAAY,GAAGzC,IAAI,CAACyC,YAAY;MACtC,IAAI,CAACA,YAAY,EAAE;MACnB,MAAMC,aAAa,GAAGD,YAAY,CAACC,aAAa;MAChD,IAAI,CAACA,aAAa,EAAE;MACpB,IAAI,CAAC3C,EAAE,CAAC4C,iBAAiB,CAACD,aAAa,CAAC,EAAE;MAC1C,OAAOA,aAAa,CAACE,IAAI,CAAC5B,IAAI;IAChC,CAAC,CAAC,CAAC;EACL,CAAC;AACH;AAEA,OAAM,SAAU6B,8BAA8B,CAC5C9C,EAAiB;EAEjB,OAAO,CACLC,IAAuE,EACvE8C,UAAkB,EAClBC,OAAqD,KACnD;IACF,SAASxB,OAAO,CAACyB,CAAU;MACzB,IAAIjD,EAAE,CAACkD,iBAAiB,CAACD,CAAC,CAAC,EAAE;QAC3B,MAAME,UAAU,GAAGnD,EAAE,CAACoD,cAAc,CAACH,CAAC,CAACE,UAAU,EAAE3B,OAAO,EAAExB,EAAE,CAACqD,yBAAyB,CAAC;QAEzF,OAAOrD,EAAE,CAACsD,OAAO,CAACC,qBAAqB,CACrCvD,EAAE,CAACsD,OAAO,CAACE,WAAW,CAACxD,EAAE,CAACyD,UAAU,CAACC,aAAa,CAAC,EACnD1D,EAAE,CAACsD,OAAO,CAACK,oBAAoB,CAAC3D,EAAE,CAACsD,OAAO,CAACM,gBAAgB,CAAC,GAAG,CAAC,EAAE3B,SAAS,EAAE,CAACe,OAAO,CAACG,UAAU,CAAC,CAAC,CAAC,CACpG;;MAEH,OAAOnD,EAAE,CAACoD,cAAc,CAACH,CAAC,EAAEzB,OAAO,EAAExB,EAAE,CAACqD,yBAAyB,CAAC;IACpE;IACA,MAAMQ,aAAa,GAAGrC,OAAO,CAACvB,IAAI,CAAC6D,IAAK,CAAC;IAEzC,MAAMC,SAAS,GAAG/D,EAAE,CAACsD,OAAO,CAACU,wBAAwB,CACnD,EAAE,EACFhE,EAAE,CAACsD,OAAO,CAACE,WAAW,CAACxD,EAAE,CAACyD,UAAU,CAACC,aAAa,CAAC,EACnDzB,SAAS,EACT,EAAE,EACF,CAACjC,EAAE,CAACsD,OAAO,CAACW,0BAA0B,CAAChC,SAAS,EAAEA,SAAS,EAAE,GAAG,CAAC,CAAC,EAClEA,SAAS,EACT4B,aAAoB,CAAC;IAAA,CACtB;;IAED,MAAMK,gBAAgB,GAAGlE,EAAE,CAACsD,OAAO,CAACK,oBAAoB,CACtD3D,EAAE,CAACsD,OAAO,CAACa,8BAA8B,CACvCnE,EAAE,CAACsD,OAAO,CAACM,gBAAgB,CAACb,UAAU,CAAC,EACvC,KAAK,CACN,EACDd,SAAS,EACT,CAAC8B,SAAgB,CAAC,CACnB;IAED,IAAIK,YAAY,GAAGpE,EAAE,CAACG,wBAAwB,CAACF,IAAI,CAAC;IACpDmE,YAAY,IAAI,CAACpE,EAAE,CAACqE,aAAa,CAACC,KAAK;IACvC,MAAMC,YAAY,GAAGvE,EAAE,CAACsD,OAAO,CAACkB,gCAAgC,CAACJ,YAAY,CAAC;IAE9E,IAAIpE,EAAE,CAACyE,eAAe,CAACxE,IAAI,CAAC,EAAE;MAC5B,OAAOD,EAAE,CAACsD,OAAO,CAACoB,mBAAmB,CACnCH,YAAY,EACZtE,IAAI,CAAC0E,cAAc,EACnB1E,IAAI,CAAC2E,UAAU,EACf3C,SAAS,EACThC,IAAI,CAAC4E,sBAAsB,EAC3BX,gBAAgB,CACjB;;IAGH,MAAMY,OAAO,GAAG9E,EAAE,CAACsD,OAAO,CAACyB,WAAW,CAAC,CACrC/E,EAAE,CAACsD,OAAO,CAAC0B,qBAAqB,CAACd,gBAAgB,CAAC,CACnD,CAAC;IAEF,IAAIlE,EAAE,CAACiF,qBAAqB,CAAChF,IAAI,CAAC,EAAE;MAClC,OAAOD,EAAE,CAACsD,OAAO,CAAC4B,yBAAyB,CACzCX,YAAY,EACZtE,IAAI,CAACkF,aAAa,EAClBlF,IAAI,CAAC4C,IAAI,EACT5C,IAAI,CAAC0E,cAAc,EACnB1E,IAAI,CAAC2E,UAAU,EACf3C,SAAS,EACT6C,OAAO,CACR;;IAEH,OAAO9E,EAAE,CAACsD,OAAO,CAACU,wBAAwB,CACxCO,YAAY,EACZtE,IAAI,CAACkF,aAAa,EAClBlF,IAAI,CAAC4C,IAAI,EACT5C,IAAI,CAAC0E,cAAc,EACnB1E,IAAI,CAAC2E,UAAU,EACf3C,SAAS,EACT6C,OAAO,CACR;EACH,CAAC;AACH;AAEA,OAAM,SAAUM,uBAAuB,CACrCpF,EAAiB,EACjBqF,OAAqC;EAErC,OAAO,CACLvF,UAAyB,EACzBwF,WAIwB,EACxBC,QAAqB,KACnB;IACF,MAAMC,UAAU,GAAGxF,EAAE,CAACyF,eAAe,CAACH,WAAW,EAAEtF,EAAE,CAACyD,UAAU,CAACiC,eAAe,EAAE5F,UAAU,CAAC;IAC7F,MAAM6F,UAAU,GAAG3F,EAAE,CAACyE,eAAe,CAACa,WAAW,CAAC,IAAIE,UAAU,KAAKvD,SAAS;IAC9E,MAAM2D,OAAO,GAAGD,UAAU,GAAGL,WAAW,CAACV,UAAU,CAAC,CAAC,CAAC,GAAGY,UAAU;IACnE,IAAII,OAAO,EAAE;MACX,IAAID,UAAU,EAAE;QACdN,OAAO,CAACQ,gBAAgB,CAAC/F,UAAU,EAAE8F,OAAO,EAAE5F,EAAE,CAACsD,OAAO,CAACE,WAAW,CAACxD,EAAE,CAACyD,UAAU,CAACqC,cAAc,CAAC,CAAC;QACnGT,OAAO,CAACU,eAAe,CAACjG,UAAU,EAAE8F,OAAO,EAAE5F,EAAE,CAACsD,OAAO,CAACE,WAAW,CAACxD,EAAE,CAACyD,UAAU,CAACiC,eAAe,CAAC,CAAC;;MAErGL,OAAO,CAACW,YAAY,CAAClG,UAAU,EAAE8F,OAAO,CAAC7E,GAAG,EAAEwE,QAAQ,EAAE;QAAEU,MAAM,EAAE;MAAI,CAAE,CAAC;;EAE7E,CAAC;AACH;AAEA,OAAM,SAAUC,0BAA0B,CACxClG,EAAiB,EACjBqF,OAAqC;EAErC,OAAO,CACLvF,UAAyB,EACzBwF,WAIwB,KACtB;IACF,MAAME,UAAU,GAAGxF,EAAE,CAACyF,eAAe,CAACH,WAAW,EAAEtF,EAAE,CAACyD,UAAU,CAACiC,eAAe,EAAE5F,UAAU,CAAC;IAC7F,MAAM6F,UAAU,GAAG3F,EAAE,CAACyE,eAAe,CAACa,WAAW,CAAC,IAAIE,UAAU,KAAKvD,SAAS;IAC9E,MAAM2D,OAAO,GAAGD,UAAU,GAAGL,WAAW,CAACV,UAAU,CAAC,CAAC,CAAC,GAAGY,UAAU;IACnE,IAAII,OAAO,IAAIN,WAAW,CAACa,IAAI,EAAE;MAC/Bd,OAAO,CAACe,WAAW,CAACtG,UAAU,EAAE;QAAEU,GAAG,EAAEoF,OAAO,CAAC7E,GAAG;QAAEA,GAAG,EAAEuE,WAAW,CAACa,IAAI,CAACpF;MAAG,CAAE,CAAC;;EAEpF,CAAC;AACH;AAEA,OAAM,SAAUsF,yBAAyB,CAACrG,EAAiB;EACzD,OAAQF,UAAyB,IAC/BR,IAAI,CACF+C,8BAA8B,CAACrC,EAAE,CAAC,CAACF,UAAU,EAAE,mBAAmB,CAAC,EACnEP,CAAC,CAAC+G,MAAM,CAACjE,8BAA8B,CAACrC,EAAE,CAAC,CAACF,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAC7EP,CAAC,CAACgH,SAAS,CACT,MAAM,QAAQ,CACf,CACF;AACL;AAEA,OAAM,SAAUC,gBAAgB,CAC9BxG,EAAiB;EAEjB,SAASyG,eAAe,CAAClB,QAAqB;IAC5C;IACA,IAAIvF,EAAE,CAAC0G,uBAAuB,CAACnB,QAAQ,CAAC,EAAE,OAAOkB,eAAe,CAAClB,QAAQ,CAACY,IAAI,CAAC;IAC/E;IACA,IAAInG,EAAE,CAAC2G,kBAAkB,CAACpB,QAAQ,CAAC,EAAE;MACnC,OAAOhG,CAAC,CAAC2C,IAAI,CAAC,CACZlC,EAAE,CAACsD,OAAO,CAACsD,mBAAmB,CAACrB,QAAQ,CAACZ,cAAc,EAAEY,QAAQ,CAACX,UAAU,EAAEW,QAAQ,CAACY,IAAI,CAAC,CAC5F,CAAC;;IAEJ;IACA,IAAInG,EAAE,CAAC6G,iBAAiB,CAACtB,QAAQ,CAAC,EAAE;MAClC,MAAMuB,iBAAiB,GAAGvB,QAAQ,CAACwB,OAAO,CAACC,KAAK,CAAChH,EAAE,CAACiH,0BAA0B,CAAC;MAC/E,IAAIH,iBAAiB,EAAE,OAAOvH,CAAC,CAAC2C,IAAI,CAACqD,QAAQ,CAACwB,OAAoD,CAAC;;IAErG;IACA,IAAI/G,EAAE,CAACkH,sBAAsB,CAAC3B,QAAQ,CAAC,EAAE;MACvC,MAAMwB,OAAO,GAAGxB,QAAQ,CAAC4B,KAAK,CAACC,GAAG,CAACX,eAAe,CAAC;MACnD,IAAIM,OAAO,CAACC,KAAK,CAACzH,CAAC,CAAC8H,MAAM,CAAC,EAAE;QAC3B,OAAO9H,CAAC,CAAC2C,IAAI,CAAC6E,OAAO,CAACK,GAAG,CAAEnE,CAAC,IAAK1D,CAAC,CAAC8H,MAAM,CAACpE,CAAC,CAAC,GAAGA,CAAC,CAACqE,KAAK,GAAG,EAAE,CAAC,CAACC,IAAI,EAAE,CAAC;;;IAIxE,OAAOhI,CAAC,CAACiI,IAAI;EACf;EAEA,OAAQjC,QAAqB,IAAI;IAC/B,MAAMkC,cAAc,GAAGhB,eAAe,CAAClB,QAAQ,CAAC;IAChD,IAAIhG,CAAC,CAAC8H,MAAM,CAACI,cAAc,CAAC,IAAIA,cAAc,CAACH,KAAK,CAACnG,MAAM,GAAG,CAAC,EAAE;MAC/D,OAAOnB,EAAE,CAACsD,OAAO,CAACoE,qBAAqB,CAACD,cAAc,CAACH,KAAK,CAAC;;IAE/D,OAAO/B,QAAQ;EACjB,CAAC;AACH","names":["pipe","O","Ch","NoSuchSourceFile","constructor","fileName","getSourceFile","program","sourceFile","hasModifier","ts","node","kind","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","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"],"sourceRoot":"","sources":["../../../src/utils/AST.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"AST.mjs","mappings":"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","names":["pipe","O","Ch","NoSuchSourceFile","constructor","fileName","getSourceFile","program","sourceFile","hasModifier","ts","node","kind","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","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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/language-service",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -5,6 +5,7 @@ declare const _default: {
5
5
  toggleTypeAnnotation: import("./definition").RefactorDefinition;
6
6
  toggleReturnTypeAnnotation: import("./definition").RefactorDefinition;
7
7
  wrapWithPipe: import("./definition").RefactorDefinition;
8
+ pipeableToDatafirst: import("./definition").RefactorDefinition;
8
9
  };
9
10
  export default _default;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/refactors/index.ts"],"names":[],"mappings":";;;;;;;;AAOA,wBAOC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/refactors/index.ts"],"names":[],"mappings":";;;;;;;;;AAQA,wBAQC"}
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _asyncAwaitToGen = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/asyncAwaitToGen"));
8
8
  var _asyncAwaitToGenTryPromise = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/asyncAwaitToGenTryPromise"));
9
9
  var _functionToArrow = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/functionToArrow"));
10
+ var _pipeableToDatafirst = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/pipeableToDatafirst"));
10
11
  var _toggleReturnTypeAnnotation = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/toggleReturnTypeAnnotation"));
11
12
  var _toggleTypeAnnotation = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/toggleTypeAnnotation"));
12
13
  var _wrapWithPipe = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/wrapWithPipe"));
@@ -17,7 +18,8 @@ var _default = {
17
18
  functionToArrow: _functionToArrow.default,
18
19
  toggleTypeAnnotation: _toggleTypeAnnotation.default,
19
20
  toggleReturnTypeAnnotation: _toggleReturnTypeAnnotation.default,
20
- wrapWithPipe: _wrapWithPipe.default
21
+ wrapWithPipe: _wrapWithPipe.default,
22
+ pipeableToDatafirst: _pipeableToDatafirst.default
21
23
  };
22
24
  exports.default = _default;
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAA0E;AAAA,eAE3D;EACbA,eAAe,EAAfA,wBAAe;EACfC,yBAAyB,EAAzBA,kCAAyB;EACzBC,eAAe,EAAfA,wBAAe;EACfC,oBAAoB,EAApBA,6BAAoB;EACpBC,0BAA0B,EAA1BA,mCAA0B;EAC1BC,YAAY,EAAZA;CACD;AAAA","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","toggleTypeAnnotation","toggleReturnTypeAnnotation","wrapWithPipe"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.js","mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAA0E;AAAA,eAE3D;EACbA,eAAe,EAAfA,wBAAe;EACfC,yBAAyB,EAAzBA,kCAAyB;EACzBC,eAAe,EAAfA,wBAAe;EACfC,oBAAoB,EAApBA,6BAAoB;EACpBC,0BAA0B,EAA1BA,mCAA0B;EAC1BC,YAAY,EAAZA,qBAAY;EACZC,mBAAmB,EAAnBA;CACD;AAAA","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","toggleTypeAnnotation","toggleReturnTypeAnnotation","wrapWithPipe","pipeableToDatafirst"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@effect/language-service/refactors/definition").RefactorDefinition;
2
+ export default _default;
3
+ //# sourceMappingURL=pipeableToDatafirst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeableToDatafirst.d.ts","sourceRoot":"","sources":["../../../src/refactors/pipeableToDatafirst.ts"],"names":[],"mappings":";AAMA,wBAgCE"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _definition = /*#__PURE__*/require("@effect/language-service/refactors/definition");
8
+ var AST = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/language-service/utils/AST"));
9
+ var _Function = /*#__PURE__*/require("@effect/language-service/utils/Function");
10
+ var O = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/language-service/utils/Option"));
11
+ var Ch = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/language-service/utils/ReadonlyArray"));
12
+ 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); }
13
+ 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; }
14
+ var _default = /*#__PURE__*/(0, _definition.createRefactor)({
15
+ name: "effect/pipeableToDatafirst",
16
+ description: "Rewrite to datafirst",
17
+ apply: (ts, program) => (sourceFile, textRange) => (0, _Function.pipe)(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(AST.isPipeCall(ts)), Ch.filter(node => AST.isNodeInRange(textRange)(node.expression)), Ch.filter(node => node.arguments.length > 1), Ch.head, O.map(node => ({
18
+ kind: "refactor.rewrite.effect.pipeableToDatafirst",
19
+ description: "Rewrite to datafirst",
20
+ apply: changeTracker => {
21
+ let newNode = node.arguments[0];
22
+ for (let i = 1; i < node.arguments.length; i++) {
23
+ const arg = node.arguments[i];
24
+ const a = AST.asDataFirstExpression(ts, program.getTypeChecker())(arg, newNode);
25
+ if (O.isSome(a)) {
26
+ newNode = a.value;
27
+ } else {
28
+ newNode = ts.factory.createCallExpression(ts.factory.createIdentifier("pipe"), [], [newNode, arg]);
29
+ }
30
+ }
31
+ changeTracker.replaceNode(sourceFile, node, newNode);
32
+ }
33
+ })))
34
+ });
35
+ exports.default = _default;
36
+ //# sourceMappingURL=pipeableToDatafirst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeableToDatafirst.js","mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAAkE;AAAA;AAAA,4BAEnD,8BAAc,EAAC;EAC5BA,IAAI,EAAE,4BAA4B;EAClCC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,CAACC,EAAE,EAAEC,OAAO,KACjB,CAACC,UAAU,EAAEC,SAAS,KACpB,kBAAI,EACFC,GAAG,CAACC,uBAAuB,CAACL,EAAE,CAAC,CAACE,UAAU,EAAEC,SAAS,CAAC,EACtDG,EAAE,CAACC,MAAM,CAACH,GAAG,CAACI,UAAU,CAACR,EAAE,CAAC,CAAC,EAC7BM,EAAE,CAACC,MAAM,CAAEE,IAAI,IAAKL,GAAG,CAACM,aAAa,CAACP,SAAS,CAAC,CAACM,IAAI,CAACE,UAAU,CAAC,CAAC,EAClEL,EAAE,CAACC,MAAM,CACNE,IAAI,IAAKA,IAAI,CAACG,SAAS,CAACC,MAAM,GAAG,CAAC,CACpC,EACDP,EAAE,CAACQ,IAAI,EACPC,CAAC,CAACC,GAAG,CAAEP,IAAI,KAAM;IACfQ,IAAI,EAAE,6CAA6C;IACnDnB,WAAW,EAAE,sBAAsB;IACnCC,KAAK,EAAGmB,aAAa,IAAI;MACvB,IAAIC,OAAO,GAAGV,IAAI,CAACG,SAAS,CAAC,CAAC,CAAC;MAC/B,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,IAAI,CAACG,SAAS,CAACC,MAAM,EAAEO,CAAC,EAAE,EAAE;QAC9C,MAAMC,GAAG,GAAGZ,IAAI,CAACG,SAAS,CAACQ,CAAC,CAAC;QAC7B,MAAME,CAAC,GAAGlB,GAAG,CAACmB,qBAAqB,CAACvB,EAAE,EAAEC,OAAO,CAACuB,cAAc,EAAE,CAAC,CAACH,GAAG,EAAEF,OAAO,CAAC;QAC/E,IAAIJ,CAAC,CAACU,MAAM,CAACH,CAAC,CAAC,EAAE;UACfH,OAAO,GAAGG,CAAC,CAACI,KAAK;SAClB,MAAM;UACLP,OAAO,GAAGnB,EAAE,CAAC2B,OAAO,CAACC,oBAAoB,CAAC5B,EAAE,CAAC2B,OAAO,CAACE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAACV,OAAO,EAAEE,GAAG,CAAC,CAAC;;;MAItGH,aAAa,CAACY,WAAW,CAAC5B,UAAU,EAAEO,IAAI,EAAEU,OAAO,CAAC;IACtD;GACD,CAAC,CAAC;CAEV,CAAC;AAAA","names":["name","description","apply","ts","program","sourceFile","textRange","AST","getNodesContainingRange","Ch","filter","isPipeCall","node","isNodeInRange","expression","arguments","length","head","O","map","kind","changeTracker","newNode","i","arg","a","asDataFirstExpression","getTypeChecker","isSome","value","factory","createCallExpression","createIdentifier","replaceNode"],"sourceRoot":"","sources":["../../../src/refactors/pipeableToDatafirst.ts"],"sourcesContent":[null]}
package/utils/AST.d.ts CHANGED
@@ -115,4 +115,6 @@ export declare function addReturnTypeAnnotation(ts: TypeScriptApi, changes: ts.t
115
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
116
  export declare function getEffectModuleIdentifier(ts: TypeScriptApi): (sourceFile: ts.SourceFile) => string;
117
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>;
118
120
  //# sourceMappingURL=AST.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AST.d.ts","sourceRoot":"","sources":["../../../src/utils/AST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AST.d.ts","sourceRoot":"","sources":["../../../src/utils/AST.ts"],"names":[],"mappings":"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"}
package/utils/AST.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.NoSuchSourceFile = void 0;
7
7
  exports.addReturnTypeAnnotation = addReturnTypeAnnotation;
8
+ exports.asDataFirstExpression = asDataFirstExpression;
8
9
  exports.collectAll = collectAll;
9
10
  exports.findModuleImportIdentifierName = findModuleImportIdentifierName;
10
11
  exports.getEffectModuleIdentifier = getEffectModuleIdentifier;
@@ -14,6 +15,7 @@ exports.getRelevantTokens = getRelevantTokens;
14
15
  exports.getSourceFile = getSourceFile;
15
16
  exports.hasModifier = hasModifier;
16
17
  exports.isNodeInRange = isNodeInRange;
18
+ exports.isPipeCall = isPipeCall;
17
19
  exports.removeReturnTypeAnnotation = removeReturnTypeAnnotation;
18
20
  exports.simplifyTypeNode = simplifyTypeNode;
19
21
  exports.toTextRange = toTextRange;
@@ -206,4 +208,28 @@ function simplifyTypeNode(ts) {
206
208
  return typeNode;
207
209
  };
208
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.getText(node.getSourceFile()) !== "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
+ }
209
235
  //# sourceMappingURL=AST.js.map
package/utils/AST.js.map CHANGED
@@ -1 +1 @@
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"],"sourceRoot":"","sources":["../../../src/utils/AST.ts"],"sourcesContent":[null]}
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]}