Merge pull request #5164 from marcinporebski/master

Traverson
This commit is contained in:
Masahiro Wakame
2015-08-03 23:04:56 +09:00
2 changed files with 79 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
/// <reference path="traverson.d.ts" />
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) {
///
});
});
}
+60
View File
@@ -0,0 +1,60 @@
// Type definitions for Traverson v2.0.1
// Project: https://github.com/basti1302/traverson
// Definitions by: Marcin Porębski <https://github.com/marcinporebski/>
// 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;
}