|
|
@@ -1,4 +1,4 @@
|
|
|
-## @e22m4u/js-data-projection
|
|
|
+## @e22m4u/js-data-projector
|
|
|
|
|
|
JavaScript модуль для создания проекции данных на основе декларативных схем.
|
|
|
|
|
|
@@ -18,7 +18,7 @@ JavaScript модуль для создания проекции данных н
|
|
|
## Установка
|
|
|
|
|
|
```bash
|
|
|
-npm install @e22m4u/js-data-projection
|
|
|
+npm install @e22m4u/js-data-projector
|
|
|
```
|
|
|
|
|
|
Модуль поддерживает ESM и CommonJS стандарты.
|
|
|
@@ -26,13 +26,13 @@ npm install @e22m4u/js-data-projection
|
|
|
*ESM*
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
```
|
|
|
|
|
|
*CommonJS*
|
|
|
|
|
|
```js
|
|
|
-const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
+const {projectData} = require('@e22m4u/js-data-projector');
|
|
|
```
|
|
|
|
|
|
## Схема проекции
|
|
|
@@ -100,7 +100,7 @@ const {projectData} = require('@e22m4u/js-data-projection');
|
|
|
Создание проекции данных с помощью схемы.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const schema = {
|
|
|
name: true,
|
|
|
@@ -123,7 +123,7 @@ console.log(result);
|
|
|
Применение схемы к массиву объектов.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const schema = {
|
|
|
id: true,
|
|
|
@@ -146,7 +146,7 @@ console.log(result);
|
|
|
Применение вложенной схемы для сложной структуры данных.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const schema = {
|
|
|
id: false,
|
|
|
@@ -184,7 +184,7 @@ console.log(result);
|
|
|
Допуск полей не указанных в схеме проекции.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const schema = {
|
|
|
name: true,
|
|
|
@@ -212,7 +212,7 @@ console.log(result);
|
|
|
Создание проекции определенной области.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const schema = {
|
|
|
name: true,
|
|
|
@@ -250,7 +250,7 @@ console.log(outputData);
|
|
|
Использование сокращенных методов для работы с областями.
|
|
|
|
|
|
```js
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const projector = new DataProjector();
|
|
|
|
|
|
@@ -293,7 +293,7 @@ console.log(output);
|
|
|
Использование фабрики вместо объекта схемы.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
// фабрика возвращает объект схемы
|
|
|
const getSchema = () => {
|
|
|
@@ -319,7 +319,7 @@ console.log(result);
|
|
|
Использование фабрики во вложенной схеме.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
// фабрика для вложенных данных
|
|
|
const getAddressSchema = () => {
|
|
|
@@ -357,7 +357,7 @@ console.log(result);
|
|
|
Установка аргументов вызова фабричных функций.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
// объект будет передан в параметры фабрики
|
|
|
const logger = {
|
|
|
@@ -389,7 +389,7 @@ console.log(result);
|
|
|
|
|
|
```js
|
|
|
import {ServiceContainer} from '@e22m4u/js-service';
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
// сервис-контейнер доступен только
|
|
|
// при использовании DataProjector
|
|
|
@@ -419,7 +419,7 @@ console.log(result);
|
|
|
Регистрация и применение именованной схемы.
|
|
|
|
|
|
```js
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const projector = new DataProjector();
|
|
|
|
|
|
@@ -451,7 +451,7 @@ console.log(result);
|
|
|
Использование вложенных именованных схем.
|
|
|
|
|
|
```js
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const projector = new DataProjector();
|
|
|
|
|
|
@@ -497,7 +497,7 @@ console.log(result);
|
|
|
Регистрация псевдонима именованной схемы.
|
|
|
|
|
|
```js
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const projector = new DataProjector();
|
|
|
|
|
|
@@ -535,7 +535,7 @@ console.log(result);
|
|
|
Использование фабрики при регистрации именованной схемы.
|
|
|
|
|
|
```js
|
|
|
-import {DataProjector} from '@e22m4u/js-data-projection';
|
|
|
+import {DataProjector} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
const projector = new DataProjector();
|
|
|
|
|
|
@@ -571,7 +571,7 @@ console.log(result);
|
|
|
Реализация пользовательской функции разрешения имен.
|
|
|
|
|
|
```js
|
|
|
-import {projectData} from '@e22m4u/js-data-projection';
|
|
|
+import {projectData} from '@e22m4u/js-data-projector';
|
|
|
|
|
|
// функция разрешения имен
|
|
|
const nameResolver = name => {
|