@effect/language-service 0.0.19 → 0.0.21

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.
@@ -2,6 +2,7 @@ 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
4
  import pipeableToDatafirst from "@effect/language-service/refactors/pipeableToDatafirst";
5
+ import toggleLazyConst from "@effect/language-service/refactors/toggleLazyConst";
5
6
  import toggleReturnTypeAnnotation from "@effect/language-service/refactors/toggleReturnTypeAnnotation";
6
7
  import toggleTypeAnnotation from "@effect/language-service/refactors/toggleTypeAnnotation";
7
8
  import wrapWithPipe from "@effect/language-service/refactors/wrapWithPipe";
@@ -12,6 +13,7 @@ export default {
12
13
  toggleTypeAnnotation,
13
14
  toggleReturnTypeAnnotation,
14
15
  wrapWithPipe,
15
- pipeableToDatafirst
16
+ pipeableToDatafirst,
17
+ toggleLazyConst
16
18
  };
17
19
  //# 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,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]}
1
+ {"version":3,"file":"index.mjs","mappings":"AAAA,OAAOA,eAAe,MAAM,oDAAoD;AAChF,OAAOC,yBAAyB,MAAM,8DAA8D;AACpG,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,mBAAmB,MAAM,wDAAwD;AACxF,OAAOC,eAAe,MAAM,oDAAoD;AAChF,OAAOC,0BAA0B,MAAM,+DAA+D;AACtG,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,OAAOC,YAAY,MAAM,iDAAiD;AAE1E,eAAe;EACbP,eAAe;EACfC,yBAAyB;EACzBC,eAAe;EACfI,oBAAoB;EACpBD,0BAA0B;EAC1BE,YAAY;EACZJ,mBAAmB;EACnBC;CACD","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","pipeableToDatafirst","toggleLazyConst","toggleReturnTypeAnnotation","toggleTypeAnnotation","wrapWithPipe"],"sourceRoot":"","sources":["../../../src/refactors/index.ts"],"sourcesContent":[null]}
@@ -0,0 +1,32 @@
1
+ import { createRefactor } from "@effect/language-service/refactors/definition";
2
+ import * as AST from "@effect/language-service/utils/AST";
3
+ import { pipe } from "@effect/language-service/utils/Function";
4
+ import * as O from "@effect/language-service/utils/Option";
5
+ import * as Ch from "@effect/language-service/utils/ReadonlyArray";
6
+ export default /*#__PURE__*/createRefactor({
7
+ name: "effect/toggleLazyConst",
8
+ description: "Toggle type annotation",
9
+ apply: ts => (sourceFile, textRange) => pipe(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isVariableDeclaration), Ch.filter(node => AST.isNodeInRange(textRange)(node.name)), Ch.filter(node => !!node.initializer && !(ts.isArrowFunction(node.initializer) && ts.isBlock(node.initializer.body))), Ch.head, O.map(node => ({
10
+ kind: "refactor.rewrite.effect.toggleLazyConst",
11
+ description: "Toggle lazy const",
12
+ apply: changeTracker => {
13
+ const initializer = node.initializer;
14
+ if (ts.isArrowFunction(initializer) && initializer.parameters.length === 0) {
15
+ // delete eventual closing bracked
16
+ changeTracker.deleteRange(sourceFile, {
17
+ pos: initializer.body.end,
18
+ end: initializer.end
19
+ });
20
+ // remove () => {
21
+ changeTracker.deleteRange(sourceFile, {
22
+ pos: initializer.pos,
23
+ end: initializer.body.pos
24
+ });
25
+ return;
26
+ }
27
+ // adds () => before
28
+ changeTracker.insertText(sourceFile, initializer.pos, " () =>");
29
+ }
30
+ })))
31
+ });
32
+ //# sourceMappingURL=toggleLazyConst.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggleLazyConst.mjs","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA+C;AAC9E,OAAO,KAAKC,GAAG,MAAM,oCAAoC;AACzD,SAASC,IAAI,QAAQ,yCAAyC;AAC9D,OAAO,KAAKC,CAAC,MAAM,uCAAuC;AAC1D,OAAO,KAAKC,EAAE,MAAM,8CAA8C;AAElE,4BAAeJ,cAAc,CAAC;EAC5BK,IAAI,EAAE,wBAAwB;EAC9BC,WAAW,EAAE,wBAAwB;EACrCC,KAAK,EAAGC,EAAE,IACR,CAACC,UAAU,EAAEC,SAAS,KACpBR,IAAI,CACFD,GAAG,CAACU,uBAAuB,CAACH,EAAE,CAAC,CAACC,UAAU,EAAEC,SAAS,CAAC,EACtDN,EAAE,CAACQ,MAAM,CAACJ,EAAE,CAACK,qBAAqB,CAAC,EACnCT,EAAE,CAACQ,MAAM,CAAEE,IAAI,IAAKb,GAAG,CAACc,aAAa,CAACL,SAAS,CAAC,CAACI,IAAI,CAACT,IAAI,CAAC,CAAC,EAC5DD,EAAE,CAACQ,MAAM,CAAEE,IAAI,IACb,CAAC,CAACA,IAAI,CAACE,WAAW,IAAI,EAAER,EAAE,CAACS,eAAe,CAACH,IAAI,CAACE,WAAW,CAAC,IAAIR,EAAE,CAACU,OAAO,CAACJ,IAAI,CAACE,WAAW,CAACG,IAAI,CAAC,CAAC,CACnG,EACDf,EAAE,CAACgB,IAAI,EACPjB,CAAC,CAACkB,GAAG,CACFP,IAAI,KAAM;IACTQ,IAAI,EAAE,yCAAyC;IAC/ChB,WAAW,EAAE,mBAAmB;IAChCC,KAAK,EAAGgB,aAAa,IAAI;MACvB,MAAMP,WAAW,GAAGF,IAAI,CAACE,WAAY;MAErC,IAAIR,EAAE,CAACS,eAAe,CAACD,WAAW,CAAC,IAAIA,WAAW,CAACQ,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;QAC1E;QACAF,aAAa,CAACG,WAAW,CAACjB,UAAU,EAAE;UAAEkB,GAAG,EAAEX,WAAW,CAACG,IAAI,CAACS,GAAG;UAAEA,GAAG,EAAEZ,WAAW,CAACY;QAAG,CAAE,CAAC;QAC1F;QACAL,aAAa,CAACG,WAAW,CAACjB,UAAU,EAAE;UAAEkB,GAAG,EAAEX,WAAW,CAACW,GAAG;UAAEC,GAAG,EAAEZ,WAAW,CAACG,IAAI,CAACQ;QAAG,CAAE,CAAC;QAC1F;;MAGF;MACAJ,aAAa,CAACM,UAAU,CAACpB,UAAU,EAAEO,WAAW,CAACW,GAAG,EAAE,QAAQ,CAAC;IACjE;GACD,CAAC,CACH;CAER,CAAC","names":["createRefactor","AST","pipe","O","Ch","name","description","apply","ts","sourceFile","textRange","getNodesContainingRange","filter","isVariableDeclaration","node","isNodeInRange","initializer","isArrowFunction","isBlock","body","head","map","kind","changeTracker","parameters","length","deleteRange","pos","end","insertText"],"sourceRoot":"","sources":["../../../src/refactors/toggleLazyConst.ts"],"sourcesContent":[null]}
package/package.json CHANGED
@@ -1,15 +1,11 @@
1
1
  {
2
2
  "name": "@effect/language-service",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/Effect-TS/language-service.git"
8
8
  },
9
- "dependencies": {
10
- "@fp-ts/core": "~0.0.9",
11
- "@fp-ts/data": "~0.0.22"
12
- },
13
9
  "main": "./index.js",
14
10
  "publishConfig": {
15
11
  "access": "public"
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  toggleReturnTypeAnnotation: import("./definition").RefactorDefinition;
7
7
  wrapWithPipe: import("./definition").RefactorDefinition;
8
8
  pipeableToDatafirst: import("./definition").RefactorDefinition;
9
+ toggleLazyConst: import("./definition").RefactorDefinition;
9
10
  };
10
11
  export default _default;
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/refactors/index.ts"],"names":[],"mappings":";;;;;;;;;AAQA,wBAQC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/refactors/index.ts"],"names":[],"mappings":";;;;;;;;;;AASA,wBASC"}
@@ -8,6 +8,7 @@ var _asyncAwaitToGen = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require
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
10
  var _pipeableToDatafirst = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/pipeableToDatafirst"));
11
+ var _toggleLazyConst = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/toggleLazyConst"));
11
12
  var _toggleReturnTypeAnnotation = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/toggleReturnTypeAnnotation"));
12
13
  var _toggleTypeAnnotation = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/toggleTypeAnnotation"));
13
14
  var _wrapWithPipe = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("@effect/language-service/refactors/wrapWithPipe"));
@@ -19,7 +20,8 @@ var _default = {
19
20
  toggleTypeAnnotation: _toggleTypeAnnotation.default,
20
21
  toggleReturnTypeAnnotation: _toggleReturnTypeAnnotation.default,
21
22
  wrapWithPipe: _wrapWithPipe.default,
22
- pipeableToDatafirst: _pipeableToDatafirst.default
23
+ pipeableToDatafirst: _pipeableToDatafirst.default,
24
+ toggleLazyConst: _toggleLazyConst.default
23
25
  };
24
26
  exports.default = _default;
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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]}
1
+ {"version":3,"file":"index.js","mappings":";;;;;;AAAA;AACA;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,4BAAmB;EACnBC,eAAe,EAAfA;CACD;AAAA","names":["asyncAwaitToGen","asyncAwaitToGenTryPromise","functionToArrow","toggleTypeAnnotation","toggleReturnTypeAnnotation","wrapWithPipe","pipeableToDatafirst","toggleLazyConst"],"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=toggleLazyConst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggleLazyConst.d.ts","sourceRoot":"","sources":["../../../src/refactors/toggleLazyConst.ts"],"names":[],"mappings":";AAMA,wBAkCE"}
@@ -0,0 +1,41 @@
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/toggleLazyConst",
16
+ description: "Toggle type annotation",
17
+ apply: ts => (sourceFile, textRange) => (0, _Function.pipe)(AST.getNodesContainingRange(ts)(sourceFile, textRange), Ch.filter(ts.isVariableDeclaration), Ch.filter(node => AST.isNodeInRange(textRange)(node.name)), Ch.filter(node => !!node.initializer && !(ts.isArrowFunction(node.initializer) && ts.isBlock(node.initializer.body))), Ch.head, O.map(node => ({
18
+ kind: "refactor.rewrite.effect.toggleLazyConst",
19
+ description: "Toggle lazy const",
20
+ apply: changeTracker => {
21
+ const initializer = node.initializer;
22
+ if (ts.isArrowFunction(initializer) && initializer.parameters.length === 0) {
23
+ // delete eventual closing bracked
24
+ changeTracker.deleteRange(sourceFile, {
25
+ pos: initializer.body.end,
26
+ end: initializer.end
27
+ });
28
+ // remove () => {
29
+ changeTracker.deleteRange(sourceFile, {
30
+ pos: initializer.pos,
31
+ end: initializer.body.pos
32
+ });
33
+ return;
34
+ }
35
+ // adds () => before
36
+ changeTracker.insertText(sourceFile, initializer.pos, " () =>");
37
+ }
38
+ })))
39
+ });
40
+ exports.default = _default;
41
+ //# sourceMappingURL=toggleLazyConst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggleLazyConst.js","mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAAkE;AAAA;AAAA,4BAEnD,8BAAc,EAAC;EAC5BA,IAAI,EAAE,wBAAwB;EAC9BC,WAAW,EAAE,wBAAwB;EACrCC,KAAK,EAAGC,EAAE,IACR,CAACC,UAAU,EAAEC,SAAS,KACpB,kBAAI,EACFC,GAAG,CAACC,uBAAuB,CAACJ,EAAE,CAAC,CAACC,UAAU,EAAEC,SAAS,CAAC,EACtDG,EAAE,CAACC,MAAM,CAACN,EAAE,CAACO,qBAAqB,CAAC,EACnCF,EAAE,CAACC,MAAM,CAAEE,IAAI,IAAKL,GAAG,CAACM,aAAa,CAACP,SAAS,CAAC,CAACM,IAAI,CAACX,IAAI,CAAC,CAAC,EAC5DQ,EAAE,CAACC,MAAM,CAAEE,IAAI,IACb,CAAC,CAACA,IAAI,CAACE,WAAW,IAAI,EAAEV,EAAE,CAACW,eAAe,CAACH,IAAI,CAACE,WAAW,CAAC,IAAIV,EAAE,CAACY,OAAO,CAACJ,IAAI,CAACE,WAAW,CAACG,IAAI,CAAC,CAAC,CACnG,EACDR,EAAE,CAACS,IAAI,EACPC,CAAC,CAACC,GAAG,CACFR,IAAI,KAAM;IACTS,IAAI,EAAE,yCAAyC;IAC/CnB,WAAW,EAAE,mBAAmB;IAChCC,KAAK,EAAGmB,aAAa,IAAI;MACvB,MAAMR,WAAW,GAAGF,IAAI,CAACE,WAAY;MAErC,IAAIV,EAAE,CAACW,eAAe,CAACD,WAAW,CAAC,IAAIA,WAAW,CAACS,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;QAC1E;QACAF,aAAa,CAACG,WAAW,CAACpB,UAAU,EAAE;UAAEqB,GAAG,EAAEZ,WAAW,CAACG,IAAI,CAACU,GAAG;UAAEA,GAAG,EAAEb,WAAW,CAACa;QAAG,CAAE,CAAC;QAC1F;QACAL,aAAa,CAACG,WAAW,CAACpB,UAAU,EAAE;UAAEqB,GAAG,EAAEZ,WAAW,CAACY,GAAG;UAAEC,GAAG,EAAEb,WAAW,CAACG,IAAI,CAACS;QAAG,CAAE,CAAC;QAC1F;;MAGF;MACAJ,aAAa,CAACM,UAAU,CAACvB,UAAU,EAAES,WAAW,CAACY,GAAG,EAAE,QAAQ,CAAC;IACjE;GACD,CAAC,CACH;CAER,CAAC;AAAA","names":["name","description","apply","ts","sourceFile","textRange","AST","getNodesContainingRange","Ch","filter","isVariableDeclaration","node","isNodeInRange","initializer","isArrowFunction","isBlock","body","head","O","map","kind","changeTracker","parameters","length","deleteRange","pos","end","insertText"],"sourceRoot":"","sources":["../../../src/refactors/toggleLazyConst.ts"],"sourcesContent":[null]}