@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.
@@ -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['Entity_' + build.name]({ build, entity });
10
+ Entity_sdk['Entity']({ build, entity });
10
11
  });
11
12
  exports.Entity = Entity;
12
13
  //# sourceMappingURL=Entity.js.map
@@ -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,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AACvD,CAAC,CAAC,CAAA;AAIA,wBAAM"}
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['Main_' + build.name]({ model, build });
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
  });
@@ -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,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAEhD,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"}
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"}
@@ -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.Code)(`
15
+ (0, jostraca_1.Content)(`
16
16
  # ${model.Name} ${build.title} SDK
17
17
  `);
18
18
  // Sections
@@ -1 +1 @@
1
- {"version":3,"file":"Readme.js","sourceRoot":"","sources":["../../src/cmp/Readme.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAG1C,+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,eAAI,EAAC;IACL,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"}
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"}
@@ -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 { build } = props;
7
- const { model } = props.ctx$;
6
+ const { ctx$: { model } } = props;
8
7
  const { entity } = model.main.sdk;
9
- (0, jostraca_1.Code)(`
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.Code)(`
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.Code)(`
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,uCAA0C;AAG1C,MAAM,YAAY,GAAG,IAAA,cAAG,EAAC,SAAS,YAAY,CAAC,KAAU;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IAE5B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA;IAEjC,IAAA,eAAI,EAAC;;;CAGN,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,eAAI,EAAC;gBACK,MAAM,CAAC,IAAI;;CAE1B,CAAC,CAAA;QAEI,IAAA,eAAI,EAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE;YAChC,IAAA,eAAI,EAAC;MACP,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"}
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.Code)(`
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":";;;AACA,uCAAoC;AAEpC,wCAAwC;AAGxC,MAAM,aAAa,GAAG,IAAA,cAAG,EAAC,SAAS,aAAa,CAAC,KAAU;IACzD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAE7B,IAAA,eAAI,EAAC;;CAEN,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"}
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"}
@@ -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.Code)(`
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,uCAA4C;AAG5C,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,IAAA,eAAI,EAAC;;;EAGL,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;;CAEpB,CAAC,CAAA;AAIF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
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"}
@@ -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.Code)(`
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,uCAAoC;AAGpC,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,IAAA,eAAI,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BN,CAAC,CAAA;AAIF,CAAC,CAAC,CAAA;AAMA,kCAAW"}
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.Code)(`
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.Code)(`
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,uCAA0C;AAG1C,MAAM,aAAa,GAAG,IAAA,cAAG,EAAC,SAAS,aAAa,CAAC,KAAU;IACzD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,IAAA,eAAI,EAAC;;;;CAIN,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,eAAI,EAAC;MACL,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,KAAK;CACpD,CAAC,CAAA;IACE,CAAC,CAAC,CAAA;AAGN,CAAC,CAAC,CAAA;AAKA,sCAAa"}
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"}
@@ -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.Code)(`
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,uCAAoC;AAEpC,wCAAwC;AAGxC,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAE7B,IAAA,eAAI,EAAC;;;CAGN,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"}
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: (root: any, opts: SdkGenOptions) => Promise<(model: any, build: any) => Promise<void>>;
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 Code: Component;
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.Code = 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;
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, root } = spec;
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 ctx$ = { fs, folder, meta: { spec } };
67
+ const opts = { fs, folder, meta: { spec } };
61
68
  try {
62
- jostraca.generate(ctx$, () => root({ model }));
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 (root, opts) {
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 spec = {
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(spec);
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
- console.log('SDK GENERATE');
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.Code = JostracaModule.Code;
136
+ exports.Content = JostracaModule.Content;
111
137
  exports.Copy = JostracaModule.Copy;
112
138
  //# sourceMappingURL=sdkgen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "0.7.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-sdkgen",
11
- "voxgig-sdkgen"
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.4",
38
+ "@types/node": "22.5.5",
39
39
  "aontu": "^0.22.0",
40
- "esbuild": "^0.23.1",
40
+ "esbuild": "^0.24.0",
41
41
  "json-schema-to-ts": "^3.1.1",
42
- "memfs": "^4.11.1",
42
+ "memfs": "^4.12.0",
43
43
  "typescript": "^5.6.2"
44
44
  },
45
45
  "dependencies": {
46
- "@redocly/openapi-core": "^1.25.0",
47
- "@voxgig/apidef": "^0.0.7",
48
- "jostraca": "^0.5.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['Entity_' + build.name]({ build, entity })
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['Main_' + build.name]({ model, build })
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, Code } from 'jostraca'
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
- Code(`
19
+ Content(`
20
20
  # ${model.Name} ${build.title} SDK
21
21
  `)
22
22
  // Sections
@@ -1,14 +1,13 @@
1
1
 
2
- import { cmp, each, Code } from 'jostraca'
2
+ import { cmp, each, Content } from 'jostraca'
3
3
 
4
4
 
5
5
  const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
6
- const { build } = props
7
- const { model } = props.ctx$
6
+ const { ctx$: { model } } = props
8
7
 
9
8
  const { entity } = model.main.sdk
10
9
 
11
- Code(`
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
- Code(`
19
+ Content(`
21
20
  ### Entity: __${entity.Name}__
22
21
 
23
22
  `)
24
23
 
25
24
  each(entity.field, (field: any) => {
26
- Code(`
25
+ Content(`
27
26
  * __${field.name}__ (${field.type}): ${field.short}
28
27
 
29
28
  `)
@@ -1,5 +1,6 @@
1
1
 
2
- import { cmp, Code } from 'jostraca'
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
- Code(`
11
+ Content(`
11
12
  ## Install
12
13
  `)
13
14
 
@@ -1,11 +1,11 @@
1
1
 
2
- import { cmp, select, Code } from 'jostraca'
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
- Code(`
8
+ Content(`
9
9
  ## Introduction
10
10
 
11
11
  ${model.main.def.desc}
@@ -1,11 +1,11 @@
1
1
 
2
- import { cmp, Code } from 'jostraca'
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
- Code(`
8
+ Content(`
9
9
  ## Entity Model
10
10
 
11
11
  This SDK uses an entity-oriented interface, rather than exposing
@@ -1,11 +1,11 @@
1
1
 
2
- import { cmp, each, Code } from 'jostraca'
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
- Code(`
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
- Code(`
17
+ Content(`
18
18
  * __${option.name} (${option.kind})__: ${option.short}
19
19
  `)
20
20
  })
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Code } from 'jostraca'
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
- Code(`
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, root } = spec
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 ctx$ = { fs, folder, meta: { spec } }
68
+ const opts = { fs, folder, meta: { spec } }
57
69
 
58
70
  try {
59
- jostraca.generate(ctx$, () => root({ model }))
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(root: any, opts: SdkGenOptions) {
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 spec = {
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(spec)
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
- console.log('SDK GENERATE')
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
- // Prevents TS2742
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 Code: Component = JostracaModule.Code
174
+ export const Content: Component = JostracaModule.Content
134
175
  export const Copy: Component = JostracaModule.Copy
135
176
 
136
177
 
@@ -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
- }
@@ -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
- }