|
@@ -37,15 +37,25 @@ npm install @e22m4u/js-data-projector
|
|
|
|
|
|
|
|
### Функция `projectData`
|
|
### Функция `projectData`
|
|
|
|
|
|
|
|
-Функция выполняет проекцию данных на основе переданного объекта схемы.
|
|
|
|
|
|
|
+Функция создает проекцию данных на основе переданного объекта схемы.
|
|
|
Принимает исходные данные и дополнительные опции для управления режимом
|
|
Принимает исходные данные и дополнительные опции для управления режимом
|
|
|
строгости и областью видимости.
|
|
строгости и областью видимости.
|
|
|
|
|
|
|
|
|
|
+Сигнатура:
|
|
|
|
|
+
|
|
|
|
|
+- `projectData(schemaOrName, data, [options])`
|
|
|
|
|
+ - `schemaOrName: string | object` - схема проекции или имя;
|
|
|
|
|
+ - `data: object | object[]` - проектируемые данные;
|
|
|
|
|
+ - `options?: object` - объект настроек;
|
|
|
|
|
+ - `strict?: boolean` - строгий режим;
|
|
|
|
|
+ - `scope?: string` - область проекции;
|
|
|
|
|
+ - `resolver?: Function` - функция для разрешения имени;
|
|
|
|
|
+
|
|
|
#### Создание проекции
|
|
#### Создание проекции
|
|
|
|
|
|
|
|
-Создание проекции выполняется на основе объекта схемы. Логические значения
|
|
|
|
|
-определяют видимость полей. Поля, отсутствующие в схеме, остаются в
|
|
|
|
|
-результате по умолчанию.
|
|
|
|
|
|
|
+Схема проекции описывает настройки видимости для каждого поля. Логические
|
|
|
|
|
+значения определяют видимость поля. Поля, отсутствующие в схеме, остаются
|
|
|
|
|
+в результате по умолчанию.
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projector';
|
|
import {projectData} from '@e22m4u/js-data-projector';
|
|
@@ -213,6 +223,21 @@ console.log(outputData);
|
|
|
использования. Экземпляр хранит именованные схемы в памяти, что позволяет
|
|
использования. Экземпляр хранит именованные схемы в памяти, что позволяет
|
|
|
ссылаться на них по строковому идентификатору при создании проекций.
|
|
ссылаться на них по строковому идентификатору при создании проекций.
|
|
|
|
|
|
|
|
|
|
+Метод `defineSchema`:
|
|
|
|
|
+
|
|
|
|
|
+- `defineSchema(name, schema)` - возвращает `this`;
|
|
|
|
|
+ - `name: string` - имя схемы;
|
|
|
|
|
+ - `schema: object` - схема проекции;
|
|
|
|
|
+
|
|
|
|
|
+Метод `project`:
|
|
|
|
|
+
|
|
|
|
|
+- `project(schemaOrName, data, [options])` - возвращает проекцию;
|
|
|
|
|
+ - `schemaOrName: string | object` - схема проекции или имя;
|
|
|
|
|
+ - `data: object | object[]` - проектируемые данные;
|
|
|
|
|
+ - `options?: object` - объект настроек;
|
|
|
|
|
+ - `strict?: boolean` - строгий режим;
|
|
|
|
|
+ - `scope?: string` - область проекции;
|
|
|
|
|
+
|
|
|
#### Именованные схемы
|
|
#### Именованные схемы
|
|
|
|
|
|
|
|
Класс позволяет регистрировать схемы под уникальными именами. Метод
|
|
Класс позволяет регистрировать схемы под уникальными именами. Метод
|