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..534d12084 --- /dev/null +++ b/traverson/traverson.d.ts @@ -0,0 +1,60 @@ +// Type definitions for Traverson v2.0.1 +// Project: https://github.com/basti1302/traverson +// 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(data: any, callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + put(data: any, callback: (err: any, document: any, traversal?: Traversal) => void): InAction; + patch(data: any, 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; +}