mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
52 lines
1.1 KiB
TypeScript
52 lines
1.1 KiB
TypeScript
import { Config as CoreConfig, IonicConfig } from '@ionic/core';
|
|
import { InjectionToken } from '@angular/core';
|
|
import { IonicWindow } from '../types/interfaces';
|
|
|
|
|
|
export class Config {
|
|
|
|
get(key: keyof IonicConfig, fallback?: any): any {
|
|
const c = getConfig();
|
|
if (c) {
|
|
return c.get(key, fallback);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
getBoolean(key: keyof IonicConfig, fallback?: boolean): boolean {
|
|
const c = getConfig();
|
|
if (c) {
|
|
return c.getBoolean(key, fallback);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
getNumber(key: keyof IonicConfig, fallback?: number): number {
|
|
const c = getConfig();
|
|
if (c) {
|
|
return c.getNumber(key, fallback);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
set(key: keyof IonicConfig, value?: any) {
|
|
const c = getConfig();
|
|
if (c) {
|
|
c.set(key, value);
|
|
}
|
|
}
|
|
}
|
|
|
|
export const ConfigToken = new InjectionToken<any>('USERCONFIG');
|
|
|
|
function getConfig(): CoreConfig | null {
|
|
const win: IonicWindow = window as any;
|
|
if (typeof win !== 'undefined') {
|
|
const Ionic = win.Ionic;
|
|
if (Ionic && Ionic.config) {
|
|
return Ionic.config;
|
|
}
|
|
}
|
|
return null;
|
|
}
|