@aidc-toolkit/app-extension 1.0.45-beta → 1.0.45

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 (160) hide show
  1. package/dist/index.cjs +17 -0
  2. package/dist/index.d.cts +1752 -0
  3. package/dist/index.d.ts +1752 -26
  4. package/dist/index.js +1 -8
  5. package/package.json +5 -5
  6. package/tsconfig-src.tsbuildinfo +1 -1
  7. package/dist/app-extension.d.ts +0 -194
  8. package/dist/app-extension.d.ts.map +0 -1
  9. package/dist/app-extension.js +0 -133
  10. package/dist/app-extension.js.map +0 -1
  11. package/dist/app-helper-proxy.d.ts +0 -61
  12. package/dist/app-helper-proxy.d.ts.map +0 -1
  13. package/dist/app-helper-proxy.js +0 -333
  14. package/dist/app-helper-proxy.js.map +0 -1
  15. package/dist/descriptor.d.ts +0 -197
  16. package/dist/descriptor.d.ts.map +0 -1
  17. package/dist/descriptor.js +0 -44
  18. package/dist/descriptor.js.map +0 -1
  19. package/dist/generator/generator.d.ts +0 -124
  20. package/dist/generator/generator.d.ts.map +0 -1
  21. package/dist/generator/generator.js +0 -190
  22. package/dist/generator/generator.js.map +0 -1
  23. package/dist/generator/index.d.ts +0 -18
  24. package/dist/generator/index.d.ts.map +0 -1
  25. package/dist/generator/index.js +0 -18
  26. package/dist/generator/index.js.map +0 -1
  27. package/dist/generator/locale-resources-generator.d.ts +0 -2
  28. package/dist/generator/locale-resources-generator.d.ts.map +0 -1
  29. package/dist/generator/locale-resources-generator.js +0 -312
  30. package/dist/generator/locale-resources-generator.js.map +0 -1
  31. package/dist/gs1/character-set-proxy.d.ts +0 -13
  32. package/dist/gs1/character-set-proxy.d.ts.map +0 -1
  33. package/dist/gs1/character-set-proxy.js +0 -126
  34. package/dist/gs1/character-set-proxy.js.map +0 -1
  35. package/dist/gs1/check-proxy.d.ts +0 -11
  36. package/dist/gs1/check-proxy.d.ts.map +0 -1
  37. package/dist/gs1/check-proxy.js +0 -163
  38. package/dist/gs1/check-proxy.js.map +0 -1
  39. package/dist/gs1/gcp-length-proxy.d.ts +0 -11
  40. package/dist/gs1/gcp-length-proxy.d.ts.map +0 -1
  41. package/dist/gs1/gcp-length-proxy.js +0 -190
  42. package/dist/gs1/gcp-length-proxy.js.map +0 -1
  43. package/dist/gs1/gtin-creator-proxy.d.ts +0 -10
  44. package/dist/gs1/gtin-creator-proxy.d.ts.map +0 -1
  45. package/dist/gs1/gtin-creator-proxy.js +0 -85
  46. package/dist/gs1/gtin-creator-proxy.js.map +0 -1
  47. package/dist/gs1/gtin-descriptor.d.ts +0 -3
  48. package/dist/gs1/gtin-descriptor.d.ts.map +0 -1
  49. package/dist/gs1/gtin-descriptor.js +0 -8
  50. package/dist/gs1/gtin-descriptor.js.map +0 -1
  51. package/dist/gs1/gtin-validator-proxy.d.ts +0 -26
  52. package/dist/gs1/gtin-validator-proxy.d.ts.map +0 -1
  53. package/dist/gs1/gtin-validator-proxy.js +0 -256
  54. package/dist/gs1/gtin-validator-proxy.js.map +0 -1
  55. package/dist/gs1/identifier-creator-proxy.d.ts +0 -30
  56. package/dist/gs1/identifier-creator-proxy.d.ts.map +0 -1
  57. package/dist/gs1/identifier-creator-proxy.js +0 -302
  58. package/dist/gs1/identifier-creator-proxy.js.map +0 -1
  59. package/dist/gs1/identifier-descriptor.d.ts +0 -4
  60. package/dist/gs1/identifier-descriptor.d.ts.map +0 -1
  61. package/dist/gs1/identifier-descriptor.js +0 -14
  62. package/dist/gs1/identifier-descriptor.js.map +0 -1
  63. package/dist/gs1/identifier-type.d.ts +0 -22
  64. package/dist/gs1/identifier-type.d.ts.map +0 -1
  65. package/dist/gs1/identifier-type.js +0 -34
  66. package/dist/gs1/identifier-type.js.map +0 -1
  67. package/dist/gs1/identifier-validator-proxy.d.ts +0 -29
  68. package/dist/gs1/identifier-validator-proxy.d.ts.map +0 -1
  69. package/dist/gs1/identifier-validator-proxy.js +0 -212
  70. package/dist/gs1/identifier-validator-proxy.js.map +0 -1
  71. package/dist/gs1/index.d.ts +0 -11
  72. package/dist/gs1/index.d.ts.map +0 -1
  73. package/dist/gs1/index.js +0 -11
  74. package/dist/gs1/index.js.map +0 -1
  75. package/dist/gs1/non-gtin-creator-proxy.d.ts +0 -38
  76. package/dist/gs1/non-gtin-creator-proxy.d.ts.map +0 -1
  77. package/dist/gs1/non-gtin-creator-proxy.js +0 -301
  78. package/dist/gs1/non-gtin-creator-proxy.js.map +0 -1
  79. package/dist/gs1/non-gtin-validator-proxy.d.ts +0 -37
  80. package/dist/gs1/non-gtin-validator-proxy.d.ts.map +0 -1
  81. package/dist/gs1/non-gtin-validator-proxy.js +0 -302
  82. package/dist/gs1/non-gtin-validator-proxy.js.map +0 -1
  83. package/dist/gs1/prefix-definition-descriptor.d.ts +0 -4
  84. package/dist/gs1/prefix-definition-descriptor.d.ts.map +0 -1
  85. package/dist/gs1/prefix-definition-descriptor.js +0 -16
  86. package/dist/gs1/prefix-definition-descriptor.js.map +0 -1
  87. package/dist/gs1/prefix-manager-proxy.d.ts +0 -8
  88. package/dist/gs1/prefix-manager-proxy.d.ts.map +0 -1
  89. package/dist/gs1/prefix-manager-proxy.js +0 -94
  90. package/dist/gs1/prefix-manager-proxy.js.map +0 -1
  91. package/dist/gs1/variable-measure-proxy.d.ts +0 -7
  92. package/dist/gs1/variable-measure-proxy.d.ts.map +0 -1
  93. package/dist/gs1/variable-measure-proxy.js +0 -114
  94. package/dist/gs1/variable-measure-proxy.js.map +0 -1
  95. package/dist/gs1/verified-by-gs1-proxy.d.ts +0 -7
  96. package/dist/gs1/verified-by-gs1-proxy.d.ts.map +0 -1
  97. package/dist/gs1/verified-by-gs1-proxy.js +0 -106
  98. package/dist/gs1/verified-by-gs1-proxy.js.map +0 -1
  99. package/dist/index.d.ts.map +0 -1
  100. package/dist/index.js.map +0 -1
  101. package/dist/lib-proxy.d.ts +0 -135
  102. package/dist/lib-proxy.d.ts.map +0 -1
  103. package/dist/lib-proxy.js +0 -276
  104. package/dist/lib-proxy.js.map +0 -1
  105. package/dist/locale/en/locale-resources.d.ts +0 -752
  106. package/dist/locale/en/locale-resources.d.ts.map +0 -1
  107. package/dist/locale/en/locale-resources.js +0 -751
  108. package/dist/locale/en/locale-resources.js.map +0 -1
  109. package/dist/locale/fr/locale-resources.d.ts +0 -752
  110. package/dist/locale/fr/locale-resources.d.ts.map +0 -1
  111. package/dist/locale/fr/locale-resources.js +0 -751
  112. package/dist/locale/fr/locale-resources.js.map +0 -1
  113. package/dist/locale/i18n.d.ts +0 -27
  114. package/dist/locale/i18n.d.ts.map +0 -1
  115. package/dist/locale/i18n.js +0 -36
  116. package/dist/locale/i18n.js.map +0 -1
  117. package/dist/proxy.d.ts +0 -136
  118. package/dist/proxy.d.ts.map +0 -1
  119. package/dist/proxy.js +0 -295
  120. package/dist/proxy.js.map +0 -1
  121. package/dist/streaming.d.ts +0 -10
  122. package/dist/streaming.d.ts.map +0 -1
  123. package/dist/streaming.js +0 -2
  124. package/dist/streaming.js.map +0 -1
  125. package/dist/type.d.ts +0 -91
  126. package/dist/type.d.ts.map +0 -1
  127. package/dist/type.js +0 -2
  128. package/dist/type.js.map +0 -1
  129. package/dist/utility/character-set-descriptor.d.ts +0 -6
  130. package/dist/utility/character-set-descriptor.d.ts.map +0 -1
  131. package/dist/utility/character-set-descriptor.js +0 -28
  132. package/dist/utility/character-set-descriptor.js.map +0 -1
  133. package/dist/utility/character-set-proxy.d.ts +0 -31
  134. package/dist/utility/character-set-proxy.d.ts.map +0 -1
  135. package/dist/utility/character-set-proxy.js +0 -278
  136. package/dist/utility/character-set-proxy.js.map +0 -1
  137. package/dist/utility/index.d.ts +0 -4
  138. package/dist/utility/index.d.ts.map +0 -1
  139. package/dist/utility/index.js +0 -4
  140. package/dist/utility/index.js.map +0 -1
  141. package/dist/utility/reg-exp-proxy.d.ts +0 -8
  142. package/dist/utility/reg-exp-proxy.d.ts.map +0 -1
  143. package/dist/utility/reg-exp-proxy.js +0 -103
  144. package/dist/utility/reg-exp-proxy.js.map +0 -1
  145. package/dist/utility/string-descriptor.d.ts +0 -4
  146. package/dist/utility/string-descriptor.d.ts.map +0 -1
  147. package/dist/utility/string-descriptor.js +0 -12
  148. package/dist/utility/string-descriptor.js.map +0 -1
  149. package/dist/utility/string-proxy.d.ts +0 -7
  150. package/dist/utility/string-proxy.d.ts.map +0 -1
  151. package/dist/utility/string-proxy.js +0 -63
  152. package/dist/utility/string-proxy.js.map +0 -1
  153. package/dist/utility/transformer-descriptor.d.ts +0 -6
  154. package/dist/utility/transformer-descriptor.d.ts.map +0 -1
  155. package/dist/utility/transformer-descriptor.js +0 -24
  156. package/dist/utility/transformer-descriptor.js.map +0 -1
  157. package/dist/utility/transformer-proxy.d.ts +0 -9
  158. package/dist/utility/transformer-proxy.d.ts.map +0 -1
  159. package/dist/utility/transformer-proxy.js +0 -111
  160. package/dist/utility/transformer-proxy.js.map +0 -1
package/dist/lib-proxy.js DELETED
@@ -1,276 +0,0 @@
1
- import { mapIterable } from "@aidc-toolkit/utility";
2
- import { i18nextAppExtension } from "./locale/i18n.js";
3
- /**
4
- * Library proxy.
5
- *
6
- * @template ThrowError
7
- * If true, errors are reported through the throw/catch mechanism.
8
- *
9
- * @template TError
10
- * Error type.
11
- *
12
- * @template TInvocationContext
13
- * Application-specific invocation context type.
14
- *
15
- * @template TStreamingInvocationContext
16
- * Application-specific streaming invocation context type.
17
- *
18
- * @template TBigInt
19
- * Type to which big integer is mapped.
20
- */
21
- export class LibProxy {
22
- /**
23
- * Application extension.
24
- */
25
- #appExtension;
26
- /**
27
- * Constructor.
28
- *
29
- * @param appExtension
30
- * Application extension.
31
- */
32
- constructor(appExtension) {
33
- this.#appExtension = appExtension;
34
- }
35
- /**
36
- * Get the application extension.
37
- */
38
- get appExtension() {
39
- return this.#appExtension;
40
- }
41
- /**
42
- * Map big integer to another type if necessary.
43
- *
44
- * @param value
45
- * Big integer value to map.
46
- *
47
- * @returns
48
- * Mapped big integer value.
49
- */
50
- mapBigInt(value) {
51
- return this.#appExtension.mapBigInt(value);
52
- }
53
- /**
54
- * Handle an error thrown by a function call. Return type is {@linkcode SingletonResult} to ensure assignment
55
- * compatibility.
56
- *
57
- * @param e
58
- * Error.
59
- *
60
- * @returns
61
- * Error if errors are not thrown.
62
- */
63
- #handleError(e) {
64
- let result;
65
- if (e instanceof RangeError) {
66
- const error = this.#appExtension.mapRangeError(e);
67
- if (this.#appExtension.throwError) {
68
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Type is determined by application mapping.
69
- throw error;
70
- }
71
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Won't get here if ThrowError is false so result is TError.
72
- result = error;
73
- }
74
- else {
75
- // Unknown error; pass on to application extension.
76
- result = this.appExtension.handleError(e instanceof Error ? e.message : String(e));
77
- }
78
- return result;
79
- }
80
- /**
81
- * Call a singleton result function with error handling.
82
- *
83
- * @param callback
84
- * Callback.
85
- *
86
- * @returns
87
- * Callback return or error if errors are not thrown.
88
- */
89
- singletonResult(callback) {
90
- let result;
91
- try {
92
- result = callback();
93
- }
94
- catch (e) {
95
- result = this.#handleError(e);
96
- }
97
- return result;
98
- }
99
- /**
100
- * Call a matrix result function with error handling.
101
- *
102
- * @param matrixValues
103
- * Matrix of values.
104
- *
105
- * @param valueCallback
106
- * Callback to process value.
107
- *
108
- * @returns
109
- * Matrix of callback results and errors if errors are not thrown.
110
- */
111
- matrixResult(matrixValues, valueCallback) {
112
- return matrixValues.map(rowValues => rowValues.map(value => this.singletonResult(() => valueCallback(value))));
113
- }
114
- /**
115
- * Map a matrix of validate string results to boolean. If the string is empty, the result is true, indicating that
116
- * there is no error.
117
- *
118
- * @param matrixValidateResults
119
- * Matrix of results from a call to a validate function.
120
- *
121
- * @returns
122
- * Matrix of boolean values, true if corresponding string is empty.
123
- */
124
- isValidString(matrixValidateResults) {
125
- return matrixValidateResults.map(rowValues => rowValues.map(value => (validateResult => validateResult === "")(value)));
126
- }
127
- /**
128
- * Set up a mapping and call a matrix result function with error handling.
129
- *
130
- * @param setUpCallback
131
- * Callback to set up the mapping.
132
- *
133
- * @param matrixValues
134
- * Matrix of values.
135
- *
136
- * @param valueCallback
137
- * Callback to process value.
138
- *
139
- * @returns
140
- * Matrix of callback results and errors if errors are not thrown.
141
- */
142
- setUpMatrixResult(setUpCallback, matrixValues, valueCallback) {
143
- let result;
144
- try {
145
- result = matrixValues.map(rowValues => rowValues.map(value => this.singletonResult(() => valueCallback(setUpCallback(), value))));
146
- }
147
- catch (e) {
148
- result = [[this.#handleError(e)]];
149
- }
150
- return result;
151
- }
152
- /**
153
- * Do the callback for an array return.
154
- *
155
- * @param value
156
- * Value.
157
- *
158
- * @param callback
159
- * Callback.
160
- *
161
- * @returns
162
- * Callback result or error as array if errors are not thrown.
163
- */
164
- #arrayCallback(value, callback) {
165
- const result = this.singletonResult(() => callback(value));
166
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- If result is not an array, it must be an error.
167
- return result instanceof Array ? result : [result];
168
- }
169
- /**
170
- * Call an array result function with error handling and map to a matrix.
171
- *
172
- * @param matrixValues
173
- * Matrix of values.
174
- *
175
- * @param callback
176
- * Callback.
177
- *
178
- * @returns
179
- * Matrix of callback results and errors if errors are not thrown.
180
- */
181
- arrayResult(matrixValues, callback) {
182
- let result;
183
- if (matrixValues.length === 0) {
184
- // Special case; unlikely to occur.
185
- result = [[]];
186
- }
187
- else if (matrixValues.length === 1) {
188
- result = [];
189
- matrixValues[0].forEach((value, columnIndex) => {
190
- const arrayResult = this.#arrayCallback(value, callback);
191
- arrayResult.forEach((resultError, rowIndex) => {
192
- // Append a row if necessary.
193
- if (result.length <= rowIndex) {
194
- result.push([]);
195
- }
196
- // Assignment will automatically expand row to the number of columns in the matrix.
197
- result[rowIndex][columnIndex] = resultError;
198
- });
199
- });
200
- }
201
- else {
202
- result = matrixValues.map((rowValue) => {
203
- let arrayResult;
204
- if (rowValue.length === 0) {
205
- // Special case; unlikely to occur.
206
- arrayResult = [];
207
- }
208
- else if (rowValue.length === 1) {
209
- arrayResult = this.#arrayCallback(rowValue[0], callback);
210
- }
211
- else {
212
- arrayResult = [this.#handleError(new RangeError(i18nextAppExtension.t("Proxy.matrixMustBeArray")))];
213
- }
214
- return arrayResult;
215
- });
216
- }
217
- return result;
218
- }
219
- /**
220
- * Call a matrix result function with error handling and map a non-error result to an empty string and {@linkcode
221
- * RangeError} to the string error message.
222
- *
223
- * @param matrixValues
224
- * Matrix of values.
225
- *
226
- * @param callback
227
- * Callback that either returns or throws an exception.
228
- *
229
- * @returns
230
- * Matrix of strings.
231
- */
232
- matrixErrorResult(matrixValues, callback) {
233
- return matrixValues.map(rowValues => rowValues.map((value) => {
234
- let result;
235
- try {
236
- callback(value);
237
- // No error; return empty string.
238
- result = "";
239
- }
240
- catch (e) {
241
- if (e instanceof RangeError) {
242
- // Library error; return error message.
243
- result = e.message;
244
- }
245
- else {
246
- // Unknown error; pass up the stack.
247
- throw e;
248
- }
249
- }
250
- return result;
251
- }));
252
- }
253
- /**
254
- * Call an iterable result function with error handling and map to a matrix. Although the natural approach would be
255
- * to map to a single-element array containing an array of *N* results (i.e., [[r0, r1, r2, ..., r*N*]]), this is
256
- * rendered visually as a single row. The more readable approach is as a single column, so the mapping is to an
257
- * *N*-element array of single-element result arrays (i.e., [[r0], [r1], [r2], ..., [r*N*]]).
258
- *
259
- * @param iterableCallback
260
- * Iterable callback.
261
- *
262
- * @returns
263
- * Matrix of callback results.
264
- */
265
- iterableResult(iterableCallback) {
266
- let result;
267
- try {
268
- result = Array.from(mapIterable(iterableCallback(), result => [result]));
269
- }
270
- catch (e) {
271
- result = [[this.#handleError(e)]];
272
- }
273
- return result;
274
- }
275
- }
276
- //# sourceMappingURL=lib-proxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib-proxy.js","sourceRoot":"","sources":["../src/lib-proxy.ts"],"names":[],"mappings":"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"}