e22m4u 2 лет назад
Родитель
Сommit
910aa73be6
84 измененных файлов с 31 добавлено и 17 удалено
  1. 22 4
      README.md
  2. 0 7
      docs/assets/highlight.css
  3. 0 0
      docs/classes/Adapter.html
  4. 0 0
      docs/classes/AdapterLoader.html
  5. 0 0
      docs/classes/AdapterRegistry.html
  6. 0 0
      docs/classes/BelongsToResolver.html
  7. 0 0
      docs/classes/DatasourceDefinitionValidator.html
  8. 0 0
      docs/classes/DefinitionRegistry.html
  9. 0 0
      docs/classes/FieldsClauseTool.html
  10. 0 0
      docs/classes/HasManyResolver.html
  11. 0 0
      docs/classes/HasOneResolver.html
  12. 0 0
      docs/classes/IncludeClauseTool.html
  13. 0 0
      docs/classes/InvalidArgumentError.html
  14. 0 0
      docs/classes/InvalidOperatorValueError.html
  15. 0 0
      docs/classes/ModelDataSanitizer.html
  16. 0 0
      docs/classes/ModelDataValidator.html
  17. 0 0
      docs/classes/ModelDefinitionUtils.html
  18. 0 0
      docs/classes/ModelDefinitionValidator.html
  19. 0 0
      docs/classes/NotImplementedError.html
  20. 0 0
      docs/classes/OperatorClauseTool.html
  21. 0 0
      docs/classes/OrderClauseTool.html
  22. 0 0
      docs/classes/PrimaryKeysDefinitionValidator.html
  23. 0 0
      docs/classes/PropertiesDefinitionValidator.html
  24. 0 0
      docs/classes/ReferencesManyResolver.html
  25. 0 0
      docs/classes/RelationsDefinitionValidator.html
  26. 0 0
      docs/classes/Repository.html
  27. 0 0
      docs/classes/RepositoryRegistry.html
  28. 0 0
      docs/classes/Schema.html
  29. 0 0
      docs/classes/SliceClauseTool.html
  30. 0 0
      docs/classes/WhereClauseTool.html
  31. 0 0
      docs/enums/DataType.html
  32. 0 0
      docs/enums/RelationType.html
  33. 0 0
      docs/functions/capitalize.html
  34. 0 0
      docs/functions/cloneDeep.html
  35. 0 0
      docs/functions/excludeObjectKeys.html
  36. 0 0
      docs/functions/getCtorName.html
  37. 0 0
      docs/functions/getValueByPath.html
  38. 0 0
      docs/functions/isCtor.html
  39. 0 0
      docs/functions/isPureObject.html
  40. 0 0
      docs/functions/selectObjectKeys.html
  41. 0 0
      docs/functions/singularize.html
  42. 0 0
      docs/functions/stringToRegexp.html
  43. 5 2
      docs/index.html
  44. 0 0
      docs/interfaces/AndClause.html
  45. 0 0
      docs/interfaces/OrClause.html
  46. 0 0
      docs/types/AnyObject.html
  47. 0 0
      docs/types/BelongsToDefinition.html
  48. 0 0
      docs/types/DEFAULT_PRIMARY_KEY_PROPERTY_NAME.html
  49. 0 0
      docs/types/DatasourceDefinition.html
  50. 0 0
      docs/types/FieldsClause.html
  51. 0 0
      docs/types/FilterClause.html
  52. 0 0
      docs/types/Flatten.html
  53. 0 0
      docs/types/FullPropertyDefinition.html
  54. 0 0
      docs/types/HasManyDefinition.html
  55. 0 0
      docs/types/HasOneDefinition.html
  56. 0 0
      docs/types/Identity.html
  57. 0 0
      docs/types/IncludeClause.html
  58. 0 0
      docs/types/ItemFilterClause.html
  59. 0 0
      docs/types/ModelData.html
  60. 0 0
      docs/types/ModelDefinition.html
  61. 0 0
      docs/types/ModelId.html
  62. 0 0
      docs/types/NestedIncludeClause.html
  63. 0 0
      docs/types/NormalizedFieldsClause.html
  64. 0 0
      docs/types/NormalizedIncludeClause.html
  65. 0 0
      docs/types/OperatorClause.html
  66. 0 0
      docs/types/OptionalUnlessRequiredId.html
  67. 0 0
      docs/types/OrderClause.html
  68. 0 0
      docs/types/PartialBy.html
  69. 0 0
      docs/types/PartialWithoutId.html
  70. 0 0
      docs/types/PolyBelongsToDefinition.html
  71. 0 0
      docs/types/PolyHasManyDefinitionWithTargetKeys.html
  72. 0 0
      docs/types/PolyHasManyDefinitionWithTargetRelationName.html
  73. 0 0
      docs/types/PolyHasOneDefinitionWithTargetKeys.html
  74. 0 0
      docs/types/PolyHasOneDefinitionWithTargetRelationName.html
  75. 0 0
      docs/types/PropertiesClause.html
  76. 0 0
      docs/types/PropertyDefinition.html
  77. 0 0
      docs/types/PropertyDefinitionMap.html
  78. 0 0
      docs/types/ReferencesManyDefinition.html
  79. 0 0
      docs/types/RelationDefinition.html
  80. 0 0
      docs/types/RelationDefinitionMap.html
  81. 0 0
      docs/types/WhereClause.html
  82. 0 0
      docs/types/WithoutId.html
  83. 2 2
      src/definition/model/relations/relation-definition.d.ts
  84. 2 2
      src/definition/model/relations/relations-definition-validator.js

+ 22 - 4
README.md

@@ -437,16 +437,34 @@ schema.defineModel({
 })
 ```
 
-Полиморфная версия `hasMany` с указанием названия связи ссылающейся на текущую модель.
+Полиморфная версия `hasMany` с указанием названия связи ссылающейся на текущую
+модель.
 
 ```js
 schema.defineModel({
-  name: 'document',
+  name: 'letter',
   relations: {
-    files: { // название связи
+    attachments: { // название связи
       type: RelationType.HAS_MANY, // целевая модель ссылается на текущую
       model: 'file', // название целевой модели
-      polymorphic: 'reference', // название связи ссылающейся на текущую модель
+      polymorphic: 'reference', // название полиморфной связи целевой модели
+    },
+  },
+})
+```
+
+Полиморфная версия `hasMany` с указанием свойств целевой модели.
+
+```js
+schema.defineModel({
+  name: 'letter',
+  relations: {
+    attachments: { // название связи
+      type: RelationType.HAS_MANY, // целевая модель ссылается на текущую
+      model: 'file', // название целевой модели
+      polymorphic: true, // название текущей модели находится в дискриминаторе
+      foreignKey: 'referenceId', // свойство целевой модели для идентификатора
+      discriminator: 'referenceType', // свойство целевой модели для названия текущей
     },
   },
 })

+ 0 - 7
docs/assets/highlight.css

@@ -19,8 +19,6 @@
     --dark-hl-8: #B5CEA8;
     --light-hl-9: #000000;
     --dark-hl-9: #C8C8C8;
-    --light-hl-10: #CD3131;
-    --dark-hl-10: #F44747;
     --light-code-background: #FFFFFF;
     --dark-code-background: #1E1E1E;
 }
@@ -36,7 +34,6 @@
     --hl-7: var(--light-hl-7);
     --hl-8: var(--light-hl-8);
     --hl-9: var(--light-hl-9);
-    --hl-10: var(--light-hl-10);
     --code-background: var(--light-code-background);
 } }
 
@@ -51,7 +48,6 @@
     --hl-7: var(--dark-hl-7);
     --hl-8: var(--dark-hl-8);
     --hl-9: var(--dark-hl-9);
-    --hl-10: var(--dark-hl-10);
     --code-background: var(--dark-code-background);
 } }
 
@@ -66,7 +62,6 @@
     --hl-7: var(--light-hl-7);
     --hl-8: var(--light-hl-8);
     --hl-9: var(--light-hl-9);
-    --hl-10: var(--light-hl-10);
     --code-background: var(--light-code-background);
 }
 
@@ -81,7 +76,6 @@
     --hl-7: var(--dark-hl-7);
     --hl-8: var(--dark-hl-8);
     --hl-9: var(--dark-hl-9);
-    --hl-10: var(--dark-hl-10);
     --code-background: var(--dark-code-background);
 }
 
@@ -95,5 +89,4 @@
 .hl-7 { color: var(--hl-7); }
 .hl-8 { color: var(--hl-8); }
 .hl-9 { color: var(--hl-9); }
-.hl-10 { color: var(--hl-10); }
 pre, code { background: var(--code-background); }

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/Adapter.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/AdapterLoader.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/AdapterRegistry.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/BelongsToResolver.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/DatasourceDefinitionValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/DefinitionRegistry.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/FieldsClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/HasManyResolver.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/HasOneResolver.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/IncludeClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/InvalidArgumentError.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/InvalidOperatorValueError.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/ModelDataSanitizer.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/ModelDataValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/ModelDefinitionUtils.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/ModelDefinitionValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/NotImplementedError.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/OperatorClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/OrderClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/PrimaryKeysDefinitionValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/PropertiesDefinitionValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/ReferencesManyResolver.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/RelationsDefinitionValidator.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/Repository.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/RepositoryRegistry.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/Schema.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/SliceClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/classes/WhereClauseTool.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/enums/DataType.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/enums/RelationType.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/capitalize.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/cloneDeep.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/excludeObjectKeys.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/getCtorName.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/getValueByPath.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/isCtor.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/isPureObject.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/selectObjectKeys.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/singularize.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/functions/stringToRegexp.html


Разница между файлами не показана из-за своего большого размера
+ 5 - 2
docs/index.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/interfaces/AndClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/interfaces/OrClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/AnyObject.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/BelongsToDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/DEFAULT_PRIMARY_KEY_PROPERTY_NAME.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/DatasourceDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/FieldsClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/FilterClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/Flatten.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/FullPropertyDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/HasManyDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/HasOneDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/Identity.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/IncludeClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/ItemFilterClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/ModelData.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/ModelDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/ModelId.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/NestedIncludeClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/NormalizedFieldsClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/NormalizedIncludeClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/OperatorClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/OptionalUnlessRequiredId.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/OrderClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PartialBy.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PartialWithoutId.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PolyBelongsToDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PolyHasManyDefinitionWithTargetKeys.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PolyHasManyDefinitionWithTargetRelationName.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PolyHasOneDefinitionWithTargetKeys.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PolyHasOneDefinitionWithTargetRelationName.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PropertiesClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PropertyDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/PropertyDefinitionMap.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/ReferencesManyDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/RelationDefinition.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/RelationDefinitionMap.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/WhereClause.html


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/types/WithoutId.html


+ 2 - 2
src/definition/model/relations/relation-definition.d.ts

@@ -134,7 +134,7 @@ export declare type PolyHasOneDefinitionWithTargetRelationName = {
  *   model: 'model',
  *   polymorphic: true,
  *   foreignKey: 'referenceId',
- *   discriminator: 'referenceType,
+ *   discriminator: 'referenceType',
  * }
  * ```
  */
@@ -196,7 +196,7 @@ export declare type PolyHasManyDefinitionWithTargetRelationName = {
  *   model: 'model',
  *   polymorphic: true,
  *   foreignKey: 'referenceId',
- *   discriminator: 'referenceType,
+ *   discriminator: 'referenceType',
  * }
  * ```
  */

+ 2 - 2
src/definition/model/relations/relations-definition-validator.js

@@ -193,7 +193,7 @@ export class RelationsDefinitionValidator extends Service {
    *   model: 'model',
    *   polymorphic: true,
    *   foreignKey: 'referenceId',
-   *   discriminator: 'referenceType,
+   *   discriminator: 'referenceType',
    * }
    * ```
    *
@@ -311,7 +311,7 @@ export class RelationsDefinitionValidator extends Service {
    *   model: 'model',
    *   polymorphic: true,
    *   foreignKey: 'referenceId',
-   *   discriminator: 'referenceType,
+   *   discriminator: 'referenceType',
    * }
    * ```
    *

Некоторые файлы не были показаны из-за большого количества измененных файлов