From ab8808f2ed70e4f6a4c794924cc4a64e11b3ba9f Mon Sep 17 00:00:00 2001 From: Marcin Porebski Date: Fri, 31 Jul 2015 19:30:26 +0200 Subject: [PATCH] traverson definitions --- traverson/traverson-tests.ts | 19 ++++++++++++ traverson/traverson.d.ts | 60 ++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 traverson/traverson-tests.ts create mode 100644 traverson/traverson.d.ts diff --git a/traverson/traverson-tests.ts b/traverson/traverson-tests.ts new file mode 100644 index 000000000..0aceced33 --- /dev/null +++ b/traverson/traverson-tests.ts @@ -0,0 +1,19 @@ +/// + +import traverson = require('traverson'); + +function testTraverson() +{ + var mediaTypeHandler: any = {}; + + traverson.registerMediaType('application/some-fancy+json', mediaTypeHandler); + + traverson.from('http://example.api.com/') + .follow('link_to') + .withTemplateParameters({'id': 1}) + .get(function(error, document, traversal) { + traversal.continue().follow('link_back').get(function(error, document, traversal) { + /// + }); + }); +} diff --git a/traverson/traverson.d.ts b/traverson/traverson.d.ts new file mode 100644 index 000000000..8a8755091 --- /dev/null +++ b/traverson/traverson.d.ts @@ -0,0 +1,60 @@ +// Type definitions for Traverson v2.0.1 +// Project: http://github.com/iriscouch/traceback +// Definitions by: Marcin Porębski +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module Traverson +{ + interface TraversonMethods + { + from(uri: string): Builder; + registerMediaType(name: string, handler: any): TraversonMethods; + } + + interface Builder + { + withRequestOptions(options: any): Builder; + withTemplateParameters(parameters: any): Builder; + json(): Builder; + jsonHal(): Builder; + + setMediaType(type_name: string): Builder; + + follow(first_pattern: string, ... rest_patterns: string[]): Builder; + + get(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + getResource(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + getUrl(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + post(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + put(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + patch(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + delete(callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + + newRequest(): Builder; + } + + interface Json + { + parseJson(): any; + } + + interface Traversal + { + continue(): Builder; + } + + interface InAction + { + abort(): void; + } + + + +} + +declare module "traverson" +{ + var traverson: Traverson.TraversonMethods; + + export = traverson; +}