devextreme-internal-tools 12.0.0-beta.1 → 12.0.0-beta.11
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/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/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 -47
- 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 +28 -29
- 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 +24 -20
- 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 +24 -21
- 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 +89 -89
- 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 +5 -5
- 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 +14 -14
- 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 +19 -15
- 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 +15 -11
- package/ts/discoverer/parsing/widget-parsing.js.map +1 -1
- package/ts/discoverer/parsing.d.ts +29 -0
- package/ts/discoverer/parsing.js +60 -56
- 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 +14 -14
- 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 +415 -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 +65 -0
- package/ts/react-components-generator/converter.js.map +1 -0
- package/ts/react-components-generator/generator.d.ts +62 -0
- package/ts/react-components-generator/generator.js +384 -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 +7 -7
- 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 +30 -30
- 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 +47 -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 -21
- 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,62 @@
|
|
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
|
+
Date = "Date",
|
7
|
+
Number = "number",
|
8
|
+
Boolean = "boolean",
|
9
|
+
Object = "Record<string, any>",
|
10
|
+
RegExp = "RegExp",
|
11
|
+
Null = "null",
|
12
|
+
True = "true",
|
13
|
+
False = "false",
|
14
|
+
void = "void"
|
15
|
+
}
|
16
|
+
export type ImportOverridesMetadata = {
|
17
|
+
importOverrides?: Record<string, string>;
|
18
|
+
genericTypes?: Record<string, unknown>;
|
19
|
+
defaultImports?: Record<string, string>;
|
20
|
+
nameConflictsResolutionNamespaces?: Record<string, string>;
|
21
|
+
typeResolutions?: Record<string, string>;
|
22
|
+
};
|
23
|
+
export type TypeResolver = (typeDescriptor: ITypeDescr) => string;
|
24
|
+
type TypeGenerationOptions = {
|
25
|
+
generateReexports?: boolean;
|
26
|
+
generateCustomTypes?: boolean;
|
27
|
+
importOverridesMetadata?: ImportOverridesMetadata;
|
28
|
+
};
|
29
|
+
export declare function convertToBaseType(type: string): BaseTypes;
|
30
|
+
export declare function createCustomTypeResolver(customTypeHash: Record<string, ICustomType>, importOverridesMetadata: ImportOverridesMetadata, resolveNameConflicts?: (typeName: string, module?: string) => string): [TypeResolver, Record<string, string[]>];
|
31
|
+
export declare function getComplexOptionType(types: ITypeDescr[], resolveCustomType?: TypeResolver): string | undefined;
|
32
|
+
export declare function mapSubscribableOption(prop: IProp, typeResolver?: TypeResolver): ISubscribableOption;
|
33
|
+
export declare function mapIndependentEvents(prop: IProp): IIndependentEvents;
|
34
|
+
export declare function isNestedOptionArray(prop: IProp): boolean;
|
35
|
+
export declare function mapOption(prop: IProp, typeResolver?: TypeResolver): IOption;
|
36
|
+
export declare function extractNestedComponents(props: IComplexProp[], rawWidgetName: string, widgetName: string, typeResolver?: TypeResolver): INestedComponent[];
|
37
|
+
export declare function createPropTyping(option: IProp, customTypes: Record<string, ICustomType>): IPropTyping | null;
|
38
|
+
export declare function extractPropTypings(options: IProp[], customTypes: Record<string, ICustomType>): (IPropTyping | null)[];
|
39
|
+
export declare function collectIndependentEvents(options: IProp[]): IProp[];
|
40
|
+
export declare function collectSubscribableRecursively(options: IProp[], prefix?: string): IProp[];
|
41
|
+
export declare function mapWidget(raw: IWidget, baseComponent: string, extensionComponent: string, configComponent: string, customTypes: ICustomType[], widgetPackage: string, typeGenerationOptions?: TypeGenerationOptions): {
|
42
|
+
fileName: string;
|
43
|
+
component: IComponent;
|
44
|
+
customTypeImports?: Record<string, Array<string>>;
|
45
|
+
defaultTypeImports?: Record<string, string>;
|
46
|
+
wildcardTypeImports?: Record<string, string>;
|
47
|
+
};
|
48
|
+
export declare function generate({ metaData: rawData, components: { baseComponent, extensionComponent, configComponent }, out, widgetsPackage, typeGenerationOptions, }: {
|
49
|
+
metaData: IModel;
|
50
|
+
components: {
|
51
|
+
baseComponent: string;
|
52
|
+
extensionComponent: string;
|
53
|
+
configComponent: string;
|
54
|
+
};
|
55
|
+
out: {
|
56
|
+
componentsDir: string;
|
57
|
+
indexFileName: string;
|
58
|
+
};
|
59
|
+
widgetsPackage: string;
|
60
|
+
typeGenerationOptions?: TypeGenerationOptions;
|
61
|
+
}): void;
|
62
|
+
export {};
|
@@ -0,0 +1,384 @@
|
|
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, pack) {
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
15
|
+
if (ar || !(i in from)) {
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
17
|
+
ar[i] = from[i];
|
18
|
+
}
|
19
|
+
}
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
21
|
+
};
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
23
|
+
exports.generate = exports.mapWidget = exports.collectSubscribableRecursively = exports.collectIndependentEvents = exports.extractPropTypings = exports.createPropTyping = exports.extractNestedComponents = exports.mapOption = exports.isNestedOptionArray = exports.mapIndependentEvents = exports.mapSubscribableOption = exports.getComplexOptionType = exports.createCustomTypeResolver = exports.convertToBaseType = void 0;
|
24
|
+
var fs_1 = require("fs");
|
25
|
+
var path_1 = require("path");
|
26
|
+
var defaultImportOverridesMetadata = require("./import-overrides.json");
|
27
|
+
var converter_1 = require("./converter");
|
28
|
+
var index_generator_1 = require("./index-generator");
|
29
|
+
var component_generator_1 = require("./component-generator");
|
30
|
+
var helpers_1 = require("./helpers");
|
31
|
+
var common_reexports_generator_1 = require("../components-generation/common-reexports-generator");
|
32
|
+
var BaseTypes;
|
33
|
+
(function (BaseTypes) {
|
34
|
+
BaseTypes["Any"] = "any";
|
35
|
+
BaseTypes["String"] = "string";
|
36
|
+
BaseTypes["Date"] = "Date";
|
37
|
+
BaseTypes["Number"] = "number";
|
38
|
+
BaseTypes["Boolean"] = "boolean";
|
39
|
+
BaseTypes["Object"] = "Record<string, any>";
|
40
|
+
BaseTypes["RegExp"] = "RegExp";
|
41
|
+
BaseTypes["Null"] = "null";
|
42
|
+
BaseTypes["True"] = "true";
|
43
|
+
BaseTypes["False"] = "false";
|
44
|
+
BaseTypes["void"] = "void";
|
45
|
+
})(BaseTypes || (BaseTypes = {}));
|
46
|
+
var UNKNOWN_MODULE = 'UNKNOWN_MODULE';
|
47
|
+
var LOCAL_MODULE = 'LOCAL_MODULE';
|
48
|
+
function isFunctionDescriptor(typeDescriptor) {
|
49
|
+
return typeDescriptor.type === 'Function';
|
50
|
+
}
|
51
|
+
function isArrayDescriptor(typeDescriptor) {
|
52
|
+
return typeDescriptor.type === 'Array';
|
53
|
+
}
|
54
|
+
function isObjectDescriptor(typeDescriptor) {
|
55
|
+
return typeDescriptor.type === 'Object' && typeDescriptor.fields !== undefined;
|
56
|
+
}
|
57
|
+
function convertToBaseType(type) {
|
58
|
+
return BaseTypes[type];
|
59
|
+
}
|
60
|
+
exports.convertToBaseType = convertToBaseType;
|
61
|
+
function createCustomTypeResolver(customTypeHash, importOverridesMetadata, resolveNameConflicts) {
|
62
|
+
if (resolveNameConflicts === void 0) { resolveNameConflicts = function (typeName) { return typeName; }; }
|
63
|
+
var customTypeModulesCollector = {};
|
64
|
+
return [function (typeDescriptor) {
|
65
|
+
var _a, _b, _c;
|
66
|
+
var resolvedType = ((_a = importOverridesMetadata.typeResolutions) === null || _a === void 0 ? void 0 : _a[typeDescriptor.type])
|
67
|
+
|| typeDescriptor.type;
|
68
|
+
var customType = customTypeHash[resolvedType];
|
69
|
+
var moduleImport = typeDescriptor.type === resolvedType && typeDescriptor.isImportedType
|
70
|
+
? typeDescriptor.importPath
|
71
|
+
: customType && customType.module;
|
72
|
+
var fullModuleImport = moduleImport ? "devextreme/".concat(moduleImport) : UNKNOWN_MODULE;
|
73
|
+
customTypeModulesCollector[resolvedType] = __spreadArray(__spreadArray([], (customTypeModulesCollector[resolvedType] || []), true), [
|
74
|
+
fullModuleImport,
|
75
|
+
], false);
|
76
|
+
var resultingType = ((_b = importOverridesMetadata.nameConflictsResolutionNamespaces) === null || _b === void 0 ? void 0 : _b[resolvedType])
|
77
|
+
? "".concat(importOverridesMetadata.nameConflictsResolutionNamespaces[resolvedType], ".").concat(resolvedType)
|
78
|
+
: resolveNameConflicts(resolvedType, fullModuleImport);
|
79
|
+
return ((_c = importOverridesMetadata.genericTypes) === null || _c === void 0 ? void 0 : _c[resultingType]) ? "".concat(resultingType, "<any>") : resultingType;
|
80
|
+
}, customTypeModulesCollector];
|
81
|
+
}
|
82
|
+
exports.createCustomTypeResolver = createCustomTypeResolver;
|
83
|
+
function getComplexOptionType(types, resolveCustomType) {
|
84
|
+
function formatTypeDescriptor(typeDescriptor) {
|
85
|
+
function formatArrayDescriptor(arrayDescriptor) {
|
86
|
+
var _a;
|
87
|
+
var filteredDescriptors = (_a = arrayDescriptor.itemTypes) === null || _a === void 0 ? void 0 : _a.map(function (t) { return formatTypeDescriptor(t); }).filter(function (t) { return t !== undefined; });
|
88
|
+
var itemTypes = filteredDescriptors && filteredDescriptors.length
|
89
|
+
? Array.from(new Set(filteredDescriptors)).join(' | ')
|
90
|
+
: BaseTypes.Any;
|
91
|
+
return "Array<".concat(itemTypes, ">");
|
92
|
+
}
|
93
|
+
function formatFunctionDescriptor(functionDescriptor) {
|
94
|
+
var _a;
|
95
|
+
var parameters = ((_a = functionDescriptor.params) === null || _a === void 0 ? void 0 : _a.map(function (p) {
|
96
|
+
var parameterType = getComplexOptionType(p.types, resolveCustomType) || BaseTypes.Any;
|
97
|
+
return "".concat(p.name, ": ").concat(parameterType === BaseTypes.Object ? BaseTypes.Any : parameterType);
|
98
|
+
}).join(', ')) || '';
|
99
|
+
var returnType = functionDescriptor.returnValueTypes
|
100
|
+
? functionDescriptor.returnValueTypes.map(function (t) { return formatTypeDescriptor(t); }).join(' | ')
|
101
|
+
: BaseTypes.Any;
|
102
|
+
return "(".concat(parameters, ") => ").concat(returnType);
|
103
|
+
}
|
104
|
+
function formatObjectDescriptor(objectDescriptor) {
|
105
|
+
var fields = objectDescriptor.fields.map(function (f) { return "".concat(f.name, ": ").concat(getComplexOptionType(f.types, resolveCustomType) || BaseTypes.Any); });
|
106
|
+
return fields ? "{ ".concat(fields.join(', '), " }") : BaseTypes.Object;
|
107
|
+
}
|
108
|
+
if (isArrayDescriptor(typeDescriptor)) {
|
109
|
+
return formatArrayDescriptor(typeDescriptor);
|
110
|
+
}
|
111
|
+
if (isFunctionDescriptor(typeDescriptor)) {
|
112
|
+
var result = formatFunctionDescriptor(typeDescriptor);
|
113
|
+
return "(".concat(result, ")");
|
114
|
+
}
|
115
|
+
if (isObjectDescriptor(typeDescriptor)) {
|
116
|
+
return formatObjectDescriptor(typeDescriptor);
|
117
|
+
}
|
118
|
+
if (typeDescriptor.acceptableValues !== undefined
|
119
|
+
&& typeDescriptor.acceptableValues.length > 0) {
|
120
|
+
return Array.from(new Set(typeDescriptor.acceptableValues)).join(' | ');
|
121
|
+
}
|
122
|
+
if ((typeDescriptor.isCustomType || typeDescriptor.isImportedType) && resolveCustomType) {
|
123
|
+
return resolveCustomType(typeDescriptor);
|
124
|
+
}
|
125
|
+
return convertToBaseType(typeDescriptor.type);
|
126
|
+
}
|
127
|
+
return types && (0, helpers_1.isNotEmptyArray)(types) ? Array.from(new Set(types))
|
128
|
+
.map(function (t) { return formatTypeDescriptor(t); })
|
129
|
+
.filter(function (t) { return t !== undefined; })
|
130
|
+
.join(' | ') : undefined;
|
131
|
+
}
|
132
|
+
exports.getComplexOptionType = getComplexOptionType;
|
133
|
+
function mapSubscribableOption(prop, typeResolver) {
|
134
|
+
return {
|
135
|
+
name: prop.name,
|
136
|
+
type: getComplexOptionType(prop.types, typeResolver) || BaseTypes.Any,
|
137
|
+
isSubscribable: prop.isSubscribable || undefined,
|
138
|
+
};
|
139
|
+
}
|
140
|
+
exports.mapSubscribableOption = mapSubscribableOption;
|
141
|
+
function mapIndependentEvents(prop) {
|
142
|
+
return {
|
143
|
+
name: prop.name,
|
144
|
+
};
|
145
|
+
}
|
146
|
+
exports.mapIndependentEvents = mapIndependentEvents;
|
147
|
+
function isNestedOptionArray(prop) {
|
148
|
+
return (0, helpers_1.isNotEmptyArray)(prop.types) && (prop.types[0].type === 'Array');
|
149
|
+
}
|
150
|
+
exports.isNestedOptionArray = isNestedOptionArray;
|
151
|
+
function mapOption(prop, typeResolver) {
|
152
|
+
return (0, helpers_1.isEmptyArray)(prop.props)
|
153
|
+
? {
|
154
|
+
name: prop.name,
|
155
|
+
type: getComplexOptionType(prop.types, typeResolver) || BaseTypes.Any,
|
156
|
+
isSubscribable: prop.isSubscribable || undefined,
|
157
|
+
} : {
|
158
|
+
name: prop.name,
|
159
|
+
isSubscribable: prop.isSubscribable || undefined,
|
160
|
+
type: getComplexOptionType(prop.types, typeResolver),
|
161
|
+
nested: prop.props.map(function (p) { return mapOption(p, typeResolver); }),
|
162
|
+
isArray: isNestedOptionArray(prop),
|
163
|
+
};
|
164
|
+
}
|
165
|
+
exports.mapOption = mapOption;
|
166
|
+
function getWidgetComponentNames(rawWidgetName, widgetName, props) {
|
167
|
+
var nameClassMap = {};
|
168
|
+
nameClassMap[rawWidgetName] = widgetName;
|
169
|
+
props.forEach(function (p) {
|
170
|
+
nameClassMap[p.name] = (0, helpers_1.uppercaseFirst)(p.name);
|
171
|
+
});
|
172
|
+
return nameClassMap;
|
173
|
+
}
|
174
|
+
function extractNestedComponents(props, rawWidgetName, widgetName, typeResolver) {
|
175
|
+
var nameClassMap = getWidgetComponentNames(rawWidgetName, widgetName, props);
|
176
|
+
return props.map(function (p) { return ({
|
177
|
+
className: nameClassMap[p.name],
|
178
|
+
owners: p.owners.map(function (o) { return nameClassMap[o]; }),
|
179
|
+
optionName: p.optionName,
|
180
|
+
options: p.props.map(function (prop) { return mapOption(prop, typeResolver); }),
|
181
|
+
isCollectionItem: p.isCollectionItem,
|
182
|
+
templates: p.templates,
|
183
|
+
predefinedProps: p.predefinedProps,
|
184
|
+
expectedChildren: p.nesteds,
|
185
|
+
}); });
|
186
|
+
}
|
187
|
+
exports.extractNestedComponents = extractNestedComponents;
|
188
|
+
function createPropTyping(option, customTypes) {
|
189
|
+
var isRestrictedType = function (t) { var _a; return ((_a = t.acceptableValues) === null || _a === void 0 ? void 0 : _a.length) > 0; };
|
190
|
+
var rawTypes = option.types.filter(function (t) { return !isRestrictedType(t); });
|
191
|
+
var restrictedTypes = option.types.filter(function (t) { return isRestrictedType(t); });
|
192
|
+
var types = (0, converter_1.convertTypes)(rawTypes, customTypes);
|
193
|
+
if (restrictedTypes.length > 0) {
|
194
|
+
return {
|
195
|
+
propName: option.name,
|
196
|
+
types: types || [],
|
197
|
+
acceptableType: restrictedTypes[0].type.toLowerCase(),
|
198
|
+
acceptableValues: restrictedTypes[0].acceptableValues,
|
199
|
+
};
|
200
|
+
}
|
201
|
+
if ((!types || types.length === 0)) {
|
202
|
+
return null;
|
203
|
+
}
|
204
|
+
return {
|
205
|
+
propName: option.name,
|
206
|
+
types: types,
|
207
|
+
};
|
208
|
+
}
|
209
|
+
exports.createPropTyping = createPropTyping;
|
210
|
+
function extractPropTypings(options, customTypes) {
|
211
|
+
return options
|
212
|
+
.map(function (o) { return createPropTyping(o, customTypes); })
|
213
|
+
.filter(function (t) { return t != null; });
|
214
|
+
}
|
215
|
+
exports.extractPropTypings = extractPropTypings;
|
216
|
+
function collectIndependentEvents(options) {
|
217
|
+
return options.reduce(function (acc, option) {
|
218
|
+
if (option.types.filter(function (type) { return type.type === 'Function'; }).length === 1
|
219
|
+
&& (!option.firedEvents || option.firedEvents.length === 0)
|
220
|
+
&& option.name.substr(0, 2) === 'on'
|
221
|
+
&& !option.name.match(/^(?!.*Value).*Changed/)) {
|
222
|
+
acc.push(option);
|
223
|
+
}
|
224
|
+
return acc;
|
225
|
+
}, []);
|
226
|
+
}
|
227
|
+
exports.collectIndependentEvents = collectIndependentEvents;
|
228
|
+
function collectSubscribableRecursively(options, prefix) {
|
229
|
+
if (prefix === void 0) { prefix = ''; }
|
230
|
+
return options.reduce(function (acc, option) {
|
231
|
+
var _a;
|
232
|
+
if (option.isSubscribable) {
|
233
|
+
acc.push(__assign(__assign({}, option), { name: "".concat(prefix).concat(option.name) }));
|
234
|
+
}
|
235
|
+
if ((_a = option.props) === null || _a === void 0 ? void 0 : _a.length) {
|
236
|
+
acc.push.apply(acc, collectSubscribableRecursively(option.props, "".concat(option.name, ".")));
|
237
|
+
}
|
238
|
+
return acc;
|
239
|
+
}, []);
|
240
|
+
}
|
241
|
+
exports.collectSubscribableRecursively = collectSubscribableRecursively;
|
242
|
+
function mapWidget(raw, baseComponent, extensionComponent, configComponent, customTypes, widgetPackage, typeGenerationOptions) {
|
243
|
+
var _a;
|
244
|
+
var _b, _c;
|
245
|
+
var name = (0, helpers_1.removePrefix)(raw.name, 'dx');
|
246
|
+
var _d = typeGenerationOptions || {}, importOverridesMetadata = _d.importOverridesMetadata, generateCustomTypes = _d.generateCustomTypes;
|
247
|
+
var existingTypes = Object.values(getWidgetComponentNames(raw.name, name, raw.complexOptions || [])).reduce(function (result, current) {
|
248
|
+
result[current] = [LOCAL_MODULE];
|
249
|
+
return result;
|
250
|
+
}, {});
|
251
|
+
var typeAliases = {};
|
252
|
+
var resolveGeneratedComponentNamesConflict = function (typeName, module) {
|
253
|
+
var _a;
|
254
|
+
if (module === void 0) { module = UNKNOWN_MODULE; }
|
255
|
+
var existingTypeEntry = existingTypes[typeName] || [];
|
256
|
+
var isModuleProcessed = existingTypeEntry.includes(module);
|
257
|
+
var isConflicted = existingTypeEntry.length && (existingTypeEntry[0] === LOCAL_MODULE || !isModuleProcessed);
|
258
|
+
if (!isModuleProcessed) {
|
259
|
+
existingTypeEntry.push(module);
|
260
|
+
existingTypes[typeName] = existingTypeEntry;
|
261
|
+
}
|
262
|
+
if (isConflicted) {
|
263
|
+
var typePrefix = module === UNKNOWN_MODULE || !module.length
|
264
|
+
? 'Aliased'
|
265
|
+
: module
|
266
|
+
.substring(module.lastIndexOf('/') + 1)
|
267
|
+
.split(/[-_]+/)
|
268
|
+
.map(function (s) { return (s.charAt(0).toUpperCase() + s.slice(1)); })
|
269
|
+
.join('');
|
270
|
+
var aliasedTypeName = "".concat(typePrefix).concat(typeName);
|
271
|
+
var moduleKey = module && module.length ? module : UNKNOWN_MODULE;
|
272
|
+
typeAliases[typeName] = __assign(__assign({}, (typeAliases[typeName] || {})), (_a = {}, _a[moduleKey] = aliasedTypeName, _a));
|
273
|
+
return aliasedTypeName;
|
274
|
+
}
|
275
|
+
return typeName;
|
276
|
+
};
|
277
|
+
var getTypeImportStatement = function (typeName, module) {
|
278
|
+
var _a;
|
279
|
+
if (module === void 0) { module = UNKNOWN_MODULE; }
|
280
|
+
return (((_a = typeAliases[typeName]) === null || _a === void 0 ? void 0 : _a[module]) ? "".concat(typeName, " as ").concat(typeAliases[typeName][module]) : typeName);
|
281
|
+
};
|
282
|
+
var customTypeHash = customTypes.reduce(function (result, type) {
|
283
|
+
result[type.name] = type;
|
284
|
+
return result;
|
285
|
+
}, {});
|
286
|
+
var customTypeModules = {};
|
287
|
+
var typeResolver;
|
288
|
+
if (generateCustomTypes) {
|
289
|
+
_a = createCustomTypeResolver(customTypeHash, importOverridesMetadata || {}, resolveGeneratedComponentNamesConflict), typeResolver = _a[0], customTypeModules = _a[1];
|
290
|
+
}
|
291
|
+
var subscribableOptions = collectSubscribableRecursively(raw.options)
|
292
|
+
.map(function (option) { return mapSubscribableOption(option, typeResolver); });
|
293
|
+
var eventOptions = collectIndependentEvents(raw.options);
|
294
|
+
var hasNarrowedEventArgument = function (option) { return option.types[0].params[0].types[0].isImportedType; };
|
295
|
+
var narrowedEvents = eventOptions
|
296
|
+
.filter(hasNarrowedEventArgument)
|
297
|
+
.map(function (prop) { return mapOption(prop, typeResolver); });
|
298
|
+
var independentEvents = eventOptions.map(mapIndependentEvents);
|
299
|
+
var nestedOptions = raw.complexOptions
|
300
|
+
? extractNestedComponents(raw.complexOptions, raw.name, name, typeResolver)
|
301
|
+
: null;
|
302
|
+
var propTypings = extractPropTypings(raw.options, customTypeHash)
|
303
|
+
.filter(function (propType) { return propType !== null; });
|
304
|
+
var customTypeImports = {};
|
305
|
+
var defaultTypeImports = {};
|
306
|
+
var wildcardTypeImports = {};
|
307
|
+
Object.keys(customTypeModules).forEach(function (t) {
|
308
|
+
var _a;
|
309
|
+
if ((_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.defaultImports) === null || _a === void 0 ? void 0 : _a[t]) {
|
310
|
+
defaultTypeImports[t] = importOverridesMetadata.defaultImports[t];
|
311
|
+
return;
|
312
|
+
}
|
313
|
+
var modules = customTypeModules[t].map(function (m) { var _a, _b; return ((_b = (_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.importOverrides) === null || _a === void 0 ? void 0 : _a[t]) !== null && _b !== void 0 ? _b : m); });
|
314
|
+
if (modules.length) {
|
315
|
+
modules
|
316
|
+
.forEach(function (module, index) {
|
317
|
+
var _a;
|
318
|
+
var importNamespace = (_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.nameConflictsResolutionNamespaces) === null || _a === void 0 ? void 0 : _a[t];
|
319
|
+
if (importNamespace) {
|
320
|
+
wildcardTypeImports[module] = importNamespace;
|
321
|
+
}
|
322
|
+
else {
|
323
|
+
var moduleImports = new Set(customTypeImports[module]);
|
324
|
+
var initialModule = customTypeModules[t][index];
|
325
|
+
moduleImports.add(getTypeImportStatement(t, initialModule));
|
326
|
+
customTypeImports[module] = Array.from(moduleImports);
|
327
|
+
}
|
328
|
+
});
|
329
|
+
}
|
330
|
+
});
|
331
|
+
var dxExportPath = "".concat(widgetPackage, "/").concat(raw.exportPath);
|
332
|
+
return {
|
333
|
+
fileName: "".concat((0, helpers_1.toKebabCase)(name), ".ts"),
|
334
|
+
component: {
|
335
|
+
name: name,
|
336
|
+
baseComponentPath: baseComponent,
|
337
|
+
extensionComponentPath: extensionComponent,
|
338
|
+
configComponentPath: configComponent,
|
339
|
+
dxExportPath: dxExportPath,
|
340
|
+
isExtension: raw.isExtension,
|
341
|
+
templates: raw.templates,
|
342
|
+
subscribableOptions: subscribableOptions.length > 0 ? subscribableOptions : undefined,
|
343
|
+
independentEvents: independentEvents.length > 0 ? independentEvents : undefined,
|
344
|
+
nestedComponents: nestedOptions && nestedOptions.length > 0 ? nestedOptions : undefined,
|
345
|
+
expectedChildren: raw.nesteds,
|
346
|
+
propTypings: propTypings.length > 0 ? propTypings : undefined,
|
347
|
+
optionsTypeParams: raw.optionsTypeParams,
|
348
|
+
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),
|
349
|
+
narrowedEvents: narrowedEvents,
|
350
|
+
},
|
351
|
+
customTypeImports: customTypeImports,
|
352
|
+
defaultTypeImports: defaultTypeImports,
|
353
|
+
wildcardTypeImports: wildcardTypeImports,
|
354
|
+
};
|
355
|
+
}
|
356
|
+
exports.mapWidget = mapWidget;
|
357
|
+
function generate(_a) {
|
358
|
+
var rawData = _a.metaData, _b = _a.components, baseComponent = _b.baseComponent, extensionComponent = _b.extensionComponent, configComponent = _b.configComponent, out = _a.out, widgetsPackage = _a.widgetsPackage, _c = _a.typeGenerationOptions, typeGenerationOptions = _c === void 0 ? {} : _c;
|
359
|
+
var modulePaths = [];
|
360
|
+
var generateReexports = typeGenerationOptions.generateReexports, generateCustomTypes = typeGenerationOptions.generateCustomTypes, importOverridesMetadata = typeGenerationOptions.importOverridesMetadata;
|
361
|
+
rawData.widgets.forEach(function (data) {
|
362
|
+
var widgetFile = mapWidget(data, baseComponent, extensionComponent, configComponent, rawData.customTypes, widgetsPackage, {
|
363
|
+
generateCustomTypes: generateCustomTypes,
|
364
|
+
importOverridesMetadata: importOverridesMetadata || defaultImportOverridesMetadata,
|
365
|
+
});
|
366
|
+
var widgetFilePath = (0, path_1.join)(out.componentsDir, widgetFile.fileName);
|
367
|
+
var indexFileDir = (0, path_1.dirname)(out.indexFileName);
|
368
|
+
(0, fs_1.writeFileSync)(widgetFilePath, (0, component_generator_1.default)(widgetFile.component, generateReexports, widgetFile.customTypeImports, widgetFile.defaultTypeImports, widgetFile.wildcardTypeImports), { encoding: 'utf8' });
|
369
|
+
modulePaths.push({
|
370
|
+
names: [widgetFile.component.name],
|
371
|
+
path: "./".concat((0, helpers_1.removeExtension)((0, path_1.relative)(indexFileDir, widgetFilePath)).replace(path_1.sep, '/')),
|
372
|
+
});
|
373
|
+
});
|
374
|
+
(0, fs_1.writeFileSync)(out.indexFileName, (0, index_generator_1.default)(modulePaths), { encoding: 'utf8' });
|
375
|
+
if (generateReexports && rawData.commonReexports) {
|
376
|
+
(0, common_reexports_generator_1.generateCommonReexports)({
|
377
|
+
componentsDir: out.componentsDir,
|
378
|
+
widgetsPackage: widgetsPackage,
|
379
|
+
commonReexports: rawData.commonReexports,
|
380
|
+
});
|
381
|
+
}
|
382
|
+
}
|
383
|
+
exports.generate = generate;
|
384
|
+
//# sourceMappingURL=generator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../ts/react-components-generator/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAEY;AAEZ,6BAKc;AAcd,wEAA0E;AAE1E,yCAA2C;AAC3C,qDAA8C;AAG9C,6DAO+B;AAE/B,qCAOmB;AACnB,kGAA8F;AAE9F,IAAK,SAYJ;AAZD,WAAK,SAAS;IACZ,wBAAW,CAAA;IACX,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,2CAA8B,CAAA;IAC9B,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,0BAAa,CAAA;AACf,CAAC,EAZI,SAAS,KAAT,SAAS,QAYb;AAED,IAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,IAAM,YAAY,GAAG,cAAc,CAAC;AAkBpC,SAAS,oBAAoB,CAAC,cAA0B;IACtD,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,cAA0B;IACnD,OAAO,cAAc,CAAC,IAAI,KAAK,OAAO,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,cAA0B;IACpD,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ,IAAK,cAA+B,CAAC,MAAM,KAAK,SAAS,CAAC;AACnG,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAFD,8CAEC;AAED,SAAgB,wBAAwB,CACtC,cAA2C,EAC3C,uBAAgD,EAChD,oBAA4F;IAA5F,qCAAA,EAAA,iCAAuE,QAAQ,IAAK,OAAA,QAAQ,EAAR,CAAQ;IAE5F,IAAM,0BAA0B,GAA6B,EAAE,CAAC;IAEhE,OAAO,CAAC,UAAC,cAA0B;;YACjC,IAAM,YAAY,GAAG,CAAA,MAAA,uBAAuB,CAAC,eAAe,0CAAG,cAAc,CAAC,IAAI,CAAC;mBAC9E,cAAc,CAAC,IAAI,CAAC;YAEzB,IAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,IAAM,YAAY,GAAG,cAAc,CAAC,IAAI,KAAK,YAAY,IAAI,cAAc,CAAC,cAAc;gBACxF,CAAC,CAAC,cAAc,CAAC,UAAU;gBAC3B,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC;YACpC,IAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,qBAAc,YAAY,CAAE,CAAC,CAAC,CAAC,cAAc,CAAC;YAEtF,0BAA0B,CAAC,YAAY,CAAC,mCACnC,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACnD,gBAAgB;qBACjB,CAAC;YAEF,IAAM,aAAa,GAAG,CAAA,MAAA,uBAAuB,CAAC,iCAAiC,0CAAG,YAAY,CAAC;gBAC7F,CAAC,CAAC,UAAG,uBAAuB,CAAC,iCAAiC,CAAC,YAAY,CAAC,cAAI,YAAY,CAAE;gBAC9F,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACzD,OAAO,CAAA,MAAA,uBAAuB,CAAC,YAAY,0CAAG,aAAa,CAAC,EAAC,CAAC,CAAC,UAAG,aAAa,UAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QACzG,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACjC,CAAC;AA5BD,4DA4BC;AAED,SAAgB,oBAAoB,CAClC,KAAmB,EAAE,iBAAgC;IAErD,SAAS,oBAAoB,CAAC,cAA0B;QACtD,SAAS,qBAAqB,CAAC,eAA4B;;YACzD,IAAM,mBAAmB,GAAG,MAAA,eAAe,CAAC,SAAS,0CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,oBAAoB,CAAC,CAAC,CAAC,EAAvB,CAAuB,EACtF,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,SAAS,EAAf,CAAe,CAAC,CAAC;YAClC,IAAM,SAAS,GAAG,mBAAmB,IAAI,mBAAmB,CAAC,MAAM;gBACjE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtD,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;YAClB,OAAO,gBAAS,SAAS,MAAG,CAAC;QAC/B,CAAC;QAED,SAAS,wBAAwB,CAAC,kBAAkC;;YAClE,IAAM,UAAU,GAAG,CAAA,MAAA,kBAAkB,CAAC,MAAM,0CAAE,GAAG,CAAC,UAAC,CAAC;gBAClD,IAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC;gBACxF,OAAO,UAAG,CAAC,CAAC,IAAI,eAAK,aAAa,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAE,CAAC;YAC5F,CAAC,EACE,IAAI,CAAC,IAAI,CAAC,KAAI,EAAE,CAAC;YACpB,IAAM,UAAU,GAAG,kBAAkB,CAAC,gBAAgB;gBACpD,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,oBAAoB,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrF,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;YAClB,OAAO,WAAI,UAAU,kBAAQ,UAAU,CAAE,CAAC;QAC5C,CAAC;QAED,SAAS,sBAAsB,CAAC,gBAA8B;YAC5D,IAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,UAAG,CAAC,CAAC,IAAI,eAAK,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAE,EAAjF,CAAiF,CAAC,CAAC;YACrI,OAAO,MAAM,CAAC,CAAC,CAAC,YAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,CAAC;QAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACrC,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAC;SAC9C;QACD,IAAI,oBAAoB,CAAC,cAAc,CAAC,EAAE;YACxC,IAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAExD,OAAO,WAAI,MAAM,MAAG,CAAC;SACtB;QACD,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE;YACtC,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAC;SAC/C;QACD,IAAI,cAAc,CAAC,gBAAgB,KAAK,SAAS;eAC3C,cAAc,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzE;QACD,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,iBAAiB,EAAE;YACvF,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAC;SAC1C;QACD,OAAO,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,IAAI,IAAA,yBAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;SAChE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,oBAAoB,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC;SACnC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,SAAS,EAAf,CAAe,CAAC;SAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7B,CAAC;AAvDD,oDAuDC;AAED,SAAgB,qBAAqB,CACnC,IAAW,EAAE,YAA2B;IAExC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,GAAG;QACrE,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;KACjD,CAAC;AACJ,CAAC;AARD,sDAQC;AAED,SAAgB,oBAAoB,CAAC,IAAW;IAC9C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAJD,oDAIC;AAED,SAAgB,mBAAmB,CAAC,IAAW;IAC7C,OAAO,IAAA,yBAAe,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC;AAED,SAAgB,SAAS,CAAC,IAAW,EAAE,YAA2B;IAChE,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC;YACA,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,GAAG;YACrE,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;SAEjD,CAAC,CAAC,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;QAChD,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;QACpD,MAAM,EAAG,IAAI,CAAC,KAAiB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,EAA1B,CAA0B,CAAC;QACtE,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC;KACnC,CAAC;AACN,CAAC;AAdD,8BAcC;AAED,SAAS,uBAAuB,CAAC,aAAqB,EAAE,UAAkB,EAAE,KAAqB;IAC/F,IAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,YAAY,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;IACzC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;QACd,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAA,wBAAc,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,uBAAuB,CACrC,KAAqB,EACrB,aAAqB,EACrB,UAAkB,EAClB,YAA2B;IAE3B,IAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;QACvB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,YAAY,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,EAA7B,CAA6B,CAAC;QAC7D,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,gBAAgB,EAAE,CAAC,CAAC,OAAO;KAC5B,CAAC,EATsB,CAStB,CAAC,CAAC;AACN,CAAC;AAjBD,0DAiBC;AAED,SAAgB,gBAAgB,CAC9B,MAAa,EACb,WAAwC;IAExC,IAAM,gBAAgB,GAAG,UAAC,CAAa,YAAc,OAAA,CAAA,MAAA,CAAC,CAAC,gBAAgB,0CAAE,MAAM,IAAG,CAAC,CAAA,EAAA,CAAC;IAEpF,IAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAApB,CAAoB,CAAC,CAAC;IAClE,IAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,gBAAgB,CAAC,CAAC,CAAC,EAAnB,CAAmB,CAAC,CAAC;IAExE,IAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;YACrD,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB;SACtD,CAAC;KACH;IAED,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AA5BD,4CA4BC;AAED,SAAgB,kBAAkB,CAChC,OAAgB,EAChB,WAAwC;IAExC,OAAO,OAAO;SACX,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,EAAhC,CAAgC,CAAC;SAC5C,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,IAAI,EAAT,CAAS,CAAC,CAAC;AAC9B,CAAC;AAPD,gDAOC;AAED,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,MAAM;QAChC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,UAAU,EAAxB,CAAwB,CAAC,CAAC,MAAM,KAAK,CAAC;eACjE,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;eACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;eACjC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAChD;YACA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAa,CAAC,CAAC;AACpB,CAAC;AAXD,4DAWC;AAED,SAAgB,8BAA8B,CAAC,OAAgB,EAAE,MAAW;IAAX,uBAAA,EAAA,WAAW;IAC1E,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,MAAM;;QAChC,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,GAAG,CAAC,IAAI,uBACH,MAAM,KACT,IAAI,EAAE,UAAG,MAAM,SAAG,MAAM,CAAC,IAAI,CAAE,IAC/B,CAAC;SACJ;QACD,IAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAM,EAAE;YACxB,GAAG,CAAC,IAAI,OAAR,GAAG,EAAS,8BAA8B,CACxC,MAAM,CAAC,KAAK,EACZ,UAAG,MAAM,CAAC,IAAI,MAAG,CAClB,EAAE;SACJ;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAa,CAAC,CAAC;AACpB,CAAC;AAhBD,wEAgBC;AAED,SAAgB,SAAS,CACvB,GAAY,EACZ,aAAqB,EACrB,kBAA0B,EAC1B,eAAuB,EACvB,WAA0B,EAC1B,aAAqB,EACrB,qBAA6C;;;IAQ7C,IAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAA,KAAmD,qBAAqB,IAAI,EAAE,EAA5E,uBAAuB,6BAAA,EAAE,mBAAmB,yBAAgC,CAAC;IAErF,IAAM,aAAa,GAA6B,MAAM,CAAC,MAAM,CAC3D,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAClE,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,WAAW,GAA2C,EAAE,CAAC;IAE/D,IAAM,sCAAsC,GAAG,UAC7C,QAAgB,EAAE,MAA+B;;QAA/B,uBAAA,EAAA,uBAA+B;QAEjD,IAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxD,IAAM,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,IAAI,CAC/C,iBAAiB,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,iBAAiB,CAC5D,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE;YACtB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,aAAa,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC;SAC7C;QACD,IAAI,YAAY,EAAE;YAChB,IAAM,UAAU,GAAG,MAAM,KAAK,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC5D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM;qBACL,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACtC,KAAK,CAAC,OAAO,CAAC;qBACd,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAxC,CAAwC,CAAC;qBACpD,IAAI,CAAC,EAAE,CAAC,CAAC;YAEd,IAAM,eAAe,GAAG,UAAG,UAAU,SAAG,QAAQ,CAAE,CAAC;YACnD,IAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;YACpE,WAAW,CAAC,QAAQ,CAAC,yBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,gBAAG,SAAS,IAAG,eAAe,MAAE,CAAC;YAC3F,OAAO,eAAe,CAAC;SACxB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,IAAM,sBAAsB,GAAG,UAAC,QAAgB,EAAE,MAA+B;;QAA/B,uBAAA,EAAA,uBAA+B;QAAK,OAAA,CACpF,CAAA,MAAA,WAAW,CAAC,QAAQ,CAAC,0CAAG,MAAM,CAAC,EAAC,CAAC,CAAC,UAAG,QAAQ,iBAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ,CAC/F,CAAA;KAAA,CAAC;IAEF,IAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAA8B,UAAC,MAAM,EAAE,IAAI;QAClF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,iBAAiB,GAA6B,EAAE,CAAC;IACrD,IAAI,YAA0B,CAAC;IAE/B,IAAI,mBAAmB,EAAE;QACvB,KAAoC,wBAAwB,CAC1D,cAAc,EACd,uBAAuB,IAAI,EAAE,EAC7B,sCAAsC,CACvC,EAJA,YAAY,QAAA,EAAE,iBAAiB,QAAA,CAI9B;KACH;IAED,IAAM,mBAAmB,GAA0B,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC;SAC3F,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,EAA3C,CAA2C,CAAC,CAAC;IAEhE,IAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAM,wBAAwB,GAAG,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAjD,CAAiD,CAAC;IAC/F,IAAM,cAAc,GAAG,YAAY;SAChC,MAAM,CAAC,wBAAwB,CAAC;SAChC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,EAA7B,CAA6B,CAAC,CAAC;IAEhD,IAAM,iBAAiB,GAAyB,YAAY,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvF,IAAM,aAAa,GAAG,GAAG,CAAC,cAAc;QACtC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IAET,IAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC;SAChE,MAAM,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,KAAK,IAAI,EAAjB,CAAiB,CAAkB,CAAC;IAE5D,IAAM,iBAAiB,GAA6B,EAAE,CAAC;IACvD,IAAM,kBAAkB,GAA2B,EAAE,CAAC;IACtD,IAAM,mBAAmB,GAA2B,EAAE,CAAC;IAEvD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;;QACvC,IAAI,MAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,cAAc,0CAAG,CAAC,CAAC,EAAE;YAChD,kBAAkB,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO;SACR;QAED,IAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CACtC,UAAC,CAAC,gBAAK,OAAA,CAAC,MAAA,MAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,eAAe,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAA,EAAA,CAC5D,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO;iBACJ,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;;gBACrB,IAAM,eAAe,GAAG,MAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,iCAAiC,0CAAG,CAAC,CAAC,CAAC;gBACxF,IAAI,eAAe,EAAE;oBACnB,mBAAmB,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC;iBAC/C;qBAAM;oBACL,IAAM,aAAa,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACzD,IAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClD,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;oBAC5D,iBAAiB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC,CAAC,CAAC;IAEH,IAAM,YAAY,GAAG,UAAG,aAAa,cAAI,GAAG,CAAC,UAAU,CAAE,CAAC;IAC1D,OAAO;QACL,QAAQ,EAAE,UAAG,IAAA,qBAAW,EAAC,IAAI,CAAC,QAAK;QACnC,SAAS,EAAE;YACT,IAAI,MAAA;YACJ,iBAAiB,EAAE,aAAa;YAChC,sBAAsB,EAAE,kBAAkB;YAC1C,mBAAmB,EAAE,eAAe;YACpC,YAAY,cAAA;YACZ,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,mBAAmB,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;YACrF,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YAC/E,gBAAgB,EAAE,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACvF,gBAAgB,EAAE,GAAG,CAAC,OAAO;YAC7B,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,CAAC,CAAC,CAAA,MAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,SAAS,EAAf,CAAe,CAAC,0CAAE,MAAM,CAAA;YAC1E,cAAc,gBAAA;SACf;QACD,iBAAiB,mBAAA;QACjB,kBAAkB,oBAAA;QAClB,mBAAmB,qBAAA;KACpB,CAAC;AACJ,CAAC;AAtJD,8BAsJC;AAED,SAAgB,QAAQ,CAAC,EAmBxB;QAlBW,OAAO,cAAA,EACjB,kBAAkE,EAApD,aAAa,mBAAA,EAAE,kBAAkB,wBAAA,EAAE,eAAe,qBAAA,EAChE,GAAG,SAAA,EACH,cAAc,oBAAA,EACd,6BAA0B,EAA1B,qBAAqB,mBAAG,EAAE,KAAA;IAe1B,IAAM,WAAW,GAAgB,EAAE,CAAC;IAElC,IAAA,iBAAiB,GAGf,qBAAqB,kBAHN,EACjB,mBAAmB,GAEjB,qBAAqB,oBAFJ,EACnB,uBAAuB,GACrB,qBAAqB,wBADA,CACC;IAE1B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QAC3B,IAAM,UAAU,GAAG,SAAS,CAC1B,IAAI,EACJ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,OAAO,CAAC,WAAW,EACnB,cAAc,EACd;YACE,mBAAmB,qBAAA;YACnB,uBAAuB,EAAE,uBAAuB,IAAI,8BAA8B;SACnF,CACF,CAAC;QACF,IAAM,cAAc,GAAG,IAAA,WAAS,EAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAM,YAAY,GAAG,IAAA,cAAU,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAA,kBAAS,EAAC,cAAc,EAAE,IAAA,6BAAiB,EAAC,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACzM,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,YAAK,IAAA,yBAAe,EAAC,IAAA,eAAe,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,UAAa,EAAE,GAAG,CAAC,CAAE;SACxG,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAS,EAAC,GAAG,CAAC,aAAa,EAAE,IAAA,yBAAa,EAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/E,IAAI,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE;QAChD,IAAA,oDAAuB,EAAC;YACtB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc,gBAAA;YACd,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;KACJ;AACH,CAAC;AA3DD,4BA2DC"}
|
@@ -0,0 +1,11 @@
|
|
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;
|
7
|
+
export declare function createKeyComparator<T>(keyGetter: (x: T) => string): (a: T, b: T) => number;
|
8
|
+
export declare function removeElement<T>(array: T[], element: T): void;
|
9
|
+
export declare function isEmptyArray(array: any[] | undefined | null): boolean;
|
10
|
+
export declare function isNotEmptyArray(array: any[] | undefined | null): boolean;
|
11
|
+
export declare function isPlainObject(value: Record<string, any>): boolean;
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isPlainObject = exports.isNotEmptyArray = exports.isEmptyArray = exports.removeElement = exports.createKeyComparator = 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
|
+
function createKeyComparator(keyGetter) {
|
31
|
+
return function (a, b) { return compareStrings(keyGetter(a), keyGetter(b)); };
|
32
|
+
}
|
33
|
+
exports.createKeyComparator = createKeyComparator;
|
34
|
+
function removeElement(array, element) {
|
35
|
+
var index = array.indexOf(element);
|
36
|
+
if (index > -1) {
|
37
|
+
array.splice(index, 1);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
exports.removeElement = removeElement;
|
41
|
+
function isEmptyArray(array) {
|
42
|
+
return array === undefined || array === null || array.length === 0;
|
43
|
+
}
|
44
|
+
exports.isEmptyArray = isEmptyArray;
|
45
|
+
function isNotEmptyArray(array) {
|
46
|
+
return !isEmptyArray(array);
|
47
|
+
}
|
48
|
+
exports.isNotEmptyArray = isNotEmptyArray;
|
49
|
+
function isPlainObject(value) {
|
50
|
+
return value.constructor === Object;
|
51
|
+
}
|
52
|
+
exports.isPlainObject = isPlainObject;
|
53
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../ts/react-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;AAED,SAAgB,mBAAmB,CAAI,SAA2B;IAChE,OAAO,UAAC,CAAI,EAAE,CAAI,IAAa,OAAA,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC;AAC5E,CAAC;AAFD,kDAEC;AAED,SAAgB,aAAa,CAAI,KAAU,EAAE,OAAU;IACrD,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACxB;AACH,CAAC;AALD,sCAKC;AAED,SAAgB,YAAY,CAAC,KAA+B;IAC1D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AACrE,CAAC;AAFD,oCAEC;AAED,SAAgB,eAAe,CAAC,KAA+B;IAC7D,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAC,KAA0B;IACtD,OAAO,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC;AACtC,CAAC;AAFD,sCAEC"}
|