udbx4ts 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +250 -0
- package/dist/UdbxDataSource-dOqTLN6v.d.cts +387 -0
- package/dist/UdbxDataSource-dOqTLN6v.d.ts +387 -0
- package/dist/index.cjs +3101 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +151 -0
- package/dist/index.d.ts +151 -0
- package/dist/index.js +3009 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime-browser/index.cjs +4101 -0
- package/dist/runtime-browser/index.cjs.map +1 -0
- package/dist/runtime-browser/index.d.cts +242 -0
- package/dist/runtime-browser/index.d.ts +242 -0
- package/dist/runtime-browser/index.js +4047 -0
- package/dist/runtime-browser/index.js.map +1 -0
- package/dist/runtime-electron/index.cjs +2962 -0
- package/dist/runtime-electron/index.cjs.map +1 -0
- package/dist/runtime-electron/index.d.cts +20 -0
- package/dist/runtime-electron/index.d.ts +20 -0
- package/dist/runtime-electron/index.js +2926 -0
- package/dist/runtime-electron/index.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
type DatasetKind = "point" | "line" | "region" | "tabular" | "pointZ" | "lineZ" | "regionZ" | "text" | "cad";
|
|
2
|
+
|
|
3
|
+
interface DatasetInfo {
|
|
4
|
+
readonly id: number;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly kind: DatasetKind;
|
|
7
|
+
readonly tableName: string;
|
|
8
|
+
readonly srid: number | null;
|
|
9
|
+
readonly objectCount: number;
|
|
10
|
+
readonly geometryType: number | null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface GeometryBase {
|
|
14
|
+
readonly srid?: number;
|
|
15
|
+
readonly bbox?: readonly [number, number, number, number];
|
|
16
|
+
readonly hasZ?: boolean;
|
|
17
|
+
readonly geoType?: number;
|
|
18
|
+
}
|
|
19
|
+
interface PointGeometry extends GeometryBase {
|
|
20
|
+
readonly type: "Point";
|
|
21
|
+
readonly coordinates: [number, number] | [number, number, number];
|
|
22
|
+
}
|
|
23
|
+
interface MultiLineStringGeometry extends GeometryBase {
|
|
24
|
+
readonly type: "MultiLineString";
|
|
25
|
+
readonly coordinates: ReadonlyArray<ReadonlyArray<readonly [number, number]>> | ReadonlyArray<ReadonlyArray<readonly [number, number, number]>>;
|
|
26
|
+
}
|
|
27
|
+
interface MultiPolygonGeometry extends GeometryBase {
|
|
28
|
+
readonly type: "MultiPolygon";
|
|
29
|
+
readonly coordinates: ReadonlyArray<ReadonlyArray<ReadonlyArray<readonly [number, number]>>> | ReadonlyArray<ReadonlyArray<ReadonlyArray<readonly [number, number, number]>>>;
|
|
30
|
+
}
|
|
31
|
+
interface CadGeometry extends GeometryBase {
|
|
32
|
+
readonly type: "Cad";
|
|
33
|
+
readonly coordinates: readonly number[];
|
|
34
|
+
}
|
|
35
|
+
interface TextGeometry extends GeometryBase {
|
|
36
|
+
readonly type: "Text";
|
|
37
|
+
readonly text: string;
|
|
38
|
+
readonly x: number;
|
|
39
|
+
readonly y: number;
|
|
40
|
+
readonly rotation?: number;
|
|
41
|
+
}
|
|
42
|
+
type Geometry = PointGeometry | MultiLineStringGeometry | MultiPolygonGeometry | CadGeometry | TextGeometry;
|
|
43
|
+
|
|
44
|
+
interface Feature<TGeometry extends Geometry = Geometry, TAttributes extends Record<string, unknown> = Record<string, unknown>> {
|
|
45
|
+
readonly id: number;
|
|
46
|
+
readonly geometry: TGeometry;
|
|
47
|
+
readonly attributes: TAttributes;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
type FieldType = "boolean" | "byte" | "int16" | "int32" | "int64" | "single" | "double" | "date" | "binary" | "geometry" | "char" | "ntext" | "text" | "time";
|
|
51
|
+
|
|
52
|
+
interface FieldInfo {
|
|
53
|
+
readonly name: string;
|
|
54
|
+
readonly fieldType: FieldType;
|
|
55
|
+
readonly alias?: string;
|
|
56
|
+
readonly required?: boolean;
|
|
57
|
+
readonly nullable?: boolean;
|
|
58
|
+
readonly defaultValue?: unknown;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface QueryOptions {
|
|
62
|
+
readonly ids?: readonly number[];
|
|
63
|
+
readonly limit?: number;
|
|
64
|
+
readonly offset?: number;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
interface TabularRecord<TAttributes extends Record<string, unknown> = Record<string, unknown>> {
|
|
68
|
+
readonly id: number;
|
|
69
|
+
readonly attributes: TAttributes;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type SqlValue = null | string | number | bigint | Uint8Array | ArrayBuffer;
|
|
73
|
+
type SqlOpenTarget = {
|
|
74
|
+
readonly kind: "file";
|
|
75
|
+
readonly path: string;
|
|
76
|
+
} | {
|
|
77
|
+
readonly kind: "buffer";
|
|
78
|
+
readonly data: Uint8Array;
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: "opfs";
|
|
81
|
+
readonly path: string;
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: "memory";
|
|
84
|
+
readonly name?: string;
|
|
85
|
+
};
|
|
86
|
+
interface SqlStatement {
|
|
87
|
+
bind(params?: readonly SqlValue[]): Promise<void>;
|
|
88
|
+
step(): Promise<boolean>;
|
|
89
|
+
getRow<T = Record<string, unknown>>(): Promise<T>;
|
|
90
|
+
reset(): Promise<void>;
|
|
91
|
+
finalize(): Promise<void>;
|
|
92
|
+
}
|
|
93
|
+
interface SqlDriver {
|
|
94
|
+
open(target: SqlOpenTarget): Promise<void>;
|
|
95
|
+
close(): Promise<void>;
|
|
96
|
+
exec(sql: string): Promise<void>;
|
|
97
|
+
prepare(sql: string): Promise<SqlStatement>;
|
|
98
|
+
transaction<T>(operation: () => Promise<T>): Promise<T>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
declare class SmFieldInfoRepository {
|
|
102
|
+
private readonly driver;
|
|
103
|
+
constructor(driver: SqlDriver);
|
|
104
|
+
findByDatasetId(datasetId: number): Promise<readonly FieldInfo[]>;
|
|
105
|
+
insertAll(datasetId: number, fields: readonly FieldInfo[]): Promise<void>;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
interface Dataset {
|
|
109
|
+
readonly info: DatasetInfo;
|
|
110
|
+
getFields(): Promise<readonly FieldInfo[]>;
|
|
111
|
+
}
|
|
112
|
+
interface ReadableDataset<TFeature extends Feature = Feature> extends Dataset {
|
|
113
|
+
getById(id: number): Promise<TFeature | null>;
|
|
114
|
+
list(options?: QueryOptions): Promise<readonly TFeature[]>;
|
|
115
|
+
iterate(options?: QueryOptions): AsyncIterable<TFeature>;
|
|
116
|
+
count(): Promise<number>;
|
|
117
|
+
}
|
|
118
|
+
interface WritableDataset<TFeature extends Feature = Feature> extends ReadableDataset<TFeature> {
|
|
119
|
+
insert(feature: TFeature): Promise<void>;
|
|
120
|
+
insertMany(features: Iterable<TFeature> | AsyncIterable<TFeature>): Promise<void>;
|
|
121
|
+
update(id: number, changes: {
|
|
122
|
+
geometry?: TFeature["geometry"];
|
|
123
|
+
attributes?: Partial<TFeature["attributes"]>;
|
|
124
|
+
}): Promise<void>;
|
|
125
|
+
delete(id: number): Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
declare abstract class BaseDataset implements Dataset {
|
|
129
|
+
protected readonly driver: SqlDriver;
|
|
130
|
+
readonly info: DatasetInfo;
|
|
131
|
+
protected readonly fieldInfoRepository: SmFieldInfoRepository;
|
|
132
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
133
|
+
getFields(): Promise<readonly FieldInfo[]>;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
type CadFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = {
|
|
137
|
+
readonly id: number;
|
|
138
|
+
readonly geometry: CadGeometry;
|
|
139
|
+
readonly attributes: TAttributes;
|
|
140
|
+
};
|
|
141
|
+
declare class CadDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<CadFeature<TAttributes>> {
|
|
142
|
+
getById(): Promise<CadFeature<TAttributes> | null>;
|
|
143
|
+
list(): Promise<readonly CadFeature<TAttributes>[]>;
|
|
144
|
+
iterate(): AsyncIterable<CadFeature<TAttributes>>;
|
|
145
|
+
count(): Promise<number>;
|
|
146
|
+
insert(): Promise<void>;
|
|
147
|
+
insertMany(): Promise<void>;
|
|
148
|
+
update(): Promise<void>;
|
|
149
|
+
delete(): Promise<void>;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
declare class SmRegisterRepository {
|
|
153
|
+
private readonly driver;
|
|
154
|
+
constructor(driver: SqlDriver);
|
|
155
|
+
findAll(): Promise<readonly DatasetInfo[]>;
|
|
156
|
+
findByName(name: string): Promise<DatasetInfo | null>;
|
|
157
|
+
nextDatasetId(): Promise<number>;
|
|
158
|
+
insert(params: {
|
|
159
|
+
readonly name: string;
|
|
160
|
+
readonly kind: DatasetKind;
|
|
161
|
+
readonly srid: number;
|
|
162
|
+
readonly idColumnName: string;
|
|
163
|
+
readonly geometryColumnName: string | null;
|
|
164
|
+
}): Promise<number>;
|
|
165
|
+
incrementObjectCount(datasetId: number, geometrySize?: number): Promise<void>;
|
|
166
|
+
incrementObjectCountBatch(datasetId: number, count: number, maxGeometrySize: number): Promise<void>;
|
|
167
|
+
decrementObjectCount(datasetId: number): Promise<void>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
type LineFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<MultiLineStringGeometry, TAttributes>;
|
|
171
|
+
declare class LineDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<LineFeature<TAttributes>> {
|
|
172
|
+
private readonly registerRepository;
|
|
173
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
174
|
+
getById(id: number): Promise<LineFeature<TAttributes> | null>;
|
|
175
|
+
list(options?: QueryOptions): Promise<readonly LineFeature<TAttributes>[]>;
|
|
176
|
+
iterate(options?: QueryOptions): AsyncIterable<LineFeature<TAttributes>>;
|
|
177
|
+
insert(feature: LineFeature<TAttributes>): Promise<void>;
|
|
178
|
+
insertMany(features: Iterable<LineFeature<TAttributes>> | AsyncIterable<LineFeature<TAttributes>>): Promise<void>;
|
|
179
|
+
count(): Promise<number>;
|
|
180
|
+
update(id: number, changes: {
|
|
181
|
+
geometry?: MultiLineStringGeometry;
|
|
182
|
+
attributes?: Partial<TAttributes>;
|
|
183
|
+
}): Promise<void>;
|
|
184
|
+
delete(id: number): Promise<void>;
|
|
185
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
186
|
+
readonly name: string;
|
|
187
|
+
readonly srid: number;
|
|
188
|
+
readonly fields?: readonly FieldInfo[];
|
|
189
|
+
}): Promise<LineDataset>;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
type LineZFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<MultiLineStringGeometry, TAttributes>;
|
|
193
|
+
declare class LineZDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<LineZFeature<TAttributes>> {
|
|
194
|
+
private readonly registerRepository;
|
|
195
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
196
|
+
getById(id: number): Promise<LineZFeature<TAttributes> | null>;
|
|
197
|
+
list(options?: QueryOptions): Promise<readonly LineZFeature<TAttributes>[]>;
|
|
198
|
+
iterate(options?: QueryOptions): AsyncIterable<LineZFeature<TAttributes>>;
|
|
199
|
+
count(): Promise<number>;
|
|
200
|
+
insert(feature: LineZFeature<TAttributes>): Promise<void>;
|
|
201
|
+
insertMany(features: Iterable<LineZFeature<TAttributes>> | AsyncIterable<LineZFeature<TAttributes>>): Promise<void>;
|
|
202
|
+
update(id: number, changes: {
|
|
203
|
+
geometry?: MultiLineStringGeometry;
|
|
204
|
+
attributes?: Partial<TAttributes>;
|
|
205
|
+
}): Promise<void>;
|
|
206
|
+
delete(id: number): Promise<void>;
|
|
207
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
208
|
+
readonly name: string;
|
|
209
|
+
readonly srid: number;
|
|
210
|
+
readonly fields?: readonly FieldInfo[];
|
|
211
|
+
}): Promise<LineZDataset>;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
type PointFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<PointGeometry, TAttributes>;
|
|
215
|
+
declare class PointDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<PointFeature<TAttributes>> {
|
|
216
|
+
private readonly registerRepository;
|
|
217
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
218
|
+
getById(id: number): Promise<PointFeature<TAttributes> | null>;
|
|
219
|
+
list(options?: QueryOptions): Promise<readonly PointFeature<TAttributes>[]>;
|
|
220
|
+
iterate(options?: QueryOptions): AsyncIterable<PointFeature<TAttributes>>;
|
|
221
|
+
insert(feature: PointFeature<TAttributes>): Promise<void>;
|
|
222
|
+
insertMany(features: Iterable<PointFeature<TAttributes>> | AsyncIterable<PointFeature<TAttributes>>): Promise<void>;
|
|
223
|
+
count(): Promise<number>;
|
|
224
|
+
update(id: number, changes: {
|
|
225
|
+
geometry?: PointGeometry;
|
|
226
|
+
attributes?: Partial<TAttributes>;
|
|
227
|
+
}): Promise<void>;
|
|
228
|
+
delete(id: number): Promise<void>;
|
|
229
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
230
|
+
readonly name: string;
|
|
231
|
+
readonly srid: number;
|
|
232
|
+
readonly fields?: readonly FieldInfo[];
|
|
233
|
+
}): Promise<PointDataset>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
type PointZFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<PointGeometry, TAttributes>;
|
|
237
|
+
declare class PointZDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<PointZFeature<TAttributes>> {
|
|
238
|
+
private readonly registerRepository;
|
|
239
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
240
|
+
getById(id: number): Promise<PointZFeature<TAttributes> | null>;
|
|
241
|
+
list(options?: QueryOptions): Promise<readonly PointZFeature<TAttributes>[]>;
|
|
242
|
+
iterate(options?: QueryOptions): AsyncIterable<PointZFeature<TAttributes>>;
|
|
243
|
+
count(): Promise<number>;
|
|
244
|
+
insert(feature: PointZFeature<TAttributes>): Promise<void>;
|
|
245
|
+
insertMany(features: Iterable<PointZFeature<TAttributes>> | AsyncIterable<PointZFeature<TAttributes>>): Promise<void>;
|
|
246
|
+
update(id: number, changes: {
|
|
247
|
+
geometry?: PointGeometry;
|
|
248
|
+
attributes?: Partial<TAttributes>;
|
|
249
|
+
}): Promise<void>;
|
|
250
|
+
delete(id: number): Promise<void>;
|
|
251
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
252
|
+
readonly name: string;
|
|
253
|
+
readonly srid: number;
|
|
254
|
+
readonly fields?: readonly FieldInfo[];
|
|
255
|
+
}): Promise<PointZDataset>;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
type RegionFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<MultiPolygonGeometry, TAttributes>;
|
|
259
|
+
declare class RegionDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<RegionFeature<TAttributes>> {
|
|
260
|
+
private readonly registerRepository;
|
|
261
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
262
|
+
getById(id: number): Promise<RegionFeature<TAttributes> | null>;
|
|
263
|
+
list(options?: QueryOptions): Promise<readonly RegionFeature<TAttributes>[]>;
|
|
264
|
+
iterate(options?: QueryOptions): AsyncIterable<RegionFeature<TAttributes>>;
|
|
265
|
+
insert(feature: RegionFeature<TAttributes>): Promise<void>;
|
|
266
|
+
insertMany(features: Iterable<RegionFeature<TAttributes>> | AsyncIterable<RegionFeature<TAttributes>>): Promise<void>;
|
|
267
|
+
count(): Promise<number>;
|
|
268
|
+
update(id: number, changes: {
|
|
269
|
+
geometry?: MultiPolygonGeometry;
|
|
270
|
+
attributes?: Partial<TAttributes>;
|
|
271
|
+
}): Promise<void>;
|
|
272
|
+
delete(id: number): Promise<void>;
|
|
273
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
274
|
+
readonly name: string;
|
|
275
|
+
readonly srid: number;
|
|
276
|
+
readonly fields?: readonly FieldInfo[];
|
|
277
|
+
}): Promise<RegionDataset>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
type RegionZFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = Feature<MultiPolygonGeometry, TAttributes>;
|
|
281
|
+
declare class RegionZDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<RegionZFeature<TAttributes>> {
|
|
282
|
+
private readonly registerRepository;
|
|
283
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
284
|
+
getById(id: number): Promise<RegionZFeature<TAttributes> | null>;
|
|
285
|
+
list(options?: QueryOptions): Promise<readonly RegionZFeature<TAttributes>[]>;
|
|
286
|
+
iterate(options?: QueryOptions): AsyncIterable<RegionZFeature<TAttributes>>;
|
|
287
|
+
count(): Promise<number>;
|
|
288
|
+
insert(feature: RegionZFeature<TAttributes>): Promise<void>;
|
|
289
|
+
insertMany(features: Iterable<RegionZFeature<TAttributes>> | AsyncIterable<RegionZFeature<TAttributes>>): Promise<void>;
|
|
290
|
+
update(id: number, changes: {
|
|
291
|
+
geometry?: MultiPolygonGeometry;
|
|
292
|
+
attributes?: Partial<TAttributes>;
|
|
293
|
+
}): Promise<void>;
|
|
294
|
+
delete(id: number): Promise<void>;
|
|
295
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
296
|
+
readonly name: string;
|
|
297
|
+
readonly srid: number;
|
|
298
|
+
readonly fields?: readonly FieldInfo[];
|
|
299
|
+
}): Promise<RegionZDataset>;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
interface TabularDatasetReadable {
|
|
303
|
+
readonly info: DatasetInfo;
|
|
304
|
+
getFields(): Promise<readonly FieldInfo[]>;
|
|
305
|
+
getById(id: number): Promise<TabularRecord | null>;
|
|
306
|
+
list(options?: QueryOptions): Promise<readonly TabularRecord[]>;
|
|
307
|
+
iterate(options?: QueryOptions): AsyncIterable<TabularRecord>;
|
|
308
|
+
count(): Promise<number>;
|
|
309
|
+
}
|
|
310
|
+
interface TabularDatasetWritable extends TabularDatasetReadable {
|
|
311
|
+
insert(record: TabularRecord): Promise<void>;
|
|
312
|
+
insertMany(records: Iterable<TabularRecord> | AsyncIterable<TabularRecord>): Promise<void>;
|
|
313
|
+
update(id: number, attributes: Record<string, unknown>): Promise<void>;
|
|
314
|
+
delete(id: number): Promise<void>;
|
|
315
|
+
}
|
|
316
|
+
declare class TabularDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements TabularDatasetWritable {
|
|
317
|
+
private readonly registerRepository;
|
|
318
|
+
constructor(driver: SqlDriver, info: DatasetInfo);
|
|
319
|
+
getById(id: number): Promise<TabularRecord<TAttributes> | null>;
|
|
320
|
+
list(options?: QueryOptions): Promise<readonly TabularRecord<TAttributes>[]>;
|
|
321
|
+
iterate(options?: QueryOptions): AsyncIterable<TabularRecord<TAttributes>>;
|
|
322
|
+
count(): Promise<number>;
|
|
323
|
+
insert(record: TabularRecord<TAttributes>): Promise<void>;
|
|
324
|
+
insertMany(records: Iterable<TabularRecord<TAttributes>> | AsyncIterable<TabularRecord<TAttributes>>): Promise<void>;
|
|
325
|
+
update(id: number, attributes: Record<string, unknown>): Promise<void>;
|
|
326
|
+
delete(id: number): Promise<void>;
|
|
327
|
+
static create(driver: SqlDriver, registerRepository: SmRegisterRepository, params: {
|
|
328
|
+
readonly name: string;
|
|
329
|
+
readonly fields?: readonly FieldInfo[];
|
|
330
|
+
}): Promise<TabularDataset>;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
type TextFeature<TAttributes extends Record<string, unknown> = Record<string, unknown>> = {
|
|
334
|
+
readonly id: number;
|
|
335
|
+
readonly geometry: TextGeometry;
|
|
336
|
+
readonly attributes: TAttributes;
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* 文本数据集实现(DatasetKind="text")。
|
|
340
|
+
*
|
|
341
|
+
* <p>对应白皮书 §3.1.5(文本数据集)。
|
|
342
|
+
*
|
|
343
|
+
* <p><b>TODO:</b> GeoText 二进制编解码器待实现。
|
|
344
|
+
*/
|
|
345
|
+
declare class TextDataset<TAttributes extends Record<string, unknown> = Record<string, unknown>> extends BaseDataset implements WritableDataset<TextFeature<TAttributes>> {
|
|
346
|
+
getById(): Promise<TextFeature<TAttributes> | null>;
|
|
347
|
+
list(_options?: QueryOptions): Promise<readonly TextFeature<TAttributes>[]>;
|
|
348
|
+
iterate(_options?: QueryOptions): AsyncIterable<TextFeature<TAttributes>>;
|
|
349
|
+
count(): Promise<number>;
|
|
350
|
+
insert(): Promise<void>;
|
|
351
|
+
insertMany(): Promise<void>;
|
|
352
|
+
update(): Promise<void>;
|
|
353
|
+
delete(): Promise<void>;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
type UdbxRuntime = "browser" | "electron" | "unknown";
|
|
357
|
+
type UdbxDataset = PointDataset | PointZDataset | LineDataset | LineZDataset | RegionDataset | RegionZDataset | TabularDataset | TextDataset | CadDataset;
|
|
358
|
+
declare class UdbxDataSource {
|
|
359
|
+
private readonly driver;
|
|
360
|
+
readonly runtime: UdbxRuntime;
|
|
361
|
+
private readonly registerRepository;
|
|
362
|
+
constructor(driver: SqlDriver, runtime?: UdbxRuntime);
|
|
363
|
+
static open(params: {
|
|
364
|
+
readonly driver: SqlDriver;
|
|
365
|
+
readonly target: SqlOpenTarget;
|
|
366
|
+
readonly runtime?: UdbxRuntime;
|
|
367
|
+
}): Promise<UdbxDataSource>;
|
|
368
|
+
static create(params: {
|
|
369
|
+
readonly driver: SqlDriver;
|
|
370
|
+
readonly target: SqlOpenTarget;
|
|
371
|
+
readonly runtime?: UdbxRuntime;
|
|
372
|
+
}): Promise<UdbxDataSource>;
|
|
373
|
+
listDatasets(): Promise<readonly DatasetInfo[]>;
|
|
374
|
+
getDataset(name: string): Promise<UdbxDataset | null>;
|
|
375
|
+
createPointDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<PointDataset>;
|
|
376
|
+
createLineDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<LineDataset>;
|
|
377
|
+
createRegionDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<RegionDataset>;
|
|
378
|
+
createPointZDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<PointZDataset>;
|
|
379
|
+
createLineZDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<LineZDataset>;
|
|
380
|
+
createRegionZDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<RegionZDataset>;
|
|
381
|
+
createTabularDataset(name: string, fields?: readonly FieldInfo[]): Promise<TabularDataset>;
|
|
382
|
+
createTextDataset(name: string, srid: number, fields?: readonly FieldInfo[]): Promise<TextDataset>;
|
|
383
|
+
createCadDataset(name: string, fields?: readonly FieldInfo[]): Promise<CadDataset>;
|
|
384
|
+
close(): Promise<void>;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export { type TabularRecord as A, BaseDataset as B, CadDataset as C, type DatasetKind as D, TextDataset as E, type FieldType as F, type Geometry as G, type TextFeature as H, type TextGeometry as I, type UdbxDataset as J, type UdbxRuntime as K, LineDataset as L, type MultiLineStringGeometry as M, type PointGeometry as P, type QueryOptions as Q, type ReadableDataset as R, type SqlDriver as S, TabularDataset as T, UdbxDataSource as U, type WritableDataset as W, type MultiPolygonGeometry as a, type CadFeature as b, type CadGeometry as c, type Dataset as d, type DatasetInfo as e, type Feature as f, type FieldInfo as g, type GeometryBase as h, type LineFeature as i, LineZDataset as j, type LineZFeature as k, PointDataset as l, type PointFeature as m, PointZDataset as n, type PointZFeature as o, RegionDataset as p, type RegionFeature as q, RegionZDataset as r, type RegionZFeature as s, SmFieldInfoRepository as t, SmRegisterRepository as u, type SqlOpenTarget as v, type SqlStatement as w, type SqlValue as x, type TabularDatasetReadable as y, type TabularDatasetWritable as z };
|