From 5e8c1d3967e7baaecabca238d6b1d0c686cb3ab4 Mon Sep 17 00:00:00 2001 From: beliy-a Date: Tue, 2 Mar 2021 19:34:23 +0300 Subject: [PATCH 1/2] change linebreak-style --- .eslintrc.json | 201 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 155 insertions(+), 46 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 5e3c0d7..aee727e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,15 +12,40 @@ "BigInt": true }, "rules": { - "indent": ["error", 2], - "linebreak-style": ["error", "unix"], - "quotes": ["error", "single"], - "semi": ["error", "always"], - "no-loop-func": ["error"], - "block-spacing": ["error", "always"], - "camelcase": ["error"], - "eqeqeq": ["error", "always"], - "strict": ["error", "global"], + "indent": [ + "error", + 2 + ], + "linebreak-style": [ + "error", + "windows" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "always" + ], + "no-loop-func": [ + "error" + ], + "block-spacing": [ + "error", + "always" + ], + "camelcase": [ + "error" + ], + "eqeqeq": [ + "error", + "always" + ], + "strict": [ + "error", + "global" + ], "brace-style": [ "error", "1tbs", @@ -28,7 +53,10 @@ "allowSingleLine": true } ], - "comma-style": ["error", "last"], + "comma-style": [ + "error", + "last" + ], "comma-spacing": [ "error", { @@ -36,8 +64,13 @@ "after": true } ], - "eol-last": ["error"], - "func-call-spacing": ["error", "never"], + "eol-last": [ + "error" + ], + "func-call-spacing": [ + "error", + "never" + ], "key-spacing": [ "error", { @@ -79,14 +112,33 @@ "properties": true } ], - "new-parens": ["error"], - "no-lonely-if": ["error"], - "no-trailing-spaces": ["error"], - "no-unneeded-ternary": ["error"], - "no-whitespace-before-property": ["error"], - "object-curly-spacing": ["error", "always"], - "operator-assignment": ["error", "always"], - "operator-linebreak": ["error", "after"], + "new-parens": [ + "error" + ], + "no-lonely-if": [ + "error" + ], + "no-trailing-spaces": [ + "error" + ], + "no-unneeded-ternary": [ + "error" + ], + "no-whitespace-before-property": [ + "error" + ], + "object-curly-spacing": [ + "error", + "always" + ], + "operator-assignment": [ + "error", + "always" + ], + "operator-linebreak": [ + "error", + "after" + ], "semi-spacing": [ "error", { @@ -94,7 +146,10 @@ "after": true } ], - "space-before-blocks": ["error", "always"], + "space-before-blocks": [ + "error", + "always" + ], "space-before-function-paren": [ "error", { @@ -103,8 +158,13 @@ "asyncArrow": "always" } ], - "space-in-parens": ["error", "never"], - "space-infix-ops": ["error"], + "space-in-parens": [ + "error", + "never" + ], + "space-infix-ops": [ + "error" + ], "space-unary-ops": [ "error", { @@ -115,45 +175,94 @@ } } ], - "no-unreachable": ["error"], - "no-global-assign": ["error"], - "no-self-compare": ["error"], - "no-unmodified-loop-condition": ["error"], + "no-unreachable": [ + "error" + ], + "no-global-assign": [ + "error" + ], + "no-self-compare": [ + "error" + ], + "no-unmodified-loop-condition": [ + "error" + ], "no-constant-condition": [ "error", { "checkLoops": false } ], - "no-console": ["off"], - "no-useless-concat": ["error"], - "no-useless-escape": ["error"], - "no-shadow-restricted-names": ["error"], + "no-console": [ + "off" + ], + "no-useless-concat": [ + "error" + ], + "no-useless-escape": [ + "error" + ], + "no-shadow-restricted-names": [ + "error" + ], "no-use-before-define": [ "error", { "functions": false } ], - "arrow-parens": ["error", "always"], - "arrow-body-style": ["error", "as-needed"], - "arrow-spacing": ["error"], + "arrow-parens": [ + "error", + "always" + ], + "arrow-body-style": [ + "error", + "as-needed" + ], + "arrow-spacing": [ + "error" + ], "no-confusing-arrow": [ "error", { "allowParens": true } ], - "no-useless-computed-key": ["error"], - "no-useless-rename": ["error"], - "no-var": ["error"], - "object-shorthand": ["error", "always"], - "prefer-arrow-callback": ["error"], - "prefer-const": ["error"], - "prefer-numeric-literals": ["error"], - "prefer-rest-params": ["error"], - "prefer-spread": ["error"], - "rest-spread-spacing": ["error", "never"], - "template-curly-spacing": ["error", "never"] + "no-useless-computed-key": [ + "error" + ], + "no-useless-rename": [ + "error" + ], + "no-var": [ + "error" + ], + "object-shorthand": [ + "error", + "always" + ], + "prefer-arrow-callback": [ + "error" + ], + "prefer-const": [ + "error" + ], + "prefer-numeric-literals": [ + "error" + ], + "prefer-rest-params": [ + "error" + ], + "prefer-spread": [ + "error" + ], + "rest-spread-spacing": [ + "error", + "never" + ], + "template-curly-spacing": [ + "error", + "never" + ] } -} +} \ No newline at end of file From 69f580b90d7a0dfc3b6f44c2700fd443b03180a3 Mon Sep 17 00:00:00 2001 From: beliy-a Date: Tue, 2 Mar 2021 19:34:52 +0300 Subject: [PATCH 2/2] add solving for all tasks --- Exercises/1-seq.js | 6 +++++- Exercises/2-array.js | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Exercises/1-seq.js b/Exercises/1-seq.js index 0cc00a7..033d04c 100644 --- a/Exercises/1-seq.js +++ b/Exercises/1-seq.js @@ -1,5 +1,9 @@ 'use strict'; -const seq = (f) => (g) => (x) => 0; + +const seq = (f) => (g) => ( + typeof g !== 'number' ? seq((n) => f(g(n))) : f(g) +); + module.exports = { seq }; diff --git a/Exercises/2-array.js b/Exercises/2-array.js index b6d47cf..98269c7 100644 --- a/Exercises/2-array.js +++ b/Exercises/2-array.js @@ -1,5 +1,12 @@ 'use strict'; -const array = () => null; +const array = () => { + const arr = []; + + const fn = (i) => arr[i]; + fn.pop = () => arr.pop(); + fn.push = (el) => arr.push(el); + return fn; +}; module.exports = { array };