@nxtedition/types 23.1.2 → 23.1.4
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/dist/app.d.ts +7 -1
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.js +3 -0
- package/dist/common/json-schema.d.ts +95 -0
- package/dist/common/json-schema.js +1 -0
- package/dist/common/nxtpression.d.ts +1 -1
- package/dist/common/panel-property.d.ts +2 -29
- package/dist/common/print.d.ts +30 -0
- package/dist/common/print.js +1 -0
- package/dist/common/render-scene.d.ts +73 -12
- package/dist/common/schema-property.d.ts +36 -4
- package/dist/common/settings.d.ts +72 -43
- package/dist/common/settings.js +18 -1
- package/dist/common/widget.d.ts +16 -0
- package/dist/common/widget.js +1 -0
- package/dist/nxtpression.d.ts +745 -170
- package/dist/records/domains/condition.d.ts +1 -1
- package/dist/records/domains/connection/file/smb.d.ts +2 -0
- package/dist/records/domains/event.d.ts +10 -3
- package/dist/records/domains/gallery.d.ts +8 -0
- package/dist/records/domains/gallery.js +1 -0
- package/dist/records/domains/index.d.ts +9 -1
- package/dist/records/domains/index.js +4 -0
- package/dist/records/domains/ingestschedule.d.ts +1 -1
- package/dist/records/domains/media.d.ts +4 -0
- package/dist/records/domains/panel.d.ts +7 -19
- package/dist/records/domains/publish/file-legacy.d.ts +1 -1
- package/dist/records/domains/render.d.ts +54 -3
- package/dist/records/domains/role.d.ts +8 -0
- package/dist/records/domains/schema.d.ts +21 -0
- package/dist/records/domains/schema.js +1 -0
- package/dist/records/domains/search.d.ts +1 -1
- package/dist/records/domains/storage.d.ts +87 -0
- package/dist/records/domains/storage.js +1 -0
- package/dist/records/domains/stream.d.ts +80 -0
- package/dist/records/domains/stream.js +1 -0
- package/dist/records/domains/template.d.ts +34 -0
- package/dist/records/exact/asset.d.ts +17 -7
- package/dist/records/exact/index.d.ts +6 -0
- package/dist/records/exact/monitor.d.ts +1 -0
- package/dist/records/index.d.ts +1 -1
- package/dist/records/utils.d.ts +5 -1
- package/dist/records/validate/assert-guard.js +9235 -4387
- package/dist/records/validate/assert.js +9359 -4496
- package/dist/records/validate/is.js +224 -115
- package/dist/records/validate/schemas.d.ts +3 -10
- package/dist/records/validate/schemas.js +5652 -1454
- package/dist/records/validate/stringify.js +853 -180
- package/dist/records/validate/utils.d.ts +1 -1
- package/dist/records/validate/utils.js +2 -2
- package/dist/records/validate/validate-equals.js +11393 -5018
- package/dist/records/validate/validate.js +10257 -6113
- package/package.json +1 -1
package/dist/nxtpression.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ declare interface AssetCreatedProvidedRecord {
|
|
|
58
58
|
|
|
59
59
|
declare interface AssetDaemonRecord {
|
|
60
60
|
"user-notify"?: boolean;
|
|
61
|
+
validate?: boolean;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
declare interface AssetDaemonUserNotifyStateRecord {
|
|
@@ -65,6 +66,11 @@ declare interface AssetDaemonUserNotifyStateRecord {
|
|
|
65
66
|
version?: number;
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
declare interface AssetDaemonValidateStateRecord {
|
|
70
|
+
since?: string | 0 | null;
|
|
71
|
+
version?: number;
|
|
72
|
+
}
|
|
73
|
+
|
|
68
74
|
declare interface AssetDeadlinesRecord {
|
|
69
75
|
value?: Nxtpression<string, {
|
|
70
76
|
id: string;
|
|
@@ -173,6 +179,12 @@ declare interface AssetFileRefsProvidedRecord {
|
|
|
173
179
|
value?: string[];
|
|
174
180
|
}
|
|
175
181
|
|
|
182
|
+
declare interface AssetHttpRecord {
|
|
183
|
+
whitelist?: string[] | null;
|
|
184
|
+
blacklist?: string[] | null;
|
|
185
|
+
allowImport?: boolean;
|
|
186
|
+
}
|
|
187
|
+
|
|
176
188
|
declare interface AssetIconRecord {
|
|
177
189
|
value?: Nxtpression<string, {
|
|
178
190
|
id: string;
|
|
@@ -333,6 +345,7 @@ declare interface AssetRecords {
|
|
|
333
345
|
"asset.tags": AssetTagsRecord;
|
|
334
346
|
"asset.title": AssetTitleRecord;
|
|
335
347
|
"asset.types": AssetTypesRecord;
|
|
348
|
+
"asset.http": AssetHttpRecord;
|
|
336
349
|
}
|
|
337
350
|
|
|
338
351
|
declare interface AssetRef {
|
|
@@ -399,6 +412,38 @@ declare interface AuthDomainRecords {
|
|
|
399
412
|
":auth": AuthDomainRecord;
|
|
400
413
|
}
|
|
401
414
|
|
|
415
|
+
declare interface BaseSchemaProperty<Value = unknown> {
|
|
416
|
+
domain?: string;
|
|
417
|
+
path?: string;
|
|
418
|
+
/** Specifying what type of data will be entered into the field. */
|
|
419
|
+
type?: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc" | undefined;
|
|
420
|
+
/** User-friendly title of the property. This will be used as the field's label in the UI. */
|
|
421
|
+
title?: string;
|
|
422
|
+
description?: string;
|
|
423
|
+
/** If present, indicates that the user must specify a value for the asset to be treated as valid. */
|
|
424
|
+
required?: boolean;
|
|
425
|
+
oneOf?: Array<BaseSchemaProperty>;
|
|
426
|
+
anyOf?: Array<BaseSchemaProperty>;
|
|
427
|
+
enum?: ReadonlyArray<Value>;
|
|
428
|
+
widget?: WidgetType | WidgetOptions;
|
|
429
|
+
placeholder?: string;
|
|
430
|
+
helpText?: string;
|
|
431
|
+
invalid?: boolean;
|
|
432
|
+
emptyValue?: Value;
|
|
433
|
+
minItems?: number;
|
|
434
|
+
maxItems?: number;
|
|
435
|
+
items?: BaseSchemaProperty<Value>;
|
|
436
|
+
properties?: Record<string, BaseSchemaProperty<unknown>>;
|
|
437
|
+
computed?: Nxtpression<Value>;
|
|
438
|
+
/** An object specifying where to index the data. Adding this will effectively make the data searchable. */
|
|
439
|
+
index?: {
|
|
440
|
+
/** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
|
|
441
|
+
label: string;
|
|
442
|
+
/** A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case */
|
|
443
|
+
path: string;
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
|
|
402
447
|
declare interface BundleDomainRecords {
|
|
403
448
|
[":bundle"]: BundleRecord;
|
|
404
449
|
[":bundle.revisions"]: BundleRevisionsRecord;
|
|
@@ -648,23 +693,30 @@ declare interface DeviceDomainStatusRecord {
|
|
|
648
693
|
version?: string;
|
|
649
694
|
}
|
|
650
695
|
|
|
651
|
-
declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
|
|
696
|
+
declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, GalleryDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, SchemaDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StorageDomainRecords, StoryboardDomainRecords, StreamDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
|
|
652
697
|
}
|
|
653
698
|
|
|
654
699
|
declare type Dynamic = false | string[];
|
|
655
700
|
|
|
701
|
+
declare interface DynamicPanelProperty extends DynamicPropertyBase, Omit<PanelProperty, "path" | "domain"> {
|
|
702
|
+
/** ID of the panel asset that defines this property */
|
|
703
|
+
panel: string;
|
|
704
|
+
}
|
|
705
|
+
|
|
656
706
|
/**
|
|
657
707
|
* Dynamic property definition.
|
|
658
708
|
* Properties come from :panel assets or :schema assets.
|
|
659
709
|
*/
|
|
660
|
-
declare
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
/** ID of the schema asset that defines this property (for schema-sourced properties) */
|
|
664
|
-
schema?: string;
|
|
665
|
-
/** List of asset types this property supports */
|
|
666
|
-
supports: string[];
|
|
710
|
+
declare type DynamicProperty = DynamicPanelProperty | DynamicSchemaProperty;
|
|
711
|
+
|
|
712
|
+
declare interface DynamicPropertyBase {
|
|
667
713
|
path: string;
|
|
714
|
+
domain: string;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
declare interface DynamicSchemaProperty extends DynamicPropertyBase, Omit<SchemaProperty, "path" | "domain"> {
|
|
718
|
+
/** ID of the schema asset that defines this property */
|
|
719
|
+
schema: string;
|
|
668
720
|
}
|
|
669
721
|
|
|
670
722
|
declare interface EditDomainRecords {
|
|
@@ -694,6 +746,10 @@ declare interface EmptyConnectionRecord extends ConnectionBase {
|
|
|
694
746
|
type?: null;
|
|
695
747
|
}
|
|
696
748
|
|
|
749
|
+
declare type EmptyObject = {
|
|
750
|
+
[emptyObjectSymbol]?: never;
|
|
751
|
+
};
|
|
752
|
+
|
|
697
753
|
/**
|
|
698
754
|
Represents a strictly empty plain object, the `{}` value.
|
|
699
755
|
|
|
@@ -711,8 +767,11 @@ declare interface EmptyConnectionRecord extends ConnectionBase {
|
|
|
711
767
|
|
|
712
768
|
// With `EmptyObject` only the first case is valid.
|
|
713
769
|
const bar1: EmptyObject = {}; // Pass
|
|
714
|
-
|
|
715
|
-
const
|
|
770
|
+
// @ts-expect-error
|
|
771
|
+
const bar2: EmptyObject = []; // Fail
|
|
772
|
+
// @ts-expect-error
|
|
773
|
+
const bar3: EmptyObject = 42; // Fail
|
|
774
|
+
// @ts-expect-error
|
|
716
775
|
const bar4: EmptyObject = {a: 1}; // Fail
|
|
717
776
|
```
|
|
718
777
|
|
|
@@ -720,10 +779,12 @@ declare interface EmptyConnectionRecord extends ConnectionBase {
|
|
|
720
779
|
|
|
721
780
|
@category Object
|
|
722
781
|
*/
|
|
723
|
-
declare type
|
|
782
|
+
declare type EmptyObject_2 = {[emptyObjectSymbol_2]?: never};
|
|
724
783
|
|
|
725
784
|
declare const emptyObjectSymbol: unique symbol;
|
|
726
785
|
|
|
786
|
+
declare const emptyObjectSymbol_2: unique symbol;
|
|
787
|
+
|
|
727
788
|
declare interface EmptyPublishDef extends PublishDef<null> {
|
|
728
789
|
publish: EmptyPublishRecord;
|
|
729
790
|
}
|
|
@@ -755,6 +816,7 @@ declare interface EventDomainRecords {
|
|
|
755
816
|
":event.duration?": EventDurationRecord;
|
|
756
817
|
":event.children?": EventChildrenRecord;
|
|
757
818
|
":event.props?": EventPropsRecord;
|
|
819
|
+
":event.stats?": EventStatsRecord;
|
|
758
820
|
}
|
|
759
821
|
|
|
760
822
|
declare interface EventDurationRecord {
|
|
@@ -780,6 +842,7 @@ declare interface EventOverlayRecord {
|
|
|
780
842
|
declare type EventProps = {
|
|
781
843
|
source?: string;
|
|
782
844
|
cueCard?: boolean | string;
|
|
845
|
+
printRundownColor?: string;
|
|
783
846
|
startTime?: number;
|
|
784
847
|
shotboxGroup?: string | string[];
|
|
785
848
|
shotboxVisible?: boolean;
|
|
@@ -788,21 +851,27 @@ declare type EventProps = {
|
|
|
788
851
|
declare type EventPropsRecord = EventProps & Record<Exclude<string, keyof EventProps>, JsonValue>;
|
|
789
852
|
|
|
790
853
|
declare interface EventRecord {
|
|
791
|
-
start?: number;
|
|
792
|
-
end?: number;
|
|
793
|
-
duration?: number;
|
|
854
|
+
start?: number | null;
|
|
855
|
+
end?: number | null;
|
|
856
|
+
duration?: number | null;
|
|
857
|
+
position?: string;
|
|
794
858
|
text?: string;
|
|
795
859
|
lang?: string;
|
|
796
860
|
style?: string;
|
|
797
861
|
styleOverrides?: SubtitleEventStyleOverrides;
|
|
798
862
|
}
|
|
799
863
|
|
|
864
|
+
declare interface EventStatsRecord {
|
|
865
|
+
type?: string;
|
|
866
|
+
}
|
|
867
|
+
|
|
800
868
|
declare interface EventTemplateRecord {
|
|
801
869
|
mixin?: string[];
|
|
802
870
|
properties?: object;
|
|
803
871
|
layout?: {
|
|
804
872
|
title?: string;
|
|
805
873
|
};
|
|
874
|
+
controller?: string;
|
|
806
875
|
}
|
|
807
876
|
|
|
808
877
|
declare type ExactRecords = MiscRecords & MediaRecords & AssetRecords & MonitorRecords & StorageRecords;
|
|
@@ -957,9 +1026,11 @@ declare interface FileConnectionSmbRecord extends FileConnectionBase {
|
|
|
957
1026
|
protocol?: "smb";
|
|
958
1027
|
host?: string;
|
|
959
1028
|
share?: string;
|
|
1029
|
+
root?: string;
|
|
960
1030
|
workgroup?: string;
|
|
961
1031
|
username?: string;
|
|
962
1032
|
password?: string;
|
|
1033
|
+
createFolders?: boolean;
|
|
963
1034
|
}
|
|
964
1035
|
|
|
965
1036
|
declare interface FileDomainRecords {
|
|
@@ -1114,14 +1185,14 @@ declare interface FolderItemsDomainRecord {
|
|
|
1114
1185
|
value: string[];
|
|
1115
1186
|
}
|
|
1116
1187
|
|
|
1117
|
-
declare interface
|
|
1188
|
+
declare interface FontFace {
|
|
1118
1189
|
name: string;
|
|
1119
1190
|
family: string;
|
|
1120
1191
|
asset: string;
|
|
1121
1192
|
url: string;
|
|
1122
1193
|
weight: number;
|
|
1123
1194
|
style: "normal" | "italic";
|
|
1124
|
-
ranges:
|
|
1195
|
+
ranges: Range[];
|
|
1125
1196
|
}
|
|
1126
1197
|
|
|
1127
1198
|
declare interface FormattedTextNodeContent {
|
|
@@ -1131,6 +1202,16 @@ declare interface FormattedTextNodeContent {
|
|
|
1131
1202
|
format?: number;
|
|
1132
1203
|
}
|
|
1133
1204
|
|
|
1205
|
+
declare interface GalleryDomainRecord {
|
|
1206
|
+
sources?: {
|
|
1207
|
+
program?: string;
|
|
1208
|
+
};
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
declare interface GalleryDomainRecords {
|
|
1212
|
+
":gallery": GalleryDomainRecord;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1134
1215
|
declare interface GeneralAssetRecord {
|
|
1135
1216
|
title?: string;
|
|
1136
1217
|
tags?: string;
|
|
@@ -1305,7 +1386,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
|
|
|
1305
1386
|
|
|
1306
1387
|
@example
|
|
1307
1388
|
```
|
|
1308
|
-
import {If} from 'type-fest';
|
|
1389
|
+
import type {If} from 'type-fest';
|
|
1309
1390
|
|
|
1310
1391
|
type A = If<true, 'yes', 'no'>;
|
|
1311
1392
|
//=> 'yes'
|
|
@@ -1325,7 +1406,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
|
|
|
1325
1406
|
|
|
1326
1407
|
@example
|
|
1327
1408
|
```
|
|
1328
|
-
import {If, IsAny, IsNever} from 'type-fest';
|
|
1409
|
+
import type {If, IsAny, IsNever} from 'type-fest';
|
|
1329
1410
|
|
|
1330
1411
|
type A = If<IsAny<unknown>, 'is any', 'not any'>;
|
|
1331
1412
|
//=> 'not any'
|
|
@@ -1336,7 +1417,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
|
|
|
1336
1417
|
|
|
1337
1418
|
@example
|
|
1338
1419
|
```
|
|
1339
|
-
import {If, IsEqual} from 'type-fest';
|
|
1420
|
+
import type {If, IsEqual} from 'type-fest';
|
|
1340
1421
|
|
|
1341
1422
|
type IfEqual<T, U, IfBranch, ElseBranch> = If<IsEqual<T, U>, IfBranch, ElseBranch>;
|
|
1342
1423
|
|
|
@@ -1347,6 +1428,41 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
|
|
|
1347
1428
|
//=> 'not equal'
|
|
1348
1429
|
```
|
|
1349
1430
|
|
|
1431
|
+
Note: Sometimes using the `If` type can make an implementation non–tail-recursive, which can impact performance. In such cases, it’s better to use a conditional directly. Refer to the following example:
|
|
1432
|
+
|
|
1433
|
+
@example
|
|
1434
|
+
```
|
|
1435
|
+
import type {If, IsEqual, StringRepeat} from 'type-fest';
|
|
1436
|
+
|
|
1437
|
+
type HundredZeroes = StringRepeat<'0', 100>;
|
|
1438
|
+
|
|
1439
|
+
// The following implementation is not tail recursive
|
|
1440
|
+
type Includes<S extends string, Char extends string> =
|
|
1441
|
+
S extends `${infer First}${infer Rest}`
|
|
1442
|
+
? If<IsEqual<First, Char>,
|
|
1443
|
+
'found',
|
|
1444
|
+
Includes<Rest, Char>>
|
|
1445
|
+
: 'not found';
|
|
1446
|
+
|
|
1447
|
+
// Hence, instantiations with long strings will fail
|
|
1448
|
+
// @ts-expect-error
|
|
1449
|
+
type Fails = Includes<HundredZeroes, '1'>;
|
|
1450
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
1451
|
+
// Error: Type instantiation is excessively deep and possibly infinite.
|
|
1452
|
+
|
|
1453
|
+
// However, if we use a simple conditional instead of `If`, the implementation becomes tail-recursive
|
|
1454
|
+
type IncludesWithoutIf<S extends string, Char extends string> =
|
|
1455
|
+
S extends `${infer First}${infer Rest}`
|
|
1456
|
+
? IsEqual<First, Char> extends true
|
|
1457
|
+
? 'found'
|
|
1458
|
+
: IncludesWithoutIf<Rest, Char>
|
|
1459
|
+
: 'not found';
|
|
1460
|
+
|
|
1461
|
+
// Now, instantiations with long strings will work
|
|
1462
|
+
type Works = IncludesWithoutIf<HundredZeroes, '1'>;
|
|
1463
|
+
//=> 'not found'
|
|
1464
|
+
```
|
|
1465
|
+
|
|
1350
1466
|
@category Type Guard
|
|
1351
1467
|
@category Utilities
|
|
1352
1468
|
*/
|
|
@@ -1430,7 +1546,7 @@ declare type InternalIsUnion<T, U = T> =
|
|
|
1430
1546
|
IsNever<T> extends true
|
|
1431
1547
|
? false
|
|
1432
1548
|
: T extends any
|
|
1433
|
-
?
|
|
1549
|
+
? IsEqual<U, T> extends true
|
|
1434
1550
|
? false
|
|
1435
1551
|
: true
|
|
1436
1552
|
: never
|
|
@@ -1450,14 +1566,53 @@ declare type InternalIsUnion<T, U = T> =
|
|
|
1450
1566
|
import type {IsEmptyObject} from 'type-fest';
|
|
1451
1567
|
|
|
1452
1568
|
type Pass = IsEmptyObject<{}>; //=> true
|
|
1453
|
-
type
|
|
1454
|
-
type
|
|
1569
|
+
type Fail1 = IsEmptyObject<[]>; //=> false
|
|
1570
|
+
type Fail2 = IsEmptyObject<null>; //=> false
|
|
1455
1571
|
```
|
|
1456
1572
|
|
|
1457
|
-
@see EmptyObject
|
|
1573
|
+
@see {@link EmptyObject}
|
|
1458
1574
|
@category Object
|
|
1459
1575
|
*/
|
|
1460
|
-
declare type IsEmptyObject<T> = T extends
|
|
1576
|
+
declare type IsEmptyObject<T> = T extends EmptyObject_2 ? true : false;
|
|
1577
|
+
|
|
1578
|
+
/**
|
|
1579
|
+
Returns a boolean for whether the two given types are equal.
|
|
1580
|
+
|
|
1581
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
1582
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
1583
|
+
|
|
1584
|
+
Use-cases:
|
|
1585
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
1586
|
+
|
|
1587
|
+
@example
|
|
1588
|
+
```
|
|
1589
|
+
import type {IsEqual} from 'type-fest';
|
|
1590
|
+
|
|
1591
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
1592
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
1593
|
+
type Includes<Value extends readonly any[], Item> =
|
|
1594
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
1595
|
+
? IsEqual<Value[0], Item> extends true
|
|
1596
|
+
? true
|
|
1597
|
+
: Includes<rest, Item>
|
|
1598
|
+
: false;
|
|
1599
|
+
```
|
|
1600
|
+
|
|
1601
|
+
@category Type Guard
|
|
1602
|
+
@category Utilities
|
|
1603
|
+
*/
|
|
1604
|
+
declare type IsEqual<A, B> =
|
|
1605
|
+
[A] extends [B]
|
|
1606
|
+
? [B] extends [A]
|
|
1607
|
+
? _IsEqual<A, B>
|
|
1608
|
+
: false
|
|
1609
|
+
: false;
|
|
1610
|
+
|
|
1611
|
+
declare type _IsEqual<A, B> =
|
|
1612
|
+
(<G>() => G extends A & G | G ? 1 : 2) extends
|
|
1613
|
+
(<G>() => G extends B & G | G ? 1 : 2)
|
|
1614
|
+
? true
|
|
1615
|
+
: false;
|
|
1461
1616
|
|
|
1462
1617
|
/**
|
|
1463
1618
|
Returns a boolean for whether the given type is `never`.
|
|
@@ -1472,29 +1627,41 @@ declare type IsEmptyObject<T> = T extends EmptyObject ? true : false;
|
|
|
1472
1627
|
```
|
|
1473
1628
|
import type {IsNever, And} from 'type-fest';
|
|
1474
1629
|
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1630
|
+
type A = IsNever<never>;
|
|
1631
|
+
//=> true
|
|
1632
|
+
|
|
1633
|
+
type B = IsNever<any>;
|
|
1634
|
+
//=> false
|
|
1635
|
+
|
|
1636
|
+
type C = IsNever<unknown>;
|
|
1637
|
+
//=> false
|
|
1638
|
+
|
|
1639
|
+
type D = IsNever<never[]>;
|
|
1640
|
+
//=> false
|
|
1641
|
+
|
|
1642
|
+
type E = IsNever<object>;
|
|
1643
|
+
//=> false
|
|
1644
|
+
|
|
1645
|
+
type F = IsNever<string>;
|
|
1646
|
+
//=> false
|
|
1647
|
+
```
|
|
1648
|
+
|
|
1649
|
+
@example
|
|
1650
|
+
```
|
|
1651
|
+
import type {IsNever} from 'type-fest';
|
|
1652
|
+
|
|
1653
|
+
type IsTrue<T> = T extends true ? true : false;
|
|
1654
|
+
|
|
1655
|
+
// When a distributive conditional is instantiated with `never`, the entire conditional results in `never`.
|
|
1656
|
+
type A = IsTrue<never>;
|
|
1494
1657
|
//=> never
|
|
1495
1658
|
|
|
1496
|
-
|
|
1497
|
-
|
|
1659
|
+
// If you don't want that behaviour, you can explicitly add an `IsNever` check before the distributive conditional.
|
|
1660
|
+
type IsTrueFixed<T> =
|
|
1661
|
+
IsNever<T> extends true ? false : T extends true ? true : false;
|
|
1662
|
+
|
|
1663
|
+
type B = IsTrueFixed<never>;
|
|
1664
|
+
//=> false
|
|
1498
1665
|
```
|
|
1499
1666
|
|
|
1500
1667
|
@category Type Guard
|
|
@@ -1534,13 +1701,6 @@ declare type KeyedProvidedDomainRecords = {
|
|
|
1534
1701
|
[Domain in ProvidedDomainKeys as `${string}${Domain}${string}`]: GettablePossibleEmpty<DomainRecords[Domain]>;
|
|
1535
1702
|
};
|
|
1536
1703
|
|
|
1537
|
-
declare interface KeymapSetting {
|
|
1538
|
-
title?: string;
|
|
1539
|
-
sequence?: string;
|
|
1540
|
-
}
|
|
1541
|
-
|
|
1542
|
-
declare type LayoutWidget = WidgetType | WidgetItem;
|
|
1543
|
-
|
|
1544
1704
|
declare interface LinkNodeContent {
|
|
1545
1705
|
type: "link" | "autolink";
|
|
1546
1706
|
children: FormattedTextNodeContent[];
|
|
@@ -1623,6 +1783,11 @@ declare interface MediaDomainRecords {
|
|
|
1623
1783
|
":media.probe?": MediaProbeRecord;
|
|
1624
1784
|
":media.updateSubtitles?": MediaDomainUpdateSubtitlesRecord;
|
|
1625
1785
|
":media.updateGraphics?": MediaDomainUpdateGraphicsRecord;
|
|
1786
|
+
":media.revisions": MediaDomainRevisionsRecord;
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1789
|
+
declare interface MediaDomainRevisionsRecord {
|
|
1790
|
+
[revisionId: string]: RenderSceneObject;
|
|
1626
1791
|
}
|
|
1627
1792
|
|
|
1628
1793
|
declare interface MediaDomainUpdateGraphicsRecord {
|
|
@@ -1638,8 +1803,8 @@ declare interface MediaFontRecord {
|
|
|
1638
1803
|
}
|
|
1639
1804
|
|
|
1640
1805
|
declare interface MediaFonts {
|
|
1641
|
-
fontFaces?:
|
|
1642
|
-
fontFamilyNames?: Array<
|
|
1806
|
+
fontFaces?: FontFace[];
|
|
1807
|
+
fontFamilyNames?: Array<FontFace["family"]>;
|
|
1643
1808
|
}
|
|
1644
1809
|
|
|
1645
1810
|
declare interface MediaProbeRecord {
|
|
@@ -1770,6 +1935,7 @@ declare type Minimum<Value extends number | bigint> = TagBase<{
|
|
|
1770
1935
|
declare interface MiscRecords {
|
|
1771
1936
|
"asset-daemon": AssetDaemonRecord;
|
|
1772
1937
|
"asset-daemon:user-notify.state": AssetDaemonUserNotifyStateRecord;
|
|
1938
|
+
"asset-daemon:validate.state": AssetDaemonValidateStateRecord;
|
|
1773
1939
|
"deepstream-replicator.stats?": DeepstreamReplicatorStatsRecord;
|
|
1774
1940
|
}
|
|
1775
1941
|
|
|
@@ -1949,7 +2115,7 @@ declare interface NxtError {
|
|
|
1949
2115
|
errors?: NxtError[] | null;
|
|
1950
2116
|
}
|
|
1951
2117
|
|
|
1952
|
-
declare type Nxtpression<ReturnValue = unknown, Context extends
|
|
2118
|
+
declare type Nxtpression<ReturnValue = unknown, Context extends Record<string, unknown> = Record<string, unknown>> = {
|
|
1953
2119
|
/**
|
|
1954
2120
|
* TS-HACK: this property doesn't really exist on the nxtpression string,
|
|
1955
2121
|
* it is only here to make sure the generic Context won't get stripped.
|
|
@@ -2009,6 +2175,7 @@ declare interface NxtStatusMessage {
|
|
|
2009
2175
|
title: string;
|
|
2010
2176
|
url: string;
|
|
2011
2177
|
};
|
|
2178
|
+
data?: unknown;
|
|
2012
2179
|
}
|
|
2013
2180
|
|
|
2014
2181
|
declare interface NxtStatusNode extends NxtStatusObject {
|
|
@@ -2227,8 +2394,16 @@ declare interface Operator<T, R> {
|
|
|
2227
2394
|
declare interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
|
|
2228
2395
|
}
|
|
2229
2396
|
|
|
2397
|
+
declare type PageOrientation = "landscape" | "portrait";
|
|
2398
|
+
|
|
2399
|
+
declare type PageSize = "A5" | "A4" | "A3";
|
|
2400
|
+
|
|
2230
2401
|
declare interface PanelDomainPanelRecord {
|
|
2231
2402
|
title?: string;
|
|
2403
|
+
/**
|
|
2404
|
+
* - If an array: interpreted as a list of supported asset types
|
|
2405
|
+
* - If a string: interpreted as the ID of a search which contains supported assets
|
|
2406
|
+
*/
|
|
2232
2407
|
supports?: string[] | string;
|
|
2233
2408
|
priority?: number;
|
|
2234
2409
|
editorPriority?: number;
|
|
@@ -2236,8 +2411,8 @@ declare interface PanelDomainPanelRecord {
|
|
|
2236
2411
|
[key: string]: PanelProperty;
|
|
2237
2412
|
};
|
|
2238
2413
|
layout?: {
|
|
2239
|
-
panel?:
|
|
2240
|
-
editor?:
|
|
2414
|
+
panel?: WidgetLayout;
|
|
2415
|
+
editor?: WidgetLayout;
|
|
2241
2416
|
};
|
|
2242
2417
|
filter?: Nxtpression;
|
|
2243
2418
|
expand?: Nxtpression;
|
|
@@ -2247,47 +2422,7 @@ declare interface PanelDomainRecords {
|
|
|
2247
2422
|
":panel": PanelDomainPanelRecord;
|
|
2248
2423
|
}
|
|
2249
2424
|
|
|
2250
|
-
declare type
|
|
2251
|
-
|
|
2252
|
-
declare interface PanelLayoutDivider {
|
|
2253
|
-
type: "divider";
|
|
2254
|
-
title?: string;
|
|
2255
|
-
}
|
|
2256
|
-
|
|
2257
|
-
declare interface PanelLayoutItem {
|
|
2258
|
-
property: string;
|
|
2259
|
-
width?: string | number;
|
|
2260
|
-
widget?: LayoutWidget;
|
|
2261
|
-
}
|
|
2262
|
-
|
|
2263
|
-
declare interface PanelProperty<Value = unknown> {
|
|
2264
|
-
/** Specifying what type of data will be entered into the field. */
|
|
2265
|
-
type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
|
|
2266
|
-
/** User-friendly title of the property. This will be used as the field's label in the UI. */
|
|
2267
|
-
title?: string;
|
|
2268
|
-
description?: string;
|
|
2269
|
-
domain?: string;
|
|
2270
|
-
path?: string;
|
|
2271
|
-
computed?: Nxtpression<Value>;
|
|
2272
|
-
/** An object specifying where to index the data. Adding this will effectively make the data searchable. */
|
|
2273
|
-
index?: {
|
|
2274
|
-
/** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
|
|
2275
|
-
label: string;
|
|
2276
|
-
/** A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case */
|
|
2277
|
-
path: string;
|
|
2278
|
-
};
|
|
2279
|
-
/** If present, indicates that the user must specify a value for the asset to be treated as valid. */
|
|
2280
|
-
required?: boolean;
|
|
2281
|
-
oneOf?: Array<{
|
|
2282
|
-
const?: Value;
|
|
2283
|
-
title?: string;
|
|
2284
|
-
}>;
|
|
2285
|
-
anyOf?: Array<{
|
|
2286
|
-
const?: Value;
|
|
2287
|
-
title?: string;
|
|
2288
|
-
}>;
|
|
2289
|
-
enum?: Value[];
|
|
2290
|
-
}
|
|
2425
|
+
declare type PanelProperty<Value = unknown> = BaseSchemaProperty<Value>;
|
|
2291
2426
|
|
|
2292
2427
|
declare interface ParagraphNodeContent extends ElementNodeContent {
|
|
2293
2428
|
type: "paragraph";
|
|
@@ -2384,6 +2519,39 @@ declare interface PlanningRecord {
|
|
|
2384
2519
|
deadline?: string | null;
|
|
2385
2520
|
}
|
|
2386
2521
|
|
|
2522
|
+
declare type PrintOptionalScriptNodes = "event" | "event-data" | "comment" | "heading" | "list" | "quote" | "paragraph" | "horizontalrule";
|
|
2523
|
+
|
|
2524
|
+
declare type PrintOptions = PrintScriptOptions | PrintRundownOptions;
|
|
2525
|
+
|
|
2526
|
+
declare interface PrintOptionsBase {
|
|
2527
|
+
title: string;
|
|
2528
|
+
horizontalMargin: number;
|
|
2529
|
+
pageSize: PageSize;
|
|
2530
|
+
orientation: PageOrientation;
|
|
2531
|
+
fontSize: number;
|
|
2532
|
+
fontFamily?: string;
|
|
2533
|
+
hide: PrintOptionalScriptNodes[];
|
|
2534
|
+
}
|
|
2535
|
+
|
|
2536
|
+
declare interface PrintRundownColumn {
|
|
2537
|
+
key: "id" | "title" | "time" | "duration" | "position" | "accDuration" | "type";
|
|
2538
|
+
label: string;
|
|
2539
|
+
width: string;
|
|
2540
|
+
textAlign: "right" | "left" | "center";
|
|
2541
|
+
}
|
|
2542
|
+
|
|
2543
|
+
declare interface PrintRundownOptions extends PrintOptionsBase {
|
|
2544
|
+
type: "rundown";
|
|
2545
|
+
columns: PrintRundownColumn[];
|
|
2546
|
+
rangeStart?: number;
|
|
2547
|
+
rangeEnd?: number;
|
|
2548
|
+
hide: Exclude<PrintOptionalScriptNodes, "event-data">[];
|
|
2549
|
+
}
|
|
2550
|
+
|
|
2551
|
+
declare interface PrintScriptOptions extends PrintOptionsBase {
|
|
2552
|
+
type: "script";
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2387
2555
|
declare interface PromotedTag {
|
|
2388
2556
|
name: string | null;
|
|
2389
2557
|
icon: string | null;
|
|
@@ -2507,7 +2675,7 @@ declare interface QuoteNodeContent extends ElementNodeContent {
|
|
|
2507
2675
|
type: "quote";
|
|
2508
2676
|
}
|
|
2509
2677
|
|
|
2510
|
-
declare type
|
|
2678
|
+
declare type Range = [
|
|
2511
2679
|
number,
|
|
2512
2680
|
number
|
|
2513
2681
|
];
|
|
@@ -2574,10 +2742,60 @@ declare interface RenderDomainRecords {
|
|
|
2574
2742
|
}
|
|
2575
2743
|
|
|
2576
2744
|
declare interface RenderDomainResultRecord {
|
|
2577
|
-
|
|
2745
|
+
id?: string;
|
|
2578
2746
|
url?: string;
|
|
2747
|
+
files?: string[];
|
|
2748
|
+
refs?: Array<{
|
|
2749
|
+
file?: string;
|
|
2750
|
+
offset?: number;
|
|
2751
|
+
start?: number | null;
|
|
2752
|
+
end?: number | null;
|
|
2753
|
+
}>;
|
|
2579
2754
|
result?: unknown;
|
|
2580
2755
|
error?: null | Record<string, unknown> | Array<Record<string, unknown>>;
|
|
2756
|
+
extension?: string;
|
|
2757
|
+
extensions?: string[];
|
|
2758
|
+
type?: string;
|
|
2759
|
+
format?: string;
|
|
2760
|
+
formatName?: string;
|
|
2761
|
+
mimeType?: string;
|
|
2762
|
+
duration?: number;
|
|
2763
|
+
estimatedDuration?: number | null;
|
|
2764
|
+
video?: {
|
|
2765
|
+
codec?: string;
|
|
2766
|
+
width?: number;
|
|
2767
|
+
height?: number;
|
|
2768
|
+
interlaced?: boolean;
|
|
2769
|
+
alpha?: boolean | string;
|
|
2770
|
+
sar?: string | null;
|
|
2771
|
+
dar?: string;
|
|
2772
|
+
framerate?: number;
|
|
2773
|
+
format?: string;
|
|
2774
|
+
encoder?: string;
|
|
2775
|
+
codecName?: string;
|
|
2776
|
+
} | null;
|
|
2777
|
+
audio?: {
|
|
2778
|
+
codec?: string;
|
|
2779
|
+
codecName?: string;
|
|
2780
|
+
format?: string;
|
|
2781
|
+
channels?: number;
|
|
2782
|
+
samplerate?: number;
|
|
2783
|
+
peaksPerSecond?: number;
|
|
2784
|
+
streams?: number;
|
|
2785
|
+
encoder?: string;
|
|
2786
|
+
} | null;
|
|
2787
|
+
language?: string;
|
|
2788
|
+
transcribe?: {
|
|
2789
|
+
engine?: string;
|
|
2790
|
+
version?: string;
|
|
2791
|
+
language?: string;
|
|
2792
|
+
} | null;
|
|
2793
|
+
pan?: number[];
|
|
2794
|
+
translate?: {
|
|
2795
|
+
engine?: string;
|
|
2796
|
+
source?: string;
|
|
2797
|
+
target?: string;
|
|
2798
|
+
} | null;
|
|
2581
2799
|
}
|
|
2582
2800
|
|
|
2583
2801
|
declare interface RenderDomainSchedulersRecord {
|
|
@@ -2640,13 +2858,14 @@ declare interface RenderDomainStatsRecord {
|
|
|
2640
2858
|
netTransferTotal?: number | null;
|
|
2641
2859
|
cpu?: number | null;
|
|
2642
2860
|
memory?: number | null;
|
|
2643
|
-
activeCount
|
|
2644
|
-
totalCount
|
|
2861
|
+
activeCount?: number | null;
|
|
2862
|
+
totalCount?: number | null;
|
|
2645
2863
|
gpuStat?: RenderDomainGpuStats | null;
|
|
2646
2864
|
cpuStat?: RenderDomainCpuStats | null;
|
|
2647
2865
|
netStat?: RenderDomainNetStats | null;
|
|
2648
2866
|
limits?: unknown;
|
|
2649
2867
|
taskset?: string;
|
|
2868
|
+
end?: number | null;
|
|
2650
2869
|
}
|
|
2651
2870
|
|
|
2652
2871
|
declare type RenderPreset = RenderPresetObject | string;
|
|
@@ -2695,36 +2914,103 @@ declare interface RenderQuery {
|
|
|
2695
2914
|
|
|
2696
2915
|
declare type RenderScene = (RenderSceneObject | string) | (RenderSceneObject | string)[];
|
|
2697
2916
|
|
|
2917
|
+
/** true = premultiplied alpha, 'straight' = straight alpha, null/undefined = auto */
|
|
2918
|
+
declare type RenderSceneAlpha = boolean | "straight";
|
|
2919
|
+
|
|
2920
|
+
declare interface RenderSceneCrop {
|
|
2921
|
+
x?: number;
|
|
2922
|
+
y?: number;
|
|
2923
|
+
width?: number;
|
|
2924
|
+
height?: number;
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
declare interface RenderSceneFilters {
|
|
2928
|
+
eq?: {
|
|
2929
|
+
brightness?: number;
|
|
2930
|
+
contrast?: number;
|
|
2931
|
+
gamma?: number;
|
|
2932
|
+
saturation?: number;
|
|
2933
|
+
};
|
|
2934
|
+
hue?: {
|
|
2935
|
+
h?: number;
|
|
2936
|
+
s?: number;
|
|
2937
|
+
b?: number;
|
|
2938
|
+
};
|
|
2939
|
+
colorbalance?: {
|
|
2940
|
+
rs?: number;
|
|
2941
|
+
gs?: number;
|
|
2942
|
+
bs?: number;
|
|
2943
|
+
rm?: number;
|
|
2944
|
+
gm?: number;
|
|
2945
|
+
bm?: number;
|
|
2946
|
+
rh?: number;
|
|
2947
|
+
gh?: number;
|
|
2948
|
+
bh?: number;
|
|
2949
|
+
};
|
|
2950
|
+
}
|
|
2951
|
+
|
|
2952
|
+
declare type RenderSceneInterlaced = false | "tff" | "bff";
|
|
2953
|
+
|
|
2698
2954
|
declare interface RenderSceneObject {
|
|
2699
2955
|
id?: string;
|
|
2700
2956
|
preset?: string;
|
|
2701
2957
|
input?: {
|
|
2702
2958
|
type?: string;
|
|
2703
2959
|
file?: string | null;
|
|
2960
|
+
video?: {
|
|
2961
|
+
alpha?: RenderSceneAlpha | null;
|
|
2962
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
2963
|
+
};
|
|
2964
|
+
proxy?: string | null;
|
|
2965
|
+
proxyManifest?: string | null;
|
|
2966
|
+
proxyFile?: string | null;
|
|
2967
|
+
manifest?: string | null;
|
|
2704
2968
|
} | null;
|
|
2705
2969
|
lang?: string;
|
|
2706
2970
|
subtitle?: string;
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
style?: string | null;
|
|
2710
|
-
styleOverrides?: SubtitleStyle;
|
|
2711
|
-
};
|
|
2712
|
-
};
|
|
2971
|
+
graphics?: string;
|
|
2972
|
+
subtitleTracks?: RenderSceneSubtitleTracks;
|
|
2713
2973
|
video?: {
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2974
|
+
filters?: RenderSceneFilters;
|
|
2975
|
+
crop?: RenderSceneCrop;
|
|
2976
|
+
orientation?: number;
|
|
2977
|
+
/** @deprecated Use input.video.interlaced */
|
|
2978
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
2979
|
+
/** @deprecated Use input.video.alpha */
|
|
2980
|
+
alpha?: RenderSceneAlpha | null;
|
|
2981
|
+
};
|
|
2982
|
+
audio?: {
|
|
2983
|
+
pan?: number[][];
|
|
2720
2984
|
};
|
|
2721
2985
|
start?: number;
|
|
2722
2986
|
end?: number;
|
|
2723
2987
|
transcribe?: {
|
|
2724
2988
|
language?: string;
|
|
2725
2989
|
pan?: number[];
|
|
2990
|
+
diarization?: boolean;
|
|
2726
2991
|
};
|
|
2727
|
-
|
|
2992
|
+
/** @deprecated Use video.crop instead */
|
|
2993
|
+
crop?: RenderSceneCrop;
|
|
2994
|
+
/** @deprecated Use video.filters instead */
|
|
2995
|
+
filters?: RenderSceneFilters;
|
|
2996
|
+
/** @deprecated Use video.orientation instead */
|
|
2997
|
+
orientation?: number;
|
|
2998
|
+
/** @deprecated Use video.orientation instead */
|
|
2999
|
+
rotate?: number;
|
|
3000
|
+
/** @deprecated Use input.video.interlaced instead */
|
|
3001
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
3002
|
+
/** @deprecated Use input.video.alpha instead */
|
|
3003
|
+
alpha?: RenderSceneAlpha | null;
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
declare interface RenderSceneSubtitleTrack {
|
|
3007
|
+
style?: string | null;
|
|
3008
|
+
styleOverrides?: SubtitleStyle;
|
|
3009
|
+
}
|
|
3010
|
+
|
|
3011
|
+
declare type RenderSceneSubtitleTracks = {
|
|
3012
|
+
[trackId: string]: RenderSceneSubtitleTrack;
|
|
3013
|
+
};
|
|
2728
3014
|
|
|
2729
3015
|
/**
|
|
2730
3016
|
* 0 = Monthly
|
|
@@ -2766,20 +3052,52 @@ declare interface RevsRecord {
|
|
|
2766
3052
|
}
|
|
2767
3053
|
|
|
2768
3054
|
declare interface RoleDomainRecords {
|
|
3055
|
+
":role": RoleRecord;
|
|
3056
|
+
":role.users?": RoleUsersRecord;
|
|
2769
3057
|
":role.tags": RoleTagsRecord;
|
|
2770
3058
|
}
|
|
2771
3059
|
|
|
3060
|
+
declare type RoleRecord = {
|
|
3061
|
+
permissions?: Record<string, string[]>;
|
|
3062
|
+
};
|
|
3063
|
+
|
|
2772
3064
|
declare interface RoleTagsRecord {
|
|
2773
3065
|
value: string[];
|
|
2774
3066
|
}
|
|
2775
3067
|
|
|
3068
|
+
declare type RoleUsersRecord = {
|
|
3069
|
+
value?: string[];
|
|
3070
|
+
};
|
|
3071
|
+
|
|
2776
3072
|
declare interface RpcPermission {
|
|
2777
3073
|
type: "rpc";
|
|
2778
3074
|
method: string;
|
|
2779
3075
|
tags?: undefined;
|
|
2780
3076
|
}
|
|
2781
3077
|
|
|
2782
|
-
declare interface
|
|
3078
|
+
declare interface SchemaDomainPanelRecord {
|
|
3079
|
+
title?: string;
|
|
3080
|
+
/**
|
|
3081
|
+
* - If an array: interpreted as a list of supported asset types
|
|
3082
|
+
* - If a string: interpreted as the ID of a search which contains supported assets
|
|
3083
|
+
*/
|
|
3084
|
+
supports?: string[] | string;
|
|
3085
|
+
domain?: string;
|
|
3086
|
+
priority?: number;
|
|
3087
|
+
properties?: {
|
|
3088
|
+
[key: string]: SchemaProperty;
|
|
3089
|
+
};
|
|
3090
|
+
layout?: {
|
|
3091
|
+
panel?: WidgetLayout;
|
|
3092
|
+
editor?: WidgetLayout;
|
|
3093
|
+
};
|
|
3094
|
+
}
|
|
3095
|
+
|
|
3096
|
+
declare interface SchemaDomainRecords {
|
|
3097
|
+
":schema": SchemaDomainPanelRecord;
|
|
3098
|
+
}
|
|
3099
|
+
|
|
3100
|
+
declare interface SchemaProperty<Value = unknown> extends BaseSchemaProperty<Value> {
|
|
2783
3101
|
recordName?: Nxtpression<string, {
|
|
2784
3102
|
id: string;
|
|
2785
3103
|
}>;
|
|
@@ -2787,8 +3105,8 @@ declare interface SchemaProperty extends PanelProperty {
|
|
|
2787
3105
|
id: string;
|
|
2788
3106
|
value: unknown;
|
|
2789
3107
|
}>;
|
|
2790
|
-
default?:
|
|
2791
|
-
const?:
|
|
3108
|
+
default?: Value;
|
|
3109
|
+
const?: Value;
|
|
2792
3110
|
}
|
|
2793
3111
|
|
|
2794
3112
|
/**
|
|
@@ -3008,6 +3326,18 @@ declare interface Settings {
|
|
|
3008
3326
|
overrideUserContact?: boolean;
|
|
3009
3327
|
overrideUserLogin?: boolean;
|
|
3010
3328
|
};
|
|
3329
|
+
graphics?: {
|
|
3330
|
+
width?: number;
|
|
3331
|
+
height?: number;
|
|
3332
|
+
};
|
|
3333
|
+
googleWhitelist?: Array<{
|
|
3334
|
+
domain?: string;
|
|
3335
|
+
}>;
|
|
3336
|
+
googleUserRoles?: string[];
|
|
3337
|
+
azureWhitelist?: Array<{
|
|
3338
|
+
domain?: string;
|
|
3339
|
+
}>;
|
|
3340
|
+
azureUserRoles?: string[];
|
|
3011
3341
|
module?: {
|
|
3012
3342
|
editor?: string;
|
|
3013
3343
|
tabs?: ModuleTabs;
|
|
@@ -3029,10 +3359,10 @@ declare interface Settings {
|
|
|
3029
3359
|
map?: {
|
|
3030
3360
|
clustering?: boolean;
|
|
3031
3361
|
zoom?: number;
|
|
3032
|
-
center?:
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3362
|
+
center?: [
|
|
3363
|
+
number,
|
|
3364
|
+
number
|
|
3365
|
+
];
|
|
3036
3366
|
};
|
|
3037
3367
|
createMenu?: {
|
|
3038
3368
|
sortOrder?: string[];
|
|
@@ -3085,6 +3415,7 @@ declare interface Settings {
|
|
|
3085
3415
|
sortBy?: "index" | "title";
|
|
3086
3416
|
showPreview?: boolean;
|
|
3087
3417
|
};
|
|
3418
|
+
contentMaxWidth?: number;
|
|
3088
3419
|
colorTags?: PromotedTag[];
|
|
3089
3420
|
readType?: "characters" | "words" | "wordsPerMinute";
|
|
3090
3421
|
readRate?: number;
|
|
@@ -3117,44 +3448,20 @@ declare interface Settings {
|
|
|
3117
3448
|
countFloatedDuration?: boolean;
|
|
3118
3449
|
};
|
|
3119
3450
|
history?: boolean;
|
|
3120
|
-
keymap?:
|
|
3121
|
-
display?: {
|
|
3122
|
-
[actionKey: string]: KeymapSetting;
|
|
3123
|
-
};
|
|
3124
|
-
browser?: {
|
|
3125
|
-
[actionKey: string]: KeymapSetting;
|
|
3126
|
-
};
|
|
3127
|
-
gallery?: {
|
|
3128
|
-
[actionKey: string]: KeymapSetting;
|
|
3129
|
-
};
|
|
3130
|
-
global?: {
|
|
3131
|
-
[actionKey: string]: KeymapSetting;
|
|
3132
|
-
};
|
|
3133
|
-
player?: {
|
|
3134
|
-
[actionKey: string]: KeymapSetting;
|
|
3135
|
-
};
|
|
3136
|
-
script?: {
|
|
3137
|
-
[actionKey: string]: KeymapSetting;
|
|
3138
|
-
};
|
|
3139
|
-
codeEditor?: {
|
|
3140
|
-
[actionKey: string]: KeymapSetting;
|
|
3141
|
-
};
|
|
3142
|
-
bookmarks?: {
|
|
3143
|
-
[actionKey: string]: KeymapSetting;
|
|
3144
|
-
};
|
|
3145
|
-
edit?: {
|
|
3146
|
-
[actionKey: string]: KeymapSetting;
|
|
3147
|
-
};
|
|
3148
|
-
rundown?: {
|
|
3149
|
-
[actionKey: string]: KeymapSetting;
|
|
3150
|
-
};
|
|
3151
|
-
segment?: {
|
|
3152
|
-
[actionKey: string]: KeymapSetting;
|
|
3153
|
-
};
|
|
3154
|
-
};
|
|
3451
|
+
keymap?: SettingsKeymap;
|
|
3155
3452
|
media?: {
|
|
3453
|
+
volume?: number;
|
|
3454
|
+
muted?: boolean;
|
|
3455
|
+
graphics?: boolean;
|
|
3456
|
+
waveform?: boolean;
|
|
3156
3457
|
defaultFrameRate?: number;
|
|
3458
|
+
dropFrame?: boolean;
|
|
3157
3459
|
placeholder?: string;
|
|
3460
|
+
warnSubclipDuration?: number;
|
|
3461
|
+
displayAspectRatioPresets?: Array<{
|
|
3462
|
+
label?: string;
|
|
3463
|
+
value?: string;
|
|
3464
|
+
}>;
|
|
3158
3465
|
guide?: {
|
|
3159
3466
|
mask?: boolean;
|
|
3160
3467
|
actionSafe?: boolean;
|
|
@@ -3294,6 +3601,7 @@ declare interface Settings {
|
|
|
3294
3601
|
};
|
|
3295
3602
|
print?: {
|
|
3296
3603
|
fontFamilies?: string[];
|
|
3604
|
+
presets?: Array<PrintOptions>;
|
|
3297
3605
|
};
|
|
3298
3606
|
hiddenPreviews?: Array<{
|
|
3299
3607
|
id?: string;
|
|
@@ -3301,7 +3609,27 @@ declare interface Settings {
|
|
|
3301
3609
|
}>;
|
|
3302
3610
|
plugins?: {
|
|
3303
3611
|
adobe?: {
|
|
3612
|
+
videoBin?: string;
|
|
3613
|
+
imageBin?: string;
|
|
3614
|
+
audioBin?: string;
|
|
3615
|
+
timelineBin?: string;
|
|
3616
|
+
clipBin?: string;
|
|
3617
|
+
downloadPath?: string;
|
|
3618
|
+
renderPath?: string;
|
|
3619
|
+
renderPresetPath?: string;
|
|
3620
|
+
renderPresets?: string[];
|
|
3621
|
+
videoRenderPreset?: string;
|
|
3622
|
+
imageRenderPreset?: string;
|
|
3623
|
+
audioRenderPreset?: string;
|
|
3624
|
+
forceRender?: boolean;
|
|
3304
3625
|
useProxies?: boolean;
|
|
3626
|
+
deleteIntermediateFiles?: boolean;
|
|
3627
|
+
bodymovin?: {
|
|
3628
|
+
template?: string;
|
|
3629
|
+
};
|
|
3630
|
+
};
|
|
3631
|
+
ograf?: {
|
|
3632
|
+
template?: string;
|
|
3305
3633
|
};
|
|
3306
3634
|
rive?: {
|
|
3307
3635
|
template?: string;
|
|
@@ -3311,6 +3639,7 @@ declare interface Settings {
|
|
|
3311
3639
|
debug?: boolean;
|
|
3312
3640
|
featurePreview?: {
|
|
3313
3641
|
collections?: boolean;
|
|
3642
|
+
aiMetadata?: boolean;
|
|
3314
3643
|
semanticSearch?: boolean;
|
|
3315
3644
|
ameRemoteRendering?: boolean;
|
|
3316
3645
|
};
|
|
@@ -3332,6 +3661,8 @@ declare interface Settings {
|
|
|
3332
3661
|
hideInAssetMenu?: boolean;
|
|
3333
3662
|
assetRoute?: boolean;
|
|
3334
3663
|
devWarnings?: boolean;
|
|
3664
|
+
downloadFiles?: boolean;
|
|
3665
|
+
supportPortal?: boolean;
|
|
3335
3666
|
multiplexWebSockets?: boolean;
|
|
3336
3667
|
systemHealth?: boolean;
|
|
3337
3668
|
systemHealthIgnore?: boolean;
|
|
@@ -3375,8 +3706,14 @@ declare interface Settings {
|
|
|
3375
3706
|
layout?: string;
|
|
3376
3707
|
};
|
|
3377
3708
|
performance?: {
|
|
3378
|
-
/** List of message identifiers to ignore
|
|
3379
|
-
|
|
3709
|
+
/** List of message identifiers to ignore warnings (format: "serviceName:messageText") */
|
|
3710
|
+
ignoredWarnings?: string[];
|
|
3711
|
+
/** List of message identifiers to ignore errors (format: "serviceName:messageText") */
|
|
3712
|
+
ignoredErrors?: string[];
|
|
3713
|
+
};
|
|
3714
|
+
app?: {
|
|
3715
|
+
enableUpdate?: boolean;
|
|
3716
|
+
autoUpdate?: boolean;
|
|
3380
3717
|
};
|
|
3381
3718
|
}
|
|
3382
3719
|
|
|
@@ -3385,6 +3722,20 @@ declare interface SettingsDomainRecords {
|
|
|
3385
3722
|
":settings.node": SettingsNodeRecord;
|
|
3386
3723
|
}
|
|
3387
3724
|
|
|
3725
|
+
declare type SettingsKeymap = Record<string, SettingsKeymapScope>;
|
|
3726
|
+
|
|
3727
|
+
declare interface SettingsKeymapEntry {
|
|
3728
|
+
title?: string;
|
|
3729
|
+
sequence?: string | (string | [
|
|
3730
|
+
string,
|
|
3731
|
+
unknown
|
|
3732
|
+
])[] | null | undefined;
|
|
3733
|
+
schema?: Record<string, any>;
|
|
3734
|
+
stopCallback?: boolean;
|
|
3735
|
+
}
|
|
3736
|
+
|
|
3737
|
+
declare type SettingsKeymapScope = Record<string, SettingsKeymapEntry>;
|
|
3738
|
+
|
|
3388
3739
|
declare type SettingsNodeRecord = Record<string, {
|
|
3389
3740
|
collapsed: boolean;
|
|
3390
3741
|
hidden: boolean;
|
|
@@ -3443,16 +3794,12 @@ declare interface ShotboxStreamGroup {
|
|
|
3443
3794
|
```
|
|
3444
3795
|
import type {SingleKeyObject} from 'type-fest';
|
|
3445
3796
|
|
|
3446
|
-
|
|
3797
|
+
declare function someFunction<T>(parameter: SingleKeyObject<T>): void;
|
|
3447
3798
|
|
|
3448
|
-
someFunction({
|
|
3449
|
-
value: true
|
|
3450
|
-
});
|
|
3799
|
+
someFunction({value: true});
|
|
3451
3800
|
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
otherKey: true
|
|
3455
|
-
});
|
|
3801
|
+
// @ts-expect-error
|
|
3802
|
+
someFunction({value: true, otherKey: true});
|
|
3456
3803
|
// Error: Argument of type '{value: boolean; otherKey: boolean}' is not assignable to parameter of type 'never'.ts(2345)
|
|
3457
3804
|
```
|
|
3458
3805
|
|
|
@@ -3467,6 +3814,48 @@ declare type Spread<T1, T2> = Omit<T2, keyof T1> & T1;
|
|
|
3467
3814
|
|
|
3468
3815
|
declare type StatsRecord = Union["stats"];
|
|
3469
3816
|
|
|
3817
|
+
declare interface StorageDomainRecord {
|
|
3818
|
+
zone: string;
|
|
3819
|
+
hostname: string | null;
|
|
3820
|
+
port?: number | null;
|
|
3821
|
+
location?: string;
|
|
3822
|
+
cache?: boolean | null;
|
|
3823
|
+
allows?: string[];
|
|
3824
|
+
capacity?: number | null;
|
|
3825
|
+
rxBytesSecMax?: number | null;
|
|
3826
|
+
txBytesSecMax?: number | null;
|
|
3827
|
+
rxBytesSecLimit?: number | null;
|
|
3828
|
+
txBytesSecLimit?: number | null;
|
|
3829
|
+
}
|
|
3830
|
+
|
|
3831
|
+
declare interface StorageDomainRecords {
|
|
3832
|
+
":storage": StorageDomainRecord;
|
|
3833
|
+
":storage.stats": StorageStatsDomainRecord;
|
|
3834
|
+
":storage-zone": StorageZoneDomainRecord;
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
declare interface StorageFsStats {
|
|
3838
|
+
concurrency?: number;
|
|
3839
|
+
path?: string;
|
|
3840
|
+
snapshot?: number | null;
|
|
3841
|
+
available?: number;
|
|
3842
|
+
free?: number;
|
|
3843
|
+
used?: number;
|
|
3844
|
+
size?: number;
|
|
3845
|
+
state?: string;
|
|
3846
|
+
[key: string]: unknown;
|
|
3847
|
+
}
|
|
3848
|
+
|
|
3849
|
+
declare interface StorageIoQueues {
|
|
3850
|
+
highest: number;
|
|
3851
|
+
higher: number;
|
|
3852
|
+
high: number;
|
|
3853
|
+
normal: number;
|
|
3854
|
+
low: number;
|
|
3855
|
+
lower: number;
|
|
3856
|
+
lowest: number;
|
|
3857
|
+
}
|
|
3858
|
+
|
|
3470
3859
|
declare interface StorageLocationsRecord {
|
|
3471
3860
|
[key: string]: StorageLocationsRecordEntry;
|
|
3472
3861
|
}
|
|
@@ -3496,6 +3885,58 @@ declare interface StorageRecords {
|
|
|
3496
3885
|
"storage.zones?": StorageZonesRecord;
|
|
3497
3886
|
}
|
|
3498
3887
|
|
|
3888
|
+
declare interface StorageS3Stats {
|
|
3889
|
+
bucket?: string;
|
|
3890
|
+
region?: string;
|
|
3891
|
+
endpoint?: string;
|
|
3892
|
+
path?: string;
|
|
3893
|
+
storageClass?: string;
|
|
3894
|
+
[key: string]: unknown;
|
|
3895
|
+
}
|
|
3896
|
+
|
|
3897
|
+
declare interface StorageStatsDomainRecord {
|
|
3898
|
+
id: string;
|
|
3899
|
+
location: string;
|
|
3900
|
+
timestamp: string;
|
|
3901
|
+
type: string;
|
|
3902
|
+
zone: string;
|
|
3903
|
+
origin: string;
|
|
3904
|
+
free: number | null;
|
|
3905
|
+
size: number | null;
|
|
3906
|
+
available: number | null;
|
|
3907
|
+
cache: boolean | null;
|
|
3908
|
+
capacity: number | null;
|
|
3909
|
+
limiter: {
|
|
3910
|
+
readBytesPerSecond: number | undefined;
|
|
3911
|
+
writeBytesPerSecond: number | undefined;
|
|
3912
|
+
};
|
|
3913
|
+
http: {
|
|
3914
|
+
downstreamConnected: number;
|
|
3915
|
+
upstreamConnected: number;
|
|
3916
|
+
pending: number;
|
|
3917
|
+
completed: number;
|
|
3918
|
+
failed: number;
|
|
3919
|
+
};
|
|
3920
|
+
io: {
|
|
3921
|
+
read: {
|
|
3922
|
+
bytesPerSecond: number;
|
|
3923
|
+
pending: number;
|
|
3924
|
+
queues: StorageIoQueues;
|
|
3925
|
+
};
|
|
3926
|
+
write: {
|
|
3927
|
+
bytesPerSecond: number;
|
|
3928
|
+
pending: number;
|
|
3929
|
+
queues: StorageIoQueues;
|
|
3930
|
+
};
|
|
3931
|
+
};
|
|
3932
|
+
fs?: StorageFsStats;
|
|
3933
|
+
s3?: StorageS3Stats;
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
declare interface StorageZoneDomainRecord {
|
|
3937
|
+
priority?: number;
|
|
3938
|
+
}
|
|
3939
|
+
|
|
3499
3940
|
declare interface StorageZonesRecord {
|
|
3500
3941
|
[key: string]: {
|
|
3501
3942
|
priority: number;
|
|
@@ -3526,6 +3967,91 @@ declare interface StoryboardDomainRecords {
|
|
|
3526
3967
|
":storyboard.ancestors?": StoryboardAncestorsRecord;
|
|
3527
3968
|
}
|
|
3528
3969
|
|
|
3970
|
+
declare interface StreamDomainIngestRecord {
|
|
3971
|
+
server?: string;
|
|
3972
|
+
enabled?: boolean;
|
|
3973
|
+
input?: {
|
|
3974
|
+
raw_format?: string;
|
|
3975
|
+
video_format?: string;
|
|
3976
|
+
};
|
|
3977
|
+
encoding?: {
|
|
3978
|
+
[preset: string]: Record<string, unknown>;
|
|
3979
|
+
};
|
|
3980
|
+
record?: {
|
|
3981
|
+
hls_time?: number;
|
|
3982
|
+
hls_list_size?: number;
|
|
3983
|
+
mainPreset?: string | {
|
|
3984
|
+
video: string;
|
|
3985
|
+
audio: string;
|
|
3986
|
+
};
|
|
3987
|
+
proxyPreset?: string | {
|
|
3988
|
+
video: string;
|
|
3989
|
+
audio: string;
|
|
3990
|
+
};
|
|
3991
|
+
main?: Record<string, unknown>;
|
|
3992
|
+
proxy?: Record<string, unknown>;
|
|
3993
|
+
};
|
|
3994
|
+
stream?: {
|
|
3995
|
+
mainPreset?: {
|
|
3996
|
+
video: string;
|
|
3997
|
+
audio: string;
|
|
3998
|
+
};
|
|
3999
|
+
proxyPreset?: {
|
|
4000
|
+
video: string;
|
|
4001
|
+
audio: string;
|
|
4002
|
+
};
|
|
4003
|
+
main?: Record<string, unknown>;
|
|
4004
|
+
proxy?: Record<string, unknown>;
|
|
4005
|
+
};
|
|
4006
|
+
subtitle?: {
|
|
4007
|
+
driver?: string;
|
|
4008
|
+
template?: string;
|
|
4009
|
+
};
|
|
4010
|
+
video?: string;
|
|
4011
|
+
audio?: string;
|
|
4012
|
+
channels?: number;
|
|
4013
|
+
audioDelay?: number;
|
|
4014
|
+
interlaced?: boolean;
|
|
4015
|
+
}
|
|
4016
|
+
|
|
4017
|
+
declare interface StreamDomainIngestStatsRecord {
|
|
4018
|
+
status?: "starting" | "recording" | "streaming" | "stopping" | "stopped" | "restarting" | "stalled" | "deleted" | "exited" | "not configured" | "initializing" | "error";
|
|
4019
|
+
server?: string;
|
|
4020
|
+
hostname?: string;
|
|
4021
|
+
port?: number;
|
|
4022
|
+
error?: string;
|
|
4023
|
+
}
|
|
4024
|
+
|
|
4025
|
+
declare interface StreamDomainRecord {
|
|
4026
|
+
input?: "webcam" | "screen" | "url" | "push" | `ingest:${string}` | "srt-listener" | "srt-caller";
|
|
4027
|
+
url?: string;
|
|
4028
|
+
enabled?: boolean;
|
|
4029
|
+
endpoints?: {
|
|
4030
|
+
enabled?: boolean;
|
|
4031
|
+
url?: string;
|
|
4032
|
+
asset?: string;
|
|
4033
|
+
}[];
|
|
4034
|
+
}
|
|
4035
|
+
|
|
4036
|
+
declare interface StreamDomainRecords {
|
|
4037
|
+
":stream": StreamDomainRecord;
|
|
4038
|
+
":stream.stats?": StreamDomainStatsRecord;
|
|
4039
|
+
":stream.ingest": StreamDomainIngestRecord;
|
|
4040
|
+
":stream.ingest.stats?": StreamDomainIngestStatsRecord;
|
|
4041
|
+
}
|
|
4042
|
+
|
|
4043
|
+
declare interface StreamDomainStatsRecord {
|
|
4044
|
+
status?: "stopped" | "broadcasting" | "error";
|
|
4045
|
+
proxyStatus?: "stopped" | "broadcasting" | "error";
|
|
4046
|
+
rtmpUrl?: string;
|
|
4047
|
+
rtmpPublishUrl?: string;
|
|
4048
|
+
endpoints?: {
|
|
4049
|
+
rtmpUrl?: string;
|
|
4050
|
+
status?: "broadcasting" | "failed" | "created" | "stopped" | "finished";
|
|
4051
|
+
}[];
|
|
4052
|
+
error?: string;
|
|
4053
|
+
}
|
|
4054
|
+
|
|
3529
4055
|
/** OBSERVABLE INTERFACES */
|
|
3530
4056
|
declare interface Subscribable<T> {
|
|
3531
4057
|
subscribe(observer: Partial<Observer<T>>): Unsubscribable;
|
|
@@ -3895,10 +4421,45 @@ declare interface TemplateDomainRecords {
|
|
|
3895
4421
|
|
|
3896
4422
|
declare interface TemplateProperty {
|
|
3897
4423
|
path?: string;
|
|
4424
|
+
type?: string;
|
|
4425
|
+
label?: string;
|
|
4426
|
+
defaultValue?: string;
|
|
4427
|
+
widget?: {
|
|
4428
|
+
type: string;
|
|
4429
|
+
};
|
|
4430
|
+
properties?: object;
|
|
4431
|
+
items?: {
|
|
4432
|
+
properties?: Record<string, TemplatePropertySchema>;
|
|
4433
|
+
};
|
|
4434
|
+
render?: {
|
|
4435
|
+
type: "image";
|
|
4436
|
+
profile?: {
|
|
4437
|
+
format?: string;
|
|
4438
|
+
video?: {
|
|
4439
|
+
width: number;
|
|
4440
|
+
height: number;
|
|
4441
|
+
fit: "cover";
|
|
4442
|
+
};
|
|
4443
|
+
};
|
|
4444
|
+
};
|
|
4445
|
+
}
|
|
4446
|
+
|
|
4447
|
+
declare interface TemplatePropertySchema {
|
|
4448
|
+
path?: string;
|
|
4449
|
+
type?: string;
|
|
4450
|
+
label?: string;
|
|
4451
|
+
defaultValue?: string;
|
|
4452
|
+
widget?: {
|
|
4453
|
+
type: string;
|
|
4454
|
+
};
|
|
4455
|
+
items?: TemplatePropertySchema;
|
|
4456
|
+
properties?: Record<string, TemplatePropertySchema>;
|
|
3898
4457
|
}
|
|
3899
4458
|
|
|
3900
4459
|
declare interface TemplateRecord {
|
|
4460
|
+
source?: string;
|
|
3901
4461
|
controller?: string;
|
|
4462
|
+
type?: string;
|
|
3902
4463
|
mixin?: string[];
|
|
3903
4464
|
properties?: Record<string, TemplateProperty>;
|
|
3904
4465
|
}
|
|
@@ -4201,12 +4762,26 @@ declare interface UserNotificationUnassigned extends UserNotificationCommon {
|
|
|
4201
4762
|
};
|
|
4202
4763
|
}
|
|
4203
4764
|
|
|
4204
|
-
declare
|
|
4205
|
-
|
|
4765
|
+
declare type WidgetLayout = string | WidgetLayoutDivider | WidgetLayoutItem | WidgetLayout[];
|
|
4766
|
+
|
|
4767
|
+
declare interface WidgetLayoutDivider {
|
|
4768
|
+
type: "divider";
|
|
4769
|
+
title?: string;
|
|
4770
|
+
}
|
|
4771
|
+
|
|
4772
|
+
declare interface WidgetLayoutItem {
|
|
4773
|
+
property: string;
|
|
4774
|
+
width?: string | number;
|
|
4775
|
+
widget?: WidgetType | WidgetOptions;
|
|
4776
|
+
}
|
|
4777
|
+
|
|
4778
|
+
declare interface WidgetOptions {
|
|
4779
|
+
type?: WidgetType;
|
|
4206
4780
|
readOnly?: boolean;
|
|
4781
|
+
[key: string]: unknown;
|
|
4207
4782
|
}
|
|
4208
4783
|
|
|
4209
|
-
declare type WidgetType =
|
|
4784
|
+
declare type WidgetType = string;
|
|
4210
4785
|
|
|
4211
4786
|
/**
|
|
4212
4787
|
* A base64 encoded string representing a complete Yjs document state.
|