@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
53 lines • 1.91 kB
TypeScript
import { JSONValue } from '@phosphor/coreutils';
import { IJSONSchema } from '../json-schema';
import { PreferenceScope } from './preference-scope';
export interface PreferenceSchema {
[name: string]: any;
scope?: 'application' | 'window' | 'resource' | PreferenceScope;
overridable?: boolean;
properties: PreferenceSchemaProperties;
}
export declare namespace PreferenceSchema {
function is(obj: unknown): obj is PreferenceSchema;
function getDefaultScope(schema: PreferenceSchema): PreferenceScope;
}
export interface PreferenceSchemaProperties {
[name: string]: PreferenceSchemaProperty;
}
export declare namespace PreferenceSchemaProperties {
function is(obj: unknown): obj is PreferenceSchemaProperties;
}
export interface PreferenceDataSchema {
[name: string]: any;
scope?: PreferenceScope;
properties: {
[name: string]: PreferenceDataProperty;
};
patternProperties: {
[name: string]: PreferenceDataProperty;
};
}
export interface PreferenceItem extends IJSONSchema {
/**
* preference default value, if `undefined` then `default`
*/
defaultValue?: JSONValue;
overridable?: boolean;
included?: boolean;
[key: string]: any;
}
export interface PreferenceSchemaProperty extends PreferenceItem {
description?: string;
markdownDescription?: string;
scope?: 'application' | 'machine' | 'window' | 'resource' | 'language-overridable' | 'machine-overridable' | PreferenceScope;
}
export interface PreferenceDataProperty extends PreferenceItem {
description?: string;
markdownDescription?: string;
scope?: PreferenceScope;
typeDetails?: any;
}
export declare namespace PreferenceDataProperty {
function fromPreferenceSchemaProperty(schemaProps: PreferenceSchemaProperty, defaultScope?: PreferenceScope): PreferenceDataProperty;
}
//# sourceMappingURL=preference-schema.d.ts.map