Spec-Zone.ru › ESLint

object-curly-spacing

Принудительно применять согласованное расстояние внутри фигурных скобок

🔧 Исправимые

Некоторые проблемы, обнаруженные этой правила, автоматически исправляются с помощью опции командной строки --fix командной строки

Это правило было устаревшим в ESLint v8.53.0. Используйте соответствующее правило соответствующее правило в @stylistic/eslint-plugin-js.

Хотя предпочтения форматирования очень индивидуальны, ряд руководств по стилю требуют или запрещают пробелы между фигурными скобками в следующих ситуациях:

// simple object literals
var obj = { foo: "bar" };

// nested object literals
var obj = { foo: { zoo: "bar" } };

// destructuring assignment (EcmaScript 6)
var { x, y } = y;

// import/export declarations (EcmaScript 6)
import { foo } from "bar";
export { foo };

Подробное описание правила

Это правило принуждает к согласованному применению пробелов внутри фигурных скобок объектных литералов, присваиваний деструктуризации и спецификаторов импорта/экспорта.

Параметры

Это правило имеет два параметра: строковый и объектный.

Строковый параметр:

  • "never" (по умолчанию) запрещает пробелы внутри фигурных скобок
  • "always" требует пробелы внутри фигурных скобок (за исключением {})

Объектный параметр:

  • "arraysInObjects": true требует пробелы внутри фигурных скобок объектов, начинающихся и/или заканчивающихся элементом массива (применяется, когда первый параметр установлен в значение never)
  • "arraysInObjects": false запрещает пробелы внутри фигурных скобок объектов, начинающихся и/или заканчивающихся элементом массива (применяется, когда первый параметр установлен в значение always)
  • "objectsInObjects": true требует пробелы внутри фигурных скобок объектов, начинающихся и/или заканчивающихся элементом объекта (применяется, когда первый параметр установлен в значение never)
  • "objectsInObjects": false запрещает пробелы внутри фигурных скобок объектов, начинающихся и/или заканчивающихся элементом объекта (применяется, когда первый параметр установлен в значение always)

never

Примеры некорректного кода для этого правила с параметром "never" по умолчанию:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "never"]*/

var obj = {'foo': 'bar'};
var obj = {'foo': 'bar'};
var obj = {baz: {'foo': 'qux'}, bar};
var obj = {baz: {'foo': 'qux'}, bar};
var {x} = y;
import {foo} from 'bar';

Примеры корректного кода для этого правила с параметром "never" по умолчанию:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "never"]*/

var obj = {'foo': 'bar'};
var obj = {'foo': {'bar': 'baz'}, 'qux': 'quxx'};
var obj = {
  'foo': 'bar'
};
var obj = {'foo': 'bar'
};
var obj = {
  'foo':'bar'};
var obj = {};
var {x} = y;
import {foo} from 'bar';

always

Примеры некорректного кода для этого правила с параметром "always":

Открыть в Playground
/*eslint object-curly-spacing: ["error", "always"]*/

var obj = {'foo': 'bar'};
var obj = {'foo': 'bar' };
var obj = { baz: {'foo': 'qux'}, bar};
var obj = {baz: { 'foo': 'qux' }, bar};
var obj = {'foo': 'bar'
};
var obj = {
  'foo':'bar'};
var {x} = y;
import {foo } from 'bar';

Примеры корректного кода для этого правила с параметром "always":

Открыть в Playground
/*eslint object-curly-spacing: ["error", "always"]*/

var obj = {};
var obj = { 'foo': 'bar' };
var obj = { 'foo': { 'bar': 'baz' }, 'qux': 'quxx' };
var obj = {
  'foo': 'bar'
};
var { x } = y;
import { foo } from 'bar';

arraysInObjects

Примеры дополнительного корректного кода для этого правила с параметрами "never", { "arraysInObjects": true }:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "never", { "arraysInObjects": true }]*/

var obj = {"foo": [ 1, 2 ] };
var obj = {"foo": [ "baz", "bar" ] };

Примеры дополнительного корректного кода для этого правила с параметрами "always", { "arraysInObjects": false }:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "always", { "arraysInObjects": false }]*/

var obj = { "foo": [ 1, 2 ]};
var obj = { "foo": [ "baz", "bar" ]};

objectsInObjects

Примеры дополнительного корректного кода для этого правила с параметрами "never", { "objectsInObjects": true }:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "never", { "objectsInObjects": true }]*/

var obj = {"foo": {"baz": 1, "bar": 2} };

Примеры дополнительного корректного кода для этого правила с параметрами "always", { "objectsInObjects": false }:

Открыть в Playground
/*eslint object-curly-spacing: ["error", "always", { "objectsInObjects": false }]*/

var obj = { "foo": { "baz": 1, "bar": 2 }};

Когда не следует его использовать

Вы можете отключить это правило, если вас не беспокоит согласованность пробелов между фигурными скобками.

Связанные правила

  • array-bracket-spacing
  • comma-spacing
  • computed-property-spacing
  • space-in-parens

Версия

Это правило было введено в ESLint v0.22.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/object-curly-spacing

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API