@omer-x/next-openapi-json-generator 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var __webpack_modules__={489:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.directoryExists=async function(e){try{return await a.default.access(e,n.constants.F_OK),!0}catch(e){return!1}},t.getDirectoryItems=async function e(t,r){const o=[],n=await a.default.readdir(t);for(const u of n){const n=s.default.resolve(t,u);if((await a.default.stat(n)).isDirectory()){const t=await e(n,r);o.push(...t)}else u===r&&o.push(n)}return o};const n=r(896),a=o(r(943)),s=o(r(760))},580:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,o){if(o)for(const[e,o]of Object.entries(r))if(a(t,(0,n.default)(o,!1)))return{$ref:`#/components/schemas/${e}`};if("$ref"in t)return t;if(t.oneOf)return{...t,oneOf:t.oneOf.map((t=>e(t,r,!0)))};if(t.anyOf)return{...t,anyOf:t.anyOf.map((t=>e(t,r,!0)))};switch(t.type){case"object":return{...t,properties:Object.entries(t.properties).reduce(((t,[o,n])=>({...t,[o]:e(n,r,!0)})),{})};case"array":return Array.isArray(t.items)?{...t,items:t.items.map((t=>e(t,r,!0)))}:{...t,items:e(t.items,r,!0)}}return t};const n=o(r(292));function a(e,t){if(typeof e!=typeof t)return!1;switch(typeof e){case"object":return null===e?e===t:!!t&&(Array.isArray(e)?!!Array.isArray(t)&&e.every(((e,r)=>a(e,t[r]))):Object.entries(e).every((([e,r])=>a(r,t[e]))));case"function":case"symbol":return!1;default:return e===t}}},37:function(__unused_webpack_module,exports,__webpack_require__){var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.findAppFolderPath=findAppFolderPath,exports.getRouteExports=getRouteExports;const promises_1=__importDefault(__webpack_require__(455)),node_path_1=__importDefault(__webpack_require__(760)),dir_1=__webpack_require__(489),transpile_1=__webpack_require__(380);async function findAppFolderPath(){const e=node_path_1.default.resolve(process.cwd(),"src","app");if(await(0,dir_1.directoryExists)(e))return e;const t=node_path_1.default.resolve(process.cwd(),"app");return await(0,dir_1.directoryExists)(t)?t:null}function injectSchemas(e,t){return e.replace(new RegExp(`\\b${t}\\.`,"g"),`global.schemas[${t}].`).replace(new RegExp(`\\b${t}\\b`,"g"),`"${t}"`)}async function getRouteExports(routePath,schemas){const content=await promises_1.default.readFile(routePath,"utf-8"),code=(0,transpile_1.transpile)(content),fixedCode=Object.keys(schemas).reduce(injectSchemas,code);global.schemas=schemas;const result=eval(fixedCode);return delete global.schemas,result}},976:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return{...e,parameters:e.parameters?.map((e=>function(e,t){return"$ref"in e?e:{...e,schema:a(t,e.schema)}}(e,t))),requestBody:u(t,e.requestBody),responses:i(t,e.responses)}};const n=o(r(580));function a(e,t){return t?(0,n.default)(t,e,!0):t}function s(e,t){return t?Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:{...o,schema:a(e,o.schema)}})),{}):t}function u(e,t){return!t||"$ref"in t?t:{...t,content:s(e,t.content)}}function c(e,t){return"$ref"in t?t:{...t,content:s(e,t.content)}}function i(e,t){return t?Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:c(e,o)})),{}):t}},683:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createRouteRecord=function(e,t,r,o){return{method:e.toLocaleLowerCase(),path:a(t,r),apiData:o}},t.bundlePaths=function(e,t){return e.sort(((e,t)=>e.path.localeCompare(t.path))),e.reduce(((e,r)=>({...e,[r.path]:{...e[r.path],[r.method]:(0,n.default)(r.apiData,t)}})),{})};const n=o(r(976));function a(e,t){return e.replace(t,"").replace("[","{").replace("]","}").replace("/route.ts","")}},363:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.bundleSchemas=function(e){const t=Object.keys(e).reduce(((t,r)=>({...t,[r]:(0,a.default)(e[r],!1)})),{});return Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:(0,n.default)(o,e,!1)})),{})};const n=o(r(580)),a=o(r(292))},380:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transpile=function(e){const t=["import createRoute from '@omer-x/next-openapi-route-handler'","import z from 'zod';",a(n(e))];return(0,o.transpile)(t.join("\n"))};const o=r(899);function n(e){return e.replace(/^import\s.+\sfrom\s.+;$/gm,"").trim()}function a(e){const t=["GET","POST","PUT","PATCH","DELETE"];return`${t.map((e=>`exports.${e} = void 0;\n`))}\n${e}\n${`module.exports = { ${t.map((e=>`${e}: exports.${e}`)).join(", ")} }`}`}},292:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(t?e.array():e,{target:"openApi3",$refStrategy:"none"})};const n=o(r(106))},156:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e){const t=await(0,s.findAppFolderPath)();if(!t)throw new Error("This is not a Next.js application!");const r=await(0,a.getDirectoryItems)(t,"route.ts"),o=[];for(const n of r){const r=await(0,s.getRouteExports)(n,e);for(const[e,a]of Object.entries(r))a&&a.apiData&&o.push((0,u.createRouteRecord)(e.toLocaleLowerCase(),n,t,a.apiData))}const i=(0,n.default)();return{openapi:"3.1.0",info:{title:i.serviceName,version:i.version},paths:(0,u.bundlePaths)(o,e),components:{schemas:(0,c.bundleSchemas)(e)},tags:[]}};const n=o(r(213)),a=r(489),s=r(37),u=r(683),c=r(363)},213:e=>{e.exports=require("@omer-x/package-metadata")},899:e=>{e.exports=require("typescript")},106:e=>{e.exports=require("zod-to-json-schema")},896:e=>{e.exports=require("fs")},943:e=>{e.exports=require("fs/promises")},455:e=>{e.exports=require("node:fs/promises")},760:e=>{e.exports=require("node:path")}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__(156);module.exports=__webpack_exports__})();
|
|
1
|
+
(()=>{"use strict";var __webpack_modules__={489:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.directoryExists=async function(e){try{return await a.default.access(e,n.constants.F_OK),!0}catch(e){return!1}},t.getDirectoryItems=async function e(t,r){const o=[],n=await a.default.readdir(t);for(const u of n){const n=s.default.resolve(t,u);if((await a.default.stat(n)).isDirectory()){const t=await e(n,r);o.push(...t)}else u===r&&o.push(n)}return o};const n=r(896),a=o(r(943)),s=o(r(760))},580:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,o){if(o)for(const[e,o]of Object.entries(r))if(a(t,(0,n.default)(o,!1)))return{$ref:`#/components/schemas/${e}`};if("$ref"in t)return t;if(t.oneOf)return{...t,oneOf:t.oneOf.map((t=>e(t,r,!0)))};if(t.anyOf)return{...t,anyOf:t.anyOf.map((t=>e(t,r,!0)))};switch(t.type){case"object":return{...t,properties:Object.entries(t.properties).reduce(((t,[o,n])=>({...t,[o]:e(n,r,!0)})),{})};case"array":return Array.isArray(t.items)?{...t,items:t.items.map((t=>e(t,r,!0)))}:{...t,items:e(t.items,r,!0)}}return t};const n=o(r(292));function a(e,t){if(typeof e!=typeof t)return!1;switch(typeof e){case"object":return null===e?e===t:!!t&&(Array.isArray(e)?!!Array.isArray(t)&&e.every(((e,r)=>a(e,t[r]))):Object.entries(e).every((([e,r])=>a(r,t[e]))));case"function":case"symbol":return!1;default:return e===t}}},37:function(__unused_webpack_module,exports,__webpack_require__){var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.findAppFolderPath=findAppFolderPath,exports.getRouteExports=getRouteExports;const promises_1=__importDefault(__webpack_require__(455)),node_path_1=__importDefault(__webpack_require__(760)),dir_1=__webpack_require__(489),transpile_1=__webpack_require__(380);async function findAppFolderPath(){const e=node_path_1.default.resolve(process.cwd(),"src","app");if(await(0,dir_1.directoryExists)(e))return e;const t=node_path_1.default.resolve(process.cwd(),"app");return await(0,dir_1.directoryExists)(t)?t:null}function injectSchemas(e,t){return e.replace(new RegExp(`\\b${t}\\.`,"g"),`global.schemas[${t}].`).replace(new RegExp(`\\b${t}\\b`,"g"),`"${t}"`)}async function getRouteExports(routePath,schemas){const content=await promises_1.default.readFile(routePath,"utf-8"),code=(0,transpile_1.transpile)(content),fixedCode=Object.keys(schemas).reduce(injectSchemas,code);global.schemas=schemas;const result=eval(fixedCode);return delete global.schemas,result}},976:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return{...e,parameters:e.parameters?.map((e=>function(e,t){return"$ref"in e?e:{...e,schema:a(t,e.schema)}}(e,t))),requestBody:u(t,e.requestBody),responses:i(t,e.responses)}};const n=o(r(580));function a(e,t){return t?(0,n.default)(t,e,!0):t}function s(e,t){return t?Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:{...o,schema:a(e,o.schema)}})),{}):t}function u(e,t){return!t||"$ref"in t?t:{...t,content:s(e,t.content)}}function c(e,t){return"$ref"in t?t:{...t,content:s(e,t.content)}}function i(e,t){return t?Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:c(e,o)})),{}):t}},683:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createRouteRecord=function(e,t,r,o){return{method:e.toLocaleLowerCase(),path:a(t,r),apiData:o}},t.bundlePaths=function(e,t){return e.sort(((e,t)=>e.path.localeCompare(t.path))),e.reduce(((e,r)=>({...e,[r.path]:{...e[r.path],[r.method]:(0,n.default)(r.apiData,t)}})),{})};const n=o(r(976));function a(e,t){return e.replace(t,"").replace("[","{").replace("]","}").replaceAll("\\","/").replace("/route.ts","")}},363:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.bundleSchemas=function(e){const t=Object.keys(e).reduce(((t,r)=>({...t,[r]:(0,a.default)(e[r],!1)})),{});return Object.entries(t).reduce(((t,[r,o])=>({...t,[r]:(0,n.default)(o,e,!1)})),{})};const n=o(r(580)),a=o(r(292))},380:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transpile=function(e){const t=["import createRoute from '@omer-x/next-openapi-route-handler'","import z from 'zod';",a(n(e))];return(0,o.transpile)(t.join("\n"))};const o=r(899);function n(e){return e.replace(/^import\s.+\sfrom\s.+;$/gm,"").trim()}function a(e){const t=["GET","POST","PUT","PATCH","DELETE"];return`${t.map((e=>`exports.${e} = void 0;\n`))}\n${e}\n${`module.exports = { ${t.map((e=>`${e}: exports.${e}`)).join(", ")} }`}`}},292:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(t?e.array():e,{target:"openApi3",$refStrategy:"none"})};const n=o(r(106))},156:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e){const t=await(0,s.findAppFolderPath)();if(!t)throw new Error("This is not a Next.js application!");const r=await(0,a.getDirectoryItems)(t,"route.ts"),o=[];for(const n of r){const r=await(0,s.getRouteExports)(n,e);for(const[e,a]of Object.entries(r))a&&a.apiData&&o.push((0,u.createRouteRecord)(e.toLocaleLowerCase(),n,t,a.apiData))}const i=(0,n.default)();return{openapi:"3.1.0",info:{title:i.serviceName,version:i.version},paths:(0,u.bundlePaths)(o,e),components:{schemas:(0,c.bundleSchemas)(e)},tags:[]}};const n=o(r(213)),a=r(489),s=r(37),u=r(683),c=r(363)},213:e=>{e.exports=require("@omer-x/package-metadata")},899:e=>{e.exports=require("typescript")},106:e=>{e.exports=require("zod-to-json-schema")},896:e=>{e.exports=require("fs")},943:e=>{e.exports=require("fs/promises")},455:e=>{e.exports=require("node:fs/promises")},760:e=>{e.exports=require("node:path")}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__(156);module.exports=__webpack_exports__})();
|