@itwin/core-backend 3.0.0-dev.151 → 3.0.0-dev.155

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.
@@ -1,102 +1,120 @@
1
1
  /** @packageDocumentation
2
2
  * @module Workspace
3
3
  */
4
- import { BeEvent } from "@itwin/core-bentley";
4
+ import { IModelJsNative } from "@bentley/imodeljs-native";
5
+ import { BeEvent, Optional } from "@itwin/core-bentley";
5
6
  import { LocalDirName, LocalFileName } from "@itwin/core-common";
6
7
  import { SQLiteDb } from "../SQLiteDb";
7
- import { Settings, SettingsPriority } from "./Settings";
8
8
  import { CloudSqlite } from "./CloudSqlite";
9
+ import { Settings, SettingsPriority } from "./Settings";
9
10
  /**
10
- * The name of a workspace container. This is the user-supplied name of a container, used to specify its *purpose* within a workspace.
11
- * WorkspaceNames can be "aliased" by `WorkspaceSetting.ContainerAlias` settings so that "resolved" [[WorkspaceContainerId]] that supplies
12
- * the actual container for a WorkspaceContainerName may vary. Also note that more than one WorkspaceContainerName may resolve to the same
13
- * WorkspaceContainerId, if multiple purposes are served by the same container.
11
+ * The name of a WorkspaceContainer. This is the user-supplied name of a WorkspaceContainer, used to specify its *purpose* within a workspace.
12
+ * WorkspaceContainerName can be "aliased" by `WorkspaceSetting.containerAlias` settings so that "resolved" [[WorkspaceContainerId]] that supplies
13
+ * the actual WorkspaceContainer for a WorkspaceContainerName may vary. Also note that more than one WorkspaceContainerName may resolve to the same
14
+ * WorkspaceContainerId, if multiple purposes are served by the same WorkspaceContainer.
14
15
  * @note there are no constraints on the contents or length of `WorkspaceContainerName`s, although short descriptive names are recommended.
15
- * However, when no alias exists in WorkspaceSetting.ContainerAlias for a WorkspaceContainerName, then the WorkspaceContainerName becomes
16
+ * However, when no alias exists in WorkspaceSetting.containerAlias for a WorkspaceContainerName, then the WorkspaceContainerName becomes
16
17
  * the WorkspaceContainerId, and the constraints on WorkspaceContainerId apply.
17
18
  * @beta
18
19
  */
19
20
  export declare type WorkspaceContainerName = string;
20
21
  /**
21
- * The unique identifier of a WorkspaceContainer. This becomes the base name for the local file holding the WorkspaceContainer, and is also the
22
- * name of its cloud-storage-container. `WorkspaceContainerName` are resolved to WorkspaceContainerId through `WorkspaceSetting.ContainerAlias` settings,
23
- * so users may not recognize the actual WorkspaceContainerId supplying resources for a WorkspaceContainerName.
22
+ * The unique identifier of a WorkspaceContainer. This becomes the base name for the local directory holding the WorkspaceDbs from a WorkspaceContainer.
23
+ * `WorkspaceContainerName`s are resolved to WorkspaceContainerId through `WorkspaceSetting.containerAlias` settings,
24
+ * so users may not recognize the actual WorkspaceContainerId supplying resources for a WorkspaceDbName.
24
25
  *
25
- * `WorkspaceContainerId`s may not:
26
- * - be blank or start or end with a space
27
- * - be longer than 255 characters
28
- * - contain any characters with Unicode values less than 0x20
29
- * - contain characters reserved for filename, device, wildcard, or url syntax (e.g. "#\.<>:"/\\"`'|?*")
26
+ * `WorkspaceContainerId`s :
27
+ * - may only contain lower case letters, numbers or dashes
28
+ * - may not start or end with with a dash
29
+ * - be shorter than 3 or longer than 63 characters
30
30
  * @beta
31
31
  */
32
32
  export declare type WorkspaceContainerId = string;
33
+ /** The name of a WorkspaceDb within a WorkspaceContainer.
34
+ * @beta
35
+ */
36
+ export declare type WorkspaceDbName = string;
33
37
  /**
34
- * The version name for a WorkspaceContainer. More than one version of a Workspace may be stored in the same [[CloudSqlite]] container. This
38
+ * The version name for a WorkspaceDb. More than one version of a WorkspaceDb may be stored in the same WorkspaceContainer. This
35
39
  * string identifies a specific version.
36
40
  * @beta
37
41
  */
38
- export declare type WorkspaceContainerVersion = string;
42
+ export declare type WorkspaceDbVersion = string;
39
43
  /**
40
- * The name for identifying WorkspaceResources in a [[WorkspaceContainer]].
44
+ * The name for identifying WorkspaceResources in a [[WorkspaceDb]].
41
45
  * * `WorkspaceResourceName`s may not:
42
46
  * - be blank or start or end with a space
43
47
  * - be longer than 1024 characters
44
- * @note a single WorkspaceContainer may hold WorkspaceResources of type 'blob', 'string' and 'file', all with the same WorkspaceResourceName.
48
+ * @note a single WorkspaceDb may hold WorkspaceResources of type 'blob', 'string' and 'file', all with the same WorkspaceResourceName.
45
49
  * @beta
46
50
  */
47
51
  export declare type WorkspaceResourceName = string;
52
+ /** supply either container name of id, not both
53
+ * @beta
54
+ */
55
+ export declare type ContainerNameOrId = {
56
+ containerName: WorkspaceContainerName;
57
+ containerId?: never;
58
+ } | {
59
+ containerId: WorkspaceContainerId;
60
+ containerName?: never;
61
+ };
48
62
  /**
49
- * Properties that specify a WorkspaceContainer. This can either be a WorkspaceContainerName or an
50
- * object with a member named `id` that holds a WorkspaceContainerId. If WorkspaceContainerId is supplied,
51
- * it is used directly. Otherwise the name must be resolved via [[Workspace.resolveContainerId]].
63
+ * Properties that specify a WorkspaceContainer.
64
+ * This can either be a WorkspaceContainerName or a WorkspaceContainerId. If id is supplied,
65
+ * it is used directly. Otherwise name must be resolved via [[Workspace.resolveContainerId]].
66
+ * @beta
67
+ */
68
+ export declare type WorkspaceContainerProps = ContainerNameOrId & {
69
+ cloudProps?: CloudSqlite.TransferProps;
70
+ };
71
+ /** Properties of a WorkspaceDb
52
72
  * @beta
53
73
  */
54
- export declare type WorkspaceContainerProps = WorkspaceContainerName | {
55
- id: WorkspaceContainerId;
74
+ export declare type WorkspaceDbProps = WorkspaceContainerProps & {
75
+ /** the name of the WorkspaceDb */
76
+ dbName: WorkspaceDbName;
56
77
  };
57
- /** Properties that specify a WorkspaceResource within a WorkspaceContainer.
78
+ /** Properties that specify a WorkspaceResource within a WorkspaceDb.
58
79
  * @beta
59
80
  */
60
- export interface WorkspaceResourceProps {
61
- /** the properties of the WorkspaceContainer holding the resource. */
62
- container: WorkspaceContainerProps;
63
- /** the name of the resource within [[container]] */
81
+ export declare type WorkspaceResourceProps = WorkspaceDbProps & {
82
+ /** the name of the resource within [[db]] */
64
83
  rscName: WorkspaceResourceName;
65
- }
84
+ };
66
85
  /**
67
- * A container of workspace resources. `WorkspaceContainer`s may just be local [[WorkspaceFile]]s, or they may be stored and
68
- * synchronized with cloud blob-store containers. WorkspaceContainers hold WorkspaceResources, each identified by a [[WorkspaceResourceName]].
69
- * Resources of type `string` and `blob` may be loaded directly from the `WorkspaceContainer`. Resources of type `file` are
70
- * copied from the container into a temporary local file so they can be accessed directly.
86
+ * A WorkspaceDb holds workspace resources. `WorkspaceDb`s may just be local files, or they may be stored and
87
+ * synchronized in WorkspaceContainers. Each `WorkspaceResource` in a WorkspaceDb is identified by a [[WorkspaceResourceName]].
88
+ * Resources of type `string` and `blob` may be loaded directly from the `WorkspaceDb`. Resources of type `file` are
89
+ * copied from the WorkspaceDb into a temporary local file so they can be accessed directly.
71
90
  * @beta
72
91
  */
73
- export interface WorkspaceContainer {
74
- /** The WorkspaceContainerId of this container. */
75
- readonly containerId: WorkspaceContainerId;
76
- /** The version alias for this container. */
77
- readonly dbAlias: WorkspaceContainerVersion;
78
- /** The Workspace that opened this WorkspaceContainer */
79
- readonly workspace: Workspace;
80
- /** the directory for extracting file resources. */
81
- readonly containerFilesDir: LocalDirName;
82
- /** event raised when the container is closed. */
83
- readonly onContainerClosed: BeEvent<() => void>;
84
- /** Get a string resource from this container, if present. */
92
+ export interface WorkspaceDb {
93
+ readonly container: WorkspaceContainer;
94
+ /** The WorkspaceDbName of this WorkspaceDb. */
95
+ readonly dbName: WorkspaceDbName;
96
+ /** event raised when this WorkspaceDb is closed. */
97
+ readonly onClosed: BeEvent<() => void>;
98
+ /** The name of the local file for holding this WorkspaceDb. */
99
+ readonly localFile: LocalDirName;
100
+ /** Get a string resource from this WorkspaceDb, if present. */
85
101
  getString(rscName: WorkspaceResourceName): string | undefined;
86
- /** Get a blob resource from this container, if present. */
102
+ /** Get a blob resource from this WorkspaceDb, if present. */
87
103
  getBlob(rscName: WorkspaceResourceName): Uint8Array | undefined;
88
- /** Extract a local copy of a file resource from this container, if present.
89
- * @param rscName The name of the file resource in the WorkspaceContainer
104
+ /** @internal */
105
+ getBlobReader(rscName: WorkspaceResourceName): IModelJsNative.BlobIO;
106
+ /** Extract a local copy of a file resource from this WorkspaceDb, if present.
107
+ * @param rscName The name of the file resource in the WorkspaceDb
90
108
  * @param targetFileName optional name for extracted file. Some applications require files in specific locations or filenames. If
91
109
  * you know the full path to use for the extracted file, you can supply it. Generally, it is best to *not* supply the filename and
92
- * keep the extracted files in the [[containerFilesDir]].
110
+ * keep the extracted files in the container filesDir.
93
111
  * @returns the full path to a file on the local filesystem.
94
- * @note The file is copied from the container into the local filesystem so it may be accessed directly. This happens only
95
- * as necessary, if the local file doesn't exist, or if it is out-of-date because it was updated in the container.
112
+ * @note The file is copied from the file into the local filesystem so it may be accessed directly. This happens only
113
+ * as necessary, if the local file doesn't exist, or if it is out-of-date because it was updated in the file.
96
114
  * For this reason, you should not save the local file name, and instead call this method every time you access it, so its
97
115
  * content is always holds the correct version.
98
116
  * @note The filename will be a hash value, not the resource name.
99
- * @note Workspace resource files are set readonly as they are copied from the container.
117
+ * @note Workspace resource files are set readonly as they are copied from the file.
100
118
  * To edit them, you must first copy them to another location.
101
119
  */
102
120
  getFile(rscName: WorkspaceResourceName, targetFileName?: LocalFileName): LocalFileName | undefined;
@@ -106,15 +124,11 @@ export interface WorkspaceContainer {
106
124
  * @beta
107
125
  */
108
126
  export interface WorkspaceOpts {
109
- /** The local directory for the WorkspaceContainer files. The [[Workspace]] will (only) look in this directory
110
- * for files named `${this.containerId}.itwin-workspace-container`.
127
+ /** The local directory for the WorkspaceDb files. The [[Workspace]] will (only) look in this directory
128
+ * for files named `${this.containerId}/${this.dbId}.itwin-workspace`.
111
129
  * @note if not supplied, defaults to `iTwin/Workspace` in the user-local folder.
112
130
  */
113
131
  containerDir?: LocalDirName;
114
- /** A local directory to store temporary files extracted for file-resources.
115
- * @note if not supplied, defaults to `a folder named "Files" inside [[containerDir]]
116
- */
117
- filesDir?: LocalDirName;
118
132
  }
119
133
  /**
120
134
  * Settings and resources that customize an application for the current session.
@@ -122,97 +136,129 @@ export interface WorkspaceOpts {
122
136
  * @beta
123
137
  */
124
138
  export interface Workspace {
125
- /** The local directory for the WorkspaceContainer files with the name `${containerId}.itwin-workspace-container`. */
139
+ /** The local directory for the WorkspaceDb files with the name `${containerId}.itwin-workspace`. */
126
140
  readonly containerDir: LocalDirName;
127
- /** the local directory where this Workspace will store temporary files extracted for file-resources. */
128
- readonly filesDir: LocalDirName;
129
141
  /** The [[Settings]] for this Workspace */
130
142
  readonly settings: Settings;
143
+ getContainer(props: WorkspaceContainerProps): WorkspaceContainer;
131
144
  /**
132
145
  * Resolve a WorkspaceContainerProps to a WorkspaceContainerId. If props is an object with an `id` member, that value is returned unchanged.
133
- * If it is a string, then the highest priority [[WorkspaceSetting.ContainerAlias]] setting with an entry for the WorkspaceContainerName
134
- * is used. If no WorkspaceSetting.ContainerAlias entry for the WorkspaceContainerName can be found, the name is returned as the id.
146
+ * If it is a string, then the highest priority [[WorkspaceSetting.containerAlias]] setting with an entry for the WorkspaceContainerName
147
+ * is used. If no WorkspaceSetting.containerAlias entry for the WorkspaceContainerName can be found, the name is returned as the id.
135
148
  */
136
149
  resolveContainerId(props: WorkspaceContainerProps): WorkspaceContainerId;
137
150
  /**
138
- * Get an open [[WorkspaceContainer]]. If the container is present but not open, it is opened first.
151
+ * Get an open [[WorkspaceDb]]. If the WorkspaceDb is present but not open, it is opened first.
139
152
  * If `cloudProps` are supplied, and if container is not present or not up-to-date, it is downloaded first.
140
153
  * @returns a Promise that is resolved when the container is local, opened, and available for access.
141
154
  */
142
- getContainer(props: WorkspaceContainerProps, cloudProps?: CloudSqlite.AccessProps): Promise<WorkspaceContainer>;
155
+ getWorkspaceDb(props: WorkspaceDbProps): Promise<WorkspaceDb>;
143
156
  /** Load a WorkspaceResource of type string, parse it, and add it to the current Settings for this Workspace.
144
157
  * @note settingsRsc must specify a resource holding a stringified JSON representation of a [[SettingDictionary]]
145
158
  * @returns a Promise that is resolved when the settings resource has been loaded.
146
159
  */
147
160
  loadSettingsDictionary(settingRsc: WorkspaceResourceProps, priority: SettingsPriority): Promise<void>;
161
+ /** Close this Workspace. All WorkspaceContainers are dropped. */
162
+ close(): void;
163
+ }
164
+ /** A WorkspaceContainer holds WorkspaceDbs.
165
+ * @beta
166
+ */
167
+ export interface WorkspaceContainer {
168
+ readonly dirName: LocalDirName;
169
+ /** the local directory where this WorkspaceContainer will store temporary files extracted for file-resources. */
170
+ readonly filesDir: LocalDirName;
171
+ readonly id: WorkspaceContainerId;
172
+ readonly workspace: Workspace;
148
173
  /** @internal */
149
- addContainer(container: WorkspaceFile): void;
150
- /** Close and remove a currently opened [[WorkspaceContainer]] from this Workspace. */
151
- dropContainer(container: WorkspaceContainer): void;
152
- /** Close this Workspace. All currently opened WorkspaceContainers are dropped. */
174
+ addWorkspaceDb(toAdd: ITwinWorkspaceDb): void;
175
+ getWorkspaceDb(props: Optional<WorkspaceDbProps, "containerName">): Promise<WorkspaceDb>;
176
+ /** Close and remove a currently opened [[WorkspaceDb]] from this Workspace. */
177
+ dropWorkspaceDb(container: WorkspaceDb): void;
178
+ /** Close this WorkspaceContainer. All currently opened WorkspaceDbs are dropped. */
153
179
  close(): void;
154
180
  }
155
181
  /** @internal */
156
182
  export declare class ITwinWorkspace implements Workspace {
157
183
  private _containers;
158
- readonly filesDir: LocalDirName;
159
184
  readonly containerDir: LocalDirName;
160
185
  readonly settings: Settings;
161
186
  constructor(settings: Settings, opts?: WorkspaceOpts);
162
- addContainer(container: WorkspaceFile): void;
163
- getContainer(props: WorkspaceContainerProps, cloudProps?: CloudSqlite.DownloadProps): Promise<WorkspaceContainer>;
187
+ addContainer(toAdd: ITwinWorkspaceContainer): void;
188
+ getContainer(props: WorkspaceContainerProps): WorkspaceContainer;
189
+ getWorkspaceDb(props: WorkspaceDbProps): Promise<WorkspaceDb>;
164
190
  loadSettingsDictionary(settingRsc: WorkspaceResourceProps, priority: SettingsPriority): Promise<void>;
165
191
  close(): void;
166
- dropContainer(toDrop: WorkspaceContainer): void;
167
192
  resolveContainerId(props: WorkspaceContainerProps): WorkspaceContainerId;
168
193
  }
194
+ /** @internal */
195
+ export declare class ITwinWorkspaceContainer implements WorkspaceContainer {
196
+ readonly workspace: ITwinWorkspace;
197
+ readonly filesDir: LocalDirName;
198
+ readonly id: WorkspaceContainerId;
199
+ private _wsDbs;
200
+ get dirName(): string;
201
+ /** rules for ContainerIds (from Azure, see https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata)
202
+ * - may only contain lower case letters, numbers or dashes
203
+ * - may not start or end with with a dash nor have more than one dash in a row
204
+ * - may not be shorter than 3 or longer than 63 characters
205
+ */
206
+ private static validateContainerId;
207
+ constructor(workspace: ITwinWorkspace, id: WorkspaceContainerId);
208
+ addWorkspaceDb(toAdd: ITwinWorkspaceDb): void;
209
+ getWorkspaceDb(props: Optional<WorkspaceDbProps, "containerName">): Promise<WorkspaceDb>;
210
+ dropWorkspaceDb(toDrop: WorkspaceDb): void;
211
+ close(): void;
212
+ purgeContainerFiles(): void;
213
+ }
169
214
  /**
170
- * A local file holding a WorkspaceContainer.
215
+ * A local file holding a WorkspaceDb.
171
216
  * @beta
172
217
  */
173
- export declare class WorkspaceFile implements WorkspaceContainer {
174
- protected readonly db: SQLiteDb;
175
- readonly workspace: Workspace;
176
- readonly containerId: WorkspaceContainerId;
218
+ export declare class ITwinWorkspaceDb implements WorkspaceDb {
219
+ readonly sqliteDb: SQLiteDb;
220
+ readonly dbName: WorkspaceDbName;
221
+ readonly container: WorkspaceContainer;
177
222
  localFile: LocalFileName;
178
- dbAlias: WorkspaceContainerVersion;
179
- readonly onContainerClosed: BeEvent<() => void>;
180
- get containerFilesDir(): string;
223
+ readonly onClosed: BeEvent<() => void>;
224
+ protected static noLeadingOrTrailingSpaces(name: string, msg: string): void;
225
+ private static validateDbName;
181
226
  get isOpen(): boolean;
182
- protected queryFileResource(rscName: WorkspaceResourceName): {
227
+ queryFileResource(rscName: WorkspaceResourceName): {
183
228
  localFileName: string;
184
- info: import("@bentley/imodeljs-native").IModelJsNative.EmbedFileQuery;
229
+ info: IModelJsNative.EmbedFileQuery;
185
230
  } | undefined;
186
- protected static noLeadingOrTrailingSpaces(name: string, msg: string): void;
187
- private static validateContainerId;
188
- constructor(containerId: WorkspaceContainerId, workspace: Workspace);
189
- purgeContainerFiles(): void;
231
+ constructor(dbName: WorkspaceDbName, container: WorkspaceContainer);
190
232
  open(): void;
191
233
  close(): void;
192
234
  getString(rscName: WorkspaceResourceName): string | undefined;
235
+ /** Get a BlobIO reader for a blob WorkspaceResource.
236
+ * @note when finished, caller must call `close` on the BlobIO.
237
+ */
238
+ getBlobReader(rscName: WorkspaceResourceName): IModelJsNative.BlobIO;
193
239
  getBlob(rscName: WorkspaceResourceName): Uint8Array | undefined;
194
240
  getFile(rscName: WorkspaceResourceName, targetFileName?: LocalFileName): LocalFileName | undefined;
195
241
  }
196
242
  /**
197
- * An editable [[WorkspaceFile]]. This is used by administrators for creating and modifying `WorkspaceContainer`s.
243
+ * An editable [[WorkspaceDb]]. This is used by administrators for creating and modifying `WorkspaceDb`s.
198
244
  * For cloud-backed containers, the write token must be obtained before this class may be used. Only one user at at time
199
245
  * may be editing.
200
246
  * @beta
201
247
  */
202
- export declare class EditableWorkspaceFile extends WorkspaceFile {
248
+ export declare class EditableWorkspaceDb extends ITwinWorkspaceDb {
203
249
  private _isCloudOpen;
204
250
  private static validateResourceName;
205
251
  private validateResourceSize;
206
- openCloudDb(props: CloudSqlite.AccessProps): Promise<void>;
252
+ openCloudDb(props: CloudSqlite.ContainerAccessProps): Promise<void>;
207
253
  open(): void;
208
254
  close(): void;
209
255
  private getFileModifiedTime;
210
256
  private performWriteSql;
211
- /** Create a new, empty, EditableWorkspaceFile for importing Workspace resources. */
212
- create(cloudProps?: CloudSqlite.AccessProps): Promise<void>;
213
- static cloneVersion(oldVersion: WorkspaceContainerVersion, newVersion: WorkspaceContainerVersion, cloudProps: CloudSqlite.AccessProps): Promise<void>;
214
- upload(cloudProps: CloudSqlite.AccessProps): Promise<void>;
215
- /** Add a new string resource to this WorkspaceFile.
257
+ /** Create a new, empty, EditableWorkspaceDb for importing Workspace resources. */
258
+ create(): void;
259
+ static cloneVersion(oldVersion: WorkspaceDbVersion, newVersion: WorkspaceDbVersion, cloudProps: CloudSqlite.ContainerAccessProps): Promise<void>;
260
+ upload(cloudProps: CloudSqlite.TransferProps): Promise<void>;
261
+ /** Add a new string resource to this WorkspaceDb.
216
262
  * @param rscName The name of the string resource.
217
263
  * @param val The string to save.
218
264
  */
@@ -225,7 +271,7 @@ export declare class EditableWorkspaceFile extends WorkspaceFile {
225
271
  updateString(rscName: WorkspaceResourceName, val: string): void;
226
272
  /** Remove a string resource. */
227
273
  removeString(rscName: WorkspaceResourceName): void;
228
- /** Add a new blob resource to this WorkspaceFile.
274
+ /** Add a new blob resource to this WorkspaceDb.
229
275
  * @param rscName The name of the blob resource.
230
276
  * @param val The blob to save.
231
277
  */
@@ -236,13 +282,17 @@ export declare class EditableWorkspaceFile extends WorkspaceFile {
236
282
  * @throws if rscName does not exist
237
283
  */
238
284
  updateBlob(rscName: WorkspaceResourceName, val: Uint8Array): void;
285
+ /** Get a BlobIO writer for a previously-added blob WorkspaceResource.
286
+ * @note after writing is complete, caller must call `close` on the BlobIO and must call `saveChanges` on the `db`.
287
+ */
288
+ getBlobWriter(rscName: WorkspaceResourceName): IModelJsNative.BlobIO;
239
289
  /** Remove a blob resource. */
240
290
  removeBlob(rscName: WorkspaceResourceName): void;
241
- /** Copy the contents of an existing local file into this WorkspaceFile as a file resource.
291
+ /** Copy the contents of an existing local file into this WorkspaceDb as a file resource.
242
292
  * @param rscName The name of the file resource.
243
293
  * @param localFileName The name of a local file to be read.
244
294
  * @param fileExt The extension (do not include the leading ".") to be appended to the generated fileName
245
- * when this file is extracted from the WorkspaceContainer. By default the characters after the last "." in `localFileName`
295
+ * when this WorkspaceDb is extracted from the WorkspaceDb. By default the characters after the last "." in `localFileName`
246
296
  * are used. Pass this argument to override that.
247
297
  */
248
298
  addFile(rscName: WorkspaceResourceName, localFileName: LocalFileName, fileExt?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../../src/workspace/Workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../../src/workspace/Workspace.ts"],"names":[],"mappings":"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"}