eslint-plugin-rxjs-x 0.7.0 → 0.7.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/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -3
- package/dist/index.mjs +8 -3
- package/docs/rules/no-topromise.md +7 -2
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -146,7 +146,7 @@ declare const rxjsX: {
|
|
|
146
146
|
'no-subscribe-handlers': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
147
147
|
'no-subscribe-in-pipe': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
148
148
|
'no-tap': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
149
|
-
'no-topromise': TSESLint.RuleModule<"forbidden" | "suggestLastValueFrom" | "suggestFirstValueFrom", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
149
|
+
'no-topromise': TSESLint.RuleModule<"forbidden" | "suggestLastValueFromWithDefault" | "suggestLastValueFrom" | "suggestFirstValueFrom", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
150
150
|
'no-unbound-methods': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
151
151
|
'no-unsafe-catch': TSESLint.RuleModule<"forbidden", readonly {
|
|
152
152
|
observable?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -146,7 +146,7 @@ declare const rxjsX: {
|
|
|
146
146
|
'no-subscribe-handlers': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
147
147
|
'no-subscribe-in-pipe': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
148
148
|
'no-tap': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
149
|
-
'no-topromise': TSESLint.RuleModule<"forbidden" | "suggestLastValueFrom" | "suggestFirstValueFrom", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
149
|
+
'no-topromise': TSESLint.RuleModule<"forbidden" | "suggestLastValueFromWithDefault" | "suggestLastValueFrom" | "suggestFirstValueFrom", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
150
150
|
'no-unbound-methods': TSESLint.RuleModule<"forbidden", [], RxjsXRuleDocs, TSESLint.RuleListener>;
|
|
151
151
|
'no-unsafe-catch': TSESLint.RuleModule<"forbidden", readonly {
|
|
152
152
|
observable?: string;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// package.json
|
|
2
2
|
var name = "eslint-plugin-rxjs-x";
|
|
3
|
-
var version = "0.7.
|
|
3
|
+
var version = "0.7.1";
|
|
4
4
|
|
|
5
5
|
// src/configs/recommended.ts
|
|
6
6
|
var createRecommendedConfig = (plugin2) => ({
|
|
@@ -2909,6 +2909,7 @@ var noTopromiseRule = ruleCreator({
|
|
|
2909
2909
|
hasSuggestions: true,
|
|
2910
2910
|
messages: {
|
|
2911
2911
|
forbidden: "The toPromise method is forbidden.",
|
|
2912
|
+
suggestLastValueFromWithDefault: "Use lastValueFrom(..., { defaultValue: undefined }) instead.",
|
|
2912
2913
|
suggestLastValueFrom: "Use lastValueFrom instead.",
|
|
2913
2914
|
suggestFirstValueFrom: "Use firstValueFrom instead."
|
|
2914
2915
|
},
|
|
@@ -2926,7 +2927,7 @@ var noTopromiseRule = ruleCreator({
|
|
|
2926
2927
|
const [, quote] = match;
|
|
2927
2928
|
return quote;
|
|
2928
2929
|
}
|
|
2929
|
-
function createFix(conversion, callExpression, observableNode, importDeclarations) {
|
|
2930
|
+
function createFix(conversion, callExpression, observableNode, importDeclarations, { withDefault } = {}) {
|
|
2930
2931
|
return function* fix(fixer) {
|
|
2931
2932
|
var _a, _b, _c;
|
|
2932
2933
|
let namespace = "";
|
|
@@ -2957,7 +2958,7 @@ import { ${functionName} } from ${quote}rxjs${quote};`
|
|
|
2957
2958
|
}
|
|
2958
2959
|
yield fixer.replaceText(
|
|
2959
2960
|
callExpression,
|
|
2960
|
-
`${namespace}${functionName}(${context.sourceCode.getText(observableNode)})`
|
|
2961
|
+
`${namespace}${functionName}(${context.sourceCode.getText(observableNode)}${withDefault ? ", { defaultValue: undefined }" : ""})`
|
|
2961
2962
|
);
|
|
2962
2963
|
};
|
|
2963
2964
|
}
|
|
@@ -2976,6 +2977,10 @@ import { ${functionName} } from ${quote}rxjs${quote};`
|
|
|
2976
2977
|
messageId: "forbidden",
|
|
2977
2978
|
node: memberExpression.property,
|
|
2978
2979
|
suggest: [
|
|
2980
|
+
{
|
|
2981
|
+
messageId: "suggestLastValueFromWithDefault",
|
|
2982
|
+
fix: createFix("lastValueFrom", node, memberExpression.object, importDeclarations, { withDefault: true })
|
|
2983
|
+
},
|
|
2979
2984
|
{
|
|
2980
2985
|
messageId: "suggestLastValueFrom",
|
|
2981
2986
|
fix: createFix("lastValueFrom", node, memberExpression.object, importDeclarations)
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "eslint-plugin-rxjs-x";
|
|
3
|
-
var version = "0.7.
|
|
3
|
+
var version = "0.7.1";
|
|
4
4
|
|
|
5
5
|
// src/configs/recommended.ts
|
|
6
6
|
var createRecommendedConfig = (plugin2) => ({
|
|
@@ -2909,6 +2909,7 @@ var noTopromiseRule = ruleCreator({
|
|
|
2909
2909
|
hasSuggestions: true,
|
|
2910
2910
|
messages: {
|
|
2911
2911
|
forbidden: "The toPromise method is forbidden.",
|
|
2912
|
+
suggestLastValueFromWithDefault: "Use lastValueFrom(..., { defaultValue: undefined }) instead.",
|
|
2912
2913
|
suggestLastValueFrom: "Use lastValueFrom instead.",
|
|
2913
2914
|
suggestFirstValueFrom: "Use firstValueFrom instead."
|
|
2914
2915
|
},
|
|
@@ -2926,7 +2927,7 @@ var noTopromiseRule = ruleCreator({
|
|
|
2926
2927
|
const [, quote] = match;
|
|
2927
2928
|
return quote;
|
|
2928
2929
|
}
|
|
2929
|
-
function createFix(conversion, callExpression, observableNode, importDeclarations) {
|
|
2930
|
+
function createFix(conversion, callExpression, observableNode, importDeclarations, { withDefault } = {}) {
|
|
2930
2931
|
return function* fix(fixer) {
|
|
2931
2932
|
var _a, _b, _c;
|
|
2932
2933
|
let namespace = "";
|
|
@@ -2957,7 +2958,7 @@ import { ${functionName} } from ${quote}rxjs${quote};`
|
|
|
2957
2958
|
}
|
|
2958
2959
|
yield fixer.replaceText(
|
|
2959
2960
|
callExpression,
|
|
2960
|
-
`${namespace}${functionName}(${context.sourceCode.getText(observableNode)})`
|
|
2961
|
+
`${namespace}${functionName}(${context.sourceCode.getText(observableNode)}${withDefault ? ", { defaultValue: undefined }" : ""})`
|
|
2961
2962
|
);
|
|
2962
2963
|
};
|
|
2963
2964
|
}
|
|
@@ -2976,6 +2977,10 @@ import { ${functionName} } from ${quote}rxjs${quote};`
|
|
|
2976
2977
|
messageId: "forbidden",
|
|
2977
2978
|
node: memberExpression.property,
|
|
2978
2979
|
suggest: [
|
|
2980
|
+
{
|
|
2981
|
+
messageId: "suggestLastValueFromWithDefault",
|
|
2982
|
+
fix: createFix("lastValueFrom", node, memberExpression.object, importDeclarations, { withDefault: true })
|
|
2983
|
+
},
|
|
2979
2984
|
{
|
|
2980
2985
|
messageId: "suggestLastValueFrom",
|
|
2981
2986
|
fix: createFix("lastValueFrom", node, memberExpression.object, importDeclarations)
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
This rule effects failures if the `toPromise` method is used.
|
|
12
12
|
|
|
13
|
-
This rule provides
|
|
13
|
+
This rule provides three editor suggestions which replace `toPromise` with either:
|
|
14
14
|
|
|
15
|
-
- `lastValueFrom(
|
|
15
|
+
- `lastValueFrom(..., { defaultValue: undefined })`, which imitates the behavior of `toPromise`,
|
|
16
|
+
- or `lastValueFrom(...)`, which throws `EmptyError` instead of defaulting to `undefined`,
|
|
16
17
|
- or `firstValueFrom(...)`.
|
|
17
18
|
|
|
18
19
|
## When Not To Use It
|
|
@@ -26,6 +27,10 @@ Type checked lint rules are more powerful than traditional lint rules, but also
|
|
|
26
27
|
|
|
27
28
|
- [Conversion to Promises](https://rxjs.dev/deprecations/to-promise)
|
|
28
29
|
|
|
30
|
+
## Related To
|
|
31
|
+
|
|
32
|
+
- [`no-ignored-default-value`](./no-ignored-default-value.md)
|
|
33
|
+
|
|
29
34
|
## Resources
|
|
30
35
|
|
|
31
36
|
- [Rule source](https://github.com/JasonWeinzierl/eslint-plugin-rxjs-x/blob/main/src/rules/no-topromise.ts)
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-rxjs-x",
|
|
3
3
|
"type": "commonjs",
|
|
4
|
-
"version": "0.7.
|
|
5
|
-
"packageManager": "yarn@4.
|
|
4
|
+
"version": "0.7.1",
|
|
5
|
+
"packageManager": "yarn@4.7.0+sha512.5a0afa1d4c1d844b3447ee3319633797bcd6385d9a44be07993ae52ff4facabccafb4af5dcd1c2f9a94ac113e5e9ff56f6130431905884414229e284e37bb7c9",
|
|
6
6
|
"description": "ESLint v9+ plugin for RxJS",
|
|
7
7
|
"author": "Jason Weinzierl <weinzierljason@gmail.com>",
|
|
8
8
|
"license": "MIT",
|