diff --git a/statuses/statuses-tests.ts b/statuses/statuses-tests.ts new file mode 100644 index 0000000000..a55a706fff --- /dev/null +++ b/statuses/statuses-tests.ts @@ -0,0 +1,33 @@ +/// + +import status = require('statuses'); + +var code: number; + +code = status(403) // => 403 +code = status('403') // => 403 +code = status('forbidden') // => 403 +code = status('Forbidden') // => 403 +code = status(306) // throws, as it's not supported by node.js + +var codes: Array; +codes = status.codes; + +var msg: string; +msg = status[404] // => 'Not Found' + +code = status['not found'] // => 404 +code = status['Not Found'] // => 404 + +var isRedirect: boolean; +isRedirect = status.redirect[200] // => undefined +isRedirect = status.redirect[301] // => true + +var isEmpty: boolean; +isEmpty = status.empty[200] // => undefined +isEmpty = status.empty[204] // => true +isEmpty = status.empty[304] // => true + +var isRetry: boolean; +isRetry = status.retry[501] // => undefined +isRetry = status.retry[503] // => true diff --git a/statuses/statuses.d.ts b/statuses/statuses.d.ts new file mode 100644 index 0000000000..7aacc2f614 --- /dev/null +++ b/statuses/statuses.d.ts @@ -0,0 +1,21 @@ +// Type definitions for http-errors v1.2.1 +// Project: https://github.com/jshttp/statuses +// Definitions by: Tanguy Krotoff +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module 'statuses' { + interface Status { + [code: number]: string; + [msg: string]: any | number; + + codes: Array; + redirect: {[code: number]: boolean}; + empty: {[code: number]: boolean}; + retry: {[code: number]: boolean}; + + (code: number | string): number; + } + + var status: Status; + export = status; +}