UNPKG

eslint-plugin-fp-ts

Version:

fp-ts ESLint rules

53 lines (52 loc) 2.05 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.configs = exports.rules = void 0; var fp_ts_1 = require("fp-ts"); var function_1 = require("fp-ts/function"); var potentialErrors = { "no-lib-imports": require("./rules/no-lib-imports").default, "no-pipeable": require("./rules/no-pipeable").default, "no-module-imports": require("./rules/no-module-imports").default, "no-discarded-pure-expression": require("./rules/no-discarded-pure-expression") .default, }; var suggestions = { "prefer-traverse": require("./rules/prefer-traverse").default, "no-redundant-flow": require("./rules/no-redundant-flow").default, "prefer-chain": require("./rules/prefer-chain").default, "prefer-bimap": require("./rules/prefer-bimap").default, }; exports.rules = __assign(__assign({}, potentialErrors), suggestions); exports.configs = { recommended: { plugins: ["fp-ts"], rules: { "fp-ts/no-lib-imports": "error", "fp-ts/no-pipeable": "error", }, }, "recommended-requiring-type-checking": { plugins: ["fp-ts"], rules: { "fp-ts/no-discarded-pure-expression": "error", }, }, all: { plugins: ["fp-ts"], rules: __assign(__assign({}, configuredRules(potentialErrors, "error")), configuredRules(suggestions, "warn")), }, }; function configuredRules(rules, level) { return (0, function_1.pipe)(rules, fp_ts_1.record.keys, fp_ts_1.array.map(function (k) { return ["fp-ts/".concat(k), level]; }), fp_ts_1.record.fromFoldable(fp_ts_1.semigroup.getFirstSemigroup(), fp_ts_1.array.Foldable)); }