@rxap/schematic-angular 16.2.0-dev.14 → 16.2.0-dev.16

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 (135) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +1 -1
  3. package/package.json +8 -8
  4. package/src/lib/accordion-identifier.d.ts +4 -0
  5. package/src/lib/accordion-identifier.js.map +1 -1
  6. package/src/lib/accordion-item.d.ts +13 -6
  7. package/src/lib/accordion-item.js +19 -4
  8. package/src/lib/accordion-item.js.map +1 -1
  9. package/src/lib/coerce-accordion-component.js +1 -1
  10. package/src/lib/coerce-accordion-component.js.map +1 -1
  11. package/src/lib/coerce-accordion-item-table-component.js +1 -1
  12. package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
  13. package/src/lib/data-grid-options.d.ts +9 -1
  14. package/src/lib/data-grid-options.js +36 -6
  15. package/src/lib/data-grid-options.js.map +1 -1
  16. package/src/lib/form-control.d.ts +9 -3
  17. package/src/lib/form-control.js +19 -54
  18. package/src/lib/form-control.js.map +1 -1
  19. package/src/lib/merge-with-column-list.js +3 -1
  20. package/src/lib/merge-with-column-list.js.map +1 -1
  21. package/src/lib/minimum-table-component-options.js +2 -2
  22. package/src/lib/minimum-table-component-options.js.map +1 -1
  23. package/src/lib/pipe-option.js +0 -2
  24. package/src/lib/pipe-option.js.map +1 -1
  25. package/src/lib/table-column.d.ts +9 -5
  26. package/src/lib/table-column.js +36 -60
  27. package/src/lib/table-column.js.map +1 -1
  28. package/src/schema.json +2368 -0
  29. package/src/schematic-input.schema.json +607 -0
  30. package/src/schematics/accordion/accordion-component/index.d.ts +5 -2
  31. package/src/schematics/accordion/accordion-component/index.js +51 -25
  32. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  33. package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
  34. package/src/schematics/accordion/accordion-component/schema.json +183 -360
  35. package/src/schematics/accordion/accordion-component/template.schema.json +22 -25
  36. package/src/schematics/accordion/accordion-item-component/index.d.ts +7 -2
  37. package/src/schematics/accordion/accordion-item-component/index.js +70 -49
  38. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  39. package/src/schematics/accordion/accordion-item-component/schema.json +167 -336
  40. package/src/schematics/accordion/accordion-item-component/template.schema.json +8 -15
  41. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  42. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +21 -25
  43. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  44. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +331 -429
  45. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +9 -15
  46. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  47. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +14 -6
  48. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  49. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +174 -346
  50. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +6 -15
  51. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  52. package/src/schematics/accordion/item/accordion-item-table-component/index.js +11 -13
  53. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  54. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +453 -614
  55. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +9 -18
  56. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  57. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +37 -61
  58. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  59. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +431 -592
  60. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +10 -19
  61. package/src/schematics/accordion-identifier.schema.json +25 -0
  62. package/src/schematics/accordion-item.schema.json +24 -0
  63. package/src/schematics/angular.schema.json +11 -3
  64. package/src/schematics/button.schema.json +1 -1
  65. package/src/schematics/data-grid-component/index.d.ts +2 -3
  66. package/src/schematics/data-grid-component/index.js +42 -45
  67. package/src/schematics/data-grid-component/index.js.map +1 -1
  68. package/src/schematics/data-grid-component/schema.json +261 -375
  69. package/src/schematics/data-grid-component/template.schema.json +6 -15
  70. package/src/schematics/data-grid-item.schema.json +4 -1
  71. package/src/schematics/data-grid.schema.json +26 -4
  72. package/src/schematics/dialog-component/schema.json +72 -158
  73. package/src/schematics/dialog-component/template.schema.json +3 -6
  74. package/src/schematics/form/control/input-form-control/schema.json +108 -306
  75. package/src/schematics/form/control/input-form-control/template.schema.json +6 -9
  76. package/src/schematics/form/control/select-form-control/schema.json +120 -307
  77. package/src/schematics/form/control/select-form-control/template.schema.json +6 -9
  78. package/src/schematics/form/control/table-select-form-control/index.d.ts +7 -1
  79. package/src/schematics/form/control/table-select-form-control/index.js +195 -149
  80. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  81. package/src/schematics/form/control/table-select-form-control/schema.json +101 -296
  82. package/src/schematics/form/control/table-select-form-control/template.schema.json +11 -6
  83. package/src/schematics/form/form-component/index.d.ts +2 -0
  84. package/src/schematics/form/form-component/index.js +6 -4
  85. package/src/schematics/form/form-component/index.js.map +1 -1
  86. package/src/schematics/form/form-component/schema.d.ts +3 -1
  87. package/src/schematics/form/form-component/schema.json +176 -233
  88. package/src/schematics/form/form-component/template.schema.json +6 -9
  89. package/src/schematics/form/form-control/schema.json +68 -176
  90. package/src/schematics/form/form-control/template.schema.json +6 -9
  91. package/src/schematics/form/form-definition/schema.json +125 -230
  92. package/src/schematics/form/form-definition/template.schema.json +6 -9
  93. package/src/schematics/form-component.schema.json +9 -3
  94. package/src/schematics/form-definition.schema.json +3 -3
  95. package/src/schematics/general.schema.json +1 -4
  96. package/src/schematics/input-form-control.schema.json +11 -3
  97. package/src/schematics/minimum-table.schema.json +11 -5
  98. package/src/schematics/pipe.schema.json +1 -1
  99. package/src/schematics/select-form-control.schema.json +15 -4
  100. package/src/schematics/table/action/dialog-table-action/schema.json +150 -230
  101. package/src/schematics/table/action/dialog-table-action/template.schema.json +3 -6
  102. package/src/schematics/table/action/form-table-action/schema.json +317 -310
  103. package/src/schematics/table/action/form-table-action/template.schema.json +6 -6
  104. package/src/schematics/table/action/navigation-table-action/schema.json +150 -230
  105. package/src/schematics/table/action/navigation-table-action/template.schema.json +3 -6
  106. package/src/schematics/table/action/open-api-table-action/schema.json +150 -230
  107. package/src/schematics/table/action/open-api-table-action/template.schema.json +3 -6
  108. package/src/schematics/table/action/operation-table-action/schema.json +138 -218
  109. package/src/schematics/table/action/operation-table-action/template.schema.json +3 -6
  110. package/src/schematics/table/header-button/form-table-header-button/schema.json +217 -261
  111. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +6 -6
  112. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +131 -211
  113. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +3 -6
  114. package/src/schematics/table/table-action/schema.json +56 -139
  115. package/src/schematics/table/table-action/template.schema.json +6 -6
  116. package/src/schematics/table/table-component/index.d.ts +10 -2
  117. package/src/schematics/table/table-component/index.js +13 -1
  118. package/src/schematics/table/table-component/index.js.map +1 -1
  119. package/src/schematics/table/table-component/schema.json +352 -547
  120. package/src/schematics/table/table-component/template.schema.json +6 -18
  121. package/src/schematics/table/table-header-button/schema.json +56 -139
  122. package/src/schematics/table/table-header-button/template.schema.json +6 -6
  123. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +6 -0
  124. package/src/schematics/table/tree-table-component/index.d.ts +3 -0
  125. package/src/schematics/table/tree-table-component/index.js +11 -3
  126. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  127. package/src/schematics/table/tree-table-component/schema.json +352 -547
  128. package/src/schematics/table/tree-table-component/template.schema.json +6 -18
  129. package/src/schematics/table-column.schema.json +4 -1
  130. package/src/schematics/table.schema.json +4 -1
  131. package/src/schematics/tree-component/schema.json +70 -62
  132. package/src/schematics/tree-component/template.schema.json +7 -2
  133. package/src/schematics/tree-table.schema.json +3 -3
  134. package/src/schematics/value.schema.json +1 -1
  135. package/src/template.schema.json +173 -0
@@ -3,172 +3,7 @@
3
3
  "$id": "form-table-action-schematic",
4
4
  "allOf": [
5
5
  {
6
- "allOf": [
7
- {
8
- "allOf": [
9
- {
10
- "type": "object",
11
- "properties": {
12
- "project": {
13
- "type": "string",
14
- "description": "Project name where the files should be generated"
15
- },
16
- "feature": {
17
- "type": "string",
18
- "description": "Feature name where the files should be generated"
19
- },
20
- "overwrite": {
21
- "anyOf": [
22
- {
23
- "type": "boolean"
24
- },
25
- {
26
- "type": "array",
27
- "items": {
28
- "type": "string"
29
- }
30
- }
31
- ],
32
- "description": "Overwrite existing files",
33
- "default": false
34
- },
35
- "overwriteHtml": {
36
- "type": "boolean",
37
- "default": false
38
- },
39
- "replace": {
40
- "type": "boolean",
41
- "default": false
42
- }
43
- },
44
- "required": [
45
- "project"
46
- ]
47
- },
48
- {
49
- "type": "object",
50
- "properties": {
51
- "componentName": {
52
- "type": "string"
53
- },
54
- "name": {
55
- "type": "string"
56
- },
57
- "context": {
58
- "type": "string",
59
- "description": "The context use to generate proper names for class, files, etc"
60
- },
61
- "nestModule": {
62
- "type": "string",
63
- "description": "The module name for the table nest operations"
64
- },
65
- "controllerName": {
66
- "type": "string"
67
- },
68
- "backend": {
69
- "type": "string",
70
- "description": "The backend that should be used to handel data",
71
- "enum": [
72
- "none",
73
- "nestjs",
74
- "open-api",
75
- "local"
76
- ],
77
- "default": "none"
78
- },
79
- "directory": {
80
- "type": "string",
81
- "description": "A directory name or absolute path where the files should be generated. Relative to the project and feature base path if a feature is defined"
82
- },
83
- "shared": {
84
- "type": "boolean",
85
- "description": "Whether the generated code is used across the project",
86
- "default": false
87
- },
88
- "scope": {
89
- "type": "string"
90
- },
91
- "prefix": {
92
- "type": "string"
93
- },
94
- "openApi": {
95
- "type": "object",
96
- "additionalProperties": true
97
- }
98
- }
99
- }
100
- ]
101
- },
102
- {
103
- "type": "object",
104
- "properties": {
105
- "type": {
106
- "type": "string"
107
- },
108
- "refresh": {
109
- "type": "boolean"
110
- },
111
- "confirm": {
112
- "type": "boolean"
113
- },
114
- "tooltip": {
115
- "type": "string"
116
- },
117
- "errorMessage": {
118
- "type": "string"
119
- },
120
- "successMessage": {
121
- "type": "string"
122
- },
123
- "priority": {
124
- "type": "number"
125
- },
126
- "checkFunction": {
127
- "type": "string"
128
- },
129
- "inHeader": {
130
- "type": "boolean"
131
- },
132
- "role": {
133
- "type": "string"
134
- },
135
- "icon": {
136
- "type": "string"
137
- },
138
- "svgIcon": {
139
- "type": "string"
140
- },
141
- "permission": {
142
- "type": "string"
143
- },
144
- "color": {
145
- "type": "string",
146
- "description": "Value for the color input of the mat-button / mat-icon component"
147
- },
148
- "cssClass": {
149
- "type": "string",
150
- "description": "Additional CSS classes added to the button element"
151
- },
152
- "options": {
153
- "type": "object",
154
- "additionalProperties": true
155
- }
156
- },
157
- "required": [
158
- "type"
159
- ]
160
- },
161
- {
162
- "type": "object",
163
- "properties": {
164
- "tableName": {
165
- "alias": "table",
166
- "type": "string",
167
- "description": "The name of the table action"
168
- }
169
- }
170
- }
171
- ]
6
+ "$ref": "#/definitions/tableActionSchematic"
172
7
  },
173
8
  {
174
9
  "type": "object",
@@ -224,144 +59,259 @@
224
59
  }
225
60
  },
226
61
  "formOptions": {
227
- "allOf": [
228
- {
229
- "type": "object",
230
- "properties": {
231
- "controlList": {
232
- "alias": "control",
233
- "type": "array",
234
- "items": {
235
- "type": "object",
236
- "properties": {
237
- "name": {
238
- "type": "string",
239
- "description": "The name of the control"
240
- },
241
- "type": {
242
- "$ref": "#/definitions/type"
243
- },
244
- "isArray": {
245
- "type": "boolean",
246
- "description": "Whether the control value is an array",
247
- "default": false
248
- },
249
- "state": {
250
- "type": "string",
251
- "description": "The initial state of the control"
252
- },
253
- "isRequired": {
254
- "type": "boolean",
255
- "description": "Whether the control value is required",
256
- "default": false
257
- },
258
- "isReadonly": {
259
- "type": "boolean",
260
- "description": "Whether the control value is readonly",
261
- "default": false
262
- },
263
- "isDisabled": {
264
- "type": "boolean",
265
- "description": "Whether the control value is disabled",
266
- "default": false
267
- },
268
- "validatorList": {
269
- "type": "array",
270
- "items": {
271
- "type": "string"
272
- }
273
- },
274
- "kind": {
275
- "type": "string",
276
- "description": "The name of the template",
277
- "enum": [
278
- "default",
279
- "input",
280
- "select",
281
- "checkbox",
282
- "autocomplete-table-select",
283
- "table-select",
284
- "textarea",
285
- "slide-toggle"
286
- ],
287
- "default": "default"
288
- }
289
- },
290
- "required": [
291
- "name"
292
- ],
293
- "additionalProperties": true
294
- }
295
- }
296
- },
297
- "required": [
298
- "controlList"
299
- ]
300
- },
301
- {
302
- "type": "object",
303
- "properties": {
304
- "window": {
305
- "type": "boolean",
306
- "description": "Whether the form can be opened in a window"
307
- },
308
- "role": {
309
- "type": "string",
310
- "description": "Define the role of the form"
311
- },
312
- "matFormFieldDefaultOptions": {
313
- "appearance": {
314
- "type": "string",
315
- "description": "The appearance of the mat form field",
316
- "enum": [
317
- "legacy",
318
- "standard",
319
- "fill",
320
- "outline"
321
- ]
322
- }
323
- }
324
- }
325
- }
326
- ]
62
+ "$ref": "#/definitions/formComponent"
327
63
  }
328
64
  }
329
65
  }
330
66
  ],
331
67
  "definitions": {
332
- "type": {
333
- "oneOf": [
68
+ "formComponent": {
69
+ "allOf": [
334
70
  {
335
- "type": "string"
71
+ "$ref": "#/definitions/formDefinition"
72
+ },
73
+ {
74
+ "type": "object",
75
+ "properties": {
76
+ "window": {
77
+ "type": "boolean",
78
+ "description": "Whether the form can be opened in a window"
79
+ },
80
+ "role": {
81
+ "type": "string",
82
+ "description": "Define the role of the form"
83
+ },
84
+ "matFormFieldDefaultOptions": {
85
+ "appearance": {
86
+ "type": "string",
87
+ "description": "The appearance of the mat form field",
88
+ "enum": [
89
+ "legacy",
90
+ "standard",
91
+ "fill",
92
+ "outline"
93
+ ]
94
+ }
95
+ },
96
+ "identifier": {
97
+ "$ref": "#/definitions/accordionIdentifier"
98
+ }
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ "tableActionSchematic": {
104
+ "allOf": [
105
+ {
106
+ "$ref": "#/definitions/angular"
107
+ },
108
+ {
109
+ "$ref": "#/definitions/tableAction"
110
+ },
111
+ {
112
+ "type": "object",
113
+ "properties": {
114
+ "tableName": {
115
+ "alias": "table",
116
+ "type": "string",
117
+ "description": "The name of the table action"
118
+ }
119
+ }
120
+ }
121
+ ]
122
+ },
123
+ "accordionIdentifier": {
124
+ "type": "object",
125
+ "properties": {
126
+ "property": {
127
+ "$ref": "#/definitions/property"
128
+ },
129
+ "source": {
130
+ "type": "string",
131
+ "enum": [
132
+ "route"
133
+ ],
134
+ "default": "route"
135
+ }
136
+ },
137
+ "required": [
138
+ "property"
139
+ ]
140
+ },
141
+ "angular": {
142
+ "allOf": [
143
+ {
144
+ "$ref": "#/definitions/general"
336
145
  },
337
146
  {
338
147
  "type": "object",
339
148
  "properties": {
149
+ "componentName": {
150
+ "type": "string"
151
+ },
340
152
  "name": {
341
153
  "type": "string"
342
154
  },
343
- "isTypeOnly": {
344
- "type": "boolean"
155
+ "context": {
156
+ "type": "string",
157
+ "description": "The context use to generate proper names for class, files, etc"
345
158
  },
346
- "moduleSpecifier": {
347
- "type": "string"
159
+ "nestModule": {
160
+ "type": "string",
161
+ "description": "The module name for the table nest operations"
348
162
  },
349
- "namedImport": {
163
+ "controllerName": {
350
164
  "type": "string"
351
165
  },
352
- "namespaceImport": {
166
+ "backend": {
167
+ "$ref": "#/definitions/backend"
168
+ },
169
+ "directory": {
170
+ "type": "string",
171
+ "description": "A directory name or absolute path where the files should be generated. Relative to the project and feature base path if a feature is defined"
172
+ },
173
+ "shared": {
174
+ "type": "boolean",
175
+ "description": "Whether the generated code is used across the project",
176
+ "default": false
177
+ },
178
+ "scope": {
353
179
  "type": "string"
354
180
  },
355
- "defaultImport": {
181
+ "prefix": {
356
182
  "type": "string"
183
+ },
184
+ "openApi": {
185
+ "type": "object",
186
+ "additionalProperties": true
357
187
  }
358
- },
359
- "required": [
360
- "name"
361
- ]
188
+ }
362
189
  }
363
190
  ]
364
191
  },
192
+ "backend": {
193
+ "type": "string",
194
+ "description": "The backend that should be used to handel data",
195
+ "enum": [
196
+ "none",
197
+ "nestjs",
198
+ "open-api",
199
+ "local"
200
+ ],
201
+ "default": "none"
202
+ },
203
+ "formControl": {
204
+ "type": "object",
205
+ "properties": {
206
+ "name": {
207
+ "type": "string",
208
+ "description": "The name of the control"
209
+ },
210
+ "type": {
211
+ "$ref": "#/definitions/type"
212
+ },
213
+ "isArray": {
214
+ "type": "boolean",
215
+ "description": "Whether the control value is an array",
216
+ "default": false
217
+ },
218
+ "state": {
219
+ "type": "string",
220
+ "description": "The initial state of the control"
221
+ },
222
+ "isRequired": {
223
+ "type": "boolean",
224
+ "description": "Whether the control value is required",
225
+ "default": false
226
+ },
227
+ "isReadonly": {
228
+ "type": "boolean",
229
+ "description": "Whether the control value is readonly",
230
+ "default": false
231
+ },
232
+ "isDisabled": {
233
+ "type": "boolean",
234
+ "description": "Whether the control value is disabled",
235
+ "default": false
236
+ },
237
+ "validatorList": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "string"
241
+ }
242
+ },
243
+ "kind": {
244
+ "type": "string",
245
+ "description": "The name of the template",
246
+ "enum": [
247
+ "default",
248
+ "input",
249
+ "select",
250
+ "checkbox",
251
+ "autocomplete-table-select",
252
+ "table-select",
253
+ "textarea",
254
+ "slide-toggle"
255
+ ],
256
+ "default": "default"
257
+ }
258
+ },
259
+ "required": [
260
+ "name"
261
+ ],
262
+ "additionalProperties": true
263
+ },
264
+ "formDefinition": {
265
+ "type": "object",
266
+ "properties": {
267
+ "controlList": {
268
+ "alias": "control",
269
+ "type": "array",
270
+ "items": {
271
+ "$ref": "#/definitions/formControl"
272
+ }
273
+ }
274
+ },
275
+ "required": [
276
+ "controlList"
277
+ ]
278
+ },
279
+ "general": {
280
+ "type": "object",
281
+ "properties": {
282
+ "project": {
283
+ "type": "string",
284
+ "description": "Project name where the files should be generated"
285
+ },
286
+ "feature": {
287
+ "type": "string",
288
+ "description": "Feature name where the files should be generated"
289
+ },
290
+ "overwrite": {
291
+ "anyOf": [
292
+ {
293
+ "type": "boolean"
294
+ },
295
+ {
296
+ "type": "array",
297
+ "items": {
298
+ "type": "string"
299
+ }
300
+ }
301
+ ],
302
+ "description": "Overwrite existing files",
303
+ "default": false
304
+ },
305
+ "overwriteHtml": {
306
+ "type": "boolean",
307
+ "default": false
308
+ },
309
+ "replace": {
310
+ "type": "boolean",
311
+ "default": false
312
+ }
313
+ }
314
+ },
365
315
  "property": {
366
316
  "oneOf": [
367
317
  {
@@ -384,42 +334,99 @@
384
334
  "name"
385
335
  ]
386
336
  }
387
- ],
388
- "definitions": {
337
+ ]
338
+ },
339
+ "tableAction": {
340
+ "type": "object",
341
+ "properties": {
389
342
  "type": {
390
- "oneOf": [
391
- {
343
+ "type": "string"
344
+ },
345
+ "refresh": {
346
+ "type": "boolean"
347
+ },
348
+ "confirm": {
349
+ "type": "boolean"
350
+ },
351
+ "tooltip": {
352
+ "type": "string"
353
+ },
354
+ "errorMessage": {
355
+ "type": "string"
356
+ },
357
+ "successMessage": {
358
+ "type": "string"
359
+ },
360
+ "priority": {
361
+ "type": "number"
362
+ },
363
+ "checkFunction": {
364
+ "type": "string"
365
+ },
366
+ "inHeader": {
367
+ "type": "boolean"
368
+ },
369
+ "role": {
370
+ "type": "string"
371
+ },
372
+ "icon": {
373
+ "type": "string"
374
+ },
375
+ "svgIcon": {
376
+ "type": "string"
377
+ },
378
+ "permission": {
379
+ "type": "string"
380
+ },
381
+ "color": {
382
+ "type": "string",
383
+ "description": "Value for the color input of the mat-button / mat-icon component"
384
+ },
385
+ "cssClass": {
386
+ "type": "string",
387
+ "description": "Additional CSS classes added to the button element"
388
+ },
389
+ "options": {
390
+ "type": "object",
391
+ "additionalProperties": true
392
+ }
393
+ },
394
+ "required": [
395
+ "type"
396
+ ]
397
+ },
398
+ "type": {
399
+ "oneOf": [
400
+ {
401
+ "type": "string"
402
+ },
403
+ {
404
+ "type": "object",
405
+ "properties": {
406
+ "name": {
392
407
  "type": "string"
393
408
  },
394
- {
395
- "type": "object",
396
- "properties": {
397
- "name": {
398
- "type": "string"
399
- },
400
- "isTypeOnly": {
401
- "type": "boolean"
402
- },
403
- "moduleSpecifier": {
404
- "type": "string"
405
- },
406
- "namedImport": {
407
- "type": "string"
408
- },
409
- "namespaceImport": {
410
- "type": "string"
411
- },
412
- "defaultImport": {
413
- "type": "string"
414
- }
415
- },
416
- "required": [
417
- "name"
418
- ]
409
+ "isTypeOnly": {
410
+ "type": "boolean"
411
+ },
412
+ "moduleSpecifier": {
413
+ "type": "string"
414
+ },
415
+ "namedImport": {
416
+ "type": "string"
417
+ },
418
+ "namespaceImport": {
419
+ "type": "string"
420
+ },
421
+ "defaultImport": {
422
+ "type": "string"
419
423
  }
424
+ },
425
+ "required": [
426
+ "name"
420
427
  ]
421
428
  }
422
- }
429
+ ]
423
430
  }
424
431
  }
425
432
  }