@voxgig/sdkgen 1.3.4 → 1.3.5
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/bin/voxgig-sdkgen +1 -1
- package/dist/cmp/ReadmeErrors.js +15 -15
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +37 -35
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/helpers/naming.js +29 -2
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opShape.d.ts +6 -1
- package/dist/helpers/opShape.js +78 -0
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/sdkgen.d.ts +2 -2
- package/dist/sdkgen.js +3 -1
- package/dist/sdkgen.js.map +1 -1
- package/package.json +1 -1
- package/project/.sdk/src/cmp/go/EntityOperation_go.ts +8 -1
- package/project/.sdk/src/cmp/go/Entity_go.ts +20 -3
- package/project/.sdk/src/cmp/go/Main_go.ts +2 -1
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +5 -5
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +23 -12
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +27 -17
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +5 -5
- package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +5 -6
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +11 -11
- package/project/.sdk/src/cmp/go/fragment/EntityCreateOp.fragment.go +2 -2
- package/project/.sdk/src/cmp/go/fragment/EntityListOp.fragment.go +2 -2
- package/project/.sdk/src/cmp/go/fragment/EntityLoadOp.fragment.go +2 -2
- package/project/.sdk/src/cmp/go/fragment/EntityRemoveOp.fragment.go +2 -2
- package/project/.sdk/src/cmp/go/fragment/EntityUpdateOp.fragment.go +2 -2
- package/project/.sdk/src/cmp/js/Entity_js.ts +18 -2
- package/project/.sdk/src/cmp/js/MainEntity_js.ts +12 -2
- package/project/.sdk/src/cmp/js/Main_js.ts +5 -2
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +5 -5
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +37 -26
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +5 -5
- package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +5 -6
- package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +3 -3
- package/project/.sdk/src/cmp/lua/EntityOperation_lua.ts +6 -1
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +20 -2
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +8 -5
- package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +14 -7
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +9 -6
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +5 -2
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +8 -5
- package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +5 -6
- package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +13 -13
- package/project/.sdk/src/cmp/lua/fragment/EntityCreateOp.fragment.lua +1 -1
- package/project/.sdk/src/cmp/lua/fragment/EntityListOp.fragment.lua +1 -1
- package/project/.sdk/src/cmp/lua/fragment/EntityLoadOp.fragment.lua +1 -1
- package/project/.sdk/src/cmp/lua/fragment/EntityRemoveOp.fragment.lua +1 -1
- package/project/.sdk/src/cmp/lua/fragment/EntityUpdateOp.fragment.lua +1 -1
- package/project/.sdk/src/cmp/php/Entity_php.ts +17 -1
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +12 -3
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +15 -8
- package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +5 -6
- package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +2 -2
- package/project/.sdk/src/cmp/py/Entity_py.ts +18 -1
- package/project/.sdk/src/cmp/py/MainEntity_py.ts +14 -4
- package/project/.sdk/src/cmp/py/Main_py.ts +2 -1
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +8 -5
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +18 -8
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +10 -7
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -4
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +9 -6
- package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +6 -7
- package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +2 -2
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +17 -1
- package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +11 -2
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +8 -5
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +20 -8
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +9 -6
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +5 -2
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +8 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +10 -8
- package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +2 -2
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +18 -2
- package/project/.sdk/src/cmp/ts/MainEntity_ts.ts +12 -2
- package/project/.sdk/src/cmp/ts/Main_ts.ts +5 -2
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +5 -5
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +36 -26
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +4 -5
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +5 -6
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +4 -4
- package/src/cmp/ReadmeErrors.ts +16 -17
- package/src/cmp/ReadmeExplanation.ts +37 -35
- package/src/helpers/naming.ts +32 -2
- package/src/helpers/opShape.ts +89 -0
- package/src/sdkgen.ts +3 -1
package/bin/voxgig-sdkgen
CHANGED
package/dist/cmp/ReadmeErrors.js
CHANGED
|
@@ -184,26 +184,26 @@ const ReadmeErrors = (0, jostraca_1.cmp)(function ReadmeErrors(props) {
|
|
|
184
184
|
const { target, ctx$ } = props;
|
|
185
185
|
const { model } = ctx$;
|
|
186
186
|
const lang = LANGS[target.name] || DEFAULT_LANG;
|
|
187
|
-
//
|
|
188
|
-
//
|
|
187
|
+
// Pick a real example entity WITH a real op (prefer a read op) so the
|
|
188
|
+
// error-handling snippet never references a phantom entity or fabricates a
|
|
189
|
+
// `.load()` on an op-less one (e.g. Cloudsmith's `Abort`). primaryOp is null
|
|
190
|
+
// only when NO entity exposes any op — then the entity example is skipped
|
|
191
|
+
// and only the direct() error handling (which every SDK has) is shown.
|
|
189
192
|
const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`, { only_active: false, required: false });
|
|
190
|
-
const ex =
|
|
191
|
-
const eName = ex ? (ex.Name || (ex.name[0].toUpperCase() + ex.name.slice(1))) : 'Entity';
|
|
192
|
-
// Sanitise the variable name against the target's reserved words (a `Delete`
|
|
193
|
-
// entity must not bind `const delete = ...`).
|
|
194
|
-
const eLower = (0, naming_1.safeVarName)(eName.toLowerCase(), target.name);
|
|
195
|
-
// The entity's id-like key field name, or null when it has none.
|
|
196
|
-
const idF = (0, opShape_1.entityIdField)(ex);
|
|
197
|
-
// The entity's PRIMARY op — an op it actually exposes (prefer list/load, else
|
|
198
|
-
// create/update/remove). A create-only entity therefore never shows a
|
|
199
|
-
// phantom `.load()`.
|
|
200
|
-
const primaryOp = (0, opShape_1.entityPrimaryOp)(ex) || 'load';
|
|
201
|
-
const call = (0, opExample_1.primaryOpCall)(target.name, eName, eLower, primaryOp, idF, ex);
|
|
193
|
+
const { entity: ex, primaryOp } = (0, opShape_1.pickExampleEntity)(entity || {});
|
|
202
194
|
(0, jostraca_1.Content)(`
|
|
203
195
|
## Error handling
|
|
204
196
|
|
|
205
197
|
`);
|
|
206
|
-
|
|
198
|
+
if (ex && primaryOp) {
|
|
199
|
+
const eName = ex.Name || (ex.name[0].toUpperCase() + ex.name.slice(1));
|
|
200
|
+
// Sanitise the variable name against the target's reserved words (a
|
|
201
|
+
// `Delete` entity must not bind `const delete = ...`).
|
|
202
|
+
const eLower = (0, naming_1.safeVarName)(eName.toLowerCase(), target.name);
|
|
203
|
+
const idF = (0, opShape_1.entityIdField)(ex);
|
|
204
|
+
const call = (0, opExample_1.primaryOpCall)(target.name, eName, eLower, primaryOp, idF, ex);
|
|
205
|
+
(0, jostraca_1.Content)(lang.entity(call, primaryOp));
|
|
206
|
+
}
|
|
207
207
|
(0, jostraca_1.Content)(lang.direct);
|
|
208
208
|
});
|
|
209
209
|
exports.ReadmeErrors = ReadmeErrors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeErrors.js","sourceRoot":"","sources":["../../src/cmp/ReadmeErrors.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,oCAGiB;AAEjB,
|
|
1
|
+
{"version":3,"file":"ReadmeErrors.js","sourceRoot":"","sources":["../../src/cmp/ReadmeErrors.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,oCAGiB;AAEjB,gDAAqE;AACrE,oDAAoD;AAEpD,8CAA+C;AA2B/C,MAAM,YAAY,GAAe;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;UAId,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,IAAI;gBAC7B,IAAI,CAAC,SAAS;;mBAEX,EAAE;;;;CAIpB;IACC,MAAM,EAAE;;;;;;;;;;;;;;;CAeT;CACA,CAAA;AAGD,MAAM,KAAK,GAA+B;IACxC,EAAE,EAAE;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;MAIpB,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI;YACvB,IAAI,CAAC,SAAS;;cAEZ,EAAE;;;CAGf;QACG,MAAM,EAAE;;;;;;;;;;;;;;;CAeX;KACE;IAED,GAAG,EAAE;QACH,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;;OAKnB,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI;;;;;;CAMnC;QACG,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBX;KACE;IAED,EAAE,EAAE;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;IAItB,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI;;UAEvB,EAAE;;;;CAIX;QACG,MAAM,EAAE;;;;;;;;;;;;;;CAcX;KACE;IAED,GAAG,EAAE;QACH,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;QAIlB,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,IAAI;;;;CAIzC;QACG,MAAM,EAAE;;;;;;;;;;;CAWX;KACE;IAED,EAAE,EAAE;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;;;EAIxB,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,IAAI;;;;;MAK/B,IAAI,CAAC,SAAS;;;CAGnB;QACG,MAAM,EAAE;;;;;;;;;;;;;;CAcX;KACE;CACF,CAAA;AAGD,MAAM,YAAY,GAAG,IAAA,cAAG,EAAC,SAAS,YAAY,CAAC,KAAU;IACvD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAA;IAE/C,sEAAsE;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACjG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAA,2BAAiB,EAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAEjE,IAAA,kBAAO,EAAC;;;CAGT,CAAC,CAAA;IAEA,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,oEAAoE;QACpE,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5D,MAAM,GAAG,GAAG,IAAA,uBAAa,EAAC,EAAE,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,IAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;QACzF,IAAA,kBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,IAAA,kBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA;AAIA,oCAAY"}
|
|
@@ -186,41 +186,41 @@ const ReadmeExplanation = (0, jostraca_1.cmp)(function ReadmeExplanation(props)
|
|
|
186
186
|
const { model } = ctx$;
|
|
187
187
|
const feature = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.feature`);
|
|
188
188
|
const lang = LANGS[target.name] || DEFAULT_LANG;
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
//
|
|
189
|
+
// Pick a real example entity WITH a real op (prefer a read op) so the
|
|
190
|
+
// entity-state example never references a phantom entity or fabricates a
|
|
191
|
+
// `.load()` on an op-less one (e.g. Cloudsmith's `Abort`). primaryOp is null
|
|
192
|
+
// only when NO entity exposes any op — then the entity-state section is
|
|
193
|
+
// skipped (a direct()-only SDK has no entity op to illustrate).
|
|
192
194
|
const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`, { only_active: false, required: false });
|
|
193
|
-
const ex =
|
|
194
|
-
const eName = ex ? (ex.Name || (ex.name[0].toUpperCase() + ex.name.slice(1))) : 'Entity';
|
|
195
|
-
// Sanitise against the target's reserved words (a `Delete` entity must not
|
|
196
|
-
// bind `const delete = ...`).
|
|
197
|
-
const eLower = (0, naming_1.safeVarName)(eName.toLowerCase(), target.name);
|
|
195
|
+
const { entity: ex, primaryOp } = (0, opShape_1.pickExampleEntity)(entity || {});
|
|
198
196
|
const lname = target.name;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
197
|
+
const hasEntityExample = !!(ex && primaryOp);
|
|
198
|
+
let eName = 'Entity', eLower = 'entity', stateArg = '', matchIdF = null, idLit = '';
|
|
199
|
+
if (hasEntityExample) {
|
|
200
|
+
eName = ex.Name || (ex.name[0].toUpperCase() + ex.name.slice(1));
|
|
201
|
+
// Sanitise against the target's reserved words (a `Delete` entity must
|
|
202
|
+
// not bind `const delete = ...`).
|
|
203
|
+
eLower = (0, naming_1.safeVarName)(eName.toLowerCase(), target.name);
|
|
204
|
+
const idF = (0, opShape_1.entityIdField)(ex);
|
|
205
|
+
const isMatchOp = 'load' === primaryOp || 'remove' === primaryOp;
|
|
206
|
+
// Type-correct example id literal (numeric when the id param is integer-
|
|
207
|
+
// typed), derived from the OP's param type so an id carried only in the
|
|
208
|
+
// match compiles.
|
|
209
|
+
idLit = (0, opExample_1.idLiteral)(ex, primaryOp, idF);
|
|
210
|
+
// Language-correct call argument for the primary op: a match for
|
|
211
|
+
// load/remove, a required-field body for create/update, nothing for list.
|
|
212
|
+
if ('list' === primaryOp) {
|
|
213
|
+
stateArg = 'go' === target.name ? 'nil' : '';
|
|
214
|
+
}
|
|
215
|
+
else if (isMatchOp) {
|
|
216
|
+
stateArg = (0, opExample_1.matchArg)(lname, idF, idLit);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
stateArg = (0, opExample_1.dataArg)(lname, ex, primaryOp, idF);
|
|
220
|
+
}
|
|
221
|
+
// Only a match op keys the `.match()` comment on `{ id: ... }`.
|
|
222
|
+
matchIdF = isMatchOp ? idF : null;
|
|
215
223
|
}
|
|
216
|
-
else if (isMatchOp) {
|
|
217
|
-
stateArg = (0, opExample_1.matchArg)(lname, idF, idLit);
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
stateArg = (0, opExample_1.dataArg)(lname, ex, primaryOp, idF);
|
|
221
|
-
}
|
|
222
|
-
// Only a match op keys the `.match()` comment on `{ id: ... }`.
|
|
223
|
-
const matchIdF = isMatchOp ? idF : null;
|
|
224
224
|
(0, jostraca_1.Content)(`
|
|
225
225
|
## Advanced
|
|
226
226
|
|
|
@@ -280,11 +280,13 @@ were added, so later features can override earlier ones.
|
|
|
280
280
|
if (ReadmeExplanation_sdk) {
|
|
281
281
|
ReadmeExplanation_sdk['ReadmeExplanation']({ target });
|
|
282
282
|
}
|
|
283
|
-
// Entity state
|
|
284
|
-
(
|
|
283
|
+
// Entity state — only when the SDK actually has an entity op to show.
|
|
284
|
+
if (hasEntityExample) {
|
|
285
|
+
(0, jostraca_1.Content)(`### Entity state
|
|
285
286
|
|
|
286
287
|
`);
|
|
287
|
-
|
|
288
|
+
(0, jostraca_1.Content)(lang.entityState(eName, eLower, primaryOp, stateArg, matchIdF, idLit));
|
|
289
|
+
}
|
|
288
290
|
// Direct vs entity access
|
|
289
291
|
(0, jostraca_1.Content)(`### Direct vs entity access
|
|
290
292
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeExplanation.js","sourceRoot":"","sources":["../../src/cmp/ReadmeExplanation.ts"],"names":[],"mappings":";;;AACA,uCAAoD;AAEpD,oCAGiB;AAEjB,wCAAwC;AAExC,
|
|
1
|
+
{"version":3,"file":"ReadmeExplanation.js","sourceRoot":"","sources":["../../src/cmp/ReadmeExplanation.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/naming.js
CHANGED
|
@@ -12,8 +12,11 @@
|
|
|
12
12
|
// words a `const` binding trips on). Go lists its 25 keywords — a var named
|
|
13
13
|
// `type`/`func`/`range` fails `go build`; Go builtins like `delete`/`len` are
|
|
14
14
|
// NOT keywords and are legal identifiers, so they are intentionally omitted.
|
|
15
|
-
// py/
|
|
16
|
-
//
|
|
15
|
+
// rb/py/lua list the keywords that are illegal as a local-variable binding
|
|
16
|
+
// (e.g. a `Self` entity -> `self = client.Self` is a Ruby SyntaxError, an
|
|
17
|
+
// `End` entity -> `end = ...` a Lua one). PHP variables are `$`-prefixed so a
|
|
18
|
+
// lowercased entity name never collides (only `$this` is special, and no
|
|
19
|
+
// entity is named `this`), so PHP is not treated.
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
exports.isReservedName = isReservedName;
|
|
19
22
|
exports.safeVarName = safeVarName;
|
|
@@ -33,10 +36,34 @@ const GO_RESERVED = new Set([
|
|
|
33
36
|
'map', 'package', 'range', 'return', 'select', 'struct', 'switch', 'type',
|
|
34
37
|
'var',
|
|
35
38
|
]);
|
|
39
|
+
// Ruby keywords — illegal as a local-variable name (e.g. `self`, `end`).
|
|
40
|
+
const RB_RESERVED = new Set([
|
|
41
|
+
'alias', 'and', 'begin', 'break', 'case', 'class', 'def', 'defined?',
|
|
42
|
+
'do', 'else', 'elsif', 'end', 'ensure', 'false', 'for', 'if', 'in',
|
|
43
|
+
'module', 'next', 'nil', 'not', 'or', 'redo', 'rescue', 'retry', 'return',
|
|
44
|
+
'self', 'super', 'then', 'true', 'undef', 'unless', 'until', 'when',
|
|
45
|
+
'while', 'yield', '__FILE__', '__LINE__', '__ENCODING__', 'BEGIN', 'END',
|
|
46
|
+
]);
|
|
47
|
+
// Python keywords — illegal as a variable name.
|
|
48
|
+
const PY_RESERVED = new Set([
|
|
49
|
+
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
|
|
50
|
+
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
|
|
51
|
+
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
|
|
52
|
+
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield',
|
|
53
|
+
]);
|
|
54
|
+
// Lua keywords — illegal as a variable name. (`self` is NOT reserved in Lua.)
|
|
55
|
+
const LUA_RESERVED = new Set([
|
|
56
|
+
'and', 'break', 'do', 'else', 'elseif', 'end', 'false', 'for', 'function',
|
|
57
|
+
'goto', 'if', 'in', 'local', 'nil', 'not', 'or', 'repeat', 'return',
|
|
58
|
+
'then', 'true', 'until', 'while',
|
|
59
|
+
]);
|
|
36
60
|
const RESERVED = {
|
|
37
61
|
ts: JS_RESERVED,
|
|
38
62
|
js: JS_RESERVED,
|
|
39
63
|
go: GO_RESERVED,
|
|
64
|
+
rb: RB_RESERVED,
|
|
65
|
+
py: PY_RESERVED,
|
|
66
|
+
lua: LUA_RESERVED,
|
|
40
67
|
};
|
|
41
68
|
// Is `name` a reserved word (an illegal identifier) in the target language?
|
|
42
69
|
function isReservedName(name, lang) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/helpers/naming.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,oEAAoE;AACpE,0EAA0E;AAC1E,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/helpers/naming.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,11 @@ declare function opRequestShape(ent: any, opname: string): {
|
|
|
13
13
|
declare function entityIdField(ent: any): string | null;
|
|
14
14
|
declare function entityOps(ent: any): string[];
|
|
15
15
|
declare function entityPrimaryOp(ent: any): string | null;
|
|
16
|
+
declare function entityClassName(ent: any, entityColl: any): string;
|
|
17
|
+
declare function pickExampleEntity(entity: any): {
|
|
18
|
+
entity: any;
|
|
19
|
+
primaryOp: string | null;
|
|
20
|
+
};
|
|
16
21
|
declare function entityDataIdField(ent: any): string | null;
|
|
17
|
-
export { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, };
|
|
22
|
+
export { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName, };
|
|
18
23
|
export type { OpShapeItem, };
|
package/dist/helpers/opShape.js
CHANGED
|
@@ -35,6 +35,8 @@ exports.entityIdField = entityIdField;
|
|
|
35
35
|
exports.entityDataIdField = entityDataIdField;
|
|
36
36
|
exports.entityOps = entityOps;
|
|
37
37
|
exports.entityPrimaryOp = entityPrimaryOp;
|
|
38
|
+
exports.pickExampleEntity = pickExampleEntity;
|
|
39
|
+
exports.entityClassName = entityClassName;
|
|
38
40
|
const jostraca_1 = require("jostraca");
|
|
39
41
|
// The five ops, and whether their request payload is a `Match` (query/id) or
|
|
40
42
|
// `Data` (body) — this fixes the generated type-name suffix per op.
|
|
@@ -204,6 +206,82 @@ function entityPrimaryOp(ent) {
|
|
|
204
206
|
}
|
|
205
207
|
return ops[0] || null;
|
|
206
208
|
}
|
|
209
|
+
// Collision-free target-language CLASS name for an entity. The natural
|
|
210
|
+
// class name is `<Name>Entity`, but that can equal another entity's
|
|
211
|
+
// canonical DATA-type name `<Name'>` when Name' === Name + 'Entity' (e.g.
|
|
212
|
+
// GitLab's `project` -> class `ProjectEntity` collides with `project_entity`
|
|
213
|
+
// -> data type `ProjectEntity`), which redeclares a type in Go and merges/
|
|
214
|
+
// shadows it in ts/py/rb. This assigns each entity a class name that is
|
|
215
|
+
// unique across ALL emitted top-level type names (every entity's data type
|
|
216
|
+
// and per-op Match/Data types, plus already-assigned class names): the
|
|
217
|
+
// natural `<Name>Entity` when free, else `<Name>EntityClient`, `...Client2`,
|
|
218
|
+
// … The DATA type keeps its canonical `<Name>` — only the suffixed class
|
|
219
|
+
// yields. Deterministic (sorted-key iteration) and stable across runs.
|
|
220
|
+
//
|
|
221
|
+
// Memoised per entity-collection object so the O(n) assignment runs once.
|
|
222
|
+
const _classNameCache = new WeakMap();
|
|
223
|
+
function entityClassNames(entityColl) {
|
|
224
|
+
const cached = _classNameCache.get(entityColl);
|
|
225
|
+
if (null != cached) {
|
|
226
|
+
return cached;
|
|
227
|
+
}
|
|
228
|
+
const ents = (0, jostraca_1.each)(entityColl).filter((e) => e && e.active !== false);
|
|
229
|
+
// 1. Every top-level DATA-type name the target emits.
|
|
230
|
+
const taken = {};
|
|
231
|
+
ents.forEach((e) => {
|
|
232
|
+
taken[e.Name] = true;
|
|
233
|
+
for (const op of ['load', 'list', 'create', 'update', 'remove']) {
|
|
234
|
+
if (e.op && e.op[op]) {
|
|
235
|
+
taken[opTypeName(e.Name, op)] = true;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
// 2. Assign each class name, avoiding all data types and prior classes.
|
|
240
|
+
const out = {};
|
|
241
|
+
ents.forEach((e) => {
|
|
242
|
+
let name = e.Name + 'Entity';
|
|
243
|
+
if (taken[name]) {
|
|
244
|
+
const base = name + 'Client';
|
|
245
|
+
name = base;
|
|
246
|
+
let n = 1;
|
|
247
|
+
while (taken[name]) {
|
|
248
|
+
n++;
|
|
249
|
+
name = base + n;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
taken[name] = true;
|
|
253
|
+
out[e.name] = name;
|
|
254
|
+
});
|
|
255
|
+
_classNameCache.set(entityColl, out);
|
|
256
|
+
return out;
|
|
257
|
+
}
|
|
258
|
+
// The collision-free class name for one entity (see entityClassNames).
|
|
259
|
+
// `entityColl` is main.<KIT>.entity (the collection the entity belongs to).
|
|
260
|
+
function entityClassName(ent, entityColl) {
|
|
261
|
+
if (null == ent) {
|
|
262
|
+
return '';
|
|
263
|
+
}
|
|
264
|
+
const map = entityClassNames(entityColl);
|
|
265
|
+
return map[ent.name] || (ent.Name + 'Entity');
|
|
266
|
+
}
|
|
267
|
+
// Pick a representative entity for a single illustrative snippet (e.g. the
|
|
268
|
+
// README's test-mode example): the first ACTIVE entity that exposes a read
|
|
269
|
+
// op (list/load) so the snippet is meaningful, else the first with ANY
|
|
270
|
+
// active op, else the first active entity. Returns { entity, primaryOp }
|
|
271
|
+
// where primaryOp is null only when NO entity has an op — so callers never
|
|
272
|
+
// fabricate an op the entity lacks (the cause of `.load()` on an op-less
|
|
273
|
+
// entity like Cloudsmith's `Abort`). Entities iterate in sorted-key order
|
|
274
|
+
// for deterministic output.
|
|
275
|
+
function pickExampleEntity(entity) {
|
|
276
|
+
const actives = (0, jostraca_1.each)(entity).filter((e) => e && e.active !== false);
|
|
277
|
+
const readable = actives.find((e) => {
|
|
278
|
+
const op = entityPrimaryOp(e);
|
|
279
|
+
return 'list' === op || 'load' === op;
|
|
280
|
+
});
|
|
281
|
+
const withOp = actives.find((e) => null != entityPrimaryOp(e));
|
|
282
|
+
const chosen = readable || withOp || actives[0] || null;
|
|
283
|
+
return { entity: chosen, primaryOp: null == chosen ? null : entityPrimaryOp(chosen) };
|
|
284
|
+
}
|
|
207
285
|
// The id field on the entity's DATA type (its fields[]), or null. DISTINCT from
|
|
208
286
|
// entityIdField (the load-MATCH key): an API can model a load match that carries
|
|
209
287
|
// an `id` param while the response entity itself has no `id` field, so `.id`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opShape.js","sourceRoot":"","sources":["../../src/helpers/opShape.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,sCAAsC;AACtC,EAAE;AACF,wEAAwE;AACxE,6DAA6D;AAC7D,2DAA2D;AAC3D,yEAAyE;AACzE,2EAA2E;AAC3E,EAAE;AACF,oBAAoB;AACpB,sDAAsD;AACtD,6EAA6E;AAC7E,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,mCAAmC;AACnC,0EAA0E;AAC1E,sCAAsC;AACtC,yEAAyE;AACzE,2EAA2E;AAC3E,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;;;
|
|
1
|
+
{"version":3,"file":"opShape.js","sourceRoot":"","sources":["../../src/helpers/opShape.ts"],"names":[],"mappings":"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"}
|
package/dist/sdkgen.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ import { getMatchEntries } from './helpers/getMatchEntries';
|
|
|
27
27
|
import { collectDeps } from './helpers/collectDeps';
|
|
28
28
|
import type { DepEntry } from './helpers/collectDeps';
|
|
29
29
|
import { canonToType, canonKey } from './helpers/canonType';
|
|
30
|
-
import { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp } from './helpers/opShape';
|
|
30
|
+
import { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName } from './helpers/opShape';
|
|
31
31
|
import { isReservedName, safeVarName } from './helpers/naming';
|
|
32
32
|
import { packageName, installCommand, registryState, isPublished, registryName, vendorCommand, pkgDescription, nonAffiliation, keywords, envName, repoInfo, apiName, langLabel, PUBLISHER, PUBLISHER_URL, SECURITY_EMAIL, GENERATOR_URL } from './helpers/packageMeta';
|
|
33
33
|
type SdkGenOptions = {
|
|
@@ -96,4 +96,4 @@ export declare const Inject: Component;
|
|
|
96
96
|
export declare const Line: Component;
|
|
97
97
|
export declare const Slot: Component;
|
|
98
98
|
export declare const List: Component;
|
|
99
|
-
export { Main, Deploy, License, Security, Changelog, Entity, Feature, Test, Readme, ReadmeTop, ReadmeInstall, ReadmeQuick, ReadmeErrors, ReadmeIntro, ReadmeModel, ReadmeOptions, ReadmeEntity, ReadmeHowto, ReadmeExplanation, ReadmeRef, FeatureHook, Jostraca, SdkGen, requirePath, isAuthActive, resolveAuthPrefix, buildIdNames, getMatchEntries, collectDeps, canonToType, canonKey, OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, isReservedName, safeVarName, packageName, installCommand, registryState, isPublished, registryName, vendorCommand, pkgDescription, nonAffiliation, keywords, envName, repoInfo, apiName, langLabel, PUBLISHER, PUBLISHER_URL, SECURITY_EMAIL, GENERATOR_URL, };
|
|
99
|
+
export { Main, Deploy, License, Security, Changelog, Entity, Feature, Test, Readme, ReadmeTop, ReadmeInstall, ReadmeQuick, ReadmeErrors, ReadmeIntro, ReadmeModel, ReadmeOptions, ReadmeEntity, ReadmeHowto, ReadmeExplanation, ReadmeRef, FeatureHook, Jostraca, SdkGen, requirePath, isAuthActive, resolveAuthPrefix, buildIdNames, getMatchEntries, collectDeps, canonToType, canonKey, OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName, isReservedName, safeVarName, packageName, installCommand, registryState, isPublished, registryName, vendorCommand, pkgDescription, nonAffiliation, keywords, envName, repoInfo, apiName, langLabel, PUBLISHER, PUBLISHER_URL, SECURITY_EMAIL, GENERATOR_URL, };
|
package/dist/sdkgen.js
CHANGED
|
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.buildIdNames = exports.resolveAuthPrefix = exports.isAuthActive = exports.requirePath = exports.Jostraca = exports.FeatureHook = exports.ReadmeRef = exports.ReadmeExplanation = exports.ReadmeHowto = exports.ReadmeEntity = exports.ReadmeOptions = exports.ReadmeModel = exports.ReadmeIntro = exports.ReadmeErrors = exports.ReadmeQuick = exports.ReadmeInstall = exports.ReadmeTop = exports.Readme = exports.Test = exports.Feature = exports.Entity = exports.Changelog = exports.Security = exports.License = exports.Deploy = 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
|
-
exports.GENERATOR_URL = exports.SECURITY_EMAIL = exports.PUBLISHER_URL = exports.PUBLISHER = exports.langLabel = exports.apiName = exports.repoInfo = exports.envName = exports.keywords = exports.nonAffiliation = exports.pkgDescription = exports.vendorCommand = exports.registryName = exports.isPublished = exports.registryState = exports.installCommand = exports.packageName = exports.safeVarName = exports.isReservedName = exports.entityPrimaryOp = exports.entityOps = exports.entityDataIdField = exports.entityIdField = exports.opRequestShape = exports.opParams = exports.opTypeName = exports.OP_SUFFIX = exports.canonKey = exports.canonToType = exports.collectDeps = exports.getMatchEntries = void 0;
|
|
41
|
+
exports.GENERATOR_URL = exports.SECURITY_EMAIL = exports.PUBLISHER_URL = exports.PUBLISHER = exports.langLabel = exports.apiName = exports.repoInfo = exports.envName = exports.keywords = exports.nonAffiliation = exports.pkgDescription = exports.vendorCommand = exports.registryName = exports.isPublished = exports.registryState = exports.installCommand = exports.packageName = exports.safeVarName = exports.isReservedName = exports.entityClassName = exports.pickExampleEntity = exports.entityPrimaryOp = exports.entityOps = exports.entityDataIdField = exports.entityIdField = exports.opRequestShape = exports.opParams = exports.opTypeName = exports.OP_SUFFIX = exports.canonKey = exports.canonToType = exports.collectDeps = exports.getMatchEntries = void 0;
|
|
42
42
|
exports.SdkGen = SdkGen;
|
|
43
43
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
44
44
|
const node_path_1 = __importDefault(require("node:path"));
|
|
@@ -111,6 +111,8 @@ Object.defineProperty(exports, "entityIdField", { enumerable: true, get: functio
|
|
|
111
111
|
Object.defineProperty(exports, "entityDataIdField", { enumerable: true, get: function () { return opShape_1.entityDataIdField; } });
|
|
112
112
|
Object.defineProperty(exports, "entityOps", { enumerable: true, get: function () { return opShape_1.entityOps; } });
|
|
113
113
|
Object.defineProperty(exports, "entityPrimaryOp", { enumerable: true, get: function () { return opShape_1.entityPrimaryOp; } });
|
|
114
|
+
Object.defineProperty(exports, "pickExampleEntity", { enumerable: true, get: function () { return opShape_1.pickExampleEntity; } });
|
|
115
|
+
Object.defineProperty(exports, "entityClassName", { enumerable: true, get: function () { return opShape_1.entityClassName; } });
|
|
114
116
|
const naming_1 = require("./helpers/naming");
|
|
115
117
|
Object.defineProperty(exports, "isReservedName", { enumerable: true, get: function () { return naming_1.isReservedName; } });
|
|
116
118
|
Object.defineProperty(exports, "safeVarName", { enumerable: true, get: function () { return naming_1.safeVarName; } });
|
package/dist/sdkgen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8avD,wBAAM;AA5aR,sDAAwB;AACxB,0DAA4B;AAE5B,uCAA+C;AAE/C,mCAA+B;AAC/B,yDAA0C;AAC1C,iCAA6B;AAE7B,uCAGqB;AAOrB,uCAAqF;AA2ZnF,4FA3ZoB,qBAAW,OA2ZpB;AACX,6FA5ZiC,sBAAY,OA4ZjC;AACZ,kGA7Z+C,2BAAiB,OA6Z/C;AA3ZnB,qCAAiC;AAgY/B,qFAhYO,WAAI,OAgYP;AA/XN,yCAAqC;AAgYnC,uFAhYO,eAAM,OAgYP;AA/XR,yCAAqC;AAmYnC,uFAnYO,eAAM,OAmYP;AAlYR,2CAAuC;AAmYrC,wFAnYO,iBAAO,OAmYP;AAlYT,yCAAqC;AAoYnC,uFApYO,eAAM,OAoYP;AAnYR,+CAA2C;AAoYzC,0FApYO,qBAAS,OAoYP;AAnYX,2CAAuC;AA4XrC,wFA5XO,iBAAO,OA4XP;AA3XT,6CAAyC;AA4XvC,yFA5XO,mBAAQ,OA4XP;AA3XV,+CAA2C;AA4XzC,0FA5XO,qBAAS,OA4XP;AA3XX,qCAAiC;AA8X/B,qFA9XO,WAAI,OA8XP;AA7XN,uDAAmD;AAgYjD,8FAhYO,6BAAa,OAgYP;AA/Xf,mDAA+C;AAgY7C,4FAhYO,yBAAW,OAgYP;AA/Xb,qDAAiD;AAgY/C,6FAhYO,2BAAY,OAgYP;AA/Xd,mDAA+C;AAgY7C,4FAhYO,yBAAW,OAgYP;AA/Xb,mDAA+C;AAgY7C,4FAhYO,yBAAW,OAgYP;AA/Xb,uDAAmD;AAgYjD,8FAhYO,6BAAa,OAgYP;AA/Xf,qDAAiD;AAgY/C,6FAhYO,2BAAY,OAgYP;AA/Xd,mDAA+C;AAgY7C,4FAhYO,yBAAW,OAgYP;AA/Xb,+DAA2D;AAgYzD,kGAhYO,qCAAiB,OAgYP;AA/XnB,+CAA2C;AAgYzC,0FAhYO,qBAAS,OAgYP;AA/XX,mDAA+C;AAgY7C,4FAhYO,yBAAW,OAgYP;AA9Xb,yDAAqD;AAuYnD,6FAvYO,2BAAY,OAuYP;AAtYd,+DAA2D;AAuYzD,gGAvYO,iCAAe,OAuYP;AAtYjB,uDAAmD;AAuYjD,4FAvYO,yBAAW,OAuYP;AArYb,mDAA2D;AAsYzD,4FAtYO,uBAAW,OAsYP;AACX,yFAvYoB,oBAAQ,OAuYpB;AAtYV,+
|
|
1
|
+
{"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@ import { formatGoMap } from './utility_go'
|
|
|
10
10
|
|
|
11
11
|
const EntityOperation = cmp(function Operation(props: any) {
|
|
12
12
|
const { model } = props.ctx$
|
|
13
|
-
const { ff, opname, entity, entrep, gomodule } = props
|
|
13
|
+
const { ff, opname, entity, entrep, gomodule, cls } = props
|
|
14
14
|
|
|
15
15
|
let { indent } = props
|
|
16
16
|
|
|
@@ -34,6 +34,13 @@ const EntityOperation = cmp(function Operation(props: any) {
|
|
|
34
34
|
ProjectName: model.const.Name,
|
|
35
35
|
EntityName: entity.Name,
|
|
36
36
|
entityname: entity.name,
|
|
37
|
+
|
|
38
|
+
// Class receiver tokens are decoupled from the EntityName data-type token
|
|
39
|
+
// in the Entity<Op>Op.fragment.go files (receiver -> cls; the per-op
|
|
40
|
+
// EntityName<Op>Match/Data data types stay derived from EntityName).
|
|
41
|
+
EntyClass: cls,
|
|
42
|
+
NewEntyClass: 'New' + cls,
|
|
43
|
+
|
|
37
44
|
'#Feature-Hook': ({ name, indent }: any) =>
|
|
38
45
|
Content({ indent }, `
|
|
39
46
|
u.FeatureHook(ctx, "${name}")
|
|
@@ -3,9 +3,15 @@ import * as Path from 'node:path'
|
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
cmp, each, camelify, names,
|
|
6
|
-
File, Content, Folder, Fragment, Line, FeatureHook, Slot
|
|
6
|
+
File, Content, Folder, Fragment, Line, FeatureHook, Slot,
|
|
7
|
+
entityClassName,
|
|
7
8
|
} from '@voxgig/sdkgen'
|
|
8
9
|
|
|
10
|
+
import {
|
|
11
|
+
KIT,
|
|
12
|
+
getModelPath
|
|
13
|
+
} from '@voxgig/apidef'
|
|
14
|
+
|
|
9
15
|
import { EntityOperation } from './EntityOperation_go'
|
|
10
16
|
|
|
11
17
|
|
|
@@ -17,6 +23,12 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
17
23
|
// Go module path == repo path on GitHub (org from model.origin).
|
|
18
24
|
const gomodule = `github.com/${model.origin || 'voxgig-sdk'}/${model.name}-sdk/go`
|
|
19
25
|
|
|
26
|
+
// Collision-free entity CLASS name (see entityClassName): normally
|
|
27
|
+
// `<Name>Entity`, but disambiguated (e.g. `<Name>EntityClient`) when it would
|
|
28
|
+
// clash with another entity's data-type name. The DATA type stays `<Name>`.
|
|
29
|
+
const entityColl = getModelPath(model, `main.${KIT}.entity`)
|
|
30
|
+
const cls = entityClassName(entity, entityColl)
|
|
31
|
+
|
|
20
32
|
const entrep = {
|
|
21
33
|
...stdrep,
|
|
22
34
|
}
|
|
@@ -43,13 +55,13 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
43
55
|
!opnames.includes(opname) ?
|
|
44
56
|
({ indent }: any) => {
|
|
45
57
|
const Method = camelify(opname)
|
|
46
|
-
Content({ indent }, `func (e *${
|
|
58
|
+
Content({ indent }, `func (e *${cls}) ${Method}(_ map[string]any, _ map[string]any) (any, error) {
|
|
47
59
|
return core.UnsupportedOp("${opname}", e.name)
|
|
48
60
|
}
|
|
49
61
|
`)
|
|
50
62
|
} :
|
|
51
63
|
({ indent }: any) => {
|
|
52
|
-
EntityOperation({ ff, opname, indent, entity, entrep, gomodule })
|
|
64
|
+
EntityOperation({ ff, opname, indent, entity, entrep, gomodule, cls })
|
|
53
65
|
}, a), {}))
|
|
54
66
|
|
|
55
67
|
Fragment({
|
|
@@ -62,6 +74,11 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
62
74
|
EntityName: entity.Name,
|
|
63
75
|
entityname: entity.name,
|
|
64
76
|
|
|
77
|
+
// Class/constructor tokens are decoupled from the EntityName data-type
|
|
78
|
+
// token in Entity.fragment.go so the class can be renamed independently.
|
|
79
|
+
EntyClass: cls,
|
|
80
|
+
NewEntyClass: 'New' + cls,
|
|
81
|
+
|
|
65
82
|
'#Entity-Hook': ({ name, indent }: any) =>
|
|
66
83
|
Content({ indent }, `utility.FeatureHook(ctx, "${name}")`),
|
|
67
84
|
|
|
@@ -4,6 +4,7 @@ import * as Path from 'node:path'
|
|
|
4
4
|
import {
|
|
5
5
|
cmp, each, names, cmap,
|
|
6
6
|
List, File, Content, Copy, Folder, Fragment, Line, FeatureHook,
|
|
7
|
+
entityClassName,
|
|
7
8
|
} from '@voxgig/sdkgen'
|
|
8
9
|
|
|
9
10
|
|
|
@@ -187,7 +188,7 @@ func init() {
|
|
|
187
188
|
// Register entity constructors
|
|
188
189
|
each(entity, (ent: any) => {
|
|
189
190
|
Content(` core.New${ent.Name}EntityFunc = func(client *core.${model.const.Name}SDK, entopts map[string]any) core.${model.const.Name}Entity {
|
|
190
|
-
return entity.New${ent
|
|
191
|
+
return entity.New${entityClassName(ent, entity)}(client, entopts)
|
|
191
192
|
}
|
|
192
193
|
`)
|
|
193
194
|
})
|