@knapsack/spec-utils 4.94.12 → 4.94.13--canary.7817.cb7d99b.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-to-spec.d.ts","sourceRoot":"","sources":["../src/convert-to-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG;IACF,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,
|
|
1
|
+
{"version":3,"file":"convert-to-spec.d.ts","sourceRoot":"","sources":["../src/convert-to-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG;IACF,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAsOA"}
|
package/dist/convert-to-spec.js
CHANGED
|
@@ -70,16 +70,52 @@ export function convertToSpec({ typeInfo, trustRequiredProps, }) {
|
|
|
70
70
|
}
|
|
71
71
|
case 'union': {
|
|
72
72
|
const { items } = typeInfo;
|
|
73
|
+
// Filter out undefined/null items - these come from optional props (T | undefined)
|
|
74
|
+
// and shouldn't affect the type classification. Without this filter, unions like
|
|
75
|
+
// `"Left" | "Center" | undefined` fail the string-literal check and fall through
|
|
76
|
+
// to a plain text field instead of a select dropdown.
|
|
77
|
+
const filteredItems = items.filter((item) => !(item.type === 'misc' &&
|
|
78
|
+
(item.tsRawType === 'undefined' || item.tsRawType === 'null')));
|
|
79
|
+
// If after filtering we have a single item, unwrap to that type.
|
|
80
|
+
// This handles cases like `object | undefined` -> object editor.
|
|
81
|
+
if (filteredItems.length === 1) {
|
|
82
|
+
return convertToSpec({
|
|
83
|
+
typeInfo: filteredItems[0],
|
|
84
|
+
trustRequiredProps,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// If no items remain after filtering (edge case), fall through to default
|
|
88
|
+
if (filteredItems.length === 0) {
|
|
89
|
+
return {
|
|
90
|
+
isOptional,
|
|
91
|
+
prop: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// Handle boolean unions (e.g., `boolean | undefined` after filtering, or
|
|
97
|
+
// `true | false` literal unions). This renders as a checkbox.
|
|
98
|
+
const isUnionOfBooleans = filteredItems.every((item) => item.type === 'boolean' ||
|
|
99
|
+
(item.type === 'misc' &&
|
|
100
|
+
(item.tsRawType === 'true' || item.tsRawType === 'false')));
|
|
101
|
+
if (isUnionOfBooleans) {
|
|
102
|
+
return {
|
|
103
|
+
isOptional,
|
|
104
|
+
prop: {
|
|
105
|
+
type: 'boolean',
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
73
109
|
// Handle string literal unions
|
|
74
|
-
const isUnionOfStrings =
|
|
110
|
+
const isUnionOfStrings = filteredItems.every((item) => item.type === 'stringLiteral' || item.type === 'string');
|
|
75
111
|
// Handle number literal unions
|
|
76
|
-
const isUnionOfNumbers =
|
|
112
|
+
const isUnionOfNumbers = filteredItems.every((item) => item.type === 'numberLiteral' || item.type === 'number');
|
|
77
113
|
if (isUnionOfStrings) {
|
|
78
114
|
return {
|
|
79
115
|
isOptional,
|
|
80
116
|
prop: {
|
|
81
117
|
type: 'string',
|
|
82
|
-
enum:
|
|
118
|
+
enum: filteredItems
|
|
83
119
|
.filter((item) => item.type === 'stringLiteral')
|
|
84
120
|
.map((item) => item.value),
|
|
85
121
|
},
|
|
@@ -90,7 +126,7 @@ export function convertToSpec({ typeInfo, trustRequiredProps, }) {
|
|
|
90
126
|
isOptional,
|
|
91
127
|
prop: {
|
|
92
128
|
type: 'number',
|
|
93
|
-
enum:
|
|
129
|
+
enum: filteredItems
|
|
94
130
|
.filter((item) => item.type === 'numberLiteral')
|
|
95
131
|
.map((item) => item.value),
|
|
96
132
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-to-spec.js","sourceRoot":"","sources":["../src/convert-to-spec.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,kBAAkB,GAInB;IAIC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC;IAExC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;YAChC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,QAAQ;oBACR,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;wBACrD,MAAM,OAAO,GAAG,aAAa,CAAC;4BAC5B,QAAQ,EAAE,YAAY;4BACtB,kBAAkB;yBACnB,CAAC,CAAC;wBACH,IAAI,CAAC,OAAO,CAAC,IAAI;4BAAE,OAAO,GAAG,CAAC;wBAE9B,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC7B,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;4BACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;wBAChD,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,kBAAkB,EAAE,CAAC;4BAC9C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC1B,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC,EACD,EAA8B,CAC/B;iBACmB;aACvB,CAAC;QACJ,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;YAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;gBAC7B,QAAQ,EAAE,KAAK;gBACf,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,uFAAuF;oBACvF,KAAK,EACH,IAAI,IAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAwB;oBACnE,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;iBAC1D;aACF,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACM;aACvB,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACM;aACvB,CAAC;QACJ,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBACM;aACxB,CAAC;QACJ,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;YAE3B,+BAA+B;YAC/B,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"convert-to-spec.js","sourceRoot":"","sources":["../src/convert-to-spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knapsack/spec-utils",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "4.94.
|
|
4
|
+
"version": "4.94.13--canary.7817.cb7d99b.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"test": "vitest run"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@knapsack/utils": "4.94.
|
|
23
|
+
"@knapsack/utils": "4.94.13--canary.7817.cb7d99b.0",
|
|
24
24
|
"json-stable-stringify": "^1.3.0",
|
|
25
25
|
"quick-lru": "^7.3.0",
|
|
26
26
|
"typescript": "^5.9.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@knapsack/angular-sandbox-components": "4.94.
|
|
30
|
-
"@knapsack/eslint-config-starter": "4.94.
|
|
31
|
-
"@knapsack/file-utils": "4.94.
|
|
32
|
-
"@knapsack/prettier-config": "4.94.
|
|
33
|
-
"@knapsack/sandbox-components": "4.94.
|
|
34
|
-
"@knapsack/types": "4.94.
|
|
35
|
-
"@knapsack/typescript-config-starter": "4.94.
|
|
29
|
+
"@knapsack/angular-sandbox-components": "4.94.13--canary.7817.cb7d99b.0",
|
|
30
|
+
"@knapsack/eslint-config-starter": "4.94.13--canary.7817.cb7d99b.0",
|
|
31
|
+
"@knapsack/file-utils": "4.94.13--canary.7817.cb7d99b.0",
|
|
32
|
+
"@knapsack/prettier-config": "4.94.13--canary.7817.cb7d99b.0",
|
|
33
|
+
"@knapsack/sandbox-components": "4.94.13--canary.7817.cb7d99b.0",
|
|
34
|
+
"@knapsack/types": "4.94.13--canary.7817.cb7d99b.0",
|
|
35
|
+
"@knapsack/typescript-config-starter": "4.94.13--canary.7817.cb7d99b.0",
|
|
36
36
|
"@mui/material": "^5.18.0",
|
|
37
37
|
"@types/node": "^24.13.2",
|
|
38
38
|
"eslint": "^9.20.0",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"directory": "apps/client/libs/spec-utils",
|
|
48
48
|
"type": "git"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "cb7d99bd6b891f3bf13e9d2555630e34761c5174"
|
|
51
51
|
}
|