@voxgig/sdkgen 0.32.2 → 0.33.0
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/Readme.js +10 -0
- package/dist/cmp/Readme.js.map +1 -1
- package/dist/cmp/ReadmeEntity.js +91 -8
- package/dist/cmp/ReadmeEntity.js.map +1 -1
- package/dist/cmp/ReadmeIntro.js +24 -2
- package/dist/cmp/ReadmeIntro.js.map +1 -1
- package/dist/cmp/ReadmeModel.js +93 -16
- package/dist/cmp/ReadmeModel.js.map +1 -1
- package/dist/cmp/ReadmeOptions.js +30 -5
- package/dist/cmp/ReadmeOptions.js.map +1 -1
- package/dist/cmp/ReadmeRef.d.ts +2 -0
- package/dist/cmp/ReadmeRef.js +334 -0
- package/dist/cmp/ReadmeRef.js.map +1 -0
- package/dist/sdkgen.d.ts +2 -1
- package/dist/sdkgen.js +3 -1
- package/dist/sdkgen.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -3
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +2 -2
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +3 -3
- package/project/.sdk/src/cmp/js/Config_js.ts +62 -23
- package/project/.sdk/src/cmp/js/EntityOperation_js.ts +49 -0
- package/project/.sdk/src/cmp/js/Entity_js.ts +21 -50
- package/project/.sdk/src/cmp/js/MainEntity_js.ts +1 -1
- package/project/.sdk/src/cmp/js/Main_js.ts +53 -44
- package/project/.sdk/src/cmp/js/Package_js.ts +39 -12
- package/project/.sdk/src/cmp/js/Quick_js.ts +6 -10
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +101 -5
- package/project/.sdk/src/cmp/js/SdkError_js.ts +42 -0
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +288 -0
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +352 -2
- package/project/.sdk/src/cmp/js/TestMain_js.ts +0 -3
- package/project/.sdk/src/cmp/js/Test_js.ts +20 -8
- package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +55 -0
- package/project/.sdk/src/cmp/js/fragment/Direct.test.fragment.js +30 -0
- package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +119 -28
- package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +39 -0
- package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +89 -45
- package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +92 -41
- package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +95 -45
- package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +95 -43
- package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +95 -43
- package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +150 -65
- package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +22 -0
- package/project/.sdk/src/cmp/js/utility_js.ts +64 -0
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +102 -5
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -2
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +11 -8
- package/src/cmp/Readme.ts +12 -0
- package/src/cmp/ReadmeEntity.ts +105 -9
- package/src/cmp/ReadmeIntro.ts +30 -2
- package/src/cmp/ReadmeModel.ts +101 -18
- package/src/cmp/ReadmeOptions.ts +35 -6
- package/src/cmp/ReadmeRef.ts +369 -0
- package/src/sdkgen.ts +2 -0
package/bin/voxgig-sdkgen
CHANGED
package/dist/cmp/Readme.js
CHANGED
|
@@ -8,6 +8,7 @@ const ReadmeQuick_1 = require("./ReadmeQuick");
|
|
|
8
8
|
const ReadmeModel_1 = require("./ReadmeModel");
|
|
9
9
|
const ReadmeOptions_1 = require("./ReadmeOptions");
|
|
10
10
|
const ReadmeEntity_1 = require("./ReadmeEntity");
|
|
11
|
+
const ReadmeRef_1 = require("./ReadmeRef");
|
|
11
12
|
const Readme = (0, jostraca_1.cmp)(function Readme(props) {
|
|
12
13
|
const { target } = props;
|
|
13
14
|
const { model } = props.ctx$;
|
|
@@ -22,7 +23,16 @@ const Readme = (0, jostraca_1.cmp)(function Readme(props) {
|
|
|
22
23
|
(0, ReadmeModel_1.ReadmeModel)({ target });
|
|
23
24
|
(0, ReadmeOptions_1.ReadmeOptions)({ target });
|
|
24
25
|
(0, ReadmeEntity_1.ReadmeEntity)({ target });
|
|
26
|
+
(0, jostraca_1.Content)(`
|
|
27
|
+
## Reference
|
|
28
|
+
|
|
29
|
+
See [REFERENCE.md](REFERENCE.md) for complete API reference
|
|
30
|
+
documentation including all method signatures, entity field schemas,
|
|
31
|
+
and detailed usage examples.
|
|
32
|
+
`);
|
|
25
33
|
});
|
|
34
|
+
// Generate separate reference documentation
|
|
35
|
+
(0, ReadmeRef_1.ReadmeRef)({ target });
|
|
26
36
|
});
|
|
27
37
|
exports.Readme = Readme;
|
|
28
38
|
//# sourceMappingURL=Readme.js.map
|
package/dist/cmp/Readme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Readme.js","sourceRoot":"","sources":["../../src/cmp/Readme.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAG7C,+CAA2C;AAC3C,mDAA+C;AAC/C,+CAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAC/C,iDAA6C;
|
|
1
|
+
{"version":3,"file":"Readme.js","sourceRoot":"","sources":["../../src/cmp/Readme.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAG7C,+CAA2C;AAC3C,mDAA+C;AAC/C,+CAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAC/C,iDAA6C;AAC7C,2CAAuC;AAGvC,MAAM,MAAM,GAAG,IAAA,cAAG,EAAC,SAAS,MAAM,CAAC,KAAU;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IAE5B,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE;QAE/B,IAAA,kBAAO,EAAC;IACR,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;CAC7B,CAAC,CAAA;QACE,WAAW;QACX,IAAA,yBAAW,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACvB,IAAA,6BAAa,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzB,IAAA,yBAAW,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACvB,IAAA,yBAAW,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACvB,IAAA,6BAAa,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACzB,IAAA,2BAAY,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAExB,IAAA,kBAAO,EAAC;;;;;;CAMX,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,4CAA4C;IAC5C,IAAA,qBAAS,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACvB,CAAC,CAAC,CAAA;AAIA,wBAAM"}
|
package/dist/cmp/ReadmeEntity.js
CHANGED
|
@@ -3,26 +3,109 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReadmeEntity = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
|
+
const OP_DESC = {
|
|
7
|
+
load: { method: 'load(match)', desc: 'Load a single entity by match criteria.' },
|
|
8
|
+
list: { method: 'list(match)', desc: 'List entities matching the criteria.' },
|
|
9
|
+
create: { method: 'create(data)', desc: 'Create a new entity with the given data.' },
|
|
10
|
+
update: { method: 'update(data)', desc: 'Update an existing entity.' },
|
|
11
|
+
remove: { method: 'remove(match)', desc: 'Remove the matching entity.' },
|
|
12
|
+
};
|
|
6
13
|
const ReadmeEntity = (0, jostraca_1.cmp)(function ReadmeEntity(props) {
|
|
7
14
|
const { ctx$: { model } } = props;
|
|
8
15
|
const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`);
|
|
16
|
+
const publishedEntities = (0, jostraca_1.each)(entity)
|
|
17
|
+
.filter((entity) => entity.publish);
|
|
18
|
+
if (0 === publishedEntities.length) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
9
21
|
(0, jostraca_1.Content)(`
|
|
10
22
|
|
|
11
23
|
## Entities
|
|
24
|
+
|
|
12
25
|
`);
|
|
13
|
-
|
|
14
|
-
.
|
|
15
|
-
.
|
|
26
|
+
publishedEntities.map((entity) => {
|
|
27
|
+
const opnames = Object.keys(entity.op || {});
|
|
28
|
+
const fields = entity.field || [];
|
|
16
29
|
(0, jostraca_1.Content)(`
|
|
17
|
-
###
|
|
30
|
+
### ${entity.Name}
|
|
31
|
+
|
|
32
|
+
`);
|
|
33
|
+
if (entity.short) {
|
|
34
|
+
(0, jostraca_1.Content)(`${entity.short}
|
|
35
|
+
|
|
36
|
+
`);
|
|
37
|
+
}
|
|
38
|
+
(0, jostraca_1.Content)(`Create an instance: \`const ${entity.name} = client.${entity.Name}()\`
|
|
39
|
+
|
|
40
|
+
`);
|
|
41
|
+
// Operations table
|
|
42
|
+
if (opnames.length > 0) {
|
|
43
|
+
(0, jostraca_1.Content)(`#### Operations
|
|
44
|
+
|
|
45
|
+
| Method | Description |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
`);
|
|
48
|
+
opnames.map((opname) => {
|
|
49
|
+
const info = OP_DESC[opname];
|
|
50
|
+
if (info) {
|
|
51
|
+
(0, jostraca_1.Content)(`| \`${info.method}\` | ${info.desc} |
|
|
52
|
+
`);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
(0, jostraca_1.Content)(`
|
|
56
|
+
`);
|
|
57
|
+
}
|
|
58
|
+
// Fields table
|
|
59
|
+
if (fields.length > 0) {
|
|
60
|
+
(0, jostraca_1.Content)(`#### Fields
|
|
18
61
|
|
|
62
|
+
| Field | Type | Description |
|
|
63
|
+
| --- | --- | --- |
|
|
19
64
|
`);
|
|
20
|
-
|
|
65
|
+
(0, jostraca_1.each)(fields, (field) => {
|
|
66
|
+
const desc = field.short || '';
|
|
67
|
+
(0, jostraca_1.Content)(`| \`${field.name}\` | \`${field.type || 'any'}\` | ${desc} |
|
|
68
|
+
`);
|
|
69
|
+
});
|
|
21
70
|
(0, jostraca_1.Content)(`
|
|
22
|
-
* __${field.name}__ (${field.type}): ${field.short}
|
|
23
|
-
|
|
24
71
|
`);
|
|
25
|
-
}
|
|
72
|
+
}
|
|
73
|
+
// Example usage
|
|
74
|
+
if (opnames.includes('load')) {
|
|
75
|
+
(0, jostraca_1.Content)(`#### Example: Load
|
|
76
|
+
|
|
77
|
+
\`\`\`ts
|
|
78
|
+
const ${entity.name} = await client.${entity.Name}().load({ id: '${entity.name}_id' })
|
|
79
|
+
\`\`\`
|
|
80
|
+
|
|
81
|
+
`);
|
|
82
|
+
}
|
|
83
|
+
if (opnames.includes('list')) {
|
|
84
|
+
(0, jostraca_1.Content)(`#### Example: List
|
|
85
|
+
|
|
86
|
+
\`\`\`ts
|
|
87
|
+
const ${entity.name}s = await client.${entity.Name}().list()
|
|
88
|
+
\`\`\`
|
|
89
|
+
|
|
90
|
+
`);
|
|
91
|
+
}
|
|
92
|
+
if (opnames.includes('create')) {
|
|
93
|
+
(0, jostraca_1.Content)(`#### Example: Create
|
|
94
|
+
|
|
95
|
+
\`\`\`ts
|
|
96
|
+
const ${entity.name} = await client.${entity.Name}().create({
|
|
97
|
+
`);
|
|
98
|
+
(0, jostraca_1.each)(fields, (field) => {
|
|
99
|
+
if ('id' !== field.name && field.req) {
|
|
100
|
+
(0, jostraca_1.Content)(` ${field.name}: /* ${field.type || 'value'} */,
|
|
101
|
+
`);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
(0, jostraca_1.Content)(`})
|
|
105
|
+
\`\`\`
|
|
106
|
+
|
|
107
|
+
`);
|
|
108
|
+
}
|
|
26
109
|
});
|
|
27
110
|
});
|
|
28
111
|
exports.ReadmeEntity = ReadmeEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeEntity.js","sourceRoot":"","sources":["../../src/cmp/ReadmeEntity.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAE7C,oCAGiB;AAGjB,MAAM,YAAY,GAAG,IAAA,cAAG,EAAC,SAAS,YAAY,CAAC,KAAU;IACvD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,SAAS,CAAC,CAAA;IAExD,
|
|
1
|
+
{"version":3,"file":"ReadmeEntity.js","sourceRoot":"","sources":["../../src/cmp/ReadmeEntity.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAE7C,oCAGiB;AAGjB,MAAM,OAAO,GAAqD;IAChE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,yCAAyC,EAAE;IAChF,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,sCAAsC,EAAE;IAC7E,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,0CAA0C,EAAE;IACpF,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,EAAE;IACtE,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;CACzE,CAAA;AAGD,MAAM,YAAY,GAAG,IAAA,cAAG,EAAC,SAAS,YAAY,CAAC,KAAU;IACvD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,SAAS,CAAC,CAAA;IAExD,MAAM,iBAAiB,GAAG,IAAA,eAAI,EAAC,MAAM,CAAC;SACnC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE1C,IAAI,CAAC,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACnC,OAAM;IACR,CAAC;IAED,IAAA,kBAAO,EAAC;;;;CAIT,CAAC,CAAA;IAEA,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;QAEjC,IAAA,kBAAO,EAAC;MACN,MAAM,CAAC,IAAI;;CAEhB,CAAC,CAAA;QAEE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAA,kBAAO,EAAC,GAAG,MAAM,CAAC,KAAK;;CAE5B,CAAC,CAAA;QACE,CAAC;QAED,IAAA,kBAAO,EAAC,+BAA+B,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI;;CAE7E,CAAC,CAAA;QAEE,mBAAmB;QACnB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAA,kBAAO,EAAC;;;;CAIb,CAAC,CAAA;YACI,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC5B,IAAI,IAAI,EAAE,CAAC;oBACT,IAAA,kBAAO,EAAC,OAAO,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,IAAI;CACpD,CAAC,CAAA;gBACM,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAA,kBAAO,EAAC;CACb,CAAC,CAAA;QACE,CAAC;QAED,eAAe;QACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAA,kBAAO,EAAC;;;;CAIb,CAAC,CAAA;YAEI,IAAA,eAAI,EAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;gBAC9B,IAAA,kBAAO,EAAC,OAAO,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ,IAAI;CACzE,CAAC,CAAA;YACI,CAAC,CAAC,CAAA;YAEF,IAAA,kBAAO,EAAC;CACb,CAAC,CAAA;QACE,CAAC;QAED,gBAAgB;QAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAA,kBAAO,EAAC;;;QAGN,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,IAAI;;;CAG7E,CAAC,CAAA;QACE,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAA,kBAAO,EAAC;;;QAGN,MAAM,CAAC,IAAI,oBAAoB,MAAM,CAAC,IAAI;;;CAGjD,CAAC,CAAA;QACE,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAA,kBAAO,EAAC;;;QAGN,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI;CAChD,CAAC,CAAA;YACI,IAAA,eAAI,EAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACrC,IAAA,kBAAO,EAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,OAAO;CAC7D,CAAC,CAAA;gBACM,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAA,kBAAO,EAAC;;;CAGb,CAAC,CAAA;QACE,CAAC;IAEH,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAA;AAKA,oCAAY"}
|
package/dist/cmp/ReadmeIntro.js
CHANGED
|
@@ -2,12 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReadmeIntro = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
|
+
const types_1 = require("../types");
|
|
5
6
|
const ReadmeIntro = (0, jostraca_1.cmp)(function ReadmeIntro(props) {
|
|
6
|
-
const {
|
|
7
|
+
const { target } = props;
|
|
8
|
+
const { model } = props.ctx$;
|
|
9
|
+
const desc = model.main.def.desc || '';
|
|
10
|
+
const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`);
|
|
11
|
+
const entityNames = Object.values(entity)
|
|
12
|
+
.filter((e) => e.publish)
|
|
13
|
+
.map((e) => `\`${e.Name}\``);
|
|
7
14
|
(0, jostraca_1.Content)(`
|
|
8
15
|
## Introduction
|
|
9
16
|
|
|
10
|
-
${
|
|
17
|
+
${desc}
|
|
18
|
+
`);
|
|
19
|
+
if (entityNames.length > 0) {
|
|
20
|
+
(0, jostraca_1.Content)(`
|
|
21
|
+
This SDK provides an entity-oriented interface for the ${model.Name} API.
|
|
22
|
+
The following entities are available: ${entityNames.join(', ')}.
|
|
23
|
+
|
|
24
|
+
`);
|
|
25
|
+
}
|
|
26
|
+
(0, jostraca_1.Content)(`
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
- Entity-based API: work with business objects directly.
|
|
30
|
+
- Type safe: full TypeScript definitions included.
|
|
31
|
+
- Direct HTTP access: call any API endpoint using \`client.direct()\`.
|
|
32
|
+
- Testable: built-in test mode with mock support.
|
|
11
33
|
|
|
12
34
|
`);
|
|
13
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeIntro.js","sourceRoot":"","sources":["../../src/cmp/ReadmeIntro.ts"],"names":[],"mappings":";;;AACA,uCAAuC;
|
|
1
|
+
{"version":3,"file":"ReadmeIntro.js","sourceRoot":"","sources":["../../src/cmp/ReadmeIntro.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,oCAGiB;AAGjB,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IAE5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,SAAS,CAAC,CAAA;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACtC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;IAEnC,IAAA,kBAAO,EAAC;;;EAGR,IAAI;CACL,CAAC,CAAA;IAEA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAA,kBAAO,EAAC;yDAC6C,KAAK,CAAC,IAAI;wCAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;CAE7D,CAAC,CAAA;IACA,CAAC;IAED,IAAA,kBAAO,EAAC;;;;;;;;CAQT,CAAC,CAAA;AAEF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
|
package/dist/cmp/ReadmeModel.js
CHANGED
|
@@ -2,38 +2,115 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReadmeModel = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
|
+
const types_1 = require("../types");
|
|
5
6
|
const ReadmeModel = (0, jostraca_1.cmp)(function ReadmeModel(props) {
|
|
6
7
|
const { ctx$: { model } } = props;
|
|
8
|
+
const entity = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.entity`);
|
|
9
|
+
const entityList = Object.values(entity).filter((e) => e.publish);
|
|
7
10
|
(0, jostraca_1.Content)(`
|
|
8
|
-
##
|
|
11
|
+
## SDK Structure
|
|
9
12
|
|
|
10
|
-
This SDK uses an entity-oriented interface
|
|
11
|
-
endpoint paths directly.
|
|
12
|
-
|
|
13
|
+
This SDK uses an entity-oriented interface rather than exposing API
|
|
14
|
+
endpoint paths directly. Business logic maps directly to business
|
|
15
|
+
entities in your code.
|
|
13
16
|
|
|
14
|
-
The SDK itself allows you to create one or more client instances,
|
|
15
|
-
which can be used concurrently in the same thread. Each client
|
|
16
|
-
instance provides a set of entity methods to create entity
|
|
17
|
-
instances. Each entity instance can likewise operate independently.
|
|
18
17
|
|
|
18
|
+
### Client
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Create a client instance using the constructor or the static \`test\` method:
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
\`\`\`ts
|
|
23
|
+
// Production client
|
|
24
|
+
const client = new ${model.Name}SDK({ apikey: '...' })
|
|
25
|
+
|
|
26
|
+
// Test client with mock features
|
|
27
|
+
const testClient = ${model.Name}SDK.test()
|
|
28
|
+
\`\`\`
|
|
23
29
|
|
|
24
30
|
|
|
25
31
|
### Client Methods
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
| Method | Description |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
`);
|
|
36
|
+
(0, jostraca_1.each)(entityList, (entity) => {
|
|
37
|
+
(0, jostraca_1.Content)(`| \`${entity.Name}(data?)\` | Create a new \`${entity.Name}\` entity instance. |
|
|
38
|
+
`);
|
|
39
|
+
});
|
|
40
|
+
(0, jostraca_1.Content)(`| \`options()\` | Return a copy of the current SDK options. |
|
|
41
|
+
| \`utility()\` | Return a copy of the SDK utility object. |
|
|
42
|
+
| \`direct(fetchargs)\` | Make a direct HTTP request to any API endpoint. |
|
|
43
|
+
| \`prepare(fetchargs)\` | Prepare a fetch definition without sending the request. |
|
|
44
|
+
| \`tester(testopts?, sdkopts?)\` | Create a test client instance. |
|
|
28
45
|
|
|
29
46
|
|
|
30
47
|
### Entity Methods
|
|
31
48
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
49
|
+
Each entity instance provides the following methods, where available:
|
|
50
|
+
|
|
51
|
+
| Method | Description |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| \`data(data?)\` | Get or set the entity data. Returns the current data. |
|
|
54
|
+
| \`match(match?)\` | Get or set the entity match criteria. Returns the current match. |
|
|
55
|
+
| \`load(match)\` | Load a single entity by match criteria. |
|
|
56
|
+
| \`list(match)\` | List entities matching the criteria. Returns an array. |
|
|
57
|
+
| \`create(data)\` | Create a new entity with the given data. |
|
|
58
|
+
| \`update(data)\` | Update an existing entity with the given data. |
|
|
59
|
+
| \`remove(match)\` | Remove the entity matching the criteria. |
|
|
60
|
+
| \`make()\` | Create a new entity instance with the same options. |
|
|
61
|
+
| \`client()\` | Return the parent client instance. |
|
|
62
|
+
| \`entopts()\` | Return a copy of the entity options. |
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Direct API Access
|
|
66
|
+
|
|
67
|
+
The \`direct\` method allows you to call any API endpoint without
|
|
68
|
+
using the entity interface:
|
|
69
|
+
|
|
70
|
+
\`\`\`ts
|
|
71
|
+
const result = await client.direct({
|
|
72
|
+
path: '/api/v1/resource/{id}',
|
|
73
|
+
method: 'GET',
|
|
74
|
+
params: { id: 'abc123' },
|
|
75
|
+
query: { fields: 'name,status' },
|
|
76
|
+
headers: { 'X-Custom': 'value' },
|
|
77
|
+
body: { key: 'value' },
|
|
78
|
+
})
|
|
79
|
+
\`\`\`
|
|
80
|
+
|
|
81
|
+
The result object has the following shape:
|
|
82
|
+
|
|
83
|
+
\`\`\`ts
|
|
84
|
+
{
|
|
85
|
+
ok: boolean, // true if status is 2xx
|
|
86
|
+
status: number, // HTTP status code
|
|
87
|
+
headers: object, // Response headers
|
|
88
|
+
data: any, // Parsed JSON response body
|
|
89
|
+
}
|
|
90
|
+
\`\`\`
|
|
91
|
+
|
|
92
|
+
Use the \`prepare\` method to build the fetch definition without
|
|
93
|
+
sending the request:
|
|
94
|
+
|
|
95
|
+
\`\`\`ts
|
|
96
|
+
const fetchdef = await client.prepare({
|
|
97
|
+
path: '/api/v1/resource',
|
|
98
|
+
method: 'POST',
|
|
99
|
+
body: { name: 'example' },
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
// fetchdef contains: { url, method, headers, body }
|
|
103
|
+
\`\`\`
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### Testing
|
|
107
|
+
|
|
108
|
+
Create a test client using the static \`test\` method. The test
|
|
109
|
+
client activates the test feature, which provides mock responses:
|
|
110
|
+
|
|
111
|
+
\`\`\`ts
|
|
112
|
+
const client = ${model.Name}SDK.test()
|
|
113
|
+
\`\`\`
|
|
37
114
|
|
|
38
115
|
`);
|
|
39
116
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeModel.js","sourceRoot":"","sources":["../../src/cmp/ReadmeModel.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadmeModel.js","sourceRoot":"","sources":["../../src/cmp/ReadmeModel.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAE7C,oCAGiB;AAGjB,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,SAAS,CAAC,CAAA;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEtE,IAAA,kBAAO,EAAC;;;;;;;;;;;;;;qBAcW,KAAK,CAAC,IAAI;;;qBAGV,KAAK,CAAC,IAAI;;;;;;;;CAQ9B,CAAC,CAAA;IAEA,IAAA,eAAI,EAAC,UAAU,EAAE,CAAC,MAAW,EAAE,EAAE;QAC/B,IAAA,kBAAO,EAAC,OAAO,MAAM,CAAC,IAAI,8BAA8B,MAAM,CAAC,IAAI;CACtE,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAA,kBAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwEO,KAAK,CAAC,IAAI;;;CAG1B,CAAC,CAAA;AAGF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
|
|
@@ -4,18 +4,43 @@ exports.ReadmeOptions = void 0;
|
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const ReadmeOptions = (0, jostraca_1.cmp)(function ReadmeOptions(props) {
|
|
6
6
|
const { target } = props;
|
|
7
|
+
const { model } = props.ctx$;
|
|
8
|
+
const publishedOptions = (0, jostraca_1.each)(target.options)
|
|
9
|
+
.filter((option) => option.publish);
|
|
10
|
+
if (0 === publishedOptions.length) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
7
13
|
(0, jostraca_1.Content)(`
|
|
8
14
|
|
|
9
15
|
## Options
|
|
10
16
|
|
|
17
|
+
Pass options when creating a client instance:
|
|
18
|
+
|
|
19
|
+
\`\`\`ts
|
|
20
|
+
const client = new ${model.Name}SDK({
|
|
21
|
+
`);
|
|
22
|
+
publishedOptions.map((option) => {
|
|
23
|
+
if ('apikey' === option.name) {
|
|
24
|
+
(0, jostraca_1.Content)(` ${option.name}: process.env.${model.NAME}_APIKEY,
|
|
25
|
+
`);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
(0, jostraca_1.Content)(` // ${option.name}: ${option.kind === 'string' ? "'...'" : '...'},
|
|
29
|
+
`);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
(0, jostraca_1.Content)(`})
|
|
33
|
+
\`\`\`
|
|
34
|
+
|
|
35
|
+
| Option | Type | Description |
|
|
36
|
+
| --- | --- | --- |
|
|
11
37
|
`);
|
|
12
|
-
|
|
13
|
-
.
|
|
14
|
-
.map((option) => {
|
|
15
|
-
(0, jostraca_1.Content)(`
|
|
16
|
-
* __${option.name} (${option.kind})__: ${option.short}
|
|
38
|
+
publishedOptions.map((option) => {
|
|
39
|
+
(0, jostraca_1.Content)(`| \`${option.name}\` | \`${option.kind}\` | ${option.short} |
|
|
17
40
|
`);
|
|
18
41
|
});
|
|
42
|
+
(0, jostraca_1.Content)(`
|
|
43
|
+
`);
|
|
19
44
|
});
|
|
20
45
|
exports.ReadmeOptions = ReadmeOptions;
|
|
21
46
|
//# sourceMappingURL=ReadmeOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeOptions.js","sourceRoot":"","sources":["../../src/cmp/ReadmeOptions.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAG7C,MAAM,aAAa,GAAG,IAAA,cAAG,EAAC,SAAS,aAAa,CAAC,KAAU;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"ReadmeOptions.js","sourceRoot":"","sources":["../../src/cmp/ReadmeOptions.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAG7C,MAAM,aAAa,GAAG,IAAA,cAAG,EAAC,SAAS,aAAa,CAAC,KAAU;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IAE5B,MAAM,gBAAgB,GAAG,IAAA,eAAI,EAAC,MAAM,CAAC,OAAO,CAAC;SAC1C,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE1C,IAAI,CAAC,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IAED,IAAA,kBAAO,EAAC;;;;;;;qBAOW,KAAK,CAAC,IAAI;CAC9B,CAAC,CAAA;IAEA,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACnC,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAA,kBAAO,EAAC,KAAK,MAAM,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI;CACxD,CAAC,CAAA;QACE,CAAC;aACI,CAAC;YACJ,IAAA,kBAAO,EAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;CAC/E,CAAC,CAAA;QACE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,kBAAO,EAAC;;;;;CAKT,CAAC,CAAA;IAEA,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACnC,IAAA,kBAAO,EAAC,OAAO,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,KAAK;CACtE,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAA,kBAAO,EAAC;CACT,CAAC,CAAA;AAEF,CAAC,CAAC,CAAA;AAKA,sCAAa"}
|