|
|
@@ -8,7 +8,7 @@ JavaScript модуль для работы с проекцией данных.
|
|
|
- [Схема проекции](#схема-проекции)
|
|
|
- [Определение правил видимости полей](#определение-правил-видимости-полей)
|
|
|
- [Определение вложенной схемы](#определение-вложенной-схемы)
|
|
|
- - [Определение правил для областей проекции](#определение-правил-для-областей-проекции)
|
|
|
+ - [Определение правил для областей видимости](#определение-правил-для-областей-видимости)
|
|
|
- [Использование](#использование)
|
|
|
- [Создание проекции данных с помощью схемы](#создание-проекции-данных-с-помощью-схемы)
|
|
|
- [Применение схемы к массиву объектов](#применение-схемы-к-массиву-объектов)
|
|
|
@@ -45,8 +45,7 @@ const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
|
|
|
## Схема проекции
|
|
|
|
|
|
-<a id="определение-правил-видимости-полей"></a>
|
|
|
-**Определение правил видимости полей**
|
|
|
+#### Определение правил видимости полей
|
|
|
|
|
|
```js
|
|
|
{
|
|
|
@@ -55,8 +54,7 @@ const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-<a id="определение-вложенной-схемы"></a>
|
|
|
-**Определение вложенной схемы**
|
|
|
+#### Определение вложенной схемы
|
|
|
|
|
|
```js
|
|
|
{
|
|
|
@@ -71,8 +69,7 @@ const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-<a id="определение-правил-для-областей-проекции"></a>
|
|
|
-**Определение правил для областей проекции**
|
|
|
+#### Определение правил для областей видимости
|
|
|
|
|
|
```js
|
|
|
{
|
|
|
@@ -88,8 +85,7 @@ const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
|
|
|
## Использование
|
|
|
|
|
|
-<a id="создание-проекции-данных-с-помощью-схемы"></a>
|
|
|
-**Создание проекции данных с помощью схемы**
|
|
|
+#### Создание проекции данных с помощью схемы
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -113,8 +109,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="применение-схемы-к-массиву-объектов"></a>
|
|
|
-**Применение схемы к массиву объектов**
|
|
|
+#### Применение схемы к массиву объектов
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -137,8 +132,7 @@ console.log(result);
|
|
|
// ]
|
|
|
```
|
|
|
|
|
|
-<a id="исключение-неизвестных-полей-в-строгом-режиме"></a>
|
|
|
-**Исключение неизвестных полей в строгом режиме**
|
|
|
+#### Исключение неизвестных полей в строгом режиме
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -163,8 +157,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="применение-вложенных-схем-для-сложных-структур"></a>
|
|
|
-**Применение вложенных схем для сложных структур**
|
|
|
+#### Применение вложенных схем для сложных структур
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -200,8 +193,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="создание-проекции-для-определенной-области-видимости"></a>
|
|
|
-**Создание проекции для определенной области видимости**
|
|
|
+#### Создание проекции для определенной области видимости
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -222,7 +214,7 @@ const data = {
|
|
|
};
|
|
|
|
|
|
const inputData = projectData(schema, data, {
|
|
|
- scope: 'input', // <= область проекции
|
|
|
+ scope: 'input', // <= область видимости
|
|
|
});
|
|
|
console.log(inputData);
|
|
|
// {
|
|
|
@@ -231,7 +223,7 @@ console.log(inputData);
|
|
|
// }
|
|
|
|
|
|
const outputData = projectData(schema, data, {
|
|
|
- scope: 'output', // <= область проекции
|
|
|
+ scope: 'output', // <= область видимости
|
|
|
});
|
|
|
console.log(outputData);
|
|
|
// {
|
|
|
@@ -239,8 +231,7 @@ console.log(outputData);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="использование-фабричной-функции-вместо-объекта-схемы"></a>
|
|
|
-**Использование фабричной функции вместо объекта схемы**
|
|
|
+#### Использование фабричной функции вместо объекта схемы
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -266,8 +257,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="использование-фабрики-во-вложенной-схеме"></a>
|
|
|
-**Использование фабрики во вложенной схеме**
|
|
|
+#### Использование фабрики во вложенной схеме
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|
|
|
@@ -303,8 +293,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="регистрация-именованной-схемы-и-создание-проекции"></a>
|
|
|
-**Регистрация именованной схемы и создание проекции**
|
|
|
+#### Регистрация именованной схемы и создание проекции
|
|
|
|
|
|
```js
|
|
|
import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
@@ -336,8 +325,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="использование-вложенных-именованных-схем"></a>
|
|
|
-**Использование вложенных именованных схем**
|
|
|
+#### Использование вложенных именованных схем
|
|
|
|
|
|
```js
|
|
|
import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
@@ -383,8 +371,7 @@ console.log(result);
|
|
|
// }
|
|
|
```
|
|
|
|
|
|
-<a id="реализация-пользовательской-функции-разрешения-имен"></a>
|
|
|
-**Реализация пользовательской функции разрешения имен**
|
|
|
+#### Реализация пользовательской функции разрешения имен
|
|
|
|
|
|
```js
|
|
|
import {projectData} from '@e22m4u/js-data-projection';
|