@voxgig/sdkgen 0.32.2 → 0.32.3

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 (56) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/cmp/Readme.js +10 -0
  3. package/dist/cmp/Readme.js.map +1 -1
  4. package/dist/cmp/ReadmeEntity.js +91 -8
  5. package/dist/cmp/ReadmeEntity.js.map +1 -1
  6. package/dist/cmp/ReadmeIntro.js +24 -2
  7. package/dist/cmp/ReadmeIntro.js.map +1 -1
  8. package/dist/cmp/ReadmeModel.js +93 -16
  9. package/dist/cmp/ReadmeModel.js.map +1 -1
  10. package/dist/cmp/ReadmeOptions.js +30 -5
  11. package/dist/cmp/ReadmeOptions.js.map +1 -1
  12. package/dist/cmp/ReadmeRef.d.ts +2 -0
  13. package/dist/cmp/ReadmeRef.js +334 -0
  14. package/dist/cmp/ReadmeRef.js.map +1 -0
  15. package/dist/sdkgen.d.ts +2 -1
  16. package/dist/sdkgen.js +3 -1
  17. package/dist/sdkgen.js.map +1 -1
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/project/.sdk/src/cmp/go/TestDirect_go.ts +2 -2
  21. package/project/.sdk/src/cmp/go/TestEntity_go.ts +3 -3
  22. package/project/.sdk/src/cmp/js/Config_js.ts +62 -23
  23. package/project/.sdk/src/cmp/js/EntityOperation_js.ts +49 -0
  24. package/project/.sdk/src/cmp/js/Entity_js.ts +21 -50
  25. package/project/.sdk/src/cmp/js/MainEntity_js.ts +1 -1
  26. package/project/.sdk/src/cmp/js/Main_js.ts +53 -44
  27. package/project/.sdk/src/cmp/js/Package_js.ts +39 -12
  28. package/project/.sdk/src/cmp/js/Quick_js.ts +6 -10
  29. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +101 -5
  30. package/project/.sdk/src/cmp/js/SdkError_js.ts +42 -0
  31. package/project/.sdk/src/cmp/js/TestDirect_js.ts +288 -0
  32. package/project/.sdk/src/cmp/js/TestEntity_js.ts +352 -2
  33. package/project/.sdk/src/cmp/js/TestMain_js.ts +0 -3
  34. package/project/.sdk/src/cmp/js/Test_js.ts +20 -8
  35. package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +55 -0
  36. package/project/.sdk/src/cmp/js/fragment/Direct.test.fragment.js +30 -0
  37. package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +119 -28
  38. package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +39 -0
  39. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +89 -45
  40. package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +92 -41
  41. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +95 -45
  42. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +95 -43
  43. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +95 -43
  44. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +150 -65
  45. package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +22 -0
  46. package/project/.sdk/src/cmp/js/utility_js.ts +64 -0
  47. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +102 -5
  48. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -2
  49. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +11 -8
  50. package/src/cmp/Readme.ts +12 -0
  51. package/src/cmp/ReadmeEntity.ts +105 -9
  52. package/src/cmp/ReadmeIntro.ts +30 -2
  53. package/src/cmp/ReadmeModel.ts +101 -18
  54. package/src/cmp/ReadmeOptions.ts +35 -6
  55. package/src/cmp/ReadmeRef.ts +369 -0
  56. package/src/sdkgen.ts +2 -0
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadmeRef = void 0;
4
+ const jostraca_1 = require("jostraca");
5
+ const types_1 = require("../types");
6
+ const OP_SIGNATURES = {
7
+ load: {
8
+ sig: 'load(match: object, ctrl?: object)',
9
+ returns: 'Promise<object>',
10
+ desc: 'Load a single entity matching the given criteria.',
11
+ },
12
+ list: {
13
+ sig: 'list(match: object, ctrl?: object)',
14
+ returns: 'Promise<object[]>',
15
+ desc: 'List entities matching the given criteria. Returns an array.',
16
+ },
17
+ create: {
18
+ sig: 'create(data: object, ctrl?: object)',
19
+ returns: 'Promise<object>',
20
+ desc: 'Create a new entity with the given data.',
21
+ },
22
+ update: {
23
+ sig: 'update(data: object, ctrl?: object)',
24
+ returns: 'Promise<object>',
25
+ desc: 'Update an existing entity. The data must include the entity `id`.',
26
+ },
27
+ remove: {
28
+ sig: 'remove(match: object, ctrl?: object)',
29
+ returns: 'Promise<void>',
30
+ desc: 'Remove the entity matching the given criteria.',
31
+ },
32
+ };
33
+ const ReadmeRef = (0, jostraca_1.cmp)(function ReadmeRef(props) {
34
+ const { target } = props;
35
+ const { model } = props.ctx$;
36
+ const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`);
37
+ const feature = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.feature`);
38
+ const publishedEntities = (0, jostraca_1.each)(entity).filter((e) => e.publish);
39
+ (0, jostraca_1.File)({ name: 'REFERENCE.md' }, () => {
40
+ (0, jostraca_1.Content)(`# ${model.Name} ${target.title} SDK Reference
41
+
42
+ Complete API reference for the ${model.Name} ${target.title} SDK.
43
+
44
+
45
+ ## ${model.Name}SDK
46
+
47
+ ### Constructor
48
+
49
+ \`\`\`ts
50
+ new ${model.Name}SDK(options?: object)
51
+ \`\`\`
52
+
53
+ Create a new SDK client instance.
54
+
55
+ **Parameters:**
56
+
57
+ | Name | Type | Description |
58
+ | --- | --- | --- |
59
+ | \`options\` | \`object\` | SDK configuration options. |
60
+ | \`options.apikey\` | \`string\` | API key for authentication. |
61
+ | \`options.base\` | \`string\` | Base URL for API requests. |
62
+ | \`options.prefix\` | \`string\` | URL prefix appended after base. |
63
+ | \`options.suffix\` | \`string\` | URL suffix appended after path. |
64
+ | \`options.headers\` | \`object\` | Custom headers for all requests. |
65
+ | \`options.feature\` | \`object\` | Feature configuration. |
66
+ | \`options.system\` | \`object\` | System overrides (e.g. custom fetch). |
67
+
68
+
69
+ ### Static Methods
70
+
71
+ #### \`${model.Name}SDK.test(testopts?, sdkopts?)\`
72
+
73
+ Create a test client with mock features active.
74
+
75
+ \`\`\`ts
76
+ const client = ${model.Name}SDK.test()
77
+ \`\`\`
78
+
79
+ **Parameters:**
80
+
81
+ | Name | Type | Description |
82
+ | --- | --- | --- |
83
+ | \`testopts\` | \`object\` | Test feature options. |
84
+ | \`sdkopts\` | \`object\` | Additional SDK options merged with test defaults. |
85
+
86
+ **Returns:** \`${model.Name}SDK\` instance in test mode.
87
+
88
+
89
+ ### Instance Methods
90
+
91
+ `);
92
+ // Entity factory methods
93
+ publishedEntities.map((ent) => {
94
+ (0, jostraca_1.Content)(`#### \`${ent.Name}(data?: object)\`
95
+
96
+ Create a new \`${ent.Name}\` entity instance.
97
+
98
+ **Parameters:**
99
+
100
+ | Name | Type | Description |
101
+ | --- | --- | --- |
102
+ | \`data\` | \`object\` | Initial entity data. |
103
+
104
+ **Returns:** \`${ent.Name}Entity\` instance.
105
+
106
+ `);
107
+ });
108
+ (0, jostraca_1.Content)(`#### \`options()\`
109
+
110
+ Return a deep copy of the current SDK options.
111
+
112
+ **Returns:** \`object\`
113
+
114
+ #### \`utility()\`
115
+
116
+ Return a copy of the SDK utility object.
117
+
118
+ **Returns:** \`object\`
119
+
120
+ #### \`direct(fetchargs?: object)\`
121
+
122
+ Make a direct HTTP request to any API endpoint.
123
+
124
+ **Parameters:**
125
+
126
+ | Name | Type | Description |
127
+ | --- | --- | --- |
128
+ | \`fetchargs.path\` | \`string\` | URL path with optional \`{param}\` placeholders. |
129
+ | \`fetchargs.method\` | \`string\` | HTTP method (default: \`GET\`). |
130
+ | \`fetchargs.params\` | \`object\` | Path parameter values for \`{param}\` substitution. |
131
+ | \`fetchargs.query\` | \`object\` | Query string parameters. |
132
+ | \`fetchargs.headers\` | \`object\` | Request headers (merged with defaults). |
133
+ | \`fetchargs.body\` | \`any\` | Request body (objects are JSON-serialized). |
134
+ | \`fetchargs.ctrl\` | \`object\` | Control options (e.g. \`{ explain: true }\`). |
135
+
136
+ **Returns:** \`Promise<{ ok, status, headers, data } | Error>\`
137
+
138
+ #### \`prepare(fetchargs?: object)\`
139
+
140
+ Prepare a fetch definition without sending the request. Accepts the
141
+ same parameters as \`direct()\`.
142
+
143
+ **Returns:** \`Promise<{ url, method, headers, body } | Error>\`
144
+
145
+ #### \`tester(testopts?, sdkopts?)\`
146
+
147
+ Alias for \`${model.Name}SDK.test()\`.
148
+
149
+ **Returns:** \`${model.Name}SDK\` instance in test mode.
150
+
151
+ `);
152
+ // Entity reference sections
153
+ publishedEntities.map((ent) => {
154
+ const opnames = Object.keys(ent.op || {});
155
+ const fields = ent.field || [];
156
+ (0, jostraca_1.Content)(`
157
+ ---
158
+
159
+ ## ${ent.Name}Entity
160
+
161
+ `);
162
+ if (ent.short) {
163
+ (0, jostraca_1.Content)(`${ent.short}
164
+
165
+ `);
166
+ }
167
+ (0, jostraca_1.Content)(`\`\`\`ts
168
+ const ${ent.name} = client.${ent.Name}()
169
+ \`\`\`
170
+
171
+ `);
172
+ // Field schema
173
+ if (fields.length > 0) {
174
+ (0, jostraca_1.Content)(`### Fields
175
+
176
+ | Field | Type | Required | Description |
177
+ | --- | --- | --- | --- |
178
+ `);
179
+ (0, jostraca_1.each)(fields, (field) => {
180
+ const req = field.req ? 'Yes' : 'No';
181
+ const desc = field.short || '';
182
+ (0, jostraca_1.Content)(`| \`${field.name}\` | \`${field.type || 'any'}\` | ${req} | ${desc} |
183
+ `);
184
+ });
185
+ (0, jostraca_1.Content)(`
186
+ `);
187
+ // Field operations breakdown
188
+ const hasFieldOps = fields.some((f) => f.op && Object.keys(f.op).length > 0);
189
+ if (hasFieldOps) {
190
+ (0, jostraca_1.Content)(`### Field Usage by Operation
191
+
192
+ | Field | load | list | create | update | remove |
193
+ | --- | --- | --- | --- | --- | --- |
194
+ `);
195
+ (0, jostraca_1.each)(fields, (field) => {
196
+ const fops = field.op || {};
197
+ const cols = ['load', 'list', 'create', 'update', 'remove'].map((op) => {
198
+ if (!opnames.includes(op))
199
+ return '-';
200
+ const fop = fops[op];
201
+ if (null == fop)
202
+ return '-';
203
+ if (fop.active === false)
204
+ return '-';
205
+ return 'Yes';
206
+ });
207
+ (0, jostraca_1.Content)(`| \`${field.name}\` | ${cols.join(' | ')} |
208
+ `);
209
+ });
210
+ (0, jostraca_1.Content)(`
211
+ `);
212
+ }
213
+ }
214
+ // Operation details
215
+ if (opnames.length > 0) {
216
+ (0, jostraca_1.Content)(`### Operations
217
+
218
+ `);
219
+ opnames.map((opname) => {
220
+ const info = OP_SIGNATURES[opname];
221
+ if (!info)
222
+ return;
223
+ (0, jostraca_1.Content)(`#### \`${info.sig}\`
224
+
225
+ ${info.desc}
226
+
227
+ `);
228
+ // Show example
229
+ if ('load' === opname || 'remove' === opname) {
230
+ (0, jostraca_1.Content)(`\`\`\`ts
231
+ const result = await client.${ent.Name}().${opname}({ id: '${ent.name}_id' })
232
+ \`\`\`
233
+
234
+ `);
235
+ }
236
+ else if ('list' === opname) {
237
+ (0, jostraca_1.Content)(`\`\`\`ts
238
+ const results = await client.${ent.Name}().${opname}()
239
+ \`\`\`
240
+
241
+ `);
242
+ }
243
+ else if ('create' === opname) {
244
+ (0, jostraca_1.Content)(`\`\`\`ts
245
+ const result = await client.${ent.Name}().create({
246
+ `);
247
+ (0, jostraca_1.each)(fields, (field) => {
248
+ if ('id' !== field.name && field.req) {
249
+ (0, jostraca_1.Content)(` ${field.name}: /* ${field.type || 'value'} */,
250
+ `);
251
+ }
252
+ });
253
+ (0, jostraca_1.Content)(`})
254
+ \`\`\`
255
+
256
+ `);
257
+ }
258
+ else if ('update' === opname) {
259
+ (0, jostraca_1.Content)(`\`\`\`ts
260
+ const result = await client.${ent.Name}().update({
261
+ id: '${ent.name}_id',
262
+ // Fields to update
263
+ })
264
+ \`\`\`
265
+
266
+ `);
267
+ }
268
+ });
269
+ }
270
+ // Common methods
271
+ (0, jostraca_1.Content)(`### Common Methods
272
+
273
+ #### \`data(data?: object)\`
274
+
275
+ Get or set the entity data. When called with data, sets the entity's
276
+ internal data and returns the current data. When called without
277
+ arguments, returns a copy of the current data.
278
+
279
+ #### \`match(match?: object)\`
280
+
281
+ Get or set the entity match criteria. Works the same as \`data()\`.
282
+
283
+ #### \`make()\`
284
+
285
+ Create a new \`${ent.Name}Entity\` instance with the same client and
286
+ options.
287
+
288
+ #### \`client()\`
289
+
290
+ Return the parent \`${model.Name}SDK\` instance.
291
+
292
+ #### \`entopts()\`
293
+
294
+ Return a copy of the entity options.
295
+
296
+ `);
297
+ });
298
+ // Features section
299
+ const activeFeatures = (0, jostraca_1.each)(feature).filter((f) => f.active);
300
+ if (activeFeatures.length > 0) {
301
+ (0, jostraca_1.Content)(`
302
+ ---
303
+
304
+ ## Features
305
+
306
+ | Feature | Version | Description |
307
+ | --- | --- | --- |
308
+ `);
309
+ activeFeatures.map((f) => {
310
+ (0, jostraca_1.Content)(`| \`${f.name}\` | ${f.version || '0.0.1'} | ${f.title || ''} |
311
+ `);
312
+ });
313
+ (0, jostraca_1.Content)(`
314
+
315
+ Features are activated via the \`feature\` option:
316
+
317
+ \`\`\`ts
318
+ const client = new ${model.Name}SDK({
319
+ feature: {
320
+ `);
321
+ activeFeatures.map((f) => {
322
+ (0, jostraca_1.Content)(` ${f.name}: { active: true },
323
+ `);
324
+ });
325
+ (0, jostraca_1.Content)(` }
326
+ })
327
+ \`\`\`
328
+
329
+ `);
330
+ }
331
+ });
332
+ });
333
+ exports.ReadmeRef = ReadmeRef;
334
+ //# sourceMappingURL=ReadmeRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadmeRef.js","sourceRoot":"","sources":["../../src/cmp/ReadmeRef.ts"],"names":[],"mappings":"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"}
package/dist/sdkgen.d.ts CHANGED
@@ -9,6 +9,7 @@ import { Test } from './cmp/Test';
9
9
  import { ReadmeInstall } from './cmp/ReadmeInstall';
10
10
  import { ReadmeOptions } from './cmp/ReadmeOptions';
11
11
  import { ReadmeEntity } from './cmp/ReadmeEntity';
12
+ import { ReadmeRef } from './cmp/ReadmeRef';
12
13
  import { FeatureHook } from './cmp/FeatureHook';
13
14
  type SdkGenOptions = {
14
15
  folder: string;
@@ -75,4 +76,4 @@ export declare const Inject: Component;
75
76
  export declare const Line: Component;
76
77
  export declare const Slot: Component;
77
78
  export declare const List: Component;
78
- export { Main, Entity, Feature, Test, Readme, ReadmeInstall, ReadmeOptions, ReadmeEntity, FeatureHook, Jostraca, SdkGen, requirePath, };
79
+ export { Main, Entity, Feature, Test, Readme, ReadmeInstall, ReadmeOptions, ReadmeEntity, ReadmeRef, FeatureHook, Jostraca, SdkGen, requirePath, };
package/dist/sdkgen.js CHANGED
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.requirePath = exports.Jostraca = exports.FeatureHook = exports.ReadmeEntity = exports.ReadmeOptions = exports.ReadmeInstall = exports.Readme = exports.Test = exports.Feature = exports.Entity = exports.Main = exports.List = exports.Slot = exports.Line = exports.Inject = exports.Fragment = exports.Copy = exports.Content = exports.File = exports.Folder = exports.Project = exports.omap = exports.deep = exports.indent = exports.template = exports.getx = exports.get = exports.vmap = exports.cmap = exports.kebabify = exports.camelify = exports.snakify = exports.each = exports.names = exports.cmp = void 0;
40
+ exports.requirePath = exports.Jostraca = exports.FeatureHook = exports.ReadmeRef = exports.ReadmeEntity = exports.ReadmeOptions = exports.ReadmeInstall = exports.Readme = exports.Test = exports.Feature = exports.Entity = exports.Main = exports.List = exports.Slot = exports.Line = exports.Inject = exports.Fragment = exports.Copy = exports.Content = exports.File = exports.Folder = exports.Project = exports.omap = exports.deep = exports.indent = exports.template = exports.getx = exports.get = exports.vmap = exports.cmap = exports.kebabify = exports.camelify = exports.snakify = exports.each = exports.names = exports.cmp = void 0;
41
41
  exports.SdkGen = SdkGen;
42
42
  const node_fs_1 = __importDefault(require("node:fs"));
43
43
  const node_path_1 = __importDefault(require("node:path"));
@@ -64,6 +64,8 @@ const ReadmeOptions_1 = require("./cmp/ReadmeOptions");
64
64
  Object.defineProperty(exports, "ReadmeOptions", { enumerable: true, get: function () { return ReadmeOptions_1.ReadmeOptions; } });
65
65
  const ReadmeEntity_1 = require("./cmp/ReadmeEntity");
66
66
  Object.defineProperty(exports, "ReadmeEntity", { enumerable: true, get: function () { return ReadmeEntity_1.ReadmeEntity; } });
67
+ const ReadmeRef_1 = require("./cmp/ReadmeRef");
68
+ Object.defineProperty(exports, "ReadmeRef", { enumerable: true, get: function () { return ReadmeRef_1.ReadmeRef; } });
67
69
  const FeatureHook_1 = require("./cmp/FeatureHook");
68
70
  Object.defineProperty(exports, "FeatureHook", { enumerable: true, get: function () { return FeatureHook_1.FeatureHook; } });
69
71
  const target_1 = require("./action/target");
@@ -1 +1 @@
1
- {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/sdkgen.ts","../src/types.ts","../src/utility.ts","../src/action/action.ts","../src/action/feature.ts","../src/action/target.ts","../src/cmp/entity.ts","../src/cmp/feature.ts","../src/cmp/featurehook.ts","../src/cmp/main.ts","../src/cmp/readme.ts","../src/cmp/readmeentity.ts","../src/cmp/readmeinstall.ts","../src/cmp/readmeintro.ts","../src/cmp/readmemodel.ts","../src/cmp/readmeoptions.ts","../src/cmp/readmequick.ts","../src/cmp/test.ts"],"version":"6.0.2"}
1
+ {"root":["../src/sdkgen.ts","../src/types.ts","../src/utility.ts","../src/action/action.ts","../src/action/feature.ts","../src/action/target.ts","../src/cmp/entity.ts","../src/cmp/feature.ts","../src/cmp/featurehook.ts","../src/cmp/main.ts","../src/cmp/readme.ts","../src/cmp/readmeentity.ts","../src/cmp/readmeinstall.ts","../src/cmp/readmeintro.ts","../src/cmp/readmemodel.ts","../src/cmp/readmeoptions.ts","../src/cmp/readmequick.ts","../src/cmp/readmeref.ts","../src/cmp/test.ts"],"version":"6.0.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "0.32.2",
3
+ "version": "0.32.3",
4
4
  "main": "dist/sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/sdkgen.d.ts",
@@ -14,7 +14,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
14
14
  const entity = props.entity
15
15
  const gomodule = props.gomodule
16
16
 
17
- const PROJECTNAME = model.Name.toUpperCase()
17
+ const PROJECTNAME = model.Name.toUpperCase().replace(/[^A-Z_]/g, '_')
18
18
 
19
19
  const opnames = Object.keys(entity.op)
20
20
  const hasLoad = opnames.includes('load')
@@ -38,7 +38,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
38
38
  const listParams = listTarget?.args?.params || []
39
39
 
40
40
  // Build the ENTID env var name for this entity
41
- const entidEnvVar = `${PROJECTNAME}_TEST_${entity.Name.toUpperCase()}_ENTID`
41
+ const entidEnvVar = `${PROJECTNAME}_TEST_${entity.Name.toUpperCase().replace(/[^A-Z_]/g, '_')}_ENTID`
42
42
 
43
43
  File({ name: entity.name + '_direct_test.' + target.ext }, () => {
44
44
 
@@ -39,7 +39,7 @@ const TestEntity = cmp(function TestEntity(props: any) {
39
39
  // Convert snake_case ref to camelCase for Go variable names
40
40
  const refVar = ref.replace(/_([a-z0-9])/g, (_: any, c: string) => c.toUpperCase())
41
41
  const ancestors = (entity.relations?.ancestors || []).flat()
42
- const PROJUPPER = model.const.Name.toUpperCase()
42
+ const PROJUPPER = model.const.Name.toUpperCase().replace(/[^A-Z_]/g, '_')
43
43
  const textfield = updateStep?.input?.textfield || 'kind'
44
44
  const mark = updateStep?.spec?.[0]?.def?.mark || `Mark01-${ref}`
45
45
 
@@ -290,13 +290,13 @@ func Test${entity.Name}Entity(t *testing.T) {
290
290
 
291
291
  Content(`
292
292
  env := envOverride(map[string]any{
293
- "${PROJUPPER}_TEST_${entity.name.toUpperCase()}_ENTID": idmap,
293
+ "${PROJUPPER}_TEST_${entity.name.toUpperCase().replace(/[^A-Z_]/g, '_')}_ENTID": idmap,
294
294
  "${PROJUPPER}_TEST_LIVE": "FALSE",
295
295
  "${PROJUPPER}_TEST_EXPLAIN": "FALSE",
296
296
  "${PROJUPPER}_APIKEY": "NONE",
297
297
  })
298
298
 
299
- idmapResolved := core.ToMapAny(env["${PROJUPPER}_TEST_${entity.name.toUpperCase()}_ENTID"])
299
+ idmapResolved := core.ToMapAny(env["${PROJUPPER}_TEST_${entity.name.toUpperCase().replace(/[^A-Z_]/g, '_')}_ENTID"])
300
300
  if idmapResolved == nil {
301
301
  idmapResolved = core.ToMapAny(idmap)
302
302
  }
@@ -1,45 +1,84 @@
1
1
 
2
2
  import * as Path from 'node:path'
3
3
 
4
+
4
5
  import {
5
- cmp, each, names,
6
- List, File, Content, Copy, Folder, Fragment, Line, FeatureHook,
6
+ Content,
7
+ File,
8
+ Fragment,
9
+ Line,
10
+ cmp,
11
+ each,
12
+ indent,
7
13
  } from '@voxgig/sdkgen'
8
14
 
9
15
 
16
+ import {
17
+ KIT,
18
+ Model,
19
+ getModelPath,
20
+ nom,
21
+ } from '@voxgig/apidef'
22
+
23
+
24
+ import {
25
+ clean,
26
+ formatJson,
27
+ } from './utility_js'
28
+
10
29
 
11
30
  const Config = cmp(async function Config(props: any) {
12
- const { target, ctx$: { model } } = props
13
- const { main: { def, sdk: { entity } } } = model
31
+ const ctx$ = props.ctx$
32
+ const target = props.target
33
+
34
+ const model: Model = ctx$.model
35
+
36
+ const entity = getModelPath(model, `main.${KIT}.entity`)
37
+ const feature = getModelPath(model, `main.${KIT}.feature`)
38
+
39
+ const ff = Path.normalize(__dirname + '/../../../src/cmp/js/fragment/')
40
+
41
+ const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
14
42
 
15
43
  File({ name: 'Config.' + target.ext }, () => {
16
- Content(`
17
44
 
18
- const Config = {
19
- options: {
20
- base: '${def.servers[0].url}',
45
+ Fragment({
46
+ from: ff + 'Config.fragment.js',
21
47
 
22
- entity: {
23
- `)
48
+ replace: {
24
49
 
50
+ "'HEADERS'": indent(JSON.stringify(headers, null, 2), 4).trim(),
25
51
 
26
- each(entity, (entity: any) => {
27
- Content(`
28
- ${entity.name}: {
29
- },
30
- `)
31
- })
52
+ '// #ImportFeatures': () => each(feature, (f: any) => {
53
+ Line(`const { ${nom(f, 'Name')}Feature } = ` +
54
+ `require('./feature/${f.name}/${nom(f, 'Name')}Feature')`)
55
+ }),
32
56
 
33
- Content(`
34
- }
35
- }
36
- }
57
+ '// #FeatureClasses': () => each(feature, (f: any) => {
58
+ Line(` ${f.name}: ${nom(f, 'Name')}Feature`)
59
+ }),
37
60
 
61
+ '// #FeatureConfigs': () => each(feature, (f: any) => {
62
+ Line(` ${f.name}: ${formatJson(f.config, { margin: 4 })}`)
63
+ }),
38
64
 
39
- module.exports = {
40
- Config
41
- }
65
+
66
+ '// #EntityConfigs': () => each(entity, (entity: any) => {
67
+ Content(`
68
+ ${entity.name}: {
69
+ },
42
70
  `)
71
+ }),
72
+
73
+ "'ENTITYMAP'": formatJson(Object.values(entity)
74
+ .reduce((a: any, n: any) => (a[n.name] = clean({
75
+ fields: n.fields,
76
+ name: n.name,
77
+ op: n.op,
78
+ relations: n.relations,
79
+ }), a), {}), { margin: 2 }).trim(),
80
+ }
81
+ })
43
82
  })
44
83
  })
45
84
 
@@ -0,0 +1,49 @@
1
+
2
+ import {
3
+ cmp, camelify,
4
+ Content, Fragment
5
+ } from '@voxgig/sdkgen'
6
+
7
+
8
+ import { jsonify } from '@voxgig/struct'
9
+
10
+ import { formatJSONSrc, formatJson } from './utility_js'
11
+
12
+
13
+ const EntityOperation = cmp(function Operation(props: any) {
14
+ const { model } = props.ctx$
15
+ const { ff, opname, entity, entrep } = props
16
+
17
+ let { indent } = props
18
+
19
+ indent = indent.substring(2)
20
+ if ('' == indent) {
21
+ indent = undefined
22
+ }
23
+
24
+ const entop = entity.op[opname]
25
+
26
+ Fragment({
27
+ from: ff + '/Entity' + camelify(opname) + 'Op.fragment.js',
28
+ eject: ['// EJECT-START', '// EJECT-END'],
29
+ indent,
30
+ replace: {
31
+ ...entrep,
32
+ SdkName: model.const.Name,
33
+ EntityName: entity.Name,
34
+ entityname: entity.name,
35
+ "['TARGETS']": formatJson(entop.targets, { margin: 6 }).trim(),
36
+ '#Feature-Hook': ({ name, indent }: any) =>
37
+ Content({ indent }, `
38
+ fres = featureHook(ctx, '${name}')
39
+ if (fres instanceof Promise) { await fres }
40
+ `)
41
+
42
+ }
43
+ })
44
+ })
45
+
46
+
47
+ export {
48
+ EntityOperation
49
+ }