@tremho/mist-lift 2.0.0-pre-release.3 → 2.0.0-pre-release.6

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.
Files changed (81) hide show
  1. package/README.md +3 -0
  2. package/build/commands/actions/initQuestions.js +140 -0
  3. package/build/commands/actions/initQuestions.js.map +1 -0
  4. package/build/commands/actions/makePackageJson.js +2 -0
  5. package/build/commands/actions/makePackageJson.js.map +1 -0
  6. package/build/commands/actions/setupPackageJson.js +68 -0
  7. package/build/commands/actions/setupPackageJson.js.map +1 -0
  8. package/build/commands/build.js +203 -0
  9. package/build/commands/build.js.map +1 -0
  10. package/build/commands/builtin/ApiDocMaker.js +114 -0
  11. package/build/commands/builtin/ApiDocMaker.js.map +1 -0
  12. package/build/commands/builtin/BuiltInHandler.js +61 -0
  13. package/build/commands/builtin/BuiltInHandler.js.map +1 -0
  14. package/build/commands/builtin/DeployBuiltInZip.js +57 -0
  15. package/build/commands/builtin/DeployBuiltInZip.js.map +1 -0
  16. package/build/commands/builtin/StageWebrootZip.js +72 -0
  17. package/build/commands/builtin/StageWebrootZip.js.map +1 -0
  18. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  19. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  20. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  21. package/build/commands/create.js +84 -0
  22. package/build/commands/create.js.map +1 -0
  23. package/build/commands/deploy.js +187 -0
  24. package/build/commands/deploy.js.map +1 -0
  25. package/build/commands/doctor.js +150 -0
  26. package/build/commands/doctor.js.map +1 -0
  27. package/build/commands/help.js +213 -0
  28. package/build/commands/help.js.map +1 -0
  29. package/build/commands/info.js +71 -0
  30. package/build/commands/info.js.map +1 -0
  31. package/build/commands/init.js +95 -0
  32. package/build/commands/init.js.map +1 -0
  33. package/build/commands/package.js +258 -0
  34. package/build/commands/package.js.map +1 -0
  35. package/build/commands/publish.js +354 -0
  36. package/build/commands/publish.js.map +1 -0
  37. package/build/commands/settings.js +96 -0
  38. package/build/commands/settings.js.map +1 -0
  39. package/build/commands/start.js +214 -0
  40. package/build/commands/start.js.map +1 -0
  41. package/build/commands/test.js +52 -0
  42. package/build/commands/test.js.map +1 -0
  43. package/build/commands/user.js +20 -0
  44. package/build/commands/user.js.map +1 -0
  45. package/build/expressRoutes/all.js +134 -0
  46. package/build/expressRoutes/all.js.map +1 -0
  47. package/build/expressRoutes/api.js +24 -0
  48. package/build/expressRoutes/api.js.map +1 -0
  49. package/build/expressRoutes/functionBinder.js +197 -0
  50. package/build/expressRoutes/functionBinder.js.map +1 -0
  51. package/build/integration-tests/quickstart-scenario.test.js +81 -0
  52. package/build/integration-tests/quickstart-scenario.test.js.map +1 -0
  53. package/build/lib/CaseUtils.js +57 -0
  54. package/build/lib/CaseUtils.js.map +1 -0
  55. package/build/lib/DirectoryUtils.js +40 -0
  56. package/build/lib/DirectoryUtils.js.map +1 -0
  57. package/build/lib/LiftConfig.js +81 -0
  58. package/build/lib/LiftConfig.js.map +1 -0
  59. package/build/lib/LiftVersion.js +122 -0
  60. package/build/lib/LiftVersion.js.map +1 -0
  61. package/build/lib/Tests/fileCompare.test.js +56 -0
  62. package/build/lib/Tests/fileCompare.test.js.map +1 -0
  63. package/build/lib/askQuestion.js +42 -0
  64. package/build/lib/askQuestion.js.map +1 -0
  65. package/build/lib/executeCommand.js +58 -0
  66. package/build/lib/executeCommand.js.map +1 -0
  67. package/build/lib/fileCompare.js +49 -0
  68. package/build/lib/fileCompare.js.map +1 -0
  69. package/build/lib/openAPI/ApiBuildCollector.js +59 -0
  70. package/build/lib/openAPI/ApiBuildCollector.js.map +1 -0
  71. package/build/lib/openAPI/WebrootFileSupport.js +48 -0
  72. package/build/lib/openAPI/WebrootFileSupport.js.map +1 -0
  73. package/build/lib/openAPI/openApiConstruction.js +234 -0
  74. package/build/lib/openAPI/openApiConstruction.js.map +1 -0
  75. package/build/lib/pathResolve.js +27 -0
  76. package/build/lib/pathResolve.js.map +1 -0
  77. package/build/lib/utils.js +77 -0
  78. package/build/lib/utils.js.map +1 -0
  79. package/build/lift.js +127 -0
  80. package/build/lift.js.map +1 -0
  81. package/package.json +2 -2
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /* eslint @typescript-eslint/no-floating-promises: "off" */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const tap_1 = __importDefault(require("tap"));
31
+ const path = __importStar(require("path"));
32
+ const fileCompare_1 = require("../fileCompare");
33
+ function test(t) {
34
+ // ./dir1/file.1 551 < ./dir2/file.1 552
35
+ // ./dir1/file.2 553 > ./dir2/file.1 552
36
+ // ./dir1 553 > ./dir2 552
37
+ // .dir1 (.1) 552 < ./dir2 552
38
+ const dir1 = path.join(__dirname, 'dir1');
39
+ const dir2 = path.join(__dirname, 'dir2');
40
+ const dir1File1 = path.join(dir1, 'file.1');
41
+ const dir1File2 = path.join(dir1, 'file.2');
42
+ const dir2File1 = path.join(dir2, 'file.1');
43
+ let newer = (0, fileCompare_1.isNewerFile)(dir1File1, dir2File1);
44
+ t.equal(newer, false, './dir1/file.1 < ./dir2/file.1');
45
+ newer = (0, fileCompare_1.isNewerFile)(dir1File2, dir2File1);
46
+ t.equal(newer, true, './dir1/file.2 > ./dir2/file.1');
47
+ newer = (0, fileCompare_1.isNewerFile)(dir1, dir2);
48
+ t.ok(newer, 'dir1 > dir2');
49
+ newer = (0, fileCompare_1.isNewerFile)(dir1, dir2, '.1');
50
+ t.ok(!newer, './dir1 (.1) < ./dir2');
51
+ t.end();
52
+ }
53
+ tap_1.default.test('IsNewer', t => {
54
+ test(t);
55
+ });
56
+ //# sourceMappingURL=fileCompare.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileCompare.test.js","sourceRoot":"","sources":["../../../src/lib/Tests/fileCompare.test.ts"],"names":[],"mappings":";AACA,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,8CAAqB;AAErB,2CAA4B;AAC5B,gDAA4C;AAE5C,SAAS,IAAI,CAAE,CAAM;IACrB,wCAAwC;IACtC,wCAAwC;IACxC,2BAA2B;IAC3B,8BAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAE3C,IAAI,KAAK,GAAG,IAAA,yBAAW,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC7C,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAA;IACtD,KAAK,GAAG,IAAA,yBAAW,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACzC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAA;IACrD,KAAK,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC1B,KAAK,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAA;IAEpC,CAAC,CAAC,GAAG,EAAE,CAAA;AACT,CAAC;AAED,aAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;IACtB,IAAI,CAAC,CAAC,CAAC,CAAA;AACT,CAAC,CAAC,CAAA"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /** handles interaction for asking a question */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.ask = void 0;
28
+ /* eslint @typescript-eslint/no-var-requires: "off" */
29
+ const ac = __importStar(require("ansi-colors"));
30
+ const readlineSync = require('readline-sync');
31
+ function ask(desc, // describes the context
32
+ query, // asks the actual question
33
+ def // default answer
34
+ ) {
35
+ console.log(ac.dim.blue.italic(desc));
36
+ let answer = readlineSync.question(ac.bold.green(query) + ac.dim.grey(` [${def}] `) + '? ');
37
+ if (answer === '')
38
+ answer = def;
39
+ return answer;
40
+ }
41
+ exports.ask = ask;
42
+ //# sourceMappingURL=askQuestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askQuestion.js","sourceRoot":"","sources":["../../src/lib/askQuestion.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,sDAAsD;AACtD,gDAAiC;AACjC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE7C,SAAgB,GAAG,CACjB,IAAY,EAAE,wBAAwB;AACtC,KAAa,EAAE,2BAA2B;AAC1C,GAAW,CAAC,iBAAiB;;IAG7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACrC,IAAI,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3F,IAAI,MAAM,KAAK,EAAE;QAAE,MAAM,GAAG,GAAG,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC;AAVD,kBAUC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.executeCommand = void 0;
13
+ const child_process_1 = require("child_process");
14
+ function executeCommand(cmd_1, args_1) {
15
+ return __awaiter(this, arguments, void 0, function* (cmd, args, cwd = '', consolePass = false, env = {}) {
16
+ const out = {
17
+ stdStr: '',
18
+ errStr: '',
19
+ retcode: 0
20
+ };
21
+ return yield new Promise(resolve => {
22
+ const cmdstr = cmd + ' ' + args.join(' ');
23
+ // console.log('executing ', cmdstr, 'at', cwd)
24
+ const opts = {
25
+ cwd,
26
+ env: Object.assign(env, process.env)
27
+ };
28
+ const proc = (0, child_process_1.exec)(cmdstr, opts);
29
+ if (proc.stdout != null) {
30
+ proc.stdout.on('data', (data) => {
31
+ out.stdStr += data.toString();
32
+ if (consolePass)
33
+ process.stdout.write(data.toString());
34
+ });
35
+ }
36
+ if (proc.stderr != null) {
37
+ proc.stderr.on('data', (data) => {
38
+ out.errStr += data.toString();
39
+ if (consolePass)
40
+ process.stdout.write(data.toString());
41
+ });
42
+ }
43
+ proc.on('error', error => {
44
+ console.error(error);
45
+ if (out.errStr === '')
46
+ out.errStr = error.message;
47
+ out.retcode = -1;
48
+ resolve(out);
49
+ });
50
+ proc.on('close', code => {
51
+ out.retcode = code === null ? -1 : code;
52
+ resolve(out);
53
+ });
54
+ });
55
+ });
56
+ }
57
+ exports.executeCommand = executeCommand;
58
+ //# sourceMappingURL=executeCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeCommand.js","sourceRoot":"","sources":["../../src/lib/executeCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAAoC;AAMpC,SAAsB,cAAc;yDAAE,GAAW,EAAE,IAAW,EAAE,GAAG,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,MAAW,EAAE;QAC1G,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,CAAC;SACX,CAAA;QACD,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzC,+CAA+C;YAC/C,MAAM,IAAI,GAAG;gBACX,GAAG;gBACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;aACrC,CAAA;YACD,MAAM,IAAI,GAAG,IAAA,oBAAI,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE;oBAC5C,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;oBAC7B,IAAI,WAAW;wBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxD,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE;oBAC5C,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;oBAC7B,IAAI,WAAW;wBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxD,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpB,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;oBAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAA;gBACjD,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACtB,GAAG,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AArCD,wCAqCC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isNewerFile = exports.isNewer = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const DirectoryUtils_1 = require("./DirectoryUtils");
10
+ // true if filepath > mapped file in outDir (i.e. .ts > .js)
11
+ function isNewer(filepath, outDir, mappingObj = { '.ts': '.js' }) {
12
+ let basename = path_1.default.basename(filepath);
13
+ const ext = path_1.default.extname(filepath);
14
+ basename = basename.substring(0, basename.lastIndexOf(ext));
15
+ let newExt = '';
16
+ if (mappingObj[ext] !== undefined)
17
+ newExt = mappingObj[ext];
18
+ const outfile = path_1.default.join(outDir, basename + newExt);
19
+ return isNewerFile(filepath, outfile);
20
+ }
21
+ exports.isNewer = isNewer;
22
+ // true if filepath is newer than destpath
23
+ function isNewerFile(filepath, destpath, srcFilter = '', dstFilter = '') {
24
+ const sstat = fs_1.default.statSync(filepath);
25
+ const srcTime = sstat.isDirectory() ? latestInDirectory(filepath, srcFilter) : fs_1.default.statSync(filepath).mtime;
26
+ let destTime = new Date(0);
27
+ if (fs_1.default.existsSync((destpath))) {
28
+ const dstat = fs_1.default.statSync(destpath);
29
+ destTime = dstat.isDirectory() ? latestInDirectory(destpath, dstFilter) : fs_1.default.statSync(destpath).mtime;
30
+ }
31
+ return (srcTime >= destTime);
32
+ }
33
+ exports.isNewerFile = isNewerFile;
34
+ function latestInDirectory(dirPath, extFilter = '') {
35
+ let newestTime = new Date(0);
36
+ (0, DirectoryUtils_1.recurseDirectory)(dirPath, (filepath, stats) => {
37
+ if (stats.isFile()) {
38
+ const ext = path_1.default.extname(filepath);
39
+ if ((extFilter !== null && extFilter !== void 0 ? extFilter : '') === '' || ext === extFilter) {
40
+ if (stats.mtime > newestTime) {
41
+ newestTime = stats.mtime;
42
+ }
43
+ }
44
+ }
45
+ return false;
46
+ });
47
+ return newestTime;
48
+ }
49
+ //# sourceMappingURL=fileCompare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileCompare.js","sourceRoot":"","sources":["../../src/lib/fileCompare.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,qDAAmD;AAEnD,4DAA4D;AAC5D,SAAgB,OAAO,CACrB,QAAgB,EAChB,MAAc,EACd,aAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;IAElC,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3D,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAE3D,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAA;IACpD,OAAO,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACvC,CAAC;AAdD,0BAcC;AAED,0CAA0C;AAC1C,SAAgB,WAAW,CACzB,QAAgB,EAChB,QAAgB,EAChB,YAAoB,EAAE,EACtB,YAAoB,EAAE;IAEtB,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAA;IAC1G,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,YAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACnC,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAA;IACvG,CAAC;IACD,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAdD,kCAcC;AACD,SAAS,iBAAiB,CACxB,OAAe,EACf,YAAoB,EAAE;IAEtB,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAA,iCAAgB,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAClC,IAAI,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAClD,IAAI,KAAK,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC;oBAC7B,UAAU,GAAG,KAAK,CAAC,KAAK,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.gatherFunctionDefinitions = void 0;
7
+ /**
8
+ * Part 1 of two steps to build openApi docs.
9
+ * This reads values from our "definitions.json" format and creates a single array that step 2 will turn into
10
+ * openApi specifications.
11
+ */
12
+ const fs_1 = __importDefault(require("fs"));
13
+ const path_1 = __importDefault(require("path"));
14
+ const DirectoryUtils_1 = require("../DirectoryUtils");
15
+ const pathResolve_1 = require("../pathResolve");
16
+ function gatherFunctionDefinitions() {
17
+ const defs = [];
18
+ try {
19
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
20
+ if (!projectPaths.verified)
21
+ return [];
22
+ const funcNames = [];
23
+ if (!fs_1.default.existsSync(projectPaths.functionPath))
24
+ return [];
25
+ let firstDepth = 0;
26
+ (0, DirectoryUtils_1.recurseDirectory)(projectPaths.functionPath, (filepath, stats) => {
27
+ if (stats.isDirectory()) {
28
+ const depth = filepath.split(path_1.default.sep).length;
29
+ if (firstDepth === 0)
30
+ firstDepth = depth;
31
+ if (firstDepth === depth) {
32
+ funcNames.push(path_1.default.basename(filepath));
33
+ }
34
+ }
35
+ return false;
36
+ });
37
+ if (projectPaths.functionPath.includes('functions')) {
38
+ for (const name of funcNames) {
39
+ const defPath = path_1.default.join(projectPaths.functionPath, name, 'src', 'definition.json');
40
+ if (fs_1.default.existsSync(defPath)) {
41
+ const content = fs_1.default.readFileSync(defPath).toString();
42
+ // const buildPath = path.join(projectPaths.buildPath, 'functions', name, 'src', 'definition.json')
43
+ // fs.writeFileSync(buildPath, content); // use this opportunity to copy to build folder before we use it.
44
+ defs.push(JSON.parse(content));
45
+ }
46
+ else {
47
+ console.error(`Definition file not found at ${defPath}`);
48
+ return [];
49
+ }
50
+ }
51
+ }
52
+ }
53
+ catch (e) {
54
+ console.error('Exception in ApiBuildCollector', e);
55
+ }
56
+ return defs;
57
+ }
58
+ exports.gatherFunctionDefinitions = gatherFunctionDefinitions;
59
+ //# sourceMappingURL=ApiBuildCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiBuildCollector.js","sourceRoot":"","sources":["../../../src/lib/openAPI/ApiBuildCollector.ts"],"names":[],"mappings":";;;;;;AAAA;;;;GAIG;AACH,4CAAmB;AACnB,gDAAuB;AACvB,sDAAoD;AACpD,gDAA6C;AAE7C,SAAgB,yBAAyB;IACvC,MAAM,IAAI,GAAQ,EAAE,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAA;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QACrC,MAAM,SAAS,GAAa,EAAE,CAAA;QAC9B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,OAAO,EAAE,CAAA;QACxD,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAA,iCAAgB,EAAC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC9D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;gBAC7C,IAAI,UAAU,KAAK,CAAC;oBAAE,UAAU,GAAG,KAAK,CAAA;gBACxC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,IAAI,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;gBACpF,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;oBACnD,mGAAmG;oBACnG,0GAA0G;oBAC1G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;oBACxD,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AApCD,8DAoCC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.GetWebrootServePaths = void 0;
27
+ const path = __importStar(require("path"));
28
+ const pathResolve_1 = require("../pathResolve");
29
+ const DirectoryUtils_1 = require("../DirectoryUtils");
30
+ function GetWebrootServePaths() {
31
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
32
+ const webroot = path.join(projectPaths.basePath, 'webroot');
33
+ const list = [''];
34
+ (0, DirectoryUtils_1.recurseDirectory)(webroot, (filepath, stats) => {
35
+ if (stats.isDirectory()) {
36
+ let relpath = filepath.substring(webroot.length);
37
+ if (process.platform === 'win32')
38
+ while (relpath.includes(path.sep))
39
+ relpath = relpath.replace(path.sep, '/');
40
+ if (!list.includes(relpath))
41
+ list.push(relpath);
42
+ }
43
+ return false;
44
+ });
45
+ return list;
46
+ }
47
+ exports.GetWebrootServePaths = GetWebrootServePaths;
48
+ //# sourceMappingURL=WebrootFileSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebrootFileSupport.js","sourceRoot":"","sources":["../../../src/lib/openAPI/WebrootFileSupport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4B;AAC5B,gDAA6C;AAC7C,sDAAoD;AAEpD,SAAgB,oBAAoB;IAClC,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAa,CAAC,EAAE,CAAC,CAAA;IAC3B,IAAA,iCAAgB,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7G,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAdD,oDAcC"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.buildOpenApi = void 0;
39
+ /**
40
+ * This is part 2 of 2 -- we take our pre-built json array of definitions and apply them to openApi in this phase.
41
+ */
42
+ const oas30_1 = require("openapi3-ts/oas30");
43
+ const fs_1 = __importDefault(require("fs"));
44
+ const path_1 = __importDefault(require("path"));
45
+ const pathResolve_1 = require("../pathResolve");
46
+ const ac = __importStar(require("ansi-colors"));
47
+ function buildOpenApi(defs_1) {
48
+ return __awaiter(this, arguments, void 0, function* (defs, includePrivate = false, yamlFile) {
49
+ var _a, _b, _c, _d, _e, _f, _g, _h;
50
+ const builder = new oas30_1.OpenApiBuilder();
51
+ const projectPaths = yield (0, pathResolve_1.resolvePaths)();
52
+ if (!projectPaths.verified)
53
+ return new Uint8Array(0); // don't continue if not valid
54
+ // Read our package.json and construct info from that
55
+ const pkgFile = projectPaths.packagePath;
56
+ let pkg = {};
57
+ try {
58
+ pkg = JSON.parse(fs_1.default.readFileSync(pkgFile).toString());
59
+ }
60
+ catch (_j) { }
61
+ const title = (_a = pkg.name) !== null && _a !== void 0 ? _a : '';
62
+ // let summary = pkg.description;
63
+ // let spdx: string = pkg.license ?? ''
64
+ // const contactName: string = pkg.author ?? ''
65
+ const version = (_b = pkg.version) !== null && _b !== void 0 ? _b : '';
66
+ // license and version definitely come from package.json
67
+ // description and title might get overridden by service.info file
68
+ const infoFile = path_1.default.join(projectPaths.functionPath, 'apiService.info.json');
69
+ let svcInfo = {};
70
+ if (fs_1.default.existsSync(infoFile)) {
71
+ svcInfo = JSON.parse(fs_1.default.readFileSync(infoFile).toString());
72
+ }
73
+ // spdx = svcInfo.contact?.spdx ?? spdx
74
+ const info = {
75
+ title: (_c = svcInfo.name) !== null && _c !== void 0 ? _c : title,
76
+ // summary: summary,
77
+ description: svcInfo.description,
78
+ version: (_e = (_d = svcInfo.version) !== null && _d !== void 0 ? _d : version) !== null && _e !== void 0 ? _e : new Date().toUTCString()
79
+ };
80
+ builder.addInfo(info);
81
+ // map our defs into openApi values
82
+ for (const def of defs) {
83
+ const pathDef = {};
84
+ if (def.private === true && !includePrivate)
85
+ continue; // skip private
86
+ const parameters = (_f = def.parameters) !== null && _f !== void 0 ? _f : [];
87
+ let method = def.method;
88
+ if (!def.method) {
89
+ console.log(ac.red('no method defined for ' + def.name));
90
+ if (def.allowedMethods) {
91
+ console.log(ac.bgBlack.yellowBright('DEPRECATED') + ac.blue(' As of v1.1.8, The use of ') + ac.black.italic('allowedMethods') + ac.blue(' is replaced by the single' +
92
+ ac.black.italic(' method ') + ac.blue('property.') + ac.black.bold('Please update your definition file')));
93
+ def.method = def.allowedMethods.split(',')[0];
94
+ }
95
+ }
96
+ const schemas = (_g = def.schemas) !== null && _g !== void 0 ? _g : {};
97
+ for (const schemaName of Object.getOwnPropertyNames(schemas)) {
98
+ const schema = schemas[schemaName];
99
+ addTypeSchema(builder, schemaName, schema);
100
+ }
101
+ method = method.trim().toLowerCase();
102
+ addFunctionMethod(pathDef, method, def);
103
+ for (const param of parameters) {
104
+ addParameter(pathDef, param);
105
+ }
106
+ addCORSOptionMethod(pathDef);
107
+ builder.addPath(((_h = def.pathMap) !== null && _h !== void 0 ? _h : '/' + def.name), pathDef);
108
+ builder.addSchema('Empty', {
109
+ title: 'Empty Schema',
110
+ type: 'object'
111
+ });
112
+ }
113
+ const outFile = yamlFile !== null && yamlFile !== void 0 ? yamlFile : path_1.default.join(projectPaths.basePath, 'webroot', 'docs', 'apidoc.yaml');
114
+ const str2ab = (str) => {
115
+ const buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char
116
+ const bufView = new Uint8Array(buf);
117
+ for (let i = 0, strLen = str.length; i < strLen; i++) {
118
+ bufView[i] = str.charCodeAt(i);
119
+ }
120
+ return bufView;
121
+ };
122
+ const yaml = builder.getSpecAsYaml();
123
+ const bytes = str2ab(yaml);
124
+ if (!includePrivate) {
125
+ fs_1.default.writeFileSync(outFile, yaml);
126
+ }
127
+ return bytes;
128
+ });
129
+ }
130
+ exports.buildOpenApi = buildOpenApi;
131
+ function addTypeSchema(builder, schemaName, schema) {
132
+ const ref = { title: schemaName, type: 'object', properties: {} };
133
+ for (const prop of Object.getOwnPropertyNames(schema)) {
134
+ const scType = schemaType('', schema[prop], false);
135
+ ref.properties[prop] = scType;
136
+ }
137
+ builder.addSchema(schemaName, ref);
138
+ }
139
+ function addFunctionMethod(pathDef, method, def) {
140
+ var _a, _b, _c;
141
+ // TODO: Define a return schema and put that here
142
+ const retDef = (def.returns)['200'];
143
+ const content = {};
144
+ const mime = (_b = (_a = retDef === null || retDef === void 0 ? void 0 : retDef.content) !== null && _a !== void 0 ? _a : retDef === null || retDef === void 0 ? void 0 : retDef.mime) !== null && _b !== void 0 ? _b : 'text/plain';
145
+ content[mime] = {};
146
+ const methData = {
147
+ summary: def.name,
148
+ description: def.description,
149
+ responses: {
150
+ 200: {
151
+ description: (_c = retDef === null || retDef === void 0 ? void 0 : retDef.description) !== null && _c !== void 0 ? _c : 'Success Response',
152
+ content
153
+ }
154
+ }
155
+ };
156
+ pathDef[method] = methData;
157
+ }
158
+ function addCORSOptionMethod(pathDef) {
159
+ if (pathDef.options === undefined)
160
+ return; // already assinged by definition
161
+ // add options for CORS
162
+ pathDef.options = {
163
+ responses: {
164
+ 200: {
165
+ description: '200 response',
166
+ content: {
167
+ 'application/json': {
168
+ schema: {
169
+ $ref: '#/components/schemas/Empty'
170
+ }
171
+ }
172
+ }
173
+ }
174
+ },
175
+ 'x-amazon-apigateway-integration': {
176
+ responses: {
177
+ default: {
178
+ statusCode: '200'
179
+ }
180
+ },
181
+ requestTemplates: {
182
+ 'application/json': '{"statusCode": 200}'
183
+ },
184
+ passthroughBehavior: 'when_no_match',
185
+ type: 'mock'
186
+ }
187
+ };
188
+ }
189
+ function addParameter(pathDef, param) {
190
+ var _a, _b, _c, _d;
191
+ if (pathDef.parameters === undefined)
192
+ pathDef.parameters = [];
193
+ const parameters = pathDef.parameters;
194
+ const example = (_b = (_a = param.example) !== null && _a !== void 0 ? _a : param.default) !== null && _b !== void 0 ? _b : '';
195
+ const type = (_c = param.type) !== null && _c !== void 0 ? _c : typeof example;
196
+ const deflt = (_d = param.default) !== null && _d !== void 0 ? _d : example;
197
+ parameters.push({
198
+ in: param.in,
199
+ name: param.name,
200
+ description: param.description,
201
+ example,
202
+ required: param.required,
203
+ schema: schemaType(deflt, type, true)
204
+ });
205
+ }
206
+ function schemaType(deflt, namedType, innerOnly) {
207
+ if (typeof namedType === 'object')
208
+ return namedType;
209
+ const typeFormat = namedType.split(':');
210
+ let type = typeFormat[0];
211
+ const format = typeFormat.length > 1 ? typeFormat[1] : undefined;
212
+ if (!(type === 'string' ||
213
+ type === 'number' ||
214
+ type === 'integer' ||
215
+ type === 'boolean' ||
216
+ type === 'int' ||
217
+ type === 'bool')) {
218
+ return innerOnly
219
+ ? {
220
+ $ref: `#/components/schemas/${type}`
221
+ }
222
+ : {
223
+ schema: {
224
+ $ref: `#/components/schemas/${type}`
225
+ }
226
+ };
227
+ }
228
+ if (type === 'int')
229
+ type = 'integer';
230
+ if (type === 'bool')
231
+ type = 'boolean';
232
+ return innerOnly ? { type, format, example: deflt } : { schema: { type, format, example: deflt } };
233
+ }
234
+ //# sourceMappingURL=openApiConstruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openApiConstruction.js","sourceRoot":"","sources":["../../../src/lib/openAPI/openApiConstruction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolvePaths = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ // Find the path roots in the project directory
10
+ function resolvePaths() {
11
+ const cwd = process.cwd();
12
+ let funcPath = path_1.default.join(cwd, 'functions');
13
+ while (true) {
14
+ if (!fs_1.default.existsSync(funcPath)) {
15
+ funcPath = path_1.default.normalize(path_1.default.join(funcPath, '..'));
16
+ }
17
+ else {
18
+ const basePath = path_1.default.normalize(path_1.default.join(funcPath, '..'));
19
+ const buildPath = path_1.default.join(basePath, 'build');
20
+ const packagePath = path_1.default.join(basePath, 'package.json');
21
+ const verified = fs_1.default.existsSync(basePath) && fs_1.default.existsSync(funcPath) && fs_1.default.existsSync(packagePath);
22
+ return { basePath, buildPath, functionPath: funcPath, packagePath, verified };
23
+ }
24
+ }
25
+ }
26
+ exports.resolvePaths = resolvePaths;
27
+ //# sourceMappingURL=pathResolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathResolve.js","sourceRoot":"","sources":["../../src/lib/pathResolve.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AAEnB,+CAA+C;AAC/C,SAAgB,YAAY;IAQ1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,IAAI,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC1C,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;YAC1D,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC9C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YACjG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;QAC/E,CAAC;IACH,CAAC;AACH,CAAC;AArBD,oCAqBC"}