|
|
@@ -87,7 +87,7 @@ flowchart TD
|
|
|
|
|
|
## Пример
|
|
|
|
|
|
-Определение источника данных, модели и добавление нового документа в коллекцию.
|
|
|
+Объявление источника данных, модели и добавление нового документа в коллекцию.
|
|
|
|
|
|
```js
|
|
|
import {Schema} from '@e22m4u/js-repository';
|
|
|
@@ -96,13 +96,13 @@ import {DataType} from '@e22m4u/js-repository';
|
|
|
// создание экземпляра Schema
|
|
|
const schema = new Schema();
|
|
|
|
|
|
-// определение источника "myMemory"
|
|
|
+// объявление источника "myMemory"
|
|
|
schema.defineDatasource({
|
|
|
name: 'myMemory', // название нового источника
|
|
|
adapter: 'memory', // выбранный адаптер
|
|
|
});
|
|
|
|
|
|
-// определение модели "country"
|
|
|
+// объявление модели "country"
|
|
|
schema.defineModel({
|
|
|
name: 'country', // название новой модели
|
|
|
datasource: 'myMemory', // выбранный источник
|
|
|
@@ -180,8 +180,8 @@ const productRep = schema.getRepository('product');
|
|
|
|
|
|
## Источник данных
|
|
|
|
|
|
-Источник хранит название выбранного адаптера и его настройки. Определить
|
|
|
-новый источник можно методом `defineDatasource` экземпляра схемы.
|
|
|
+Источник хранит название выбранного адаптера и его настройки. Определение
|
|
|
+нового источника выполняется методом `defineDatasource` экземпляра схемы.
|
|
|
|
|
|
**Параметры**
|
|
|
|
|
|
@@ -215,8 +215,8 @@ schema.defineDatasource({
|
|
|
|
|
|
## Модель
|
|
|
|
|
|
-Описывает структуру документа коллекции и связи к другим моделям. Определить
|
|
|
-новую модель можно методом `defineModel` экземпляра схемы.
|
|
|
+Описывает структуру документа коллекции и связи к другим моделям. Определение
|
|
|
+новой модели выполняется методом `defineModel` экземпляра схемы.
|
|
|
|
|
|
**Параметры**
|
|
|
|
|
|
@@ -269,7 +269,7 @@ schema.defineModel({
|
|
|
- `validate: string | array | object` см. [Валидаторы](#Валидаторы)
|
|
|
- `unique: boolean | string` проверять значение на уникальность
|
|
|
|
|
|
-**unique**
|
|
|
+**Параметр `unique`**
|
|
|
|
|
|
Если значением параметра `unique` является `true` или `'strict'`, то выполняется
|
|
|
строгая проверка на уникальность. В этом режиме [пустые значения](#Пустые-значения)
|
|
|
@@ -285,6 +285,13 @@ schema.defineModel({
|
|
|
- `unique: 'sparse'` исключить из проверки [пустые значения](#Пустые-значения)
|
|
|
- `unique: false | 'nonUnique'` не проверять на уникальность (по умолчанию)
|
|
|
|
|
|
+В качестве значений параметра `unique` можно использовать предопределенные
|
|
|
+константы как эквивалент строковых значений `strict`, `sparse` и `nonUnique`.
|
|
|
+
|
|
|
+- `PropertyUniqueness.STRICT`
|
|
|
+- `PropertyUniqueness.SPARSE`
|
|
|
+- `PropertyUniqueness.NON_UNIQUE`
|
|
|
+
|
|
|
**Примеры**
|
|
|
|
|
|
Краткое определение свойств модели.
|
|
|
@@ -376,12 +383,12 @@ schema.defineModel({
|
|
|
|
|
|
Валидатором является функция, в которую передается значение соответствующего
|
|
|
поля перед записью в базу. Если во время проверки функция возвращает `false`,
|
|
|
-то выбрасывается стандартная ошибка. Когда ошибку нужно подменить, допускается
|
|
|
-ее выброс непосредственно внутри функции.
|
|
|
+то выбрасывается стандартная ошибка. Подмена стандартной ошибки возможна
|
|
|
+с помощью выброса пользовательской ошибки непосредственно внутри функции.
|
|
|
|
|
|
-Регистрация пользовательского валидатора происходит методом `addValidator`
|
|
|
-сервиса `PropertyValidatorRegistry`, который принимает название валидатора
|
|
|
-и саму функцию.
|
|
|
+Регистрация валидатора выполняется методом `addValidator` сервиса
|
|
|
+`PropertyValidatorRegistry`, который принимает название нового
|
|
|
+валидатора и функцию для проверки значения.
|
|
|
|
|
|
**Пример**
|
|
|
|