diff --git a/dist-test/docgen.test.js b/dist-test/docgen.test.js index 371fa69..e95ebff 100644 --- a/dist-test/docgen.test.js +++ b/dist-test/docgen.test.js @@ -27,7 +27,7 @@ const Index_1 = require("../dist/static/Index"); (0, code_1.expect)(JSON.parse(voljson['/top/.jostraca/jostraca.json.log']).exclude).equal([]); (0, code_1.expect)(voljson).equal({ '/top/doc/static/src': null, - '/top/doc/static/dist/index.html': '\n\n\n \n \n \n \n \n \n \n
\n \n
\n\n
\n \n
\n\n \n \n\n', + '/top/doc/static/dist/index.html': `\n\n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n\n
\n \n
\n\n \n \n \n\n`, '/top/.jostraca/jostraca.json.log': voljson['/top/.jostraca/jostraca.json.log'], }); }); diff --git a/dist-test/docgen.test.js.map b/dist-test/docgen.test.js.map index 579b472..481311d 100644 --- a/dist-test/docgen.test.js.map +++ b/dist-test/docgen.test.js.map @@ -1 +1 @@ -{"version":3,"file":"docgen.test.js","sourceRoot":"","sources":["../test/docgen.test.ts"],"names":[],"mappings":";;AACA,yCAA0C;AAC1C,qCAAmC;AAEnC,iCAA6B;AAC7B,iCAA6B;AAG7B,uCAAoE;AAEpE,2BAEY;AAGZ,gDAE6B;AAI7B,IAAA,oBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IAEtB,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACvB,IAAA,aAAM,EAAC,UAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAEtB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAA,aAAK,EAAC,EAEzB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAA,UAAM,EAAC;YACpB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;SAC7B,CAAC,CAAA;QACF,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAEtB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;QACzB,8BAA8B;QAE9B,MAAM,IAAI,GAAG;YACX,KAAK;YACL,IAAI;SACL,CAAA;QAED,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,EAAE,CAAA;QACjC,IAAA,aAAM,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEjF,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC;YACpB,qBAAqB,EAAE,IAAI;YAC3B,iCAAiC,EAC/B,2jBAA2jB;YAC7jB,kCAAkC,EAAE,OAAO,CAAC,kCAAkC,CAAC;SAChF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAGF,SAAS,SAAS;QAChB,OAAO,IAAA,aAAK,EAAC;;;;;;;;;;;;;;;;CAgBhB,CAAC,CAAC,GAAG,EAAE,CAAA;IACN,CAAC;IAGD,SAAS,QAAQ;QACf,OAAO,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;YACjC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAElB,IAAA,kBAAO,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;gBAC1D,IAAA,aAAK,EAAC,EAAE,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;AAEH,CAAC,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"docgen.test.js","sourceRoot":"","sources":["../test/docgen.test.ts"],"names":[],"mappings":";;AACA,yCAA0C;AAC1C,qCAAmC;AAEnC,iCAA6B;AAC7B,iCAA6B;AAG7B,uCAAoE;AAEpE,2BAEY;AAGZ,gDAE6B;AAI7B,IAAA,oBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IAEtB,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACvB,IAAA,aAAM,EAAC,UAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAEtB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAA,aAAK,EAAC,EAEzB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAA,UAAM,EAAC;YACpB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;SAC7B,CAAC,CAAA;QACF,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAEtB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;QACzB,8BAA8B;QAE9B,MAAM,IAAI,GAAG;YACX,KAAK;YACL,IAAI;SACL,CAAA;QAED,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,EAAE,CAAA;QACjC,IAAA,aAAM,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEjF,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC;YACpB,qBAAqB,EAAE,IAAI;YAC3B,iCAAiC,EAC/B,s7LAAs7L;YACx7L,kCAAkC,EAAE,OAAO,CAAC,kCAAkC,CAAC;SAChF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAGF,SAAS,SAAS;QAChB,OAAO,IAAA,aAAK,EAAC;;;;;;;;;;;;;;;;CAgBhB,CAAC,CAAC,GAAG,EAAE,CAAA;IACN,CAAC;IAGD,SAAS,QAAQ;QACf,OAAO,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;YACjC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAElB,IAAA,kBAAO,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;gBAC1D,IAAA,aAAK,EAAC,EAAE,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;AAEH,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/static/Entities.d.ts b/dist/static/Entities.d.ts new file mode 100644 index 0000000..ba36b25 --- /dev/null +++ b/dist/static/Entities.d.ts @@ -0,0 +1,2 @@ +declare const Entities: import("jostraca").Component; +export { Entities }; diff --git a/dist/static/Entities.js b/dist/static/Entities.js new file mode 100644 index 0000000..84083ca --- /dev/null +++ b/dist/static/Entities.js @@ -0,0 +1,206 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Entities = void 0; +const jostraca_1 = require("jostraca"); +const languagesSpec_1 = require("./languagesSpec"); +const Entities = (0, jostraca_1.cmp)(function Entities(props) { + const { ctx$ } = props; + const { model } = ctx$; + const { entity, build } = model.main.sdk; + (0, jostraca_1.Content)(` +
+

Entities

`); + (0, jostraca_1.each)(entity, (entity) => { + (0, jostraca_1.Content)(` +
+

${entity.Name}

+ `); + (0, jostraca_1.each)(build, (lg) => { + const spec = languagesSpec_1.languagesSpec[lg.name$]; + (0, jostraca_1.Content)(` +
+

${spec.Name}

+ +
+

Methods

+ `); + (0, jostraca_1.each)(entity.op, (op) => { + if (op.name == "list") { + (0, jostraca_1.Content)(` +
+
+

${op.Name} ${entity.Name}

+

+ Lists all matching ${entity.Name} entities based on the provided query criteria. + This method is ideal for retrieving collections of ${entity.Name} entities that meet certain criteria, + enabling batch operations and bulk data handling. +

+
Parameters:
+
    +
  • query: + optional - + The criteria to filter ${entity.name} entities for listing. + If omitted, all entities are listed. +
  • +
+
Return:
+

List of ${entity.Name} Entities - + A list with one or more ${entity.Name} instances. +

+
+
+
`);
+                    spec.list(op, entity);
+                    (0, jostraca_1.Content)(`
+
+
+ `); + } + else if (op.name == "create") { + (0, jostraca_1.Content)(` +
+
+

${op.Name} ${entity.Name}

+

+ ${op.Name} an instance of ${entity.name}. + Returns the created ${entity.name}, + allowing easy access and manipulation within your application. +

+ +
Parameters:
+
    +
  • data: + optional - + The data for the new ${entity.name}.
  • +
+
Return:
+

${entity.Name} - + The created ${entity.Name} instance. +

+
+ +
+
`);
+                    spec.create(op, entity);
+                    (0, jostraca_1.Content)(`
+
+
+ `); + } + else if (op.name == "save") { + (0, jostraca_1.Content)(` +
+
+

${op.Name} ${entity.Name}

+

+ It saves an instance of ${entity.Name}, + optionally updating it with new data. + This method persists the instance's data, + ensuring updates are stored consistently. +

+
Parameters:
+
    +
  • id: + required - + The ${entity.name} identifier to be updated. +
  • +
  • data: + optional - + The new ${entity.name} data. +
  • +
+
Return:
+

${entity.Name} - + The updated ${entity.Name} instance. +

+
+ +
+
`);
+                    spec.save(op, entity);
+                    (0, jostraca_1.Content)(`
+
+
+ `); + } + else if (op.name == "remove") { + (0, jostraca_1.Content)(` +
+
+

${op.Name} ${entity.Name}

+

+

+ Deletes a matching ${entity.Name} specified by the query parameter. + This method removes a single ${entity.Name} instance based on the query parameters. +

+
Parameters:
+
    +
  • query: + required - + The query criteria for identifying the ${entity.name} to remove. +
  • +
+
Return:
+

N/A +

+

+
+ +
+
`);
+                    spec.remove(op, entity);
+                    (0, jostraca_1.Content)(`
+
+
+ `); + } + else { + (0, jostraca_1.Content)(` +
+
+

${op.Name} ${entity.Name}

+

+

+ Loads a single, matching ${entity.name}'s data into its instance. + The query parameter should specify the identifier or criteria for the ${entity.Name} to be retrieved, + effectively syncing the instance with stored entity data. +

+
Parameters:
+
    +
  • query: + required - + The query criteria used to identify and load the ${entity.name} data. +
  • +
+
Return:
+

${entity.Name} - + The ${entity.Name} instance. +

+

+
+ +
+
`);
+                    spec.load(op, entity);
+                    (0, jostraca_1.Content)(`
+
+
+ `); + } + }); + (0, jostraca_1.Content)(` +
+
+ `); + }); + (0, jostraca_1.Content)(` + +
+ `); + }); + (0, jostraca_1.Content)(` +
+ `); +}); +exports.Entities = Entities; +//# sourceMappingURL=Entities.js.map \ No newline at end of file diff --git a/dist/static/Entities.js.map b/dist/static/Entities.js.map new file mode 100644 index 0000000..73b0f51 --- /dev/null +++ b/dist/static/Entities.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Entities.js","sourceRoot":"","sources":["../../src/static/Entities.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/static/GettingStarted.d.ts b/dist/static/GettingStarted.d.ts new file mode 100644 index 0000000..ec08a14 --- /dev/null +++ b/dist/static/GettingStarted.d.ts @@ -0,0 +1,2 @@ +declare const GettingStarted: import("jostraca").Component; +export { GettingStarted }; diff --git a/dist/static/GettingStarted.js b/dist/static/GettingStarted.js new file mode 100644 index 0000000..3f87af6 --- /dev/null +++ b/dist/static/GettingStarted.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GettingStarted = void 0; +const jostraca_1 = require("jostraca"); +const languagesSpec_1 = require("./languagesSpec"); +const GettingStarted = (0, jostraca_1.cmp)(function GettingStarted(props) { + const { ctx$ } = props; + const { model } = ctx$; + const { option, options, build } = model.main.sdk; + const parsedOptions = option ? option : options; + (0, jostraca_1.Content)(` +
+

Getting Started

`); + (0, jostraca_1.each)(build, (lg) => { + const spec = languagesSpec_1.languagesSpec[lg.name$]; + (0, jostraca_1.Content)(` +
+

${spec.Name}

+ +
+
+
+

1. Install SDK

+

+ Use the following command to install the SDK for ${spec.Name}. This SDK provides all necessary functions to interact with our APIs easily. +

+
+ +
+
${spec.install(model)}
+
+
+ +
+
+

2. Initialize SDK

+

+ The ${model.Name} SDK provides a simple interface to interact with the API, allowing you to easily create client instances for working with different business entities. This is a code snippet to initialize the SDK using environment variables. +

+
+ + +
+
`);
+        spec.init(model, parsedOptions);
+        (0, jostraca_1.Content)(`
+
+
+
+ +
+`); + }); + (0, jostraca_1.Content)(` +
+`); +}); +exports.GettingStarted = GettingStarted; +//# sourceMappingURL=GettingStarted.js.map \ No newline at end of file diff --git a/dist/static/GettingStarted.js.map b/dist/static/GettingStarted.js.map new file mode 100644 index 0000000..2a1eb5b --- /dev/null +++ b/dist/static/GettingStarted.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GettingStarted.js","sourceRoot":"","sources":["../../src/static/GettingStarted.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAE7C,mDAA+C;AAG/C,MAAM,cAAc,GAAG,IAAA,cAAG,EAAC,SAAS,cAAc,CAAC,KAAU;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA;IAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAE/C,IAAA,kBAAO,EAAC;;6DAEmD,CAAC,CAAA;IAC5D,IAAA,eAAI,EAAC,KAAK,EAAE,CAAC,EAAO,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,6BAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACpC,IAAA,kBAAO,EAAC;mCACuB,IAAI,CAAC,IAAI;cAC9B,IAAI,CAAC,IAAI,+CAA+C,IAAI,CAAC,IAAI;;mBAE5D,IAAI,CAAC,IAAI;;;;;yDAK6B,IAAI,CAAC,IAAI;;;;;0EAKQ,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;;;;;;;cAQ7F,KAAK,CAAC,IAAI;;;;;;0EAMkD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAAC,IAAA,kBAAO,EAAC;;;;;;;CAOlI,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IACF,IAAA,kBAAO,EAAC;;CAET,CAAC,CAAA;AACF,CAAC,CAAC,CAAA;AAIA,wCAAc"} \ No newline at end of file diff --git a/dist/static/Index.js b/dist/static/Index.js index ad57c34..183d7d6 100644 --- a/dist/static/Index.js +++ b/dist/static/Index.js @@ -25,6 +25,10 @@ const Index = (0, jostraca_1.cmp)(function Index(props) { + + + + + + +
`); - (0, jostraca_1.each)(entity, (entity) => { - (0, jostraca_1.Content)(` -

${entity.Name}

-`); - }); + (0, Sidebar_1.Sidebar)({ ctx$ }); + (0, jostraca_1.Content)(` +
+

${model.Name} SDK Documentation

+ `); + (0, Intro_1.Intro)({ ctx$ }); + (0, GettingStarted_1.GettingStarted)({ ctx$ }); + (0, Entities_1.Entities)({ ctx$ }); + (0, jostraca_1.Content)(` +
+
+ `); }); exports.Main = Main; //# sourceMappingURL=Main.js.map \ No newline at end of file diff --git a/dist/static/Main.js.map b/dist/static/Main.js.map index b34cc32..fed642a 100644 --- a/dist/static/Main.js.map +++ b/dist/static/Main.js.map @@ -1 +1 @@ -{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/static/Main.ts"],"names":[],"mappings":";;;AACA,uCAAqE;AAKrE,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA;IAEjC,IAAA,kBAAO,EAAC;OACH,KAAK,CAAC,IAAI;CAChB,CAAC,CAAA;IAEA,IAAA,eAAI,EAAC,MAAM,EAAE,CAAC,MAAW,EAAE,EAAE;QAC3B,IAAA,kBAAO,EAAC;QACJ,MAAM,CAAC,IAAI;CAClB,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAA;AAIA,oBAAI"} \ No newline at end of file +{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/static/Main.ts"],"names":[],"mappings":";;;AACA,uCAAqE;AAIrE,uCAAmC;AACnC,qDAAiD;AACjD,yCAAqC;AACrC,mCAA+B;AAG/B,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAGtB,IAAA,kBAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBT,CAAC,CAAA;IACA,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACjB,IAAA,kBAAO,EAAC;;+GAEqG,KAAK,CAAC,IAAI;MACnH,CAAC,CAAA;IACL,IAAA,aAAK,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEf,IAAA,+BAAc,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAExB,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAElB,IAAA,kBAAO,EAAC;;;WAGC,CAAC,CAAA;AACZ,CAAC,CAAC,CAAA;AAGA,oBAAI"} \ No newline at end of file diff --git a/dist/static/Sidebar.d.ts b/dist/static/Sidebar.d.ts new file mode 100644 index 0000000..6639bed --- /dev/null +++ b/dist/static/Sidebar.d.ts @@ -0,0 +1,2 @@ +declare const Sidebar: import("jostraca").Component; +export { Sidebar }; diff --git a/dist/static/Sidebar.js b/dist/static/Sidebar.js new file mode 100644 index 0000000..bd63d57 --- /dev/null +++ b/dist/static/Sidebar.js @@ -0,0 +1,71 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Sidebar = void 0; +const jostraca_1 = require("jostraca"); +const languagesSpec_1 = require("./languagesSpec"); +const Sidebar = (0, jostraca_1.cmp)(function Sidebar(props) { + const { ctx$ } = props; + const { model } = ctx$; + const { entity, build } = model.main.sdk; + (0, jostraca_1.Content)(` + + `); +}); +exports.Sidebar = Sidebar; +//# sourceMappingURL=Sidebar.js.map \ No newline at end of file diff --git a/dist/static/Sidebar.js.map b/dist/static/Sidebar.js.map new file mode 100644 index 0000000..203264e --- /dev/null +++ b/dist/static/Sidebar.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/static/Sidebar.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAG7C,mDAA+C;AAG/C,MAAM,OAAO,GAAG,IAAA,cAAG,EAAC,SAAS,OAAO,CAAC,KAAU;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA;IAExC,IAAA,kBAAO,EAAC;;;gDAGsC,KAAK,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;mEAsBS,CAAC,CAAA;IAClE,IAAA,eAAI,EAAC,KAAK,EAAE,CAAC,EAAO,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,6BAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACpC,IAAA,kBAAO,EAAC;+FACmF,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;CACrH,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IACF,IAAA,kBAAO,EAAC;;;YAGE,CAAC,CAAA;IAEX,IAAA,eAAI,EAAC,MAAM,EAAE,CAAC,MAAW,EAAE,EAAE;QAC3B,IAAA,kBAAO,EAAC;kBACM,MAAM;8HACsG,MAAM,CAAC,IAAI;MACnI,MAAM,CAAC,IAAI;;;2BAGU,MAAM,CAAC,IAAI,kCAAkC,CAAC,CAAA;QACrE,IAAA,eAAI,EAAC,KAAK,EAAE,CAAC,EAAO,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,6BAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnC,IAAA,kBAAO,EAAC;iFACmE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;CACtH,CAAC,CAAA;QACE,CAAC,CAAC,CAAA;QACF,IAAA,kBAAO,EAAC;;;WAGD,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,IAAA,kBAAO,EAAC;;;UAGA,CAAC,CAAA;AACX,CAAC,CAAC,CAAA;AAIA,0BAAO"} \ No newline at end of file diff --git a/dist/static/languagesSpec.d.ts b/dist/static/languagesSpec.d.ts new file mode 100644 index 0000000..fab4532 --- /dev/null +++ b/dist/static/languagesSpec.d.ts @@ -0,0 +1 @@ +export declare const languagesSpec: Record; diff --git a/dist/static/languagesSpec.js b/dist/static/languagesSpec.js new file mode 100644 index 0000000..9345362 --- /dev/null +++ b/dist/static/languagesSpec.js @@ -0,0 +1,284 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.languagesSpec = void 0; +const jostraca_1 = require("jostraca"); +exports.languagesSpec = { + js: { + Name: "JavaScript", + name: "javascript", + install: (model) => `npm install ${model.name}-sdk`, + init: (model, option) => { + (0, jostraca_1.Content)(` + const client = ${model.Name}SDK.make({`); + (0, jostraca_1.each)(option, (opt) => { + if (opt.kind == "String") { + (0, jostraca_1.Content)(` + ${opt.name}: process.env.${model.NAME}_${opt.name.toUpperCase()},`); + } + }); + (0, jostraca_1.Content)(` + })`); + }, + create: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + foo: "baa", + }) + + console.log('${entity.Name}', ${entity.name}) + `), + save: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + id: 1, + foo: "baa", + }) + + console.log('${entity.Name}', ${entity.name}) + `), + load: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + id: 1 + }) + + console.log('${entity.Name}', ${entity.name}) + `), + remove: (op, entity) => (0, jostraca_1.Content)(` + await client.${entity.Name}().${op.name}({ + id: 1 + }) + `), + list: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = await client.${entity.Name}().${op.name}() + console.log('${entity.Name}', ${entity.name}) + `), + }, + go: { + Name: "Go", + name: "go", + install: (model) => `go get github.com/${model.name}/${model.name}-sdk`, + init: (model, option) => { + (0, jostraca_1.Content)(` + options := ${model.name}sdk.Options{`); + (0, jostraca_1.each)(option, (opt) => { + if (opt.kind == "String") { + const capName = opt.name.charAt(0).toUpperCase() + opt.name.substring(1, opt.name.length); + (0, jostraca_1.Content)(` + ${capName}: os.Getenv("${model.NAME}_${opt.name.toUpperCase()}"),`); + } + }); + (0, jostraca_1.Content)(` + }`); + }, + create: (op, entity) => (0, jostraca_1.Content)(` + data := ${entity.Name}Data{ + Foo: "baa" + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(data) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + save: (op, entity) => (0, jostraca_1.Content)(` + data := ${entity.Name}Data{ + Id: 1, + Foo: "baa", + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(data) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + load: (op, entity) => (0, jostraca_1.Content)(` + query := Query{ + Id: 1 + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(query) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + remove: (op, entity) => (0, jostraca_1.Content)(` + query := Query{ + Id: 1 + } + + _, err := client.${entity.Name}().${op.Name}(query) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + `), + list: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name}, err := client.${entity.Name}().${op.Name}() + if err != nil { + log.Println("Error running ${entity.name} ${op.Name}:", err) + return + } + + log.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + }, + py: { + Name: "Python", + name: "python", + install: (model) => `pip3 install ${model.name}_sdk`, + init: (model, option) => { + (0, jostraca_1.Content)(` + client = ${model.Name}SDK.make((`); + (0, jostraca_1.each)(option, (opt) => { + if (opt.kind == "String") { + (0, jostraca_1.Content)(` + ${opt.name}: environ['${model.NAME}_${opt.name.toUpperCase()}'],`); + } + }); + (0, jostraca_1.Content)(` + ))`); + }, + create: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}().${op.name}(Data( + foo: "baa", + )) + + print('${entity.Name}', ${entity.name}) + `), + save: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}().${op.name}(Data( + id = 1, + foo = "baa", + )) + + print('${entity.Name}', ${entity.name}) + `), + load: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}().${op.name}({ + "id": 1 + }) + + print('${entity.Name}', ${entity.name}) + `), + remove: (op, entity) => (0, jostraca_1.Content)(` + client.${entity.Name}().${op.name}({ + "id": 1 + }) + `), + list: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}().${op.name}() + print('${entity.Name}', ${entity.name}) + `), + }, + php: { + Name: "PHP", + name: "php", + install: (model) => `composer install ${model.name}-sdk`, + init: (model, option) => { + (0, jostraca_1.Content)(` + $client = ${model.Name}SDK([ `); + (0, jostraca_1.each)(option, (opt) => { + if (opt.kind == "String") { + (0, jostraca_1.Content)(` + '${opt.name}' => getenv('${model.NAME}_${opt.name.toUpperCase()}'),`); + } + }); + (0, jostraca_1.Content)(` + ]);`); + }, + create: (op, entity) => (0, jostraca_1.Content)(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + 'foo' => "baa", + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + save: (op, entity) => (0, jostraca_1.Content)(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + 'id' => 1, + 'foo' => "baa", + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + load: (op, entity) => (0, jostraca_1.Content)(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + "id" => 1 + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + remove: (op, entity) => (0, jostraca_1.Content)(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name}->${op.name}([ + "id" => 1 + ]); + `), + list: (op, entity) => (0, jostraca_1.Content)(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}(); + print_r("${entity.Name} " . $${entity.name}); + `), + }, + rb: { + Name: "Ruby", + name: "ruby", + install: (model) => `gem install ${model.name}-sdk`, + init: (model, option) => { + (0, jostraca_1.Content)(` + const client = ${model.Name}SDK.new({`); + (0, jostraca_1.each)(option, (opt) => { + if (opt.kind == "String") { + const capName = opt.name.charAt(0).toUpperCase() + opt.name.substring(1, opt.name.length); + (0, jostraca_1.Content)(` + ${capName}: ENV['${model.NAME}_${opt.name.toUpperCase()}'],`); + } + }); + (0, jostraca_1.Content)(` + }`); + }, + create: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}.${op.name}({ + foo: "baa" + }) + + puts "${entity.Name} #{${entity.name}}" + `), + save: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}.${op.name}({ + id: 1, + foo: "baa", + }) + + puts "${entity.Name} #{${entity.name}}" + `), + load: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}.${op.name}({ + id: 1 + }) + + puts "${entity.Name} #{${entity.name}}" + `), + remove: (op, entity) => (0, jostraca_1.Content)(` + client.${entity.Name}.${op.name}({ + id: 1 + }) + + `), + list: (op, entity) => (0, jostraca_1.Content)(` + ${entity.name} = client.${entity.Name}.${op.name}() + puts "${entity.Name} #{${entity.name}}" + `), + }, +}; +//# sourceMappingURL=languagesSpec.js.map \ No newline at end of file diff --git a/dist/static/languagesSpec.js.map b/dist/static/languagesSpec.js.map new file mode 100644 index 0000000..3c26da3 --- /dev/null +++ b/dist/static/languagesSpec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"languagesSpec.js","sourceRoot":"","sources":["../../src/static/languagesSpec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8f65007..e7b31ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@voxgig/docgen", - "version": "0.2.2", + "version": "0.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@voxgig/docgen", - "version": "0.2.2", + "version": "0.3.0", "license": "MIT", "dependencies": { "@redocly/openapi-core": "^1.25.7", @@ -29,6 +29,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", "dev": true, + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -44,6 +45,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -60,6 +62,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -76,6 +79,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -92,6 +96,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -108,6 +113,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -124,6 +130,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -140,6 +147,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -156,6 +164,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -172,6 +181,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -188,6 +198,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -204,6 +215,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -220,6 +232,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -236,6 +249,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -252,6 +266,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -268,6 +283,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -284,6 +300,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -300,6 +317,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -316,6 +334,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -332,6 +351,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -348,6 +368,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -364,6 +385,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -380,6 +402,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -396,6 +419,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -412,6 +436,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -425,6 +450,7 @@ "resolved": "https://registry.npmjs.org/@hapi/code/-/code-9.0.3.tgz", "integrity": "sha512-g50b7qz861Xfnt1NWtcba1zVxlHLPDJh/4ys6pva6jMmQgbTDLgAkbORDHYbVSA7mYxZ2cHZ2n7ZeFb5j/ZhQw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^11.0.2" } @@ -433,13 +459,15 @@ "version": "11.0.4", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz", "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@jsonic/directive": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/@jsonic/directive/-/directive-0.11.4.tgz", "integrity": "sha512-rzZ5bQJ8jAO2B2+DhQ6puo9AVF+lqVMFCdU/DKRb5ZGGpiMcnsdPW55x//yWY/LHfA4IXTPVhav4z+O+1iZjhg==", "dev": true, + "license": "MIT", "peerDependencies": { "@jsonic/jsonic-next": ">=2.12.1" } @@ -449,6 +477,7 @@ "resolved": "https://registry.npmjs.org/@jsonic/expr/-/expr-0.8.3.tgz", "integrity": "sha512-4AtK7L6C4FVju65CqEnsX6nZtSAtLyw3vSJ84hXz+2FnFfghaugP97uAzqFR0iNUqnyujQWdzeOVM51LowGZKA==", "dev": true, + "license": "MIT", "peerDependencies": { "@jsonic/jsonic-next": ">=2.12.0" } @@ -457,6 +486,7 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/@jsonic/jsonic-next/-/jsonic-next-2.12.1.tgz", "integrity": "sha512-5s9YUgiYLyKgwBbawEvtMGzuwWHqZobJ7eDH06KihV9INst/S9PxRxA7/OYrMX6TD7Cs5rKPH5uM1qBCH5JVKQ==", + "license": "MIT", "bin": { "jsonic": "bin/jsonic" } @@ -466,6 +496,7 @@ "resolved": "https://registry.npmjs.org/@jsonic/multisource/-/multisource-1.2.0.tgz", "integrity": "sha512-Bp6sDAYPLrNsnT4b8jKsS26kTZfHTYdDlKqjkL5WENKsOiNN0r6pOFXr/+808JedodNm5UINLUdKKqRCDJ17WQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@jsonic/directive": ">=0.11.4", "@jsonic/jsonic-next": ">=2.12.1" @@ -476,6 +507,7 @@ "resolved": "https://registry.npmjs.org/@jsonic/path/-/path-0.7.0.tgz", "integrity": "sha512-YfEGrCxfNvcdqkvnIGPswaSOOuCAd67E/xcBn/x4iF9ZKxFTGPbY3aFO/89xJlvaqH9wgogDyIycmwP6q4jsyA==", "dev": true, + "license": "MIT", "peerDependencies": { "@jsonic/jsonic-next": ">=2.12.1" } @@ -485,6 +517,7 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -501,6 +534,7 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/base64": "^1.1.1", "@jsonjoy.com/util": "^1.1.2", @@ -523,6 +557,7 @@ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -538,6 +573,7 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -552,12 +588,14 @@ "node_modules/@redocly/config": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.12.1.tgz", - "integrity": "sha512-RW3rSirfsPdr0uvATijRDU3f55SuZV3m7/ppdTDvGw4IB0cmeZRkFmqTrchxMqWP50Gfg1tpHnjdxUCNo0E2qg==" + "integrity": "sha512-RW3rSirfsPdr0uvATijRDU3f55SuZV3m7/ppdTDvGw4IB0cmeZRkFmqTrchxMqWP50Gfg1tpHnjdxUCNo0E2qg==", + "license": "MIT" }, "node_modules/@redocly/openapi-core": { "version": "1.25.7", "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.25.7.tgz", "integrity": "sha512-qidGKk4Bq0Ud0O8gRuXnDSLwVopwrf5+roNvpkvdQPVIHFSYJ5dscJkThdsn7OW8bNqahumQPWWczEh9l93FZw==", + "license": "MIT", "dependencies": { "@redocly/ajv": "^8.11.2", "@redocly/config": "^0.12.1", @@ -580,13 +618,15 @@ "version": "4.0.9", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "22.7.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.6.tgz", "integrity": "sha512-/d7Rnj0/ExXDMcioS78/kf1lMzYk4BZV8MZGTBKzTGZ6/406ukkbYlIsZmMPhcR5KlkunDHQLrtAVmSq7r+mSw==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~6.19.2" } @@ -595,6 +635,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@voxgig/apidef/-/apidef-0.2.0.tgz", "integrity": "sha512-lHuzmqRliCEZe+Y3b3GcrWcxqsJsUNrx1MxOjD8zhTo2Kj1AJncT8dNVn8qRbopuXg2MvvIggUeqGkbZOavIqg==", + "license": "MIT", "dependencies": { "@redocly/openapi-core": "^1.25.7", "chokidar": "^4.0.1", @@ -605,6 +646,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -617,6 +659,7 @@ "resolved": "https://registry.npmjs.org/aontu/-/aontu-0.22.0.tgz", "integrity": "sha512-Vd2IkAZu0Xlpwx9H5ICIqVK6oMSXi8vuGT2mhwvotzXBY5O7dPPfZ3Z5BdvBgyBfBJCqJXMHnERnq8QB52yNfQ==", "dev": true, + "license": "MIT", "dependencies": { "@jsonic/directive": "^0.11.4", "@jsonic/expr": "^0.8.3", @@ -631,17 +674,20 @@ "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -650,6 +696,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "license": "MIT", "dependencies": { "readdirp": "^4.0.1" }, @@ -663,12 +710,14 @@ "node_modules/colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" }, "node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -687,6 +736,7 @@ "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -723,12 +773,14 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "license": "MIT", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -742,6 +794,7 @@ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.18" } @@ -750,6 +803,7 @@ "version": "0.7.7", "resolved": "https://registry.npmjs.org/jostraca/-/jostraca-0.7.7.tgz", "integrity": "sha512-II9yzfSqvtMER7GuX1vJXY9Rg87tA3Nk+sOb1ZypZV0I/b54R+O5P1Nzmmpp2WnHS1m+xfIM35AanrfIY4I5Xg==", + "license": "MIT", "dependencies": { "@jsonic/jsonic-next": "^2.12.1" } @@ -758,6 +812,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -766,6 +821,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -778,6 +834,7 @@ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz", "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "ts-algebra": "^2.0.0" @@ -789,18 +846,21 @@ "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" }, "node_modules/memfs": { "version": "4.14.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.14.0.tgz", "integrity": "sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/json-pack": "^1.0.3", "@jsonjoy.com/util": "^1.3.0", @@ -819,6 +879,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -829,12 +890,14 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -854,6 +917,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -862,6 +926,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "license": "MIT", "engines": { "node": ">= 14.16.0" }, @@ -874,12 +939,14 @@ "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -889,6 +956,7 @@ "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", "dev": true, + "license": "Unlicense", "engines": { "node": ">=10.18" }, @@ -899,13 +967,15 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" }, "node_modules/tree-dump": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -921,19 +991,22 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz", "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tslib": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/typescript": { "version": "5.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -946,22 +1019,26 @@ "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/uri-js-replace": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", - "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==" + "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", + "license": "MIT" }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -970,7 +1047,8 @@ "node_modules/yaml-ast-parser": { "version": "0.0.43", "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "license": "Apache-2.0" } } } diff --git a/src/static/Entities.ts b/src/static/Entities.ts new file mode 100644 index 0000000..09df1ae --- /dev/null +++ b/src/static/Entities.ts @@ -0,0 +1,198 @@ +import { cmp, each, Content } from 'jostraca' + + +import { languagesSpec } from './languagesSpec' + + +const Entities = cmp(function Entities(props: any) { + const { ctx$ } = props + const { model } = ctx$ + + const { entity, build } = model.main.sdk + + Content(` +
+

Entities

`) + each(entity, (entity: any) => { + Content(` +
+

${entity.Name}

+ `) + each(build, (lg: any) => { + const spec = languagesSpec[lg.name$] + Content(` +
+

${spec.Name}

+ +
+

Methods

+ `) + each(entity.op, (op: any) => { + if (op.name == "list") { + Content(` +
+
+

${op.Name} ${entity.Name}

+

+ Lists all matching ${entity.Name} entities based on the provided query criteria. + This method is ideal for retrieving collections of ${entity.Name} entities that meet certain criteria, + enabling batch operations and bulk data handling. +

+
Parameters:
+
    +
  • query: + optional - + The criteria to filter ${entity.name} entities for listing. + If omitted, all entities are listed. +
  • +
+
Return:
+

List of ${entity.Name} Entities - + A list with one or more ${entity.Name} instances. +

+
+
+
`); spec.list(op, entity); Content(`
+
+
+ `) + } else if (op.name == "create") { + Content(` +
+
+

${op.Name} ${entity.Name}

+

+ ${op.Name} an instance of ${entity.name}. + Returns the created ${entity.name}, + allowing easy access and manipulation within your application. +

+ +
Parameters:
+
    +
  • data: + optional - + The data for the new ${entity.name}.
  • +
+
Return:
+

${entity.Name} - + The created ${entity.Name} instance. +

+
+ +
+
`); spec.create(op, entity); Content(`
+
+
+ `) + } else if (op.name == "save") { + Content(` +
+
+

${op.Name} ${entity.Name}

+

+ It saves an instance of ${entity.Name}, + optionally updating it with new data. + This method persists the instance's data, + ensuring updates are stored consistently. +

+
Parameters:
+
    +
  • id: + required - + The ${entity.name} identifier to be updated. +
  • +
  • data: + optional - + The new ${entity.name} data. +
  • +
+
Return:
+

${entity.Name} - + The updated ${entity.Name} instance. +

+
+ +
+
`); spec.save(op, entity); Content(`
+
+
+ `) + } else if (op.name == "remove") { + Content(` +
+
+

${op.Name} ${entity.Name}

+

+

+ Deletes a matching ${entity.Name} specified by the query parameter. + This method removes a single ${entity.Name} instance based on the query parameters. +

+
Parameters:
+
    +
  • query: + required - + The query criteria for identifying the ${entity.name} to remove. +
  • +
+
Return:
+

N/A +

+

+
+ +
+
`); spec.remove(op, entity); Content(`
+
+
+ `) + } else { + Content(` +
+
+

${op.Name} ${entity.Name}

+

+

+ Loads a single, matching ${entity.name}'s data into its instance. + The query parameter should specify the identifier or criteria for the ${entity.Name} to be retrieved, + effectively syncing the instance with stored entity data. +

+
Parameters:
+
    +
  • query: + required - + The query criteria used to identify and load the ${entity.name} data. +
  • +
+
Return:
+

${entity.Name} - + The ${entity.Name} instance. +

+

+
+ +
+
`); spec.load(op, entity); Content(`
+
+
+ `) + } + }) + Content(` +
+
+ `) + }) + Content(` + +
+ `) + }) + Content(` +
+ `) +}) + + +export { + Entities +} diff --git a/src/static/GettingStarted.ts b/src/static/GettingStarted.ts new file mode 100644 index 0000000..3a49969 --- /dev/null +++ b/src/static/GettingStarted.ts @@ -0,0 +1,66 @@ +import { cmp, each, Content } from 'jostraca' + +import { languagesSpec } from './languagesSpec' + + +const GettingStarted = cmp(function GettingStarted(props: any) { + const { ctx$ } = props + const { model } = ctx$ + + const { option, options, build } = model.main.sdk + + const parsedOptions = option ? option : options + + Content(` +
+

Getting Started

`) + each(build, (lg: any) => { + const spec = languagesSpec[lg.name$] + Content(` +
+

${spec.Name}

+ +
+
+
+

1. Install SDK

+

+ Use the following command to install the SDK for ${spec.Name}. This SDK provides all necessary functions to interact with our APIs easily. +

+
+ +
+
${spec.install(model)}
+
+
+ +
+
+

2. Initialize SDK

+

+ The ${model.Name} SDK provides a simple interface to interact with the API, allowing you to easily create client instances for working with different business entities. This is a code snippet to initialize the SDK using environment variables. +

+
+ + +
+
`); spec.init(model, parsedOptions); Content(`
+
+
+
+ +
+`) + }) + Content(` +
+`) +}) + + +export { + GettingStarted +} + + diff --git a/src/static/Index.ts b/src/static/Index.ts index cad3105..f0c7fbc 100644 --- a/src/static/Index.ts +++ b/src/static/Index.ts @@ -37,6 +37,10 @@ const Index = cmp(function Index(props: any) { + + + + - each(entity, (entity: any) => { - Content(` -

${entity.Name}

+ +
`) - }) + Sidebar({ ctx$ }) + Content(` +
+

${model.Name} SDK Documentation

+ `) + Intro({ ctx$ }) -}) + GettingStarted({ ctx$ }) + Entities({ ctx$ }) + + Content(` +
+
+ `) +}) export { Main diff --git a/src/static/Sidebar.ts b/src/static/Sidebar.ts new file mode 100644 index 0000000..512c203 --- /dev/null +++ b/src/static/Sidebar.ts @@ -0,0 +1,79 @@ +import { cmp, each, Content } from 'jostraca' + + +import { languagesSpec } from './languagesSpec' + + +const Sidebar = cmp(function Sidebar(props: any) { + const { ctx$ } = props + const { model } = ctx$ + + const { entity, build } = model.main.sdk + + Content(` + + `) +}) + + +export { + Sidebar +} diff --git a/src/static/index.css b/src/static/index.css index d224431..adc68fa 100644 --- a/src/static/index.css +++ b/src/static/index.css @@ -1,3 +1,3 @@ h1 { - color: red; + color: red; } diff --git a/src/static/languagesSpec.ts b/src/static/languagesSpec.ts new file mode 100644 index 0000000..ad4916a --- /dev/null +++ b/src/static/languagesSpec.ts @@ -0,0 +1,282 @@ + +import { each, Content } from 'jostraca' + +export const languagesSpec: Record = { + js: { + Name: "JavaScript", + name: "javascript", + install: (model: any) => `npm install ${model.name}-sdk`, + init: (model: any, option: any) => { + Content(` + const client = ${model.Name}SDK.make({`) + each(option, (opt: any) => { + if (opt.kind == "String") { + Content(` + ${opt.name}: process.env.${model.NAME}_${opt.name.toUpperCase()},`) + } + }) + Content(` + })`) + }, + create: (op: any, entity: any) => Content(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + foo: "baa", + }) + + console.log('${entity.Name}', ${entity.name}) + `), + save: (op: any, entity: any) => Content(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + id: 1, + foo: "baa", + }) + + console.log('${entity.Name}', ${entity.name}) + `), + load: (op: any, entity: any) => Content(` + ${entity.name} = await client.${entity.Name}().${op.name}({ + id: 1 + }) + + console.log('${entity.Name}', ${entity.name}) + `), + remove: (op: any, entity: any) => Content(` + await client.${entity.Name}().${op.name}({ + id: 1 + }) + `), + list: (op: any, entity: any) => Content(` + ${entity.name} = await client.${entity.Name}().${op.name}() + console.log('${entity.Name}', ${entity.name}) + `), + }, + go: { + Name: "Go", + name: "go", + install: (model: any) => `go get github.com/${model.name}/${model.name}-sdk`, + init: (model: any, option: any) => { + Content(` + options := ${model.name}sdk.Options{`) + each(option, (opt: any) => { + if (opt.kind == "String") { + const capName = opt.name.charAt(0).toUpperCase() + opt.name.substring(1, opt.name.length); + Content(` + ${capName}: os.Getenv("${model.NAME}_${opt.name.toUpperCase()}"),`) + } + }) + Content(` + }`) + }, + create: (op: any, entity: any) => Content(` + data := ${entity.Name}Data{ + Foo: "baa" + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(data) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + save: (op: any, entity: any) => Content(` + data := ${entity.Name}Data{ + Id: 1, + Foo: "baa", + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(data) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + load: (op: any, entity: any) => Content(` + query := Query{ + Id: 1 + } + + ${entity.name}, err := client.${entity.Name}().${op.Name}(query) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + + fmt.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + remove: (op: any, entity: any) => Content(` + query := Query{ + Id: 1 + } + + _, err := client.${entity.Name}().${op.Name}(query) + if err != nil { + fmt.Println("Error running ${entity.Name} ${op.Name}:", err) + return + } + `), + list: (op: any, entity: any) => Content(` + ${entity.name}, err := client.${entity.Name}().${op.Name}() + if err != nil { + log.Println("Error running ${entity.name} ${op.Name}:", err) + return + } + + log.Printf("${entity.Name} %+v\\n", ${entity.name}) + `), + }, + py: { + Name: "Python", + name: "python", + install: (model: any) => `pip3 install ${model.name}_sdk`, + init: (model: any, option: any) => { + Content(` + client = ${model.Name}SDK.make((`) + each(option, (opt: any) => { + if (opt.kind == "String") { + Content(` + ${opt.name}: environ['${model.NAME}_${opt.name.toUpperCase()}'],`) + } + }) + Content(` + ))`) + }, + create: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}().${op.name}(Data( + foo: "baa", + )) + + print('${entity.Name}', ${entity.name}) + `), + save: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}().${op.name}(Data( + id = 1, + foo = "baa", + )) + + print('${entity.Name}', ${entity.name}) + `), + load: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}().${op.name}({ + "id": 1 + }) + + print('${entity.Name}', ${entity.name}) + `), + remove: (op: any, entity: any) => Content(` + client.${entity.Name}().${op.name}({ + "id": 1 + }) + `), + list: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}().${op.name}() + print('${entity.Name}', ${entity.name}) + `), + }, + php: { + Name: "PHP", + name: "php", + install: (model: any) => `composer install ${model.name}-sdk`, + init: (model: any, option: any) => { + Content(` + $client = ${model.Name}SDK([ `) + each(option, (opt: any) => { + if (opt.kind == "String") { + Content(` + '${opt.name}' => getenv('${model.NAME}_${opt.name.toUpperCase()}'),`) + } + }) + Content(` + ]);`) + }, + create: (op: any, entity: any) => Content(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + 'foo' => "baa", + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + save: (op: any, entity: any) => Content(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + 'id' => 1, + 'foo' => "baa", + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + load: (op: any, entity: any) => Content(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}([ + "id" => 1 + ]); + + print_r("${entity.Name} " . $${entity.name}); + `), + remove: (op: any, entity: any) => Content(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name}->${op.name}([ + "id" => 1 + ]); + `), + list: (op: any, entity: any) => Content(` + $${entity.name} = new ${entity.Name}($client); + $${entity.name} = $${entity.name}->${op.name}(); + print_r("${entity.Name} " . $${entity.name}); + `), + }, + rb: { + Name: "Ruby", + name: "ruby", + install: (model: any) => `gem install ${model.name}-sdk`, + init: (model: any, option: any) => { + Content(` + const client = ${model.Name}SDK.new({`) + each(option, (opt: any) => { + if (opt.kind == "String") { + const capName = opt.name.charAt(0).toUpperCase() + opt.name.substring(1, opt.name.length); + Content(` + ${capName}: ENV['${model.NAME}_${opt.name.toUpperCase()}'],`) + } + }) + Content(` + }`) + }, + create: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}.${op.name}({ + foo: "baa" + }) + + puts "${entity.Name} #{${entity.name}}" + `), + save: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}.${op.name}({ + id: 1, + foo: "baa", + }) + + puts "${entity.Name} #{${entity.name}}" + `), + load: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}.${op.name}({ + id: 1 + }) + + puts "${entity.Name} #{${entity.name}}" + `), + remove: (op: any, entity: any) => Content(` + client.${entity.Name}.${op.name}({ + id: 1 + }) + + `), + list: (op: any, entity: any) => Content(` + ${entity.name} = client.${entity.Name}.${op.name}() + puts "${entity.Name} #{${entity.name}}" + `), + }, +} diff --git a/test/docgen.test.ts b/test/docgen.test.ts index 07f071a..8fe3aa9 100644 --- a/test/docgen.test.ts +++ b/test/docgen.test.ts @@ -49,7 +49,7 @@ describe('docgen', () => { expect(voljson).equal({ '/top/doc/static/src': null, '/top/doc/static/dist/index.html': - '\n\n\n \n \n \n \n \n \n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n \n\n', + `\n\n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n \n \n\n`, '/top/.jostraca/jostraca.json.log': voljson['/top/.jostraca/jostraca.json.log'], }) })