
The change converts the following files to typescript: * elements/core/gr-router/gr-router.ts Change-Id: I827da7e6ed664b3d2188a849b863cf53c5844758
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright (C) 2020 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
import 'page/page';
|
|
|
|
// Reexport page.js. To make it work, karma, server.go and rollup patch
|
|
// page.js and replace "this" to "window". Otherwise, it can't assign global
|
|
// property. We can't import page.mjs because typescript doesn't support mjs
|
|
// extensions
|
|
export interface Page {
|
|
(pattern: string | RegExp, ...pageCallback: PageCallback[]): void;
|
|
(pageCallback: PageCallback): void;
|
|
show(url: string): void;
|
|
redirect(url: string): void;
|
|
base(url: string): void;
|
|
start(): void;
|
|
exit(pattern: string | RegExp, ...pageCallback: PageCallback[]): void;
|
|
}
|
|
|
|
// See https://visionmedia.github.io/page.js/ for details
|
|
export interface PageContext {
|
|
save(): void;
|
|
handled: boolean;
|
|
canonicalPath: string;
|
|
path: string;
|
|
querystring: string;
|
|
pathname: string;
|
|
state: unknown;
|
|
title: string;
|
|
hash: string;
|
|
params: {[paramIndex: string]: string};
|
|
}
|
|
|
|
export type PageNextCallback = () => void;
|
|
|
|
export type PageCallback = (
|
|
context: PageContext,
|
|
next: PageNextCallback
|
|
) => void;
|
|
|
|
export const page = window['page'] as Page;
|