|
@@ -37,7 +37,7 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
Схема данных позволяет указать допустимый тип значения, схему элементов
|
|
Схема данных позволяет указать допустимый тип значения, схему элементов
|
|
|
массива и схему свойств объекта. Схему можно использовать для проверки
|
|
массива и схему свойств объекта. Схему можно использовать для проверки
|
|
|
-входящих данных или для их преобразования к формату схемы.
|
|
|
|
|
|
|
+входящих данных или для преобразования данных к формату схемы.
|
|
|
|
|
|
|
|
Свойства схемы:
|
|
Свойства схемы:
|
|
|
|
|
|
|
@@ -69,9 +69,9 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
{
|
|
{
|
|
|
- type: DataType.ARRAY,
|
|
|
|
|
|
|
+ type: DataType.ARRAY, // тип данных
|
|
|
items: {
|
|
items: {
|
|
|
- type: DataType.NUMBER
|
|
|
|
|
|
|
+ type: DataType.NUMBER // тип элементов
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
// [-1, 0, 1, undefined, null]
|
|
// [-1, 0, 1, undefined, null]
|
|
@@ -79,7 +79,7 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
Так как типы допускают [пустые значения](#пустые-значения), рекомендуется
|
|
Так как типы допускают [пустые значения](#пустые-значения), рекомендуется
|
|
|
использовать параметр `required` в определении схемы элемента, чтобы исключить
|
|
использовать параметр `required` в определении схемы элемента, чтобы исключить
|
|
|
-их из возможных значений массива.
|
|
|
|
|
|
|
+такие значения из состава массива.
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
{
|
|
{
|
|
@@ -100,13 +100,13 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
{
|
|
{
|
|
|
- type: DataType.OBJECT,
|
|
|
|
|
|
|
+ type: DataType.OBJECT, // тип данных
|
|
|
properties: {
|
|
properties: {
|
|
|
name: {
|
|
name: {
|
|
|
- type: DataType.STRING
|
|
|
|
|
|
|
+ type: DataType.STRING // тип свойства "name"
|
|
|
},
|
|
},
|
|
|
age: {
|
|
age: {
|
|
|
- type: DataType.NUMBER
|
|
|
|
|
|
|
+ type: DataType.NUMBER // тип свойства "age"
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -119,7 +119,7 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
Значения свойств могут быть обязательными. Для этого используется
|
|
Значения свойств могут быть обязательными. Для этого используется
|
|
|
параметр `required` в схеме соответствующего свойства. Если параметр
|
|
параметр `required` в схеме соответствующего свойства. Если параметр
|
|
|
указан, то [пустые значения](#пустые-значения) будут вызывать ошибку
|
|
указан, то [пустые значения](#пустые-значения) будут вызывать ошибку
|
|
|
-при проверке данного свойства.
|
|
|
|
|
|
|
+при проверке свойства.
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
{
|
|
{
|
|
@@ -145,7 +145,7 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
{
|
|
{
|
|
|
- type: DataType.STRING, // допускает строки и пустые значения
|
|
|
|
|
|
|
+ type: DataType.STRING, // тип данных
|
|
|
required: true // исключает пустые значения
|
|
required: true // исключает пустые значения
|
|
|
}
|
|
}
|
|
|
// "foo", "bar" ...
|
|
// "foo", "bar" ...
|
|
@@ -157,7 +157,7 @@ const {DataValidator} = require('@e22m4u/js-data-schema');
|
|
|
|
|
|
|
|
### Проверка данных
|
|
### Проверка данных
|
|
|
|
|
|
|
|
-Проверка типа значения.
|
|
|
|
|
|
|
+Проверка типа данных.
|
|
|
|
|
|
|
|
```js
|
|
```js
|
|
|
import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
@@ -165,7 +165,7 @@ import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
|
const validator = new DataValidator();
|
|
const validator = new DataValidator();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.STRING, // тип значения
|
|
|
|
|
|
|
+ type: DataType.STRING, // тип данных
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// значение "str" соответствует схеме
|
|
// значение "str" соответствует схеме
|
|
@@ -189,7 +189,7 @@ import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
|
const validator = new DataValidator();
|
|
const validator = new DataValidator();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.NUMBER, // тип значения
|
|
|
|
|
|
|
+ type: DataType.NUMBER, // тип данных
|
|
|
required: true, // является обязательным
|
|
required: true, // является обязательным
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -214,7 +214,7 @@ import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
|
const validator = new DataValidator();
|
|
const validator = new DataValidator();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.ARRAY, // тип значения
|
|
|
|
|
|
|
+ type: DataType.ARRAY, // тип данных
|
|
|
items: {
|
|
items: {
|
|
|
type: DataType.NUMBER, // тип элемента
|
|
type: DataType.NUMBER, // тип элемента
|
|
|
},
|
|
},
|
|
@@ -244,7 +244,7 @@ import {DataValidator, DataType} from '@e22m4u/js-data-schema';
|
|
|
const validator = new DataValidator();
|
|
const validator = new DataValidator();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.OBJECT, // тип значения
|
|
|
|
|
|
|
+ type: DataType.OBJECT, // тип данных
|
|
|
properties: {
|
|
properties: {
|
|
|
foo: { // схема свойства "foo"
|
|
foo: { // схема свойства "foo"
|
|
|
type: DataType.STRING, // тип свойства
|
|
type: DataType.STRING, // тип свойства
|
|
@@ -279,7 +279,7 @@ import {DataParser, DataType} from '@e22m4u/js-data-schema';
|
|
|
const parser = new DataParser();
|
|
const parser = new DataParser();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.NUMBER, // тип значения
|
|
|
|
|
|
|
+ type: DataType.NUMBER, // тип данных
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// приведение строки к числу
|
|
// приведение строки к числу
|
|
@@ -298,7 +298,7 @@ import {DataParser, DataType} from '@e22m4u/js-data-schema';
|
|
|
const parser = new DataParser();
|
|
const parser = new DataParser();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.ARRAY, // тип значения
|
|
|
|
|
|
|
+ type: DataType.ARRAY, // тип данных
|
|
|
items: {
|
|
items: {
|
|
|
type: DataType.NUMBER, // тип элемента
|
|
type: DataType.NUMBER, // тип элемента
|
|
|
},
|
|
},
|
|
@@ -321,7 +321,7 @@ import {DataParser, DataType} from '@e22m4u/js-data-schema';
|
|
|
const parser = new DataParser();
|
|
const parser = new DataParser();
|
|
|
|
|
|
|
|
const schema = {
|
|
const schema = {
|
|
|
- type: DataType.OBJECT, // тип значения
|
|
|
|
|
|
|
+ type: DataType.OBJECT, // тип данных
|
|
|
properties: {
|
|
properties: {
|
|
|
foo: { // схема свойства "foo"
|
|
foo: { // схема свойства "foo"
|
|
|
type: DataType.STRING, // тип свойства
|
|
type: DataType.STRING, // тип свойства
|