@nxtedition/types 23.0.49 → 23.0.51

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.
Files changed (58) hide show
  1. package/dist/common/file.d.ts +1 -0
  2. package/dist/common/file.js +7 -2
  3. package/dist/common/settings.d.ts +1 -0
  4. package/dist/nxtpression.d.ts +141 -63
  5. package/dist/records/domains/connection/empty.d.ts +7 -0
  6. package/dist/records/domains/connection/facebook.d.ts +8 -0
  7. package/dist/records/domains/connection/file/ftp.d.ts +9 -0
  8. package/dist/records/domains/connection/file/ftp.js +1 -0
  9. package/dist/records/domains/connection/file/index.d.ts +29 -0
  10. package/dist/records/domains/connection/file/index.js +4 -0
  11. package/dist/records/domains/connection/file/s3.d.ts +6 -0
  12. package/dist/records/domains/connection/file/s3.js +1 -0
  13. package/dist/records/domains/connection/file/sftp.d.ts +12 -0
  14. package/dist/records/domains/connection/file/sftp.js +1 -0
  15. package/dist/records/domains/connection/file/smb.d.ts +9 -0
  16. package/dist/records/domains/connection/file/smb.js +1 -0
  17. package/dist/records/domains/connection/index.d.ts +38 -0
  18. package/dist/records/domains/connection/index.js +4 -0
  19. package/dist/records/domains/connection/reuters.d.ts +10 -0
  20. package/dist/records/domains/connection/reuters.js +1 -0
  21. package/dist/records/domains/index.d.ts +6 -5
  22. package/dist/records/domains/index.js +2 -2
  23. package/dist/records/domains/publish/empty.d.ts +8 -0
  24. package/dist/records/domains/publish/empty.js +1 -0
  25. package/dist/records/domains/publish/facebook.d.ts +11 -0
  26. package/dist/records/domains/publish/facebook.js +1 -0
  27. package/dist/records/domains/publish/file-legacy.d.ts +26 -0
  28. package/dist/records/domains/publish/file-legacy.js +1 -0
  29. package/dist/records/domains/publish/file.d.ts +66 -0
  30. package/dist/records/domains/publish/file.js +1 -0
  31. package/dist/records/domains/publish/index.d.ts +66 -0
  32. package/dist/records/domains/publish/index.js +5 -0
  33. package/dist/records/domains/publish/youtube.d.ts +16 -0
  34. package/dist/records/domains/publish/youtube.js +1 -0
  35. package/dist/records/index.d.ts +1 -1
  36. package/dist/records/utils.d.ts +4 -2
  37. package/dist/records/utils.tds.js +1 -1
  38. package/dist/records/validate/assert-guard.d.ts +3 -4
  39. package/dist/records/validate/assert-guard.js +474 -687
  40. package/dist/records/validate/assert.d.ts +3 -4
  41. package/dist/records/validate/assert.js +474 -687
  42. package/dist/records/validate/is.d.ts +3 -4
  43. package/dist/records/validate/is.js +39 -108
  44. package/dist/records/validate/schemas.d.ts +4 -5
  45. package/dist/records/validate/schemas.js +403 -437
  46. package/dist/records/validate/stringify.d.ts +3 -4
  47. package/dist/records/validate/stringify.js +66 -154
  48. package/dist/records/validate/utils.d.ts +4 -3
  49. package/dist/records/validate/utils.js +3 -0
  50. package/dist/records/validate/validate-equals.d.ts +3 -4
  51. package/dist/records/validate/validate-equals.js +723 -714
  52. package/dist/records/validate/validate.d.ts +3 -4
  53. package/dist/records/validate/validate.js +437 -635
  54. package/package.json +1 -1
  55. package/dist/records/domains/connection.d.ts +0 -77
  56. package/dist/records/domains/publish.d.ts +0 -149
  57. /package/dist/records/domains/{connection.js → connection/empty.js} +0 -0
  58. /package/dist/records/domains/{publish.js → connection/facebook.js} +0 -0
@@ -0,0 +1,10 @@
1
+ import type { ConnectionDef, ConnectionBase } from './index.ts';
2
+ export interface ReutersConnectionDef extends ConnectionDef<"reuters"> {
3
+ connection: ReutersConnectionRecord;
4
+ }
5
+ export interface ReutersConnectionRecord extends ConnectionBase {
6
+ type: "reuters";
7
+ clientId?: string;
8
+ clientSecret?: string;
9
+ audience?: string;
10
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -4,7 +4,7 @@ import type { CloneDomainRecords } from './clone.ts';
4
4
  import type { CommentReactionDomainRecords } from './comment-reaction.ts';
5
5
  import type { CommentReadMarkDomainRecords } from './comment-read-mark.ts';
6
6
  import type { CommentDomainRecords } from './comment.ts';
7
- import type { ConnectionDomainRecords } from './connection.ts';
7
+ import type { ConnectionDomainRecords } from './connection/index.ts';
8
8
  import type { ContactDomainRecords } from './contact.ts';
9
9
  import type { DeepstreamDomainRecords } from './deepstream.ts';
10
10
  import type { DesignDomainRecords } from './design.ts';
@@ -20,7 +20,7 @@ import type { PipelinePresetDomainRecords } from './pipeline-preset.ts';
20
20
  import type { PipelineDomainRecords } from './pipeline.ts';
21
21
  import type { PlanningDomainRecords } from './planning.ts';
22
22
  import type { PrompterDomainRecords } from './prompter.ts';
23
- import type { PublishDomainRecords } from './publish.ts';
23
+ import type { PublishDomainRecords } from './publish/index.ts';
24
24
  import type { PublishedDomainRecords } from './published.ts';
25
25
  import type { RenderPresetDomainRecords } from './render-preset.ts';
26
26
  import type { RenderDomainRecords } from './render.ts';
@@ -42,7 +42,7 @@ export * from './clone.ts';
42
42
  export * from './comment-reaction.ts';
43
43
  export * from './comment-read-mark.ts';
44
44
  export * from './comment.ts';
45
- export * from './connection.ts';
45
+ export * from './connection/index.ts';
46
46
  export * from './contact.ts';
47
47
  export * from './deepstream.ts';
48
48
  export * from './design.ts';
@@ -58,7 +58,7 @@ export * from './pipeline-preset.ts';
58
58
  export * from './pipeline.ts';
59
59
  export * from './planning.ts';
60
60
  export * from './prompter.ts';
61
- export * from './publish.ts';
61
+ export * from './publish/index.ts';
62
62
  export * from './published.ts';
63
63
  export * from './render-preset.ts';
64
64
  export * from './render.ts';
@@ -74,4 +74,5 @@ export * from './template.ts';
74
74
  export * from './user-notification-status.ts';
75
75
  export * from './user-notification.ts';
76
76
  export * from './user.ts';
77
- export type DomainRecords = AssetDomainRecords & BundleDomainRecords & CloneDomainRecords & CommentReactionDomainRecords & CommentReadMarkDomainRecords & CommentDomainRecords & ConnectionDomainRecords & ContactDomainRecords & DeepstreamDomainRecords & DesignDomainRecords & EditDomainRecords & EventDomainRecords & FileDomainRecords & GeneralDomainRecords & MediaDomainRecords & MonitorDomainRecords & PanelDomainRecords & PermissionDomainRecords & PipelinePresetDomainRecords & PipelineDomainRecords & PlanningDomainRecords & PrompterDomainRecords & PublishDomainRecords & PublishedDomainRecords & RenderPresetDomainRecords & RenderDomainRecords & RevsDomainRecords & RoleDomainRecords & ScriptDomainRecords & SearchDomainRecords & SettingsDomainRecords & StoryboardDomainRecords & SubtitleStyleDomainRecords & SubtitleDomainRecords & TemplateDomainRecords & UserNotificationStatusDomainRecords & UserNotificationDomainRecords & UserDomainRecords;
77
+ export interface DomainRecords extends AssetDomainRecords, BundleDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, GeneralDomainRecords, MediaDomainRecords, MonitorDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords {
78
+ }
@@ -4,7 +4,7 @@ export * from "./clone.js";
4
4
  export * from "./comment-reaction.js";
5
5
  export * from "./comment-read-mark.js";
6
6
  export * from "./comment.js";
7
- export * from "./connection.js";
7
+ export * from "./connection/index.js";
8
8
  export * from "./contact.js";
9
9
  export * from "./deepstream.js";
10
10
  export * from "./design.js";
@@ -20,7 +20,7 @@ export * from "./pipeline-preset.js";
20
20
  export * from "./pipeline.js";
21
21
  export * from "./planning.js";
22
22
  export * from "./prompter.js";
23
- export * from "./publish.js";
23
+ export * from "./publish/index.js";
24
24
  export * from "./published.js";
25
25
  export * from "./render-preset.js";
26
26
  export * from "./render.js";
@@ -0,0 +1,8 @@
1
+ import type { PublishDef } from './index.ts';
2
+ export interface EmptyPublishDef extends PublishDef<null> {
3
+ publish: EmptyPublishRecord;
4
+ }
5
+ export interface EmptyPublishRecord {
6
+ type: null;
7
+ asset?: string | null;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { PublishDef, PublishRecordBase, PublishStatsRecordBase } from './index.ts';
2
+ export interface FacebookPublishDef extends PublishDef<"facebook"> {
3
+ publish: FacebookPublishRecord;
4
+ stats: FacebookPublishStatsRecord;
5
+ }
6
+ export interface FacebookPublishRecord extends PublishRecordBase {
7
+ type: "facebook";
8
+ pageId?: string;
9
+ }
10
+ export interface FacebookPublishStatsRecord extends PublishStatsRecordBase {
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { FilePublishDraft, FilePublishPublished } from './file';
2
+ import type { PublishDef, PublishRecordBase } from './index.ts';
3
+ export interface FileLegacyPublishDef extends PublishDef<"file"> {
4
+ publish: FilePublishRecordLegacy;
5
+ }
6
+ export interface FilePublishRecordLegacy extends PublishRecordBase {
7
+ type: "file";
8
+ directory?: string;
9
+ filename?: string;
10
+ draft?: FilePublishDraft;
11
+ remote?: FilePublishRemoteLegacy;
12
+ published?: FilePublishPublished;
13
+ renders?: undefined;
14
+ }
15
+ export interface FilePublishRemoteLegacy extends Record<string, unknown> {
16
+ id?: string;
17
+ path: string;
18
+ filename: string;
19
+ directory?: string;
20
+ subtitle?: {
21
+ path: string;
22
+ };
23
+ metafile?: {
24
+ path: string;
25
+ };
26
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ import type { Message, Nxtpression } from '../../../common/index.ts';
2
+ import type { PublishDef, PublishRecordBase, PublishRenderBase, PublishStatsRecordBase } from './index.ts';
3
+ export interface FilePublishDef extends PublishDef<"file"> {
4
+ publish: FilePublishRecord;
5
+ stats: FilePublishStatsRecord;
6
+ }
7
+ export interface FilePublishRecord extends PublishRecordBase {
8
+ type: "file";
9
+ directory?: string;
10
+ filename?: string;
11
+ renders?: Record<string, FilePublishRender>;
12
+ draft?: FilePublishDraft;
13
+ remote?: FilePublishRemote;
14
+ published?: FilePublishPublished;
15
+ }
16
+ export type FilePublishRender = Nxtpression<ResolvedFilePublishRender, {
17
+ publish: FilePublishRecord;
18
+ directory: string;
19
+ name: string;
20
+ }>;
21
+ export interface ResolvedFilePublishRender extends PublishRenderBase {
22
+ name?: string;
23
+ path: string;
24
+ collisionStrategy?: "overwrite" | "skip";
25
+ ignoreEmptyScene?: boolean;
26
+ }
27
+ export interface FilePublishPublished {
28
+ directory?: string;
29
+ filename: string;
30
+ }
31
+ export interface FilePublishDraft {
32
+ directory?: string;
33
+ filename?: string;
34
+ }
35
+ export interface FilePublishRemote {
36
+ directory?: string;
37
+ filename?: string;
38
+ renders?: Record<string, FilePublishRemoteRender>;
39
+ }
40
+ export interface FilePublishRemoteRender {
41
+ path?: string;
42
+ messages?: Message[];
43
+ query?: unknown;
44
+ size?: number;
45
+ hash?: string;
46
+ source?: string;
47
+ }
48
+ export interface FilePublishStatsRecord extends PublishStatsRecordBase {
49
+ retrieved?: FilePublishRetrieved;
50
+ defaults?: FilePublishDefaults;
51
+ }
52
+ export interface FilePublishRetrieved {
53
+ filename?: string;
54
+ directory?: string;
55
+ renders?: Record<string, FilePublishRetrievedRender>;
56
+ }
57
+ export interface FilePublishRetrievedRender {
58
+ path: string;
59
+ size?: number;
60
+ hash?: string;
61
+ }
62
+ export interface FilePublishDefaults {
63
+ directory: string;
64
+ filename: string;
65
+ renders: Record<string, FilePublishRender>;
66
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ import type { Message, RenderSceneObject, RenderProfileObject } from '../../../common/index.ts';
2
+ import type { EmptyPublishDef } from './empty.ts';
3
+ export * from './empty.ts';
4
+ import type { FacebookPublishDef } from './facebook.ts';
5
+ export * from './facebook.ts';
6
+ import type { FileLegacyPublishDef } from './file-legacy.ts';
7
+ export * from './file-legacy.ts';
8
+ import type { FilePublishDef } from './file.ts';
9
+ export * from './file.ts';
10
+ import type { YoutubePublishDef } from './youtube.ts';
11
+ export * from './youtube.ts';
12
+ type Union = EmptyPublishDef | YoutubePublishDef | FacebookPublishDef | FilePublishDef | FileLegacyPublishDef;
13
+ export type PublishRecord = Union["publish"];
14
+ export type PublishStatsRecord = Union["stats"];
15
+ export type PublishMethodsRecord = Union["methods"];
16
+ export type PublishAcceptsProvidedRecord = Union["accepts"];
17
+ export interface PublishDomainRecords {
18
+ [":publish"]: PublishRecord;
19
+ [":publish.stats?"]: PublishStatsRecord;
20
+ [":publish.methods?"]: PublishMethodsRecord;
21
+ [":publish.accepts"]: PublishAcceptsProvidedRecord;
22
+ }
23
+ export interface PublishDef<Type extends string | null> {
24
+ publish: PublishRecordBase & {
25
+ type: Type;
26
+ };
27
+ stats: PublishStatsRecordBase;
28
+ methods: PublishDomainMethodsRecordBase;
29
+ accepts: PublishDomainAcceptsProvidedRecordBase;
30
+ }
31
+ export interface PublishRecordBase {
32
+ type: string | null;
33
+ asset?: string | null;
34
+ connection?: string;
35
+ render?: PublishRenderBase;
36
+ draft?: unknown;
37
+ published?: unknown;
38
+ remote?: unknown;
39
+ error?: {
40
+ method: string;
41
+ } | null;
42
+ messages?: Message[];
43
+ }
44
+ /** render preset + overrides */
45
+ export interface PublishRenderBase {
46
+ preset?: string;
47
+ type: string;
48
+ scene?: RenderSceneObject;
49
+ profile?: RenderProfileObject;
50
+ }
51
+ export interface PublishDomainMethodsRecordBase {
52
+ [key: string]: {
53
+ rpcId: string;
54
+ rpcData: unknown;
55
+ };
56
+ }
57
+ export interface PublishDomainAcceptsProvidedRecordBase {
58
+ value?: unknown;
59
+ }
60
+ export interface PublishStatsRecordBase {
61
+ status?: string;
62
+ substatus?: string;
63
+ messages?: Message[];
64
+ retrieved?: unknown;
65
+ defaults?: unknown;
66
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./empty.js";
2
+ export * from "./facebook.js";
3
+ export * from "./file-legacy.js";
4
+ export * from "./file.js";
5
+ export * from "./youtube.js";
@@ -0,0 +1,16 @@
1
+ import type { PublishDef, PublishRecordBase, PublishStatsRecordBase } from './index.ts';
2
+ export interface YoutubePublishDef extends PublishDef<"youtube"> {
3
+ publish: YoutubePublishRecord;
4
+ stats: YoutubePublishStatsRecord;
5
+ }
6
+ export interface YoutubePublishRecord extends PublishRecordBase {
7
+ type: "youtube";
8
+ draft?: {
9
+ snippet?: {
10
+ title?: string;
11
+ tags?: string[];
12
+ description?: string;
13
+ };
14
+ };
15
+ }
16
+ export type YoutubePublishStatsRecord = PublishStatsRecordBase;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,3 @@
1
1
  export * from './domains/index.ts';
2
2
  export * from './exact/index.ts';
3
- export type { RecordNameToType, Records } from './utils.ts';
3
+ export type { RecordNameToType, DomainNameToType, Records } from './utils.ts';
@@ -1,5 +1,5 @@
1
1
  import type { EmptyObject, SingleKeyObject } from 'type-fest';
2
- import type { DomainRecords, ExactRecords } from './index.ts';
2
+ import type { DomainRecords, DomainRows, ExactRecords } from './index.ts';
3
3
  type ProvidedDomainKeys = keyof DomainRecords & `${string}?`;
4
4
  type DbDomainKeys = Exclude<keyof DomainRecords, ProvidedDomainKeys>;
5
5
  type ProvidedExactKeys = keyof ExactRecords & `${string}?`;
@@ -17,8 +17,10 @@ type DbProvidedRecord = {
17
17
  [Name in ProvidedExactKeys as `${Name}${string}`]: GettablePossibleEmpty<ExactRecords[Name]>;
18
18
  };
19
19
  export interface Records extends KeyedDomainRecords, KeyedProvidedDomainRecords, DbExactRecords, DbProvidedRecord {
20
+ [key: string]: unknown;
20
21
  }
21
- export type RecordNameToType<T extends string> = T extends keyof Records ? Records[T] : unknown;
22
+ export type RecordNameToType<T extends string> = T extends `:${string}` ? GettablePossibleEmpty<DomainRows> : T extends keyof Records ? Records[T] : unknown;
23
+ export type DomainNameToType<T extends string> = T extends keyof DomainRecords ? DomainRecords[T] : unknown;
22
24
  declare const providedRecordSymbol: unique symbol;
23
25
  export type ProvidedRecord<T> = T & {
24
26
  [providedRecordSymbol]: never;
@@ -1,7 +1,7 @@
1
1
  import { expectType } from 'tsd';
2
2
  const getType = (_) => null;
3
3
  expectType(getType("asset.tags"));
4
- // expectType<Partial<DomainRows>>(getType(':user'))
4
+ expectType(getType(":user"));
5
5
  expectType(getType("id:user.receivedNotifications?"));
6
6
  expectType(getType("id:user.receivedNotifications?limit=2"));
7
7
  expectType(getType("{}:search?"));
@@ -1,4 +1,3 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
3
- export declare function assertGuardRecord<Name extends keyof Records>(name: Name, input: unknown): asserts input is RecordNameToType<Name>;
4
- export declare function assertGuardDomainRecord<Domain extends keyof DomainRecords>(domain: Domain, input: unknown): asserts input is DomainRecords[Domain];
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
2
+ export declare function assertGuardRecord<Name extends string>(name: Name, input: unknown): asserts input is RecordNameToType<Name>;
3
+ export declare function assertGuardDomainRecord<Domain extends string>(domain: Domain, input: unknown): asserts input is DomainNameToType<Domain>;