@voxgig/sdkgen 0.7.0 → 0.9.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/dist/cmp/Entity.js +2 -1
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/Main.js +1 -1
- package/dist/cmp/Main.js.map +1 -1
- package/dist/cmp/Readme.js +1 -1
- package/dist/cmp/Readme.js.map +1 -1
- package/dist/cmp/ReadmeEntity.js +4 -5
- package/dist/cmp/ReadmeEntity.js.map +1 -1
- package/dist/cmp/ReadmeInstall.js +1 -1
- package/dist/cmp/ReadmeInstall.js.map +1 -1
- package/dist/cmp/ReadmeIntro.js +1 -1
- package/dist/cmp/ReadmeIntro.js.map +1 -1
- package/dist/cmp/ReadmeModel.js +1 -1
- package/dist/cmp/ReadmeModel.js.map +1 -1
- package/dist/cmp/ReadmeOptions.js +2 -2
- package/dist/cmp/ReadmeOptions.js.map +1 -1
- package/dist/cmp/ReadmeQuick.js +1 -1
- package/dist/cmp/ReadmeQuick.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -2
- package/dist/sdkgen.js +39 -13
- package/dist/sdkgen.js.map +1 -1
- package/package.json +9 -9
- package/src/cmp/Entity.ts +2 -1
- package/src/cmp/Main.ts +1 -1
- package/src/cmp/Readme.ts +2 -2
- package/src/cmp/ReadmeEntity.ts +5 -6
- package/src/cmp/ReadmeInstall.ts +3 -2
- package/src/cmp/ReadmeIntro.ts +2 -2
- package/src/cmp/ReadmeModel.ts +2 -2
- package/src/cmp/ReadmeOptions.ts +3 -3
- package/src/cmp/ReadmeQuick.ts +2 -2
- package/src/sdkgen.ts +56 -15
- package/src/cmp/ReadmeIntro.ts~ +0 -25
- package/src/cmp/ReadmeModel.ts~ +0 -24
package/dist/cmp/Entity.js
CHANGED
|
@@ -5,8 +5,9 @@ const jostraca_1 = require("jostraca");
|
|
|
5
5
|
const utility_1 = require("../utility");
|
|
6
6
|
const Entity = (0, jostraca_1.cmp)(function Entity(props) {
|
|
7
7
|
const { build, entity, ctx$ } = props;
|
|
8
|
+
// console.log('BUILD name', build.name)
|
|
8
9
|
const Entity_sdk = require((0, utility_1.resolvePath)(ctx$, `./${build.name}/Entity_${build.name}`));
|
|
9
|
-
Entity_sdk['
|
|
10
|
+
Entity_sdk['Entity']({ build, entity });
|
|
10
11
|
});
|
|
11
12
|
exports.Entity = Entity;
|
|
12
13
|
//# sourceMappingURL=Entity.js.map
|
package/dist/cmp/Entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/cmp/Entity.ts"],"names":[],"mappings":";;;AACA,uCAA8B;AAE9B,wCAAwC;AAGxC,MAAM,MAAM,GAAG,IAAA,cAAG,EAAC,SAAS,MAAM,CAAC,KAAU;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAErC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAA,qBAAW,EAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAErF,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/cmp/Entity.ts"],"names":[],"mappings":";;;AACA,uCAA8B;AAE9B,wCAAwC;AAGxC,MAAM,MAAM,GAAG,IAAA,cAAG,EAAC,SAAS,MAAM,CAAC,KAAU;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAErC,wCAAwC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAA,qBAAW,EAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAErF,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA;AAIA,wBAAM"}
|
package/dist/cmp/Main.js
CHANGED
|
@@ -7,7 +7,7 @@ const Main = (0, jostraca_1.cmp)(function Main(props) {
|
|
|
7
7
|
const { build, ctx$ } = props;
|
|
8
8
|
const { model } = ctx$;
|
|
9
9
|
const Main_sdk = require((0, utility_1.resolvePath)(ctx$, `${build.name}/Main_${build.name}`));
|
|
10
|
-
Main_sdk['
|
|
10
|
+
Main_sdk['Main']({ model, build });
|
|
11
11
|
// TODO: make optional via build model
|
|
12
12
|
(0, jostraca_1.Copy)({ from: 'tm/' + build.name + '/LICENSE', name: 'LICENSE' });
|
|
13
13
|
});
|
package/dist/cmp/Main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/cmp/Main.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,wCAAwC;AAGxC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAA,qBAAW,EAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/E,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/cmp/Main.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,wCAAwC;AAGxC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAA,qBAAW,EAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/E,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAElC,sCAAsC;IACtC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAIA,oBAAI"}
|
package/dist/cmp/Readme.js
CHANGED
|
@@ -12,7 +12,7 @@ const Readme = (0, jostraca_1.cmp)(function Readme(props) {
|
|
|
12
12
|
const { build } = props;
|
|
13
13
|
const { model } = props.ctx$;
|
|
14
14
|
(0, jostraca_1.File)({ name: 'README.md' }, () => {
|
|
15
|
-
(0, jostraca_1.
|
|
15
|
+
(0, jostraca_1.Content)(`
|
|
16
16
|
# ${model.Name} ${build.title} SDK
|
|
17
17
|
`);
|
|
18
18
|
// Sections
|
package/dist/cmp/Readme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Readme.js","sourceRoot":"","sources":["../../src/cmp/Readme.ts"],"names":[],"mappings":";;;AACA,
|
|
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;AAG7C,MAAM,MAAM,GAAG,IAAA,cAAG,EAAC,SAAS,MAAM,CAAC,KAAU;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,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,KAAK,CAAC,KAAK;CAC5B,CAAC,CAAA;QACE,WAAW;QACX,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACtB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxB,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACtB,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACtB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxB,IAAA,2BAAY,EAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAIA,wBAAM"}
|
package/dist/cmp/ReadmeEntity.js
CHANGED
|
@@ -3,22 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReadmeEntity = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const ReadmeEntity = (0, jostraca_1.cmp)(function ReadmeEntity(props) {
|
|
6
|
-
const {
|
|
7
|
-
const { model } = props.ctx$;
|
|
6
|
+
const { ctx$: { model } } = props;
|
|
8
7
|
const { entity } = model.main.sdk;
|
|
9
|
-
(0, jostraca_1.
|
|
8
|
+
(0, jostraca_1.Content)(`
|
|
10
9
|
|
|
11
10
|
## Entities
|
|
12
11
|
`);
|
|
13
12
|
(0, jostraca_1.each)(entity)
|
|
14
13
|
.filter((entity) => entity.publish)
|
|
15
14
|
.map((entity) => {
|
|
16
|
-
(0, jostraca_1.
|
|
15
|
+
(0, jostraca_1.Content)(`
|
|
17
16
|
### Entity: __${entity.Name}__
|
|
18
17
|
|
|
19
18
|
`);
|
|
20
19
|
(0, jostraca_1.each)(entity.field, (field) => {
|
|
21
|
-
(0, jostraca_1.
|
|
20
|
+
(0, jostraca_1.Content)(`
|
|
22
21
|
* __${field.name}__ (${field.type}): ${field.short}
|
|
23
22
|
|
|
24
23
|
`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeEntity.js","sourceRoot":"","sources":["../../src/cmp/ReadmeEntity.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadmeEntity.js","sourceRoot":"","sources":["../../src/cmp/ReadmeEntity.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAG7C,MAAM,YAAY,GAAG,IAAA,cAAG,EAAC,SAAS,YAAY,CAAC,KAAU;IACvD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA;IAEjC,IAAA,kBAAO,EAAC;;;CAGT,CAAC,CAAA;IAGA,IAAA,eAAI,EAAC,MAAM,CAAC;SACT,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SACvC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACnB,IAAA,kBAAO,EAAC;gBACE,MAAM,CAAC,IAAI;;CAE1B,CAAC,CAAA;QAEI,IAAA,eAAI,EAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE;YAChC,IAAA,kBAAO,EAAC;MACV,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,KAAK;;CAEjD,CAAC,CAAA;QACI,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AAGN,CAAC,CAAC,CAAA;AAKA,oCAAY"}
|
|
@@ -5,7 +5,7 @@ const jostraca_1 = require("jostraca");
|
|
|
5
5
|
const utility_1 = require("../utility");
|
|
6
6
|
const ReadmeInstall = (0, jostraca_1.cmp)(function ReadmeInstall(props) {
|
|
7
7
|
const { build, ctx$ } = props;
|
|
8
|
-
(0, jostraca_1.
|
|
8
|
+
(0, jostraca_1.Content)(`
|
|
9
9
|
## Install
|
|
10
10
|
`);
|
|
11
11
|
// Optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeInstall.js","sourceRoot":"","sources":["../../src/cmp/ReadmeInstall.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ReadmeInstall.js","sourceRoot":"","sources":["../../src/cmp/ReadmeInstall.ts"],"names":[],"mappings":";;;AAEA,uCAAuC;AAEvC,wCAAwC;AAGxC,MAAM,aAAa,GAAG,IAAA,cAAG,EAAC,SAAS,aAAa,CAAC,KAAU;IACzD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAE7B,IAAA,kBAAO,EAAC;;CAET,CAAC,CAAA;IAEA,WAAW;IACX,MAAM,iBAAiB,GAAG,IAAA,qBAAW,EAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAE1F,IAAI,iBAAiB,EAAE,CAAC;QACtB,iBAAiB,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAC,CAAA;AAOA,sCAAa"}
|
package/dist/cmp/ReadmeIntro.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.ReadmeIntro = void 0;
|
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const ReadmeIntro = (0, jostraca_1.cmp)(function ReadmeIntro(props) {
|
|
6
6
|
const { ctx$: { model } } = props;
|
|
7
|
-
(0, jostraca_1.
|
|
7
|
+
(0, jostraca_1.Content)(`
|
|
8
8
|
## Introduction
|
|
9
9
|
|
|
10
10
|
${model.main.def.desc}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeIntro.js","sourceRoot":"","sources":["../../src/cmp/ReadmeIntro.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadmeIntro.js","sourceRoot":"","sources":["../../src/cmp/ReadmeIntro.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAG/C,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,IAAA,kBAAO,EAAC;;;EAGR,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;;CAEpB,CAAC,CAAA;AAIF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
|
package/dist/cmp/ReadmeModel.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.ReadmeModel = void 0;
|
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const ReadmeModel = (0, jostraca_1.cmp)(function ReadmeModel(props) {
|
|
6
6
|
const { ctx$: { model } } = props;
|
|
7
|
-
(0, jostraca_1.
|
|
7
|
+
(0, jostraca_1.Content)(`
|
|
8
8
|
## Entity Model
|
|
9
9
|
|
|
10
10
|
This SDK uses an entity-oriented interface, rather than exposing
|
|
@@ -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,uCAAuC;AAGvC,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,IAAA,kBAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,CAAC,CAAA;AAIF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
|
|
@@ -4,7 +4,7 @@ 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 { build } = props;
|
|
7
|
-
(0, jostraca_1.
|
|
7
|
+
(0, jostraca_1.Content)(`
|
|
8
8
|
|
|
9
9
|
## Options
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ const ReadmeOptions = (0, jostraca_1.cmp)(function ReadmeOptions(props) {
|
|
|
12
12
|
(0, jostraca_1.each)(build.options)
|
|
13
13
|
.filter((option) => option.publish)
|
|
14
14
|
.map((option) => {
|
|
15
|
-
(0, jostraca_1.
|
|
15
|
+
(0, jostraca_1.Content)(`
|
|
16
16
|
* __${option.name} (${option.kind})__: ${option.short}
|
|
17
17
|
`);
|
|
18
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeOptions.js","sourceRoot":"","sources":["../../src/cmp/ReadmeOptions.ts"],"names":[],"mappings":";;;AACA,
|
|
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,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,IAAA,kBAAO,EAAC;;;;CAIT,CAAC,CAAA;IAEA,IAAA,eAAI,EAAC,KAAK,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SACvC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACnB,IAAA,kBAAO,EAAC;MACR,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,KAAK;CACpD,CAAC,CAAA;IACE,CAAC,CAAC,CAAA;AAGN,CAAC,CAAC,CAAA;AAKA,sCAAa"}
|
package/dist/cmp/ReadmeQuick.js
CHANGED
|
@@ -5,7 +5,7 @@ const jostraca_1 = require("jostraca");
|
|
|
5
5
|
const utility_1 = require("../utility");
|
|
6
6
|
const ReadmeQuick = (0, jostraca_1.cmp)(function ReadmeQuick(props) {
|
|
7
7
|
const { build, ctx$ } = props;
|
|
8
|
-
(0, jostraca_1.
|
|
8
|
+
(0, jostraca_1.Content)(`
|
|
9
9
|
## Quick Start
|
|
10
10
|
|
|
11
11
|
`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadmeQuick.js","sourceRoot":"","sources":["../../src/cmp/ReadmeQuick.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadmeQuick.js","sourceRoot":"","sources":["../../src/cmp/ReadmeQuick.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,wCAAwC;AAGxC,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAE7B,IAAA,kBAAO,EAAC;;;CAGT,CAAC,CAAA;IAGA,MAAM,eAAe,GAAG,IAAA,qBAAW,EAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAEtF,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAC,CAAA;AAMA,kCAAW"}
|
package/dist/sdkgen.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { ReadmeInstall } from './cmp/ReadmeInstall';
|
|
|
6
6
|
import { ReadmeOptions } from './cmp/ReadmeOptions';
|
|
7
7
|
import { ReadmeEntity } from './cmp/ReadmeEntity';
|
|
8
8
|
type SdkGenOptions = {
|
|
9
|
+
root: string;
|
|
9
10
|
folder: string;
|
|
10
11
|
def?: string;
|
|
11
12
|
fs: any;
|
|
@@ -22,7 +23,7 @@ declare function SdkGen(opts: SdkGenOptions): {
|
|
|
22
23
|
generate: (spec: any) => Promise<void>;
|
|
23
24
|
};
|
|
24
25
|
declare namespace SdkGen {
|
|
25
|
-
var makeBuild: (
|
|
26
|
+
var makeBuild: (opts: SdkGenOptions) => Promise<(model: any, build: any) => Promise<void>>;
|
|
26
27
|
}
|
|
27
28
|
export type { SdkGenOptions, };
|
|
28
29
|
type Component = (props: any, children?: any) => void;
|
|
@@ -40,6 +41,6 @@ export declare const getx: (root: any, path: string | string[]) => any;
|
|
|
40
41
|
export declare const Project: Component;
|
|
41
42
|
export declare const Folder: Component;
|
|
42
43
|
export declare const File: Component;
|
|
43
|
-
export declare const
|
|
44
|
+
export declare const Content: Component;
|
|
44
45
|
export declare const Copy: Component;
|
|
45
46
|
export { Main, Entity, Readme, ReadmeInstall, ReadmeOptions, ReadmeEntity, Jostraca, SdkGen, };
|
package/dist/sdkgen.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
return result;
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.Jostraca = exports.ReadmeEntity = exports.ReadmeOptions = exports.ReadmeInstall = exports.Readme = exports.Entity = exports.Main = exports.Copy = exports.
|
|
27
|
+
exports.Jostraca = exports.ReadmeEntity = exports.ReadmeOptions = exports.ReadmeInstall = exports.Readme = exports.Entity = exports.Main = exports.Copy = exports.Content = exports.File = exports.Folder = exports.Project = exports.getx = exports.get = exports.vmap = exports.cmap = exports.select = exports.kebabify = exports.camelify = exports.snakify = exports.each = exports.names = exports.cmp = void 0;
|
|
28
28
|
exports.SdkGen = SdkGen;
|
|
29
29
|
const Fs = __importStar(require("node:fs"));
|
|
30
30
|
const JostracaModule = __importStar(require("jostraca"));
|
|
@@ -50,16 +50,23 @@ function SdkGen(opts) {
|
|
|
50
50
|
const def = opts.def || 'def.yml';
|
|
51
51
|
const jostraca = Jostraca();
|
|
52
52
|
async function generate(spec) {
|
|
53
|
-
const { model,
|
|
53
|
+
const { model, config } = spec;
|
|
54
|
+
// console.log('SDKGEN.config', config)
|
|
55
|
+
let Root = spec.root;
|
|
56
|
+
if (null == Root) {
|
|
57
|
+
clear(config.root);
|
|
58
|
+
const rootModule = require(config.root);
|
|
59
|
+
Root = rootModule;
|
|
60
|
+
}
|
|
54
61
|
/*
|
|
55
62
|
if (await prepare(spec, { fs, folder, def })) {
|
|
56
63
|
return
|
|
57
64
|
}
|
|
58
65
|
*/
|
|
59
66
|
// console.log('OPTIONS', opts)
|
|
60
|
-
const
|
|
67
|
+
const opts = { fs, folder, meta: { spec } };
|
|
61
68
|
try {
|
|
62
|
-
jostraca.generate(
|
|
69
|
+
await jostraca.generate(opts, () => Root({ model }));
|
|
63
70
|
}
|
|
64
71
|
catch (err) {
|
|
65
72
|
console.log('SDKGEN ERROR: ', err);
|
|
@@ -71,28 +78,47 @@ function SdkGen(opts) {
|
|
|
71
78
|
}
|
|
72
79
|
return {
|
|
73
80
|
generate,
|
|
74
|
-
// cmp, each,
|
|
75
|
-
// Project, Folder, File, Code
|
|
76
81
|
};
|
|
77
82
|
}
|
|
78
|
-
SdkGen.makeBuild = async function (
|
|
79
|
-
console.log('SdkGen.makeBuild', opts)
|
|
83
|
+
SdkGen.makeBuild = async function (opts) {
|
|
84
|
+
// console.log('SdkGen.makeBuild', opts)
|
|
80
85
|
const sdkgen = SdkGen(opts);
|
|
81
86
|
const apidef = (0, apidef_1.ApiDef)();
|
|
82
|
-
const
|
|
87
|
+
const config = {
|
|
88
|
+
root: opts.root,
|
|
83
89
|
def: opts.def,
|
|
84
90
|
kind: 'openapi-3',
|
|
85
91
|
model: opts.model ? (opts.model.folder + '/api.jsonic') : undefined,
|
|
86
92
|
meta: opts.meta || {},
|
|
87
93
|
entity: opts.model ? opts.model.entity : undefined,
|
|
88
94
|
};
|
|
89
|
-
await apidef.watch(
|
|
95
|
+
await apidef.watch(config);
|
|
90
96
|
return async function build(model, build) {
|
|
91
97
|
// TODO: voxgig model needs to handle errors from here
|
|
92
|
-
|
|
93
|
-
return sdkgen.generate({ model, build, root });
|
|
98
|
+
return sdkgen.generate({ model, build, config });
|
|
94
99
|
};
|
|
95
100
|
};
|
|
101
|
+
// Adapted from https://github.com/sindresorhus/import-fresh - Thanks!
|
|
102
|
+
function clear(path) {
|
|
103
|
+
let filePath = require.resolve(path);
|
|
104
|
+
if (require.cache[filePath]) {
|
|
105
|
+
const children = require.cache[filePath].children.map(child => child.id);
|
|
106
|
+
// Delete module from cache
|
|
107
|
+
delete require.cache[filePath];
|
|
108
|
+
for (const id of children) {
|
|
109
|
+
clear(id);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (require.cache[filePath] && require.cache[filePath].parent) {
|
|
113
|
+
let i = require.cache[filePath].parent.children.length;
|
|
114
|
+
while (i--) {
|
|
115
|
+
if (require.cache[filePath].parent.children[i].id === filePath) {
|
|
116
|
+
require.cache[filePath].parent.children.splice(i, 1);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Prevents TS2742
|
|
96
122
|
exports.cmp = JostracaModule.cmp;
|
|
97
123
|
exports.names = JostracaModule.names;
|
|
98
124
|
exports.each = JostracaModule.each;
|
|
@@ -107,6 +133,6 @@ exports.getx = JostracaModule.getx;
|
|
|
107
133
|
exports.Project = JostracaModule.Project;
|
|
108
134
|
exports.Folder = JostracaModule.Folder;
|
|
109
135
|
exports.File = JostracaModule.File;
|
|
110
|
-
exports.
|
|
136
|
+
exports.Content = JostracaModule.Content;
|
|
111
137
|
exports.Copy = JostracaModule.Copy;
|
|
112
138
|
//# sourceMappingURL=sdkgen.js.map
|
package/dist/sdkgen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxgig/sdkgen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"main": "dist/sdkgen.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/sdkgen.d.ts",
|
|
7
7
|
"description": "Voxgig SDK Generator.",
|
|
8
8
|
"homepage": "https://github.com/voxgig/voxgig-sdkgen",
|
|
9
9
|
"keywords": [
|
|
10
|
-
"voxgig
|
|
11
|
-
"
|
|
10
|
+
"voxgig",
|
|
11
|
+
"sdkgen"
|
|
12
12
|
],
|
|
13
13
|
"author": "Richard Rodger (http://richardrodger.com)",
|
|
14
14
|
"repository": {
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@hapi/code": "^9.0.3",
|
|
37
37
|
"@types/js-yaml": "^4.0.9",
|
|
38
|
-
"@types/node": "22.5.
|
|
38
|
+
"@types/node": "22.5.5",
|
|
39
39
|
"aontu": "^0.22.0",
|
|
40
|
-
"esbuild": "^0.
|
|
40
|
+
"esbuild": "^0.24.0",
|
|
41
41
|
"json-schema-to-ts": "^3.1.1",
|
|
42
|
-
"memfs": "^4.
|
|
42
|
+
"memfs": "^4.12.0",
|
|
43
43
|
"typescript": "^5.6.2"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@redocly/openapi-core": "^1.25.
|
|
47
|
-
"@voxgig/apidef": "^0.0.
|
|
48
|
-
"jostraca": "^0.
|
|
46
|
+
"@redocly/openapi-core": "^1.25.3",
|
|
47
|
+
"@voxgig/apidef": "^0.0.9",
|
|
48
|
+
"jostraca": "^0.7.0"
|
|
49
49
|
}
|
|
50
50
|
}
|
package/src/cmp/Entity.ts
CHANGED
|
@@ -7,9 +7,10 @@ import { resolvePath } from '../utility'
|
|
|
7
7
|
const Entity = cmp(function Entity(props: any) {
|
|
8
8
|
const { build, entity, ctx$ } = props
|
|
9
9
|
|
|
10
|
+
// console.log('BUILD name', build.name)
|
|
10
11
|
const Entity_sdk = require(resolvePath(ctx$, `./${build.name}/Entity_${build.name}`))
|
|
11
12
|
|
|
12
|
-
Entity_sdk['
|
|
13
|
+
Entity_sdk['Entity']({ build, entity })
|
|
13
14
|
})
|
|
14
15
|
|
|
15
16
|
|
package/src/cmp/Main.ts
CHANGED
|
@@ -10,7 +10,7 @@ const Main = cmp(function Main(props: any) {
|
|
|
10
10
|
|
|
11
11
|
const Main_sdk = require(resolvePath(ctx$, `${build.name}/Main_${build.name}`))
|
|
12
12
|
|
|
13
|
-
Main_sdk['
|
|
13
|
+
Main_sdk['Main']({ model, build })
|
|
14
14
|
|
|
15
15
|
// TODO: make optional via build model
|
|
16
16
|
Copy({ from: 'tm/' + build.name + '/LICENSE', name: 'LICENSE' })
|
package/src/cmp/Readme.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, File,
|
|
2
|
+
import { cmp, File, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
import { ReadmeIntro } from './ReadmeIntro'
|
|
@@ -16,7 +16,7 @@ const Readme = cmp(function Readme(props: any) {
|
|
|
16
16
|
|
|
17
17
|
File({ name: 'README.md' }, () => {
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Content(`
|
|
20
20
|
# ${model.Name} ${build.title} SDK
|
|
21
21
|
`)
|
|
22
22
|
// Sections
|
package/src/cmp/ReadmeEntity.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each,
|
|
2
|
+
import { cmp, each, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
6
|
-
const {
|
|
7
|
-
const { model } = props.ctx$
|
|
6
|
+
const { ctx$: { model } } = props
|
|
8
7
|
|
|
9
8
|
const { entity } = model.main.sdk
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
Content(`
|
|
12
11
|
|
|
13
12
|
## Entities
|
|
14
13
|
`)
|
|
@@ -17,13 +16,13 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
17
16
|
each(entity)
|
|
18
17
|
.filter((entity: any) => entity.publish)
|
|
19
18
|
.map((entity: any) => {
|
|
20
|
-
|
|
19
|
+
Content(`
|
|
21
20
|
### Entity: __${entity.Name}__
|
|
22
21
|
|
|
23
22
|
`)
|
|
24
23
|
|
|
25
24
|
each(entity.field, (field: any) => {
|
|
26
|
-
|
|
25
|
+
Content(`
|
|
27
26
|
* __${field.name}__ (${field.type}): ${field.short}
|
|
28
27
|
|
|
29
28
|
`)
|
package/src/cmp/ReadmeInstall.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
import { cmp, Content } from 'jostraca'
|
|
3
4
|
|
|
4
5
|
import { requirePath } from '../utility'
|
|
5
6
|
|
|
@@ -7,7 +8,7 @@ import { requirePath } from '../utility'
|
|
|
7
8
|
const ReadmeInstall = cmp(function ReadmeInstall(props: any) {
|
|
8
9
|
const { build, ctx$ } = props
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
Content(`
|
|
11
12
|
## Install
|
|
12
13
|
`)
|
|
13
14
|
|
package/src/cmp/ReadmeIntro.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, select,
|
|
2
|
+
import { cmp, select, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
|
|
6
6
|
const { ctx$: { model } } = props
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Content(`
|
|
9
9
|
## Introduction
|
|
10
10
|
|
|
11
11
|
${model.main.def.desc}
|
package/src/cmp/ReadmeModel.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp,
|
|
2
|
+
import { cmp, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const ReadmeModel = cmp(function ReadmeModel(props: any) {
|
|
6
6
|
const { ctx$: { model } } = props
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Content(`
|
|
9
9
|
## Entity Model
|
|
10
10
|
|
|
11
11
|
This SDK uses an entity-oriented interface, rather than exposing
|
package/src/cmp/ReadmeOptions.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each,
|
|
2
|
+
import { cmp, each, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const ReadmeOptions = cmp(function ReadmeOptions(props: any) {
|
|
6
6
|
const { build } = props
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Content(`
|
|
9
9
|
|
|
10
10
|
## Options
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ const ReadmeOptions = cmp(function ReadmeOptions(props: any) {
|
|
|
14
14
|
each(build.options)
|
|
15
15
|
.filter((option: any) => option.publish)
|
|
16
16
|
.map((option: any) => {
|
|
17
|
-
|
|
17
|
+
Content(`
|
|
18
18
|
* __${option.name} (${option.kind})__: ${option.short}
|
|
19
19
|
`)
|
|
20
20
|
})
|
package/src/cmp/ReadmeQuick.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp,
|
|
2
|
+
import { cmp, Content } from 'jostraca'
|
|
3
3
|
|
|
4
4
|
import { requirePath } from '../utility'
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ import { requirePath } from '../utility'
|
|
|
7
7
|
const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
|
|
8
8
|
const { build, ctx$ } = props
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Content(`
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
13
13
|
`)
|
package/src/sdkgen.ts
CHANGED
|
@@ -19,6 +19,7 @@ import { PrepareOpenAPI } from './prepare-openapi'
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
type SdkGenOptions = {
|
|
22
|
+
root: string
|
|
22
23
|
folder: string
|
|
23
24
|
def?: string
|
|
24
25
|
fs: any
|
|
@@ -43,7 +44,18 @@ function SdkGen(opts: SdkGenOptions) {
|
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
async function generate(spec: any) {
|
|
46
|
-
const { model,
|
|
47
|
+
const { model, config } = spec
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// console.log('SDKGEN.config', config)
|
|
51
|
+
|
|
52
|
+
let Root = spec.root
|
|
53
|
+
|
|
54
|
+
if (null == Root) {
|
|
55
|
+
clear(config.root)
|
|
56
|
+
const rootModule = require(config.root)
|
|
57
|
+
Root = rootModule
|
|
58
|
+
}
|
|
47
59
|
|
|
48
60
|
/*
|
|
49
61
|
if (await prepare(spec, { fs, folder, def })) {
|
|
@@ -53,10 +65,10 @@ function SdkGen(opts: SdkGenOptions) {
|
|
|
53
65
|
|
|
54
66
|
// console.log('OPTIONS', opts)
|
|
55
67
|
|
|
56
|
-
const
|
|
68
|
+
const opts = { fs, folder, meta: { spec } }
|
|
57
69
|
|
|
58
70
|
try {
|
|
59
|
-
jostraca.generate(
|
|
71
|
+
await jostraca.generate(opts, () => Root({ model }))
|
|
60
72
|
}
|
|
61
73
|
catch (err: any) {
|
|
62
74
|
console.log('SDKGEN ERROR: ', err)
|
|
@@ -72,23 +84,20 @@ function SdkGen(opts: SdkGenOptions) {
|
|
|
72
84
|
|
|
73
85
|
return {
|
|
74
86
|
generate,
|
|
75
|
-
|
|
76
|
-
// cmp, each,
|
|
77
|
-
|
|
78
|
-
// Project, Folder, File, Code
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
|
|
84
|
-
SdkGen.makeBuild = async function(
|
|
85
|
-
console.log('SdkGen.makeBuild', opts)
|
|
92
|
+
SdkGen.makeBuild = async function(opts: SdkGenOptions) {
|
|
93
|
+
// console.log('SdkGen.makeBuild', opts)
|
|
86
94
|
|
|
87
95
|
const sdkgen = SdkGen(opts)
|
|
88
96
|
|
|
89
97
|
const apidef = ApiDef()
|
|
90
98
|
|
|
91
|
-
const
|
|
99
|
+
const config = {
|
|
100
|
+
root: opts.root,
|
|
92
101
|
def: opts.def,
|
|
93
102
|
kind: 'openapi-3',
|
|
94
103
|
model: opts.model ? (opts.model.folder + '/api.jsonic') : undefined,
|
|
@@ -96,25 +105,57 @@ SdkGen.makeBuild = async function(root: any, opts: SdkGenOptions) {
|
|
|
96
105
|
entity: opts.model ? opts.model.entity : undefined,
|
|
97
106
|
}
|
|
98
107
|
|
|
99
|
-
await apidef.watch(
|
|
108
|
+
await apidef.watch(config)
|
|
100
109
|
|
|
101
110
|
return async function build(model: any, build: any) {
|
|
102
111
|
// TODO: voxgig model needs to handle errors from here
|
|
103
|
-
|
|
104
|
-
return sdkgen.generate({ model, build, root })
|
|
112
|
+
return sdkgen.generate({ model, build, config })
|
|
105
113
|
}
|
|
106
114
|
}
|
|
107
115
|
|
|
108
116
|
|
|
109
117
|
|
|
118
|
+
// Adapted from https://github.com/sindresorhus/import-fresh - Thanks!
|
|
119
|
+
function clear(path: string) {
|
|
120
|
+
let filePath = require.resolve(path)
|
|
121
|
+
|
|
122
|
+
if (require.cache[filePath]) {
|
|
123
|
+
const children = require.cache[filePath].children.map(child => child.id)
|
|
124
|
+
|
|
125
|
+
// Delete module from cache
|
|
126
|
+
delete require.cache[filePath]
|
|
127
|
+
|
|
128
|
+
for (const id of children) {
|
|
129
|
+
clear(id)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
if (require.cache[filePath] && require.cache[filePath].parent) {
|
|
135
|
+
let i = require.cache[filePath].parent.children.length
|
|
136
|
+
|
|
137
|
+
while (i--) {
|
|
138
|
+
if (require.cache[filePath].parent.children[i].id === filePath) {
|
|
139
|
+
require.cache[filePath].parent.children.splice(i, 1)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
110
149
|
export type {
|
|
111
150
|
SdkGenOptions,
|
|
112
151
|
}
|
|
113
152
|
|
|
114
153
|
|
|
115
|
-
|
|
154
|
+
|
|
116
155
|
type Component = (props: any, children?: any) => void
|
|
117
156
|
|
|
157
|
+
|
|
158
|
+
// Prevents TS2742
|
|
118
159
|
export const cmp: (component: Function) => Component = JostracaModule.cmp
|
|
119
160
|
export const names: (base: any, name: string, prop?: string) => any = JostracaModule.names
|
|
120
161
|
export const each: (subject?: any, apply?: any) => any = JostracaModule.each
|
|
@@ -130,7 +171,7 @@ export const getx: (root: any, path: string | string[]) => any = JostracaModule.
|
|
|
130
171
|
export const Project: Component = JostracaModule.Project
|
|
131
172
|
export const Folder: Component = JostracaModule.Folder
|
|
132
173
|
export const File: Component = JostracaModule.File
|
|
133
|
-
export const
|
|
174
|
+
export const Content: Component = JostracaModule.Content
|
|
134
175
|
export const Copy: Component = JostracaModule.Copy
|
|
135
176
|
|
|
136
177
|
|
package/src/cmp/ReadmeIntro.ts~
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { cmp, select, Code } from 'jostraca'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
|
|
6
|
-
const { build, ctx$ } = props
|
|
7
|
-
const { model } = ctx$
|
|
8
|
-
|
|
9
|
-
Code(`
|
|
10
|
-
## Introduction
|
|
11
|
-
|
|
12
|
-
${model.main.def.desc}
|
|
13
|
-
|
|
14
|
-
`)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
ReadmeIntro
|
|
25
|
-
}
|
package/src/cmp/ReadmeModel.ts~
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { cmp, select, Code } from 'jostraca'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
|
|
6
|
-
const { ctx$: { model } } = props
|
|
7
|
-
|
|
8
|
-
Code(`
|
|
9
|
-
## Introduction
|
|
10
|
-
|
|
11
|
-
${model.main.def.desc}
|
|
12
|
-
|
|
13
|
-
`)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
export {
|
|
23
|
-
ReadmeIntro
|
|
24
|
-
}
|