Просмотр исходного кода

refactor: removes 0, [] and {} from empty values

e22m4u 4 недель назад
Родитель
Сommit
96f1b14644
2 измененных файлов с 16 добавлено и 17 удалено
  1. 11 12
      README.md
  2. 5 5
      package.json

+ 11 - 12
README.md

@@ -485,12 +485,12 @@ dbs.defineModel({
 
 | тип         | пустые значения           |
 |-------------|---------------------------|
-| `'any'`     | `undefined`, `null`       |
+| `'any'`     | `undefined`, `null`, `''` |
 | `'string'`  | `undefined`, `null`, `''` |
-| `'number'`  | `undefined`, `null`, `0`  |
+| `'number'`  | `undefined`, `null`       |
 | `'boolean'` | `undefined`, `null`       |
-| `'array'`   | `undefined`, `null`, `[]` |
-| `'object'`  | `undefined`, `null`, `{}` |
+| `'array'`   | `undefined`, `null`       |
+| `'object'`  | `undefined`, `null`       |
 
 ### Переопределение пустых значений
 
@@ -526,9 +526,9 @@ class EmptyValuesService {
 
 **Пример**
 
-По умолчанию, для числовых свойств значение `0` считается пустым. Следующий
-пример демонстрирует, как изменить это поведение, оставив в качестве пустых
-значений только `undefined` и `null`.
+Если строковое свойство является обязательным, то значение `""` (пустая строка)
+приведет к ошибке. Следующий пример демонстрирует, как изменить данное
+поведение, оставив в качестве пустых значений только `undefined` и `null`.
 
 ```js
 import {DataType} from '@e22m4u/js-repository';
@@ -540,13 +540,12 @@ const dbs = new DatabaseSchema();
 // получение сервиса для работы с пустыми значениями
 const emptyValuesService = dbs.getService(EmptyValuesService);
 
-// переопределение пустых значений для типа DataType.NUMBER
-emptyValuesService.setEmptyValuesOf(DataType.NUMBER, [undefined, null]);
+// переопределение пустых значений для типа DataType.STRING
+emptyValuesService.setEmptyValuesOf(DataType.STRING, [undefined, null]);
 ```
 
-После этого, значение `0` для свойств типа `DataType.NUMBER` больше не будет
-считаться пустым и будет проходить проверку с опцией `required`, а также
-не будет заменяться значением по умолчанию.
+Теперь пустая строка будет успешно проходить проверку для свойств
+с типом `string`, а также не будет заменяться на значение по умолчанию.
 
 ## Репозиторий
 

+ 5 - 5
package.json

@@ -39,8 +39,8 @@
     "prepare": "husky"
   },
   "dependencies": {
-    "@e22m4u/js-empty-values": "~0.2.1",
-    "@e22m4u/js-format": "~0.3.1",
+    "@e22m4u/js-empty-values": "~0.3.1",
+    "@e22m4u/js-format": "~0.3.2",
     "@e22m4u/js-service": "~0.5.1"
   },
   "devDependencies": {
@@ -51,10 +51,10 @@
     "@types/chai-as-promised": "~8.0.2",
     "@types/mocha": "~10.0.10",
     "c8": "~10.1.3",
-    "chai": "~6.2.1",
+    "chai": "~6.2.2",
     "chai-as-promised": "~8.0.2",
-    "esbuild": "~0.27.1",
-    "eslint": "~9.39.1",
+    "esbuild": "~0.27.2",
+    "eslint": "~9.39.2",
     "eslint-config-prettier": "~10.1.8",
     "eslint-plugin-chai-expect": "~3.1.0",
     "eslint-plugin-import": "~2.32.0",