@contember/schema-definition 2.0.0-alpha.10 → 2.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/development/index.cjs.map +1 -1
  2. package/dist/development/index.js.map +1 -1
  3. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +3 -0
  4. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  5. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +3 -0
  6. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  7. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
  8. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  9. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
  10. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  11. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
  12. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  13. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
  14. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  15. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
  16. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  17. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
  18. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  19. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
  20. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  21. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
  22. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  23. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
  24. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  25. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
  26. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  27. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
  28. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  29. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
  30. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  31. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
  32. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  33. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
  34. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  35. package/dist/development/src/model/definition/index.cjs +6 -8
  36. package/dist/development/src/model/definition/index.cjs.map +1 -1
  37. package/dist/development/src/model/definition/index.js +12 -14
  38. package/dist/development/src/model/definition/index.js.map +1 -1
  39. package/dist/production/index.cjs.map +1 -1
  40. package/dist/production/index.js.map +1 -1
  41. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +3 -0
  42. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  43. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +3 -0
  44. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  45. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
  46. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  47. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
  48. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  49. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
  50. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  51. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
  52. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  53. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
  54. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  55. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
  56. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  57. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
  58. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  59. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
  60. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  61. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
  62. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  63. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
  64. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  65. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
  66. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  67. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
  68. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  69. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
  70. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  71. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
  72. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  73. package/dist/production/src/model/definition/index.cjs +6 -8
  74. package/dist/production/src/model/definition/index.cjs.map +1 -1
  75. package/dist/production/src/model/definition/index.js +12 -14
  76. package/dist/production/src/model/definition/index.js.map +1 -1
  77. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  78. package/dist/types/index.d.ts +5 -1
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +9 -9
  81. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  82. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -3
  83. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
  84. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +6 -6
  85. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
  86. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +4 -8
  87. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
  88. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +10 -10
  89. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
  90. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +4 -4
  91. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
  92. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +11 -11
  93. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
  94. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +4 -8
  95. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
  96. package/dist/types/model/definition/index.d.ts +1 -2
  97. package/dist/types/model/definition/index.d.ts.map +1 -1
  98. package/dist/types/model/definition/types.d.ts +2 -5
  99. package/dist/types/model/definition/types.d.ts.map +1 -1
  100. package/dist/types/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +3 -3
  102. package/src/index.ts +15 -0
  103. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +22 -18
  104. package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -5
  105. package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +11 -7
  106. package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +8 -12
  107. package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +14 -12
  108. package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +8 -5
  109. package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +16 -12
  110. package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +8 -11
  111. package/src/model/definition/index.ts +1 -2
  112. package/src/model/definition/types.ts +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasManyDefinitionImpl extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<ManyHasManyDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): Interface<ManyHasManyDefinition> {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): Interface<ManyHasManyDefinition> {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n\nexport type ManyHasManyDefinition = Interface<ManyHasManyDefinitionImpl>\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinitionImpl({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,kCAAkC,gBAA8C;AAAA,EAAtF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAsD;AACzD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAA6E;AAClF,WAAA,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8D,MAAM,eAAe,KAChD;AACnC,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,MACrF,UAAU,EAAE,SAAS,KAAK;AAAA,MAC1B,GAAG,QAAQ;AAAA,IAAA;AAGc,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAEhE,WAAA;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;AAIgB,SAAA,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,0BAA0B,EAAE,QAAQ,WAAY,CAAA;AAC5D;"}
1
+ {"version":3,"file":"ManyHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,8BAA8B,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AAC9C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AACvE,WAAA,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8D,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,MACrF,UAAU,EAAE,SAAS,KAAK;AAAA,MAC1B,GAAG,QAAQ;AAAA,IAAA;AAGc,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAEhE,WAAA;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAGU,WAAyD,KAAQ,OAA+D;AAClI,WAAA,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACnE;AACD;AAGgB,SAAA,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,WAAY,CAAA;AACxD;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class ManyHasManyInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class ManyHasManyInverseDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "ManyHasManyInverseDefinition");
@@ -24,14 +24,13 @@ class ManyHasManyInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
24
24
  ...options.orderBy ? { orderBy: options.orderBy } : {}
25
25
  };
26
26
  }
27
+ withOption(key, value) {
28
+ return new ManyHasManyInverseDefinition({ ...this.options, [key]: value });
29
+ }
27
30
  }
28
31
  function manyHasManyInverse(target, ownedBy) {
29
- return new ManyHasManyInverseDefinitionImpl({ target, ownedBy });
30
- }
31
- function manyHasManyInversed(target, ownedBy) {
32
- return new ManyHasManyInverseDefinitionImpl({ target, ownedBy });
32
+ return new ManyHasManyInverseDefinition({ target, ownedBy });
33
33
  }
34
- exports.ManyHasManyInverseDefinitionImpl = ManyHasManyInverseDefinitionImpl;
34
+ exports.ManyHasManyInverseDefinition = ManyHasManyInverseDefinition;
35
35
  exports.manyHasManyInverse = manyHasManyInverse;
36
- exports.manyHasManyInversed = manyHasManyInversed;
37
36
  //# sourceMappingURL=ManyHasManyInverseDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinitionImpl extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): Interface<ManyHasManyInverseDefinition> {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n\nexport type ManyHasManyInverseDefinition = Interface<ManyHasManyInverseDefinitionImpl>\n/** @deprecated use ManyHasManyInverseDefinition */\nexport type ManyHasManyInversedDefinition = Interface<ManyHasManyInverseDefinitionImpl>\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use manyHasManyInverse */\nexport function manyHasManyInversed(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,yCAAyCA,gBAAAA,gBAAqD;AAAA,EAApG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KACzC;AAC1C,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;AAMgB,SAAA,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,iCAAiC,EAAE,QAAQ,QAAS,CAAA;AAChE;AAGgB,SAAA,oBAAoB,QAA2B,SAA+C;AAC7G,SAAO,IAAI,iCAAiC,EAAE,QAAQ,QAAS,CAAA;AAChE;;;;"}
1
+ {"version":3,"file":"ManyHasManyInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(key: K, value: ManyHasManyInverseDefinitionOptions[K]): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,qCAAqCA,gBAAAA,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAEU,WAAgE,KAAQ,OAA6E;AACvJ,WAAA,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC1E;AACD;AAGgB,SAAA,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,QAAS,CAAA;AAC5D;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class ManyHasManyInverseDefinitionImpl extends FieldDefinition {
6
+ class ManyHasManyInverseDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "ManyHasManyInverseDefinition");
@@ -22,16 +22,15 @@ class ManyHasManyInverseDefinitionImpl extends FieldDefinition {
22
22
  ...options.orderBy ? { orderBy: options.orderBy } : {}
23
23
  };
24
24
  }
25
+ withOption(key, value) {
26
+ return new ManyHasManyInverseDefinition({ ...this.options, [key]: value });
27
+ }
25
28
  }
26
29
  function manyHasManyInverse(target, ownedBy) {
27
- return new ManyHasManyInverseDefinitionImpl({ target, ownedBy });
28
- }
29
- function manyHasManyInversed(target, ownedBy) {
30
- return new ManyHasManyInverseDefinitionImpl({ target, ownedBy });
30
+ return new ManyHasManyInverseDefinition({ target, ownedBy });
31
31
  }
32
32
  export {
33
- ManyHasManyInverseDefinitionImpl,
34
- manyHasManyInverse,
35
- manyHasManyInversed
33
+ ManyHasManyInverseDefinition,
34
+ manyHasManyInverse
36
35
  };
37
36
  //# sourceMappingURL=ManyHasManyInverseDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinitionImpl extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): Interface<ManyHasManyInverseDefinition> {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n\nexport type ManyHasManyInverseDefinition = Interface<ManyHasManyInverseDefinitionImpl>\n/** @deprecated use ManyHasManyInverseDefinition */\nexport type ManyHasManyInversedDefinition = Interface<ManyHasManyInverseDefinitionImpl>\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use manyHasManyInverse */\nexport function manyHasManyInversed(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,yCAAyC,gBAAqD;AAAA,EAApG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KACzC;AAC1C,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;AAMgB,SAAA,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,iCAAiC,EAAE,QAAQ,QAAS,CAAA;AAChE;AAGgB,SAAA,oBAAoB,QAA2B,SAA+C;AAC7G,SAAO,IAAI,iCAAiC,EAAE,QAAQ,QAAS,CAAA;AAChE;"}
1
+ {"version":3,"file":"ManyHasManyInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(key: K, value: ManyHasManyInverseDefinitionOptions[K]): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,qCAAqC,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAEU,WAAgE,KAAQ,OAA6E;AACvJ,WAAA,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC1E;AACD;AAGgB,SAAA,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,QAAS,CAAA;AAC5D;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class ManyHasOneDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class ManyHasOneDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "ManyHasOneDefinition");
@@ -48,10 +48,13 @@ class ManyHasOneDefinitionImpl extends FieldDefinition.FieldDefinition {
48
48
  }
49
49
  };
50
50
  }
51
+ withOption(key, value) {
52
+ return new ManyHasOneDefinition({ ...this.options, [key]: value });
53
+ }
51
54
  }
52
55
  function manyHasOne(target, inversedBy) {
53
- return new ManyHasOneDefinitionImpl({ target, inversedBy });
56
+ return new ManyHasOneDefinition({ target, inversedBy });
54
57
  }
55
- exports.ManyHasOneDefinitionImpl = ManyHasOneDefinitionImpl;
58
+ exports.ManyHasOneDefinition = ManyHasOneDefinition;
56
59
  exports.manyHasOne = manyHasOne;
57
60
  //# sourceMappingURL=ManyHasOneDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinitionImpl extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type ManyHasOneDefinition = Interface<ManyHasOneDefinitionImpl>\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,iCAAiCA,gBAAAA,gBAA6C;AAAA,EAApF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAqD;AACxD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAqD;AAC3D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,WAAA,CAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAiF;AAClF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,SAAA,CAAsC;AAAA,EAChH;AAAA,EAEA,kBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAoD;AACnD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA2C;AACnC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAAgB,QAAQ,iBAAiB;AACrB,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,IAAA;AAAA,EAEF;AACD;AAIgB,SAAA,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,yBAAyB,EAAE,QAAQ,WAAY,CAAA;AAC3D;;;"}
1
+ {"version":3,"file":"ManyHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AAC7C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AAChD,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,WAAA,CAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AACvE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,SAAA,CAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAAgC;AACxB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAAgB,QAAQ,iBAAiB;AACrB,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,IAAA;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AAC/H,WAAA,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAClE;AACD;AAEgB,SAAA,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,WAAY,CAAA;AACvD;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class ManyHasOneDefinitionImpl extends FieldDefinition {
6
+ class ManyHasOneDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "ManyHasOneDefinition");
@@ -46,12 +46,15 @@ class ManyHasOneDefinitionImpl extends FieldDefinition {
46
46
  }
47
47
  };
48
48
  }
49
+ withOption(key, value) {
50
+ return new ManyHasOneDefinition({ ...this.options, [key]: value });
51
+ }
49
52
  }
50
53
  function manyHasOne(target, inversedBy) {
51
- return new ManyHasOneDefinitionImpl({ target, inversedBy });
54
+ return new ManyHasOneDefinition({ target, inversedBy });
52
55
  }
53
56
  export {
54
- ManyHasOneDefinitionImpl,
57
+ ManyHasOneDefinition,
55
58
  manyHasOne
56
59
  };
57
60
  //# sourceMappingURL=ManyHasOneDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinitionImpl extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<ManyHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type ManyHasOneDefinition = Interface<ManyHasOneDefinitionImpl>\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,iCAAiC,gBAA6C;AAAA,EAApF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAqD;AACxD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAqD;AAC3D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,WAAA,CAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAiF;AAClF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,SAAA,CAAsC;AAAA,EAChH;AAAA,EAEA,kBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAoD;AACnD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA2C;AACnC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAAgB,QAAQ,iBAAiB;AACrB,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,IAAA;AAAA,EAEF;AACD;AAIgB,SAAA,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,yBAAyB,EAAE,QAAQ,WAAY,CAAA;AAC3D;"}
1
+ {"version":3,"file":"ManyHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AAC7C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AAChD,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,WAAA,CAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AACvE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,SAAA,CAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAAgC;AACxB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAAgB,QAAQ,iBAAiB;AACrB,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,IAAA;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AAC/H,WAAA,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAClE;AACD;AAEgB,SAAA,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,WAAY,CAAA;AACvD;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class OneHasManyDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class OneHasManyDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "OneHasManyDefinition");
@@ -24,10 +24,13 @@ class OneHasManyDefinitionImpl extends FieldDefinition.FieldDefinition {
24
24
  ...options.orderBy ? { orderBy: options.orderBy } : {}
25
25
  };
26
26
  }
27
+ withOption(key, value) {
28
+ return new OneHasManyDefinition({ ...this.options, [key]: value });
29
+ }
27
30
  }
28
31
  function oneHasMany(target, ownedBy) {
29
- return new OneHasManyDefinitionImpl({ target, ownedBy });
32
+ return new OneHasManyDefinition({ target, ownedBy });
30
33
  }
31
- exports.OneHasManyDefinitionImpl = OneHasManyDefinitionImpl;
34
+ exports.OneHasManyDefinition = OneHasManyDefinition;
32
35
  exports.oneHasMany = oneHasMany;
33
36
  //# sourceMappingURL=OneHasManyDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\n\nexport class OneHasManyDefinitionImpl extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): Interface<OneHasManyDefinition> {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n\nexport type OneHasManyDefinition = Interface<OneHasManyDefinitionImpl>\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,iCAAiCA,gBAAAA,gBAA6C;AAAA,EAApF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KACjD;AAClC,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;AAIgB,SAAA,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,yBAAyB,EAAE,QAAQ,QAAS,CAAA;AACxD;;;"}
1
+ {"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AAC/H,WAAA,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAClE;AACD;AAGgB,SAAA,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,QAAS,CAAA;AACpD;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class OneHasManyDefinitionImpl extends FieldDefinition {
6
+ class OneHasManyDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "OneHasManyDefinition");
@@ -22,12 +22,15 @@ class OneHasManyDefinitionImpl extends FieldDefinition {
22
22
  ...options.orderBy ? { orderBy: options.orderBy } : {}
23
23
  };
24
24
  }
25
+ withOption(key, value) {
26
+ return new OneHasManyDefinition({ ...this.options, [key]: value });
27
+ }
25
28
  }
26
29
  function oneHasMany(target, ownedBy) {
27
- return new OneHasManyDefinitionImpl({ target, ownedBy });
30
+ return new OneHasManyDefinition({ target, ownedBy });
28
31
  }
29
32
  export {
30
- OneHasManyDefinitionImpl,
33
+ OneHasManyDefinition,
31
34
  oneHasMany
32
35
  };
33
36
  //# sourceMappingURL=OneHasManyDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\n\nexport class OneHasManyDefinitionImpl extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): Interface<OneHasManyDefinition> {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n\nexport type OneHasManyDefinition = Interface<OneHasManyDefinitionImpl>\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,iCAAiC,gBAA6C;AAAA,EAApF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KACjD;AAClC,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;AAIgB,SAAA,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,yBAAyB,EAAE,QAAQ,QAAS,CAAA;AACxD;"}
1
+ {"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AAC/H,WAAA,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAClE;AACD;AAGgB,SAAA,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,QAAS,CAAA;AACpD;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class OneHasOneDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class OneHasOneDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "OneHasOneDefinition");
@@ -52,10 +52,13 @@ class OneHasOneDefinitionImpl extends FieldDefinition.FieldDefinition {
52
52
  ...options.orphanRemoval ? { orphanRemoval: true } : {}
53
53
  };
54
54
  }
55
+ withOption(key, value) {
56
+ return new OneHasOneDefinition({ ...this.options, [key]: value });
57
+ }
55
58
  }
56
59
  function oneHasOne(target, inversedBy) {
57
- return new OneHasOneDefinitionImpl({ target, inversedBy });
60
+ return new OneHasOneDefinition({ target, inversedBy });
58
61
  }
59
- exports.OneHasOneDefinitionImpl = OneHasOneDefinitionImpl;
62
+ exports.OneHasOneDefinition = OneHasOneDefinition;
60
63
  exports.oneHasOne = oneHasOne;
61
64
  //# sourceMappingURL=OneHasOneDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinitionImpl extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n\nexport type OneHasOneDefinition = Interface<OneHasOneDefinitionImpl>\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,gCAAgCA,gBAAAA,gBAA4C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAoD;AACvD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAoD;AAC1D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAgF;AACjF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA0C;AAClC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAA+C;AACvC,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AACD;AAIgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,wBAAwB,EAAE,QAAQ,WAAY,CAAA;AAC1D;;;"}
1
+ {"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACjE;AACD;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,WAAY,CAAA;AACtD;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class OneHasOneDefinitionImpl extends FieldDefinition {
6
+ class OneHasOneDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "OneHasOneDefinition");
@@ -50,12 +50,15 @@ class OneHasOneDefinitionImpl extends FieldDefinition {
50
50
  ...options.orphanRemoval ? { orphanRemoval: true } : {}
51
51
  };
52
52
  }
53
+ withOption(key, value) {
54
+ return new OneHasOneDefinition({ ...this.options, [key]: value });
55
+ }
53
56
  }
54
57
  function oneHasOne(target, inversedBy) {
55
- return new OneHasOneDefinitionImpl({ target, inversedBy });
58
+ return new OneHasOneDefinition({ target, inversedBy });
56
59
  }
57
60
  export {
58
- OneHasOneDefinitionImpl,
61
+ OneHasOneDefinition,
59
62
  oneHasOne
60
63
  };
61
64
  //# sourceMappingURL=OneHasOneDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinitionImpl extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n\nexport type OneHasOneDefinition = Interface<OneHasOneDefinitionImpl>\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,gCAAgC,gBAA4C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAoD;AACvD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAoD;AAC1D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAgF;AACjF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA0C;AAClC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAA+C;AACvC,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AACD;AAIgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,wBAAwB,EAAE,QAAQ,WAAY,CAAA;AAC1D;"}
1
+ {"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACjE;AACD;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,WAAY,CAAA;AACtD;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class OneHasOneInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class OneHasOneInverseDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "OneHasOneInverseDefinition");
@@ -23,14 +23,13 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
23
23
  nullable: options.nullable === void 0 ? true : options.nullable
24
24
  };
25
25
  }
26
+ withOption(key, value) {
27
+ return new this.constructor({ ...this.options, [key]: value });
28
+ }
26
29
  }
27
30
  function oneHasOneInverse(target, ownedBy) {
28
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
29
- }
30
- function oneHasOneInversed(target, ownedBy) {
31
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
31
+ return new OneHasOneInverseDefinition({ target, ownedBy });
32
32
  }
33
- exports.OneHasOneInverseDefinitionImpl = OneHasOneInverseDefinitionImpl;
33
+ exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition;
34
34
  exports.oneHasOneInverse = oneHasOneInverse;
35
- exports.oneHasOneInversed = oneHasOneInversed;
36
35
  //# sourceMappingURL=OneHasOneInverseDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinitionImpl extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull(): Interface<OneHasOneInverseDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n}\n\nexport type OneHasOneInverseDefinition = Interface<OneHasOneInverseDefinitionImpl>\n/** @deprecated use OneHasOneInverseDefinition */\nexport type OneHasOneInversedDefinition = Interface<OneHasOneInverseDefinitionImpl>\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use oneHasOneInverse */\nexport function oneHasOneInversed(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,uCAAuCA,gBAAAA,gBAAmD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAiD;AACzC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AACD;AAMgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;AAGgB,SAAA,kBAAkB,QAA2B,SAA6C;AACzG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;;;;"}
1
+ {"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AACD;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,QAAS,CAAA;AAC1D;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class OneHasOneInverseDefinitionImpl extends FieldDefinition {
6
+ class OneHasOneInverseDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "OneHasOneInverseDefinition");
@@ -21,16 +21,15 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition {
21
21
  nullable: options.nullable === void 0 ? true : options.nullable
22
22
  };
23
23
  }
24
+ withOption(key, value) {
25
+ return new this.constructor({ ...this.options, [key]: value });
26
+ }
24
27
  }
25
28
  function oneHasOneInverse(target, ownedBy) {
26
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
27
- }
28
- function oneHasOneInversed(target, ownedBy) {
29
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
29
+ return new OneHasOneInverseDefinition({ target, ownedBy });
30
30
  }
31
31
  export {
32
- OneHasOneInverseDefinitionImpl,
33
- oneHasOneInverse,
34
- oneHasOneInversed
32
+ OneHasOneInverseDefinition,
33
+ oneHasOneInverse
35
34
  };
36
35
  //# sourceMappingURL=OneHasOneInverseDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinitionImpl extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull(): Interface<OneHasOneInverseDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n}\n\nexport type OneHasOneInverseDefinition = Interface<OneHasOneInverseDefinitionImpl>\n/** @deprecated use OneHasOneInverseDefinition */\nexport type OneHasOneInversedDefinition = Interface<OneHasOneInverseDefinitionImpl>\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use oneHasOneInverse */\nexport function oneHasOneInversed(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uCAAuC,gBAAmD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAiD;AACzC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AACD;AAMgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;AAGgB,SAAA,kBAAkB,QAA2B,SAA6C;AACzG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;"}
1
+ {"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AACD;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,QAAS,CAAA;AAC1D;"}
@@ -53,20 +53,18 @@ exports.jsonColumn = ColumnDefinition.jsonColumn;
53
53
  exports.stringColumn = ColumnDefinition.stringColumn;
54
54
  exports.uuidColumn = ColumnDefinition.uuidColumn;
55
55
  exports.FieldDefinition = FieldDefinition.FieldDefinition;
56
- exports.ManyHasManyDefinitionImpl = ManyHasManyDefinition.ManyHasManyDefinitionImpl;
56
+ exports.ManyHasManyDefinition = ManyHasManyDefinition.ManyHasManyDefinition;
57
57
  exports.manyHasMany = ManyHasManyDefinition.manyHasMany;
58
- exports.ManyHasManyInverseDefinitionImpl = ManyHasManyInverseDefinition.ManyHasManyInverseDefinitionImpl;
58
+ exports.ManyHasManyInverseDefinition = ManyHasManyInverseDefinition.ManyHasManyInverseDefinition;
59
59
  exports.manyHasManyInverse = ManyHasManyInverseDefinition.manyHasManyInverse;
60
- exports.manyHasManyInversed = ManyHasManyInverseDefinition.manyHasManyInversed;
61
- exports.ManyHasOneDefinitionImpl = ManyHasOneDefinition.ManyHasOneDefinitionImpl;
60
+ exports.ManyHasOneDefinition = ManyHasOneDefinition.ManyHasOneDefinition;
62
61
  exports.manyHasOne = ManyHasOneDefinition.manyHasOne;
63
- exports.OneHasManyDefinitionImpl = OneHasManyDefinition.OneHasManyDefinitionImpl;
62
+ exports.OneHasManyDefinition = OneHasManyDefinition.OneHasManyDefinition;
64
63
  exports.oneHasMany = OneHasManyDefinition.oneHasMany;
65
- exports.OneHasOneDefinitionImpl = OneHasOneDefinition.OneHasOneDefinitionImpl;
64
+ exports.OneHasOneDefinition = OneHasOneDefinition.OneHasOneDefinition;
66
65
  exports.oneHasOne = OneHasOneDefinition.oneHasOne;
67
- exports.OneHasOneInverseDefinitionImpl = OneHasOneInverseDefinition.OneHasOneInverseDefinitionImpl;
66
+ exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition.OneHasOneInverseDefinition;
68
67
  exports.oneHasOneInverse = OneHasOneInverseDefinition.oneHasOneInverse;
69
- exports.oneHasOneInversed = OneHasOneInverseDefinition.oneHasOneInversed;
70
68
  exports.DisableEventLog = EventLogDefinition.DisableEventLog;
71
69
  exports.Index = IndexDefinition.Index;
72
70
  exports.OrderBy = OrderByDefinition.OrderBy;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Interface } from './types'\nimport { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: Interface<FieldDefinition<any>> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAAC,UAAS,cAAc;AACtB,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAM,MAAA;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAAC,UAAS,cAAc;AACtB,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAM,MAAA;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}