diff --git a/jsend/jsend-tests.ts b/jsend/jsend-tests.ts new file mode 100644 index 0000000000..72598c904b --- /dev/null +++ b/jsend/jsend-tests.ts @@ -0,0 +1,10 @@ +/// + +import jsend = require('jsend'); + +var valid: boolean = jsend.isValid({ status: 'success' }); + +var success = jsend.success('data'); +var error = jsend.error('some error'); +error = jsend.error({ message: 'nessage', code: 123 }); + diff --git a/jsend/jsend.d.ts b/jsend/jsend.d.ts new file mode 100644 index 0000000000..4c87aad340 --- /dev/null +++ b/jsend/jsend.d.ts @@ -0,0 +1,46 @@ +// Type definitions for jsend 1.0.2 +// Project: https://github.com/Prestaul/jsend +// Definitions by: Federico Caselli +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module Express { + export interface Response { + jsend: jsend.jsendExpress; + } +} + +declare module jsend { + interface JSendObject { + status: string; + code?: number; + data?: any; + message?: string; + } + + interface jsendCore { + success(data: Object): JSendObject; + fail(data: Object): JSendObject; + error(message: string | { message: string, code?: number, data?: Object }): JSendObject; + } + + interface jsendExpress extends jsendCore { + (err: string | Object, json?: Object): void + } + + interface jsend extends jsendCore { + isValid(json: Object): boolean; + forward(json: Object, done: (err: any, data: any) => any):void; + fromArguments(err: string | Object, json?: Object): JSendObject; + middleware(req: any, res: any, next: Function): any; + } + + interface jsendExport extends jsend { + (config?: { strict: boolean }, host?: Object): jsend + } + var jsend: jsendExport; +} + +declare module "jsend" { + export = jsend.jsend; +} +