@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/app.d.ts
CHANGED
|
@@ -14,7 +14,13 @@ export interface ElectronHubApi {
|
|
|
14
14
|
triggerUpdate: (latestVersion: string) => void;
|
|
15
15
|
controlDownloadItem: (id: string, action: "pause" | "resume" | "cancel") => void;
|
|
16
16
|
openInApp: (...args: unknown[]) => void;
|
|
17
|
-
installDavinciPlugin: (url: string) => Promise<
|
|
17
|
+
installDavinciPlugin: (url: string) => Promise<{
|
|
18
|
+
davinciPath: string;
|
|
19
|
+
pluginsPath: string;
|
|
20
|
+
zipSize: number;
|
|
21
|
+
} | {
|
|
22
|
+
message: string;
|
|
23
|
+
}>;
|
|
18
24
|
downloadFile: (options: DownloadFileOptions) => void;
|
|
19
25
|
showItemInFolder: (fullPath: string) => void;
|
|
20
26
|
openPath: (path: string) => void;
|
package/dist/common/index.d.ts
CHANGED
|
@@ -3,12 +3,14 @@ export * from './block.ts';
|
|
|
3
3
|
export * from './clone.ts';
|
|
4
4
|
export * from './date.ts';
|
|
5
5
|
export * from './file.ts';
|
|
6
|
+
export * from './json-schema.ts';
|
|
6
7
|
export * from './location.ts';
|
|
7
8
|
export * from './nxtpression.ts';
|
|
8
9
|
export * from './lock.ts';
|
|
9
10
|
export * from './media.ts';
|
|
10
11
|
export * from './panel-property.ts';
|
|
11
12
|
export * from './pipeline.ts';
|
|
13
|
+
export * from './print.ts';
|
|
12
14
|
export * from './promoted-tag.ts';
|
|
13
15
|
export * from './render-preset.ts';
|
|
14
16
|
export * from './render-profile.ts';
|
|
@@ -22,6 +24,7 @@ export * from './subtitle-style.ts';
|
|
|
22
24
|
export * from './subtitle.ts';
|
|
23
25
|
export * from './error.ts';
|
|
24
26
|
export * from './user-notification.ts';
|
|
27
|
+
export * from './widget.ts';
|
|
25
28
|
export interface Message {
|
|
26
29
|
level: number;
|
|
27
30
|
code: string;
|
package/dist/common/index.js
CHANGED
|
@@ -3,12 +3,14 @@ export * from "./block.js";
|
|
|
3
3
|
export * from "./clone.js";
|
|
4
4
|
export * from "./date.js";
|
|
5
5
|
export * from "./file.js";
|
|
6
|
+
export * from "./json-schema.js";
|
|
6
7
|
export * from "./location.js";
|
|
7
8
|
export * from "./nxtpression.js";
|
|
8
9
|
export * from "./lock.js";
|
|
9
10
|
export * from "./media.js";
|
|
10
11
|
export * from "./panel-property.js";
|
|
11
12
|
export * from "./pipeline.js";
|
|
13
|
+
export * from "./print.js";
|
|
12
14
|
export * from "./promoted-tag.js";
|
|
13
15
|
export * from "./render-preset.js";
|
|
14
16
|
export * from "./render-profile.js";
|
|
@@ -22,3 +24,4 @@ export * from "./subtitle-style.js";
|
|
|
22
24
|
export * from "./subtitle.js";
|
|
23
25
|
export * from "./error.js";
|
|
24
26
|
export * from "./user-notification.js";
|
|
27
|
+
export * from "./widget.js";
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { JsonValue } from 'type-fest';
|
|
2
|
+
declare const __jsonSchemaType: unique symbol;
|
|
3
|
+
export type TypedJsonSchema<T> = JsonSchema & {
|
|
4
|
+
[__jsonSchemaType]?: T;
|
|
5
|
+
};
|
|
6
|
+
export type JsonSchema = JsonSchemaBoolean | JsonSchemaNumber | JsonSchemaInteger | JsonSchemaString | JsonSchemaArray | JsonSchemaTuple | JsonSchemaObject | JsonSchemaReference | JsonSchemaOneOf | JsonSchemaAnyOf | JsonSchemaEnum | JsonSchemaConst | JsonSchemaNull | JsonSchemaUnknown;
|
|
7
|
+
export interface JsonSchemaBase {
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Normal JSON schemas use either 'definitions' (older versions) or '$defs' (newer versions).
|
|
12
|
+
* However, OpenAPI and Typia instead uses 'components'. Since we use typia to generate JSON schemas,
|
|
13
|
+
* we use 'components' as well.
|
|
14
|
+
*
|
|
15
|
+
* In the case of OpenAPI and Typia the 'components' schemas are supplied outside the actual
|
|
16
|
+
* JSON schema. For better compatibility with other JSON schema tooling, we instead include it
|
|
17
|
+
* inside the JSON schema itself.
|
|
18
|
+
*/
|
|
19
|
+
components?: {
|
|
20
|
+
schemas?: Record<string, JsonSchema>;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface JsonSchemaBoolean extends JsonSchemaBase {
|
|
24
|
+
type: "boolean";
|
|
25
|
+
default?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface JsonSchemaInteger extends JsonSchemaBase {
|
|
28
|
+
type: "integer";
|
|
29
|
+
default?: number;
|
|
30
|
+
minimum?: number;
|
|
31
|
+
maximum?: number;
|
|
32
|
+
exclusiveMinimum?: number;
|
|
33
|
+
exclusiveMaximum?: number;
|
|
34
|
+
multipleOf?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface JsonSchemaNumber extends JsonSchemaBase {
|
|
37
|
+
type: "number";
|
|
38
|
+
default?: number;
|
|
39
|
+
minimum?: number;
|
|
40
|
+
maximum?: number;
|
|
41
|
+
exclusiveMinimum?: number;
|
|
42
|
+
exclusiveMaximum?: number;
|
|
43
|
+
multipleOf?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface JsonSchemaString extends JsonSchemaBase {
|
|
46
|
+
type: "string";
|
|
47
|
+
default?: string;
|
|
48
|
+
format?: string;
|
|
49
|
+
pattern?: string;
|
|
50
|
+
minLength?: number;
|
|
51
|
+
maxLength?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface JsonSchemaArray extends JsonSchemaBase {
|
|
54
|
+
type: "array";
|
|
55
|
+
items: JsonSchema;
|
|
56
|
+
minItems?: number;
|
|
57
|
+
maxItems?: number;
|
|
58
|
+
uniqueItems?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface JsonSchemaTuple extends JsonSchemaBase {
|
|
61
|
+
type: "array";
|
|
62
|
+
prefixItems: JsonSchema[];
|
|
63
|
+
additionalItems?: boolean | JsonSchema;
|
|
64
|
+
minItems?: number;
|
|
65
|
+
maxItems?: number;
|
|
66
|
+
uniqueItems?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface JsonSchemaObject extends JsonSchemaBase {
|
|
69
|
+
type: "object";
|
|
70
|
+
properties?: Record<string, JsonSchema>;
|
|
71
|
+
additionalProperties?: boolean | JsonSchema;
|
|
72
|
+
required?: string[];
|
|
73
|
+
}
|
|
74
|
+
export interface JsonSchemaReference extends JsonSchemaBase {
|
|
75
|
+
$ref: string;
|
|
76
|
+
}
|
|
77
|
+
export interface JsonSchemaOneOf extends JsonSchemaBase {
|
|
78
|
+
oneOf: JsonSchema[];
|
|
79
|
+
}
|
|
80
|
+
export interface JsonSchemaAnyOf extends JsonSchemaBase {
|
|
81
|
+
anyOf: JsonSchema[];
|
|
82
|
+
}
|
|
83
|
+
export interface JsonSchemaEnum extends JsonSchemaBase {
|
|
84
|
+
enum: JsonValue[];
|
|
85
|
+
}
|
|
86
|
+
export interface JsonSchemaConst extends JsonSchemaBase {
|
|
87
|
+
const: JsonValue;
|
|
88
|
+
}
|
|
89
|
+
export interface JsonSchemaNull extends JsonSchemaBase {
|
|
90
|
+
type: "null";
|
|
91
|
+
}
|
|
92
|
+
export interface JsonSchemaUnknown extends JsonSchemaBase {
|
|
93
|
+
type?: undefined;
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Nxtpression<ReturnValue = unknown, Context extends
|
|
1
|
+
export type Nxtpression<ReturnValue = unknown, Context extends Record<string, unknown> = Record<string, unknown>> = {
|
|
2
2
|
/**
|
|
3
3
|
* TS-HACK: this property doesn't really exist on the nxtpression string,
|
|
4
4
|
* it is only here to make sure the generic Context won't get stripped.
|
|
@@ -1,29 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export
|
|
3
|
-
/** Specifying what type of data will be entered into the field. */
|
|
4
|
-
type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
|
|
5
|
-
/** User-friendly title of the property. This will be used as the field's label in the UI. */
|
|
6
|
-
title?: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
domain?: string;
|
|
9
|
-
path?: string;
|
|
10
|
-
computed?: Nxtpression<Value>;
|
|
11
|
-
/** An object specifying where to index the data. Adding this will effectively make the data searchable. */
|
|
12
|
-
index?: {
|
|
13
|
-
/** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
|
|
14
|
-
label: string;
|
|
15
|
-
/** 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 */
|
|
16
|
-
path: string;
|
|
17
|
-
};
|
|
18
|
-
/** If present, indicates that the user must specify a value for the asset to be treated as valid. */
|
|
19
|
-
required?: boolean;
|
|
20
|
-
oneOf?: Array<{
|
|
21
|
-
const?: Value;
|
|
22
|
-
title?: string;
|
|
23
|
-
}>;
|
|
24
|
-
anyOf?: Array<{
|
|
25
|
-
const?: Value;
|
|
26
|
-
title?: string;
|
|
27
|
-
}>;
|
|
28
|
-
enum?: Value[];
|
|
29
|
-
}
|
|
1
|
+
import type { BaseSchemaProperty } from './schema-property.ts';
|
|
2
|
+
export type PanelProperty<Value = unknown> = BaseSchemaProperty<Value>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type PrintOptions = PrintScriptOptions | PrintRundownOptions;
|
|
2
|
+
export type PageSize = "A5" | "A4" | "A3";
|
|
3
|
+
export type PageOrientation = "landscape" | "portrait";
|
|
4
|
+
export type PrintOptionalScriptNodes = "event" | "event-data" | "comment" | "heading" | "list" | "quote" | "paragraph" | "horizontalrule";
|
|
5
|
+
interface PrintOptionsBase {
|
|
6
|
+
title: string;
|
|
7
|
+
horizontalMargin: number;
|
|
8
|
+
pageSize: PageSize;
|
|
9
|
+
orientation: PageOrientation;
|
|
10
|
+
fontSize: number;
|
|
11
|
+
fontFamily?: string;
|
|
12
|
+
hide: PrintOptionalScriptNodes[];
|
|
13
|
+
}
|
|
14
|
+
export interface PrintScriptOptions extends PrintOptionsBase {
|
|
15
|
+
type: "script";
|
|
16
|
+
}
|
|
17
|
+
export interface PrintRundownOptions extends PrintOptionsBase {
|
|
18
|
+
type: "rundown";
|
|
19
|
+
columns: PrintRundownColumn[];
|
|
20
|
+
rangeStart?: number;
|
|
21
|
+
rangeEnd?: number;
|
|
22
|
+
hide: Exclude<PrintOptionalScriptNodes, "event-data">[];
|
|
23
|
+
}
|
|
24
|
+
export interface PrintRundownColumn {
|
|
25
|
+
key: "id" | "title" | "time" | "duration" | "position" | "accDuration" | "type";
|
|
26
|
+
label: string;
|
|
27
|
+
width: string;
|
|
28
|
+
textAlign: "right" | "left" | "center";
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -6,27 +6,88 @@ export interface RenderSceneObject {
|
|
|
6
6
|
input?: {
|
|
7
7
|
type?: string;
|
|
8
8
|
file?: string | null;
|
|
9
|
+
video?: {
|
|
10
|
+
alpha?: RenderSceneAlpha | null;
|
|
11
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
12
|
+
};
|
|
13
|
+
proxy?: string | null;
|
|
14
|
+
proxyManifest?: string | null;
|
|
15
|
+
proxyFile?: string | null;
|
|
16
|
+
manifest?: string | null;
|
|
9
17
|
} | null;
|
|
10
18
|
lang?: string;
|
|
11
19
|
subtitle?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
style?: string | null;
|
|
15
|
-
styleOverrides?: SubtitleStyle;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
20
|
+
graphics?: string;
|
|
21
|
+
subtitleTracks?: RenderSceneSubtitleTracks;
|
|
18
22
|
video?: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
filters?: RenderSceneFilters;
|
|
24
|
+
crop?: RenderSceneCrop;
|
|
25
|
+
orientation?: number;
|
|
26
|
+
/** @deprecated Use input.video.interlaced */
|
|
27
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
28
|
+
/** @deprecated Use input.video.alpha */
|
|
29
|
+
alpha?: RenderSceneAlpha | null;
|
|
30
|
+
};
|
|
31
|
+
audio?: {
|
|
32
|
+
pan?: number[][];
|
|
25
33
|
};
|
|
26
34
|
start?: number;
|
|
27
35
|
end?: number;
|
|
28
36
|
transcribe?: {
|
|
29
37
|
language?: string;
|
|
30
38
|
pan?: number[];
|
|
39
|
+
diarization?: boolean;
|
|
31
40
|
};
|
|
41
|
+
/** @deprecated Use video.crop instead */
|
|
42
|
+
crop?: RenderSceneCrop;
|
|
43
|
+
/** @deprecated Use video.filters instead */
|
|
44
|
+
filters?: RenderSceneFilters;
|
|
45
|
+
/** @deprecated Use video.orientation instead */
|
|
46
|
+
orientation?: number;
|
|
47
|
+
/** @deprecated Use video.orientation instead */
|
|
48
|
+
rotate?: number;
|
|
49
|
+
/** @deprecated Use input.video.interlaced instead */
|
|
50
|
+
interlaced?: RenderSceneInterlaced | null;
|
|
51
|
+
/** @deprecated Use input.video.alpha instead */
|
|
52
|
+
alpha?: RenderSceneAlpha | null;
|
|
53
|
+
}
|
|
54
|
+
export interface RenderSceneCrop {
|
|
55
|
+
x?: number;
|
|
56
|
+
y?: number;
|
|
57
|
+
width?: number;
|
|
58
|
+
height?: number;
|
|
59
|
+
}
|
|
60
|
+
export type RenderSceneInterlaced = false | "tff" | "bff";
|
|
61
|
+
/** true = premultiplied alpha, 'straight' = straight alpha, null/undefined = auto */
|
|
62
|
+
export type RenderSceneAlpha = boolean | "straight";
|
|
63
|
+
export interface RenderSceneFilters {
|
|
64
|
+
eq?: {
|
|
65
|
+
brightness?: number;
|
|
66
|
+
contrast?: number;
|
|
67
|
+
gamma?: number;
|
|
68
|
+
saturation?: number;
|
|
69
|
+
};
|
|
70
|
+
hue?: {
|
|
71
|
+
h?: number;
|
|
72
|
+
s?: number;
|
|
73
|
+
b?: number;
|
|
74
|
+
};
|
|
75
|
+
colorbalance?: {
|
|
76
|
+
rs?: number;
|
|
77
|
+
gs?: number;
|
|
78
|
+
bs?: number;
|
|
79
|
+
rm?: number;
|
|
80
|
+
gm?: number;
|
|
81
|
+
bm?: number;
|
|
82
|
+
rh?: number;
|
|
83
|
+
gh?: number;
|
|
84
|
+
bh?: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export type RenderSceneSubtitleTracks = {
|
|
88
|
+
[trackId: string]: RenderSceneSubtitleTrack;
|
|
89
|
+
};
|
|
90
|
+
export interface RenderSceneSubtitleTrack {
|
|
91
|
+
style?: string | null;
|
|
92
|
+
styleOverrides?: SubtitleStyle;
|
|
32
93
|
}
|
|
@@ -1,5 +1,37 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { Nxtpression } from './nxtpression.ts';
|
|
2
|
+
import type { WidgetOptions, WidgetType } from './widget.ts';
|
|
3
|
+
export interface BaseSchemaProperty<Value = unknown> {
|
|
4
|
+
domain?: string;
|
|
5
|
+
path?: string;
|
|
6
|
+
/** Specifying what type of data will be entered into the field. */
|
|
7
|
+
type?: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc" | undefined;
|
|
8
|
+
/** User-friendly title of the property. This will be used as the field's label in the UI. */
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
/** If present, indicates that the user must specify a value for the asset to be treated as valid. */
|
|
12
|
+
required?: boolean;
|
|
13
|
+
oneOf?: Array<BaseSchemaProperty>;
|
|
14
|
+
anyOf?: Array<BaseSchemaProperty>;
|
|
15
|
+
enum?: ReadonlyArray<Value>;
|
|
16
|
+
widget?: WidgetType | WidgetOptions;
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
helpText?: string;
|
|
19
|
+
invalid?: boolean;
|
|
20
|
+
emptyValue?: Value;
|
|
21
|
+
minItems?: number;
|
|
22
|
+
maxItems?: number;
|
|
23
|
+
items?: BaseSchemaProperty<Value>;
|
|
24
|
+
properties?: Record<string, BaseSchemaProperty<unknown>>;
|
|
25
|
+
computed?: Nxtpression<Value>;
|
|
26
|
+
/** An object specifying where to index the data. Adding this will effectively make the data searchable. */
|
|
27
|
+
index?: {
|
|
28
|
+
/** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
|
|
29
|
+
label: string;
|
|
30
|
+
/** 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 */
|
|
31
|
+
path: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface SchemaProperty<Value = unknown> extends BaseSchemaProperty<Value> {
|
|
3
35
|
recordName?: Nxtpression<string, {
|
|
4
36
|
id: string;
|
|
5
37
|
}>;
|
|
@@ -7,6 +39,6 @@ export interface SchemaProperty extends PanelProperty {
|
|
|
7
39
|
id: string;
|
|
8
40
|
value: unknown;
|
|
9
41
|
}>;
|
|
10
|
-
default?:
|
|
11
|
-
const?:
|
|
42
|
+
default?: Value;
|
|
43
|
+
const?: Value;
|
|
12
44
|
}
|
|
@@ -3,12 +3,25 @@ import type { PipelineSortMode } from './pipeline.ts';
|
|
|
3
3
|
import type { PromotedTag } from './promoted-tag.ts';
|
|
4
4
|
import type { NotificationReason } from './user-notification.ts';
|
|
5
5
|
import type { SubtitleStyle } from './subtitle-style.ts';
|
|
6
|
+
import type { PrintOptions } from './print.ts';
|
|
6
7
|
export interface Settings {
|
|
7
8
|
autoLogoutTime?: number;
|
|
8
9
|
permission?: {
|
|
9
10
|
overrideUserContact?: boolean;
|
|
10
11
|
overrideUserLogin?: boolean;
|
|
11
12
|
};
|
|
13
|
+
graphics?: {
|
|
14
|
+
width?: number;
|
|
15
|
+
height?: number;
|
|
16
|
+
};
|
|
17
|
+
googleWhitelist?: Array<{
|
|
18
|
+
domain?: string;
|
|
19
|
+
}>;
|
|
20
|
+
googleUserRoles?: string[];
|
|
21
|
+
azureWhitelist?: Array<{
|
|
22
|
+
domain?: string;
|
|
23
|
+
}>;
|
|
24
|
+
azureUserRoles?: string[];
|
|
12
25
|
module?: {
|
|
13
26
|
editor?: string;
|
|
14
27
|
tabs?: ModuleTabs;
|
|
@@ -30,10 +43,10 @@ export interface Settings {
|
|
|
30
43
|
map?: {
|
|
31
44
|
clustering?: boolean;
|
|
32
45
|
zoom?: number;
|
|
33
|
-
center?:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
46
|
+
center?: [
|
|
47
|
+
number,
|
|
48
|
+
number
|
|
49
|
+
];
|
|
37
50
|
};
|
|
38
51
|
createMenu?: {
|
|
39
52
|
sortOrder?: string[];
|
|
@@ -86,6 +99,7 @@ export interface Settings {
|
|
|
86
99
|
sortBy?: "index" | "title";
|
|
87
100
|
showPreview?: boolean;
|
|
88
101
|
};
|
|
102
|
+
contentMaxWidth?: number;
|
|
89
103
|
colorTags?: PromotedTag[];
|
|
90
104
|
readType?: "characters" | "words" | "wordsPerMinute";
|
|
91
105
|
readRate?: number;
|
|
@@ -118,44 +132,20 @@ export interface Settings {
|
|
|
118
132
|
countFloatedDuration?: boolean;
|
|
119
133
|
};
|
|
120
134
|
history?: boolean;
|
|
121
|
-
keymap?:
|
|
122
|
-
display?: {
|
|
123
|
-
[actionKey: string]: KeymapSetting;
|
|
124
|
-
};
|
|
125
|
-
browser?: {
|
|
126
|
-
[actionKey: string]: KeymapSetting;
|
|
127
|
-
};
|
|
128
|
-
gallery?: {
|
|
129
|
-
[actionKey: string]: KeymapSetting;
|
|
130
|
-
};
|
|
131
|
-
global?: {
|
|
132
|
-
[actionKey: string]: KeymapSetting;
|
|
133
|
-
};
|
|
134
|
-
player?: {
|
|
135
|
-
[actionKey: string]: KeymapSetting;
|
|
136
|
-
};
|
|
137
|
-
script?: {
|
|
138
|
-
[actionKey: string]: KeymapSetting;
|
|
139
|
-
};
|
|
140
|
-
codeEditor?: {
|
|
141
|
-
[actionKey: string]: KeymapSetting;
|
|
142
|
-
};
|
|
143
|
-
bookmarks?: {
|
|
144
|
-
[actionKey: string]: KeymapSetting;
|
|
145
|
-
};
|
|
146
|
-
edit?: {
|
|
147
|
-
[actionKey: string]: KeymapSetting;
|
|
148
|
-
};
|
|
149
|
-
rundown?: {
|
|
150
|
-
[actionKey: string]: KeymapSetting;
|
|
151
|
-
};
|
|
152
|
-
segment?: {
|
|
153
|
-
[actionKey: string]: KeymapSetting;
|
|
154
|
-
};
|
|
155
|
-
};
|
|
135
|
+
keymap?: SettingsKeymap;
|
|
156
136
|
media?: {
|
|
137
|
+
volume?: number;
|
|
138
|
+
muted?: boolean;
|
|
139
|
+
graphics?: boolean;
|
|
140
|
+
waveform?: boolean;
|
|
157
141
|
defaultFrameRate?: number;
|
|
142
|
+
dropFrame?: boolean;
|
|
158
143
|
placeholder?: string;
|
|
144
|
+
warnSubclipDuration?: number;
|
|
145
|
+
displayAspectRatioPresets?: Array<{
|
|
146
|
+
label?: string;
|
|
147
|
+
value?: string;
|
|
148
|
+
}>;
|
|
159
149
|
guide?: {
|
|
160
150
|
mask?: boolean;
|
|
161
151
|
actionSafe?: boolean;
|
|
@@ -295,6 +285,7 @@ export interface Settings {
|
|
|
295
285
|
};
|
|
296
286
|
print?: {
|
|
297
287
|
fontFamilies?: string[];
|
|
288
|
+
presets?: Array<PrintOptions>;
|
|
298
289
|
};
|
|
299
290
|
hiddenPreviews?: Array<{
|
|
300
291
|
id?: string;
|
|
@@ -302,7 +293,27 @@ export interface Settings {
|
|
|
302
293
|
}>;
|
|
303
294
|
plugins?: {
|
|
304
295
|
adobe?: {
|
|
296
|
+
videoBin?: string;
|
|
297
|
+
imageBin?: string;
|
|
298
|
+
audioBin?: string;
|
|
299
|
+
timelineBin?: string;
|
|
300
|
+
clipBin?: string;
|
|
301
|
+
downloadPath?: string;
|
|
302
|
+
renderPath?: string;
|
|
303
|
+
renderPresetPath?: string;
|
|
304
|
+
renderPresets?: string[];
|
|
305
|
+
videoRenderPreset?: string;
|
|
306
|
+
imageRenderPreset?: string;
|
|
307
|
+
audioRenderPreset?: string;
|
|
308
|
+
forceRender?: boolean;
|
|
305
309
|
useProxies?: boolean;
|
|
310
|
+
deleteIntermediateFiles?: boolean;
|
|
311
|
+
bodymovin?: {
|
|
312
|
+
template?: string;
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
ograf?: {
|
|
316
|
+
template?: string;
|
|
306
317
|
};
|
|
307
318
|
rive?: {
|
|
308
319
|
template?: string;
|
|
@@ -312,6 +323,7 @@ export interface Settings {
|
|
|
312
323
|
debug?: boolean;
|
|
313
324
|
featurePreview?: {
|
|
314
325
|
collections?: boolean;
|
|
326
|
+
aiMetadata?: boolean;
|
|
315
327
|
semanticSearch?: boolean;
|
|
316
328
|
ameRemoteRendering?: boolean;
|
|
317
329
|
};
|
|
@@ -333,6 +345,8 @@ export interface Settings {
|
|
|
333
345
|
hideInAssetMenu?: boolean;
|
|
334
346
|
assetRoute?: boolean;
|
|
335
347
|
devWarnings?: boolean;
|
|
348
|
+
downloadFiles?: boolean;
|
|
349
|
+
supportPortal?: boolean;
|
|
336
350
|
multiplexWebSockets?: boolean;
|
|
337
351
|
systemHealth?: boolean;
|
|
338
352
|
systemHealthIgnore?: boolean;
|
|
@@ -376,8 +390,14 @@ export interface Settings {
|
|
|
376
390
|
layout?: string;
|
|
377
391
|
};
|
|
378
392
|
performance?: {
|
|
379
|
-
/** List of message identifiers to ignore
|
|
380
|
-
|
|
393
|
+
/** List of message identifiers to ignore warnings (format: "serviceName:messageText") */
|
|
394
|
+
ignoredWarnings?: string[];
|
|
395
|
+
/** List of message identifiers to ignore errors (format: "serviceName:messageText") */
|
|
396
|
+
ignoredErrors?: string[];
|
|
397
|
+
};
|
|
398
|
+
app?: {
|
|
399
|
+
enableUpdate?: boolean;
|
|
400
|
+
autoUpdate?: boolean;
|
|
381
401
|
};
|
|
382
402
|
}
|
|
383
403
|
export type SettingsPaths = Paths<Settings>;
|
|
@@ -393,10 +413,19 @@ interface ModuleTabsSettingsValue {
|
|
|
393
413
|
interface SettingsPanelStoreTab extends ModuleTabsSettingsValue {
|
|
394
414
|
activeSectionIndex?: number;
|
|
395
415
|
}
|
|
396
|
-
|
|
416
|
+
export type SettingsKeymap = Record<string, SettingsKeymapScope>;
|
|
417
|
+
export interface SettingsKeymapEntry {
|
|
397
418
|
title?: string;
|
|
398
|
-
sequence?: string
|
|
419
|
+
sequence?: string | (string | [
|
|
420
|
+
string,
|
|
421
|
+
unknown
|
|
422
|
+
])[] | null | undefined;
|
|
423
|
+
schema?: Record<string, any>;
|
|
424
|
+
stopCallback?: boolean;
|
|
399
425
|
}
|
|
426
|
+
export declare const isSettingsKeymapEntry: (input: unknown) => input is SettingsKeymapEntry;
|
|
427
|
+
export type SettingsKeymapScope = Record<string, SettingsKeymapEntry>;
|
|
428
|
+
export declare const isSettingsKeymapScope: (input: unknown) => input is SettingsKeymapScope;
|
|
400
429
|
export interface AudioMappingPreset {
|
|
401
430
|
id: string;
|
|
402
431
|
title: string;
|
package/dist/common/settings.js
CHANGED
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
import typia from 'typia';
|
|
2
|
+
export const isSettingsKeymapEntry = (() => { const _io0 = input => (undefined === input.title || "string" === typeof input.title) && (null === input.sequence || undefined === input.sequence || "string" === typeof input.sequence || Array.isArray(input.sequence) && input.sequence.every(elem => null !== elem && undefined !== elem && ("string" === typeof elem || Array.isArray(elem) && (elem.length === 2 && "string" === typeof elem[0] && true)))) && (undefined === input.schema || "object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) && _io1(input.schema)) && (undefined === input.stopCallback || "boolean" === typeof input.stopCallback); const _io1 = input => Object.keys(input).every(key => {
|
|
3
|
+
const value = input[key];
|
|
4
|
+
if (undefined === value)
|
|
5
|
+
return true;
|
|
6
|
+
return true;
|
|
7
|
+
}); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })();
|
|
8
|
+
export const isSettingsKeymapScope = (() => { const _io0 = input => Object.keys(input).every(key => {
|
|
9
|
+
const value = input[key];
|
|
10
|
+
if (undefined === value)
|
|
11
|
+
return true;
|
|
12
|
+
return "object" === typeof value && null !== value && false === Array.isArray(value) && _io1(value);
|
|
13
|
+
}); const _io1 = input => (undefined === input.title || "string" === typeof input.title) && (null === input.sequence || undefined === input.sequence || "string" === typeof input.sequence || Array.isArray(input.sequence) && input.sequence.every(elem => null !== elem && undefined !== elem && ("string" === typeof elem || Array.isArray(elem) && (elem.length === 2 && "string" === typeof elem[0] && true)))) && (undefined === input.schema || "object" === typeof input.schema && null !== input.schema && false === Array.isArray(input.schema) && _io2(input.schema)) && (undefined === input.stopCallback || "boolean" === typeof input.stopCallback); const _io2 = input => Object.keys(input).every(key => {
|
|
14
|
+
const value = input[key];
|
|
15
|
+
if (undefined === value)
|
|
16
|
+
return true;
|
|
17
|
+
return true;
|
|
18
|
+
}); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type WidgetType = string;
|
|
2
|
+
export interface WidgetOptions {
|
|
3
|
+
type?: WidgetType;
|
|
4
|
+
readOnly?: boolean;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export type WidgetLayout = string | WidgetLayoutDivider | WidgetLayoutItem | WidgetLayout[];
|
|
8
|
+
export interface WidgetLayoutItem {
|
|
9
|
+
property: string;
|
|
10
|
+
width?: string | number;
|
|
11
|
+
widget?: WidgetType | WidgetOptions;
|
|
12
|
+
}
|
|
13
|
+
export interface WidgetLayoutDivider {
|
|
14
|
+
type: "divider";
|
|
15
|
+
title?: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|