bridgelist 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/analyzers/array-analyzer.d.ts +14 -0
- package/dist/analyzers/array-analyzer.js +103 -0
- package/dist/analyzers/array-analyzer.js.map +1 -0
- package/dist/analyzers/ast-analyzer.js +11 -65
- package/dist/analyzers/ast-analyzer.js.map +1 -1
- package/dist/analyzers/method-analyzer.d.ts +3 -2
- package/dist/analyzers/method-analyzer.js +91 -89
- package/dist/analyzers/method-analyzer.js.map +1 -1
- package/dist/analyzers/property-access-analyzer.d.ts +3 -6
- package/dist/analyzers/property-access-analyzer.js +62 -58
- package/dist/analyzers/property-access-analyzer.js.map +1 -1
- package/dist/decorators/array-documentation.d.ts +2 -0
- package/dist/decorators/array-documentation.js +9 -0
- package/dist/decorators/array-documentation.js.map +1 -0
- package/dist/decorators/mapping-documentation.js.map +1 -1
- package/dist/generators/array-list-generator.d.ts +1 -0
- package/dist/generators/array-list-generator.js +143 -0
- package/dist/generators/array-list-generator.js.map +1 -0
- package/dist/generators/doc-generator-html.d.ts +1 -0
- package/dist/generators/doc-generator-html.js +375 -0
- package/dist/generators/doc-generator-html.js.map +1 -0
- package/dist/generators/doc-output-registry.d.ts +4 -0
- package/dist/generators/doc-output-registry.js +21 -0
- package/dist/generators/doc-output-registry.js.map +1 -0
- package/dist/generators/mapping-generator.d.ts +2 -0
- package/dist/generators/mapping-generator.js +167 -0
- package/dist/generators/mapping-generator.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.js +16 -6
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/utils/array-scanner.d.ts +7 -0
- package/dist/utils/array-scanner.js +53 -0
- package/dist/utils/array-scanner.js.map +1 -0
- package/dist/utils/find-all-ts-files.d.ts +1 -0
- package/dist/utils/find-all-ts-files.js +25 -0
- package/dist/utils/find-all-ts-files.js.map +1 -0
- package/dist/utils/find-decorated-methods.d.ts +16 -0
- package/dist/utils/find-decorated-methods.js +103 -0
- package/dist/utils/find-decorated-methods.js.map +1 -0
- package/dist/utils/mapping-scanner.d.ts +7 -0
- package/dist/utils/mapping-scanner.js +53 -0
- package/dist/utils/mapping-scanner.js.map +1 -0
- package/docs/documentation.html +434 -0
- package/package.json +6 -3
- package/docs/example-mapping.html +0 -1170
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ArrayListDocumentationOptions } from "../types";
|
|
2
|
+
import { MethodInfo } from './find-decorated-methods';
|
|
3
|
+
export interface ArrayMethodInfo extends MethodInfo {
|
|
4
|
+
options: ArrayListDocumentationOptions;
|
|
5
|
+
}
|
|
6
|
+
export declare const arrayOptionsExtractor: import("./find-decorated-methods").OptionsExtractor<ArrayListDocumentationOptions>;
|
|
7
|
+
export declare function scanProjectForArrayMethods(rootDir?: string): ArrayMethodInfo[];
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.arrayOptionsExtractor = void 0;
|
|
37
|
+
exports.scanProjectForArrayMethods = scanProjectForArrayMethods;
|
|
38
|
+
const process = __importStar(require("node:process"));
|
|
39
|
+
const find_decorated_methods_1 = require("./find-decorated-methods");
|
|
40
|
+
exports.arrayOptionsExtractor = (0, find_decorated_methods_1.createOptionsExtractor)({
|
|
41
|
+
'title': 'title',
|
|
42
|
+
'description': 'description',
|
|
43
|
+
'destinationPath': 'destinationPath',
|
|
44
|
+
'outputPath': 'destinationPath',
|
|
45
|
+
}, []);
|
|
46
|
+
function scanProjectForArrayMethods(rootDir = process.cwd()) {
|
|
47
|
+
const methods = (0, find_decorated_methods_1.scanProjectForDecoratedMethods)(rootDir, {
|
|
48
|
+
decoratorName: 'GenerateArrayListDocumentation',
|
|
49
|
+
extractOptions: exports.arrayOptionsExtractor
|
|
50
|
+
});
|
|
51
|
+
return methods;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=array-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-scanner.js","sourceRoot":"","sources":["../../src/utils/array-scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,gEASC;AA/BD,sDAAwC;AAExC,qEAIkC;AAMrB,QAAA,qBAAqB,GAAG,IAAA,+CAAsB,EACvD;IACI,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,iBAAwB;CACzC,EACD,EAAE,CACL,CAAC;AAEF,SAAgB,0BAA0B,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACtE,MAAM,OAAO,GAAG,IAAA,uDAA8B,EAC1C,OAAO,EACP;QACI,aAAa,EAAE,gCAAgC;QAC/C,cAAc,EAAE,6BAAqB;KACxC,CACJ,CAAC;IACF,OAAO,OAA4B,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function findAllTsFiles(dir: string): string[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.findAllTsFiles = findAllTsFiles;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
function findAllTsFiles(dir) {
|
|
10
|
+
const files = [];
|
|
11
|
+
const entries = fs_1.default.readdirSync(dir, { withFileTypes: true });
|
|
12
|
+
for (const entry of entries) {
|
|
13
|
+
const fullPath = path_1.default.join(dir, entry.name);
|
|
14
|
+
if (entry.isDirectory()) {
|
|
15
|
+
if (entry.name !== 'node_modules' && entry.name !== 'dist') {
|
|
16
|
+
files.push(...findAllTsFiles(fullPath));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (entry.isFile() && entry.name.endsWith('.ts') && !entry.name.endsWith('.d.ts')) {
|
|
20
|
+
files.push(fullPath);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return files;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=find-all-ts-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-all-ts-files.js","sourceRoot":"","sources":["../../src/utils/find-all-ts-files.ts"],"names":[],"mappings":";;;;;AAGA,wCAgBC;AAnBD,4CAAoB;AACpB,gDAAwB;AAExB,SAAgB,cAAc,CAAC,GAAW;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SourceFile, Decorator, ObjectLiteralExpression } from 'ts-morph';
|
|
2
|
+
export interface MethodInfo {
|
|
3
|
+
filePath: string;
|
|
4
|
+
className: string;
|
|
5
|
+
methodName: string;
|
|
6
|
+
options: any;
|
|
7
|
+
}
|
|
8
|
+
export type OptionsExtractor<T> = (decorator: Decorator) => T | null;
|
|
9
|
+
export interface FindMethodsConfig<T> {
|
|
10
|
+
decoratorName: string;
|
|
11
|
+
extractOptions: OptionsExtractor<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare function scanProjectForDecoratedMethods<T>(rootDir: string, config: FindMethodsConfig<T>): MethodInfo[];
|
|
14
|
+
export declare function findDecoratedMethodsInFile<T>(sourceFile: SourceFile, config: FindMethodsConfig<T>): MethodInfo[];
|
|
15
|
+
export declare function extractProperties<T>(objectLiteral: ObjectLiteralExpression, propertyMapping: Record<string, keyof T>, requiredProperties?: (keyof T)[]): T | null;
|
|
16
|
+
export declare function createOptionsExtractor<T>(propertyMapping: Record<string, keyof T>, requiredProperties?: (keyof T)[]): OptionsExtractor<T>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scanProjectForDecoratedMethods = scanProjectForDecoratedMethods;
|
|
4
|
+
exports.findDecoratedMethodsInFile = findDecoratedMethodsInFile;
|
|
5
|
+
exports.extractProperties = extractProperties;
|
|
6
|
+
exports.createOptionsExtractor = createOptionsExtractor;
|
|
7
|
+
const ts_morph_1 = require("ts-morph");
|
|
8
|
+
const find_all_ts_files_1 = require("./find-all-ts-files");
|
|
9
|
+
function scanProjectForDecoratedMethods(rootDir, config) {
|
|
10
|
+
const results = [];
|
|
11
|
+
const project = new ts_morph_1.Project();
|
|
12
|
+
const tsFiles = (0, find_all_ts_files_1.findAllTsFiles)(rootDir);
|
|
13
|
+
project.addSourceFilesAtPaths(tsFiles);
|
|
14
|
+
for (const sourceFile of project.getSourceFiles()) {
|
|
15
|
+
const methods = findDecoratedMethodsInFile(sourceFile, config);
|
|
16
|
+
results.push(...methods);
|
|
17
|
+
}
|
|
18
|
+
return results;
|
|
19
|
+
}
|
|
20
|
+
function findDecoratedMethodsInFile(sourceFile, config) {
|
|
21
|
+
const { decoratorName, extractOptions } = config;
|
|
22
|
+
const methods = [];
|
|
23
|
+
try {
|
|
24
|
+
sourceFile.getClasses().forEach(classDecl => {
|
|
25
|
+
const className = classDecl.getName();
|
|
26
|
+
if (!className)
|
|
27
|
+
return;
|
|
28
|
+
classDecl.getMethods().forEach(method => {
|
|
29
|
+
const methodName = method.getName();
|
|
30
|
+
if (!methodName)
|
|
31
|
+
return;
|
|
32
|
+
const decorator = method.getDecorator(decoratorName);
|
|
33
|
+
if (decorator) {
|
|
34
|
+
const options = extractOptions(decorator);
|
|
35
|
+
if (options) {
|
|
36
|
+
methods.push({
|
|
37
|
+
filePath: sourceFile.getFilePath(),
|
|
38
|
+
className,
|
|
39
|
+
methodName,
|
|
40
|
+
options
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error(`Error analyzing file ${sourceFile.getFilePath()}:`, error);
|
|
49
|
+
}
|
|
50
|
+
return methods;
|
|
51
|
+
}
|
|
52
|
+
function extractProperties(objectLiteral, propertyMapping, requiredProperties = []) {
|
|
53
|
+
const result = {};
|
|
54
|
+
objectLiteral.getProperties().forEach((prop) => {
|
|
55
|
+
if (prop.getKind() === ts_morph_1.SyntaxKind.PropertyAssignment) {
|
|
56
|
+
const propAssignment = prop;
|
|
57
|
+
const propName = propAssignment.getName();
|
|
58
|
+
const initializer = propAssignment.getInitializer();
|
|
59
|
+
if (!initializer)
|
|
60
|
+
return;
|
|
61
|
+
if (propName in propertyMapping) {
|
|
62
|
+
const targetProp = propertyMapping[propName];
|
|
63
|
+
if (initializer.getKind() === ts_morph_1.SyntaxKind.StringLiteral) {
|
|
64
|
+
const stringLiteral = initializer;
|
|
65
|
+
const value = stringLiteral.getLiteralValue();
|
|
66
|
+
result[targetProp] = value;
|
|
67
|
+
}
|
|
68
|
+
else if (initializer.getKind() === ts_morph_1.SyntaxKind.ArrayLiteralExpression) {
|
|
69
|
+
const arrayLiteral = initializer;
|
|
70
|
+
const elements = arrayLiteral.getElements()
|
|
71
|
+
.filter(element => element.getKind() === ts_morph_1.SyntaxKind.StringLiteral)
|
|
72
|
+
.map(element => element.getLiteralValue());
|
|
73
|
+
result[targetProp] = elements;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
result[targetProp] = initializer.getText();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
for (const required of requiredProperties) {
|
|
82
|
+
if (result[required] === undefined) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
function createOptionsExtractor(propertyMapping, requiredProperties = []) {
|
|
89
|
+
return (decorator) => {
|
|
90
|
+
const callExpression = decorator.getCallExpression();
|
|
91
|
+
if (!callExpression)
|
|
92
|
+
return null;
|
|
93
|
+
const args = callExpression.getArguments();
|
|
94
|
+
if (args.length === 0)
|
|
95
|
+
return null;
|
|
96
|
+
const optionsArg = args[0];
|
|
97
|
+
if (optionsArg.getKind() !== ts_morph_1.SyntaxKind.ObjectLiteralExpression)
|
|
98
|
+
return null;
|
|
99
|
+
const objectLiteral = optionsArg;
|
|
100
|
+
return extractProperties(objectLiteral, propertyMapping, requiredProperties);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=find-decorated-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-decorated-methods.js","sourceRoot":"","sources":["../../src/utils/find-decorated-methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MappingDocumentationOptions } from "../types";
|
|
2
|
+
import { MethodInfo } from './find-decorated-methods';
|
|
3
|
+
export interface MappingMethodInfo extends MethodInfo {
|
|
4
|
+
options: MappingDocumentationOptions;
|
|
5
|
+
}
|
|
6
|
+
export declare const mappingOptionsExtractor: import("./find-decorated-methods").OptionsExtractor<MappingDocumentationOptions>;
|
|
7
|
+
export declare function scanProjectForMappingMethods(rootDir?: string): MappingMethodInfo[];
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.mappingOptionsExtractor = void 0;
|
|
37
|
+
exports.scanProjectForMappingMethods = scanProjectForMappingMethods;
|
|
38
|
+
const process = __importStar(require("node:process"));
|
|
39
|
+
const find_decorated_methods_1 = require("./find-decorated-methods");
|
|
40
|
+
exports.mappingOptionsExtractor = (0, find_decorated_methods_1.createOptionsExtractor)({
|
|
41
|
+
'sourceSystem': 'sourceSystem',
|
|
42
|
+
'targetSystem': 'targetSystem',
|
|
43
|
+
'destinationPath': 'destinationPath',
|
|
44
|
+
'description': 'description',
|
|
45
|
+
}, ['sourceSystem', 'targetSystem']);
|
|
46
|
+
function scanProjectForMappingMethods(rootDir = process.cwd()) {
|
|
47
|
+
const methods = (0, find_decorated_methods_1.scanProjectForDecoratedMethods)(rootDir, {
|
|
48
|
+
decoratorName: 'GenerateMappingDocumentation',
|
|
49
|
+
extractOptions: exports.mappingOptionsExtractor
|
|
50
|
+
});
|
|
51
|
+
return methods;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=mapping-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping-scanner.js","sourceRoot":"","sources":["../../src/utils/mapping-scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,oEASC;AA/BD,sDAAwC;AAExC,qEAIkC;AAMrB,QAAA,uBAAuB,GAAG,IAAA,+CAAsB,EACzD;IACI,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,iBAAiB;IACpC,aAAa,EAAE,aAAa;CAC/B,EACD,CAAC,cAAc,EAAE,cAAc,CAAC,CACnC,CAAC;AAEF,SAAgB,4BAA4B,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACxE,MAAM,OAAO,GAAG,IAAA,uDAA8B,EAC1C,OAAO,EACP;QACI,aAAa,EAAE,8BAA8B;QAC7C,cAAc,EAAE,+BAAuB;KAC1C,CACJ,CAAC;IACF,OAAO,OAA8B,CAAC;AAC1C,CAAC"}
|