@ribajs/router
Version:
Routing extension for Riba.js inspired by Barba.js
29 lines • 2.16 kB
JavaScript
import { HideShowTransition } from "./Transition/HideShowTransition.js";
export class RouterService {
static _options;
static instance;
static get options() {
return this._options;
}
constructor() {
}
static getSingleton() {
if (this.instance) {
return this.instance;
}
throw new Error(`Singleton of RouterService not defined, please call setSingleton first!`);
}
static setSingleton(options = {}) {
if (this.instance) {
console.warn(`Singleton of RouterService already defined!`);
return this.instance;
}
options.defaultTransition =
options.defaultTransition ?? new HideShowTransition();
options.scrollToAnchorOffset = options.scrollToAnchorOffset ?? 0;
this._options = options;
this.instance = new this();
return this.instance;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFeEUsTUFBTSxPQUFPLGFBQWE7SUFDZCxNQUFNLENBQUMsUUFBUSxDQUFzQjtJQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFpQjtJQUVoQyxNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEO0lBRUEsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYix5RUFBeUUsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQXdDLEVBQUU7UUFDbkUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxDQUFDLGlCQUFpQjtZQUN2QixPQUFPLENBQUMsaUJBQWlCLElBQUksSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBOEIsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiJ9