@itwin/core-backend 4.8.0-dev.3 → 4.8.0-dev.5
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/CHANGELOG.md +13 -1
- package/lib/cjs/BackendLoggerCategory.d.ts +3 -1
- package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js +2 -0
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BlobContainerService.d.ts +3 -3
- package/lib/cjs/BlobContainerService.d.ts.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts +21 -13
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +24 -6
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.d.ts +4 -4
- package/lib/cjs/CodeService.d.ts.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.d.ts +10 -0
- package/lib/cjs/GeoCoordConfig.d.ts.map +1 -1
- package/lib/cjs/GeoCoordConfig.js +20 -23
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +14 -9
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +53 -17
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelHost.d.ts +8 -1
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +24 -15
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/PropertyStore.d.ts +17 -7
- package/lib/cjs/PropertyStore.d.ts.map +1 -1
- package/lib/cjs/PropertyStore.js +11 -5
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/SQLiteDb.d.ts +2 -3
- package/lib/cjs/SQLiteDb.d.ts.map +1 -1
- package/lib/cjs/SQLiteDb.js +2 -3
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/SchemaSync.d.ts +1 -1
- package/lib/cjs/SchemaSync.d.ts.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/TextAnnotationGeometry.d.ts +5 -1
- package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
- package/lib/cjs/TextAnnotationGeometry.js +11 -8
- package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/TextAnnotationLayout.d.ts +21 -13
- package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
- package/lib/cjs/TextAnnotationLayout.js +119 -90
- package/lib/cjs/TextAnnotationLayout.js.map +1 -1
- package/lib/cjs/ViewStore.d.ts +16 -2
- package/lib/cjs/ViewStore.d.ts.map +1 -1
- package/lib/cjs/ViewStore.js +14 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +33 -0
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +17 -21
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +80 -38
- package/lib/cjs/assets/Settings/backend.setting.json5 +8 -119
- package/lib/cjs/core-backend.d.ts +2 -1
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +3 -2
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/internal/ImplementationProhibited.d.ts +44 -0
- package/lib/cjs/internal/ImplementationProhibited.d.ts.map +1 -0
- package/lib/cjs/internal/ImplementationProhibited.js +51 -0
- package/lib/cjs/internal/ImplementationProhibited.js.map +1 -0
- package/lib/cjs/internal/workspace/SettingsImpl.d.ts +43 -0
- package/lib/cjs/internal/workspace/SettingsImpl.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/SettingsImpl.js +161 -0
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -0
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +276 -0
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +41 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +696 -0
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -0
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +41 -0
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +1 -2
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.d.ts +167 -138
- package/lib/cjs/workspace/Settings.d.ts.map +1 -1
- package/lib/cjs/workspace/Settings.js +68 -138
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.d.ts +112 -48
- package/lib/cjs/workspace/SettingsSchemas.d.ts.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js +1 -172
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +411 -277
- package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
- package/lib/cjs/workspace/Workspace.js +76 -457
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.d.ts +245 -0
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -0
- package/lib/cjs/workspace/WorkspaceEditor.js +34 -0
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -0
- package/package.json +12 -12
- package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +0 -45
|
@@ -1,32 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$
|
|
3
|
-
"$schema": "http://json-schema.org/draft-07/schema",
|
|
4
|
-
"title": "GeoCoordinate settings",
|
|
2
|
+
"$schema": "./Base.Schema.json",
|
|
5
3
|
"description": "settings for geocoordinate services",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"gcs/default/databases": {
|
|
4
|
+
"schemaPrefix": "itwin/core/gcs",
|
|
5
|
+
"settingDefs": {
|
|
6
|
+
"default/databases": {
|
|
10
7
|
"type": "array",
|
|
11
|
-
"
|
|
12
|
-
"description": "List of GCS workspace database aliases loaded by default. Must be entries in \"workspace/databases\".",
|
|
8
|
+
"description": "array of GCS WorkspaceDbs",
|
|
13
9
|
"items": {
|
|
14
|
-
"type": "
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
"type": "object",
|
|
11
|
+
"extends": "itwin/core/workspace/workspaceDb",
|
|
12
|
+
"description": "Properties of a WorkspaceDb holding GCS data.",
|
|
13
|
+
"properties": {
|
|
14
|
+
"priority": {
|
|
15
|
+
"type": "number",
|
|
16
|
+
"description": "Priority value for GCS database, higher values are searched first",
|
|
17
|
+
"default": 500
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
20
21
|
},
|
|
21
|
-
"
|
|
22
|
+
"disableWorkspaces": {
|
|
22
23
|
"type": "boolean",
|
|
23
24
|
"description": "If true, do not load any GCS workspaces",
|
|
24
25
|
"default": false
|
|
25
|
-
},
|
|
26
|
-
"gcs/noLocalData": {
|
|
27
|
-
"type": "boolean",
|
|
28
|
-
"description": "If true, do not attempt to load GCS data from local files",
|
|
29
|
-
"default": false
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
28
|
}
|
|
@@ -1,53 +1,95 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"properties": {
|
|
9
|
-
"workspace/databases": {
|
|
2
|
+
"$schema": "./Base.Schema.json",
|
|
3
|
+
"description": "settings for workspaces",
|
|
4
|
+
"schemaPrefix": "itwin/core/workspace",
|
|
5
|
+
"settingDefs": {
|
|
6
|
+
"settingsWorkspaces": {
|
|
7
|
+
"description": "An array of resourceName, WorkspaceDb properties, each of which holds a Settings.Dictionary. Each entry also holds the settings priority for loading the dictionary.",
|
|
10
8
|
"type": "array",
|
|
11
|
-
"cumulative": true,
|
|
12
|
-
"description": "array of workspace databases",
|
|
13
9
|
"items": {
|
|
14
10
|
"type": "object",
|
|
15
|
-
"
|
|
16
|
-
"name",
|
|
17
|
-
"dbName",
|
|
18
|
-
"containerName"
|
|
19
|
-
],
|
|
11
|
+
"extends": "itwin/core/workspace/workspaceDb",
|
|
20
12
|
"properties": {
|
|
21
|
-
"
|
|
13
|
+
"resourceName": {
|
|
22
14
|
"type": "string",
|
|
23
|
-
"description": "the
|
|
24
|
-
|
|
25
|
-
"dbName": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"description": "the name of the database within its cloud container"
|
|
28
|
-
},
|
|
29
|
-
"containerName": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"description": "the container name"
|
|
32
|
-
},
|
|
33
|
-
"version": {
|
|
34
|
-
"type": "string",
|
|
35
|
-
"description": "the (semver) range of acceptable versions"
|
|
36
|
-
},
|
|
37
|
-
"includePrerelease": {
|
|
38
|
-
"type": "boolean",
|
|
39
|
-
"description": "include prerelease version as acceptable versions"
|
|
15
|
+
"description": "the name of the string resource holding the settings dictionary in this WorkspaceDb",
|
|
16
|
+
"default": "settingsDictionary"
|
|
40
17
|
},
|
|
41
18
|
"priority": {
|
|
42
19
|
"type": "number",
|
|
43
|
-
"description": "
|
|
44
|
-
|
|
45
|
-
"prefetch": {
|
|
46
|
-
"type": "boolean",
|
|
47
|
-
"description": "if true, pre-fetch all of the data from the cloud in the background"
|
|
20
|
+
"description": "the SettingsPriority for the settingsDictionary",
|
|
21
|
+
"default": 500
|
|
48
22
|
}
|
|
49
23
|
}
|
|
50
24
|
}
|
|
51
25
|
}
|
|
26
|
+
},
|
|
27
|
+
"typeDefs": {
|
|
28
|
+
"workspaceDb": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"description": "WorkspaceDb properties",
|
|
31
|
+
"required": [
|
|
32
|
+
"containerId",
|
|
33
|
+
"baseUri"
|
|
34
|
+
],
|
|
35
|
+
"properties": {
|
|
36
|
+
"dbName": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "the name of the database within its cloud container. If not present, defaults to 'workspace-db'."
|
|
39
|
+
},
|
|
40
|
+
"baseUri": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "the baseUri for the container, without trailing slash (e.g., https://containers.itwinjs.org)"
|
|
43
|
+
},
|
|
44
|
+
"containerId": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "the containerId of this cloud container. Usually a Guid"
|
|
47
|
+
},
|
|
48
|
+
"storageType": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "one of: 'azure', 'aws', 'google'",
|
|
51
|
+
"default": "azure"
|
|
52
|
+
},
|
|
53
|
+
"description": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "information about what is in this workspace"
|
|
56
|
+
},
|
|
57
|
+
"loadingHelp": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "in case there is a problem loading this workspace, show this message"
|
|
60
|
+
},
|
|
61
|
+
"isPublic": {
|
|
62
|
+
"type": "boolean",
|
|
63
|
+
"description": "whether the cloud container is public (doesn't require authentication)",
|
|
64
|
+
"default": false
|
|
65
|
+
},
|
|
66
|
+
"version": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "the (semver) range of acceptable versions",
|
|
69
|
+
"default": "^1"
|
|
70
|
+
},
|
|
71
|
+
"includePrerelease": {
|
|
72
|
+
"type": "boolean",
|
|
73
|
+
"description": "include prerelease in acceptable versions"
|
|
74
|
+
},
|
|
75
|
+
"prefetch": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"description": "if true, pre-fetch all of the data from the cloud in the background"
|
|
78
|
+
},
|
|
79
|
+
"syncOnConnect": {
|
|
80
|
+
"type": "boolean",
|
|
81
|
+
"description": "if false, do not attempt to synchronize with cloud when workspace is loaded",
|
|
82
|
+
"hidden": true
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"workspaceDbList": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"combineArray": true,
|
|
89
|
+
"items": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"extends": "itwin/core/workspace/workspaceDb"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
52
94
|
}
|
|
53
95
|
}
|
|
@@ -1,133 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"itwin/core/gcs/default/databases": [
|
|
3
3
|
{
|
|
4
|
-
"name": "gcs/
|
|
5
|
-
"baseUri": "https://geocoord-workspace.itwinjs.org",
|
|
6
|
-
"storageType": "azure",
|
|
7
|
-
"containerId": "gcs",
|
|
8
|
-
"isPublic": true
|
|
9
|
-
}
|
|
10
|
-
],
|
|
11
|
-
"workspace/databases": [
|
|
12
|
-
{
|
|
13
|
-
"name": "gcs/base",
|
|
4
|
+
"name": "itwin/core/gcs/base",
|
|
14
5
|
"dbName": "base",
|
|
15
|
-
"containerName": "gcs/container",
|
|
16
6
|
"version": "^1",
|
|
7
|
+
"baseUri": "https://geocoord-workspace.itwinjs.org",
|
|
8
|
+
"containerId": "gcs",
|
|
9
|
+
"isPublic": true,
|
|
17
10
|
"priority": 10000,
|
|
18
11
|
"prefetch": true
|
|
19
12
|
},
|
|
20
13
|
{
|
|
21
|
-
"name": "gcs/entire-earth",
|
|
14
|
+
"name": "itwin/core/gcs/entire-earth",
|
|
22
15
|
"dbName": "allEarth",
|
|
23
|
-
"containerName": "gcs/container",
|
|
24
16
|
"version": "^1",
|
|
17
|
+
"baseUri": "https://geocoord-workspace.itwinjs.org",
|
|
18
|
+
"containerId": "gcs",
|
|
25
19
|
"priority": 100
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"name": "gcs/Australia",
|
|
29
|
-
"dbName": "Australia",
|
|
30
|
-
"containerName": "gcs/container",
|
|
31
|
-
"version": "^1",
|
|
32
|
-
"priority": 500
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "gcs/Brazil",
|
|
36
|
-
"dbName": "Brazil",
|
|
37
|
-
"containerName": "gcs/container",
|
|
38
|
-
"version": "^1",
|
|
39
|
-
"priority": 500
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"name": "gcs/Canada",
|
|
43
|
-
"dbName": "Canada",
|
|
44
|
-
"containerName": "gcs/container",
|
|
45
|
-
"version": "^1",
|
|
46
|
-
"priority": 500
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"name": "gcs/France",
|
|
50
|
-
"dbName": "France",
|
|
51
|
-
"containerName": "gcs/container",
|
|
52
|
-
"version": "^1",
|
|
53
|
-
"priority": 500
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"name": "gcs/Germany",
|
|
57
|
-
"dbName": "Germany",
|
|
58
|
-
"containerName": "gcs/container",
|
|
59
|
-
"version": "^1",
|
|
60
|
-
"priority": 500
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"name": "gcs/Japan",
|
|
64
|
-
"dbName": "Japan",
|
|
65
|
-
"containerName": "gcs/container",
|
|
66
|
-
"version": "^1",
|
|
67
|
-
"priority": 500
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"name": "gcs/NewZealand",
|
|
71
|
-
"dbName": "NewZealand",
|
|
72
|
-
"containerName": "gcs/container",
|
|
73
|
-
"version": "^1",
|
|
74
|
-
"priority": 500
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"name": "gcs/Portugal",
|
|
78
|
-
"dbName": "Portugal",
|
|
79
|
-
"containerName": "gcs/container",
|
|
80
|
-
"version": "^1",
|
|
81
|
-
"priority": 500
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"name": "gcs/Slovakia",
|
|
85
|
-
"dbName": "Slovakia",
|
|
86
|
-
"containerName": "gcs/container",
|
|
87
|
-
"version": "^1",
|
|
88
|
-
"priority": 500
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"name": "gcs/SouthAfrica",
|
|
92
|
-
"dbName": "SouthAfrica",
|
|
93
|
-
"containerName": "gcs/container",
|
|
94
|
-
"version": "^1",
|
|
95
|
-
"priority": 500
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"name": "gcs/Spain",
|
|
99
|
-
"dbName": "Spain",
|
|
100
|
-
"containerName": "gcs/container",
|
|
101
|
-
"version": "^1",
|
|
102
|
-
"priority": 500
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"name": "gcs/Switzerland",
|
|
106
|
-
"dbName": "Switzerland",
|
|
107
|
-
"containerName": "gcs/container",
|
|
108
|
-
"version": "^1",
|
|
109
|
-
"priority": 500
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"name": "gcs/UK",
|
|
113
|
-
"dbName": "UK",
|
|
114
|
-
"containerName": "gcs/container",
|
|
115
|
-
"version": "^1",
|
|
116
|
-
"priority": 500
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"name": "gcs/Usa",
|
|
120
|
-
"dbName": "Usa",
|
|
121
|
-
"containerName": "gcs/container",
|
|
122
|
-
"version": "^1",
|
|
123
|
-
"priority": 500
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"name": "gcs/Venezuela",
|
|
127
|
-
"dbName": "Venezuela",
|
|
128
|
-
"containerName": "gcs/container",
|
|
129
|
-
"version": "^1",
|
|
130
|
-
"priority": 500
|
|
131
20
|
}
|
|
132
21
|
]
|
|
133
22
|
}
|
|
@@ -56,7 +56,7 @@ export * from "./SchemaUtils";
|
|
|
56
56
|
export * from "./SQLiteDb";
|
|
57
57
|
export * from "./SqliteStatement";
|
|
58
58
|
export * from "./TextAnnotationElement";
|
|
59
|
-
export {
|
|
59
|
+
export { computeLayoutTextBlockResult, LayoutTextBlockArgs } from "./TextAnnotationLayout";
|
|
60
60
|
export * from "./TextAnnotationGeometry";
|
|
61
61
|
export * from "./Texture";
|
|
62
62
|
export * from "./TileStorage";
|
|
@@ -66,6 +66,7 @@ export * from "./ViewStore";
|
|
|
66
66
|
export * from "./workspace/Settings";
|
|
67
67
|
export * from "./workspace/SettingsSchemas";
|
|
68
68
|
export * from "./workspace/Workspace";
|
|
69
|
+
export * from "./workspace/WorkspaceEditor";
|
|
69
70
|
export * from "./SqliteChangesetReader";
|
|
70
71
|
export * from "./ChangesetECAdaptor";
|
|
71
72
|
/** @docs-package-description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-backend.d.ts","sourceRoot":"","sources":["../../src/core-backend.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEnG,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"core-backend.d.ts","sourceRoot":"","sources":["../../src/core-backend.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEnG,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;IAGI;AAEJ;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG"}
|
package/lib/cjs/core-backend.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.
|
|
21
|
+
exports.computeLayoutTextBlockResult = exports.NativeLoggerCategory = exports.NativeCloudSqlite = exports.IModelJsNative = void 0;
|
|
22
22
|
var imodeljs_native_1 = require("@bentley/imodeljs-native");
|
|
23
23
|
Object.defineProperty(exports, "IModelJsNative", { enumerable: true, get: function () { return imodeljs_native_1.IModelJsNative; } });
|
|
24
24
|
Object.defineProperty(exports, "NativeCloudSqlite", { enumerable: true, get: function () { return imodeljs_native_1.NativeCloudSqlite; } });
|
|
@@ -81,7 +81,7 @@ __exportStar(require("./SQLiteDb"), exports);
|
|
|
81
81
|
__exportStar(require("./SqliteStatement"), exports);
|
|
82
82
|
__exportStar(require("./TextAnnotationElement"), exports);
|
|
83
83
|
var TextAnnotationLayout_1 = require("./TextAnnotationLayout");
|
|
84
|
-
Object.defineProperty(exports, "
|
|
84
|
+
Object.defineProperty(exports, "computeLayoutTextBlockResult", { enumerable: true, get: function () { return TextAnnotationLayout_1.computeLayoutTextBlockResult; } });
|
|
85
85
|
__exportStar(require("./TextAnnotationGeometry"), exports);
|
|
86
86
|
__exportStar(require("./Texture"), exports);
|
|
87
87
|
__exportStar(require("./TileStorage"), exports);
|
|
@@ -91,6 +91,7 @@ __exportStar(require("./ViewStore"), exports);
|
|
|
91
91
|
__exportStar(require("./workspace/Settings"), exports);
|
|
92
92
|
__exportStar(require("./workspace/SettingsSchemas"), exports);
|
|
93
93
|
__exportStar(require("./workspace/Workspace"), exports);
|
|
94
|
+
__exportStar(require("./workspace/WorkspaceEditor"), exports);
|
|
94
95
|
__exportStar(require("./SqliteChangesetReader"), exports);
|
|
95
96
|
__exportStar(require("./ChangesetECAdaptor"), exports);
|
|
96
97
|
/** @docs-package-description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-backend.js","sourceRoot":"","sources":["../../src/core-backend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;;AAE/F,4DAAmG;AAA1F,iHAAA,cAAc,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAEhE,qDAAmC;AACnC,0DAAwC;AACxC,kDAAgC;AAChC,yDAAuC;AACvC,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,yDAAuC;AACvC,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,6CAA2B;AAC3B,iDAA+B;AAC/B,+DAA6C;AAC7C,6DAA2C;AAC3C,4DAA0C;AAC1C,0DAAwC;AACxC,yCAAuB;AACvB,uDAAqC;AACrC,mDAAiC;AACjC,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,2CAAyB;AACzB,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,mDAAiC;AACjC,0DAAwC;AACxC,4CAA0B;AAC1B,uDAAqC;AACrC,6CAA2B;AAC3B,8DAA4C;AAC5C,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B;AAC5B,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,qDAAmC;AACnC,+CAA6B;AAC7B,2DAAyC;AACzC,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,2CAAyB;AACzB,gDAA8B;AAC9B,6CAA2B;AAC3B,oDAAkC;AAClC,0DAAwC;AACxC,+
|
|
1
|
+
{"version":3,"file":"core-backend.js","sourceRoot":"","sources":["../../src/core-backend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;;AAE/F,4DAAmG;AAA1F,iHAAA,cAAc,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAEhE,qDAAmC;AACnC,0DAAwC;AACxC,kDAAgC;AAChC,yDAAuC;AACvC,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,yDAAuC;AACvC,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,6CAA2B;AAC3B,iDAA+B;AAC/B,+DAA6C;AAC7C,6DAA2C;AAC3C,4DAA0C;AAC1C,0DAAwC;AACxC,yCAAuB;AACvB,uDAAqC;AACrC,mDAAiC;AACjC,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,2CAAyB;AACzB,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,mDAAiC;AACjC,0DAAwC;AACxC,4CAA0B;AAC1B,uDAAqC;AACrC,6CAA2B;AAC3B,8DAA4C;AAC5C,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B;AAC5B,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,qDAAmC;AACnC,+CAA6B;AAC7B,2DAAyC;AACzC,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,2CAAyB;AACzB,gDAA8B;AAC9B,6CAA2B;AAC3B,oDAAkC;AAClC,0DAAwC;AACxC,+DAA2F;AAAlF,oIAAA,4BAA4B,OAAA;AACrC,2DAAyC;AACzC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,8CAA4B;AAC5B,uDAAqC;AACrC,8DAA4C;AAC5C,wDAAsC;AACtC,8DAA4C;AAC5C,0DAAwC;AACxC,uDAAqC;AAErC;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;IAGI;AAEJ;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport { IModelJsNative, NativeCloudSqlite, NativeLoggerCategory } from \"@bentley/imodeljs-native\";\r\n\r\nexport * from \"./BackendHubAccess\";\r\nexport * from \"./BackendLoggerCategory\";\r\nexport * from \"./BisCoreSchema\";\r\nexport * from \"./BlobContainerService\";\r\nexport * from \"./BriefcaseManager\";\r\nexport * from \"./Category\";\r\nexport * from \"./ChangedElementsDb\";\r\nexport * from \"./ChangeSummaryManager\";\r\nexport * from \"./ChannelControl\";\r\nexport * from \"./CheckpointManager\";\r\nexport * from \"./ClassRegistry\";\r\nexport * from \"./CloudSqlite\";\r\nexport * from \"./CodeService\";\r\nexport * from \"./CodeSpecs\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyle\";\r\nexport * from \"./domains/FunctionalElements\";\r\nexport * from \"./domains/FunctionalSchema\";\r\nexport * from \"./domains/GenericElements\";\r\nexport * from \"./domains/GenericSchema\";\r\nexport * from \"./ECDb\";\r\nexport * from \"./ECSchemaXmlContext\";\r\nexport * from \"./ECSqlStatement\";\r\nexport * from \"./Element\";\r\nexport * from \"./ElementAspect\";\r\nexport * from \"./ElementGraphics\";\r\nexport * from \"./ElementTreeWalker\";\r\nexport * from \"./Entity\";\r\nexport * from \"./EntityReferences\";\r\nexport * from \"./ExportGraphics\";\r\nexport * from \"./ExternalSource\";\r\nexport * from \"./GeoCoordConfig\";\r\nexport * from \"./GeographicCRSServices\";\r\nexport * from \"./HubMock\";\r\nexport * from \"./IModelCloneContext\";\r\nexport * from \"./IModelDb\";\r\nexport * from \"./IModelElementCloneContext\";\r\nexport * from \"./IModelHost\";\r\nexport * from \"./IModelJsFs\";\r\nexport * from \"./SchemaSync\";\r\nexport * from \"./IpcHost\";\r\nexport * from \"./LineStyle\";\r\nexport * from \"./LocalhostIpcHost\";\r\nexport * from \"./LocalHub\";\r\nexport * from \"./Material\";\r\nexport * from \"./Model\";\r\nexport * from \"./NativeAppStorage\";\r\nexport * from \"./NativeHost\";\r\nexport * from \"./NavigationRelationship\";\r\nexport * from \"./PropertyStore\";\r\nexport * from \"./Relationship\";\r\nexport * from \"./rpc/tracing\";\r\nexport * from \"./Schema\";\r\nexport * from \"./SchemaUtils\";\r\nexport * from \"./SQLiteDb\";\r\nexport * from \"./SqliteStatement\";\r\nexport * from \"./TextAnnotationElement\";\r\nexport { computeLayoutTextBlockResult, LayoutTextBlockArgs } from \"./TextAnnotationLayout\";\r\nexport * from \"./TextAnnotationGeometry\";\r\nexport * from \"./Texture\";\r\nexport * from \"./TileStorage\";\r\nexport * from \"./TxnManager\";\r\nexport * from \"./ViewDefinition\";\r\nexport * from \"./ViewStore\";\r\nexport * from \"./workspace/Settings\";\r\nexport * from \"./workspace/SettingsSchemas\";\r\nexport * from \"./workspace/Workspace\";\r\nexport * from \"./workspace/WorkspaceEditor\";\r\nexport * from \"./SqliteChangesetReader\";\r\nexport * from \"./ChangesetECAdaptor\";\r\n\r\n/** @docs-package-description\r\n * The core-backend package always runs on the computer with a local Briefcase.\r\n *\r\n * It contains classes that [backend code]($docs/learning/backend/index.md) can use to work with directly with iModels.\r\n */\r\n\r\n/**\r\n * @docs-group-description BlobContainers\r\n * Classes for working with cloud-based blob containers.\r\n */\r\n\r\n/**\r\n * @docs-group-description Codes\r\n * Classes for working with [Codes]($docs/BIS/guide/fundamentals/codes.md).\r\n * See [the learning articles]($docs/learning/backend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description ECDb\r\n * Classes for working with ECDb.\r\n */\r\n\r\n/**\r\n * @docs-group-description ECSQL\r\n * Classes for working with [ECSQL]($docs/learning/ECSQL.md)\r\n */\r\n\r\n/**\r\n * @docs-group-description ElementAspects\r\n * Subclasses of [ElementAspects]($docs/bis/guide/fundamentals/elementaspect-fundamentals.md).\r\n * See [the learning articles]($docs/learning/backend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description ElementGeometry\r\n * Classes for defining the symbology and geometry of geometric elements\r\n */\r\n\r\n/**\r\n * @docs-group-description Elements\r\n * Subclasses of [Elements]($docs/BIS/guide/fundamentals/element-fundamentals.md).\r\n * See [the learning articles]($docs/learning/backend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description ExportGraphics\r\n * APIs for producing low-level graphics primitives from element geometry.\r\n */\r\n\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelHost\r\n * Classes for configuring and administering the backend [host]($docs/learning/backend/IModelHost.md).\r\n * See [the learning article]($docs/learning/backend/IModelHost.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description iModels\r\n * Classes for working with [iModels]($docs/learning/iModels.md).\r\n * See [the learning article]($docs/learning/backend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package.\r\n */\r\n\r\n/**\r\n * @docs-group-description Models\r\n * Subclasses of [Models]($docs/BIS/guide/fundamentals/model-fundamentals.md).\r\n * See [the learning articles]($docs/learning/backend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Mobile/Desktop Application.\r\n */\r\n\r\n/**\r\n * @docs-group-description Portability\r\n */\r\n\r\n/**\r\n * @docs-group-description Relationships\r\n * Classes that describe the [relationships]($docs/bis/guide/fundamentals/relationship-fundamentals.md) between elements.\r\n */\r\n\r\n/**\r\n * @docs-group-description RpcInterface\r\n * Classes for working with [RpcInterfaces]($docs/learning/RpcInterface.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description Schema\r\n * Classes for working with [ECSchemas]($docs/learning/backend/SchemasAndElementsInTypeScript.md)\r\n */\r\n\r\n/**\r\n * @docs-group-description SQLite\r\n * Classes for working directly with SQLite\r\n */\r\n\r\n/**\r\n * @docs-group-description SQLiteDb\r\n * Classes for working with SQLiteDb.\r\n */\r\n\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n */\r\n\r\n/**\r\n * @docs-group-description ViewDefinitions\r\n * Classes for working with Elements that define what appears in [Views]($docs/learning/frontend/views.md).\r\n * See [the learning articles]($docs/learning/backend/createelements/#orthographicviewdefinition).\r\n */\r\n\r\n/**\r\n * @docs-group-description Workspace\r\n * APIs for loading and using Settings and Workspace resources\r\n */\r\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Workspace
|
|
3
|
+
*/
|
|
4
|
+
/** A symbol used to prevent implementations of an interface from being created outside of the package that defines the interface.
|
|
5
|
+
* This is useful when a package defines a public interface with one or more private implementations.
|
|
6
|
+
* The only way for users of the package to obtain an implementation of the interface is by calling a method in the package's public API that returns one.
|
|
7
|
+
* It permits the package to add new required properties and methods to the interface without breaking API compatibility, because no one
|
|
8
|
+
* else can possibly have created their own implementations lacking those new properties or methods.
|
|
9
|
+
*
|
|
10
|
+
* Simple example:
|
|
11
|
+
* ```ts
|
|
12
|
+
* // @public
|
|
13
|
+
* interface Thing {
|
|
14
|
+
* name: string;
|
|
15
|
+
* [implementationProhibited]: unknown;
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* // Not exported
|
|
19
|
+
* class ThingImpl implements Thing {
|
|
20
|
+
* constructor(public name: string) { }
|
|
21
|
+
* public readonly [implementationProhibited] = undefined;
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* // @public
|
|
25
|
+
* export function getThing(name: string): Thing { return new ThingImpl(name); }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* This effectively turns the interface into a nominal type, bypassing TypeScript's structural typing.
|
|
29
|
+
* If someone attempts to supply their own implementation of `Thing`:
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* const thing: Thing = { name: "my thing" };
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ...they will receive a compiler error. Because they cannot access the `implementationProhibited` symbol,
|
|
36
|
+
* they will not be able to appease the compiler except by casting to `any`.
|
|
37
|
+
*
|
|
38
|
+
* Of course, you must make sure not to export the symbol from the package - that would defeat the whole purpose.
|
|
39
|
+
* It is exported here from the internal API for consumption inside the package only. It is not exported from the package's barrel file.
|
|
40
|
+
*
|
|
41
|
+
* The vast majority of interfaces do not need this.
|
|
42
|
+
*/
|
|
43
|
+
export declare const implementationProhibited: unique symbol;
|
|
44
|
+
//# sourceMappingURL=ImplementationProhibited.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImplementationProhibited.d.ts","sourceRoot":"","sources":["../../../src/internal/ImplementationProhibited.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,wBAAwB,eAAsC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Workspace
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.implementationProhibited = void 0;
|
|
11
|
+
/** A symbol used to prevent implementations of an interface from being created outside of the package that defines the interface.
|
|
12
|
+
* This is useful when a package defines a public interface with one or more private implementations.
|
|
13
|
+
* The only way for users of the package to obtain an implementation of the interface is by calling a method in the package's public API that returns one.
|
|
14
|
+
* It permits the package to add new required properties and methods to the interface without breaking API compatibility, because no one
|
|
15
|
+
* else can possibly have created their own implementations lacking those new properties or methods.
|
|
16
|
+
*
|
|
17
|
+
* Simple example:
|
|
18
|
+
* ```ts
|
|
19
|
+
* // @public
|
|
20
|
+
* interface Thing {
|
|
21
|
+
* name: string;
|
|
22
|
+
* [implementationProhibited]: unknown;
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* // Not exported
|
|
26
|
+
* class ThingImpl implements Thing {
|
|
27
|
+
* constructor(public name: string) { }
|
|
28
|
+
* public readonly [implementationProhibited] = undefined;
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* // @public
|
|
32
|
+
* export function getThing(name: string): Thing { return new ThingImpl(name); }
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* This effectively turns the interface into a nominal type, bypassing TypeScript's structural typing.
|
|
36
|
+
* If someone attempts to supply their own implementation of `Thing`:
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* const thing: Thing = { name: "my thing" };
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ...they will receive a compiler error. Because they cannot access the `implementationProhibited` symbol,
|
|
43
|
+
* they will not be able to appease the compiler except by casting to `any`.
|
|
44
|
+
*
|
|
45
|
+
* Of course, you must make sure not to export the symbol from the package - that would defeat the whole purpose.
|
|
46
|
+
* It is exported here from the internal API for consumption inside the package only. It is not exported from the package's barrel file.
|
|
47
|
+
*
|
|
48
|
+
* The vast majority of interfaces do not need this.
|
|
49
|
+
*/
|
|
50
|
+
exports.implementationProhibited = Symbol("implementation prohibited");
|
|
51
|
+
//# sourceMappingURL=ImplementationProhibited.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImplementationProhibited.js","sourceRoot":"","sources":["../../../src/internal/ImplementationProhibited.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Workspace\r\n */\r\n\r\n/** A symbol used to prevent implementations of an interface from being created outside of the package that defines the interface.\r\n * This is useful when a package defines a public interface with one or more private implementations.\r\n * The only way for users of the package to obtain an implementation of the interface is by calling a method in the package's public API that returns one.\r\n * It permits the package to add new required properties and methods to the interface without breaking API compatibility, because no one\r\n * else can possibly have created their own implementations lacking those new properties or methods.\r\n *\r\n * Simple example:\r\n * ```ts\r\n * // @public\r\n * interface Thing {\r\n * name: string;\r\n * [implementationProhibited]: unknown;\r\n * }\r\n *\r\n * // Not exported\r\n * class ThingImpl implements Thing {\r\n * constructor(public name: string) { }\r\n * public readonly [implementationProhibited] = undefined;\r\n * }\r\n *\r\n * // @public\r\n * export function getThing(name: string): Thing { return new ThingImpl(name); }\r\n * ```\r\n *\r\n * This effectively turns the interface into a nominal type, bypassing TypeScript's structural typing.\r\n * If someone attempts to supply their own implementation of `Thing`:\r\n *\r\n * ```ts\r\n * const thing: Thing = { name: \"my thing\" };\r\n * ```\r\n *\r\n * ...they will receive a compiler error. Because they cannot access the `implementationProhibited` symbol,\r\n * they will not be able to appease the compiler except by casting to `any`.\r\n *\r\n * Of course, you must make sure not to export the symbol from the package - that would defeat the whole purpose.\r\n * It is exported here from the internal API for consumption inside the package only. It is not exported from the package's barrel file.\r\n *\r\n * The vast majority of interfaces do not need this.\r\n */\r\nexport const implementationProhibited = Symbol(\"implementation prohibited\");\r\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Workspace
|
|
3
|
+
*/
|
|
4
|
+
import { BeEvent } from "@itwin/core-bentley";
|
|
5
|
+
import { LocalDirName, LocalFileName } from "@itwin/core-common";
|
|
6
|
+
import { Setting, SettingName, Settings, SettingsContainer, SettingsDictionary, SettingsDictionaryProps, SettingsDictionarySource, SettingsPriority } from "../../workspace/Settings";
|
|
7
|
+
import { implementationProhibited } from "../ImplementationProhibited";
|
|
8
|
+
/**
|
|
9
|
+
* Internal implementation of Settings interface.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare class SettingsImpl implements Settings {
|
|
13
|
+
readonly [implementationProhibited]: undefined;
|
|
14
|
+
dictionaries: SettingsDictionary[];
|
|
15
|
+
protected verifyPriority(_priority: SettingsPriority): void;
|
|
16
|
+
close(): void;
|
|
17
|
+
readonly onSettingsChanged: BeEvent<() => void>;
|
|
18
|
+
addFile(fileName: LocalFileName, priority: SettingsPriority): void;
|
|
19
|
+
addDirectory(dirName: LocalDirName, priority: SettingsPriority): void;
|
|
20
|
+
addJson(props: SettingsDictionaryProps, settingsJson: string): void;
|
|
21
|
+
addDictionary(props: SettingsDictionaryProps, settings: SettingsContainer): void;
|
|
22
|
+
getDictionary(source: SettingsDictionarySource): SettingsDictionary | undefined;
|
|
23
|
+
dropDictionary(source: SettingsDictionarySource, raiseEvent?: boolean): boolean;
|
|
24
|
+
getSettingEntries<T extends Setting>(settingName: SettingName): Iterable<{
|
|
25
|
+
value: T;
|
|
26
|
+
dictionary: SettingsDictionary;
|
|
27
|
+
}>;
|
|
28
|
+
getSettingValues<T extends Setting>(settingName: SettingName): Iterable<T>;
|
|
29
|
+
getSetting<T extends Setting>(settingName: SettingName, defaultValue?: T): T | undefined;
|
|
30
|
+
private getResult;
|
|
31
|
+
getString(name: SettingName, defaultValue: string): string;
|
|
32
|
+
getString(name: SettingName): string | undefined;
|
|
33
|
+
getBoolean(name: SettingName, defaultValue: boolean): boolean;
|
|
34
|
+
getBoolean(name: SettingName): boolean | undefined;
|
|
35
|
+
getNumber(name: SettingName, defaultValue: number): number;
|
|
36
|
+
getNumber(name: SettingName): number | undefined;
|
|
37
|
+
getObject<T extends object>(name: SettingName, defaultValue: T): T;
|
|
38
|
+
getObject<T extends object>(name: SettingName): T | undefined;
|
|
39
|
+
getArray<T extends Setting>(name: SettingName, defaultValue: T[]): T[];
|
|
40
|
+
getArray<T extends Setting>(name: SettingName): T[] | undefined;
|
|
41
|
+
private getCombinedArray;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=SettingsImpl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsImpl.d.ts","sourceRoot":"","sources":["../../../../src/internal/workspace/SettingsImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEtL,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAsBvE;;;GAGG;AACH,qBAAa,YAAa,YAAW,QAAQ;IAC3C,SAAgB,CAAC,wBAAwB,CAAC,YAAa;IAChD,YAAY,EAAE,kBAAkB,EAAE,CAAM;IAC/C,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB;IAC7C,KAAK;IACZ,SAAgB,iBAAiB,gBAAqB,IAAI,EAAI;IAEvD,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB;IAI3D,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAQ9D,OAAO,CAAC,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM;IAI5D,aAAa,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB;IAiBzE,aAAa,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,GAAG,SAAS;IAQ/E,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,UAAO;IAYhE,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,kBAAkB,CAAA;KAAC,CAAC;IASrH,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC;IAM5E,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAS/F,OAAO,CAAC,SAAS;IAMV,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAC1D,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhD,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAC7D,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAIlD,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAC1D,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhD,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAClE,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC,GAAG,SAAS;IAK7D,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IACtE,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,SAAS;IActE,OAAO,CAAC,gBAAgB;CAgBzB"}
|