@aidc-toolkit/app-extension 1.0.23-beta → 1.0.24-beta

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 (126) hide show
  1. package/dist/index.cjs +3414 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +1747 -0
  4. package/dist/index.d.ts +1747 -26
  5. package/dist/index.js +3379 -9
  6. package/dist/index.js.map +1 -1
  7. package/package.json +7 -10
  8. package/src/app-extension.ts +3 -10
  9. package/src/app-utility-proxy.ts +5 -4
  10. package/src/descriptor.ts +12 -8
  11. package/src/generator/descriptor.ts +1 -1
  12. package/src/generator/generator.ts +4 -4
  13. package/src/generator/index.ts +2 -2
  14. package/src/generator/locale-resources-generator.ts +14 -10
  15. package/src/gs1/character-set-proxy.ts +5 -5
  16. package/src/gs1/check-proxy.ts +3 -3
  17. package/src/gs1/identifier-proxy.ts +9 -8
  18. package/src/gs1/index.ts +3 -3
  19. package/src/index.ts +9 -9
  20. package/src/lib-proxy.ts +3 -3
  21. package/src/locale/i18n.ts +3 -5
  22. package/src/locale/i18next.d.ts +1 -1
  23. package/{dist/types.d.ts → src/type.ts} +10 -38
  24. package/src/utility/character-set-descriptor.ts +1 -1
  25. package/src/utility/character-set-proxy.ts +9 -8
  26. package/src/utility/index.ts +3 -3
  27. package/src/utility/reg-exp-proxy.ts +5 -4
  28. package/src/utility/string-descriptor.ts +1 -1
  29. package/src/utility/string-proxy.ts +2 -2
  30. package/src/utility/transformer-descriptor.ts +1 -1
  31. package/src/utility/transformer-proxy.ts +5 -4
  32. package/tsup.config.ts +3 -0
  33. package/dist/app-extension.d.ts +0 -169
  34. package/dist/app-extension.d.ts.map +0 -1
  35. package/dist/app-extension.js +0 -148
  36. package/dist/app-extension.js.map +0 -1
  37. package/dist/app-utility-proxy.d.ts +0 -66
  38. package/dist/app-utility-proxy.d.ts.map +0 -1
  39. package/dist/app-utility-proxy.js +0 -233
  40. package/dist/app-utility-proxy.js.map +0 -1
  41. package/dist/descriptor.d.ts +0 -172
  42. package/dist/descriptor.d.ts.map +0 -1
  43. package/dist/descriptor.js +0 -174
  44. package/dist/descriptor.js.map +0 -1
  45. package/dist/generator/descriptor.d.ts +0 -107
  46. package/dist/generator/descriptor.d.ts.map +0 -1
  47. package/dist/generator/descriptor.js +0 -2
  48. package/dist/generator/descriptor.js.map +0 -1
  49. package/dist/generator/generator.d.ts +0 -120
  50. package/dist/generator/generator.d.ts.map +0 -1
  51. package/dist/generator/generator.js +0 -213
  52. package/dist/generator/generator.js.map +0 -1
  53. package/dist/generator/index.d.ts +0 -3
  54. package/dist/generator/index.d.ts.map +0 -1
  55. package/dist/generator/index.js +0 -2
  56. package/dist/generator/index.js.map +0 -1
  57. package/dist/gs1/character-set-proxy.d.ts +0 -10
  58. package/dist/gs1/character-set-proxy.d.ts.map +0 -1
  59. package/dist/gs1/character-set-proxy.js +0 -47
  60. package/dist/gs1/character-set-proxy.js.map +0 -1
  61. package/dist/gs1/check-proxy.d.ts +0 -11
  62. package/dist/gs1/check-proxy.d.ts.map +0 -1
  63. package/dist/gs1/check-proxy.js +0 -120
  64. package/dist/gs1/check-proxy.js.map +0 -1
  65. package/dist/gs1/identifier-proxy.d.ts +0 -136
  66. package/dist/gs1/identifier-proxy.d.ts.map +0 -1
  67. package/dist/gs1/identifier-proxy.js +0 -782
  68. package/dist/gs1/identifier-proxy.js.map +0 -1
  69. package/dist/gs1/index.d.ts +0 -4
  70. package/dist/gs1/index.d.ts.map +0 -1
  71. package/dist/gs1/index.js +0 -4
  72. package/dist/gs1/index.js.map +0 -1
  73. package/dist/index.d.ts.map +0 -1
  74. package/dist/lib-proxy.d.ts +0 -135
  75. package/dist/lib-proxy.d.ts.map +0 -1
  76. package/dist/lib-proxy.js +0 -235
  77. package/dist/lib-proxy.js.map +0 -1
  78. package/dist/locale/en/locale-resources.d.ts +0 -617
  79. package/dist/locale/en/locale-resources.d.ts.map +0 -1
  80. package/dist/locale/en/locale-resources.js +0 -616
  81. package/dist/locale/en/locale-resources.js.map +0 -1
  82. package/dist/locale/fr/locale-resources.d.ts +0 -617
  83. package/dist/locale/fr/locale-resources.d.ts.map +0 -1
  84. package/dist/locale/fr/locale-resources.js +0 -616
  85. package/dist/locale/fr/locale-resources.js.map +0 -1
  86. package/dist/locale/i18n.d.ts +0 -27
  87. package/dist/locale/i18n.d.ts.map +0 -1
  88. package/dist/locale/i18n.js +0 -39
  89. package/dist/locale/i18n.js.map +0 -1
  90. package/dist/types.d.ts.map +0 -1
  91. package/dist/types.js +0 -13
  92. package/dist/types.js.map +0 -1
  93. package/dist/utility/character-set-descriptor.d.ts +0 -6
  94. package/dist/utility/character-set-descriptor.d.ts.map +0 -1
  95. package/dist/utility/character-set-descriptor.js +0 -28
  96. package/dist/utility/character-set-descriptor.js.map +0 -1
  97. package/dist/utility/character-set-proxy.d.ts +0 -26
  98. package/dist/utility/character-set-proxy.d.ts.map +0 -1
  99. package/dist/utility/character-set-proxy.js +0 -167
  100. package/dist/utility/character-set-proxy.js.map +0 -1
  101. package/dist/utility/index.d.ts +0 -4
  102. package/dist/utility/index.d.ts.map +0 -1
  103. package/dist/utility/index.js +0 -4
  104. package/dist/utility/index.js.map +0 -1
  105. package/dist/utility/reg-exp-proxy.d.ts +0 -7
  106. package/dist/utility/reg-exp-proxy.d.ts.map +0 -1
  107. package/dist/utility/reg-exp-proxy.js +0 -61
  108. package/dist/utility/reg-exp-proxy.js.map +0 -1
  109. package/dist/utility/string-descriptor.d.ts +0 -4
  110. package/dist/utility/string-descriptor.d.ts.map +0 -1
  111. package/dist/utility/string-descriptor.js +0 -12
  112. package/dist/utility/string-descriptor.js.map +0 -1
  113. package/dist/utility/string-proxy.d.ts +0 -8
  114. package/dist/utility/string-proxy.d.ts.map +0 -1
  115. package/dist/utility/string-proxy.js +0 -12
  116. package/dist/utility/string-proxy.js.map +0 -1
  117. package/dist/utility/transformer-descriptor.d.ts +0 -6
  118. package/dist/utility/transformer-descriptor.d.ts.map +0 -1
  119. package/dist/utility/transformer-descriptor.js +0 -24
  120. package/dist/utility/transformer-descriptor.js.map +0 -1
  121. package/dist/utility/transformer-proxy.d.ts +0 -8
  122. package/dist/utility/transformer-proxy.d.ts.map +0 -1
  123. package/dist/utility/transformer-proxy.js +0 -74
  124. package/dist/utility/transformer-proxy.js.map +0 -1
  125. package/src/generator/logger.ts +0 -45
  126. package/src/types.ts +0 -144
@@ -1,172 +0,0 @@
1
- import type { AppExtension } from "./app-extension.js";
2
- import { LibProxy } from "./lib-proxy.js";
3
- import type { ErrorExtends } from "./types.js";
4
- /**
5
- * Core descriptor.
6
- */
7
- interface Descriptor {
8
- readonly name: string;
9
- }
10
- /**
11
- * Types supported by proxy methods.
12
- */
13
- export declare const Types: {
14
- /**
15
- * String.
16
- */
17
- readonly String: 0;
18
- /**
19
- * Number or enumeration.
20
- */
21
- readonly Number: 1;
22
- /**
23
- * Boolean.
24
- */
25
- readonly Boolean: 2;
26
- /**
27
- * Any.
28
- */
29
- readonly Any: 3;
30
- };
31
- /**
32
- * Type.
33
- */
34
- export type Type = typeof Types[keyof typeof Types];
35
- /**
36
- * Type descriptor.
37
- */
38
- interface TypeDescriptor extends Descriptor {
39
- /**
40
- * Type.
41
- */
42
- readonly type: Type;
43
- /**
44
- * True if type is a matrix (method accepts or returns a two-dimensional array).
45
- */
46
- readonly isMatrix: boolean;
47
- }
48
- /**
49
- * Base parameter descriptor; all attributes required.
50
- */
51
- export interface BaseParameterDescriptor extends TypeDescriptor {
52
- /**
53
- * True if required.
54
- */
55
- readonly isRequired: boolean;
56
- }
57
- /**
58
- * Extends parameter descriptor; extends a parameter descriptor and overrides select attributes.
59
- */
60
- export interface ExtendsParameterDescriptor extends Partial<BaseParameterDescriptor> {
61
- /**
62
- * Base parameter descriptor that this one extends.
63
- */
64
- readonly extendsDescriptor: ParameterDescriptor;
65
- /**
66
- * Sort order within base parameter descriptor if applicable.
67
- */
68
- readonly sortOrder?: number;
69
- }
70
- /**
71
- * Parameter descriptor, either base or extends.
72
- */
73
- export type ParameterDescriptor = BaseParameterDescriptor | ExtendsParameterDescriptor;
74
- /**
75
- * Expand a parameter descriptor to its full form with all required attributes.
76
- *
77
- * @param parameterDescriptor
78
- * Parameter descriptor.
79
- *
80
- * @returns
81
- * Parameter descriptor in its full form.
82
- */
83
- export declare function expandParameterDescriptor(parameterDescriptor: ParameterDescriptor): BaseParameterDescriptor;
84
- /**
85
- * Method descriptor.
86
- */
87
- export interface MethodDescriptor extends TypeDescriptor {
88
- /**
89
- * If true, application-specific invocation context is required.
90
- */
91
- readonly requiresContext?: boolean;
92
- /**
93
- * If true, method infix is ignored.
94
- */
95
- readonly ignoreInfix?: boolean;
96
- /**
97
- * String before which method infix appears. If undefined, infix is appended to the method name. Ignored if
98
- * `ignoreInfix` is true.
99
- */
100
- readonly infixBefore?: string;
101
- /**
102
- * Parameter descriptors.
103
- */
104
- readonly parameterDescriptors: readonly ParameterDescriptor[];
105
- }
106
- /**
107
- * Class descriptor.
108
- */
109
- export interface ClassDescriptor extends Descriptor {
110
- /**
111
- * Class namespace. If not provided, class is at the top level.
112
- */
113
- readonly namespace?: string;
114
- /**
115
- * Method infix. If undefined, method name is generated verbatim.
116
- */
117
- readonly methodInfix?: string;
118
- /**
119
- * Replace parameter descriptors for class hierarchies where enumeration parameter descriptors can change.
120
- */
121
- readonly replaceParameterDescriptors?: ReadonlyArray<{
122
- readonly name: string;
123
- readonly replacement: ParameterDescriptor;
124
- }>;
125
- /**
126
- * Method descriptors.
127
- */
128
- readonly methodDescriptors: readonly MethodDescriptor[];
129
- }
130
- /**
131
- * Proxy class type with fixed constructor.
132
- */
133
- type ProxyClassType<ThrowError extends boolean, TError extends ErrorExtends<ThrowError>, TInvocationContext, TBigInt, T extends LibProxy<ThrowError, TError, TInvocationContext, TBigInt>> = (new (appExtension: AppExtension<ThrowError, TError, TInvocationContext, TBigInt>) => T) & typeof LibProxy;
134
- /**
135
- * Proxy parameter decorator.
136
- *
137
- * @param parameterDescriptor
138
- * Parameter descriptor.
139
- *
140
- * @returns
141
- * Function defining metadata for the parameter.
142
- */
143
- export declare function ProxyParameter<ThrowError extends boolean, TError extends ErrorExtends<ThrowError>, TInvocationContext, TBigInt, T extends LibProxy<ThrowError, TError, TInvocationContext, TBigInt>>(parameterDescriptor: ParameterDescriptor): ((target: T, propertyKey: string, parameterIndex: number) => void);
144
- /**
145
- * Proxy method decorator.
146
- *
147
- * @param methodDescriptor
148
- * Method descriptor.
149
- *
150
- * @returns
151
- * Function defining metadata for the method.
152
- */
153
- export declare function ProxyMethod<ThrowError extends boolean, TError extends ErrorExtends<ThrowError>, TInvocationContext, TBigInt, T extends LibProxy<ThrowError, TError, TInvocationContext, TBigInt>>(methodDescriptor: Omit<MethodDescriptor, "name" | "parameterDescriptors">): ((target: T, propertyKey: string, propertyDescriptor: PropertyDescriptor) => void);
154
- /**
155
- * Proxy class decorator.
156
- *
157
- * @param classDescriptor
158
- * Class descriptor.
159
- *
160
- * @returns
161
- * Function defining metadata for the class.
162
- */
163
- export declare function ProxyClass<ThrowError extends boolean, TError extends ErrorExtends<ThrowError>, TInvocationContext, TBigInt, T extends LibProxy<ThrowError, TError, TInvocationContext, TBigInt>>(classDescriptor?: Omit<ClassDescriptor, "name" | "methodDescriptors">): ((classType: ProxyClassType<ThrowError, TError, TInvocationContext, TBigInt, T>) => void);
164
- /**
165
- * Get class descriptors.
166
- *
167
- * @returns
168
- * Class descriptors.
169
- */
170
- export declare function getClassDescriptors(): ReadonlyMap<string, ClassDescriptor>;
171
- export {};
172
- //# sourceMappingURL=descriptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../src/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,UAAU,UAAU;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACd;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAEpD;;GAEG;AACH,UAAU,cAAe,SAAQ,UAAU;IACvC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC3D;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IAChF;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,0BAA0B,CAAC;AAEvF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,uBAAuB,CAO3G;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,aAAa,CAAC;QACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;KAC7C,CAAC,CAAC;IAEH;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC3D;AAED;;GAEG;AACH,KAAK,cAAc,CAAC,UAAU,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,SAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,KAAI,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC;AAiBvS;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,UAAU,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,SAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC,CAIlT;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,UAAU,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,SAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,KAAK,IAAI,CAAC,CA4ChW;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,UAAU,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,SAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB,CAAM,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAmDtW;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAE1E"}
@@ -1,174 +0,0 @@
1
- import { LibProxy } from "./lib-proxy.js";
2
- /**
3
- * Types supported by proxy methods.
4
- */
5
- export const Types = {
6
- /**
7
- * String.
8
- */
9
- String: 0,
10
- /**
11
- * Number or enumeration.
12
- */
13
- Number: 1,
14
- /**
15
- * Boolean.
16
- */
17
- Boolean: 2,
18
- /**
19
- * Any.
20
- */
21
- Any: 3
22
- };
23
- /**
24
- * Expand a parameter descriptor to its full form with all required attributes.
25
- *
26
- * @param parameterDescriptor
27
- * Parameter descriptor.
28
- *
29
- * @returns
30
- * Parameter descriptor in its full form.
31
- */
32
- export function expandParameterDescriptor(parameterDescriptor) {
33
- return !("extendsDescriptor" in parameterDescriptor) ?
34
- parameterDescriptor :
35
- {
36
- ...expandParameterDescriptor(parameterDescriptor.extendsDescriptor),
37
- ...parameterDescriptor
38
- };
39
- }
40
- /**
41
- * Pending parameter descriptors, consumed and reset when method is described.
42
- */
43
- let pendingParameterDescriptors = [];
44
- /**
45
- * Class method descriptors, keyed on declaration class name and method name.
46
- */
47
- const classMethodsDescriptorsMap = new Map();
48
- /**
49
- * Class descriptors, keyed on declaration class name.
50
- */
51
- const classDescriptorsMap = new Map();
52
- /**
53
- * Proxy parameter decorator.
54
- *
55
- * @param parameterDescriptor
56
- * Parameter descriptor.
57
- *
58
- * @returns
59
- * Function defining metadata for the parameter.
60
- */
61
- export function ProxyParameter(parameterDescriptor) {
62
- return (_target, _propertyKey, parameterIndex) => {
63
- pendingParameterDescriptors[parameterIndex] = parameterDescriptor;
64
- };
65
- }
66
- /**
67
- * Proxy method decorator.
68
- *
69
- * @param methodDescriptor
70
- * Method descriptor.
71
- *
72
- * @returns
73
- * Function defining metadata for the method.
74
- */
75
- export function ProxyMethod(methodDescriptor) {
76
- return (target, propertyKey, propertyDescriptor) => {
77
- const declarationClassName = target.constructor.name;
78
- // Validate that method descriptor is applied to a function.
79
- if (typeof propertyDescriptor.value !== "function") {
80
- throw new Error(`${declarationClassName}.${propertyKey} is not a method`);
81
- }
82
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Known to be a method.
83
- const parameterCount = propertyDescriptor.value.length - (!(methodDescriptor.requiresContext ?? false) ? 0 : 1);
84
- let anyOptional = false;
85
- // Validate that all parameters have descriptors.
86
- for (let index = 0; index < parameterCount; index++) {
87
- const parameterDescriptor = expandParameterDescriptor(pendingParameterDescriptors[index]);
88
- if (typeof parameterDescriptor === "undefined") {
89
- throw new Error(`Missing parameter descriptor at index ${index} of ${declarationClassName}.${propertyKey}`);
90
- }
91
- if (!parameterDescriptor.isRequired) {
92
- anyOptional = true;
93
- }
94
- else if (anyOptional) {
95
- throw new Error(`Parameter descriptor ${parameterDescriptor.name} at index ${index} of ${declarationClassName}.${propertyKey} is required but prior parameter descriptor ${pendingParameterDescriptors[index - 1].name} is optional`);
96
- }
97
- }
98
- let methodDescriptors = classMethodsDescriptorsMap.get(declarationClassName);
99
- if (methodDescriptors === undefined) {
100
- methodDescriptors = [];
101
- classMethodsDescriptorsMap.set(declarationClassName, methodDescriptors);
102
- }
103
- // Method descriptors array is constructed in reverse order so that final result is in the correct order.
104
- methodDescriptors.push({
105
- name: propertyKey,
106
- ...methodDescriptor,
107
- parameterDescriptors: pendingParameterDescriptors
108
- });
109
- pendingParameterDescriptors = [];
110
- };
111
- }
112
- /**
113
- * Proxy class decorator.
114
- *
115
- * @param classDescriptor
116
- * Class descriptor.
117
- *
118
- * @returns
119
- * Function defining metadata for the class.
120
- */
121
- export function ProxyClass(classDescriptor = {}) {
122
- return (classType) => {
123
- const methodDescriptorsMap = new Map();
124
- /**
125
- * Build method descriptors map from every class in hierarchy until LibProxy class is reached.
126
- *
127
- * @param classType
128
- * Class type.
129
- */
130
- function buildMethodDescriptorsMap(classType) {
131
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Class hierarchy is known.
132
- const baseClassType = Object.getPrototypeOf(classType);
133
- // Start with class furthest up the hierarchy.
134
- if (baseClassType !== LibProxy) {
135
- buildMethodDescriptorsMap(baseClassType);
136
- }
137
- const classMethodDescriptors = classMethodsDescriptorsMap.get(classType.name);
138
- if (classMethodDescriptors !== undefined) {
139
- for (const classMethodDescriptor of classMethodDescriptors) {
140
- // If any class overrides a base class method, it will appear in the same position as the base class method.
141
- methodDescriptorsMap.set(classMethodDescriptor.name, classMethodDescriptor);
142
- }
143
- }
144
- }
145
- buildMethodDescriptorsMap(classType);
146
- let methodDescriptors;
147
- if (classDescriptor.replaceParameterDescriptors !== undefined) {
148
- const replacementParameterDescriptorsMap = new Map(classDescriptor.replaceParameterDescriptors.map(replaceParameterDescriptor => [replaceParameterDescriptor.name, replaceParameterDescriptor.replacement]));
149
- // Method descriptors for class have to be built as copies due to possible mutation of parameter descriptors.
150
- methodDescriptors = Array.from(methodDescriptorsMap.values()).map(methodDescriptor => ({
151
- ...methodDescriptor,
152
- parameterDescriptors: methodDescriptor.parameterDescriptors.map(parameterDescriptor => replacementParameterDescriptorsMap.get(expandParameterDescriptor(parameterDescriptor).name) ?? parameterDescriptor)
153
- }));
154
- }
155
- else {
156
- methodDescriptors = Array.from(methodDescriptorsMap.values());
157
- }
158
- classDescriptorsMap.set(classType.name, {
159
- name: classType.name,
160
- ...classDescriptor,
161
- methodDescriptors
162
- });
163
- };
164
- }
165
- /**
166
- * Get class descriptors.
167
- *
168
- * @returns
169
- * Class descriptors.
170
- */
171
- export function getClassDescriptors() {
172
- return classDescriptorsMap;
173
- }
174
- //# sourceMappingURL=descriptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../src/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB;;OAEG;IACH,MAAM,EAAE,CAAC;IAET;;OAEG;IACH,MAAM,EAAE,CAAC;IAET;;OAEG;IACH,OAAO,EAAE,CAAC;IAEV;;OAEG;IACH,GAAG,EAAE,CAAC;CACA,CAAC;AAoDX;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,mBAAwC;IAC9E,OAAO,CAAC,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,CAAC,CAAC;QAClD,mBAAmB,CAAC,CAAC;QACrB;YACI,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YACnE,GAAG,mBAAmB;SACzB,CAAC;AACV,CAAC;AA6DD;;GAEG;AACH,IAAI,2BAA2B,GAA0B,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEzE;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAwK,mBAAwC;IAC1O,OAAO,CAAC,OAAU,EAAE,YAAoB,EAAE,cAAsB,EAAE,EAAE;QAChE,2BAA2B,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAAC;IACtE,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAwK,gBAAyE;IACxQ,OAAO,CAAC,MAAS,EAAE,WAAmB,EAAE,kBAAsC,EAAE,EAAE;QAC9E,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QAErD,4DAA4D;QAC5D,IAAI,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,GAAG,oBAAoB,IAAI,WAAW,kBAAkB,CAAC,CAAC;QAC9E,CAAC;QAED,gGAAgG;QAChG,MAAM,cAAc,GAAI,kBAAkB,CAAC,KAAwD,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpK,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,iDAAiD;QACjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAE1F,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,OAAO,oBAAoB,IAAI,WAAW,EAAE,CAAC,CAAC;YAChH,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;gBAClC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,mBAAmB,CAAC,IAAI,aAAa,KAAK,OAAO,oBAAoB,IAAI,WAAW,+CAA+C,2BAA2B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;YAC1O,CAAC;QACL,CAAC;QAED,IAAI,iBAAiB,GAAG,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAClC,iBAAiB,GAAG,EAAE,CAAC;YACvB,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QAED,yGAAyG;QACzG,iBAAiB,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,GAAG,gBAAgB;YACnB,oBAAoB,EAAE,2BAA2B;SACpD,CAAC,CAAC;QAEH,2BAA2B,GAAG,EAAE,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAwK,kBAAuE,EAAE;IACvQ,OAAO,CAAC,SAA6E,EAAE,EAAE;QACrF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;QAEjE;;;;;WAKG;QACH,SAAS,yBAAyB,CAAC,SAA0B;YACzD,oGAAoG;YACpG,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAoB,CAAC;YAE1E,8CAA8C;YAC9C,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE9E,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACvC,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;oBACzD,4GAA4G;oBAC5G,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;QACL,CAAC;QAED,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,iBAAqC,CAAC;QAE1C,IAAI,eAAe,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAE7M,6GAA6G;YAC7G,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACnF,GAAG,gBAAgB;gBACnB,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,kCAAkC,CAAC,GAAG,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC;aAC7M,CAAC,CAAC,CAAC;QACR,CAAC;aAAM,CAAC;YACJ,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YACpC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,GAAG,eAAe;YAClB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IAC/B,OAAO,mBAAmB,CAAC;AAC/B,CAAC"}
@@ -1,107 +0,0 @@
1
- import type { BaseParameterDescriptor, ClassDescriptor, MethodDescriptor } from "../descriptor.js";
2
- /**
3
- * Localization.
4
- */
5
- export interface Localization {
6
- /**
7
- * Name.
8
- */
9
- name: string;
10
- /**
11
- * Description.
12
- */
13
- description: string;
14
- }
15
- /**
16
- * Function localization.
17
- */
18
- export interface FunctionLocalization extends Localization {
19
- /**
20
- * Documentation URL.
21
- */
22
- documentationURL: string;
23
- }
24
- /**
25
- * Parameter localization.
26
- */
27
- export interface ParameterLocalization extends Localization {
28
- }
29
- /**
30
- * Localization descriptor.
31
- */
32
- export interface LocalizationDescriptor<T extends Localization> {
33
- /**
34
- * Localizations map by locale.
35
- */
36
- readonly localizationsMap: ReadonlyMap<string, T>;
37
- }
38
- /**
39
- * Proxy namespace descriptor.
40
- */
41
- export interface ProxyNamespaceDescriptor {
42
- /**
43
- * Namespace if any.
44
- */
45
- readonly namespace: string | undefined;
46
- }
47
- /**
48
- * Proxy class descriptor.
49
- */
50
- export interface ProxyClassDescriptor extends ProxyNamespaceDescriptor {
51
- /**
52
- * Class name.
53
- */
54
- readonly className: string;
55
- /**
56
- * Namespace-qualified class name.
57
- */
58
- readonly namespaceClassName: string;
59
- /**
60
- * Class descriptor.
61
- */
62
- readonly classDescriptor: ClassDescriptor;
63
- }
64
- /**
65
- * Proxy object descriptor.
66
- */
67
- export interface ProxyObjectDescriptor extends ProxyClassDescriptor {
68
- /**
69
- * Object name.
70
- */
71
- readonly objectName: string;
72
- }
73
- /**
74
- * Proxy parameter descriptor.
75
- */
76
- export interface ProxyParameterDescriptor extends ProxyNamespaceDescriptor, LocalizationDescriptor<ParameterLocalization> {
77
- /**
78
- * Function name.
79
- */
80
- readonly parameterName: string;
81
- /**
82
- * Parameter descriptor.
83
- */
84
- readonly parameterDescriptor: BaseParameterDescriptor;
85
- }
86
- /**
87
- * Proxy function descriptor.
88
- */
89
- export interface ProxyFunctionDescriptor extends ProxyObjectDescriptor, LocalizationDescriptor<FunctionLocalization> {
90
- /**
91
- * Function name.
92
- */
93
- readonly functionName: string;
94
- /**
95
- * Namespace-qualified function name.
96
- */
97
- readonly namespaceFunctionName: string;
98
- /**
99
- * Proxy parameter descriptors
100
- */
101
- readonly proxyParameterDescriptors: ProxyParameterDescriptor[];
102
- /**
103
- * Method descriptor.
104
- */
105
- readonly methodDescriptor: MethodDescriptor;
106
- }
107
- //# sourceMappingURL=descriptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/generator/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,YAAY;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,YAAY;IAC1D;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IAClE;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IAC/D;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB,EAAE,sBAAsB,CAAC,qBAAqB,CAAC;IACrH;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB,EAAE,sBAAsB,CAAC,oBAAoB,CAAC;IAChH;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=descriptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/generator/descriptor.ts"],"names":[],"mappings":""}
@@ -1,120 +0,0 @@
1
- import type { FunctionLocalization, ParameterLocalization, ProxyFunctionDescriptor, ProxyObjectDescriptor } from "./descriptor.js";
2
- /**
3
- * Abstract generator.
4
- */
5
- export declare abstract class Generator {
6
- /**
7
- * Documentation base URL.
8
- */
9
- private static readonly DOCUMENTATION_BASE_URL;
10
- /**
11
- * Documentation path, optionally preceded by locale.
12
- */
13
- private static readonly DOCUMENTATION_PATH;
14
- /**
15
- * Locales.
16
- */
17
- private readonly _locales;
18
- /**
19
- * Default locale.
20
- */
21
- private readonly _defaultLocale;
22
- /**
23
- * Map of function localizations maps by namespace function name.
24
- */
25
- private readonly _functionLocalizationsMapsMap;
26
- /**
27
- * Map of parameter localizations maps by namespace function parameter name.
28
- */
29
- private readonly _parameterLocalizationsMapsMap;
30
- /**
31
- *
32
- */
33
- /**
34
- * Constructor.
35
- *
36
- * @param includeLocalizations
37
- * Include localizations if true.
38
- */
39
- constructor(includeLocalizations?: boolean);
40
- /**
41
- * Get the locales.
42
- */
43
- protected get locales(): readonly string[];
44
- /**
45
- * Get the default locale.
46
- */
47
- protected get defaultLocale(): string;
48
- /**
49
- * Get function localization.
50
- *
51
- * @param namespaceFunctionName
52
- * Namespace function name.
53
- *
54
- * @param locale
55
- * Locale.
56
- *
57
- * @returns
58
- * Function localization.
59
- */
60
- protected getFunctionLocalization(namespaceFunctionName: string, locale: string): FunctionLocalization;
61
- /**
62
- * Get parameter localization.
63
- *
64
- * @param namespaceFunctionName
65
- * Namespace function name.
66
- *
67
- * @param parameterName
68
- * Parameter name.
69
- *
70
- * @param locale
71
- * Locale.
72
- *
73
- * @returns
74
- * Function localization.
75
- */
76
- protected getParameterLocalization(namespaceFunctionName: string, parameterName: string, locale: string): ParameterLocalization;
77
- /**
78
- * Initialize the generation of the output.
79
- */
80
- protected abstract initialize(): void;
81
- /**
82
- * Create a proxy object.
83
- *
84
- * @param proxyObjectDescriptor
85
- * Proxy object descriptor.
86
- */
87
- protected abstract createProxyObject(proxyObjectDescriptor: ProxyObjectDescriptor): void;
88
- /**
89
- * Create a proxy function.
90
- *
91
- * @param proxyFunctionDescriptor
92
- * Proxy function descriptor.
93
- */
94
- protected abstract createProxyFunction(proxyFunctionDescriptor: ProxyFunctionDescriptor): void;
95
- /**
96
- * Finalize the generation of the output.
97
- *
98
- * @param success
99
- * True if successful.
100
- */
101
- protected abstract finalize(success: boolean): void | Promise<void>;
102
- /**
103
- * Generate localizations map.
104
- *
105
- * @param localizedKeyPrefix
106
- * Localized key prefix.
107
- *
108
- * @param localizationCallback
109
- * Callback to finalize localization.
110
- *
111
- * @returns
112
- * Localization map.
113
- */
114
- private generateLocalizationsMap;
115
- /**
116
- * Generate by processing individual imports.
117
- */
118
- generate(): Promise<void>;
119
- }
120
- //# sourceMappingURL=generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,oBAAoB,EAEpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,8BAAsB,SAAS;IAC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IAE7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAE9D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAgE;IAE9G;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAiE;IAEhH;;OAEG;IAEH;;;;;OAKG;gBACS,oBAAoB,UAAO;IAKvC;;OAEG;IACH,SAAS,KAAK,OAAO,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAUtG;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAU/H;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAErC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI;IAExF;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,uBAAuB,GAAG,IAAI;IAE9F;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAehC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAyGlC"}