@aidc-toolkit/app-extension 1.0.23-beta → 1.0.25-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.
- package/dist/index.cjs +3457 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1769 -0
- package/dist/index.d.ts +1769 -26
- package/dist/index.js +3409 -9
- package/dist/index.js.map +1 -1
- package/package.json +10 -13
- package/src/app-extension.ts +3 -10
- package/src/app-utility-proxy.ts +5 -4
- package/src/descriptor.ts +18 -9
- package/src/generator/descriptor.ts +1 -1
- package/src/generator/generator.ts +4 -4
- package/src/generator/index.ts +2 -2
- package/src/generator/locale-resources-generator.ts +14 -10
- package/src/gs1/character-set-proxy.ts +18 -8
- package/src/gs1/check-proxy.ts +3 -3
- package/src/gs1/identifier-proxy.ts +71 -66
- package/src/gs1/index.ts +3 -3
- package/src/index.ts +9 -9
- package/src/lib-proxy.ts +3 -3
- package/src/locale/en/locale-resources.ts +9 -0
- package/src/locale/fr/locale-resources.ts +9 -0
- package/src/locale/i18n.ts +3 -5
- package/src/locale/i18next.d.ts +1 -1
- package/{dist/types.d.ts → src/type.ts} +11 -39
- package/src/utility/character-set-descriptor.ts +1 -1
- package/src/utility/character-set-proxy.ts +29 -17
- package/src/utility/index.ts +3 -3
- package/src/utility/reg-exp-proxy.ts +5 -4
- package/src/utility/string-descriptor.ts +1 -1
- package/src/utility/string-proxy.ts +2 -2
- package/src/utility/transformer-descriptor.ts +1 -1
- package/src/utility/transformer-proxy.ts +5 -4
- package/tsup.config.ts +3 -0
- package/dist/app-extension.d.ts +0 -169
- package/dist/app-extension.d.ts.map +0 -1
- package/dist/app-extension.js +0 -148
- package/dist/app-extension.js.map +0 -1
- package/dist/app-utility-proxy.d.ts +0 -66
- package/dist/app-utility-proxy.d.ts.map +0 -1
- package/dist/app-utility-proxy.js +0 -233
- package/dist/app-utility-proxy.js.map +0 -1
- package/dist/descriptor.d.ts +0 -172
- package/dist/descriptor.d.ts.map +0 -1
- package/dist/descriptor.js +0 -174
- package/dist/descriptor.js.map +0 -1
- package/dist/generator/descriptor.d.ts +0 -107
- package/dist/generator/descriptor.d.ts.map +0 -1
- package/dist/generator/descriptor.js +0 -2
- package/dist/generator/descriptor.js.map +0 -1
- package/dist/generator/generator.d.ts +0 -120
- package/dist/generator/generator.d.ts.map +0 -1
- package/dist/generator/generator.js +0 -213
- package/dist/generator/generator.js.map +0 -1
- package/dist/generator/index.d.ts +0 -3
- package/dist/generator/index.d.ts.map +0 -1
- package/dist/generator/index.js +0 -2
- package/dist/generator/index.js.map +0 -1
- package/dist/gs1/character-set-proxy.d.ts +0 -10
- package/dist/gs1/character-set-proxy.d.ts.map +0 -1
- package/dist/gs1/character-set-proxy.js +0 -47
- package/dist/gs1/character-set-proxy.js.map +0 -1
- package/dist/gs1/check-proxy.d.ts +0 -11
- package/dist/gs1/check-proxy.d.ts.map +0 -1
- package/dist/gs1/check-proxy.js +0 -120
- package/dist/gs1/check-proxy.js.map +0 -1
- package/dist/gs1/identifier-proxy.d.ts +0 -136
- package/dist/gs1/identifier-proxy.d.ts.map +0 -1
- package/dist/gs1/identifier-proxy.js +0 -782
- package/dist/gs1/identifier-proxy.js.map +0 -1
- package/dist/gs1/index.d.ts +0 -4
- package/dist/gs1/index.d.ts.map +0 -1
- package/dist/gs1/index.js +0 -4
- package/dist/gs1/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib-proxy.d.ts +0 -135
- package/dist/lib-proxy.d.ts.map +0 -1
- package/dist/lib-proxy.js +0 -235
- package/dist/lib-proxy.js.map +0 -1
- package/dist/locale/en/locale-resources.d.ts +0 -617
- package/dist/locale/en/locale-resources.d.ts.map +0 -1
- package/dist/locale/en/locale-resources.js +0 -616
- package/dist/locale/en/locale-resources.js.map +0 -1
- package/dist/locale/fr/locale-resources.d.ts +0 -617
- package/dist/locale/fr/locale-resources.d.ts.map +0 -1
- package/dist/locale/fr/locale-resources.js +0 -616
- package/dist/locale/fr/locale-resources.js.map +0 -1
- package/dist/locale/i18n.d.ts +0 -27
- package/dist/locale/i18n.d.ts.map +0 -1
- package/dist/locale/i18n.js +0 -39
- package/dist/locale/i18n.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -13
- package/dist/types.js.map +0 -1
- package/dist/utility/character-set-descriptor.d.ts +0 -6
- package/dist/utility/character-set-descriptor.d.ts.map +0 -1
- package/dist/utility/character-set-descriptor.js +0 -28
- package/dist/utility/character-set-descriptor.js.map +0 -1
- package/dist/utility/character-set-proxy.d.ts +0 -26
- package/dist/utility/character-set-proxy.d.ts.map +0 -1
- package/dist/utility/character-set-proxy.js +0 -167
- package/dist/utility/character-set-proxy.js.map +0 -1
- package/dist/utility/index.d.ts +0 -4
- package/dist/utility/index.d.ts.map +0 -1
- package/dist/utility/index.js +0 -4
- package/dist/utility/index.js.map +0 -1
- package/dist/utility/reg-exp-proxy.d.ts +0 -7
- package/dist/utility/reg-exp-proxy.d.ts.map +0 -1
- package/dist/utility/reg-exp-proxy.js +0 -61
- package/dist/utility/reg-exp-proxy.js.map +0 -1
- package/dist/utility/string-descriptor.d.ts +0 -4
- package/dist/utility/string-descriptor.d.ts.map +0 -1
- package/dist/utility/string-descriptor.js +0 -12
- package/dist/utility/string-descriptor.js.map +0 -1
- package/dist/utility/string-proxy.d.ts +0 -8
- package/dist/utility/string-proxy.d.ts.map +0 -1
- package/dist/utility/string-proxy.js +0 -12
- package/dist/utility/string-proxy.js.map +0 -1
- package/dist/utility/transformer-descriptor.d.ts +0 -6
- package/dist/utility/transformer-descriptor.d.ts.map +0 -1
- package/dist/utility/transformer-descriptor.js +0 -24
- package/dist/utility/transformer-descriptor.js.map +0 -1
- package/dist/utility/transformer-proxy.d.ts +0 -8
- package/dist/utility/transformer-proxy.d.ts.map +0 -1
- package/dist/utility/transformer-proxy.js +0 -74
- package/dist/utility/transformer-proxy.js.map +0 -1
- package/src/generator/logger.ts +0 -45
- package/src/types.ts +0 -144
package/dist/descriptor.js
DELETED
|
@@ -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
|
package/dist/descriptor.js.map
DELETED
|
@@ -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 +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"}
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { I18nEnvironments } from "@aidc-toolkit/core";
|
|
2
|
-
import { expandParameterDescriptor, getClassDescriptors } from "../descriptor.js";
|
|
3
|
-
import { appExtensionResources, i18nAppExtensionInit, i18nextAppExtension } from "../locale/i18n.js";
|
|
4
|
-
/**
|
|
5
|
-
* Abstract generator.
|
|
6
|
-
*/
|
|
7
|
-
export class Generator {
|
|
8
|
-
/**
|
|
9
|
-
* Documentation base URL.
|
|
10
|
-
*/
|
|
11
|
-
static DOCUMENTATION_BASE_URL = "https://aidc-toolkit.com/";
|
|
12
|
-
/**
|
|
13
|
-
* Documentation path, optionally preceded by locale.
|
|
14
|
-
*/
|
|
15
|
-
static DOCUMENTATION_PATH = "app-extension/";
|
|
16
|
-
/**
|
|
17
|
-
* Locales.
|
|
18
|
-
*/
|
|
19
|
-
_locales;
|
|
20
|
-
/**
|
|
21
|
-
* Default locale.
|
|
22
|
-
*/
|
|
23
|
-
_defaultLocale;
|
|
24
|
-
/**
|
|
25
|
-
* Map of function localizations maps by namespace function name.
|
|
26
|
-
*/
|
|
27
|
-
_functionLocalizationsMapsMap = new Map();
|
|
28
|
-
/**
|
|
29
|
-
* Map of parameter localizations maps by namespace function parameter name.
|
|
30
|
-
*/
|
|
31
|
-
_parameterLocalizationsMapsMap = new Map();
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* Constructor.
|
|
37
|
-
*
|
|
38
|
-
* @param includeLocalizations
|
|
39
|
-
* Include localizations if true.
|
|
40
|
-
*/
|
|
41
|
-
constructor(includeLocalizations = true) {
|
|
42
|
-
this._locales = includeLocalizations ? Object.keys(appExtensionResources) : [];
|
|
43
|
-
this._defaultLocale = this._locales[0] ?? "";
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get the locales.
|
|
47
|
-
*/
|
|
48
|
-
get locales() {
|
|
49
|
-
return this._locales;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get the default locale.
|
|
53
|
-
*/
|
|
54
|
-
get defaultLocale() {
|
|
55
|
-
return this._defaultLocale;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get function localization.
|
|
59
|
-
*
|
|
60
|
-
* @param namespaceFunctionName
|
|
61
|
-
* Namespace function name.
|
|
62
|
-
*
|
|
63
|
-
* @param locale
|
|
64
|
-
* Locale.
|
|
65
|
-
*
|
|
66
|
-
* @returns
|
|
67
|
-
* Function localization.
|
|
68
|
-
*/
|
|
69
|
-
getFunctionLocalization(namespaceFunctionName, locale) {
|
|
70
|
-
const functionLocalization = this._functionLocalizationsMapsMap.get(namespaceFunctionName)?.get(locale);
|
|
71
|
-
if (functionLocalization === undefined) {
|
|
72
|
-
throw new Error(`Localization for function "${namespaceFunctionName}", locale "${locale}" not found`);
|
|
73
|
-
}
|
|
74
|
-
return functionLocalization;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get parameter localization.
|
|
78
|
-
*
|
|
79
|
-
* @param namespaceFunctionName
|
|
80
|
-
* Namespace function name.
|
|
81
|
-
*
|
|
82
|
-
* @param parameterName
|
|
83
|
-
* Parameter name.
|
|
84
|
-
*
|
|
85
|
-
* @param locale
|
|
86
|
-
* Locale.
|
|
87
|
-
*
|
|
88
|
-
* @returns
|
|
89
|
-
* Function localization.
|
|
90
|
-
*/
|
|
91
|
-
getParameterLocalization(namespaceFunctionName, parameterName, locale) {
|
|
92
|
-
const parameterLocalization = this._parameterLocalizationsMapsMap.get(`${namespaceFunctionName}.${parameterName}`)?.get(locale);
|
|
93
|
-
if (parameterLocalization === undefined) {
|
|
94
|
-
throw new Error(`Localization for function "${namespaceFunctionName}", parameter "${parameterName}", locale "${locale}" not found`);
|
|
95
|
-
}
|
|
96
|
-
return parameterLocalization;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Generate localizations map.
|
|
100
|
-
*
|
|
101
|
-
* @param localizedKeyPrefix
|
|
102
|
-
* Localized key prefix.
|
|
103
|
-
*
|
|
104
|
-
* @param localizationCallback
|
|
105
|
-
* Callback to finalize localization.
|
|
106
|
-
*
|
|
107
|
-
* @returns
|
|
108
|
-
* Localization map.
|
|
109
|
-
*/
|
|
110
|
-
generateLocalizationsMap(localizedKeyPrefix, localizationCallback) {
|
|
111
|
-
return new Map(this._locales.map((locale) => {
|
|
112
|
-
const lngOption = {
|
|
113
|
-
lng: locale
|
|
114
|
-
};
|
|
115
|
-
return [locale, localizationCallback(locale, {
|
|
116
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Localized key exists.
|
|
117
|
-
name: i18nextAppExtension.t(`${localizedKeyPrefix}name`, lngOption),
|
|
118
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Localized key exists.
|
|
119
|
-
description: i18nextAppExtension.t(`${localizedKeyPrefix}description`, lngOption)
|
|
120
|
-
})];
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Generate by processing individual imports.
|
|
125
|
-
*/
|
|
126
|
-
async generate() {
|
|
127
|
-
let success = false;
|
|
128
|
-
await i18nAppExtensionInit(I18nEnvironments.CLI);
|
|
129
|
-
this.initialize();
|
|
130
|
-
try {
|
|
131
|
-
for (const classDescriptor of getClassDescriptors().values()) {
|
|
132
|
-
const namespace = classDescriptor.namespace;
|
|
133
|
-
const namespacePrefix = namespace === undefined ? "" : `${namespace}.`;
|
|
134
|
-
const className = classDescriptor.name;
|
|
135
|
-
const methodInfix = classDescriptor.methodInfix;
|
|
136
|
-
// Namespace-qualified class name is used to construct object name.
|
|
137
|
-
const namespaceClassName = `${namespacePrefix}${className}`;
|
|
138
|
-
// First capture group is:
|
|
139
|
-
// - one or more uppercase letters followed by zero or more numbers; or
|
|
140
|
-
// - single uppercase letter followed by zero or more characters except uppercase letters or period.
|
|
141
|
-
// Second capture group is:
|
|
142
|
-
// - single uppercase letter followed by zero or more characters except period; or
|
|
143
|
-
// - zero characters (empty string).
|
|
144
|
-
// Third capture group, separated by optional period, is:
|
|
145
|
-
// - single uppercase letter followed by zero or more characters (remainder of string); or
|
|
146
|
-
// - zero characters (empty string).
|
|
147
|
-
const classNameMatch = /^([A-Z]+[0-9]*|[A-Z][^A-Z.]*)([A-Z][^.]*|)\.?([A-Z].*|)$/.exec(namespaceClassName);
|
|
148
|
-
if (classNameMatch === null) {
|
|
149
|
-
throw new Error(`${namespaceClassName} is not a valid namespace-qualified class name`);
|
|
150
|
-
}
|
|
151
|
-
const proxyObjectDescriptor = {
|
|
152
|
-
namespace,
|
|
153
|
-
className,
|
|
154
|
-
namespaceClassName,
|
|
155
|
-
classDescriptor,
|
|
156
|
-
objectName: `${classNameMatch[1].toLowerCase()}${classNameMatch[2]}${classNameMatch[3]}`
|
|
157
|
-
};
|
|
158
|
-
this.createProxyObject(proxyObjectDescriptor);
|
|
159
|
-
for (const methodDescriptor of classDescriptor.methodDescriptors) {
|
|
160
|
-
const methodName = methodDescriptor.name;
|
|
161
|
-
const infixBefore = methodDescriptor.infixBefore;
|
|
162
|
-
let functionName;
|
|
163
|
-
if (methodInfix === undefined || methodDescriptor.ignoreInfix === true) {
|
|
164
|
-
// No other classes in the hierarchy or no infix required.
|
|
165
|
-
functionName = methodName;
|
|
166
|
-
}
|
|
167
|
-
else if (infixBefore === undefined) {
|
|
168
|
-
// Other classes in the hierarchy and infix is postfix.
|
|
169
|
-
functionName = `${methodName}${methodInfix}`;
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
const insertIndex = methodName.indexOf(infixBefore);
|
|
173
|
-
if (insertIndex === -1) {
|
|
174
|
-
throw new Error(`Cannot find "${infixBefore}" in method name ${methodName}`);
|
|
175
|
-
}
|
|
176
|
-
// Other classes in the hierarchy and infix is in the middle of the string.
|
|
177
|
-
functionName = `${methodName.substring(0, insertIndex)}${methodInfix}${methodName.substring(insertIndex)}`;
|
|
178
|
-
}
|
|
179
|
-
const namespaceFunctionName = `${namespacePrefix}${functionName}`;
|
|
180
|
-
const functionLocalizationsMap = this.generateLocalizationsMap(`Functions.${namespaceFunctionName}.`, (locale, localization) => ({
|
|
181
|
-
...localization,
|
|
182
|
-
documentationURL: `${Generator.DOCUMENTATION_BASE_URL}${locale === this.defaultLocale ? "" : `${locale}/`}${Generator.DOCUMENTATION_PATH}${namespace === undefined ? "" : `${namespace}/`}${localization.name}.html`
|
|
183
|
-
}));
|
|
184
|
-
this._functionLocalizationsMapsMap.set(namespaceFunctionName, functionLocalizationsMap);
|
|
185
|
-
this.createProxyFunction({
|
|
186
|
-
...proxyObjectDescriptor,
|
|
187
|
-
functionName,
|
|
188
|
-
namespaceFunctionName,
|
|
189
|
-
localizationsMap: functionLocalizationsMap,
|
|
190
|
-
proxyParameterDescriptors: methodDescriptor.parameterDescriptors.map((parameterDescriptor) => {
|
|
191
|
-
const expandedParameterDescriptor = expandParameterDescriptor(parameterDescriptor);
|
|
192
|
-
const parameterName = expandedParameterDescriptor.name;
|
|
193
|
-
const parameterLocalizationsMap = this.generateLocalizationsMap(`Parameters.${parameterName}.`, (_locale, localization) => localization);
|
|
194
|
-
this._parameterLocalizationsMapsMap.set(`${namespaceFunctionName}.${parameterName}`, parameterLocalizationsMap);
|
|
195
|
-
return {
|
|
196
|
-
namespace,
|
|
197
|
-
parameterName,
|
|
198
|
-
localizationsMap: parameterLocalizationsMap,
|
|
199
|
-
parameterDescriptor: expandedParameterDescriptor
|
|
200
|
-
};
|
|
201
|
-
}),
|
|
202
|
-
methodDescriptor
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
success = true;
|
|
207
|
-
}
|
|
208
|
-
finally {
|
|
209
|
-
await this.finalize(success);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
package/dist/generator/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC"}
|