diff --git a/rison/rison-tests.ts b/rison/rison-tests.ts new file mode 100644 index 0000000000..ecdbaf29e5 --- /dev/null +++ b/rison/rison-tests.ts @@ -0,0 +1,15 @@ +/// + +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("test:1"); + +rison.decode_array("1,2,1337"); \ No newline at end of file diff --git a/rison/rison.d.ts b/rison/rison.d.ts new file mode 100644 index 0000000000..3f202b3745 --- /dev/null +++ b/rison/rison.d.ts @@ -0,0 +1,57 @@ +// Type definitions for Rison +// Project: https://github.com/Nanonid/rison +// Definitions by: Andrei Kurosh +// 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(obj: T): string; + + /** + * Rison-encodes a javascript array without surrounding parens (A-Rison). + * @param obj Object to encode. + * @returns {} Encoded string. + */ + encode_array(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(encoded: string): T; + + /** + * Parses a O-Rison string into a javascript object. + * @param encoded Encoded string. + * @returns {} Resulting object. + */ + decode_object(encoded: string): T; + + /** + * Parses a A-Rison string into a javascript array. + * @param encoded Encoded string. + * @returns {} Resulting array. + */ + decode_array(encoded: string): T[]; +} \ No newline at end of file