From fb069179afbfb93c34e4c1e3ff5df81278ac3a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20D=C3=BC=C3=BCna?= Date: Tue, 14 Jul 2015 15:27:35 +0300 Subject: [PATCH] easy-jsend --- easy-jsend/easy-jsend-tests.ts | 49 ++++++++++++++++++++++++++++++++++ easy-jsend/easy-jsend.d.ts | 38 ++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 easy-jsend/easy-jsend-tests.ts create mode 100644 easy-jsend/easy-jsend.d.ts diff --git a/easy-jsend/easy-jsend-tests.ts b/easy-jsend/easy-jsend-tests.ts new file mode 100644 index 000000000..9d7814254 --- /dev/null +++ b/easy-jsend/easy-jsend-tests.ts @@ -0,0 +1,49 @@ +/// +/// + +import mongoose = require('mongoose'); +import express = require('express'); +import jSend = require('easy-jsend'); + +var schema = new mongoose.Schema({ + name: {type: String} +}); + +var Model = mongoose.model('model', schema); + +jSend.init({partial: true}); + +var app = express(); + +app.get('/success', function (req, res, next) { + res.success('Success'); +}); + +app.get('/fail', function (req, res, next) { + res.fail('fail'); +}); + +app.get('/error', function (req, res, next) { + res.error('error'); +}); + +app.get('/partial', function (req, res, next) { + res.partial({ + offset: 10, + limit: 50, + count: 100, + data: [] + }); +}); + +app.get('/partial', function (req, res, next) { + res.makePartial({ + model: Model, + search: {}, + opts: { + limit: 30, + skip: 10 + }, + result: [] + }); +}); \ No newline at end of file diff --git a/easy-jsend/easy-jsend.d.ts b/easy-jsend/easy-jsend.d.ts new file mode 100644 index 000000000..21a9bc11e --- /dev/null +++ b/easy-jsend/easy-jsend.d.ts @@ -0,0 +1,38 @@ +// Type definitions for easy-jsend +// Project: https://github.com/DeadAlready/easy-jsend +// Definitions by: Karl Düüna +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module Express { + + interface MakePartialInput { + model:any; + opts: { + limit: number; + skip: number; + }; + search: Object; + result: any; + } + + interface PartialInput { + limit?: number; + offset: number; + count: number; + data: any; + } + + export interface Response { + success (data?: any, status?: number): void; + fail (data: any, status?: number): void; + error (err: any): void; + partial? (data: PartialInput, status?: number): void; + makePartial? (data: MakePartialInput): void; + } +} + +declare module "easy-jsend" { + export function init(conf?:{partial:boolean}): void; +} \ No newline at end of file