🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@sebspark/openapi-express

Package Overview
Dependencies
Maintainers
4
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sebspark/openapi-express - npm Package Compare versions

Comparing version
0.1.0
to
1.0.0
+25
-13
dist/index.js

@@ -28,15 +28,27 @@ "use strict";

// src/router.ts
var import_openapi_core = require("@sebspark/openapi-core");
var import_express = require("express");
var import_openapi_core = require("@sebspark/openapi-core");
var TypedRouter = (api, options = {}) => {
const router = (0, import_express.Router)();
router.use((0, import_express.json)());
const preUsings = options.pre instanceof Array ? options.pre : options.pre ? [options.pre] : [];
preUsings.forEach((pre) => router.use(pre));
Object.entries(api).forEach(([url, methods]) => {
Object.entries(methods).forEach(([method, route]) => {
const preUsings = Array.isArray(options.pre) ? options.pre : options.pre ? [options.pre] : [];
for (const pre of preUsings) {
router.use(pre);
}
for (const [url, methods] of Object.entries(api)) {
for (const [method, route] of Object.entries(methods)) {
const handler = async (req, res, next) => {
try {
const [code, body] = await route.handler(req);
res.status(code).send(body);
const [status, response] = await route.handler(req);
const { headers, data } = response;
res.status(status);
if (headers) {
for (const [name, value] of Object.entries(headers)) {
res.setHeader(name, value);
}
}
if (data)
res.send(data);
else
res.end();
} catch (error) {

@@ -46,15 +58,15 @@ next(error);

};
const pre = route.pre instanceof Array ? route.pre : route.pre ? [route.pre] : [];
const pre = Array.isArray(route.pre) ? route.pre : route.pre ? [route.pre] : [];
const handlers = pre.concat(handler);
router[method](url, ...handlers);
});
});
}
}
router.use(errorHandler);
return router;
};
var errorHandler = (err, req, res, _next) => {
var errorHandler = (err, _req, res, _next) => {
let error;
if (err.message && err.statusCode && err.toJSON)
if (err.message && err.statusCode && err.toJSON) {
error = err;
else {
} else {
const internal = err instanceof Error ? err : typeof err === "string" ? new Error(err) : void 0;

@@ -61,0 +73,0 @@ error = (0, import_openapi_core.createHttpError)(500, void 0, internal);

// src/router.ts
import {
createHttpError
} from "@sebspark/openapi-core";
import {
Router,
json
} from "express";
import {
createHttpError
} from "@sebspark/openapi-core";
var TypedRouter = (api, options = {}) => {
const router = Router();
router.use(json());
const preUsings = options.pre instanceof Array ? options.pre : options.pre ? [options.pre] : [];
preUsings.forEach((pre) => router.use(pre));
Object.entries(api).forEach(([url, methods]) => {
Object.entries(methods).forEach(([method, route]) => {
const preUsings = Array.isArray(options.pre) ? options.pre : options.pre ? [options.pre] : [];
for (const pre of preUsings) {
router.use(pre);
}
for (const [url, methods] of Object.entries(api)) {
for (const [method, route] of Object.entries(methods)) {
const handler = async (req, res, next) => {
try {
const [code, body] = await route.handler(req);
res.status(code).send(body);
const [status, response] = await route.handler(req);
const { headers, data } = response;
res.status(status);
if (headers) {
for (const [name, value] of Object.entries(headers)) {
res.setHeader(name, value);
}
}
if (data)
res.send(data);
else
res.end();
} catch (error) {

@@ -24,15 +36,15 @@ next(error);

};
const pre = route.pre instanceof Array ? route.pre : route.pre ? [route.pre] : [];
const pre = Array.isArray(route.pre) ? route.pre : route.pre ? [route.pre] : [];
const handlers = pre.concat(handler);
router[method](url, ...handlers);
});
});
}
}
router.use(errorHandler);
return router;
};
var errorHandler = (err, req, res, _next) => {
var errorHandler = (err, _req, res, _next) => {
let error;
if (err.message && err.statusCode && err.toJSON)
if (err.message && err.statusCode && err.toJSON) {
error = err;
else {
} else {
const internal = err instanceof Error ? err : typeof err === "string" ? new Error(err) : void 0;

@@ -39,0 +51,0 @@ error = createHttpError(500, void 0, internal);

{
"name": "@sebspark/openapi-express",
"version": "0.1.0",
"version": "1.0.0",
"license": "Apache-2.0",

@@ -14,10 +14,10 @@ "main": "dist/index.js",

"dev": "tsc --watch --noEmit",
"lint": "eslint \"src/**/*.ts*\"",
"lint": "biome check .",
"test": "vitest --passWithNoTests --coverage",
"typecheck": "vitest typecheck --passWithNoTests"
"typecheck": "vitest --typecheck.only --passWithNoTests"
},
"devDependencies": {
"@types/supertest": "2.0.15",
"@types/supertest": "6.0.2",
"express": "4.18.2",
"supertest": "6.3.3",
"supertest": "6.3.4",
"tsconfig": "*"

@@ -24,0 +24,0 @@ },

@@ -28,6 +28,6 @@ # `@sebspark/openapi-express-router`

import { TypedRouter } from '@sebspark/openapi-express'
import { MarketdataAPIServer } from './schemas/marketdata'
import { MarketdataServer } from './schemas/marketdata'
import { getMarkets, getMarket } from './markets'
const api: MarketdataAPIServer = {
const api: MarketdataServer = {
'/markets': {

@@ -37,3 +37,3 @@ get: {

const markets = await getMarkets()
return [200, markets]
return [200, {data: markets}]
},

@@ -46,3 +46,3 @@ },

const market = await getMarket(params.id)
return [200, market]
return [200, {data: market}]
},

@@ -49,0 +49,0 @@ },