devextreme-internal-tools 12.0.0-beta.1 → 12.0.0-beta.3

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 (148) hide show
  1. package/bin/DevExtreme.Declarations.Discoverer.dll +0 -0
  2. package/bin/DevExtreme.Declarations.Discoverer.exe +0 -0
  3. package/bin/DevExtreme.Declarations.IntegrityValidator.dll +0 -0
  4. package/bin/DevExtreme.Declarations.IntegrityValidator.exe +0 -0
  5. package/bin/DevExtreme.Declarations.dll +0 -0
  6. package/bin/DevExtreme.Descriptions.Injector.dll +0 -0
  7. package/bin/DevExtreme.Descriptions.Injector.exe +0 -0
  8. package/bin/DevExtreme.Infrastructure.dll +0 -0
  9. package/bin/DevExtreme.IntegrationDataGenerator.dll +0 -0
  10. package/bin/DevExtreme.IntegrationDataGenerator.exe +0 -0
  11. package/bin/DevExtreme.NgSmdGenerator.dll +0 -0
  12. package/bin/DevExtreme.NgSmdGenerator.exe +0 -0
  13. package/bin/DevExtreme.SmdCommon.dll +0 -0
  14. package/bin/DevExtreme.StrongMetaDataGenerator.dll +0 -0
  15. package/bin/DevExtreme.StrongMetaDataGenerator.exe +0 -0
  16. package/bin/DevExtreme.Topics.ExtraFilesGenerator.dll +0 -0
  17. package/bin/DevExtreme.Topics.ExtraFilesGenerator.exe +0 -0
  18. package/bin/DevExtreme.Topics.Generator.dll +0 -0
  19. package/bin/DevExtreme.Topics.Generator.exe +0 -0
  20. package/bin/DevExtreme.Topics.ModulesGuideValidator.dll +0 -0
  21. package/bin/DevExtreme.Topics.ModulesGuideValidator.exe +0 -0
  22. package/bin/DevExtreme.Topics.Validation.dll +0 -0
  23. package/bin/DevExtreme.Topics.Validation.exe +0 -0
  24. package/bin/DevExtreme.Topics.dll +0 -0
  25. package/bin/DevExtreme.WebSite.ContentMapCreator.dll +0 -0
  26. package/bin/DevExtreme.WebSite.ContentMapCreator.exe +0 -0
  27. package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
  28. package/bin/DevExtreme.WebSite.LinksConverter.exe +0 -0
  29. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
  30. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.exe +0 -0
  31. package/cli.d.ts +2 -0
  32. package/cli.js +50 -0
  33. package/cli.js.map +1 -0
  34. package/index.d.ts +9 -0
  35. package/index.js +18 -47
  36. package/index.js.map +1 -1
  37. package/integration-data-model.d.ts +76 -0
  38. package/integration-data-model.js +3 -0
  39. package/integration-data-model.js.map +1 -0
  40. package/package.json +17 -9
  41. package/ts/angular-components-generator/common-reexports-generator.d.ts +4 -0
  42. package/ts/angular-components-generator/common-reexports-generator.js +36 -0
  43. package/ts/angular-components-generator/common-reexports-generator.js.map +1 -0
  44. package/ts/angular-components-generator/component-names-generator.d.ts +8 -0
  45. package/ts/angular-components-generator/component-names-generator.js +31 -0
  46. package/ts/angular-components-generator/component-names-generator.js.map +1 -0
  47. package/ts/angular-components-generator/dot-generator.d.ts +8 -0
  48. package/ts/angular-components-generator/dot-generator.js +86 -0
  49. package/ts/angular-components-generator/dot-generator.js.map +1 -0
  50. package/ts/angular-components-generator/facade-generator.d.ts +4 -0
  51. package/ts/angular-components-generator/facade-generator.js +45 -0
  52. package/ts/angular-components-generator/facade-generator.js.map +1 -0
  53. package/ts/angular-components-generator/helpers.d.ts +2 -0
  54. package/ts/angular-components-generator/helpers.js +12 -0
  55. package/ts/angular-components-generator/helpers.js.map +1 -0
  56. package/ts/angular-components-generator/import-helper.d.ts +6 -0
  57. package/ts/angular-components-generator/import-helper.js +73 -0
  58. package/ts/angular-components-generator/import-helper.js.map +1 -0
  59. package/ts/angular-components-generator/logger.d.ts +1 -0
  60. package/ts/angular-components-generator/logger.js +16 -0
  61. package/ts/angular-components-generator/logger.js.map +1 -0
  62. package/ts/angular-components-generator/metadata-generator.d.ts +27 -0
  63. package/ts/angular-components-generator/metadata-generator.js +490 -0
  64. package/ts/angular-components-generator/metadata-generator.js.map +1 -0
  65. package/ts/angular-components-generator/metadata-model.d.ts +48 -0
  66. package/ts/angular-components-generator/metadata-model.js +3 -0
  67. package/ts/angular-components-generator/metadata-model.js.map +1 -0
  68. package/ts/angular-components-generator/module-facade-generator.d.ts +5 -0
  69. package/ts/angular-components-generator/module-facade-generator.js +50 -0
  70. package/ts/angular-components-generator/module-facade-generator.js.map +1 -0
  71. package/ts/angular-components-generator/templates/base-nested-component.tst +20 -0
  72. package/ts/angular-components-generator/templates/component.tst +251 -0
  73. package/ts/angular-components-generator/templates/nested-component.tst +140 -0
  74. package/ts/bundler/bundler.d.ts +6 -0
  75. package/ts/collapser/collapser.d.ts +4 -0
  76. package/ts/common/common-resolving.d.ts +11 -0
  77. package/ts/common/id.d.ts +12 -0
  78. package/ts/common/tags/comparing.d.ts +3 -0
  79. package/ts/common/tags/generating.d.ts +4 -0
  80. package/ts/common/tags/merging.d.ts +12 -0
  81. package/ts/common/tags/parameter-field-tag.d.ts +7 -0
  82. package/ts/common/tags.d.ts +12 -0
  83. package/ts/common/ts-type-resolving.d.ts +16 -0
  84. package/ts/common/ts-utils.d.ts +31 -0
  85. package/ts/common/type-resolving.d.ts +42 -0
  86. package/ts/common/utils.d.ts +22 -0
  87. package/ts/component-exports-generator/generator.d.ts +3 -0
  88. package/ts/discoverer/data-model.d.ts +105 -0
  89. package/ts/discoverer/discovering-error.d.ts +4 -0
  90. package/ts/discoverer/discovering.d.ts +4 -0
  91. package/ts/discoverer/parsing/enum-collecting.d.ts +6 -0
  92. package/ts/discoverer/parsing/file-reader.d.ts +2 -0
  93. package/ts/discoverer/parsing/widget-parsing.d.ts +11 -0
  94. package/ts/discoverer/parsing.d.ts +29 -0
  95. package/ts/discoverer/types.d.ts +20 -0
  96. package/ts/logging.d.ts +16 -0
  97. package/ts/modules-meta-generator/modules-meta-generator.d.ts +3 -0
  98. package/ts/react-components-generator/common-reexports-generator.d.ts +2 -0
  99. package/ts/react-components-generator/common-reexports-generator.js +10 -0
  100. package/ts/react-components-generator/common-reexports-generator.js.map +1 -0
  101. package/ts/react-components-generator/component-generator.d.ts +62 -0
  102. package/ts/react-components-generator/component-generator.js +407 -0
  103. package/ts/react-components-generator/component-generator.js.map +1 -0
  104. package/ts/react-components-generator/converter.d.ts +3 -0
  105. package/ts/react-components-generator/converter.js +59 -0
  106. package/ts/react-components-generator/converter.js.map +1 -0
  107. package/ts/react-components-generator/generator.d.ts +60 -0
  108. package/ts/react-components-generator/generator.js +383 -0
  109. package/ts/react-components-generator/generator.js.map +1 -0
  110. package/ts/react-components-generator/helpers.d.ts +11 -0
  111. package/ts/react-components-generator/helpers.js +53 -0
  112. package/ts/react-components-generator/helpers.js.map +1 -0
  113. package/ts/react-components-generator/import-overrides.json +109 -0
  114. package/ts/react-components-generator/index-generator.d.ts +7 -0
  115. package/ts/react-components-generator/index-generator.js +10 -0
  116. package/ts/react-components-generator/index-generator.js.map +1 -0
  117. package/ts/react-components-generator/template.d.ts +10 -0
  118. package/ts/react-components-generator/template.js +43 -0
  119. package/ts/react-components-generator/template.js.map +1 -0
  120. package/ts/scripts/args.d.ts +37 -0
  121. package/ts/scripts/helpers.d.ts +10 -0
  122. package/ts/scripts/tools.d.ts +17 -0
  123. package/ts/vue-components-generator/common-reexports-generator.d.ts +2 -0
  124. package/ts/vue-components-generator/common-reexports-generator.js +10 -0
  125. package/ts/vue-components-generator/common-reexports-generator.js.map +1 -0
  126. package/ts/vue-components-generator/component-generator.d.ts +40 -0
  127. package/ts/vue-components-generator/component-generator.js +197 -0
  128. package/ts/vue-components-generator/component-generator.js.map +1 -0
  129. package/ts/vue-components-generator/converter.d.ts +3 -0
  130. package/ts/vue-components-generator/converter.js +45 -0
  131. package/ts/vue-components-generator/converter.js.map +1 -0
  132. package/ts/vue-components-generator/generator.d.ts +11 -0
  133. package/ts/vue-components-generator/generator.js +126 -0
  134. package/ts/vue-components-generator/generator.js.map +1 -0
  135. package/ts/vue-components-generator/helpers.d.ts +6 -0
  136. package/ts/vue-components-generator/helpers.js +30 -0
  137. package/ts/vue-components-generator/helpers.js.map +1 -0
  138. package/ts/vue-components-generator/index-generator.d.ts +7 -0
  139. package/ts/vue-components-generator/index-generator.js +9 -0
  140. package/ts/vue-components-generator/index-generator.js.map +1 -0
  141. package/ts/vue-components-generator/template.d.ts +11 -0
  142. package/ts/vue-components-generator/template.js +45 -0
  143. package/ts/vue-components-generator/template.js.map +1 -0
  144. package/bin/integration-data-model.ts +0 -86
  145. package/bin/internal-tools-log.txt +0 -21
  146. package/integration-data-model.ts +0 -86
  147. package/ts/discoverer/parsing/file-reader.tests.js +0 -24
  148. package/ts/discoverer/parsing/file-reader.tests.js.map +0 -1
@@ -0,0 +1,407 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
15
+ to[j] = from[i];
16
+ return to;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ var template_1 = require("./template");
20
+ var helpers_1 = require("./helpers");
21
+ var TYPE_KEY_FN = '(data: any) => string';
22
+ var TYPE_RENDER = '(...params: any) => React.ReactNode';
23
+ var TYPE_COMPONENT = 'React.ComponentType<any>';
24
+ var PORTAL_COMPONENTS = new Set([
25
+ 'dxLoadPanel',
26
+ 'dxOverlay',
27
+ 'dxPopover',
28
+ 'dxPopup',
29
+ 'dxToast',
30
+ 'dxTooltip',
31
+ 'dxValidationMessage',
32
+ ]);
33
+ var USE_REQUEST_ANIMATION_FRAME = new Set([
34
+ 'dxChart',
35
+ 'dxDateBox',
36
+ 'dxDataGrid',
37
+ 'dxFilterBuilder',
38
+ ]);
39
+ function getIndent(indent) {
40
+ return Array(indent * 2 + 1).join(' ');
41
+ }
42
+ var renderObjectEntry = template_1.createTemplate("\n <#= it.key #>: \"<#= it.value #>\"\n".trimRight());
43
+ function renderObject(props, baseIndent) {
44
+ var result = '{';
45
+ var indent = baseIndent + 1;
46
+ props.forEach(function (opt) {
47
+ result += "\n" + getIndent(indent) + opt.name + "?: ";
48
+ if (opt.nested && helpers_1.isNotEmptyArray(opt.nested)) {
49
+ var type = opt.type ? opt.type + " | " : '';
50
+ result += "" + type + renderObject(opt.nested, indent);
51
+ if (opt.isArray) {
52
+ result += '[]';
53
+ }
54
+ }
55
+ else {
56
+ result += opt.type;
57
+ }
58
+ result += ';';
59
+ });
60
+ result += "\n" + getIndent(baseIndent) + "}";
61
+ return result;
62
+ }
63
+ function renderNarrowedEvents(events, typeParams) {
64
+ var result = '{';
65
+ var typeArguments = typeParams && typeParams.length
66
+ ? "<" + typeParams.join(', ') + ">"
67
+ : '';
68
+ var indent = 1;
69
+ events.forEach(function (event) {
70
+ var patchedType = event.type.replace(') =>', typeArguments + ") =>");
71
+ result += "\n" + getIndent(indent) + event.name + "?: " + patchedType + ";";
72
+ });
73
+ indent -= 1;
74
+ result += "\n" + getIndent(indent) + "}";
75
+ return result;
76
+ }
77
+ var renderTemplateOption = template_1.createTemplate("\n {\n tmplOption: \"<#= it.actualOptionName #>\",\n render: \"<#= it.render #>\",\n component: \"<#= it.component #>\",\n keyFn: \"<#= it.keyFn #>\"\n }\n".trim());
78
+ var renderStringEntry = template_1.createTemplate('"<#= it #>"');
79
+ var renderPropTyping = template_1.createTemplate(' <#= it.propName #>: '
80
+ + '<#? it.renderedTypes.length === 1 #>'
81
+ + '<#= it.renderedTypes[0] #>'
82
+ + '<#??#>'
83
+ + 'PropTypes.oneOfType([\n'
84
+ + ' <#= it.renderedTypes.join(\',\\n \') #>\n'
85
+ + ' ])'
86
+ + '<#?#>');
87
+ var renderModule = template_1.createTemplate('<#= it.renderedImports #>\n'
88
+ + '<#? it.renderedOptionsInterface #>'
89
+ + '<#= it.renderedOptionsInterface #>\n\n'
90
+ + '<#?#>'
91
+ + '<#= it.renderedComponent #>'
92
+ + '<#? it.renderedNestedComponents #>'
93
+ + '<#~ it.renderedNestedComponents :nestedComponent #>\n\n'
94
+ + '<#= nestedComponent #>'
95
+ + '<#~#>\n\n'
96
+ + '<#?#>'
97
+ + 'export default <#= it.defaultExport #>;\n'
98
+ + "export {\n<#= it.renderedExports #>\n};\n"
99
+ + '<#? it.renderedReExports #>'
100
+ + '<#= it.renderedReExports #>\n\n'
101
+ + '<#?#>');
102
+ var renderImports = template_1.createTemplate('<#? it.hasExplicitTypes #>'
103
+ + 'export { ExplicitTypes } from "<#= it.dxExportPath #>";\n'
104
+ + '<#?#>'
105
+ + 'import <#= it.widgetName #>, {\n'
106
+ + ' Properties\n'
107
+ + '} from "<#= it.dxExportPath #>";\n\n'
108
+ + '<#? it.hasPropTypings #>'
109
+ + 'import * as PropTypes from "prop-types";\n'
110
+ + '<#?#>'
111
+ + '<#? it.htmlOptionsPath === it.baseComponentPath #>'
112
+ + 'import { <#= it.baseComponentName #> as BaseComponent, IHtmlOptions } from "<#= it.baseComponentPath #>";\n'
113
+ + '<#??#>'
114
+ + 'import { <#= it.baseComponentName #> as BaseComponent } from "<#= it.baseComponentPath #>";\n'
115
+ + 'import { IHtmlOptions } from "<#= it.htmlOptionsPath #>";\n'
116
+ + '<#?#>'
117
+ + '<#? it.configComponentPath #>'
118
+ + 'import NestedOption from "<#= it.configComponentPath #>";\n'
119
+ + '<#?#>'
120
+ + '<#? it.customTypeImports && Object.keys(it.customTypeImports).length #>\n'
121
+ + '<#~ Object.keys(it.customTypeImports) : module #>'
122
+ + 'import type { <#= it.customTypeImports[module].join(", ")#> } from "<#= module #>";\n'
123
+ + '<#~#>'
124
+ + '<#?#>'
125
+ + '<#? it.defaultTypeImports && Object.keys(it.defaultTypeImports).length #>\n'
126
+ + '<#~ Object.keys(it.defaultTypeImports) : defaultImport #>'
127
+ + '<#? defaultImport !== it.widgetName #>'
128
+ + 'import type <#= defaultImport #> from "<#= it.defaultTypeImports[defaultImport] #>";\n'
129
+ + '<#?#>'
130
+ + '<#~#>'
131
+ + '<#?#>'
132
+ + '<#? it.wildcardTypeImports && Object.keys(it.wildcardTypeImports).length #>\n'
133
+ + '<#~ Object.keys(it.wildcardTypeImports) : wildcardImportModule #>'
134
+ + 'import type * as <#= it.wildcardTypeImports[wildcardImportModule] #> from "<#= wildcardImportModule #>";\n'
135
+ + '<#~#>'
136
+ + '<#?#>');
137
+ var renderNestedComponent = template_1.createTemplate("" + '// owners:\n'
138
+ + '<#~ it.owners : owner #>'
139
+ + '// <#= owner #>\n'
140
+ + '<#~#>'
141
+ + 'type <#= it.propsType #> = React.PropsWithChildren<<#= it.renderedType #>>\n'
142
+ + 'class <#= it.className #> extends NestedOption<<#= it.propsType #>> {' + template_1.L1 + "public static OptionName = \"<#= it.optionName #>\";"
143
+ + ("<#? it.isCollectionItem #>" + template_1.L1 + "public static IsCollectionItem = true;")
144
+ + '<#?#>'
145
+ + ("<#? it.renderedSubscribableOptions #>" + template_1.L1 + "public static DefaultsProps = {<#= it.renderedSubscribableOptions.join(',') #>" + template_1.L1 + "};")
146
+ + '<#?#>'
147
+ + ("<#? it.expectedChildren #>" + template_1.L1 + "public static ExpectedChildren = {")
148
+ + ("<#~ it.expectedChildren : child #>" + template_1.L2 + "<#= child.componentName #>:")
149
+ + ' { optionName: "<#= child.optionName #>", isCollectionItem: <#= !!child.isCollectionItem #> },'
150
+ + ("<#~#>\b" + template_1.L1 + "};")
151
+ + '<#?#>'
152
+ + ("<#? it.renderedTemplateProps #>" + template_1.L1 + "public static TemplateProps = [<#= it.renderedTemplateProps.join(', ') #>];")
153
+ + '<#?#>'
154
+ + ("<#? it.predefinedProps #>" + template_1.L1 + "public static PredefinedProps = {")
155
+ + ("<#~ it.predefinedProps : prop #>" + template_1.L2 + "<#= prop.name #>: \"<#= prop.value #>\",")
156
+ + ("<#~#>\b" + template_1.L1 + "};")
157
+ + '<#?#>'
158
+ + '\n}');
159
+ var TYPE_PARAMS = '<#? it.typeParams #>'
160
+ + '<<#= it.typeParams.join(", ") #>>'
161
+ + '<#?#>';
162
+ var TYPE_PARAMS_WITH_DEFAULTS = '<#? it.typeParams #>'
163
+ + '<<#= it.typeParams.map(p => `${p} = any`).join(", ") #>>'
164
+ + '<#?#>';
165
+ var renderOptionsInterface = template_1.createTemplate('<#? it.renderedNarrowedEvents #>'
166
+ + 'type ReplaceFieldTypes<TSource, TReplacement> = {\n'
167
+ + ' [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P];\n'
168
+ + '}\n\n'
169
+ + ("type <#= it.optionsName #>NarrowedEvents" + TYPE_PARAMS_WITH_DEFAULTS + " = <#= it.renderedNarrowedEvents #>\n\n")
170
+ + '<#?#>'
171
+ + ("type <#= it.optionsName #>" + TYPE_PARAMS_WITH_DEFAULTS + " = React.PropsWithChildren<<#? it.renderedNarrowedEvents #>ReplaceFieldTypes<<#?#>Properties" + TYPE_PARAMS + "<#? it.renderedNarrowedEvents #>, <#= it.optionsName #>NarrowedEvents" + TYPE_PARAMS + "><#?#> & IHtmlOptions")
172
+ + '<#? it.typeParams || it.templates?.length || it.defaultProps?.length || it.onChangeEvents?.length #>'
173
+ + ' & {\n'
174
+ + '<#? it.typeParams #>'
175
+ + (" dataSource?: Properties" + TYPE_PARAMS + "[\"dataSource\"];\n")
176
+ + '<#?#>'
177
+ + '<#~ it.templates :template #>'
178
+ + (" <#= template.render #>?: " + TYPE_RENDER + ";\n")
179
+ + (" <#= template.component #>?: " + TYPE_COMPONENT + ";\n")
180
+ + (" <#= template.keyFn #>?: " + TYPE_KEY_FN + ";\n")
181
+ + '<#~#>'
182
+ + '<#~ it.defaultProps :prop #>'
183
+ + ' <#= prop.name #>?: <#= prop.type #>;\n'
184
+ + '<#~#>'
185
+ + '<#~ it.onChangeEvents :prop #>'
186
+ + ' <#= prop.name #>?: <#= prop.type #>;\n'
187
+ + '<#~#>'
188
+ + '}'
189
+ + '<#?#>'
190
+ + '>');
191
+ var renderComponent = template_1.createTemplate("class <#= it.className #>" + TYPE_PARAMS_WITH_DEFAULTS + " extends BaseComponent<React.PropsWithChildren<<#= it.optionsName #>" + TYPE_PARAMS + ">> {\n\n public get instance(): <#= it.widgetName #>" + TYPE_PARAMS + " {\n return this._instance;\n }\n\n protected _WidgetClass = <#= it.widgetName #>;\n"
192
+ + ("<#? it.useRequestAnimationFrameFlag #>" + template_1.L1 + "protected useRequestAnimationFrameFlag = true;\n")
193
+ + '<#?#>'
194
+ + ("<#? it.isPortalComponent #>" + template_1.L1 + "protected isPortalComponent = true;\n")
195
+ + '<#?#>'
196
+ + ("<#? it.subscribableOptions #>" + template_1.L1 + "protected subscribableOptions = [<#= it.subscribableOptions.join(',') #>];\n")
197
+ + '<#?#>'
198
+ + ("<#? it.independentEvents #>" + template_1.L1 + "protected independentEvents = [<#= it.independentEvents.join(',') #>];\n")
199
+ + '<#?#>'
200
+ + ("<#? it.renderedDefaultProps #>" + template_1.L1 + "protected _defaults = {<#= it.renderedDefaultProps.join(',') #>" + template_1.L1 + "};\n")
201
+ + '<#?#>'
202
+ + ("<#? it.expectedChildren #>" + template_1.L1 + "protected _expectedChildren = {")
203
+ + ("<#~ it.expectedChildren : child #>" + template_1.L2 + "<#= child.componentName #>:")
204
+ + ' { optionName: "<#= child.optionName #>", isCollectionItem: <#= !!child.isCollectionItem #> },'
205
+ + ("<#~#>\b" + template_1.L1 + "};\n")
206
+ + '<#?#>'
207
+ + "<#? it.renderedTemplateProps #>\n protected _templateProps = [<#= it.renderedTemplateProps.join(', ') #>];\n<#?#>}\n"
208
+ + '<#? it.renderedPropTypings #>'
209
+ + '(<#= it.className #> as any).propTypes = {\n'
210
+ + '<#= it.renderedPropTypings.join(\',\\n\') #>\n'
211
+ + '};\n'
212
+ + '<#?#>');
213
+ function renderExports(exportsNames) {
214
+ return exportsNames
215
+ .map(function (exportName) { return getIndent(1) + exportName; })
216
+ .join(',\n');
217
+ }
218
+ function renderReExports(componentName, exportPath) {
219
+ return "import type * as " + componentName + "Types from '" + exportPath + "_types';\n"
220
+ + ("export { " + componentName + "Types };");
221
+ }
222
+ function formatTemplatePropName(name, suffix) {
223
+ return helpers_1.lowercaseFirst(name.replace(/template$/i, suffix));
224
+ }
225
+ function createTemplateDto(templates) {
226
+ return templates
227
+ ? templates.map(function (actualOptionName) { return ({
228
+ actualOptionName: actualOptionName,
229
+ render: formatTemplatePropName(actualOptionName, 'Render'),
230
+ component: formatTemplatePropName(actualOptionName, 'Component'),
231
+ keyFn: formatTemplatePropName(actualOptionName, 'KeyFn'),
232
+ }); })
233
+ : undefined;
234
+ }
235
+ function buildPropsTypeName(className) {
236
+ return "I" + className + "Props";
237
+ }
238
+ function acceptableTypes(acceptableType, acceptableValues) {
239
+ var indent = acceptableType ? template_1.L3 : template_1.L2;
240
+ var acceptableTemplate = "PropTypes.oneOf([" + indent + acceptableValues.join("," + indent) + "])";
241
+ return acceptableType ? "PropTypes.oneOfType([\n PropTypes." + acceptableType + ",\n " + acceptableTemplate + "\n ])" : acceptableTemplate;
242
+ }
243
+ function createPropTypingModel(typing) {
244
+ var types = typing.types.map(function (t) { return "PropTypes." + t; });
245
+ if (typing.acceptableValues && helpers_1.isNotEmptyArray(typing.acceptableValues)) {
246
+ types.push(acceptableTypes(typing.acceptableType, typing.acceptableValues));
247
+ }
248
+ return {
249
+ propName: typing.propName,
250
+ renderedTypes: types,
251
+ };
252
+ }
253
+ function generate(component, generateReexports, customTypeImports, defaultTypeImports, wildcardTypeImports) {
254
+ var _a, _b, _c, _d, _e, _f;
255
+ if (generateReexports === void 0) { generateReexports = false; }
256
+ var nestedComponents = component.nestedComponents
257
+ ? component.nestedComponents
258
+ .sort(helpers_1.createKeyComparator(function (o) { return o.className; }))
259
+ .map(function (c) {
260
+ var options = __spreadArray([], c.options);
261
+ var nestedSubscribableOptions = options.filter(function (o) { return o.isSubscribable; });
262
+ var renderedSubscribableOptions;
263
+ if (helpers_1.isNotEmptyArray(nestedSubscribableOptions)) {
264
+ nestedSubscribableOptions.forEach(function (o) {
265
+ options.push(__assign(__assign({}, o), { name: "default" + helpers_1.uppercaseFirst(o.name) }), {
266
+ name: "on" + helpers_1.uppercaseFirst(o.name) + "Change",
267
+ type: "(value: " + o.type + ") => void",
268
+ });
269
+ });
270
+ renderedSubscribableOptions = nestedSubscribableOptions.map(function (o) { return renderObjectEntry({
271
+ key: "default" + helpers_1.uppercaseFirst(o.name),
272
+ value: o.name,
273
+ }); });
274
+ }
275
+ var nestedTemplates = createTemplateDto(c.templates);
276
+ if (nestedTemplates) {
277
+ nestedTemplates.forEach(function (t) {
278
+ options.push({
279
+ name: t.render,
280
+ type: TYPE_RENDER,
281
+ }, {
282
+ name: t.component,
283
+ type: TYPE_COMPONENT,
284
+ }, {
285
+ name: t.keyFn,
286
+ type: TYPE_KEY_FN,
287
+ });
288
+ });
289
+ }
290
+ var predefinedProps;
291
+ if (c.predefinedProps) {
292
+ predefinedProps = [];
293
+ if (c.predefinedProps) {
294
+ predefinedProps = [];
295
+ Object.entries(c.predefinedProps).forEach(function (prop) {
296
+ var name = prop[0], value = prop[1];
297
+ predefinedProps === null || predefinedProps === void 0 ? void 0 : predefinedProps.push({ name: name, value: value });
298
+ });
299
+ }
300
+ }
301
+ return {
302
+ className: c.className,
303
+ propsType: buildPropsTypeName(c.className),
304
+ optionName: c.optionName,
305
+ ownerName: c.owners,
306
+ renderedType: renderObject(options, 0),
307
+ renderedSubscribableOptions: renderedSubscribableOptions,
308
+ renderedTemplateProps: nestedTemplates && nestedTemplates.map(renderTemplateOption),
309
+ isCollectionItem: c.isCollectionItem,
310
+ predefinedProps: predefinedProps,
311
+ expectedChildren: c.expectedChildren,
312
+ owners: c.owners,
313
+ };
314
+ })
315
+ : undefined;
316
+ var optionsName = "I" + component.name + "Options";
317
+ var exportNames = [
318
+ component.name,
319
+ optionsName,
320
+ ];
321
+ if (component.nestedComponents && helpers_1.isNotEmptyArray(component.nestedComponents)) {
322
+ component.nestedComponents.forEach(function (c) {
323
+ exportNames.push(c.className);
324
+ exportNames.push(buildPropsTypeName(c.className));
325
+ });
326
+ }
327
+ var templates = createTemplateDto(component.templates);
328
+ var firstLevelSubscribableOptions = (_a = component.subscribableOptions) === null || _a === void 0 ? void 0 : _a.filter(function (_a) {
329
+ var name = _a.name;
330
+ return !name.includes('.');
331
+ });
332
+ var defaultProps = firstLevelSubscribableOptions
333
+ ? firstLevelSubscribableOptions.map(function (o) { return ({
334
+ name: "default" + helpers_1.uppercaseFirst(o.name),
335
+ type: o.type,
336
+ actualOptionName: o.name,
337
+ }); })
338
+ : undefined;
339
+ var onChangeEvents = firstLevelSubscribableOptions
340
+ ? firstLevelSubscribableOptions.map(function (o) { return ({
341
+ name: "on" + helpers_1.uppercaseFirst(o.name) + "Change",
342
+ type: "(value: " + o.type + ") => void",
343
+ actualOptionName: o.name,
344
+ }); })
345
+ : undefined;
346
+ var widgetName = "dx" + helpers_1.uppercaseFirst(component.name);
347
+ var renderedPropTypings = component.propTypings
348
+ ? component.propTypings
349
+ .sort(helpers_1.createKeyComparator(function (p) { return p.propName; }))
350
+ .map(function (t) { return renderPropTyping(createPropTypingModel(t)); })
351
+ : undefined;
352
+ var hasExplicitTypes = !!((_b = component.optionsTypeParams) === null || _b === void 0 ? void 0 : _b.length);
353
+ var typeParams = ((_c = component.optionsTypeParams) === null || _c === void 0 ? void 0 : _c.length) ? component.optionsTypeParams : undefined;
354
+ return renderModule({
355
+ renderedImports: renderImports({
356
+ dxExportPath: component.dxExportPath,
357
+ htmlOptionsPath: component.baseComponentPath,
358
+ baseComponentPath: component.isExtension
359
+ ? component.extensionComponentPath
360
+ : component.baseComponentPath,
361
+ baseComponentName: component.isExtension ? 'ExtensionComponent' : 'Component',
362
+ widgetName: widgetName,
363
+ hasPropTypings: helpers_1.isNotEmptyArray(renderedPropTypings),
364
+ hasExplicitTypes: hasExplicitTypes,
365
+ configComponentPath: helpers_1.isNotEmptyArray(nestedComponents)
366
+ ? component.configComponentPath
367
+ : undefined,
368
+ customTypeImports: customTypeImports,
369
+ defaultTypeImports: defaultTypeImports,
370
+ wildcardTypeImports: wildcardTypeImports,
371
+ }),
372
+ renderedOptionsInterface: renderOptionsInterface({
373
+ optionsName: optionsName,
374
+ defaultProps: defaultProps || [],
375
+ onChangeEvents: onChangeEvents || [],
376
+ templates: templates || [],
377
+ typeParams: typeParams,
378
+ renderedNarrowedEvents: component.narrowedEvents && component.narrowedEvents.length
379
+ ? renderNarrowedEvents(component.narrowedEvents, typeParams) : undefined,
380
+ }),
381
+ renderedComponent: renderComponent({
382
+ className: component.name,
383
+ widgetName: widgetName,
384
+ optionsName: optionsName,
385
+ subscribableOptions: (_d = component.subscribableOptions) === null || _d === void 0 ? void 0 : _d.map(function (o) { return renderStringEntry(o.name); }),
386
+ independentEvents: (_e = component.independentEvents) === null || _e === void 0 ? void 0 : _e.map(function (f) { return renderStringEntry(f.name); }),
387
+ renderedTemplateProps: templates && templates.map(renderTemplateOption),
388
+ renderedDefaultProps: defaultProps && defaultProps.map(function (o) { return renderObjectEntry({
389
+ key: o.name,
390
+ value: o.actualOptionName,
391
+ }); }),
392
+ renderedPropTypings: renderedPropTypings,
393
+ expectedChildren: component.expectedChildren,
394
+ useRequestAnimationFrameFlag: USE_REQUEST_ANIMATION_FRAME.has(widgetName),
395
+ isPortalComponent: PORTAL_COMPONENTS.has(widgetName),
396
+ typeParams: ((_f = component.optionsTypeParams) === null || _f === void 0 ? void 0 : _f.length) ? component.optionsTypeParams : undefined,
397
+ }),
398
+ renderedNestedComponents: nestedComponents && nestedComponents.map(renderNestedComponent),
399
+ defaultExport: component.name,
400
+ renderedExports: renderExports(exportNames),
401
+ renderedReExports: generateReexports && component.containsReexports
402
+ ? renderReExports(component.name, component.dxExportPath)
403
+ : undefined,
404
+ });
405
+ }
406
+ exports.default = generate;
407
+ //# sourceMappingURL=component-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-generator.js","sourceRoot":"","sources":["../../../ts/react-components-generator/component-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ICustomType, ITypeDescr } from '../../integration-data-model';
2
+ declare function convertTypes(types: ITypeDescr[] | undefined | null, customTypes?: Record<string, ICustomType>): string[] | undefined;
3
+ export { convertTypes, };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertTypes = void 0;
4
+ var helpers_1 = require("./helpers");
5
+ var inputTypes = {
6
+ array: 'Array',
7
+ string: 'String',
8
+ number: 'Number',
9
+ object: 'Object',
10
+ bool: 'Boolean',
11
+ func: 'Function',
12
+ };
13
+ function expandTypes(types, customTypes) {
14
+ var expandedTypes = [];
15
+ types.forEach(function (t) {
16
+ if (t.isCustomType) {
17
+ var aliases = customTypes[t.type].types;
18
+ if (aliases) {
19
+ expandedTypes.push.apply(expandedTypes, aliases);
20
+ }
21
+ }
22
+ });
23
+ return expandedTypes;
24
+ }
25
+ function convertType(typeDescr) {
26
+ var type = typeDescr.type;
27
+ switch (type) {
28
+ case inputTypes.string:
29
+ case inputTypes.number:
30
+ case inputTypes.array:
31
+ case inputTypes.object:
32
+ return helpers_1.lowercaseFirst(type);
33
+ case inputTypes.bool:
34
+ return 'bool';
35
+ case inputTypes.func:
36
+ return 'func';
37
+ default:
38
+ break;
39
+ }
40
+ if (typeDescr.isCustomType) {
41
+ return 'object';
42
+ }
43
+ return 'Any';
44
+ }
45
+ function convertTypes(types, customTypes) {
46
+ if (types === undefined || types === null || types.length === 0) {
47
+ return undefined;
48
+ }
49
+ if (customTypes) {
50
+ types.push.apply(types, expandTypes(types, customTypes));
51
+ }
52
+ var convertedTypes = new Set(types.map(convertType));
53
+ if (convertedTypes.has('Any')) {
54
+ return undefined;
55
+ }
56
+ return Array.from(convertedTypes);
57
+ }
58
+ exports.convertTypes = convertTypes;
59
+ //# sourceMappingURL=converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../ts/react-components-generator/converter.ts"],"names":[],"mappings":";;;AACA,qCAA2C;AAE3C,IAAM,UAAU,GAAG;IACjB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,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;AAED,SAAS,WAAW,CAAC,SAAqB;IAChC,IAAA,IAAI,GAAK,SAAS,KAAd,CAAe;IAC3B,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU,CAAC,MAAM,CAAC;QACvB,KAAK,UAAU,CAAC,MAAM,CAAC;QACvB,KAAK,UAAU,CAAC,KAAK,CAAC;QACtB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,wBAAc,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,MAAM,CAAC;QAEhB,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,MAAM,CAAC;QAChB;YACE,MAAM;KACT;IAED,IAAI,SAAS,CAAC,YAAY,EAAE;QAC1B,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,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,IAAI,WAAW,EAAE;QACf,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;KAChD;IAED,IAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAGC,oCAAY"}
@@ -0,0 +1,60 @@
1
+ import { IComplexProp, ICustomType, IModel, IProp, ITypeDescr, IWidget } from '../../integration-data-model';
2
+ import { IComponent, IIndependentEvents, INestedComponent, IOption, IPropTyping, ISubscribableOption } from './component-generator';
3
+ declare enum BaseTypes {
4
+ Any = "any",
5
+ String = "string",
6
+ Number = "number",
7
+ Boolean = "boolean",
8
+ Object = "Record<string, any>",
9
+ Null = "null",
10
+ True = "true",
11
+ False = "false",
12
+ void = "void"
13
+ }
14
+ export declare type ImportOverridesMetadata = {
15
+ importOverrides?: Record<string, string>;
16
+ genericTypes?: Record<string, unknown>;
17
+ defaultImports?: Record<string, string>;
18
+ nameConflictsResolutionNamespaces?: Record<string, string>;
19
+ typeResolutions?: Record<string, string>;
20
+ };
21
+ export declare type TypeResolver = (typeDescriptor: ITypeDescr) => string;
22
+ declare type TypeGenerationOptions = {
23
+ generateReexports?: boolean;
24
+ generateCustomTypes?: boolean;
25
+ importOverridesMetadata?: ImportOverridesMetadata;
26
+ };
27
+ export declare function convertToBaseType(type: string): BaseTypes;
28
+ export declare function createCustomTypeResolver(customTypeHash: Record<string, ICustomType>, importOverridesMetadata: ImportOverridesMetadata, resolveNameConflicts?: (typeName: string, module?: string) => string): [TypeResolver, Record<string, string[]>];
29
+ export declare function getComplexOptionType(types: ITypeDescr[], resolveCustomType?: TypeResolver): string | undefined;
30
+ export declare function mapSubscribableOption(prop: IProp, typeResolver?: TypeResolver): ISubscribableOption;
31
+ export declare function mapIndependentEvents(prop: IProp): IIndependentEvents;
32
+ export declare function isNestedOptionArray(prop: IProp): boolean;
33
+ export declare function mapOption(prop: IProp, typeResolver?: TypeResolver): IOption;
34
+ export declare function extractNestedComponents(props: IComplexProp[], rawWidgetName: string, widgetName: string, typeResolver?: TypeResolver): INestedComponent[];
35
+ export declare function createPropTyping(option: IProp, customTypes: Record<string, ICustomType>): IPropTyping | null;
36
+ export declare function extractPropTypings(options: IProp[], customTypes: Record<string, ICustomType>): (IPropTyping | null)[];
37
+ export declare function collectIndependentEvents(options: IProp[]): IProp[];
38
+ export declare function collectSubscribableRecursively(options: IProp[], prefix?: string): IProp[];
39
+ export declare function mapWidget(raw: IWidget, baseComponent: string, extensionComponent: string, configComponent: string, customTypes: ICustomType[], widgetPackage: string, typeGenerationOptions?: TypeGenerationOptions): {
40
+ fileName: string;
41
+ component: IComponent;
42
+ customTypeImports?: Record<string, Array<string>>;
43
+ defaultTypeImports?: Record<string, string>;
44
+ wildcardTypeImports?: Record<string, string>;
45
+ };
46
+ export declare function generate({ metaData: rawData, components: { baseComponent, extensionComponent, configComponent }, out, widgetsPackage, typeGenerationOptions, }: {
47
+ metaData: IModel;
48
+ components: {
49
+ baseComponent: string;
50
+ extensionComponent: string;
51
+ configComponent: string;
52
+ };
53
+ out: {
54
+ componentsDir: string;
55
+ indexFileName: string;
56
+ };
57
+ widgetsPackage: string;
58
+ typeGenerationOptions?: TypeGenerationOptions;
59
+ }): void;
60
+ export {};