@gooddata/sdk-model 11.26.0-alpha.0 → 11.26.0-alpha.2
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/esm/dashboard/drill.d.ts +12 -0
- package/esm/dashboard/drill.d.ts.map +1 -1
- package/esm/dashboard/drill.js.map +1 -1
- package/esm/exports/index.d.ts +1 -0
- package/esm/exports/index.d.ts.map +1 -1
- package/esm/exports/index.js.map +1 -1
- package/esm/index.d.ts +3 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/pluggableApplication/index.d.ts +423 -0
- package/esm/pluggableApplication/index.d.ts.map +1 -0
- package/esm/pluggableApplication/index.js +27 -0
- package/esm/pluggableApplication/index.js.map +1 -0
- package/esm/sdk-model.d.ts +3814 -3321
- package/esm/settings/index.d.ts +8 -882
- package/esm/settings/index.d.ts.map +1 -1
- package/esm/settings/index.js +1 -10
- package/esm/settings/index.js.map +1 -1
- package/esm/settings/settings.d.ts +910 -0
- package/esm/settings/settings.d.ts.map +1 -0
- package/esm/settings/settings.js +12 -0
- package/esm/settings/settings.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { type ILocale } from "../base/localization.js";
|
|
2
|
+
import { type IEntitlementsName } from "../entitlements/index.js";
|
|
3
|
+
import { type OrganizationPermissionAssignment } from "../organization/index.js";
|
|
4
|
+
import { type IWorkspacePermissions } from "../permissions/index.js";
|
|
5
|
+
import { type IFeatureFlags, type IPermanentSettings } from "../settings/settings.js";
|
|
6
|
+
/**
|
|
7
|
+
* Defines in which scope the application should be registered.
|
|
8
|
+
*
|
|
9
|
+
* The default UI uses this information to determine if the application is visible in
|
|
10
|
+
* the organization or workspace portal.
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export type ApplicationScope = "organization" | "workspace";
|
|
15
|
+
/**
|
|
16
|
+
* Localized titles of pluggable application.
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export type LocalizedTitle = {
|
|
21
|
+
[locale in ILocale]: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Logical condition for evaluating requirement properties.
|
|
25
|
+
*
|
|
26
|
+
* Supports composable AND/OR logic for determining whether an application should be accessible.
|
|
27
|
+
* Conditions can be nested arbitrarily to express complex boolean expressions.
|
|
28
|
+
*
|
|
29
|
+
* There are three forms:
|
|
30
|
+
*
|
|
31
|
+
* 1. **Plain object (implicit AND)** — all specified properties must match their expected values.
|
|
32
|
+
* This is the simplest form and is backwards compatible with the original flat object types.
|
|
33
|
+
* Example:
|
|
34
|
+
* \{ canInitData: true, canRefreshData: true \} // both must be true
|
|
35
|
+
*
|
|
36
|
+
* 2. **$or condition** — at least one of the nested conditions must be satisfied.
|
|
37
|
+
* Example:
|
|
38
|
+
* \{ \$or: [\{ canInitData: true \}, \{ canRefreshData: true \}] \} // either one suffices
|
|
39
|
+
*
|
|
40
|
+
* 3. **$and condition** — all nested conditions must be satisfied. Useful when composing
|
|
41
|
+
* with $or at deeper levels to express grouped AND clauses.
|
|
42
|
+
* Example:
|
|
43
|
+
* \{
|
|
44
|
+
* \$or: [
|
|
45
|
+
* \{ \$and: [\{ canInitData: true \}, \{ canManageProject: true \}] \},
|
|
46
|
+
* \{ canRefreshData: true \},
|
|
47
|
+
* ]
|
|
48
|
+
* \}
|
|
49
|
+
*
|
|
50
|
+
* @alpha
|
|
51
|
+
*/
|
|
52
|
+
export type Condition<T> = T | IConditionOr<T> | IConditionAnd<T>;
|
|
53
|
+
/**
|
|
54
|
+
* OR condition — at least one of the nested conditions must be satisfied.
|
|
55
|
+
*
|
|
56
|
+
* @alpha
|
|
57
|
+
*/
|
|
58
|
+
export interface IConditionOr<T> {
|
|
59
|
+
$or: Array<Condition<T>>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* AND condition — all nested conditions must be satisfied.
|
|
63
|
+
*
|
|
64
|
+
* @alpha
|
|
65
|
+
*/
|
|
66
|
+
export interface IConditionAnd<T> {
|
|
67
|
+
$and: Array<Condition<T>>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Settings and their values that must be set for the pluggable application to be accessible for the currently
|
|
71
|
+
* logged user.
|
|
72
|
+
*
|
|
73
|
+
* @alpha
|
|
74
|
+
*/
|
|
75
|
+
export type RequiredSettings = Condition<Partial<IPermanentSettings | IFeatureFlags>>;
|
|
76
|
+
/**
|
|
77
|
+
* Entitlements and their values that must be set for the pluggable application to be accessible for
|
|
78
|
+
* the currently logged user.
|
|
79
|
+
*
|
|
80
|
+
* @alpha
|
|
81
|
+
*/
|
|
82
|
+
export type RequiredEntitlements = Condition<Partial<{
|
|
83
|
+
[entitlement in IEntitlementsName]: string | boolean;
|
|
84
|
+
}>>;
|
|
85
|
+
/**
|
|
86
|
+
* Workspace permissions and their values that must be set for the pluggable application to be accessible for
|
|
87
|
+
* the currently logged user.
|
|
88
|
+
*
|
|
89
|
+
* @alpha
|
|
90
|
+
*/
|
|
91
|
+
export type RequiredWorkspacePermissions = Condition<Partial<IWorkspacePermissions>>;
|
|
92
|
+
/**
|
|
93
|
+
* Organization permissions that must be set for the pluggable application to be accessible for
|
|
94
|
+
* the currently logged user.
|
|
95
|
+
*
|
|
96
|
+
* @alpha
|
|
97
|
+
*/
|
|
98
|
+
export type RequiredOrganizationPermissions = Condition<Partial<{
|
|
99
|
+
[permission in OrganizationPermissionAssignment]: boolean;
|
|
100
|
+
}>>;
|
|
101
|
+
/**
|
|
102
|
+
* Pluggable application meta-information, v1.
|
|
103
|
+
*
|
|
104
|
+
* @alpha
|
|
105
|
+
*/
|
|
106
|
+
export interface IPluggableApplicationMetaV1 {
|
|
107
|
+
/**
|
|
108
|
+
* The version of the application API.
|
|
109
|
+
*
|
|
110
|
+
* Explicit version is specified here as the applications list will be passed down the contract,
|
|
111
|
+
* for example, to shell application UI rendered, that can use 3rd party module for rendering.
|
|
112
|
+
* The local and remote registry manifest is versioned, but these types will not be passed down once
|
|
113
|
+
* the resulting list of the application is constructed from both of these manifests.
|
|
114
|
+
*/
|
|
115
|
+
apiVersion: "1.0";
|
|
116
|
+
/**
|
|
117
|
+
* Unique ID of the application.
|
|
118
|
+
*
|
|
119
|
+
* Used when the application is referenced by the remote registry override and in any other case
|
|
120
|
+
* when the application needs to be referenced.
|
|
121
|
+
*/
|
|
122
|
+
id: string;
|
|
123
|
+
/**
|
|
124
|
+
* States if the application is enabled and should be allowed to load by the shell application.
|
|
125
|
+
*
|
|
126
|
+
* Used mainly by the remote registry override to disable the standard application.
|
|
127
|
+
*/
|
|
128
|
+
isEnabled?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Title of the application.
|
|
131
|
+
*
|
|
132
|
+
* Used, for example, in Application Header, when the localized title variant is not provided.
|
|
133
|
+
*/
|
|
134
|
+
title: string;
|
|
135
|
+
/**
|
|
136
|
+
* Optional localized titles map keyed by supported locale.
|
|
137
|
+
*
|
|
138
|
+
* It is used in the Application Header to display a localized name of the application. Each application
|
|
139
|
+
* has its own locale bundle, but it can't be used to store the localized name of the application.
|
|
140
|
+
* The application bundle is loaded and parsed only after the user clicks on the application link.
|
|
141
|
+
*/
|
|
142
|
+
localizedTitle?: LocalizedTitle;
|
|
143
|
+
/**
|
|
144
|
+
* Defines in which scope the application should be registered.
|
|
145
|
+
*
|
|
146
|
+
* The default UI uses this information to determine if the application is visible in
|
|
147
|
+
* the organization or workspace portal.
|
|
148
|
+
*/
|
|
149
|
+
applicationScope: ApplicationScope;
|
|
150
|
+
/**
|
|
151
|
+
* Order of the application in the menu.
|
|
152
|
+
*
|
|
153
|
+
* Applications are sorted and rendered in the default UI according to this value, from smallest
|
|
154
|
+
* to the highest.
|
|
155
|
+
*/
|
|
156
|
+
menuOrder: number;
|
|
157
|
+
/**
|
|
158
|
+
* Settings (and feature flags) and their values that must be set for the pluggable application to be
|
|
159
|
+
* accessible for the currently
|
|
160
|
+
* logged user.
|
|
161
|
+
*/
|
|
162
|
+
requiredSettings?: RequiredSettings;
|
|
163
|
+
/**
|
|
164
|
+
* Entitlements and their values that must be set for the pluggable application to be accessible for
|
|
165
|
+
* the currently logged user.
|
|
166
|
+
*/
|
|
167
|
+
requiredEntitlements?: RequiredEntitlements;
|
|
168
|
+
/**
|
|
169
|
+
* Workspace permissions and their values that must be set for the pluggable application to be
|
|
170
|
+
* accessible for the currently logged user.
|
|
171
|
+
*/
|
|
172
|
+
requiredWorkspacePermissions?: RequiredWorkspacePermissions;
|
|
173
|
+
/**
|
|
174
|
+
* Organization permissions that must be set for the pluggable application to be accessible for
|
|
175
|
+
* the currently logged user.
|
|
176
|
+
*/
|
|
177
|
+
requiredOrganizationPermissions?: RequiredOrganizationPermissions;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Pluggable application meta-information.
|
|
181
|
+
*
|
|
182
|
+
* @alpha
|
|
183
|
+
*/
|
|
184
|
+
export type PluggableApplicationMeta = IPluggableApplicationMetaV1;
|
|
185
|
+
/**
|
|
186
|
+
* Definition of the remote pluggable application.
|
|
187
|
+
* The application is loaded via Module Federation.
|
|
188
|
+
*
|
|
189
|
+
* @alpha
|
|
190
|
+
*/
|
|
191
|
+
export interface IRemotePluggableApplicationModule {
|
|
192
|
+
/**
|
|
193
|
+
* Full URL of the remote federated module with the application bundle.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* https://my-remote-federated-module.com/remoteEntry.js
|
|
197
|
+
*/
|
|
198
|
+
url: string;
|
|
199
|
+
/**
|
|
200
|
+
* Unique module federation scope value (must match the remote module definition during build)
|
|
201
|
+
* Must be unique within the same remote federation to not share dependencies and scope with another
|
|
202
|
+
* application.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* "my-remote-federated-module"
|
|
206
|
+
*/
|
|
207
|
+
scope: string;
|
|
208
|
+
/**
|
|
209
|
+
* Exposed module name. Must match the remote module definition.
|
|
210
|
+
* Maps to internal application module (e.g. "./src/remote-entry.tsx")
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* "./AppModule"
|
|
214
|
+
*/
|
|
215
|
+
module: string;
|
|
216
|
+
/**
|
|
217
|
+
* Base route of the application.
|
|
218
|
+
* It is relative to the shell application route.
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* "/my-application"
|
|
222
|
+
*
|
|
223
|
+
* When the application is registered to "organization" scope, the application will be hosted at
|
|
224
|
+
* /organization/my-application.
|
|
225
|
+
* When the application is registered to the "workspace" scope, the application will be hosted at
|
|
226
|
+
* /workspace/\{workspaceId\}/my-application.
|
|
227
|
+
*/
|
|
228
|
+
routeBase: string;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Remote pluggable application registry item, v1.
|
|
232
|
+
* Loaded via Module Federation.
|
|
233
|
+
*
|
|
234
|
+
* @alpha
|
|
235
|
+
*/
|
|
236
|
+
export interface IRemotePluggableApplicationRegistryItemV1 extends IPluggableApplicationMetaV1 {
|
|
237
|
+
/**
|
|
238
|
+
* Defines how the remote-federated module should be loaded.
|
|
239
|
+
*/
|
|
240
|
+
remote: IRemotePluggableApplicationModule;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Remote pluggable application registry item.
|
|
244
|
+
* Loaded via Module Federation.
|
|
245
|
+
*
|
|
246
|
+
* @alpha
|
|
247
|
+
*/
|
|
248
|
+
export type RemotePluggableApplicationRegistryItem = IRemotePluggableApplicationRegistryItemV1;
|
|
249
|
+
/**
|
|
250
|
+
* Definition of the pluggable application deployed locally with the shell application.
|
|
251
|
+
* The application is loaded from the host bundle asynchronously via lazy-loaded import.
|
|
252
|
+
*
|
|
253
|
+
* @alpha
|
|
254
|
+
*/
|
|
255
|
+
export interface ILocalPluggableApplicationModule {
|
|
256
|
+
/**
|
|
257
|
+
* Local module path.
|
|
258
|
+
* Imported from the host bundle asynchronously.
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* "/src/localApps/organization.tsx"
|
|
262
|
+
*/
|
|
263
|
+
localModule: string;
|
|
264
|
+
/**
|
|
265
|
+
* Base route of the application.
|
|
266
|
+
* It is relative to the shell application route.
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* "/my-application
|
|
270
|
+
*
|
|
271
|
+
* When the application is registered to "organization" scope, the application will be hosted at
|
|
272
|
+
* /organization/my-application.
|
|
273
|
+
* When the application is registered to "workspace" scope, the application will be hosted at
|
|
274
|
+
* /workspace/\{workspaceId\}/my-application.
|
|
275
|
+
*/
|
|
276
|
+
routeBase: string;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Local pluggable application registry item, v1.
|
|
280
|
+
* Loaded from the host bundle asynchronously.
|
|
281
|
+
*
|
|
282
|
+
* @alpha
|
|
283
|
+
*/
|
|
284
|
+
export interface ILocalPluggableApplicationRegistryItemV1 extends IPluggableApplicationMetaV1 {
|
|
285
|
+
/**
|
|
286
|
+
* Defines how the local module should be loaded.
|
|
287
|
+
*/
|
|
288
|
+
local: ILocalPluggableApplicationModule;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Local pluggable application registry item.
|
|
292
|
+
* Loaded from the host bundle asynchronously.
|
|
293
|
+
*
|
|
294
|
+
* @alpha
|
|
295
|
+
*/
|
|
296
|
+
export type LocalPluggableApplicationRegistryItem = ILocalPluggableApplicationRegistryItemV1;
|
|
297
|
+
/**
|
|
298
|
+
* Definition of the pluggable application that is just a URL link.
|
|
299
|
+
* The default UI will replace the application window with the URL link.
|
|
300
|
+
*
|
|
301
|
+
* @alpha
|
|
302
|
+
*/
|
|
303
|
+
export interface IExternalUrlPluggableApplicationModule {
|
|
304
|
+
/**
|
|
305
|
+
* URL of the external application.
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* https://google.com
|
|
309
|
+
*/
|
|
310
|
+
url: string;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* External pluggable application registry item, v1.
|
|
314
|
+
*
|
|
315
|
+
* Loaded from an external application hosted module outside the shell, i.e., external link that will
|
|
316
|
+
* replace the application window.
|
|
317
|
+
*
|
|
318
|
+
* @alpha
|
|
319
|
+
*/
|
|
320
|
+
export interface IExternalPluggableApplicationRegistryItemV1 extends IPluggableApplicationMetaV1 {
|
|
321
|
+
/**
|
|
322
|
+
* Defines where the web application should be redirected.
|
|
323
|
+
*/
|
|
324
|
+
external: IExternalUrlPluggableApplicationModule;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* External pluggable application registry item.
|
|
328
|
+
*
|
|
329
|
+
* Loaded from an external application hosted module outside the shell, i.e., external link that will
|
|
330
|
+
* replace the application window.
|
|
331
|
+
*
|
|
332
|
+
* @alpha
|
|
333
|
+
*/
|
|
334
|
+
export type ExternalPluggableApplicationRegistryItem = IExternalPluggableApplicationRegistryItemV1;
|
|
335
|
+
/**
|
|
336
|
+
* Pluggable application registry item
|
|
337
|
+
*
|
|
338
|
+
* @alpha
|
|
339
|
+
*/
|
|
340
|
+
export type PluggableApplicationRegistryItem = RemotePluggableApplicationRegistryItem | LocalPluggableApplicationRegistryItem | ExternalPluggableApplicationRegistryItem;
|
|
341
|
+
/**
|
|
342
|
+
* Pluggable application registry, v1.
|
|
343
|
+
*
|
|
344
|
+
* @alpha
|
|
345
|
+
*/
|
|
346
|
+
export interface ILocalPluggableApplicationsRegistryV1 {
|
|
347
|
+
/**
|
|
348
|
+
* The version of the API used by the application manifest
|
|
349
|
+
*/
|
|
350
|
+
apiVersion: "1.0";
|
|
351
|
+
/**
|
|
352
|
+
* The list of pluggable applications deployed in the shell application by default.
|
|
353
|
+
*/
|
|
354
|
+
applications: PluggableApplicationRegistryItem[];
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Pluggable application registry
|
|
358
|
+
*
|
|
359
|
+
* @alpha
|
|
360
|
+
*/
|
|
361
|
+
export type LocalPluggableApplicationsRegistry = ILocalPluggableApplicationsRegistryV1;
|
|
362
|
+
/**
|
|
363
|
+
* Pluggable application remote registry, v1.
|
|
364
|
+
*
|
|
365
|
+
* @alpha
|
|
366
|
+
*/
|
|
367
|
+
export interface IRemotePluggableApplicationsRegistryV1 {
|
|
368
|
+
/**
|
|
369
|
+
* The version of the API used by the application manifest
|
|
370
|
+
*/
|
|
371
|
+
apiVersion: "1.0";
|
|
372
|
+
/**
|
|
373
|
+
* The overrides of the pluggable applications deployed in the shell application by default.
|
|
374
|
+
*
|
|
375
|
+
* Each override is mapped to a key that is the well-documented ID of the default pluggable application,
|
|
376
|
+
* e.g., gdc-analytical-designer, gdc-dashboards, etc. The property can be used, for example, to disable
|
|
377
|
+
* one of these applications or changing the order under which it is added to the Application Header menu.
|
|
378
|
+
*/
|
|
379
|
+
overrides?: {
|
|
380
|
+
[applicationId: string]: Partial<PluggableApplicationRegistryItem>;
|
|
381
|
+
};
|
|
382
|
+
/**
|
|
383
|
+
* The optional list of allowed standard applications.
|
|
384
|
+
*
|
|
385
|
+
* The array of well-documented IDs of the standard applications that are deployed in the shell
|
|
386
|
+
* application by default. The property can be used to stabilize which of the standard applications
|
|
387
|
+
* will be available in the Application Header menu. When a new standard application is deployed in
|
|
388
|
+
* the shell application, it will not appear in the menu until it is added to the list of allowed
|
|
389
|
+
* standard applications.
|
|
390
|
+
*/
|
|
391
|
+
allowedStandardApplications?: string[];
|
|
392
|
+
/**
|
|
393
|
+
* The list of additional pluggable applications registered to the shell application.
|
|
394
|
+
*
|
|
395
|
+
* Mainly used to register 3rd party hosted remote module federated applications.
|
|
396
|
+
*/
|
|
397
|
+
applications?: PluggableApplicationRegistryItem[];
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Pluggable application remote registry
|
|
401
|
+
*
|
|
402
|
+
* @alpha
|
|
403
|
+
*/
|
|
404
|
+
export type RemotePluggableApplicationsRegistry = IRemotePluggableApplicationsRegistryV1;
|
|
405
|
+
/**
|
|
406
|
+
* Type guard for ExternalPluggableApplicationRegistryItem
|
|
407
|
+
*
|
|
408
|
+
* @alpha
|
|
409
|
+
*/
|
|
410
|
+
export declare function isExternalPluggableApplicationRegistryItem(app: PluggableApplicationRegistryItem): app is ExternalPluggableApplicationRegistryItem;
|
|
411
|
+
/**
|
|
412
|
+
* Type guard for LocalPluggableApplicationRegistryItem
|
|
413
|
+
*
|
|
414
|
+
* @alpha
|
|
415
|
+
*/
|
|
416
|
+
export declare function isLocalPluggableApplicationRegistryItem(app: PluggableApplicationRegistryItem): app is LocalPluggableApplicationRegistryItem;
|
|
417
|
+
/**
|
|
418
|
+
* Type guard for RemotePluggableApplicationRegistryItem
|
|
419
|
+
*
|
|
420
|
+
* @alpha
|
|
421
|
+
*/
|
|
422
|
+
export declare function isRemotePluggableApplicationRegistryItem(app: PluggableApplicationRegistryItem): app is RemotePluggableApplicationRegistryItem;
|
|
423
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pluggableApplication/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { isEmpty } from "lodash-es";
|
|
3
|
+
/**
|
|
4
|
+
* Type guard for ExternalPluggableApplicationRegistryItem
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export function isExternalPluggableApplicationRegistryItem(app) {
|
|
9
|
+
return !isEmpty(app) && app.external !== undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Type guard for LocalPluggableApplicationRegistryItem
|
|
13
|
+
*
|
|
14
|
+
* @alpha
|
|
15
|
+
*/
|
|
16
|
+
export function isLocalPluggableApplicationRegistryItem(app) {
|
|
17
|
+
return !isEmpty(app) && app.local !== undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Type guard for RemotePluggableApplicationRegistryItem
|
|
21
|
+
*
|
|
22
|
+
* @alpha
|
|
23
|
+
*/
|
|
24
|
+
export function isRemotePluggableApplicationRegistryItem(app) {
|
|
25
|
+
return !isEmpty(app) && app.remote !== undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pluggableApplication/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkcpC;;;;GAIG;AACH,MAAM,UAAU,0CAA0C,CACtD,GAAqC,EACU;IAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAAgD,CAAC,QAAQ,KAAK,SAAS,CAAC;AAAA,CACpG;AAED;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CACnD,GAAqC,EACO;IAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAA6C,CAAC,KAAK,KAAK,SAAS,CAAC;AAAA,CAC9F;AAED;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CACpD,GAAqC,EACQ;IAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAA8C,CAAC,MAAM,KAAK,SAAS,CAAC;AAAA,CAChG"}
|