|
|
@@ -37,15 +37,41 @@ npm install @e22m4u/js-data-projection
|
|
|
Принимает исходные данные и дополнительные опции для управления режимом
|
|
|
строгости и областью видимости.
|
|
|
|
|
|
-Сигнатура:
|
|
|
-
|
|
|
-- `projectData(schemaOrFactory, data, [options])`: возвращает проекцию;
|
|
|
- - `schemaOrFactory: object | Function | string | symbol`: схема, фабрика или имя схемы;
|
|
|
- - `data: object | object[]`: проектируемые данные;
|
|
|
- - `options?: object`: объект настроек;
|
|
|
- - `strict?: boolean`: строгий режим;
|
|
|
- - `scope?: string`: область проекции;
|
|
|
- - `resolver?: Function`: функция разрешения схемы;
|
|
|
+**Сигнатура:**
|
|
|
+
|
|
|
+```js
|
|
|
+projectData(schemaOrFactory, data, [options])
|
|
|
+```
|
|
|
+
|
|
|
+**`schemaOrFactory`**
|
|
|
+
|
|
|
+_Тип: `object` | `Function` | `string` | `symbol`_
|
|
|
+
|
|
|
+Определяет правила проекции. Принимает:
|
|
|
+- `object`: сама схема проекции;
|
|
|
+- `Function`: фабрика, возвращающая схему (или ключ схемы);
|
|
|
+- `string|symbol`: ключ для поиска схемы через функцию `resolver`;
|
|
|
+
|
|
|
+**`data`**
|
|
|
+
|
|
|
+_Тип: `object` | `object[]` | `any`_
|
|
|
+
|
|
|
+Исходные данные для проекции. Если передан массив, проекция применяется
|
|
|
+к каждому элементу. Примитивы и `null` возвращаются без изменений.
|
|
|
+
|
|
|
+**`options`** (необязательно)
|
|
|
+
|
|
|
+_Тип: `object`_
|
|
|
+
|
|
|
+Объект с дополнительными настройками:
|
|
|
+
|
|
|
+- `strict?: boolean`: включает строгий режим;
|
|
|
+- `scope?: string`: имя активной области проекции;
|
|
|
+- `resolver?: Function`: функция для получения схемы по ключу;
|
|
|
+
|
|
|
+**Возвращаемое значение:**
|
|
|
+
|
|
|
+Возвращает спроецированные данные. Структура результата (объект или массив) соответствует переданному аргументу `data`.
|
|
|
|
|
|
#### Создание проекции
|
|
|
|