@contember/schema-definition 2.0.0 → 2.1.0-alpha.1

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 (42) hide show
  1. package/dist/development/index.cjs +1 -0
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +2 -1
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
  6. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  7. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
  8. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  9. package/dist/development/src/model/definition/index.cjs +1 -0
  10. package/dist/development/src/model/definition/index.cjs.map +1 -1
  11. package/dist/development/src/model/definition/index.js +2 -1
  12. package/dist/development/src/presets.cjs +10 -1
  13. package/dist/development/src/presets.cjs.map +1 -1
  14. package/dist/development/src/presets.js +10 -1
  15. package/dist/development/src/presets.js.map +1 -1
  16. package/dist/production/index.cjs +1 -0
  17. package/dist/production/index.cjs.map +1 -1
  18. package/dist/production/index.js +2 -1
  19. package/dist/production/index.js.map +1 -1
  20. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
  21. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  22. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
  23. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  24. package/dist/production/src/model/definition/index.cjs +1 -0
  25. package/dist/production/src/model/definition/index.cjs.map +1 -1
  26. package/dist/production/src/model/definition/index.js +2 -1
  27. package/dist/production/src/presets.cjs +10 -1
  28. package/dist/production/src/presets.cjs.map +1 -1
  29. package/dist/production/src/presets.js +10 -1
  30. package/dist/production/src/presets.js.map +1 -1
  31. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  32. package/dist/types/index.d.ts +1 -0
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +3 -0
  35. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  36. package/dist/types/presets.d.ts +2 -0
  37. package/dist/types/presets.d.ts.map +1 -1
  38. package/dist/types/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +3 -3
  40. package/src/index.ts +1 -0
  41. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +11 -1
  42. package/src/presets.ts +12 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/schema-definition",
3
- "version": "2.0.0",
3
+ "version": "2.1.0-alpha.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/production/index.js",
6
6
  "typings": "./dist/types/index.d.ts",
@@ -23,8 +23,8 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@contember/schema": "2.0.0",
27
- "@contember/schema-utils": "2.0.0",
26
+ "@contember/schema": "2.1.0-alpha.1",
27
+ "@contember/schema-utils": "2.1.0-alpha.1",
28
28
  "reflect-metadata": "^0.2.2",
29
29
  "fast-deep-equal": "^3.1.3"
30
30
  },
package/src/index.ts CHANGED
@@ -66,6 +66,7 @@ export const c = {
66
66
  intColumn: SchemaDefinition.intColumn,
67
67
  doubleColumn: SchemaDefinition.doubleColumn,
68
68
  dateColumn: SchemaDefinition.dateColumn,
69
+ timeColumn: SchemaDefinition.timeColumn,
69
70
  dateTimeColumn: SchemaDefinition.dateTimeColumn,
70
71
  jsonColumn: SchemaDefinition.jsonColumn,
71
72
  stringColumn: SchemaDefinition.stringColumn,
@@ -26,6 +26,10 @@ export class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {
26
26
  return this.withOption('columnType', columnType)
27
27
  }
28
28
 
29
+ public list(): ColumnDefinition {
30
+ return this.withOption('list', true)
31
+ }
32
+
29
33
  public nullable(): ColumnDefinition {
30
34
  return this.withOption('nullable', true)
31
35
  }
@@ -51,11 +55,12 @@ export class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {
51
55
  }
52
56
 
53
57
  createField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {
54
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options
58
+ const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options
55
59
  const common = {
56
60
  name: name,
57
61
  columnName: columnName || conventions.getColumnName(name),
58
62
  nullable: nullable === undefined ? true : nullable,
63
+ ...(list ? { list } : {}),
59
64
  ...(defaultValue !== undefined ? { default: defaultValue } : {}),
60
65
  ...(sequence !== undefined ? { sequence } : {}),
61
66
  }
@@ -113,6 +118,10 @@ export function dateColumn(): ColumnDefinition {
113
118
  return column(Model.ColumnType.Date)
114
119
  }
115
120
 
121
+ export function timeColumn(): ColumnDefinition {
122
+ return column(Model.ColumnType.Time)
123
+ }
124
+
116
125
  export function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {
117
126
  const col = column(Model.ColumnType.DateTime)
118
127
  if (!args?.precision) {
@@ -139,6 +148,7 @@ export type ColumnTypeOptions = {
139
148
  export type ColumnDefinitionOptions = {
140
149
  type: Model.ColumnType
141
150
  columnType?: string
151
+ list?: boolean
142
152
  typeAlias?: string
143
153
  columnName?: string
144
154
  unique?: { timing?: Model.ConstraintTiming }
package/src/presets.ts CHANGED
@@ -29,8 +29,20 @@ const v2_0preset: Settings.Schema = {
29
29
  },
30
30
  }
31
31
 
32
+
33
+ const v2_1preset: Settings.Schema = {
34
+ ...v2_0preset,
35
+ content: {
36
+ ...v2_0preset.content,
37
+ uuidVersion: 7,
38
+ },
39
+ }
40
+
32
41
  export const settingsPresets = {
33
42
  'v1.3': v1_3preset,
34
43
  'v1.4': v1_4preset,
35
44
  'v2.0': v2_0preset,
45
+ 'v2.1': v2_1preset,
46
+
47
+ 'latest': v2_1preset,
36
48
  }