@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
|
@@ -26,7 +26,7 @@ __export(effect_lsp_patch_utils_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(effect_lsp_patch_utils_exports);
|
|
28
28
|
|
|
29
|
-
// node_modules/.pnpm/effect@3.
|
|
29
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Function.js
|
|
30
30
|
var isFunction = (input) => typeof input === "function";
|
|
31
31
|
var dual = function(arity, body) {
|
|
32
32
|
if (typeof arity === "function") {
|
|
@@ -120,7 +120,7 @@ function pipe(a, ab, bc, cd, de, ef, fg, gh, hi) {
|
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
// node_modules/.pnpm/effect@3.
|
|
123
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/GlobalValue.js
|
|
124
124
|
var globalStoreId = `effect/GlobalValue`;
|
|
125
125
|
var globalStore;
|
|
126
126
|
var globalValue = (id, compute) => {
|
|
@@ -134,7 +134,7 @@ var globalValue = (id, compute) => {
|
|
|
134
134
|
return globalStore.get(id);
|
|
135
135
|
};
|
|
136
136
|
|
|
137
|
-
// node_modules/.pnpm/effect@3.
|
|
137
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Predicate.js
|
|
138
138
|
var isString = (input) => typeof input === "string";
|
|
139
139
|
var isNumber = (input) => typeof input === "number";
|
|
140
140
|
var isBoolean = (input) => typeof input === "boolean";
|
|
@@ -144,7 +144,7 @@ var isObject = (input) => isRecordOrArray(input) || isFunction2(input);
|
|
|
144
144
|
var hasProperty = /* @__PURE__ */ dual(2, (self, property) => isObject(self) && property in self);
|
|
145
145
|
var isRecord = (input) => isRecordOrArray(input) && !Array.isArray(input);
|
|
146
146
|
|
|
147
|
-
// node_modules/.pnpm/effect@3.
|
|
147
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Utils.js
|
|
148
148
|
var GenKindTypeId = /* @__PURE__ */ Symbol.for("effect/Gen/GenKind");
|
|
149
149
|
var GenKindImpl = class {
|
|
150
150
|
value;
|
|
@@ -266,7 +266,7 @@ var internalCall = isNotOptimizedAway ? standard.effect_internal_function : forc
|
|
|
266
266
|
var genConstructor = function* () {
|
|
267
267
|
}.constructor;
|
|
268
268
|
|
|
269
|
-
// node_modules/.pnpm/effect@3.
|
|
269
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Hash.js
|
|
270
270
|
var randomHashCache = /* @__PURE__ */ globalValue(/* @__PURE__ */ Symbol.for("effect/Hash/randomHashCache"), () => /* @__PURE__ */ new WeakMap());
|
|
271
271
|
var symbol = /* @__PURE__ */ Symbol.for("effect/Hash");
|
|
272
272
|
var hash = (self) => {
|
|
@@ -365,7 +365,7 @@ var cached = function() {
|
|
|
365
365
|
return hash2;
|
|
366
366
|
};
|
|
367
367
|
|
|
368
|
-
// node_modules/.pnpm/effect@3.
|
|
368
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Equal.js
|
|
369
369
|
var symbol2 = /* @__PURE__ */ Symbol.for("effect/Equal");
|
|
370
370
|
function equals() {
|
|
371
371
|
if (arguments.length === 1) {
|
|
@@ -419,7 +419,7 @@ function compareBoth(self, that) {
|
|
|
419
419
|
var isEqual = (u) => hasProperty(u, symbol2);
|
|
420
420
|
var equivalence = () => equals;
|
|
421
421
|
|
|
422
|
-
// node_modules/.pnpm/effect@3.
|
|
422
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Inspectable.js
|
|
423
423
|
var NodeInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
424
424
|
var toJSON = (x) => {
|
|
425
425
|
try {
|
|
@@ -471,7 +471,7 @@ var redact = (u) => {
|
|
|
471
471
|
return u;
|
|
472
472
|
};
|
|
473
473
|
|
|
474
|
-
// node_modules/.pnpm/effect@3.
|
|
474
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Pipeable.js
|
|
475
475
|
var pipeArguments = (self, args2) => {
|
|
476
476
|
switch (args2.length) {
|
|
477
477
|
case 0:
|
|
@@ -504,14 +504,14 @@ var pipeArguments = (self, args2) => {
|
|
|
504
504
|
}
|
|
505
505
|
};
|
|
506
506
|
|
|
507
|
-
// node_modules/.pnpm/effect@3.
|
|
507
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/opCodes/effect.js
|
|
508
508
|
var OP_COMMIT = "Commit";
|
|
509
509
|
|
|
510
|
-
// node_modules/.pnpm/effect@3.
|
|
511
|
-
var moduleVersion = "3.
|
|
510
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/version.js
|
|
511
|
+
var moduleVersion = "3.18.4";
|
|
512
512
|
var getCurrentVersion = () => moduleVersion;
|
|
513
513
|
|
|
514
|
-
// node_modules/.pnpm/effect@3.
|
|
514
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/effectable.js
|
|
515
515
|
var EffectTypeId = /* @__PURE__ */ Symbol.for("effect/Effect");
|
|
516
516
|
var StreamTypeId = /* @__PURE__ */ Symbol.for("effect/Stream");
|
|
517
517
|
var SinkTypeId = /* @__PURE__ */ Symbol.for("effect/Sink");
|
|
@@ -598,7 +598,7 @@ var StructuralCommitPrototype = {
|
|
|
598
598
|
...StructuralPrototype
|
|
599
599
|
};
|
|
600
600
|
|
|
601
|
-
// node_modules/.pnpm/effect@3.
|
|
601
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/option.js
|
|
602
602
|
var TypeId = /* @__PURE__ */ Symbol.for("effect/Option");
|
|
603
603
|
var CommonProto = {
|
|
604
604
|
...EffectPrototype,
|
|
@@ -656,7 +656,7 @@ var some = (value) => {
|
|
|
656
656
|
return a;
|
|
657
657
|
};
|
|
658
658
|
|
|
659
|
-
// node_modules/.pnpm/effect@3.
|
|
659
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/either.js
|
|
660
660
|
var TypeId2 = /* @__PURE__ */ Symbol.for("effect/Either");
|
|
661
661
|
var CommonProto2 = {
|
|
662
662
|
...EffectPrototype,
|
|
@@ -718,7 +718,7 @@ var right = (right3) => {
|
|
|
718
718
|
return a;
|
|
719
719
|
};
|
|
720
720
|
|
|
721
|
-
// node_modules/.pnpm/effect@3.
|
|
721
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Either.js
|
|
722
722
|
var right2 = right;
|
|
723
723
|
var left2 = left;
|
|
724
724
|
var isLeft2 = isLeft;
|
|
@@ -726,14 +726,14 @@ var isRight2 = isRight;
|
|
|
726
726
|
var map = /* @__PURE__ */ dual(2, (self, f) => isRight2(self) ? right2(f(self.right)) : left2(self.left));
|
|
727
727
|
var getOrElse = /* @__PURE__ */ dual(2, (self, onLeft) => isLeft2(self) ? onLeft(self.left) : self.right);
|
|
728
728
|
|
|
729
|
-
// node_modules/.pnpm/effect@3.
|
|
729
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/internal/array.js
|
|
730
730
|
var isNonEmptyArray = (self) => self.length > 0;
|
|
731
731
|
|
|
732
|
-
// node_modules/.pnpm/effect@3.
|
|
732
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Order.js
|
|
733
733
|
var make = (compare) => (self, that) => self === that ? 0 : compare(self, that);
|
|
734
734
|
var string2 = /* @__PURE__ */ make((self, that) => self < that ? -1 : 1);
|
|
735
735
|
|
|
736
|
-
// node_modules/.pnpm/effect@3.
|
|
736
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Option.js
|
|
737
737
|
var none2 = () => none;
|
|
738
738
|
var some2 = some;
|
|
739
739
|
var isNone2 = isNone;
|
|
@@ -741,7 +741,7 @@ var isSome2 = isSome;
|
|
|
741
741
|
var orElse = /* @__PURE__ */ dual(2, (self, that) => isNone2(self) ? that() : self);
|
|
742
742
|
var fromNullable = (nullableValue) => nullableValue == null ? none2() : some2(nullableValue);
|
|
743
743
|
|
|
744
|
-
// node_modules/.pnpm/effect@3.
|
|
744
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Record.js
|
|
745
745
|
var map2 = /* @__PURE__ */ dual(2, (self, f) => {
|
|
746
746
|
const out = {
|
|
747
747
|
...self
|
|
@@ -753,7 +753,7 @@ var map2 = /* @__PURE__ */ dual(2, (self, f) => {
|
|
|
753
753
|
});
|
|
754
754
|
var keys = (self) => Object.keys(self);
|
|
755
755
|
|
|
756
|
-
// node_modules/.pnpm/effect@3.
|
|
756
|
+
// node_modules/.pnpm/effect@3.18.4/node_modules/effect/dist/esm/Array.js
|
|
757
757
|
var fromIterable = (collection) => Array.isArray(collection) ? collection : Array.from(collection);
|
|
758
758
|
var append = /* @__PURE__ */ dual(2, (self, last) => [...self, last]);
|
|
759
759
|
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
|
}
|