@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
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,12 +7,12 @@ import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
7
7
  import { DefaultNamingConventions } from "@contember/schema-utils";
8
8
  import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
9
9
  import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
10
- import { ManyHasManyDefinitionImpl, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
11
- import { ManyHasManyInverseDefinitionImpl, manyHasManyInverse, manyHasManyInversed } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
12
- import { ManyHasOneDefinitionImpl, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
13
- import { OneHasManyDefinitionImpl, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
14
- import { OneHasOneDefinitionImpl, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
15
- import { OneHasOneInverseDefinitionImpl, oneHasOneInverse, oneHasOneInversed } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
10
+ import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
11
+ import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
12
+ import { ManyHasOneDefinition, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
13
+ import { OneHasManyDefinition, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
14
+ import { OneHasOneDefinition, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
15
+ import { OneHasOneInverseDefinition, oneHasOneInverse } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
16
16
  import { DisableEventLog } from "./EventLogDefinition.js";
17
17
  import { Index } from "./IndexDefinition.js";
18
18
  import { OrderBy } from "./OrderByDefinition.js";
@@ -45,13 +45,13 @@ export {
45
45
  EnumDefinition,
46
46
  FieldDefinition,
47
47
  Index,
48
- ManyHasManyDefinitionImpl,
49
- ManyHasManyInverseDefinitionImpl,
50
- ManyHasOneDefinitionImpl,
48
+ ManyHasManyDefinition,
49
+ ManyHasManyInverseDefinition,
50
+ ManyHasOneDefinition,
51
51
  OnDelete,
52
- OneHasManyDefinitionImpl,
53
- OneHasOneDefinitionImpl,
54
- OneHasOneInverseDefinitionImpl,
52
+ OneHasManyDefinition,
53
+ OneHasOneDefinition,
54
+ OneHasOneInverseDefinition,
55
55
  OrderBy,
56
56
  OrderDirection,
57
57
  Unique,
@@ -69,12 +69,10 @@ export {
69
69
  jsonColumn,
70
70
  manyHasMany,
71
71
  manyHasManyInverse,
72
- manyHasManyInversed,
73
72
  manyHasOne,
74
73
  oneHasMany,
75
74
  oneHasOne,
76
75
  oneHasOneInverse,
77
- oneHasOneInversed,
78
76
  stringColumn,
79
77
  uuidColumn
80
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5B,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAA,SAAS,cAAc;AACtB,SAAA;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
1
+ {"version":3,"file":"index.js","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5B,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAA,SAAS,cAAc;AACtB,SAAA;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","AclDefinition.createRole","AclDefinition.createConditionVariable","AclDefinition.createEntityVariable","AclDefinition.createPredefinedVariable","AclDefinition.canCreate","AclDefinition.canRead","AclDefinition.canUpdate","AclDefinition.canDelete","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","SchemaDefinition.Index","SchemaDefinition.Unique","SchemaDefinition.View","SchemaDefinition.DisableEventLog","SchemaDefinition.OrderBy","SchemaDefinition.column","SchemaDefinition.boolColumn","SchemaDefinition.intColumn","SchemaDefinition.doubleColumn","SchemaDefinition.dateColumn","SchemaDefinition.dateTimeColumn","SchemaDefinition.jsonColumn","SchemaDefinition.stringColumn","SchemaDefinition.enumColumn","SchemaDefinition.uuidColumn","SchemaDefinition.manyHasMany","SchemaDefinition.manyHasManyInverse","SchemaDefinition.manyHasOne","SchemaDefinition.oneHasOne","SchemaDefinition.oneHasOneInverse","SchemaDefinition.oneHasMany","SchemaDefinition.createEnum","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when","InputValidation.rules"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA,cAAc;AAAA,EAClC,OAAOC,YAAc;AAAA;AAAA,EAErB,YAAYC,MAAc;AAAA,EAC1B,yBAAyBC,UAAc;AAAA,EACvC,sBAAsBC,UAAc;AAAA,EACpC,0BAA0BC,UAAc;AAAA;AAAA,EAExC,WAAWC,WAAc;AAAA,EACzB,SAASC,WAAc;AAAA,EACvB,WAAWC,WAAc;AAAA,EACzB,WAAWC,WAAc;AAAA;AAAA;AAAA,EAKzB,OAAOC,SAAkB;AAAA,EACzB,SAASC,SAAkB;AAAA;AAAA,EAE3B,qBAAqBC,QAAkB;AAAA;AAAA;AAAA,EAKvC,cAAcC,WAAiB;AAAA,EAC/B,OAAOC,gBAAiB;AAAA,EACxB,QAAQC,iBAAiB;AAAA,EACzB,MAAMC,eAAiB;AAAA,EACvB,iBAAiBC,mBAAiB;AAAA,EAClC,SAASC,kBAAiB;AAAA;AAAA,EAE1B,QAAQC,iBAAiB;AAAA,EACzB,YAAYC,iBAAiB;AAAA,EAC7B,WAAWC,iBAAiB;AAAA,EAC5B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,gBAAgBC,iBAAiB;AAAA,EACjC,YAAYC,iBAAiB;AAAA,EAC7B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,YAAYC,iBAAiB;AAAA,EAC7B,aAAaC,sBAAiB;AAAA,EAC9B,oBAAoBC,6BAAiB;AAAA,EACrC,YAAYC,qBAAiB;AAAA,EAC7B,WAAWC,oBAAiB;AAAA,EAC5B,kBAAkBC,2BAAiB;AAAA,EACnC,YAAYC,qBAAiB;AAAA;AAAA,EAE7B,YAAYC,eAAiB;AAAA;AAAA;AAAA,EAK7B,QAAQC,QAAgB;AAAA,EACxB,UAAUC,QAAgB;AAAA,EAC1B,eAAeC,QAAgB;AAAA,EAC/B,gBAAgBC,QAAgB;AAAA,EAChC,eAAeC,QAAgB;AAAA,EAC/B,iBAAiBC,QAAgB;AAAA,EACjC,iBAAiBC,QAAgB;AAAA,EACjC,cAAcC,QAAgB;AAAA;AAAA,EAE9B,OAAOC,QAAgB;AAExB;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tFieldDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n\tOneHasManyDefinition,\n\tManyHasOneDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tEnumDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","AclDefinition.createRole","AclDefinition.createConditionVariable","AclDefinition.createEntityVariable","AclDefinition.createPredefinedVariable","AclDefinition.canCreate","AclDefinition.canRead","AclDefinition.canUpdate","AclDefinition.canDelete","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","SchemaDefinition.Index","SchemaDefinition.Unique","SchemaDefinition.View","SchemaDefinition.DisableEventLog","SchemaDefinition.OrderBy","SchemaDefinition.column","SchemaDefinition.boolColumn","SchemaDefinition.intColumn","SchemaDefinition.doubleColumn","SchemaDefinition.dateColumn","SchemaDefinition.dateTimeColumn","SchemaDefinition.jsonColumn","SchemaDefinition.stringColumn","SchemaDefinition.enumColumn","SchemaDefinition.uuidColumn","SchemaDefinition.manyHasMany","SchemaDefinition.manyHasManyInverse","SchemaDefinition.manyHasOne","SchemaDefinition.oneHasOne","SchemaDefinition.oneHasOneInverse","SchemaDefinition.oneHasMany","SchemaDefinition.createEnum","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when","InputValidation.rules"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA,cAAc;AAAA,EAClC,OAAOC,YAAc;AAAA;AAAA,EAErB,YAAYC,MAAc;AAAA,EAC1B,yBAAyBC,UAAc;AAAA,EACvC,sBAAsBC,UAAc;AAAA,EACpC,0BAA0BC,UAAc;AAAA;AAAA,EAExC,WAAWC,WAAc;AAAA,EACzB,SAASC,WAAc;AAAA,EACvB,WAAWC,WAAc;AAAA,EACzB,WAAWC,WAAc;AAAA;AAAA;AAAA,EAKzB,OAAOC,SAAkB;AAAA,EACzB,SAASC,SAAkB;AAAA;AAAA,EAE3B,qBAAqBC,QAAkB;AAAA;AAAA;AAAA,EAKvC,cAAcC,WAAiB;AAAA,EAC/B,OAAOC,gBAAiB;AAAA,EACxB,QAAQC,iBAAiB;AAAA,EACzB,MAAMC,eAAiB;AAAA,EACvB,iBAAiBC,mBAAiB;AAAA,EAClC,SAASC,kBAAiB;AAAA;AAAA,EAE1B,QAAQC,iBAAiB;AAAA,EACzB,YAAYC,iBAAiB;AAAA,EAC7B,WAAWC,iBAAiB;AAAA,EAC5B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,gBAAgBC,iBAAiB;AAAA,EACjC,YAAYC,iBAAiB;AAAA,EAC7B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,YAAYC,iBAAiB;AAAA,EAC7B,aAAaC,sBAAiB;AAAA,EAC9B,oBAAoBC,6BAAiB;AAAA,EACrC,YAAYC,qBAAiB;AAAA,EAC7B,WAAWC,oBAAiB;AAAA,EAC5B,kBAAkBC,2BAAiB;AAAA,EACnC,YAAYC,qBAAiB;AAAA;AAAA,EAE7B,YAAYC,eAAiB;AAAA;AAAA;AAAA,EAK7B,QAAQC,QAAgB;AAAA,EACxB,UAAUC,QAAgB;AAAA,EAC1B,eAAeC,QAAgB;AAAA,EAC/B,gBAAgBC,QAAgB;AAAA,EAChC,eAAeC,QAAgB;AAAA,EAC/B,iBAAiBC,QAAgB;AAAA,EACjC,iBAAiBC,QAAgB;AAAA,EACjC,cAAcC,QAAgB;AAAA;AAAA,EAE9B,OAAOC,QAAgB;AAExB;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA;AAAAA,EACpB,OAAOC;AAAAA;AAAAA,EAEP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAKA,OAAOC;AAAAA,EACP,SAASC;AAAAA;AAAAA,EAET,qBAAqBC;AAAAA;AAAAA;AAAAA,EAKrB,cAAcC;AAAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA,EAKA,QAAQC;AAAAA,EACR,UAAUC;AAAAA,EACV,eAAeC;AAAAA,EACf,gBAAgBC;AAAAA,EAChB,eAAeC;AAAAA,EACf,iBAAiBC;AAAAA,EACjB,iBAAiBC;AAAAA,EACjB,cAAcC;AAAAA;AAAAA,EAEd;AAED;"}
1
+ {"version":3,"file":"index.js","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tFieldDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n\tOneHasManyDefinition,\n\tManyHasOneDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tEnumDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA;AAAAA,EACpB,OAAOC;AAAAA;AAAAA,EAEP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAKA,OAAOC;AAAAA,EACP,SAASC;AAAAA;AAAAA,EAET,qBAAqBC;AAAAA;AAAAA;AAAAA,EAKrB,cAAcC;AAAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA,EAKA,QAAQC;AAAAA,EACR,UAAUC;AAAAA,EACV,eAAeC;AAAAA,EACf,gBAAgBC;AAAAA,EAChB,eAAeC;AAAAA,EACf,iBAAiBC;AAAAA,EACjB,iBAAiBC;AAAAA,EACjB,cAAcC;AAAAA;AAAAA,EAEd;AAED;"}
@@ -73,6 +73,9 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
73
73
  ...typeAlias !== void 0 ? { typeAlias } : {}
74
74
  };
75
75
  }
76
+ withOption(key, value) {
77
+ return new ColumnDefinition({ ...this.options, [key]: value });
78
+ }
76
79
  }
77
80
  function column(type, typeOptions = {}) {
78
81
  return ColumnDefinition.create(type, typeOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic nullable(): Interface<ColumnDefinition> {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): Interface<ColumnDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): Interface<ColumnDefinition> {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): Interface<ColumnDefinition> {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): Interface<ColumnDefinition> {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn() {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn() {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn() {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn() {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn() {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function dateTimeColumn() {\n\treturn column(Model.ColumnType.DateTime)\n}\n\nexport function jsonColumn() {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition) {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn() {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function dateTimeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.DateTime)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
@@ -71,6 +71,9 @@ class ColumnDefinition extends FieldDefinition {
71
71
  ...typeAlias !== void 0 ? { typeAlias } : {}
72
72
  };
73
73
  }
74
+ withOption(key, value) {
75
+ return new ColumnDefinition({ ...this.options, [key]: value });
76
+ }
74
77
  }
75
78
  function column(type, typeOptions = {}) {
76
79
  return ColumnDefinition.create(type, typeOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic nullable(): Interface<ColumnDefinition> {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): Interface<ColumnDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): Interface<ColumnDefinition> {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): Interface<ColumnDefinition> {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): Interface<ColumnDefinition> {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): Interface<ColumnDefinition> {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn() {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn() {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn() {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn() {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn() {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function dateTimeColumn() {\n\treturn column(Model.ColumnType.DateTime)\n}\n\nexport function jsonColumn() {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition) {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn() {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function dateTimeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.DateTime)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":[],"mappings":"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"}
@@ -4,9 +4,6 @@ class FieldDefinition {
4
4
  constructor(options) {
5
5
  this.options = options;
6
6
  }
7
- withOption(key, value) {
8
- return new this.constructor({ ...this.options, [key]: value });
9
- }
10
7
  }
11
8
  exports.FieldDefinition = FieldDefinition;
12
9
  //# sourceMappingURL=FieldDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {}\n\n\tprotected withOption<K extends keyof O>(this: any, key: K, value: O[K]): { [K in keyof this]: this[K] } {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":";;AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAAa;AAAA,EAE/B,WAAyC,KAAQ,OAA6C;AAChG,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AAGD;;"}
1
+ {"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":";;AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;;"}
@@ -2,9 +2,6 @@ class FieldDefinition {
2
2
  constructor(options) {
3
3
  this.options = options;
4
4
  }
5
- withOption(key, value) {
6
- return new this.constructor({ ...this.options, [key]: value });
7
- }
8
5
  }
9
6
  export {
10
7
  FieldDefinition
@@ -1 +1 @@
1
- {"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {}\n\n\tprotected withOption<K extends keyof O>(this: any, key: K, value: O[K]): { [K in keyof this]: this[K] } {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":"AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAAa;AAAA,EAE/B,WAAyC,KAAQ,OAA6C;AAChG,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AAGD;"}
1
+ {"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":"AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;"}
@@ -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 ManyHasManyDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class ManyHasManyDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "ManyHasManyDefinition");
@@ -45,10 +45,13 @@ class ManyHasManyDefinitionImpl extends FieldDefinition.FieldDefinition {
45
45
  ...options.orderBy ? { orderBy: options.orderBy } : {}
46
46
  };
47
47
  }
48
+ withOption(key, value) {
49
+ return new ManyHasManyDefinition({ ...this.options, [key]: value });
50
+ }
48
51
  }
49
52
  function manyHasMany(target, inversedBy) {
50
- return new ManyHasManyDefinitionImpl({ target, inversedBy });
53
+ return new ManyHasManyDefinition({ target, inversedBy });
51
54
  }
52
- exports.ManyHasManyDefinitionImpl = ManyHasManyDefinitionImpl;
55
+ exports.ManyHasManyDefinition = ManyHasManyDefinition;
53
56
  exports.manyHasMany = manyHasMany;
54
57
  //# sourceMappingURL=ManyHasManyDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyDefinition.cjs","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":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,kCAAkCA,gBAAAA,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,YAA8DC,OAAAA,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,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,MAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,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,MAAMA,OAAAA,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.cjs","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":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,8BAA8BA,gBAAAA,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,YAA8DC,OAAAA,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,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,MAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,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,MAAMA,OAAAA,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;;;"}
@@ -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 ManyHasManyDefinitionImpl extends FieldDefinition {
6
+ class ManyHasManyDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "ManyHasManyDefinition");
@@ -43,12 +43,15 @@ class ManyHasManyDefinitionImpl extends FieldDefinition {
43
43
  ...options.orderBy ? { orderBy: options.orderBy } : {}
44
44
  };
45
45
  }
46
+ withOption(key, value) {
47
+ return new ManyHasManyDefinition({ ...this.options, [key]: value });
48
+ }
46
49
  }
47
50
  function manyHasMany(target, inversedBy) {
48
- return new ManyHasManyDefinitionImpl({ target, inversedBy });
51
+ return new ManyHasManyDefinition({ target, inversedBy });
49
52
  }
50
53
  export {
51
- ManyHasManyDefinitionImpl,
54
+ ManyHasManyDefinition,
52
55
  manyHasMany
53
56
  };
54
57
  //# sourceMappingURL=ManyHasManyDefinition.js.map