UNPKG

@themost/data

Version:

MOST Web Framework Codename Blueshift - Data module

128 lines (101 loc) 3.87 kB
// MOST Web Framework 2.0 Codename Blueshift BSD-3-Clause license Copyright (c) 2017-2022, THEMOST LP All rights reserved import {ConfigurationBase, ConfigurationStrategy} from "@themost/common"; export declare interface DataTypePropertiesConfiguration { pattern?: string; patternMessage?: string; minValue?: any; maxValue?: any; } export declare interface DataTypeConfiguration { comment?: string; properties?: DataTypeConfiguration; label?: string; url?: string; type?: string; sqltype?: string; instances?: Array<any>; supertypes?: Array<string>; version: string; } export declare interface DataAdapterConfiguration { name: string; invariantName: string; default?: boolean; options: any; } export declare interface DataAdapterTypeConfiguration { name: string; invariantName: string; type: string; } export declare interface AuthSettingsConfiguration { name: string; unattendedExecutionAccount: string; timeout?: number; slidingExpiration: boolean; loginPage?: string; } export declare type DataAdapterConstructor<T> = Function & { prototype: T }; export declare interface CreateDataAdapterInstance { name: string; invariantName?: string; createInstance?(options: any): any; } export declare interface DataAdapterType { name: string; invariantName?: string; type?: DataAdapterConstructor<any>; } export declare class DataConfiguration { constructor(configPathOrSource?: string | unknown); static getCurrent(): DataConfiguration; static setCurrent(config: DataConfiguration): DataConfiguration; static getNamedConfiguration(name: string): DataConfiguration; } export declare class DataConfigurationStrategy extends ConfigurationStrategy{ constructor(config:ConfigurationBase); static getCurrent(): DataConfigurationStrategy; readonly dataTypes: Map<string, DataTypeConfiguration>; readonly adapters: Array<DataAdapterConfiguration>; readonly adapterTypes: Map<string, (DataAdapterType | CreateDataAdapterInstance)>; getAuthSettings(): AuthSettingsConfiguration; getAdapterType(invariantName: string): DataAdapterTypeConfiguration; hasDataType(name: string): boolean; getModelDefinition(name: string): any; setModelDefinition(data: any): DataConfigurationStrategy; model(name: string): any; } export declare abstract class SchemaLoaderStrategy extends ConfigurationStrategy { constructor(config:ConfigurationBase); getModelDefinition(name: string): any; setModelDefinition(data: any): SchemaLoaderStrategy; getModels(): Array<string>; abstract readSync(): Array<string>; } export declare interface SchemaLoaderType { loaderType?: string; options?: any; } export declare interface DefaultSchemaLoaderStrategyOptions { usePlural?: boolean; loaders?: Array<SchemaLoaderType> } export declare class FileSchemaLoaderStrategy extends SchemaLoaderStrategy { readSync(): string[]; getModelPath(): string; setModelPath(p: string): FileSchemaLoaderStrategy; } export declare class DefaultSchemaLoaderStrategy extends FileSchemaLoaderStrategy { options: DefaultSchemaLoaderStrategyOptions; loaders: Array<SchemaLoaderStrategy>; } export declare type DataObjectConstructor<T> = Function & { prototype: T }; export declare abstract class ModelClassLoaderStrategy extends ConfigurationStrategy { abstract resolve(model: any): DataObjectConstructor<any>; } export declare class DefaultModelClassLoaderStrategy extends ModelClassLoaderStrategy { resolve(model: any): DataObjectConstructor<any>; } export declare function getCurrent(): DataConfiguration; export declare function setCurrent(config: DataConfiguration): DataConfiguration; export declare function getNamedConfiguration(name: string): DataConfiguration;