devextreme-internal-tools 10.0.0-beta.9 → 12.0.0-beta.10
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/Readme.md +1 -1
- package/bin/DevExtreme.Declarations.Discoverer.dll +0 -0
- package/bin/DevExtreme.Declarations.Discoverer.exe +0 -0
- package/bin/DevExtreme.Declarations.IntegrityValidator.dll +0 -0
- package/bin/DevExtreme.Declarations.IntegrityValidator.exe +0 -0
- package/bin/DevExtreme.Declarations.dll +0 -0
- package/bin/DevExtreme.Descriptions.Injector.dll +0 -0
- package/bin/DevExtreme.Descriptions.Injector.exe +0 -0
- package/bin/DevExtreme.Infrastructure.dll +0 -0
- package/bin/DevExtreme.IntegrationDataGenerator.dll +0 -0
- package/bin/DevExtreme.IntegrationDataGenerator.exe +0 -0
- package/bin/DevExtreme.NgSmdGenerator.dll +0 -0
- package/bin/DevExtreme.NgSmdGenerator.exe +0 -0
- package/bin/DevExtreme.SmdCommon.dll +0 -0
- package/bin/DevExtreme.StrongMetaDataGenerator.dll +0 -0
- package/bin/DevExtreme.StrongMetaDataGenerator.exe +0 -0
- package/bin/DevExtreme.Topics.ExtraFilesGenerator.dll +0 -0
- package/bin/DevExtreme.Topics.ExtraFilesGenerator.exe +0 -0
- package/bin/DevExtreme.Topics.Generator.dll +0 -0
- package/bin/DevExtreme.Topics.Generator.exe +0 -0
- package/bin/DevExtreme.Topics.ModulesGuideValidator.dll +0 -0
- package/bin/DevExtreme.Topics.ModulesGuideValidator.exe +0 -0
- package/bin/DevExtreme.Topics.Validation.dll +0 -0
- package/bin/DevExtreme.Topics.Validation.exe +0 -0
- package/bin/DevExtreme.Topics.dll +0 -0
- package/bin/DevExtreme.WebSite.ContentMapCreator.dll +0 -0
- package/bin/DevExtreme.WebSite.ContentMapCreator.exe +0 -0
- package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
- package/bin/DevExtreme.WebSite.LinksConverter.exe +0 -0
- package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
- package/bin/DevExtreme.WebSite.SyntaxDataGenerator.exe +0 -0
- package/bin/Enums_23_2.json +538 -0
- package/bin/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- package/bin/Microsoft.Extensions.DependencyInjection.dll +0 -0
- package/bin/NLog.dll +0 -0
- package/bin/Newtonsoft.Json.dll +0 -0
- package/bin/System.IO.Abstractions.dll +0 -0
- package/cli.d.ts +2 -0
- package/cli.js +50 -0
- package/cli.js.map +1 -0
- package/index.d.ts +9 -0
- package/index.js +18 -54
- package/index.js.map +1 -1
- package/integration-data-model.d.ts +76 -0
- package/integration-data-model.js +3 -0
- package/integration-data-model.js.map +1 -0
- package/package.json +29 -30
- package/ts/angular-components-generator/common-reexports-generator.d.ts +4 -0
- package/ts/angular-components-generator/common-reexports-generator.js +38 -0
- package/ts/angular-components-generator/common-reexports-generator.js.map +1 -0
- package/ts/angular-components-generator/component-names-generator.d.ts +8 -0
- package/ts/angular-components-generator/component-names-generator.js +31 -0
- package/ts/angular-components-generator/component-names-generator.js.map +1 -0
- package/ts/angular-components-generator/dot-generator.d.ts +8 -0
- package/ts/angular-components-generator/dot-generator.js +84 -0
- package/ts/angular-components-generator/dot-generator.js.map +1 -0
- package/ts/angular-components-generator/facade-generator.d.ts +4 -0
- package/ts/angular-components-generator/facade-generator.js +50 -0
- package/ts/angular-components-generator/facade-generator.js.map +1 -0
- package/ts/angular-components-generator/helpers.d.ts +2 -0
- package/ts/angular-components-generator/helpers.js +12 -0
- package/ts/angular-components-generator/helpers.js.map +1 -0
- package/ts/angular-components-generator/import-helper.d.ts +6 -0
- package/ts/angular-components-generator/import-helper.js +73 -0
- package/ts/angular-components-generator/import-helper.js.map +1 -0
- package/ts/angular-components-generator/logger.d.ts +1 -0
- package/ts/angular-components-generator/logger.js +16 -0
- package/ts/angular-components-generator/logger.js.map +1 -0
- package/ts/angular-components-generator/metadata-generator.d.ts +27 -0
- package/ts/angular-components-generator/metadata-generator.js +490 -0
- package/ts/angular-components-generator/metadata-generator.js.map +1 -0
- package/ts/angular-components-generator/metadata-model.d.ts +48 -0
- package/ts/angular-components-generator/metadata-model.js +3 -0
- package/ts/angular-components-generator/metadata-model.js.map +1 -0
- package/ts/angular-components-generator/module-facade-generator.d.ts +5 -0
- package/ts/angular-components-generator/module-facade-generator.js +50 -0
- package/ts/angular-components-generator/module-facade-generator.js.map +1 -0
- package/ts/angular-components-generator/templates/base-nested-component.tst +20 -0
- package/ts/angular-components-generator/templates/component.tst +253 -0
- package/ts/angular-components-generator/templates/nested-component.tst +140 -0
- package/ts/bundler/bundler.d.ts +6 -0
- package/ts/bundler/bundler.js +43 -45
- package/ts/bundler/bundler.js.map +1 -1
- package/ts/collapser/collapser.d.ts +4 -0
- package/ts/collapser/collapser.js +53 -49
- package/ts/collapser/collapser.js.map +1 -1
- package/ts/common/common-resolving.d.ts +11 -0
- package/ts/common/common-resolving.js +7 -7
- package/ts/common/common-resolving.js.map +1 -1
- package/ts/common/id.d.ts +12 -0
- package/ts/common/id.js +28 -21
- package/ts/common/id.js.map +1 -1
- package/ts/common/tags/comparing.d.ts +3 -0
- package/ts/common/tags/generating.d.ts +4 -0
- package/ts/common/tags/generating.js +16 -12
- package/ts/common/tags/generating.js.map +1 -1
- package/ts/common/tags/merging.d.ts +12 -0
- package/ts/common/tags/merging.js +14 -14
- package/ts/common/tags/merging.js.map +1 -1
- package/ts/common/tags/parameter-field-tag.d.ts +7 -0
- package/ts/common/tags/parameter-field-tag.js +2 -2
- package/ts/common/tags/parameter-field-tag.js.map +1 -1
- package/ts/common/tags.d.ts +12 -0
- package/ts/common/tags.js +26 -22
- package/ts/common/tags.js.map +1 -1
- package/ts/common/ts-type-resolving.d.ts +16 -0
- package/ts/common/ts-type-resolving.js +90 -90
- package/ts/common/ts-type-resolving.js.map +1 -1
- package/ts/common/ts-utils.d.ts +35 -0
- package/ts/common/ts-utils.js +59 -31
- package/ts/common/ts-utils.js.map +1 -1
- package/ts/common/type-resolving.d.ts +42 -0
- package/ts/common/type-resolving.js +52 -52
- package/ts/common/type-resolving.js.map +1 -1
- package/ts/common/utils.d.ts +22 -0
- package/ts/common/utils.js +16 -8
- package/ts/common/utils.js.map +1 -1
- package/ts/component-exports-generator/generator.d.ts +3 -0
- package/ts/component-exports-generator/generator.js +16 -16
- package/ts/component-exports-generator/generator.js.map +1 -1
- package/ts/components-generation/common-reexports-generator.d.ts +6 -0
- package/ts/components-generation/common-reexports-generator.js +27 -0
- package/ts/components-generation/common-reexports-generator.js.map +1 -0
- package/ts/components-generation/reexports-generator.d.ts +10 -0
- package/ts/components-generation/reexports-generator.js +18 -0
- package/ts/components-generation/reexports-generator.js.map +1 -0
- package/ts/components-generation/template.d.ts +22 -0
- package/ts/components-generation/template.js +57 -0
- package/ts/components-generation/template.js.map +1 -0
- package/ts/discoverer/data-model.d.ts +105 -0
- package/ts/discoverer/discovering-error.d.ts +4 -0
- package/ts/discoverer/discovering-error.js +2 -4
- package/ts/discoverer/discovering-error.js.map +1 -1
- package/ts/discoverer/discovering.d.ts +4 -0
- package/ts/discoverer/discovering.js +7 -7
- package/ts/discoverer/discovering.js.map +1 -1
- package/ts/discoverer/parsing/enum-collecting.d.ts +6 -0
- package/ts/discoverer/parsing/enum-collecting.js +20 -18
- package/ts/discoverer/parsing/enum-collecting.js.map +1 -1
- package/ts/discoverer/parsing/file-reader.d.ts +2 -0
- package/ts/discoverer/parsing/file-reader.js +8 -2
- package/ts/discoverer/parsing/file-reader.js.map +1 -1
- package/ts/discoverer/parsing/widget-parsing.d.ts +11 -0
- package/ts/discoverer/parsing/widget-parsing.js +83 -0
- package/ts/discoverer/parsing/widget-parsing.js.map +1 -0
- package/ts/discoverer/parsing.d.ts +29 -0
- package/ts/discoverer/parsing.js +76 -112
- package/ts/discoverer/parsing.js.map +1 -1
- package/ts/discoverer/types.d.ts +20 -0
- package/ts/logging.d.ts +16 -0
- package/ts/logging.js +15 -15
- package/ts/logging.js.map +1 -1
- package/ts/modules-meta-generator/modules-meta-generator.d.ts +3 -0
- package/ts/modules-meta-generator/modules-meta-generator.js +9 -10
- package/ts/modules-meta-generator/modules-meta-generator.js.map +1 -1
- package/ts/react-components-generator/component-generator.d.ts +62 -0
- package/ts/react-components-generator/component-generator.js +412 -0
- package/ts/react-components-generator/component-generator.js.map +1 -0
- package/ts/react-components-generator/converter.d.ts +3 -0
- package/ts/react-components-generator/converter.js +59 -0
- package/ts/react-components-generator/converter.js.map +1 -0
- package/ts/react-components-generator/generator.d.ts +60 -0
- package/ts/react-components-generator/generator.js +382 -0
- package/ts/react-components-generator/generator.js.map +1 -0
- package/ts/react-components-generator/helpers.d.ts +11 -0
- package/ts/react-components-generator/helpers.js +53 -0
- package/ts/react-components-generator/helpers.js.map +1 -0
- package/ts/react-components-generator/import-overrides.json +108 -0
- package/ts/react-components-generator/index-generator.d.ts +3 -0
- package/ts/react-components-generator/index-generator.js +22 -0
- package/ts/react-components-generator/index-generator.js.map +1 -0
- package/ts/scripts/args.d.ts +37 -0
- package/ts/scripts/args.js +28 -21
- package/ts/scripts/args.js.map +1 -1
- package/ts/scripts/helpers.d.ts +10 -0
- package/ts/scripts/helpers.js +12 -12
- package/ts/scripts/helpers.js.map +1 -1
- package/ts/scripts/tools.d.ts +17 -0
- package/ts/scripts/tools.js +46 -39
- package/ts/scripts/tools.js.map +1 -1
- package/ts/vue-components-generator/component-generator.d.ts +40 -0
- package/ts/vue-components-generator/component-generator.js +197 -0
- package/ts/vue-components-generator/component-generator.js.map +1 -0
- package/ts/vue-components-generator/converter.d.ts +3 -0
- package/ts/vue-components-generator/converter.js +45 -0
- package/ts/vue-components-generator/converter.js.map +1 -0
- package/ts/vue-components-generator/generator.d.ts +11 -0
- package/ts/vue-components-generator/generator.js +120 -0
- package/ts/vue-components-generator/generator.js.map +1 -0
- package/ts/vue-components-generator/helpers.d.ts +6 -0
- package/ts/vue-components-generator/helpers.js +30 -0
- package/ts/vue-components-generator/helpers.js.map +1 -0
- package/bin/integration-data-model.ts +0 -86
- package/bin/internal-tools-log.txt +0 -19
- package/integration-data-model.ts +0 -86
- package/ts/discoverer/parsing/file-reader.tests.js +0 -24
- package/ts/discoverer/parsing/file-reader.tests.js.map +0 -1
@@ -0,0 +1,197 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
+
exports.renderProps = exports.USE_SYNC_TEMPLATES = void 0;
|
15
|
+
var helpers_1 = require("./helpers");
|
16
|
+
var template_1 = require("../components-generation/template");
|
17
|
+
exports.USE_SYNC_TEMPLATES = new Set([
|
18
|
+
'DxScheduler',
|
19
|
+
'DxDataGrid',
|
20
|
+
'DxTreeList',
|
21
|
+
]);
|
22
|
+
function generate(component, widgetsPackage, vueVersion, renderReexports) {
|
23
|
+
if (widgetsPackage === void 0) { widgetsPackage = 'devextreme'; }
|
24
|
+
if (vueVersion === void 0) { vueVersion = 3; }
|
25
|
+
if (renderReexports === void 0) { renderReexports = false; }
|
26
|
+
var nestedComponents = component.nestedComponents
|
27
|
+
? component.nestedComponents.map(createNestedComponentModel)
|
28
|
+
: undefined;
|
29
|
+
var namedExports = [component.name];
|
30
|
+
var namedImports = [
|
31
|
+
component.baseComponent,
|
32
|
+
];
|
33
|
+
if (nestedComponents && nestedComponents.length) {
|
34
|
+
namedExports.push.apply(namedExports, nestedComponents.map(function (c) { return c.name; }));
|
35
|
+
namedImports.push(component.configComponent);
|
36
|
+
}
|
37
|
+
namedImports.sort(compareImports);
|
38
|
+
var componentModel = __assign(__assign({}, component), { namedImports: namedImports, widgetImport: component.widgetComponent, component: component.name, baseComponent: component.baseComponent.name, configComponent: component.configComponent.name, renderedProps: component.props
|
39
|
+
? renderProps(component.props)
|
40
|
+
: undefined, nestedComponents: nestedComponents, defaultExport: component.name, namedExports: namedExports, expectedChildren: formatExpectedChildren(component.expectedChildren), widgetsPackage: widgetsPackage, templatesRenderAsynchronously: !exports.USE_SYNC_TEMPLATES.has(component.name), isVue3: vueVersion === 3, renderReexports: renderReexports && component.containsReexports });
|
41
|
+
return renderComponent(componentModel);
|
42
|
+
}
|
43
|
+
function createNestedComponentModel(component) {
|
44
|
+
var predefinedProps;
|
45
|
+
if (component.predefinedProps) {
|
46
|
+
predefinedProps = Object.keys(component.predefinedProps).map(function (name) { return ({
|
47
|
+
name: name,
|
48
|
+
value: component.predefinedProps && component.predefinedProps[name],
|
49
|
+
}); });
|
50
|
+
}
|
51
|
+
return {
|
52
|
+
name: component.name,
|
53
|
+
optionName: component.optionName,
|
54
|
+
renderedProps: component.props
|
55
|
+
? renderProps(component.props)
|
56
|
+
: undefined,
|
57
|
+
props: component.props ? getPropsList(component.props) : undefined,
|
58
|
+
isCollectionItem: component.isCollectionItem,
|
59
|
+
expectedChildren: formatExpectedChildren(component.expectedChildren),
|
60
|
+
predefinedProps: predefinedProps,
|
61
|
+
};
|
62
|
+
}
|
63
|
+
function formatExpectedChildren(dict) {
|
64
|
+
if (!dict) {
|
65
|
+
return undefined;
|
66
|
+
}
|
67
|
+
return Object.keys(dict).map(function (name) { return ({
|
68
|
+
name: name,
|
69
|
+
isCollectionItem: dict[name].isCollectionItem,
|
70
|
+
optionName: dict[name].optionName,
|
71
|
+
}); });
|
72
|
+
}
|
73
|
+
var renderComponent = (0, template_1.createTemplate)("".concat('<#? it.hasExplicitTypes #>'
|
74
|
+
+ 'export { ExplicitTypes } from "<#= it.widgetsPackage #>/<#= it.widgetImport.path #>";\n'
|
75
|
+
+ '<#?#>'
|
76
|
+
+ 'import <#= it.widgetImport.name #><#? it.props #>, { Properties }<#?#> from "<#= it.widgetsPackage #>/<#= it.widgetImport.path #>";\n'
|
77
|
+
+ '<#~ it.namedImports :namedImport #>'
|
78
|
+
+ 'import { <#= namedImport.name #> } from "<#= namedImport.path #>";\n'
|
79
|
+
+ '<#~#>' + '\n'
|
80
|
+
+ '<#? it.props #>'
|
81
|
+
+ 'type AccessibleOptions = Pick<Properties,'
|
82
|
+
+ '<#~ it.props: prop #>').concat(template_1.L1, "\"<#= prop.name #>\" |")
|
83
|
+
+ '<#~#>'
|
84
|
+
+ '\b\b' + '\n>;\n'
|
85
|
+
+ '\n'
|
86
|
+
+ '<#?#>'
|
87
|
+
+ "interface <#= it.component #><#? it.props #> extends AccessibleOptions<#?#> {".concat(template_1.L1, "readonly instance?: <#= it.widgetImport.name #>;") + '\n'
|
88
|
+
+ '}' + '\n'
|
89
|
+
+ 'const <#= it.component #> = <#= it.baseComponent #>({'
|
90
|
+
+ "<#? it.props #>".concat(template_1.L1, "props: {\n")
|
91
|
+
+ "<#= it.renderedProps #>".concat(template_1.L1, "},")
|
92
|
+
+ '<#?#>'
|
93
|
+
+ "<#? it.props #>".concat(template_1.L1, "emits: {").concat(template_1.L2, "\"update:isActive\": null,").concat(template_1.L2, "\"update:hoveredElement\": null,")
|
94
|
+
+ "<#~ it.props: prop #>".concat(template_1.L2, "\"update:<#= prop.name #>\": null,")
|
95
|
+
+ "<#~#>".concat(template_1.L1, "},")
|
96
|
+
+ '<#?#>'
|
97
|
+
+ "<#? it.hasModel #>".concat(template_1.L1, "model: { prop: \"value\", event: \"update:value\" },")
|
98
|
+
+ "<#?#>".concat(template_1.L1, "computed: {").concat(template_1.L2, "instance(): <#= it.widgetImport.name #> {").concat(template_1.L3, "return (this as any).$_instance;").concat(template_1.L2, "}").concat(template_1.L1, "},").concat(template_1.L1, "beforeCreate() {").concat(template_1.L2, "(this as any).$_WidgetClass = <#= it.widgetImport.name #>;")
|
99
|
+
+ "<#? it.isVue3 #>".concat(template_1.L2, "(this as any).$_hasAsyncTemplate = <#= it.templatesRenderAsynchronously #>;")
|
100
|
+
+ '<#?#>'
|
101
|
+
+ "<#? it.expectedChildren #>".concat(template_1.L2, "(this as any).$_expectedChildren = {")
|
102
|
+
+ "<#~ it.expectedChildren : child #>".concat(template_1.L3, "<#= child.name #>: { isCollectionItem: <#= child.isCollectionItem #>, optionName: \"<#= child.optionName #>\" },")
|
103
|
+
+ '<#~#>' + "\b".concat(template_1.L2, "};")
|
104
|
+
+ "<#?#>".concat(template_1.L1, "}").concat(template_1.L0, "});\n")
|
105
|
+
+ '<#? it.nestedComponents #>'
|
106
|
+
+ '\n'
|
107
|
+
+ '<#~ it.nestedComponents : nested #>'
|
108
|
+
+ 'const <#= nested.name #> = <#= it.configComponent #>({'
|
109
|
+
+ "<#? nested.props #>".concat(template_1.L1, "emits: {").concat(template_1.L2, "\"update:isActive\": null,").concat(template_1.L2, "\"update:hoveredElement\": null,")
|
110
|
+
+ "<#~ nested.props: prop #>".concat(template_1.L2, "\"update:<#= prop #>\": null,")
|
111
|
+
+ "<#~#>".concat(template_1.L1, "},")
|
112
|
+
+ "<#?#>".concat(template_1.L1, "props: {\n")
|
113
|
+
+ "<#= nested.renderedProps #>".concat(template_1.L1, "}\n")
|
114
|
+
+ '});\n'
|
115
|
+
+ '(<#= nested.name #> as any).$_optionName = "<#= nested.optionName #>";\n'
|
116
|
+
+ '<#? nested.isCollectionItem #>'
|
117
|
+
+ '(<#= nested.name #> as any).$_isCollectionItem = true;\n'
|
118
|
+
+ '<#?#>'
|
119
|
+
+ '<#? nested.predefinedProps #>'
|
120
|
+
+ '(<#= nested.name #> as any).$_predefinedProps = {'
|
121
|
+
+ "<#~ nested.predefinedProps : prop #>".concat(template_1.L1, "<#= prop.name #>: \"<#= prop.value #>\",")
|
122
|
+
+ '<#~#>' + '\b\n'
|
123
|
+
+ '};\n'
|
124
|
+
+ '<#?#>'
|
125
|
+
+ '<#? nested.expectedChildren #>'
|
126
|
+
+ '(<#= nested.name #> as any).$_expectedChildren = {'
|
127
|
+
+ "<#~ nested.expectedChildren : child #>".concat(template_1.L1, "<#= child.name #>: { isCollectionItem: <#= child.isCollectionItem #>, optionName: \"<#= child.optionName #>\" },")
|
128
|
+
+ '<#~#>' + '\b\n'
|
129
|
+
+ '};\n'
|
130
|
+
+ '<#?#>'
|
131
|
+
+ '<#~#>'
|
132
|
+
+ '<#?#>'
|
133
|
+
+ '\n'
|
134
|
+
+ '<#? it.defaultExport #>'
|
135
|
+
+ 'export default <#= it.defaultExport #>;\n'
|
136
|
+
+ '<#?#>'
|
137
|
+
+ 'export {'
|
138
|
+
+ "<#~ it.namedExports :namedExport #>".concat(template_1.L1, "<#= namedExport #>,")
|
139
|
+
+ '<#~#>' + '\b' + '\n'
|
140
|
+
+ '};\n'
|
141
|
+
+ '<#? it.renderReexports #>'
|
142
|
+
+ 'import type * as <#= it.component #>Types from "<#= it.widgetsPackage #>/<#= it.widgetImport.path #>_types";\n'
|
143
|
+
+ 'export { <#= it.component #>Types };\n'
|
144
|
+
+ '<#?#>');
|
145
|
+
function compareProps(a, b) {
|
146
|
+
return (0, helpers_1.compareStrings)(a.name, b.name);
|
147
|
+
}
|
148
|
+
function compareImports(a, b) {
|
149
|
+
if (a.path.startsWith('.') && !b.path.startsWith('.')) {
|
150
|
+
return 1;
|
151
|
+
}
|
152
|
+
if (!a.path.startsWith('.') && b.path.startsWith('.')) {
|
153
|
+
return -1;
|
154
|
+
}
|
155
|
+
return (0, helpers_1.compareStrings)(a.path, b.path);
|
156
|
+
}
|
157
|
+
function getPropsList(props) {
|
158
|
+
return props.map(function (item) { return item.name; });
|
159
|
+
}
|
160
|
+
function renderProps(props) {
|
161
|
+
return renderPropsTemplate(props.sort(compareProps));
|
162
|
+
}
|
163
|
+
exports.renderProps = renderProps;
|
164
|
+
var renderPropsTemplate = (0, template_1.createTemplate)("<#~ it :prop #>".concat(template_1.TAB2, "<#? prop.types && prop.types.length > 0 && !prop.acceptableValues #>")
|
165
|
+
+ '<#= prop.name #>: '
|
166
|
+
+ '<#? prop.types.length > 1 #>' + '[' + '<#?#>'
|
167
|
+
+ '<#= prop.types.join(\', \') #>'
|
168
|
+
+ '<#? prop.types.length > 1 #>' + ']' + '<#?#>'
|
169
|
+
+ '<#??#>'
|
170
|
+
+ '<#= prop.name #>: {'
|
171
|
+
+ "<#? prop.types #>".concat(template_1.L3, "type: ")
|
172
|
+
+ '<#? prop.types.length > 1 #>' + '[' + '<#?#>'
|
173
|
+
+ '<#= prop.types.join(\', \') #>'
|
174
|
+
+ '<#? prop.types.length > 1 #>' + ']' + '<#?#>'
|
175
|
+
+ '<#?#>'
|
176
|
+
+ '<#? prop.acceptableValues #>'
|
177
|
+
+ ",".concat(template_1.L3, "validator: (v) => ")
|
178
|
+
+ '<#? prop.isArray #>'
|
179
|
+
+ '!Array.isArray(v) || v.filter(i => ['
|
180
|
+
+ "<#~ prop.acceptableValues : value #>".concat(template_1.L4, "<#= value #>,")
|
181
|
+
+ '<#~#>' + "\b".concat(template_1.L3, "].indexOf(i) === -1).length === 0")
|
182
|
+
+ '<#??#>'
|
183
|
+
+ 'typeof(v) !== '
|
184
|
+
+ '<#? prop.acceptableValueType #>'
|
185
|
+
+ '"<#= prop.acceptableValueType #>"'
|
186
|
+
+ '<#??#>'
|
187
|
+
+ '"string"'
|
188
|
+
+ '<#?#>'
|
189
|
+
+ ' || ['
|
190
|
+
+ "<#~ prop.acceptableValues : value #>".concat(template_1.L4, "<#= value #>,")
|
191
|
+
+ '<#~#>' + "\b".concat(template_1.L3, "].indexOf(v) !== -1")
|
192
|
+
+ "<#?#>".concat(template_1.L2, "<#?#>")
|
193
|
+
+ '}'
|
194
|
+
+ '<#?#>,\n'
|
195
|
+
+ '<#~#>' + '\b\b');
|
196
|
+
exports.default = generate;
|
197
|
+
//# sourceMappingURL=component-generator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"component-generator.js","sourceRoot":"","sources":["../../../ts/vue-components-generator/component-generator.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.convertTypes = void 0;
|
4
|
+
function convertTypes(types, customTypes) {
|
5
|
+
if (types === undefined || types === null || types.length === 0) {
|
6
|
+
return undefined;
|
7
|
+
}
|
8
|
+
var actualTypes = customTypes
|
9
|
+
? types.concat(expandTypes(types, customTypes))
|
10
|
+
: types;
|
11
|
+
var convertedTypes = new Set(actualTypes.map(convertType));
|
12
|
+
if (convertedTypes.has('Any')) {
|
13
|
+
return undefined;
|
14
|
+
}
|
15
|
+
return Array.from(convertedTypes);
|
16
|
+
}
|
17
|
+
exports.convertTypes = convertTypes;
|
18
|
+
function expandTypes(types, customTypes) {
|
19
|
+
var expandedTypes = [];
|
20
|
+
types.forEach(function (t) {
|
21
|
+
if (t.isCustomType) {
|
22
|
+
var aliases = customTypes[t.type].types;
|
23
|
+
if (aliases) {
|
24
|
+
expandedTypes.push.apply(expandedTypes, aliases);
|
25
|
+
}
|
26
|
+
}
|
27
|
+
});
|
28
|
+
return expandedTypes;
|
29
|
+
}
|
30
|
+
function convertType(typeDescr) {
|
31
|
+
switch (typeDescr.type) {
|
32
|
+
case 'String':
|
33
|
+
case 'Number':
|
34
|
+
case 'Boolean':
|
35
|
+
case 'Array':
|
36
|
+
case 'Object':
|
37
|
+
case 'Function':
|
38
|
+
return typeDescr.type;
|
39
|
+
}
|
40
|
+
if (typeDescr.isCustomType) {
|
41
|
+
return 'Object';
|
42
|
+
}
|
43
|
+
return 'Any';
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=converter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../ts/vue-components-generator/converter.ts"],"names":[],"mappings":";;;AAEA,SAAS,YAAY,CACnB,KAAsC,EACtC,WAAyC;IAEzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/D,OAAO,SAAS,CAAC;KAClB;IAED,IAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC;IAEV,IAAM,cAAc,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAgCQ,oCAAY;AA9BrB,SAAS,WAAW,CAAC,KAAmB,EAAE,WAAwC;IAChF,IAAM,aAAa,GAAiB,EAAE,CAAC;IACvC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;QACd,IAAI,CAAC,CAAC,YAAY,EAAE;YAClB,IAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAC1C,IAAI,OAAO,EAAE;gBACX,aAAa,CAAC,IAAI,OAAlB,aAAa,EAAS,OAAO,EAAE;aAChC;SACF;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AACD,SAAS,WAAW,CAAC,SAAqB;IACxC,QAAQ,SAAS,CAAC,IAAI,EAAE;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;IAED,IAAI,SAAS,CAAC,YAAY,EAAE;QAC1B,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ICustomType, IModel, IWidget } from '../../integration-data-model';
|
2
|
+
import { IComponent } from './component-generator';
|
3
|
+
declare function generate(rawData: IModel, baseComponentPath: string, configComponentPath: string, out: {
|
4
|
+
componentsDir: string;
|
5
|
+
indexFileName: string;
|
6
|
+
}, widgetsPackage: string, vueVersion: number, generateReexports?: boolean): void;
|
7
|
+
declare function mapWidget(raw: IWidget, baseComponentPath: string, configComponentPath: string, customTypes: ICustomType[]): {
|
8
|
+
fileName: string;
|
9
|
+
component: IComponent;
|
10
|
+
};
|
11
|
+
export { generate, mapWidget, };
|
@@ -0,0 +1,120 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.mapWidget = exports.generate = void 0;
|
4
|
+
var fs_1 = require("fs");
|
5
|
+
var path_1 = require("path");
|
6
|
+
var component_generator_1 = require("./component-generator");
|
7
|
+
var converter_1 = require("./converter");
|
8
|
+
var helpers_1 = require("./helpers");
|
9
|
+
var reexports_generator_1 = require("../components-generation/reexports-generator");
|
10
|
+
var common_reexports_generator_1 = require("../components-generation/common-reexports-generator");
|
11
|
+
function generate(rawData, baseComponentPath, configComponentPath, out, widgetsPackage, vueVersion, generateReexports) {
|
12
|
+
var modulePaths = [];
|
13
|
+
rawData.widgets.forEach(function (data) {
|
14
|
+
var widgetFile = mapWidget(data, baseComponentPath, configComponentPath, rawData.customTypes);
|
15
|
+
var widgetFilePath = (0, path_1.join)(out.componentsDir, widgetFile.fileName);
|
16
|
+
var indexFileDir = (0, path_1.dirname)(out.indexFileName);
|
17
|
+
(0, fs_1.writeFileSync)(widgetFilePath, (0, component_generator_1.default)(widgetFile.component, widgetsPackage, vueVersion, generateReexports), { encoding: 'utf8' });
|
18
|
+
modulePaths.push({
|
19
|
+
names: [widgetFile.component.name],
|
20
|
+
path: "./".concat((0, helpers_1.removeExtension)((0, path_1.relative)(indexFileDir, widgetFilePath)).replace(path_1.sep, '/')),
|
21
|
+
});
|
22
|
+
});
|
23
|
+
(0, fs_1.writeFileSync)(out.indexFileName, (0, reexports_generator_1.default)(modulePaths), { encoding: 'utf8' });
|
24
|
+
if (generateReexports && rawData.commonReexports) {
|
25
|
+
(0, common_reexports_generator_1.generateCommonReexports)({
|
26
|
+
componentsDir: out.componentsDir,
|
27
|
+
widgetsPackage: widgetsPackage,
|
28
|
+
commonReexports: rawData.commonReexports,
|
29
|
+
});
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.generate = generate;
|
33
|
+
function mapWidget(raw, baseComponentPath, configComponentPath, customTypes) {
|
34
|
+
var _a, _b, _c;
|
35
|
+
var name = (0, helpers_1.removePrefix)(raw.name, 'dx');
|
36
|
+
var customTypeHash = customTypes.reduce(function (result, type) {
|
37
|
+
result[type.name] = type;
|
38
|
+
return result;
|
39
|
+
}, {});
|
40
|
+
return {
|
41
|
+
fileName: "".concat((0, helpers_1.toKebabCase)(name), ".ts"),
|
42
|
+
component: {
|
43
|
+
name: "Dx".concat(name),
|
44
|
+
widgetComponent: {
|
45
|
+
name: name,
|
46
|
+
path: raw.exportPath,
|
47
|
+
},
|
48
|
+
baseComponent: {
|
49
|
+
name: raw.isExtension ? 'createExtensionComponent' : 'createComponent',
|
50
|
+
path: baseComponentPath,
|
51
|
+
},
|
52
|
+
configComponent: {
|
53
|
+
name: 'createConfigurationComponent',
|
54
|
+
path: configComponentPath,
|
55
|
+
},
|
56
|
+
props: getProps(raw.options, customTypeHash),
|
57
|
+
hasModel: !!raw.isEditor,
|
58
|
+
hasExplicitTypes: !!((_a = raw.optionsTypeParams) === null || _a === void 0 ? void 0 : _a.length),
|
59
|
+
nestedComponents: raw.complexOptions
|
60
|
+
? raw.complexOptions.map(function (o) { return mapNestedComponent(o, customTypeHash); })
|
61
|
+
: undefined,
|
62
|
+
expectedChildren: mapExpectedChildren(raw.nesteds),
|
63
|
+
containsReexports: !!((_c = (_b = raw.reexports) === null || _b === void 0 ? void 0 : _b.filter(function (r) { return r !== 'default'; })) === null || _c === void 0 ? void 0 : _c.length),
|
64
|
+
},
|
65
|
+
};
|
66
|
+
}
|
67
|
+
exports.mapWidget = mapWidget;
|
68
|
+
function mapNestedComponent(complexOption, customTypes) {
|
69
|
+
return {
|
70
|
+
name: "Dx".concat((0, helpers_1.uppercaseFirst)(complexOption.name)),
|
71
|
+
optionName: complexOption.optionName,
|
72
|
+
props: getProps(complexOption.props, customTypes),
|
73
|
+
isCollectionItem: complexOption.isCollectionItem,
|
74
|
+
predefinedProps: complexOption.predefinedProps,
|
75
|
+
expectedChildren: mapExpectedChildren(complexOption.nesteds),
|
76
|
+
};
|
77
|
+
}
|
78
|
+
function getProps(options, customTypes) {
|
79
|
+
var reservedPropNames = ['key'];
|
80
|
+
return options
|
81
|
+
.filter(function (o) { return reservedPropNames.indexOf(o.name) < 0; })
|
82
|
+
.map(function (o) { return mapProp(o, customTypes); });
|
83
|
+
}
|
84
|
+
function buildValueRestriction(restrictedTypes) {
|
85
|
+
var valueRestriction = restrictedTypes.length > 0 ? restrictedTypes[0] : undefined;
|
86
|
+
var acceptableValueType = valueRestriction && valueRestriction.type.toLowerCase();
|
87
|
+
if (!valueRestriction || acceptableValueType === 'string') {
|
88
|
+
return {};
|
89
|
+
}
|
90
|
+
return {
|
91
|
+
acceptableValueType: acceptableValueType,
|
92
|
+
acceptableValues: valueRestriction.acceptableValues,
|
93
|
+
};
|
94
|
+
}
|
95
|
+
function mapProp(rawOption, customTypes) {
|
96
|
+
var types = (0, converter_1.convertTypes)(rawOption.types, customTypes);
|
97
|
+
var restrictedTypes = rawOption.types.filter(function (t) { return t.acceptableValues && t.acceptableValues.length > 0; });
|
98
|
+
var valueRestriction = buildValueRestriction(restrictedTypes);
|
99
|
+
return {
|
100
|
+
name: rawOption.name,
|
101
|
+
acceptableValues: valueRestriction.acceptableValues,
|
102
|
+
types: types,
|
103
|
+
isArray: types && types.length === 1 && types[0] === 'Array',
|
104
|
+
acceptableValueType: valueRestriction.acceptableValueType,
|
105
|
+
};
|
106
|
+
}
|
107
|
+
function mapExpectedChildren(nesteds) {
|
108
|
+
if (!nesteds || nesteds.length === 0) {
|
109
|
+
return undefined;
|
110
|
+
}
|
111
|
+
var expectedChildren = {};
|
112
|
+
nesteds.forEach(function (n) {
|
113
|
+
expectedChildren[n.componentName] = {
|
114
|
+
isCollectionItem: !!n.isCollectionItem,
|
115
|
+
optionName: n.optionName,
|
116
|
+
};
|
117
|
+
});
|
118
|
+
return expectedChildren;
|
119
|
+
}
|
120
|
+
//# sourceMappingURL=generator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../ts/vue-components-generator/generator.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export declare function removeExtension(path: string): string;
|
2
|
+
export declare function removePrefix(value: string, prefix: string): string;
|
3
|
+
export declare function toKebabCase(value: string): string;
|
4
|
+
export declare function uppercaseFirst(value: string): string;
|
5
|
+
export declare function lowercaseFirst(value: string): string;
|
6
|
+
export declare function compareStrings(a: string, b: string): number;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.compareStrings = exports.lowercaseFirst = exports.uppercaseFirst = exports.toKebabCase = exports.removePrefix = exports.removeExtension = void 0;
|
4
|
+
var dasherize = require("dasherize");
|
5
|
+
var path_1 = require("path");
|
6
|
+
function removeExtension(path) {
|
7
|
+
return path.slice(0, -(0, path_1.extname)(path).length);
|
8
|
+
}
|
9
|
+
exports.removeExtension = removeExtension;
|
10
|
+
function removePrefix(value, prefix) {
|
11
|
+
return new RegExp("^".concat(prefix), 'i').test(value) ? value.substring(prefix.length) : value;
|
12
|
+
}
|
13
|
+
exports.removePrefix = removePrefix;
|
14
|
+
function toKebabCase(value) {
|
15
|
+
return dasherize(value);
|
16
|
+
}
|
17
|
+
exports.toKebabCase = toKebabCase;
|
18
|
+
function uppercaseFirst(value) {
|
19
|
+
return value[0].toUpperCase() + value.substr(1);
|
20
|
+
}
|
21
|
+
exports.uppercaseFirst = uppercaseFirst;
|
22
|
+
function lowercaseFirst(value) {
|
23
|
+
return value[0].toLowerCase() + value.substr(1);
|
24
|
+
}
|
25
|
+
exports.lowercaseFirst = lowercaseFirst;
|
26
|
+
function compareStrings(a, b) {
|
27
|
+
return a.localeCompare(b, undefined, { caseFirst: 'upper' });
|
28
|
+
}
|
29
|
+
exports.compareStrings = compareStrings;
|
30
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../ts/vue-components-generator/helpers.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,6BAAmD;AAEnD,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAA,cAAgB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAFD,0CAEC;AAED,SAAgB,YAAY,CAAC,KAAa,EAAE,MAAc;IACxD,OAAO,IAAI,MAAM,CAAC,WAAI,MAAM,CAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5F,CAAC;AAFD,oCAEC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAFD,kCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAFD,wCAEC"}
|
@@ -1,86 +0,0 @@
|
|
1
|
-
export interface IModel {
|
2
|
-
commonReexports: Record<string, string[]>;
|
3
|
-
customTypes: ICustomType[];
|
4
|
-
meta: IMeta;
|
5
|
-
widgets: IWidget[];
|
6
|
-
}
|
7
|
-
|
8
|
-
export interface IMeta {
|
9
|
-
scriptsRevision: string;
|
10
|
-
toolsVersion: string;
|
11
|
-
}
|
12
|
-
|
13
|
-
export interface IWidget {
|
14
|
-
complexOptions: IComplexProp[];
|
15
|
-
exportPath: string;
|
16
|
-
hasTranscludedContent: boolean;
|
17
|
-
isEditor: boolean;
|
18
|
-
isExtension: boolean;
|
19
|
-
name: string;
|
20
|
-
nesteds: IComponentRef[];
|
21
|
-
options: IProp[];
|
22
|
-
optionsTypeParams: string[];
|
23
|
-
reexports: string[];
|
24
|
-
templates: string[];
|
25
|
-
}
|
26
|
-
|
27
|
-
export interface IProp {
|
28
|
-
firedEvents: string[];
|
29
|
-
isDeprecated: boolean;
|
30
|
-
isSubscribable: boolean;
|
31
|
-
name: string;
|
32
|
-
props: IProp[];
|
33
|
-
types: ITypeDescr[];
|
34
|
-
}
|
35
|
-
|
36
|
-
export interface IComplexProp {
|
37
|
-
isCollectionItem: boolean;
|
38
|
-
name: string;
|
39
|
-
nesteds: IComponentRef[];
|
40
|
-
optionName: string;
|
41
|
-
owners: string[];
|
42
|
-
predefinedProps: Record<string, any>;
|
43
|
-
props: IProp[];
|
44
|
-
templates: string[];
|
45
|
-
}
|
46
|
-
|
47
|
-
export interface IComponentRef {
|
48
|
-
componentName: string;
|
49
|
-
isCollectionItem: boolean;
|
50
|
-
optionName: string;
|
51
|
-
}
|
52
|
-
|
53
|
-
export interface ICustomType {
|
54
|
-
module: string;
|
55
|
-
name: string;
|
56
|
-
props: IProp[];
|
57
|
-
templates: string[];
|
58
|
-
types: ITypeDescr[];
|
59
|
-
}
|
60
|
-
|
61
|
-
export interface ITypeDescr {
|
62
|
-
acceptableValues: string[];
|
63
|
-
importPath: string;
|
64
|
-
isCustomType: boolean;
|
65
|
-
isImportedType: boolean;
|
66
|
-
type: string;
|
67
|
-
}
|
68
|
-
|
69
|
-
export interface IArrayDescr extends ITypeDescr {
|
70
|
-
itemTypes: ITypeDescr[];
|
71
|
-
}
|
72
|
-
|
73
|
-
export interface IFunctionDescr extends ITypeDescr {
|
74
|
-
params: {
|
75
|
-
name: string;
|
76
|
-
types: ITypeDescr[];
|
77
|
-
}[];
|
78
|
-
returnValueType: ITypeDescr;
|
79
|
-
}
|
80
|
-
|
81
|
-
export interface IObjectDescr extends ITypeDescr {
|
82
|
-
fields: {
|
83
|
-
name: string;
|
84
|
-
types: ITypeDescr[];
|
85
|
-
}[];
|
86
|
-
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
2023-05-16 10:57:36.6915 | Info | IntegrationDataModel Generation
|
2
|
-
|
3
|
-
================================================================
|
4
|
-
IntegrationDataModel Generation Started
|
5
|
-
Path to log file: D:\a\devextreme-internal-tools\devextreme-internal-tools\dist\bin\internal-tools-log.txt
|
6
|
-
================================================================
|
7
|
-
|
8
|
-
2023-05-16 10:57:36.7372 | Info | IntegrationDataModel Generation
|
9
|
-
Model saved to: D:\a\devextreme-internal-tools\devextreme-internal-tools\dist\bin\integration-data-model.ts
|
10
|
-
2023-05-16 10:57:36.7372 | Info | IntegrationDataModel Generation
|
11
|
-
|
12
|
-
================================================================
|
13
|
-
|
14
|
-
IntegrationDataModel Generation SUCCEEDED
|
15
|
-
|
16
|
-
Warnings: 0
|
17
|
-
Errors: 0
|
18
|
-
Ellapsed time: 0.056 sec
|
19
|
-
|
@@ -1,86 +0,0 @@
|
|
1
|
-
export interface IModel {
|
2
|
-
commonReexports: Record<string, string[]>;
|
3
|
-
customTypes: ICustomType[];
|
4
|
-
meta: IMeta;
|
5
|
-
widgets: IWidget[];
|
6
|
-
}
|
7
|
-
|
8
|
-
export interface IMeta {
|
9
|
-
scriptsRevision: string;
|
10
|
-
toolsVersion: string;
|
11
|
-
}
|
12
|
-
|
13
|
-
export interface IWidget {
|
14
|
-
complexOptions: IComplexProp[];
|
15
|
-
exportPath: string;
|
16
|
-
hasTranscludedContent: boolean;
|
17
|
-
isEditor: boolean;
|
18
|
-
isExtension: boolean;
|
19
|
-
name: string;
|
20
|
-
nesteds: IComponentRef[];
|
21
|
-
options: IProp[];
|
22
|
-
optionsTypeParams: string[];
|
23
|
-
reexports: string[];
|
24
|
-
templates: string[];
|
25
|
-
}
|
26
|
-
|
27
|
-
export interface IProp {
|
28
|
-
firedEvents: string[];
|
29
|
-
isDeprecated: boolean;
|
30
|
-
isSubscribable: boolean;
|
31
|
-
name: string;
|
32
|
-
props: IProp[];
|
33
|
-
types: ITypeDescr[];
|
34
|
-
}
|
35
|
-
|
36
|
-
export interface IComplexProp {
|
37
|
-
isCollectionItem: boolean;
|
38
|
-
name: string;
|
39
|
-
nesteds: IComponentRef[];
|
40
|
-
optionName: string;
|
41
|
-
owners: string[];
|
42
|
-
predefinedProps: Record<string, any>;
|
43
|
-
props: IProp[];
|
44
|
-
templates: string[];
|
45
|
-
}
|
46
|
-
|
47
|
-
export interface IComponentRef {
|
48
|
-
componentName: string;
|
49
|
-
isCollectionItem: boolean;
|
50
|
-
optionName: string;
|
51
|
-
}
|
52
|
-
|
53
|
-
export interface ICustomType {
|
54
|
-
module: string;
|
55
|
-
name: string;
|
56
|
-
props: IProp[];
|
57
|
-
templates: string[];
|
58
|
-
types: ITypeDescr[];
|
59
|
-
}
|
60
|
-
|
61
|
-
export interface ITypeDescr {
|
62
|
-
acceptableValues: string[];
|
63
|
-
importPath: string;
|
64
|
-
isCustomType: boolean;
|
65
|
-
isImportedType: boolean;
|
66
|
-
type: string;
|
67
|
-
}
|
68
|
-
|
69
|
-
export interface IArrayDescr extends ITypeDescr {
|
70
|
-
itemTypes: ITypeDescr[];
|
71
|
-
}
|
72
|
-
|
73
|
-
export interface IFunctionDescr extends ITypeDescr {
|
74
|
-
params: {
|
75
|
-
name: string;
|
76
|
-
types: ITypeDescr[];
|
77
|
-
}[];
|
78
|
-
returnValueType: ITypeDescr;
|
79
|
-
}
|
80
|
-
|
81
|
-
export interface IObjectDescr extends ITypeDescr {
|
82
|
-
fields: {
|
83
|
-
name: string;
|
84
|
-
types: ITypeDescr[];
|
85
|
-
}[];
|
86
|
-
}
|