@nuxodin/item 0.6.8 → 0.6.9
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.
package/package.json
CHANGED
|
@@ -13,7 +13,12 @@ const capacity = {
|
|
|
13
13
|
maxLength: (need, have) => have >= need,
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
const structural = ['
|
|
16
|
+
const structural = ['contentEncoding', 'x-index', 'default']
|
|
17
|
+
|
|
18
|
+
// Only these three formats become a column type in any dialect. `email`, `uri` and the rest are
|
|
19
|
+
// the application's business — a column cannot carry them, so they can never need DDL.
|
|
20
|
+
const temporal = new Set(['date', 'time', 'date-time'])
|
|
21
|
+
const columnFormat = (prop) => temporal.has(prop.format) ? prop.format : undefined
|
|
17
22
|
|
|
18
23
|
/** @param dialectStructural properties this dialect renders too, e.g. 'multipleOf' on MySQL. */
|
|
19
24
|
export function fieldNeedsDdl(next, curr, dialectStructural = []) {
|
|
@@ -23,6 +28,7 @@ export function fieldNeedsDdl(next, curr, dialectStructural = []) {
|
|
|
23
28
|
if (need !== undefined && have !== undefined && !holds(need, have)) return true
|
|
24
29
|
}
|
|
25
30
|
if (schemaType(next) !== schemaType(curr)) return true
|
|
31
|
+
if (columnFormat(next) !== columnFormat(curr)) return true
|
|
26
32
|
if (!!next['x-autoincrement'] !== !!curr['x-autoincrement']) return true
|
|
27
33
|
return [...structural, ...dialectStructural].some(prop => next[prop] !== curr[prop])
|
|
28
34
|
}
|