Merge pull request #9917 from impworks/master

Definitions for Rison.
This commit is contained in:
Mohamed Hegazy
2016-07-01 13:03:40 -07:00
committed by GitHub
2 changed files with 72 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
/// <reference path="rison.d.ts" />
rison.encode({hello: "world"});
rison.encode_object({hello: "1", world: 2});
rison.encode_array([1, 2, "test"]);
rison.encode_uri({hello: "world"});
rison.decode("{test:1}");
rison.decode_object<any>("test:1");
rison.decode_array<number>("1,2,1337");
+57
View File
@@ -0,0 +1,57 @@
// Type definitions for Rison
// Project: https://github.com/Nanonid/rison
// Definitions by: Andrei Kurosh <https://github.com/impworks>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare var rison: IRison;
interface IRison {
/**
* Rison-encodes a javascript structure.
* @param obj Object to encode.
* @returns {} Encoded string.
*/
encode(obj: any): string;
/**
* Rison-encodes a javascript object without surrounding parens (O-Rison).
* @param obj Object to encode.
* @returns {} Encoded string.
*/
encode_object<T>(obj: T): string;
/**
* Rison-encodes a javascript array without surrounding parens (A-Rison).
* @param obj Object to encode.
* @returns {} Encoded string.
*/
encode_array<T>(arr: T[]): string;
/**
* Rison-encodes and then url-escapes a javascript structure.
* @param obj Object to encode.
* @returns {} Encoded string.
*/
encode_uri(obj: any): string;
/**
* Parses a Rison string into a javascript structure.
* @param encoded Encoded string.
* @returns {} Resulting array or object.
*/
decode<T>(encoded: string): T;
/**
* Parses a O-Rison string into a javascript object.
* @param encoded Encoded string.
* @returns {} Resulting object.
*/
decode_object<T>(encoded: string): T;
/**
* Parses a A-Rison string into a javascript array.
* @param encoded Encoded string.
* @returns {} Resulting array.
*/
decode_array<T>(encoded: string): T[];
}