koas-parameters
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -1,15 +0,49 @@ | ||
import * as Koas from 'koas-core'; | ||
declare type Parser<T> = (value: string) => T | string; | ||
interface ParameterParsers { | ||
boolean?: Parser<boolean>; | ||
integer?: Parser<number>; | ||
number?: Parser<number>; | ||
string?: Parser<string>; | ||
import { Plugin } from 'koas-core'; | ||
export interface ParameterParsers { | ||
/** | ||
* A function to convert a raw string parameter to a boolean. | ||
* | ||
* @param value - The raw string value to process. | ||
* | ||
* @returns The processed boolean value. | ||
*/ | ||
boolean?: (value: string) => boolean | string; | ||
/** | ||
* A function to convert a raw string parameter to an integer. | ||
* | ||
* @param value - The raw string value to process. | ||
* | ||
* @returns The processed integer value. | ||
*/ | ||
integer?: (value: string) => number | string; | ||
/** | ||
* A function to convert a raw string parameter to number. | ||
* | ||
* @param value - The raw string value to process. | ||
* | ||
* @returns The processed number value. | ||
*/ | ||
number?: (value: string) => number | string; | ||
/** | ||
* A function to convert a raw string parameter to a processed string. | ||
* | ||
* @param value - The raw string value to process. | ||
* | ||
* @returns The processed string value. | ||
*/ | ||
string?: (value: string) => string; | ||
} | ||
declare function koasParameters({ parsers }?: { | ||
export interface KoasParametersOptions { | ||
/** | ||
* The parsers for converting raw values to strings. | ||
*/ | ||
parsers?: ParameterParsers; | ||
}): Koas.Plugin; | ||
export = koasParameters; | ||
declare namespace koasParameters { | ||
type Parsers = ParameterParsers; | ||
} | ||
/** | ||
* Create a Koas plugin for parsing path and query parameters. | ||
* | ||
* @param options - The options for parsing the parameters. | ||
* | ||
* @returns A Koas plugin for parsing path and query parameters. | ||
*/ | ||
export declare function parameters({ parsers }?: KoasParametersOptions): Plugin; |
"use strict"; | ||
const createParameterHandler_1 = require("./createParameterHandler"); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parameters = void 0; | ||
const utils_1 = require("./utils"); | ||
const defaultParsers = { | ||
@@ -14,7 +16,14 @@ boolean(value) { | ||
}, | ||
integer: (value) => parseInt(value, 10), | ||
number: parseFloat, | ||
integer: (value) => Number.parseInt(value), | ||
number: (value) => Number.parseFloat(value), | ||
string: String, | ||
}; | ||
function koasParameters({ parsers = {} } = {}) { | ||
/** | ||
* Create a Koas plugin for parsing path and query parameters. | ||
* | ||
* @param options - The options for parsing the parameters. | ||
* | ||
* @returns A Koas plugin for parsing path and query parameters. | ||
*/ | ||
function parameters({ parsers = {} } = {}) { | ||
const combinedParsers = { | ||
@@ -26,7 +35,7 @@ ...defaultParsers, | ||
const handlers = new Map(); | ||
Object.values(spec.paths).forEach(({ parameters, delete: del, get, head, options, patch, post, put, trace }) => { | ||
Object.values(spec.paths).forEach(({ delete: del, get, head, options, parameters: parametersObjects, patch, post, put, trace, }) => { | ||
[del, get, head, options, patch, post, put, trace] | ||
.filter(Boolean) | ||
.forEach((operationObject) => { | ||
handlers.set(operationObject, createParameterHandler_1.default(operationObject, parameters, combinedParsers, validate)); | ||
handlers.set(operationObject, utils_1.createParameterHandler(operationObject, parametersObjects, combinedParsers, validate)); | ||
}); | ||
@@ -44,2 +53,2 @@ }); | ||
} | ||
module.exports = koasParameters; | ||
exports.parameters = parameters; |
{ | ||
"name": "koas-parameters", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"keywords": [ | ||
@@ -29,7 +29,15 @@ "koa", | ||
"dependencies": { | ||
"openapi-types": "^1.3.5" | ||
"openapi-types": "^7.0.1" | ||
}, | ||
"devDependencies": { | ||
"axios-test-instance": "^3.1.1", | ||
"koa": "^2.13.0" | ||
}, | ||
"peerDependencies": { | ||
"koa": "^2", | ||
"koas-core": "^0.3.0" | ||
}, | ||
"engines": { | ||
"node": ">=12.0.0" | ||
} | ||
} |
@@ -16,4 +16,4 @@ # Koas Operations | ||
const Koa = require('koa'); | ||
const koas = require('koas-core'); | ||
const koasParameters = require('koas-parameters'); | ||
const { koas } = require('koas-core'); | ||
const { parameters } = require('koas-parameters'); | ||
@@ -26,5 +26,5 @@ const api = require('./api.json'); | ||
await koas(api, [ | ||
koasParameters({ | ||
parameters({ | ||
parsers: { | ||
// | ||
// Additional parsers | ||
}, | ||
@@ -31,0 +31,0 @@ }), |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
10163
240
3
2
1
+ Addedopenapi-types@7.2.3(transitive)
Updatedopenapi-types@^7.0.1