@nxtedition/types 23.0.48 → 23.0.50

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.
@@ -1,7 +1,5 @@
1
1
  /// <reference lib="esnext.asynciterable" />
2
2
 
3
- import type { IsUnion } from './internal';
4
-
5
3
  /**
6
4
  All diff* functions should return a list of operations, often empty.
7
5
 
@@ -444,7 +442,8 @@ declare interface DesignViewRow<Id = string, Key = string, Value = void> {
444
442
  value: Value;
445
443
  }
446
444
 
447
- declare 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;
445
+ declare 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 {
446
+ }
448
447
 
449
448
  declare type Dynamic = false | string[];
450
449
 
@@ -862,29 +861,88 @@ declare interface HorizontalRuleContent {
862
861
  }
863
862
 
864
863
  /**
865
- An if-else-like type that resolves depending on whether the given type is `{}`.
864
+ An if-else-like type that resolves depending on whether the given `boolean` type is `true` or `false`.
866
865
 
867
- @see {@link IsEmptyObject}
866
+ Use-cases:
867
+ - You can use this in combination with `Is*` types to create an if-else-like experience. For example, `If<IsAny<any>, 'is any', 'not any'>`.
868
+
869
+ Note:
870
+ - Returns a union of if branch and else branch if the given type is `boolean` or `any`. For example, `If<boolean, 'Y', 'N'>` will return `'Y' | 'N'`.
871
+ - Returns the else branch if the given type is `never`. For example, `If<never, 'Y', 'N'>` will return `'N'`.
868
872
 
869
873
  @example
870
874
  ```
871
- import type {IfEmptyObject} from 'type-fest';
875
+ import {If} from 'type-fest';
872
876
 
873
- type ShouldBeTrue = IfEmptyObject<{}>;
874
- //=> true
877
+ type A = If<true, 'yes', 'no'>;
878
+ //=> 'yes'
879
+
880
+ type B = If<false, 'yes', 'no'>;
881
+ //=> 'no'
882
+
883
+ type C = If<boolean, 'yes', 'no'>;
884
+ //=> 'yes' | 'no'
885
+
886
+ type D = If<any, 'yes', 'no'>;
887
+ //=> 'yes' | 'no'
888
+
889
+ type E = If<never, 'yes', 'no'>;
890
+ //=> 'no'
891
+ ```
892
+
893
+ @example
894
+ ```
895
+ import {If, IsAny, IsNever} from 'type-fest';
896
+
897
+ type A = If<IsAny<unknown>, 'is any', 'not any'>;
898
+ //=> 'not any'
875
899
 
876
- type ShouldBeBar = IfEmptyObject<{key: any}, 'foo', 'bar'>;
877
- //=> 'bar'
900
+ type B = If<IsNever<never>, 'is never', 'not never'>;
901
+ //=> 'is never'
902
+ ```
903
+
904
+ @example
905
+ ```
906
+ import {If, IsEqual} from 'type-fest';
907
+
908
+ type IfEqual<T, U, IfBranch, ElseBranch> = If<IsEqual<T, U>, IfBranch, ElseBranch>;
909
+
910
+ type A = IfEqual<string, string, 'equal', 'not equal'>;
911
+ //=> 'equal'
912
+
913
+ type B = IfEqual<string, number, 'equal', 'not equal'>;
914
+ //=> 'not equal'
878
915
  ```
879
916
 
880
917
  @category Type Guard
881
918
  @category Utilities
882
919
  */
883
- declare type IfEmptyObject<
884
- T,
885
- TypeIfEmptyObject = true,
886
- TypeIfNotEmptyObject = false,
887
- > = IsEmptyObject<T> extends true ? TypeIfEmptyObject : TypeIfNotEmptyObject;
920
+ declare type If<Type extends boolean, IfBranch, ElseBranch> =
921
+ IsNever<Type> extends true
922
+ ? ElseBranch
923
+ : Type extends true
924
+ ? IfBranch
925
+ : ElseBranch;
926
+
927
+ /**
928
+ The actual implementation of `IsUnion`.
929
+ */
930
+ declare type InternalIsUnion<T, U = T> =
931
+ (
932
+ IsNever<T> extends true
933
+ ? false
934
+ : T extends any
935
+ ? [U] extends [T]
936
+ ? false
937
+ : true
938
+ : never
939
+ ) extends infer Result
940
+ // In some cases `Result` will return `false | true` which is `boolean`,
941
+ // that means `T` has at least two types and it's a union type,
942
+ // so we will return `true` instead of `boolean`.
943
+ ? boolean extends Result ? true
944
+ : Result
945
+ : never;
888
946
 
889
947
  /**
890
948
  Returns a `boolean` for whether the type is strictly equal to an empty plain object, the `{}` value.
@@ -903,8 +961,67 @@ declare type IfEmptyObject<
903
961
  */
904
962
  declare type IsEmptyObject<T> = T extends EmptyObject ? true : false;
905
963
 
964
+ /**
965
+ Returns a boolean for whether the given type is `never`.
966
+
967
+ @link https://github.com/microsoft/TypeScript/issues/31751#issuecomment-498526919
968
+ @link https://stackoverflow.com/a/53984913/10292952
969
+ @link https://www.zhenghao.io/posts/ts-never
970
+
971
+ Useful in type utilities, such as checking if something does not occur.
972
+
973
+ @example
974
+ ```
975
+ import type {IsNever, And} from 'type-fest';
976
+
977
+ // https://github.com/andnp/SimplyTyped/blob/master/src/types/strings.ts
978
+ type AreStringsEqual<A extends string, B extends string> =
979
+ And<
980
+ IsNever<Exclude<A, B>> extends true ? true : false,
981
+ IsNever<Exclude<B, A>> extends true ? true : false
982
+ >;
983
+
984
+ type EndIfEqual<I extends string, O extends string> =
985
+ AreStringsEqual<I, O> extends true
986
+ ? never
987
+ : void;
988
+
989
+ function endIfEqual<I extends string, O extends string>(input: I, output: O): EndIfEqual<I, O> {
990
+ if (input === output) {
991
+ process.exit(0);
992
+ }
993
+ }
994
+
995
+ endIfEqual('abc', 'abc');
996
+ //=> never
997
+
998
+ endIfEqual('abc', '123');
999
+ //=> void
1000
+ ```
1001
+
1002
+ @category Type Guard
1003
+ @category Utilities
1004
+ */
1005
+ declare type IsNever<T> = [T] extends [never] ? true : false;
1006
+
906
1007
  declare type IsoTimestamp = string;
907
1008
 
1009
+ /**
1010
+ Returns a boolean for whether the given type is a union.
1011
+
1012
+ @example
1013
+ ```
1014
+ import type {IsUnion} from 'type-fest';
1015
+
1016
+ type A = IsUnion<string | number>;
1017
+ //=> true
1018
+
1019
+ type B = IsUnion<string>;
1020
+ //=> false
1021
+ ```
1022
+ */
1023
+ declare type IsUnion<T> = InternalIsUnion<T>;
1024
+
908
1025
  declare type JsonPrimitive = string | number | boolean | null;
909
1026
 
910
1027
  declare type JsonValue = JsonPrimitive | JsonValue[] | {
@@ -1830,6 +1947,7 @@ number
1830
1947
  ];
1831
1948
 
1832
1949
  declare interface Records extends KeyedDomainRecords, KeyedProvidedDomainRecords, DbExactRecords, DbProvidedRecord {
1950
+ [key: string]: unknown;
1833
1951
  }
1834
1952
 
1835
1953
  declare type RecordState = RecordStateNumber | RecordStateString;
@@ -2594,7 +2712,7 @@ declare type SettingsRecord = Settings;
2594
2712
  declare type SingleKeyObject<ObjectType> =
2595
2713
  IsUnion<keyof ObjectType> extends true
2596
2714
  ? never
2597
- : IfEmptyObject<ObjectType, never, ObjectType>;
2715
+ : If<IsEmptyObject<ObjectType>, never, ObjectType>;
2598
2716
 
2599
2717
  declare type Spread<T1, T2> = Omit<T2, keyof T1> & T1;
2600
2718
 
@@ -2634,6 +2752,14 @@ declare interface StorageZonesRecord {
2634
2752
  };
2635
2753
  }
2636
2754
 
2755
+ declare interface StoryboardAncestorsRecord {
2756
+ value?: string[];
2757
+ }
2758
+
2759
+ declare interface StoryboardDescendantsRecord {
2760
+ value?: string[];
2761
+ }
2762
+
2637
2763
  declare interface StoryboardDomainPipelinesRecord {
2638
2764
  value?: string[];
2639
2765
  }
@@ -2645,6 +2771,8 @@ declare interface StoryboardDomainRecord {
2645
2771
  declare interface StoryboardDomainRecords {
2646
2772
  ":storyboard": StoryboardDomainRecord;
2647
2773
  ":storyboard.pipelines": StoryboardDomainPipelinesRecord;
2774
+ ":storyboard.descendants?": StoryboardDescendantsRecord;
2775
+ ":storyboard.ancestors?": StoryboardAncestorsRecord;
2648
2776
  }
2649
2777
 
2650
2778
  /** OBSERVABLE INTERFACES */
@@ -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
+ }
@@ -1,6 +1,8 @@
1
1
  export interface StoryboardDomainRecords {
2
2
  ":storyboard": StoryboardDomainRecord;
3
3
  ":storyboard.pipelines": StoryboardDomainPipelinesRecord;
4
+ ":storyboard.descendants?": StoryboardDescendantsRecord;
5
+ ":storyboard.ancestors?": StoryboardAncestorsRecord;
4
6
  }
5
7
  export interface StoryboardDomainRecord {
6
8
  [key: string]: unknown;
@@ -8,3 +10,9 @@ export interface StoryboardDomainRecord {
8
10
  export interface StoryboardDomainPipelinesRecord {
9
11
  value?: string[];
10
12
  }
13
+ export interface StoryboardDescendantsRecord {
14
+ value?: string[];
15
+ }
16
+ export interface StoryboardAncestorsRecord {
17
+ value?: string[];
18
+ }
@@ -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>;
@@ -15204,6 +15204,72 @@ function _assertGuardDomainRecord(domain, input) {
15204
15204
  }
15205
15205
  }; })()(input);
15206
15206
  }
15207
+ case ":storyboard.descendants?": {
15208
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _ao0 = (input, _path, _exceptionable = true) => undefined === input.value || (Array.isArray(input.value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15209
+ method: "typia.assertGuard",
15210
+ path: _path + ".value",
15211
+ expected: "(Array<string> | undefined)",
15212
+ value: input.value
15213
+ }, _errorFactory)) && input.value.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15214
+ method: "typia.assertGuard",
15215
+ path: _path + ".value[" + _index2 + "]",
15216
+ expected: "string",
15217
+ value: elem
15218
+ }, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15219
+ method: "typia.assertGuard",
15220
+ path: _path + ".value",
15221
+ expected: "(Array<string> | undefined)",
15222
+ value: input.value
15223
+ }, _errorFactory); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let _errorFactory; return (input, errorFactory) => {
15224
+ if (false === __is(input)) {
15225
+ _errorFactory = errorFactory;
15226
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {
15227
+ method: "typia.assertGuard",
15228
+ path: _path + "",
15229
+ expected: "StoryboardDescendantsRecord",
15230
+ value: input
15231
+ }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
15232
+ method: "typia.assertGuard",
15233
+ path: _path + "",
15234
+ expected: "StoryboardDescendantsRecord",
15235
+ value: input
15236
+ }, _errorFactory))(input, "$input", true);
15237
+ }
15238
+ }; })()(input);
15239
+ }
15240
+ case ":storyboard.ancestors?": {
15241
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _ao0 = (input, _path, _exceptionable = true) => undefined === input.value || (Array.isArray(input.value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15242
+ method: "typia.assertGuard",
15243
+ path: _path + ".value",
15244
+ expected: "(Array<string> | undefined)",
15245
+ value: input.value
15246
+ }, _errorFactory)) && input.value.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15247
+ method: "typia.assertGuard",
15248
+ path: _path + ".value[" + _index2 + "]",
15249
+ expected: "string",
15250
+ value: elem
15251
+ }, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15252
+ method: "typia.assertGuard",
15253
+ path: _path + ".value",
15254
+ expected: "(Array<string> | undefined)",
15255
+ value: input.value
15256
+ }, _errorFactory); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let _errorFactory; return (input, errorFactory) => {
15257
+ if (false === __is(input)) {
15258
+ _errorFactory = errorFactory;
15259
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {
15260
+ method: "typia.assertGuard",
15261
+ path: _path + "",
15262
+ expected: "StoryboardAncestorsRecord",
15263
+ value: input
15264
+ }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
15265
+ method: "typia.assertGuard",
15266
+ path: _path + "",
15267
+ expected: "StoryboardAncestorsRecord",
15268
+ value: input
15269
+ }, _errorFactory))(input, "$input", true);
15270
+ }
15271
+ }; })()(input);
15272
+ }
15207
15273
  case ":subtitle-style": {
15208
15274
  return (() => { const _io0 = input => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow) && (undefined === input.futureWordWrapping || "boolean" === typeof input.futureWordWrapping) && (undefined === input.previewSettings || "object" === typeof input.previewSettings && null !== input.previewSettings && false === Array.isArray(input.previewSettings) && _io1(input.previewSettings)) && (undefined === input.name || "string" === typeof input.name) && (undefined === input.fontname || "string" === typeof input.fontname) && (undefined === input.fontsize || "string" === typeof input.fontsize) && (undefined === input.primaryColour || "string" === typeof input.primaryColour) && (undefined === input.secondaryColour || "string" === typeof input.secondaryColour) && (undefined === input.outlineColour || "string" === typeof input.outlineColour) && (undefined === input.backColour || "string" === typeof input.backColour) && (undefined === input.bold || "string" === typeof input.bold) && (undefined === input.italic || "string" === typeof input.italic) && (undefined === input.underline || "string" === typeof input.underline) && (undefined === input.strikeOut || "string" === typeof input.strikeOut) && (undefined === input.scaleX || "string" === typeof input.scaleX) && (undefined === input.scaleY || "string" === typeof input.scaleY) && (undefined === input.spacing || "string" === typeof input.spacing) && (undefined === input.angle || "string" === typeof input.angle) && (undefined === input.borderStyle || "string" === typeof input.borderStyle) && (undefined === input.outline || "string" === typeof input.outline) && (undefined === input.shadow || "string" === typeof input.shadow) && (undefined === input.alignment || "string" === typeof input.alignment) && (undefined === input.marginL || "string" === typeof input.marginL) && (undefined === input.marginR || "string" === typeof input.marginR) && (undefined === input.marginV || "string" === typeof input.marginV) && (undefined === input.encoding || "string" === typeof input.encoding); const _io1 = input => (undefined === input.aspectRatio || "string" === typeof input.aspectRatio) && (undefined === input.backgroundAssetId || "string" === typeof input.backgroundAssetId) && (undefined === input.text || "string" === typeof input.text); const _ao0 = (input, _path, _exceptionable = true) => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15209
15275
  method: "typia.assertGuard",
@@ -1,4 +1,3 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
3
- export declare function assertRecord<Name extends keyof Records>(name: Name, input: unknown): RecordNameToType<Name>;
4
- export declare function assertDomainRecord<Domain extends keyof DomainRecords>(domain: Domain, input: unknown): DomainRecords[Domain];
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
2
+ export declare function assertRecord<Name extends string>(name: Name, input: unknown): RecordNameToType<Name>;
3
+ export declare function assertDomainRecord<Domain extends string>(domain: Domain, input: unknown): DomainNameToType<Domain>;
@@ -15324,6 +15324,74 @@ function _assertDomainRecord(domain, input) {
15324
15324
  return input;
15325
15325
  }; })()(input);
15326
15326
  }
15327
+ case ":storyboard.descendants?": {
15328
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _ao0 = (input, _path, _exceptionable = true) => undefined === input.value || (Array.isArray(input.value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15329
+ method: "typia.assert",
15330
+ path: _path + ".value",
15331
+ expected: "(Array<string> | undefined)",
15332
+ value: input.value
15333
+ }, _errorFactory)) && input.value.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15334
+ method: "typia.assert",
15335
+ path: _path + ".value[" + _index2 + "]",
15336
+ expected: "string",
15337
+ value: elem
15338
+ }, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15339
+ method: "typia.assert",
15340
+ path: _path + ".value",
15341
+ expected: "(Array<string> | undefined)",
15342
+ value: input.value
15343
+ }, _errorFactory); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let _errorFactory; return (input, errorFactory) => {
15344
+ if (false === __is(input)) {
15345
+ _errorFactory = errorFactory;
15346
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {
15347
+ method: "typia.assert",
15348
+ path: _path + "",
15349
+ expected: "StoryboardDescendantsRecord",
15350
+ value: input
15351
+ }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
15352
+ method: "typia.assert",
15353
+ path: _path + "",
15354
+ expected: "StoryboardDescendantsRecord",
15355
+ value: input
15356
+ }, _errorFactory))(input, "$input", true);
15357
+ }
15358
+ return input;
15359
+ }; })()(input);
15360
+ }
15361
+ case ":storyboard.ancestors?": {
15362
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _ao0 = (input, _path, _exceptionable = true) => undefined === input.value || (Array.isArray(input.value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15363
+ method: "typia.assert",
15364
+ path: _path + ".value",
15365
+ expected: "(Array<string> | undefined)",
15366
+ value: input.value
15367
+ }, _errorFactory)) && input.value.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15368
+ method: "typia.assert",
15369
+ path: _path + ".value[" + _index2 + "]",
15370
+ expected: "string",
15371
+ value: elem
15372
+ }, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15373
+ method: "typia.assert",
15374
+ path: _path + ".value",
15375
+ expected: "(Array<string> | undefined)",
15376
+ value: input.value
15377
+ }, _errorFactory); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let _errorFactory; return (input, errorFactory) => {
15378
+ if (false === __is(input)) {
15379
+ _errorFactory = errorFactory;
15380
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {
15381
+ method: "typia.assert",
15382
+ path: _path + "",
15383
+ expected: "StoryboardAncestorsRecord",
15384
+ value: input
15385
+ }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
15386
+ method: "typia.assert",
15387
+ path: _path + "",
15388
+ expected: "StoryboardAncestorsRecord",
15389
+ value: input
15390
+ }, _errorFactory))(input, "$input", true);
15391
+ }
15392
+ return input;
15393
+ }; })()(input);
15394
+ }
15327
15395
  case ":subtitle-style": {
15328
15396
  return (() => { const _io0 = input => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow) && (undefined === input.futureWordWrapping || "boolean" === typeof input.futureWordWrapping) && (undefined === input.previewSettings || "object" === typeof input.previewSettings && null !== input.previewSettings && false === Array.isArray(input.previewSettings) && _io1(input.previewSettings)) && (undefined === input.name || "string" === typeof input.name) && (undefined === input.fontname || "string" === typeof input.fontname) && (undefined === input.fontsize || "string" === typeof input.fontsize) && (undefined === input.primaryColour || "string" === typeof input.primaryColour) && (undefined === input.secondaryColour || "string" === typeof input.secondaryColour) && (undefined === input.outlineColour || "string" === typeof input.outlineColour) && (undefined === input.backColour || "string" === typeof input.backColour) && (undefined === input.bold || "string" === typeof input.bold) && (undefined === input.italic || "string" === typeof input.italic) && (undefined === input.underline || "string" === typeof input.underline) && (undefined === input.strikeOut || "string" === typeof input.strikeOut) && (undefined === input.scaleX || "string" === typeof input.scaleX) && (undefined === input.scaleY || "string" === typeof input.scaleY) && (undefined === input.spacing || "string" === typeof input.spacing) && (undefined === input.angle || "string" === typeof input.angle) && (undefined === input.borderStyle || "string" === typeof input.borderStyle) && (undefined === input.outline || "string" === typeof input.outline) && (undefined === input.shadow || "string" === typeof input.shadow) && (undefined === input.alignment || "string" === typeof input.alignment) && (undefined === input.marginL || "string" === typeof input.marginL) && (undefined === input.marginR || "string" === typeof input.marginR) && (undefined === input.marginV || "string" === typeof input.marginV) && (undefined === input.encoding || "string" === typeof input.encoding); const _io1 = input => (undefined === input.aspectRatio || "string" === typeof input.aspectRatio) && (undefined === input.backgroundAssetId || "string" === typeof input.backgroundAssetId) && (undefined === input.text || "string" === typeof input.text); const _ao0 = (input, _path, _exceptionable = true) => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow || __typia_transform__assertGuard._assertGuard(_exceptionable, {
15329
15397
  method: "typia.assert",
@@ -1,4 +1,3 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
3
- export declare function isRecord<Name extends keyof Records>(name: Name, input: unknown): input is RecordNameToType<Name>;
4
- export declare function isDomainRecord<Domain extends keyof DomainRecords, Record extends DomainRecords[Domain]>(domain: Domain, input: unknown): input is Record;
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
2
+ export declare function isRecord<Name extends string>(name: Name, input: unknown): input is RecordNameToType<Name>;
3
+ export declare function isDomainRecord<Domain extends string>(domain: Domain, input: unknown): input is DomainNameToType<Domain>;
@@ -976,6 +976,12 @@ function _isDomainRecord(domain, input) {
976
976
  case ":storyboard.pipelines": {
977
977
  return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })()(input);
978
978
  }
979
+ case ":storyboard.descendants?": {
980
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })()(input);
981
+ }
982
+ case ":storyboard.ancestors?": {
983
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })()(input);
984
+ }
979
985
  case ":subtitle-style": {
980
986
  return (() => { const _io0 = input => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow) && (undefined === input.futureWordWrapping || "boolean" === typeof input.futureWordWrapping) && (undefined === input.previewSettings || "object" === typeof input.previewSettings && null !== input.previewSettings && false === Array.isArray(input.previewSettings) && _io1(input.previewSettings)) && (undefined === input.name || "string" === typeof input.name) && (undefined === input.fontname || "string" === typeof input.fontname) && (undefined === input.fontsize || "string" === typeof input.fontsize) && (undefined === input.primaryColour || "string" === typeof input.primaryColour) && (undefined === input.secondaryColour || "string" === typeof input.secondaryColour) && (undefined === input.outlineColour || "string" === typeof input.outlineColour) && (undefined === input.backColour || "string" === typeof input.backColour) && (undefined === input.bold || "string" === typeof input.bold) && (undefined === input.italic || "string" === typeof input.italic) && (undefined === input.underline || "string" === typeof input.underline) && (undefined === input.strikeOut || "string" === typeof input.strikeOut) && (undefined === input.scaleX || "string" === typeof input.scaleX) && (undefined === input.scaleY || "string" === typeof input.scaleY) && (undefined === input.spacing || "string" === typeof input.spacing) && (undefined === input.angle || "string" === typeof input.angle) && (undefined === input.borderStyle || "string" === typeof input.borderStyle) && (undefined === input.outline || "string" === typeof input.outline) && (undefined === input.shadow || "string" === typeof input.shadow) && (undefined === input.alignment || "string" === typeof input.alignment) && (undefined === input.marginL || "string" === typeof input.marginL) && (undefined === input.marginR || "string" === typeof input.marginR) && (undefined === input.marginV || "string" === typeof input.marginV) && (undefined === input.encoding || "string" === typeof input.encoding); const _io1 = input => (undefined === input.aspectRatio || "string" === typeof input.aspectRatio) && (undefined === input.backgroundAssetId || "string" === typeof input.backgroundAssetId) && (undefined === input.text || "string" === typeof input.text); return input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); })()(input);
981
987
  }
@@ -1,9 +1,8 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
3
2
  import typia from 'typia';
4
- export declare function getSchemaByRecordName<Name extends keyof Records>(name: Name): typia.IJsonSchemaCollection.IV3_1<[
3
+ export declare function getSchemaByRecordName<Name extends string>(name: Name): typia.IJsonSchemaCollection.IV3_1<[
5
4
  RecordNameToType<Name>
6
5
  ]>;
7
- export declare function getSchemaByDomain<Domain extends keyof DomainRecords>(domain: Domain): typia.IJsonSchemaCollection.IV3_1<[
8
- DomainRecords[Domain]
6
+ export declare function getSchemaByDomain<Domain extends string>(domain: Domain): typia.IJsonSchemaCollection.IV3_1<[
7
+ DomainNameToType<Domain>
9
8
  ]>;
@@ -12138,6 +12138,58 @@ function _schemasDomainRecord(domain) {
12138
12138
  ]
12139
12139
  };
12140
12140
  }
12141
+ case ":storyboard.descendants?": {
12142
+ return {
12143
+ version: "3.1",
12144
+ components: {
12145
+ schemas: {
12146
+ StoryboardDescendantsRecord: {
12147
+ type: "object",
12148
+ properties: {
12149
+ value: {
12150
+ type: "array",
12151
+ items: {
12152
+ type: "string"
12153
+ }
12154
+ }
12155
+ },
12156
+ required: []
12157
+ }
12158
+ }
12159
+ },
12160
+ schemas: [
12161
+ {
12162
+ $ref: "#/components/schemas/StoryboardDescendantsRecord"
12163
+ }
12164
+ ]
12165
+ };
12166
+ }
12167
+ case ":storyboard.ancestors?": {
12168
+ return {
12169
+ version: "3.1",
12170
+ components: {
12171
+ schemas: {
12172
+ StoryboardAncestorsRecord: {
12173
+ type: "object",
12174
+ properties: {
12175
+ value: {
12176
+ type: "array",
12177
+ items: {
12178
+ type: "string"
12179
+ }
12180
+ }
12181
+ },
12182
+ required: []
12183
+ }
12184
+ }
12185
+ },
12186
+ schemas: [
12187
+ {
12188
+ $ref: "#/components/schemas/StoryboardAncestorsRecord"
12189
+ }
12190
+ ]
12191
+ };
12192
+ }
12141
12193
  case ":subtitle-style": {
12142
12194
  return {
12143
12195
  version: "3.1",
@@ -1,4 +1,3 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
3
- export declare function stringifyRecord<Name extends keyof Records, Input extends RecordNameToType<Name>>(name: Name, input: Input): string;
4
- export declare function stringifyDomainRecord<Domain extends keyof DomainRecords, Input extends DomainRecords[Domain]>(domain: Domain, input: Input): string;
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
2
+ export declare function stringifyRecord<Name extends string, Input extends RecordNameToType<Name>>(name: Name, input: Input): string;
3
+ export declare function stringifyDomainRecord<Domain extends string, Input extends DomainNameToType<Domain>>(domain: Domain, input: Input): string;
@@ -1849,6 +1849,12 @@ function _stringifyDomainRecord(domain, input) {
1849
1849
  case ":storyboard.pipelines": {
1850
1850
  return (() => { const _so0 = input => `{${__typia_transform__jsonStringifyTail._jsonStringifyTail(`${undefined === input.value ? "" : `"value":${undefined !== input.value ? `[${input.value.map(elem => __typia_transform__jsonStringifyString._jsonStringifyString(elem)).join(",")}]` : undefined}`}`)}}`; return input => _so0(input); })()(input);
1851
1851
  }
1852
+ case ":storyboard.descendants?": {
1853
+ return (() => { const _so0 = input => `{${__typia_transform__jsonStringifyTail._jsonStringifyTail(`${undefined === input.value ? "" : `"value":${undefined !== input.value ? `[${input.value.map(elem => __typia_transform__jsonStringifyString._jsonStringifyString(elem)).join(",")}]` : undefined}`}`)}}`; return input => _so0(input); })()(input);
1854
+ }
1855
+ case ":storyboard.ancestors?": {
1856
+ return (() => { const _so0 = input => `{${__typia_transform__jsonStringifyTail._jsonStringifyTail(`${undefined === input.value ? "" : `"value":${undefined !== input.value ? `[${input.value.map(elem => __typia_transform__jsonStringifyString._jsonStringifyString(elem)).join(",")}]` : undefined}`}`)}}`; return input => _so0(input); })()(input);
1857
+ }
1852
1858
  case ":subtitle-style": {
1853
1859
  return (() => { const _so0 = input => `{${__typia_transform__jsonStringifyTail._jsonStringifyTail(`${undefined === input.scaledBorderAndShadow ? "" : `"scaledBorderAndShadow":${undefined !== input.scaledBorderAndShadow ? input.scaledBorderAndShadow : undefined},`}${undefined === input.futureWordWrapping ? "" : `"futureWordWrapping":${undefined !== input.futureWordWrapping ? input.futureWordWrapping : undefined},`}${undefined === input.previewSettings ? "" : `"previewSettings":${undefined !== input.previewSettings ? _so1(input.previewSettings) : undefined},`}${undefined === input.name ? "" : `"name":${undefined !== input.name ? __typia_transform__jsonStringifyString._jsonStringifyString(input.name) : undefined},`}${undefined === input.fontname ? "" : `"fontname":${undefined !== input.fontname ? __typia_transform__jsonStringifyString._jsonStringifyString(input.fontname) : undefined},`}${undefined === input.fontsize ? "" : `"fontsize":${undefined !== input.fontsize ? __typia_transform__jsonStringifyString._jsonStringifyString(input.fontsize) : undefined},`}${undefined === input.primaryColour ? "" : `"primaryColour":${undefined !== input.primaryColour ? __typia_transform__jsonStringifyString._jsonStringifyString(input.primaryColour) : undefined},`}${undefined === input.secondaryColour ? "" : `"secondaryColour":${undefined !== input.secondaryColour ? __typia_transform__jsonStringifyString._jsonStringifyString(input.secondaryColour) : undefined},`}${undefined === input.outlineColour ? "" : `"outlineColour":${undefined !== input.outlineColour ? __typia_transform__jsonStringifyString._jsonStringifyString(input.outlineColour) : undefined},`}${undefined === input.backColour ? "" : `"backColour":${undefined !== input.backColour ? __typia_transform__jsonStringifyString._jsonStringifyString(input.backColour) : undefined},`}${undefined === input.bold ? "" : `"bold":${undefined !== input.bold ? __typia_transform__jsonStringifyString._jsonStringifyString(input.bold) : undefined},`}${undefined === input.italic ? "" : `"italic":${undefined !== input.italic ? __typia_transform__jsonStringifyString._jsonStringifyString(input.italic) : undefined},`}${undefined === input.underline ? "" : `"underline":${undefined !== input.underline ? __typia_transform__jsonStringifyString._jsonStringifyString(input.underline) : undefined},`}${undefined === input.strikeOut ? "" : `"strikeOut":${undefined !== input.strikeOut ? __typia_transform__jsonStringifyString._jsonStringifyString(input.strikeOut) : undefined},`}${undefined === input.scaleX ? "" : `"scaleX":${undefined !== input.scaleX ? __typia_transform__jsonStringifyString._jsonStringifyString(input.scaleX) : undefined},`}${undefined === input.scaleY ? "" : `"scaleY":${undefined !== input.scaleY ? __typia_transform__jsonStringifyString._jsonStringifyString(input.scaleY) : undefined},`}${undefined === input.spacing ? "" : `"spacing":${undefined !== input.spacing ? __typia_transform__jsonStringifyString._jsonStringifyString(input.spacing) : undefined},`}${undefined === input.angle ? "" : `"angle":${undefined !== input.angle ? __typia_transform__jsonStringifyString._jsonStringifyString(input.angle) : undefined},`}${undefined === input.borderStyle ? "" : `"borderStyle":${undefined !== input.borderStyle ? __typia_transform__jsonStringifyString._jsonStringifyString(input.borderStyle) : undefined},`}${undefined === input.outline ? "" : `"outline":${undefined !== input.outline ? __typia_transform__jsonStringifyString._jsonStringifyString(input.outline) : undefined},`}${undefined === input.shadow ? "" : `"shadow":${undefined !== input.shadow ? __typia_transform__jsonStringifyString._jsonStringifyString(input.shadow) : undefined},`}${undefined === input.alignment ? "" : `"alignment":${undefined !== input.alignment ? __typia_transform__jsonStringifyString._jsonStringifyString(input.alignment) : undefined},`}${undefined === input.marginL ? "" : `"marginL":${undefined !== input.marginL ? __typia_transform__jsonStringifyString._jsonStringifyString(input.marginL) : undefined},`}${undefined === input.marginR ? "" : `"marginR":${undefined !== input.marginR ? __typia_transform__jsonStringifyString._jsonStringifyString(input.marginR) : undefined},`}${undefined === input.marginV ? "" : `"marginV":${undefined !== input.marginV ? __typia_transform__jsonStringifyString._jsonStringifyString(input.marginV) : undefined},`}${undefined === input.encoding ? "" : `"encoding":${undefined !== input.encoding ? __typia_transform__jsonStringifyString._jsonStringifyString(input.encoding) : undefined}`}`)}}`; const _so1 = input => `{${__typia_transform__jsonStringifyTail._jsonStringifyTail(`${undefined === input.aspectRatio ? "" : `"aspectRatio":${undefined !== input.aspectRatio ? __typia_transform__jsonStringifyString._jsonStringifyString(input.aspectRatio) : undefined},`}${undefined === input.backgroundAssetId ? "" : `"backgroundAssetId":${undefined !== input.backgroundAssetId ? __typia_transform__jsonStringifyString._jsonStringifyString(input.backgroundAssetId) : undefined},`}${undefined === input.text ? "" : `"text":${undefined !== input.text ? __typia_transform__jsonStringifyString._jsonStringifyString(input.text) : undefined}`}`)}}`; const _io1 = input => (undefined === input.aspectRatio || "string" === typeof input.aspectRatio) && (undefined === input.backgroundAssetId || "string" === typeof input.backgroundAssetId) && (undefined === input.text || "string" === typeof input.text); return input => _so0(input); })()(input);
1854
1860
  }
@@ -1,13 +1,12 @@
1
1
  import type { EmptyObject } from 'type-fest';
2
- import type { ExactRecords, DomainRecords } from '../index.ts';
3
2
  export type ParsedRecordName = ExactRecordName | DomainRecord | DomainRowsRecord;
4
3
  export interface ExactRecordName {
5
4
  type: "exact";
6
- exact: keyof ExactRecords;
5
+ exact: string;
7
6
  }
8
7
  export interface DomainRecord {
9
8
  type: "domain";
10
- domain: keyof DomainRecords;
9
+ domain: string;
11
10
  exact: string;
12
11
  }
13
12
  export interface DomainRowsRecord {
@@ -1,5 +1,4 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
3
2
  import typia from 'typia';
4
- export declare function validateEqualsRecord<Name extends keyof Records>(name: Name, input: unknown): typia.IValidation<RecordNameToType<Name>>;
5
- export declare function validateEqualsDomainRecord<Domain extends keyof DomainRecords>(domain: Domain, input: unknown): typia.IValidation<RecordNameToType<`${string}${Domain}`>>;
3
+ export declare function validateEqualsRecord<Name extends string>(name: Name, input: unknown): typia.IValidation<RecordNameToType<Name>>;
4
+ export declare function validateEqualsDomainRecord<Domain extends string>(domain: Domain, input: unknown): typia.IValidation<DomainNameToType<Domain>>;
@@ -22936,6 +22936,136 @@ function _validateEqualsDomainRecord(domain, input) {
22936
22936
  };
22937
22937
  }; })()(input);
22938
22938
  }
22939
+ case ":storyboard.descendants?": {
22940
+ return (() => { const _io0 = (input, _exceptionable = true) => (undefined === input.value || Array.isArray(input.value) && input.value.every((elem, _index1) => "string" === typeof elem)) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
22941
+ if (["value"].some(prop => key === prop))
22942
+ return true;
22943
+ const value = input[key];
22944
+ if (undefined === value)
22945
+ return true;
22946
+ return false;
22947
+ })); const _vo0 = (input, _path, _exceptionable = true) => [undefined === input.value || (Array.isArray(input.value) || _report(_exceptionable, {
22948
+ path: _path + ".value",
22949
+ expected: "(Array<string> | undefined)",
22950
+ value: input.value
22951
+ })) && input.value.map((elem, _index2) => "string" === typeof elem || _report(_exceptionable, {
22952
+ path: _path + ".value[" + _index2 + "]",
22953
+ expected: "string",
22954
+ value: elem
22955
+ })).every(flag => flag) || _report(_exceptionable, {
22956
+ path: _path + ".value",
22957
+ expected: "(Array<string> | undefined)",
22958
+ value: input.value
22959
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
22960
+ if (["value"].some(prop => key === prop))
22961
+ return true;
22962
+ const value = input[key];
22963
+ if (undefined === value)
22964
+ return true;
22965
+ return _report(_exceptionable, {
22966
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
22967
+ expected: "undefined",
22968
+ value: value,
22969
+ description: [
22970
+ `The property \`${key}\` is not defined in the object type.`,
22971
+ "",
22972
+ "Please remove the property next time."
22973
+ ].join("\n")
22974
+ });
22975
+ }).every(flag => flag))].every(flag => flag); const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input, true); let errors; let _report; return input => {
22976
+ if (false === __is(input)) {
22977
+ errors = [];
22978
+ _report = __typia_transform__validateReport._validateReport(errors);
22979
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || _report(true, {
22980
+ path: _path + "",
22981
+ expected: "StoryboardDescendantsRecord",
22982
+ value: input
22983
+ })) && _vo0(input, _path + "", true) || _report(true, {
22984
+ path: _path + "",
22985
+ expected: "StoryboardDescendantsRecord",
22986
+ value: input
22987
+ }))(input, "$input", true);
22988
+ const success = 0 === errors.length;
22989
+ return success ? {
22990
+ success,
22991
+ data: input
22992
+ } : {
22993
+ success,
22994
+ errors,
22995
+ data: input
22996
+ };
22997
+ }
22998
+ return {
22999
+ success: true,
23000
+ data: input
23001
+ };
23002
+ }; })()(input);
23003
+ }
23004
+ case ":storyboard.ancestors?": {
23005
+ return (() => { const _io0 = (input, _exceptionable = true) => (undefined === input.value || Array.isArray(input.value) && input.value.every((elem, _index1) => "string" === typeof elem)) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
23006
+ if (["value"].some(prop => key === prop))
23007
+ return true;
23008
+ const value = input[key];
23009
+ if (undefined === value)
23010
+ return true;
23011
+ return false;
23012
+ })); const _vo0 = (input, _path, _exceptionable = true) => [undefined === input.value || (Array.isArray(input.value) || _report(_exceptionable, {
23013
+ path: _path + ".value",
23014
+ expected: "(Array<string> | undefined)",
23015
+ value: input.value
23016
+ })) && input.value.map((elem, _index2) => "string" === typeof elem || _report(_exceptionable, {
23017
+ path: _path + ".value[" + _index2 + "]",
23018
+ expected: "string",
23019
+ value: elem
23020
+ })).every(flag => flag) || _report(_exceptionable, {
23021
+ path: _path + ".value",
23022
+ expected: "(Array<string> | undefined)",
23023
+ value: input.value
23024
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
23025
+ if (["value"].some(prop => key === prop))
23026
+ return true;
23027
+ const value = input[key];
23028
+ if (undefined === value)
23029
+ return true;
23030
+ return _report(_exceptionable, {
23031
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
23032
+ expected: "undefined",
23033
+ value: value,
23034
+ description: [
23035
+ `The property \`${key}\` is not defined in the object type.`,
23036
+ "",
23037
+ "Please remove the property next time."
23038
+ ].join("\n")
23039
+ });
23040
+ }).every(flag => flag))].every(flag => flag); const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input, true); let errors; let _report; return input => {
23041
+ if (false === __is(input)) {
23042
+ errors = [];
23043
+ _report = __typia_transform__validateReport._validateReport(errors);
23044
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || _report(true, {
23045
+ path: _path + "",
23046
+ expected: "StoryboardAncestorsRecord",
23047
+ value: input
23048
+ })) && _vo0(input, _path + "", true) || _report(true, {
23049
+ path: _path + "",
23050
+ expected: "StoryboardAncestorsRecord",
23051
+ value: input
23052
+ }))(input, "$input", true);
23053
+ const success = 0 === errors.length;
23054
+ return success ? {
23055
+ success,
23056
+ data: input
23057
+ } : {
23058
+ success,
23059
+ errors,
23060
+ data: input
23061
+ };
23062
+ }
23063
+ return {
23064
+ success: true,
23065
+ data: input
23066
+ };
23067
+ }; })()(input);
23068
+ }
22939
23069
  case ":subtitle-style": {
22940
23070
  return (() => { const _io0 = (input, _exceptionable = true) => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow) && (undefined === input.futureWordWrapping || "boolean" === typeof input.futureWordWrapping) && (undefined === input.previewSettings || "object" === typeof input.previewSettings && null !== input.previewSettings && false === Array.isArray(input.previewSettings) && _io1(input.previewSettings, true && _exceptionable)) && (undefined === input.name || "string" === typeof input.name) && (undefined === input.fontname || "string" === typeof input.fontname) && (undefined === input.fontsize || "string" === typeof input.fontsize) && (undefined === input.primaryColour || "string" === typeof input.primaryColour) && (undefined === input.secondaryColour || "string" === typeof input.secondaryColour) && (undefined === input.outlineColour || "string" === typeof input.outlineColour) && (undefined === input.backColour || "string" === typeof input.backColour) && (undefined === input.bold || "string" === typeof input.bold) && (undefined === input.italic || "string" === typeof input.italic) && (undefined === input.underline || "string" === typeof input.underline) && (undefined === input.strikeOut || "string" === typeof input.strikeOut) && (undefined === input.scaleX || "string" === typeof input.scaleX) && (undefined === input.scaleY || "string" === typeof input.scaleY) && (undefined === input.spacing || "string" === typeof input.spacing) && (undefined === input.angle || "string" === typeof input.angle) && (undefined === input.borderStyle || "string" === typeof input.borderStyle) && (undefined === input.outline || "string" === typeof input.outline) && (undefined === input.shadow || "string" === typeof input.shadow) && (undefined === input.alignment || "string" === typeof input.alignment) && (undefined === input.marginL || "string" === typeof input.marginL) && (undefined === input.marginR || "string" === typeof input.marginR) && (undefined === input.marginV || "string" === typeof input.marginV) && (undefined === input.encoding || "string" === typeof input.encoding) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
22941
23071
  if (["scaledBorderAndShadow", "futureWordWrapping", "previewSettings", "name", "fontname", "fontsize", "primaryColour", "secondaryColour", "outlineColour", "backColour", "bold", "italic", "underline", "strikeOut", "scaleX", "scaleY", "spacing", "angle", "borderStyle", "outline", "shadow", "alignment", "marginL", "marginR", "marginV", "encoding"].some(prop => key === prop))
@@ -1,5 +1,4 @@
1
- import type { DomainRecords, Records } from '../index.ts';
2
- import type { RecordNameToType } from '../utils.ts';
1
+ import type { RecordNameToType, DomainNameToType } from '../index.ts';
3
2
  import typia from 'typia';
4
- export declare function validateRecord<Name extends keyof Records>(name: Name, input: unknown): typia.IValidation<RecordNameToType<Name>>;
5
- export declare function validateDomainRecord<Domain extends keyof DomainRecords>(domain: Domain, input: unknown): typia.IValidation<RecordNameToType<`${string}${Domain}`>>;
3
+ export declare function validateRecord<Name extends string>(name: Name, input: unknown): typia.IValidation<RecordNameToType<Name>>;
4
+ export declare function validateDomainRecord<Domain extends string>(domain: Domain, input: unknown): typia.IValidation<DomainNameToType<Domain>>;
@@ -14275,6 +14275,90 @@ function _validateDomainRecord(domain, input) {
14275
14275
  };
14276
14276
  }; })()(input);
14277
14277
  }
14278
+ case ":storyboard.descendants?": {
14279
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _vo0 = (input, _path, _exceptionable = true) => [undefined === input.value || (Array.isArray(input.value) || _report(_exceptionable, {
14280
+ path: _path + ".value",
14281
+ expected: "(Array<string> | undefined)",
14282
+ value: input.value
14283
+ })) && input.value.map((elem, _index2) => "string" === typeof elem || _report(_exceptionable, {
14284
+ path: _path + ".value[" + _index2 + "]",
14285
+ expected: "string",
14286
+ value: elem
14287
+ })).every(flag => flag) || _report(_exceptionable, {
14288
+ path: _path + ".value",
14289
+ expected: "(Array<string> | undefined)",
14290
+ value: input.value
14291
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let errors; let _report; return input => {
14292
+ if (false === __is(input)) {
14293
+ errors = [];
14294
+ _report = __typia_transform__validateReport._validateReport(errors);
14295
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || _report(true, {
14296
+ path: _path + "",
14297
+ expected: "StoryboardDescendantsRecord",
14298
+ value: input
14299
+ })) && _vo0(input, _path + "", true) || _report(true, {
14300
+ path: _path + "",
14301
+ expected: "StoryboardDescendantsRecord",
14302
+ value: input
14303
+ }))(input, "$input", true);
14304
+ const success = 0 === errors.length;
14305
+ return success ? {
14306
+ success,
14307
+ data: input
14308
+ } : {
14309
+ success,
14310
+ errors,
14311
+ data: input
14312
+ };
14313
+ }
14314
+ return {
14315
+ success: true,
14316
+ data: input
14317
+ };
14318
+ }; })()(input);
14319
+ }
14320
+ case ":storyboard.ancestors?": {
14321
+ return (() => { const _io0 = input => undefined === input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem); const _vo0 = (input, _path, _exceptionable = true) => [undefined === input.value || (Array.isArray(input.value) || _report(_exceptionable, {
14322
+ path: _path + ".value",
14323
+ expected: "(Array<string> | undefined)",
14324
+ value: input.value
14325
+ })) && input.value.map((elem, _index2) => "string" === typeof elem || _report(_exceptionable, {
14326
+ path: _path + ".value[" + _index2 + "]",
14327
+ expected: "string",
14328
+ value: elem
14329
+ })).every(flag => flag) || _report(_exceptionable, {
14330
+ path: _path + ".value",
14331
+ expected: "(Array<string> | undefined)",
14332
+ value: input.value
14333
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let errors; let _report; return input => {
14334
+ if (false === __is(input)) {
14335
+ errors = [];
14336
+ _report = __typia_transform__validateReport._validateReport(errors);
14337
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input && false === Array.isArray(input) || _report(true, {
14338
+ path: _path + "",
14339
+ expected: "StoryboardAncestorsRecord",
14340
+ value: input
14341
+ })) && _vo0(input, _path + "", true) || _report(true, {
14342
+ path: _path + "",
14343
+ expected: "StoryboardAncestorsRecord",
14344
+ value: input
14345
+ }))(input, "$input", true);
14346
+ const success = 0 === errors.length;
14347
+ return success ? {
14348
+ success,
14349
+ data: input
14350
+ } : {
14351
+ success,
14352
+ errors,
14353
+ data: input
14354
+ };
14355
+ }
14356
+ return {
14357
+ success: true,
14358
+ data: input
14359
+ };
14360
+ }; })()(input);
14361
+ }
14278
14362
  case ":subtitle-style": {
14279
14363
  return (() => { const _io0 = input => (undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow) && (undefined === input.futureWordWrapping || "boolean" === typeof input.futureWordWrapping) && (undefined === input.previewSettings || "object" === typeof input.previewSettings && null !== input.previewSettings && false === Array.isArray(input.previewSettings) && _io1(input.previewSettings)) && (undefined === input.name || "string" === typeof input.name) && (undefined === input.fontname || "string" === typeof input.fontname) && (undefined === input.fontsize || "string" === typeof input.fontsize) && (undefined === input.primaryColour || "string" === typeof input.primaryColour) && (undefined === input.secondaryColour || "string" === typeof input.secondaryColour) && (undefined === input.outlineColour || "string" === typeof input.outlineColour) && (undefined === input.backColour || "string" === typeof input.backColour) && (undefined === input.bold || "string" === typeof input.bold) && (undefined === input.italic || "string" === typeof input.italic) && (undefined === input.underline || "string" === typeof input.underline) && (undefined === input.strikeOut || "string" === typeof input.strikeOut) && (undefined === input.scaleX || "string" === typeof input.scaleX) && (undefined === input.scaleY || "string" === typeof input.scaleY) && (undefined === input.spacing || "string" === typeof input.spacing) && (undefined === input.angle || "string" === typeof input.angle) && (undefined === input.borderStyle || "string" === typeof input.borderStyle) && (undefined === input.outline || "string" === typeof input.outline) && (undefined === input.shadow || "string" === typeof input.shadow) && (undefined === input.alignment || "string" === typeof input.alignment) && (undefined === input.marginL || "string" === typeof input.marginL) && (undefined === input.marginR || "string" === typeof input.marginR) && (undefined === input.marginV || "string" === typeof input.marginV) && (undefined === input.encoding || "string" === typeof input.encoding); const _io1 = input => (undefined === input.aspectRatio || "string" === typeof input.aspectRatio) && (undefined === input.backgroundAssetId || "string" === typeof input.backgroundAssetId) && (undefined === input.text || "string" === typeof input.text); const _vo0 = (input, _path, _exceptionable = true) => [undefined === input.scaledBorderAndShadow || "boolean" === typeof input.scaledBorderAndShadow || _report(_exceptionable, {
14280
14364
  path: _path + ".scaledBorderAndShadow",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/types",
3
- "version": "23.0.48",
3
+ "version": "23.0.50",
4
4
  "description": "TypeScript types to be shared between nxtedition packages.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "lodash": "^4.17.21",
42
42
  "rfc6902": "^5.1.1",
43
43
  "rxjs": "^7.8.1",
44
- "type-fest": "^4.23.0",
44
+ "type-fest": "^5.0.1",
45
45
  "typia": "^9.7.2"
46
46
  },
47
47
  "devDependencies": {