-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdata-configuration.d.ts
More file actions
127 lines (101 loc) · 3.78 KB
/
data-configuration.d.ts
File metadata and controls
127 lines (101 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// 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;