From a0c689f1b7c0d46e66677c77bdabe16412650101 Mon Sep 17 00:00:00 2001 From: Christian Holm Diget Date: Thu, 1 Oct 2015 09:51:10 +0200 Subject: [PATCH] Added satnav --- satnav/satnav-tests.ts | 18 ++++++++++++++++++ satnav/satnav.d.ts | 22 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 satnav/satnav-tests.ts create mode 100644 satnav/satnav.d.ts diff --git a/satnav/satnav-tests.ts b/satnav/satnav-tests.ts new file mode 100644 index 000000000..6382c0481 --- /dev/null +++ b/satnav/satnav-tests.ts @@ -0,0 +1,18 @@ +/// +Satnav({}) +.navigate({ + path: 'product/{required}/?{optional}', + directions: (params) => { + // Logic for product route + console.log(params.required); + console.log(params.hasOwnProperty('optional')); + } +}) +.otherwise('/product/1') +.change(function (hash, params, old) { + // Logic for any change + console.log(hash); + console.log(params); + console.log(old); +}) +.go(); //Resolve current route \ No newline at end of file diff --git a/satnav/satnav.d.ts b/satnav/satnav.d.ts new file mode 100644 index 000000000..a6eee950d --- /dev/null +++ b/satnav/satnav.d.ts @@ -0,0 +1,22 @@ +declare type Callback = () => void; + +interface ISatnavOptions { + html5?: boolean, + force?: boolean, + poll?: number +} + +interface INavigationOptions { + path?: string, + directions?: (params : any) => any, + title?: string | Callback +} + +interface ISatnav { + navigate(navigationOptions: INavigationOptions): ISatnav; + otherwise(route: string): ISatnav; + change(onChange: (hash: string, params: any, old: any) => any): ISatnav; + go(): ISatnav; +} + +declare function Satnav(options?: ISatnavOptions): ISatnav; \ No newline at end of file