@effect/language-service 0.45.0 → 0.45.1
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/cli.js +613 -558
- package/cli.js.map +1 -1
- package/effect-lsp-patch-utils.js +73 -23
- package/effect-lsp-patch-utils.js.map +1 -1
- package/index.js +78 -28
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/transform.js +73 -23
- package/transform.js.map +1 -1
package/package.json
CHANGED
package/transform.js
CHANGED
|
@@ -24,7 +24,7 @@ __export(transform_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(transform_exports);
|
|
26
26
|
|
|
27
|
-
// node_modules/.pnpm/effect@3.
|
|
27
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Function.js
|
|
28
28
|
var isFunction = (input) => typeof input === "function";
|
|
29
29
|
var dual = function(arity, body) {
|
|
30
30
|
if (typeof arity === "function") {
|
|
@@ -118,7 +118,7 @@ function pipe(a, ab, bc, cd, de, ef, fg, gh, hi) {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
// node_modules/.pnpm/effect@3.
|
|
121
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/GlobalValue.js
|
|
122
122
|
var globalStoreId = `effect/GlobalValue`;
|
|
123
123
|
var globalStore;
|
|
124
124
|
var globalValue = (id, compute) => {
|
|
@@ -132,7 +132,7 @@ var globalValue = (id, compute) => {
|
|
|
132
132
|
return globalStore.get(id);
|
|
133
133
|
};
|
|
134
134
|
|
|
135
|
-
// node_modules/.pnpm/effect@3.
|
|
135
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Predicate.js
|
|
136
136
|
var isString = (input) => typeof input === "string";
|
|
137
137
|
var isNumber = (input) => typeof input === "number";
|
|
138
138
|
var isBoolean = (input) => typeof input === "boolean";
|
|
@@ -142,7 +142,7 @@ var isObject = (input) => isRecordOrArray(input) || isFunction2(input);
|
|
|
142
142
|
var hasProperty = /* @__PURE__ */ dual(2, (self, property) => isObject(self) && property in self);
|
|
143
143
|
var isRecord = (input) => isRecordOrArray(input) && !Array.isArray(input);
|
|
144
144
|
|
|
145
|
-
// node_modules/.pnpm/effect@3.
|
|
145
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Utils.js
|
|
146
146
|
var GenKindTypeId = /* @__PURE__ */ Symbol.for("effect/Gen/GenKind");
|
|
147
147
|
var GenKindImpl = class {
|
|
148
148
|
value;
|
|
@@ -264,7 +264,7 @@ var internalCall = isNotOptimizedAway ? standard.effect_internal_function : forc
|
|
|
264
264
|
var genConstructor = function* () {
|
|
265
265
|
}.constructor;
|
|
266
266
|
|
|
267
|
-
// node_modules/.pnpm/effect@3.
|
|
267
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Hash.js
|
|
268
268
|
var randomHashCache = /* @__PURE__ */ globalValue(/* @__PURE__ */ Symbol.for("effect/Hash/randomHashCache"), () => /* @__PURE__ */ new WeakMap());
|
|
269
269
|
var symbol = /* @__PURE__ */ Symbol.for("effect/Hash");
|
|
270
270
|
var hash = (self) => {
|
|
@@ -363,7 +363,7 @@ var cached = function() {
|
|
|
363
363
|
return hash2;
|
|
364
364
|
};
|
|
365
365
|
|
|
366
|
-
// node_modules/.pnpm/effect@3.
|
|
366
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Equal.js
|
|
367
367
|
var symbol2 = /* @__PURE__ */ Symbol.for("effect/Equal");
|
|
368
368
|
function equals() {
|
|
369
369
|
if (arguments.length === 1) {
|
|
@@ -417,7 +417,7 @@ function compareBoth(self, that) {
|
|
|
417
417
|
var isEqual = (u) => hasProperty(u, symbol2);
|
|
418
418
|
var equivalence = () => equals;
|
|
419
419
|
|
|
420
|
-
// node_modules/.pnpm/effect@3.
|
|
420
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Inspectable.js
|
|
421
421
|
var NodeInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
422
422
|
var toJSON = (x) => {
|
|
423
423
|
try {
|
|
@@ -469,7 +469,7 @@ var redact = (u) => {
|
|
|
469
469
|
return u;
|
|
470
470
|
};
|
|
471
471
|
|
|
472
|
-
// node_modules/.pnpm/effect@3.
|
|
472
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Pipeable.js
|
|
473
473
|
var pipeArguments = (self, args2) => {
|
|
474
474
|
switch (args2.length) {
|
|
475
475
|
case 0:
|
|
@@ -502,14 +502,14 @@ var pipeArguments = (self, args2) => {
|
|
|
502
502
|
}
|
|
503
503
|
};
|
|
504
504
|
|
|
505
|
-
// node_modules/.pnpm/effect@3.
|
|
505
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/opCodes/effect.js
|
|
506
506
|
var OP_COMMIT = "Commit";
|
|
507
507
|
|
|
508
|
-
// node_modules/.pnpm/effect@3.
|
|
509
|
-
var moduleVersion = "3.
|
|
508
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/version.js
|
|
509
|
+
var moduleVersion = "3.18.4";
|
|
510
510
|
var getCurrentVersion = () => moduleVersion;
|
|
511
511
|
|
|
512
|
-
// node_modules/.pnpm/effect@3.
|
|
512
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/effectable.js
|
|
513
513
|
var EffectTypeId = /* @__PURE__ */ Symbol.for("effect/Effect");
|
|
514
514
|
var StreamTypeId = /* @__PURE__ */ Symbol.for("effect/Stream");
|
|
515
515
|
var SinkTypeId = /* @__PURE__ */ Symbol.for("effect/Sink");
|
|
@@ -596,7 +596,7 @@ var StructuralCommitPrototype = {
|
|
|
596
596
|
...StructuralPrototype
|
|
597
597
|
};
|
|
598
598
|
|
|
599
|
-
// node_modules/.pnpm/effect@3.
|
|
599
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/option.js
|
|
600
600
|
var TypeId = /* @__PURE__ */ Symbol.for("effect/Option");
|
|
601
601
|
var CommonProto = {
|
|
602
602
|
...EffectPrototype,
|
|
@@ -654,7 +654,7 @@ var some = (value) => {
|
|
|
654
654
|
return a;
|
|
655
655
|
};
|
|
656
656
|
|
|
657
|
-
// node_modules/.pnpm/effect@3.
|
|
657
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/either.js
|
|
658
658
|
var TypeId2 = /* @__PURE__ */ Symbol.for("effect/Either");
|
|
659
659
|
var CommonProto2 = {
|
|
660
660
|
...EffectPrototype,
|
|
@@ -716,7 +716,7 @@ var right = (right3) => {
|
|
|
716
716
|
return a;
|
|
717
717
|
};
|
|
718
718
|
|
|
719
|
-
// node_modules/.pnpm/effect@3.
|
|
719
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Either.js
|
|
720
720
|
var right2 = right;
|
|
721
721
|
var left2 = left;
|
|
722
722
|
var isLeft2 = isLeft;
|
|
@@ -724,14 +724,14 @@ var isRight2 = isRight;
|
|
|
724
724
|
var map = /* @__PURE__ */ dual(2, (self, f) => isRight2(self) ? right2(f(self.right)) : left2(self.left));
|
|
725
725
|
var getOrElse = /* @__PURE__ */ dual(2, (self, onLeft) => isLeft2(self) ? onLeft(self.left) : self.right);
|
|
726
726
|
|
|
727
|
-
// node_modules/.pnpm/effect@3.
|
|
727
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/array.js
|
|
728
728
|
var isNonEmptyArray = (self) => self.length > 0;
|
|
729
729
|
|
|
730
|
-
// node_modules/.pnpm/effect@3.
|
|
730
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Order.js
|
|
731
731
|
var make = (compare) => (self, that) => self === that ? 0 : compare(self, that);
|
|
732
732
|
var string2 = /* @__PURE__ */ make((self, that) => self < that ? -1 : 1);
|
|
733
733
|
|
|
734
|
-
// node_modules/.pnpm/effect@3.
|
|
734
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Option.js
|
|
735
735
|
var none2 = () => none;
|
|
736
736
|
var some2 = some;
|
|
737
737
|
var isNone2 = isNone;
|
|
@@ -739,7 +739,7 @@ var isSome2 = isSome;
|
|
|
739
739
|
var orElse = /* @__PURE__ */ dual(2, (self, that) => isNone2(self) ? that() : self);
|
|
740
740
|
var fromNullable = (nullableValue) => nullableValue == null ? none2() : some2(nullableValue);
|
|
741
741
|
|
|
742
|
-
// node_modules/.pnpm/effect@3.
|
|
742
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Record.js
|
|
743
743
|
var map2 = /* @__PURE__ */ dual(2, (self, f) => {
|
|
744
744
|
const out = {
|
|
745
745
|
...self
|
|
@@ -751,7 +751,7 @@ var map2 = /* @__PURE__ */ dual(2, (self, f) => {
|
|
|
751
751
|
});
|
|
752
752
|
var keys = (self) => Object.keys(self);
|
|
753
753
|
|
|
754
|
-
// node_modules/.pnpm/effect@3.
|
|
754
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Array.js
|
|
755
755
|
var fromIterable = (collection) => Array.isArray(collection) ? collection : Array.from(collection);
|
|
756
756
|
var append = /* @__PURE__ */ dual(2, (self, last) => [...self, last]);
|
|
757
757
|
var appendAll = /* @__PURE__ */ dual(2, (self, that) => fromIterable(self).concat(fromIterable(that)));
|
|
@@ -5140,17 +5140,67 @@ var overriddenSchemaConstructor = createDiagnostic({
|
|
|
5140
5140
|
const members = node.members;
|
|
5141
5141
|
for (const member of members) {
|
|
5142
5142
|
if (ts.isConstructorDeclaration(member)) {
|
|
5143
|
+
const fixAsStaticNew = {
|
|
5144
|
+
fixName: "overriddenSchemaConstructor_static",
|
|
5145
|
+
description: "Rewrite using the static 'new' pattern",
|
|
5146
|
+
apply: gen(function* () {
|
|
5147
|
+
const changeTracker = yield* service(ChangeTracker);
|
|
5148
|
+
const visitor = (node2) => {
|
|
5149
|
+
if (ts.isExpressionStatement(node2) && ts.isCallExpression(node2.expression) && ts.isToken(node2.expression.expression) && node2.expression.expression.kind === ts.SyntaxKind.SuperKeyword) {
|
|
5150
|
+
const constructThis = ts.factory.createNewExpression(
|
|
5151
|
+
ts.factory.createIdentifier("this"),
|
|
5152
|
+
void 0,
|
|
5153
|
+
node2.expression.arguments
|
|
5154
|
+
);
|
|
5155
|
+
return ts.factory.createVariableStatement(
|
|
5156
|
+
void 0,
|
|
5157
|
+
ts.factory.createVariableDeclarationList(
|
|
5158
|
+
[ts.factory.createVariableDeclaration(
|
|
5159
|
+
"_this",
|
|
5160
|
+
void 0,
|
|
5161
|
+
void 0,
|
|
5162
|
+
constructThis
|
|
5163
|
+
)],
|
|
5164
|
+
ts.NodeFlags.Const
|
|
5165
|
+
)
|
|
5166
|
+
);
|
|
5167
|
+
}
|
|
5168
|
+
if (ts.isToken(node2) && node2.kind === ts.SyntaxKind.ThisKeyword) {
|
|
5169
|
+
return ts.factory.createIdentifier("_this");
|
|
5170
|
+
}
|
|
5171
|
+
return ts.visitEachChild(node2, visitor, ts.nullTransformationContext);
|
|
5172
|
+
};
|
|
5173
|
+
const newBody = visitor(member.body);
|
|
5174
|
+
const bodyWithReturn = ts.factory.updateBlock(
|
|
5175
|
+
newBody,
|
|
5176
|
+
newBody.statements.concat([
|
|
5177
|
+
ts.factory.createReturnStatement(ts.factory.createIdentifier("_this"))
|
|
5178
|
+
])
|
|
5179
|
+
);
|
|
5180
|
+
const newMethod = ts.factory.createMethodDeclaration(
|
|
5181
|
+
ts.factory.createModifiersFromModifierFlags(ts.ModifierFlags.Public | ts.ModifierFlags.Static),
|
|
5182
|
+
void 0,
|
|
5183
|
+
"new",
|
|
5184
|
+
void 0,
|
|
5185
|
+
member.typeParameters,
|
|
5186
|
+
member.parameters,
|
|
5187
|
+
member.type,
|
|
5188
|
+
bodyWithReturn
|
|
5189
|
+
);
|
|
5190
|
+
changeTracker.replaceNode(sourceFile, member, newMethod);
|
|
5191
|
+
})
|
|
5192
|
+
};
|
|
5143
5193
|
report({
|
|
5144
5194
|
location: member,
|
|
5145
|
-
messageText: "Classes extending Schema must not override the constructor",
|
|
5146
|
-
fixes: [{
|
|
5195
|
+
messageText: "Classes extending Schema must not override the constructor; this is because it silently breaks the schema decoding behaviour. If that's needed, we recommend instead to use a static 'new' method that constructs the instance.",
|
|
5196
|
+
fixes: (member.body ? [fixAsStaticNew] : []).concat([{
|
|
5147
5197
|
fixName: "overriddenSchemaConstructor_fix",
|
|
5148
5198
|
description: "Remove the constructor override",
|
|
5149
5199
|
apply: gen(function* () {
|
|
5150
5200
|
const changeTracker = yield* service(ChangeTracker);
|
|
5151
5201
|
changeTracker.delete(sourceFile, member);
|
|
5152
5202
|
})
|
|
5153
|
-
}]
|
|
5203
|
+
}])
|
|
5154
5204
|
});
|
|
5155
5205
|
break;
|
|
5156
5206
|
}
|