Vigia

type-fest を 4.x から 5.x へアップグレード

type-fest 4.41.0 と 5.10.0 の公開 API を、TypeScript の型から自動的に比較したものです。シグネチャの変更は破壊的変更の候補であり、確定ではありません。

概要

削除されたインポートパス0
削除されたエクスポート7
変更されたシグネチャ83
削除されたクラス/インターフェースのメンバー0
変更されたクラス/インターフェースのメンバー0
新たに非推奨6
要件の変更(engines、peer 依存関係)1
新しいエクスポート67

削除されたエクスポート

importexportkind変更前
type-festOnNexttype(value: ValueType) => void
type-festOnErrortype(error: unknown) => void
type-festObservertype{ next: OnNext<ValueType>; error: OnError; complete: OnComplete; }
type-festOnCompletetype() => void
type-festStringKeyOftype`${Extract<keyof BaseType, string | number>}`
type-festObservableLiketype{ subscribe(observer?: Partial<Observer<ValueType>> | undefined): Unsubscribable; [Symbol.observable](): ObservableLike<ValueType>; }
type-festUnsubscribabletype{ unsubscribe(): void; }

変更されたシグネチャ

export変更前変更後
type-fest · OrA | B extends false ? false : true extends IsEqual<A, true> | IsEqual<B, true> ? true : neverIsNever<A> extends true ? IsNever<B> extends true ? false : B extends true ? true : false : A extends true ? true : IsNever<B> extends true ? false : B extends true ? true : false
type-fest · AndA | B extends true ? true : true extends IsEqual<A, false> | IsEqual<B, false> ? false : neverIsNever<A> extends true ? false : A extends true ? IsNever<B> extends true ? false : B extends true ? true : false : false
type-fest · Get(Path extends string ? SplitHelper<FixPathSquareBrackets<Path>, ".", { strictLiteralChecks: false; }, []> : Path) extends readonly [] ? BaseType : (Path extends string ? SplitHelper<FixPathSquareBrackets<Path>, ".", { strictLiteralChecks: false; }, []> : Path) extends readonly [infer Head, ...infer Tail] ? GetWithPath<PropertyOf<BaseType, Extract<Head, string>, ApplyDefaultOptions<GetOptions, DefaultGetOptions, Options>>, Extract<Tail, string[]>, ApplyDefaultOptions<GetOptions, DefaultGetOptions, Options>> : never(Path extends string ? _Split<FixPathSquareBrackets<Path>, ".", { strictLiteralChecks: false; }> : Path) extends readonly [] ? BaseType : (Path extends string ? _Split<FixPathSquareBrackets<Path>, ".", { strictLiteralChecks: false; }> : Path) extends readonly [infer Head, ...infer Tail] ? GetWithPath<PropertyOf<BaseType, Extract<Head, string>, ApplyDefaultOptions<GetOptions, DefaultGetOptions, Options>>, Extract<Tail, string[]>, ApplyDefaultOptions<GetOptions, DefaultGetOptions, Options>> : never
type-fest · EntryBaseType extends Map<unknown, unknown> ? MapEntry<BaseType> : BaseType extends Set<unknown> ? SetEntry<BaseType> : BaseType extends readonly unknown[] ? ArrayEntry<BaseType> : BaseType extends object ? ObjectEntry<BaseType> : neverBaseType extends Map<unknown, unknown> ? _MapEntry<BaseType> : BaseType extends Set<unknown> ? _SetEntry<BaseType> : BaseType extends readonly unknown[] ? _ArrayEntry<BaseType> : BaseType extends object ? _ObjectEntry<BaseType> : never
type-fest · Merge{ [KeyType in keyof ({ [Key in keyof PickIndexSignature<Destination> as Key extends keyof PickIndexSignature<Source> ? never : Key]: PickIndexSignature<Destination>[Key]; } & PickIndexSignature<Source> & { [Key in keyof OmitIndexSignature<Destination> as Key extends keyof OmitIndexSignature<Source> ? never : Key]: OmitIndexSignature<Destination>[Key]; } & OmitIndexSignature<Source>)]: ({ [Key in keyof PickIndexSignature<Destination> as Key extends keyof PickIndexSignature<Source> ? never : Key]: PickIndexSignature<Destination>[Key]; } & PickIndexSignature<Source> & { [Key in keyof OmitIndexSig…Destination extends unknown ? Source extends unknown ? If<IsEqual<Destination, Source>, Destination, { [KeyType in keyof ({ [KeyType in keyof ({ [Key in keyof PickIndexSignature<Destination> as Key extends keyof PickIndexSignature<Source> ? never : Key]: PickIndexSignature<Destination>[Key]; } & PickIndexSignature<Source>)]: ({ [Key in keyof PickIndexSignature<Destination> as Key extends keyof PickIndexSignature<Source> ? never : Key]: PickIndexSignature<Destination>[Key]; } & PickIndexSignature<Source>)[KeyType]; } & { [KeyType in keyof ({ [Key in keyof OmitIndexSignature<Destination> as Key …
type-fest · PathsT extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | NonRecursiveType ? never : IsAny<T> extends true ? never : T extends UnknownArray ? number extends T["length"] ? InternalPaths<StaticPartOfArray<T, []>, ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, Options>> | InternalPaths<VariablePartOfArray<T>[number][], ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, Options>> : InternalPaths<T, ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, Options>> : T extends object ? InternalPaths<T, ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, Options>> : neverT extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType ? never : IsAny<T> extends true ? never : T extends object ? InternalPaths<Required<T>, ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, Options>, 0> : never
type-fest · SplitS extends string ? Delimiter extends string ? Or<Not<ApplyDefaultOptions<SplitOptions, DefaultSplitOptions, Options>["strictLiteralChecks"]>, And<IfNever<S, false, S extends string ? {} extends Record<S, never> ? false : true : false>, IfNever<Delimiter, false, Delimiter extends string ? {} extends Record<Delimiter, never> ? false : true : false>>> extends true ? S extends `${infer Head}${Delimiter}${infer Tail}` ? SplitHelper<Tail, Delimiter, ApplyDefaultOptions<SplitOptions, DefaultSplitOptions, Options>, [Head]> : Delimiter extends "" ? [] : [S] : string[] : never : neverS extends string ? Delimiter extends string ? (IsNever<Not<ApplyDefaultOptions<SplitOptions, DefaultSplitOptions, Options>["strictLiteralChecks"]>> extends true ? IsNever<IsNever<IfNotAnyOrNever<S, { ifNot: _IsStringLiteral<CollapseLiterals<IfNotAnyOrNever<S, { ifNot: _UnwrapBrand<S, Primitive>; }>>>; ifAny: false; ifNever: false; }>> extends true ? false : IfNotAnyOrNever<S, { ifNot: _IsStringLiteral<CollapseLiterals<IfNotAnyOrNever<S, { ifNot: _UnwrapBrand<S, Primitive>; }>>>; ifAny: false; ifNever: false; }> extends true ? IsNever<IfNotAnyOrNever<Delimiter, { ifNot: _IsStringLiteral<Collaps…
type-fest · WordsSentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators ? [...WordsImplementation<RemainingCharacters, ApplyDefaultOptions<WordsOptions, DefaultWordsOptions, Options>, "", "">] : WordsImplementation<RemainingCharacters, ApplyDefaultOptions<WordsOptions, DefaultWordsOptions, Options>, FirstCharacter, FirstCharacter> : []Sentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators | (ApplyDefaultOptions<WordsOptions, _DefaultWordsOptions, Options>["splitOnPunctuation"] extends true ? AsciiPunctuation : never) ? [...WordsImplementation<RemainingCharacters, ApplyDefaultOptions<WordsOptions, _DefaultWordsOptions, Options>, "", "">] : WordsImplementation<RemainingCharacters, ApplyDefaultOptions<WordsOptions, _DefaultWordsOptions, Options>, FirstCharacter, FirstCharacter> : []
type-fest · SchemaObjectType extends string ? ValueType : ObjectType extends Map<unknown, unknown> ? ValueType : ObjectType extends Set<unknown> ? ValueType : ObjectType extends ReadonlyMap<unknown, unknown> ? ValueType : ObjectType extends ReadonlySet<unknown> ? ValueType : ObjectType extends (infer U)[] ? Options["recurseIntoArrays"] extends false | undefined ? ValueType : Schema<U, ValueType, {}>[] : ObjectType extends (...arguments_: unknown[]) => unknown ? ValueType : ObjectType extends Date ? ValueType : ObjectType extends Function ? ValueType : ObjectType extends RegExp ? ValueType : ObjectType extends o…IsAny<Type> extends true ? Value : IsNever<Type> extends true ? Value : _Schema<Type, Value, ApplyDefaultOptions<SchemaOptions, DefaultSchemaOptions, Options>>
type-fest · IsEqual(<G>() => G extends G | (A & G) ? 1 : 2) extends <G>() => G extends G | (B & G) ? 1 : 2 ? true : false[A] extends [B] ? [B] extends [A] ? _IsEqual<A, B> : false : false
type-fest · IsTupleIsAny<TArray> extends true ? boolean : IfNever<TArray, false, TArray extends unknown ? number extends TArray["length"] ? ApplyDefaultOptions<IsTupleOptions, DefaultIsTupleOptions, Options>["fixedLengthOnly"] extends false ? IfNever<keyof TArray & `${TArray["length"]}`, TArray extends readonly [...any[], any] ? true : false, true> : false : true : false>IsNever<IsAny<TArray>> extends true ? If<IsNever<TArray>, false, TArray extends unknown ? number extends TArray["length"] ? ApplyDefaultOptions<IsTupleOptions, DefaultIsTupleOptions, Options>["fixedLengthOnly"] extends false ? "0" extends keyof TArray ? true : TArray extends readonly [...any[], any] ? true : false : false : true : false> : IsAny<TArray> extends true ? boolean : If<IsNever<TArray>, false, TArray extends unknown ? number extends TArray["length"] ? ApplyDefaultOptions<IsTupleOptions, DefaultIsTupleOptions, Options>["fixedLengthOnly"] extends false ? "0" extends keyof TArray ? tru…
type-fest · JsonifyIsAny<T> extends true ? any : T extends Infinity | -Infinity ? null : T extends JsonPrimitive ? T : T extends { toJSON(): infer J; } ? (() => J) extends () => JsonValue ? J : Jsonify<J> : T extends Number ? number : T extends String ? string : T extends Boolean ? boolean : T extends Map<any, any> | Set<any> ? EmptyObject : T extends TypedArray ? Record<string, number> : T extends NotJsonable ? never : T extends UnknownArray ? JsonifyList<T> : T extends object ? JsonifyObject<{ [KeyType in keyof ({ [Key in keyof Pick<T, Exclude<{ [Key in keyof T]: IsAny<T[Key]> extends true ? Key : undefined ex…IsAny<T> extends true ? any : T extends Infinity | -Infinity ? null : T extends JsonPrimitive ? T : T extends { toJSON(): infer J; } ? (() => J) extends () => JsonValue ? J : Jsonify<J> : T extends Number ? number : T extends String ? string : T extends Boolean ? boolean : T extends Map<any, any> | Set<any> ? EmptyObject : T extends TypedArray ? Record<string, number> : T extends NotJsonable ? never : T extends UnknownArray ? JsonifyList<T> : T extends object ? JsonifyObject<{ [KeyType in keyof ({ [Key in keyof Pick<T, Exclude<{ [Key in keyof T]: IsAny<T[Key]> extends true ? Key : IsUnknown<T[…
type-fest · IntRangeSubtract<Step, 1> extends 0 ? BuildTuple<Start, never, []>["length"] extends End ? Exclude<BuildTuple<Start, never, []>[number], never> : PrivateIntRange<Start, End, Step, 0 & Subtract<Step, 1>, [...BuildTuple<Start, never, []>, BuildTuple<Start, never, []>["length"]], BuildTuple<End, unknown, []>> : BuildTuple<Start, never, []> extends [...infer U, ...BuildTuple<End, unknown, []>] ? Exclude<([...U, ...BuildTuple<End, unknown, []>] & BuildTuple<Start, never, []>)[number], never> : PrivateIntRange<Start, End, Step, Subtract<Step, 1>, [...BuildTuple<Start, never, []>, BuildTuple<Start, never, []…IsNegative<Start> extends true ? PrivateNegativeIntRange<Start, End, Step, IfNotAnyOrNever<Step, { ifNot: _TupleOf<If<IsNegative<Step>, 0, Step>, unknown>; ifAny: unknown[]; ifNever: []; }> extends [] ? [unknown] : IfNotAnyOrNever<Step, { ifNot: _TupleOf<If<IsNegative<Step>, 0, Step>, unknown>; ifAny: unknown[]; ifNever: []; }>, IfNotAnyOrNever<Subtract<End, Start>, { ifNot: _TupleOf<If<IsNegative<Subtract<End, Start>>, 0, Subtract<End, Start>>, unknown>; ifAny: unknown[]; ifNever: []; }>, IfNotAnyOrNever<Absolute<Start>, { ifNot: _TupleOf<If<IsNegative<Absolute<Start>>, 0, Absolute<Start>>, u…
type-fest · LessThannumber extends A | B ? never : GreaterThanOrEqual<A, B> extends infer Result ? Result extends true ? false : true : neverGreaterThanOrEqual<A, B> extends infer Result ? Result extends true ? false : true : never
type-fest · OmitDeepOmitDeepHelper<T, UnionToTuple<PathUnion>> extends UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown> ? (UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>) & OmitDeepHelper<T, UnionToTuple<PathUnion>> : OmitDeepHelper<T, UnionToTuple<PathUnion>> extends object ? { [TypeKey in keyof (object & OmitDeepHelper<T, UnionToTuple<PathUnion>>)]: ConditionalSimplifyDeep<(object & OmitDeepHelper<T, UnionToTuple<PathUnion>>)[TypeKey], UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object>; } : OmitDeepHelper<T, UnionToTuple<PathUnion>>OmitDeepHelper<T, UnionToTuple<PathUnion>> extends UnknownArray | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType ? (UnknownArray | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType) & OmitDeepHelper<T, UnionToTuple<PathUnion>> : OmitDeepHelper<T, UnionToTuple<PathUnion>> extends object ? { [TypeKey in keyof (object & OmitDeepHelper<T, UnionToTuple<PathUnion>>)]: ConditionalSimplifyDeep<(object & OmitDeepHelper<T, UnionToTuple<PathUnion>>)[TypeKey], UnknownArr…
type-fest · PickDeepT extends NonRecursiveType ? never : T extends UnknownArray ? UnionToIntersection<{ [P in PathUnion]: InternalPickDeep<T, P>; }[PathUnion]> : T extends object ? { [KeyType in keyof UnionToIntersection<{ [P in PathUnion]: InternalPickDeep<T, P>; }[PathUnion]>]: UnionToIntersection<{ [P in PathUnion]: InternalPickDeep<T, P>; }[PathUnion]>[KeyType]; } : neverT extends NonRecursiveType ? never : T extends UnknownArray ? UnionToIntersection<{ [P in PathUnion]: InternalPickDeep<T, P>; }[PathUnion]> : T extends object ? SimplifyDeep<UnionToIntersection<{ [P in PathUnion]: InternalPickDeep<T, P>; }[PathUnion]>> : never
type-fest · WritableBaseType extends ReadonlyMap<infer KeyType, infer ValueType> ? Map<KeyType, ValueType> : BaseType extends ReadonlySet<infer ItemType> ? Set<ItemType> : BaseType extends readonly unknown[] ? WritableArray<BaseType> : { [KeyType in keyof ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & { -readonly [KeyType in keyof Pick<BaseType, Keys>]: Pick<BaseType, Keys>[KeyType]; })]: ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & { -readonly [KeyType in keyof Pick<BaseType, Keys>]: Pick<BaseType, Keys>[KeyType]; })[KeyType]; }BaseType extends ReadonlyMap<infer KeyType, infer ValueType> ? Map<KeyType, ValueType> : BaseType extends ReadonlySet<infer ItemType> ? Set<ItemType> : BaseType extends readonly unknown[] ? WritableArray<BaseType> : { [KeyType in keyof ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & { -readonly [KeyType in keyof BaseType as KeyType extends Keys ? KeyType : never]: BaseType[KeyType]; })]: ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & { -readonly [KeyType in keyof BaseType as KeyType extends Keys ? KeyType : never]: BaseType[KeyTy…
type-fest · ArrayTailApplyDefaultOptions<ArrayTailOptions, DefaultArrayTailOptions, Options> extends infer ResolvedOptions extends Required<ArrayTailOptions> ? TArray extends UnknownArray ? _ArrayTail<TArray> extends infer Result ? ResolvedOptions["preserveReadonly"] extends true ? IfArrayReadonly<TArray, Readonly<Result>, Result> : Result : never : never : neverIsAny<TArray> extends true ? any : IsNever<TArray> extends true ? never : TArray extends UnknownArray ? _ArrayTail<TArray> extends infer Result ? If<IsArrayReadonly<TArray>, Readonly<Result>, Result> : never : never
type-fest · CamelCaseType extends string ? string extends Type ? Type : Uncapitalize<CamelCaseFromArray<Words<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>, "">> : TypeType extends string ? string extends Type ? Type : `${Options["preserveLeadingUnderscores"] extends true ? LeadingUnderscores<Type, ""> : ""}${Uncapitalize<CamelCaseFromArray<Words<Type extends Uppercase<Type> ? Lowercase<Type> : Type, Options>, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>, "">>}` : Type
type-fest · IsLiteralIsPrimitive<T> extends true ? IsNotFalse<IsLiteralUnion<T>> : falseIsAny<T> extends true ? false : IsNever<T> extends true ? false : _IsLiteral<CollapseLiterals<UnwrapBrand<T>>>
type-fest · KebabCaseValue extends string ? IfNever<Value, false, Value extends string ? {} extends Record<Value, never> ? false : true : false> extends false ? Value : Lowercase<RemoveFirstLetter<DelimiterCaseFromArray<WordsImplementation<Value, IfAny<IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> a…Value extends string ? IfNotAnyOrNever<Value, { ifNot: _IsStringLiteral<CollapseLiterals<IfNotAnyOrNever<Value, { ifNot: _UnwrapBrand<Value, Primitive>; }>>>; ifAny: false; ifNever: false; }> extends false ? Value : Lowercase<DelimiterCaseFromArray<WordsImplementation<Value, ApplyDefaultOptions<WordsOptions, _DefaultWordsOptions, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>, "", "">, "-", "">> : Value
type-fest · MergeDeep([undefined] extends [ConditionalSimplifyDeep<Destination, UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object> | ConditionalSimplifyDeep<Source, UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object>] ? never : ConditionalSimplifyDeep<Destination, UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object> extends UnknownRecord ? ConditionalSimplifyDeep<Source, UnknownArray | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object> extends UnknownRecord ? MergeDeepRecord<UnknownRecord & ConditionalSimplifyDeep<Des…([undefined] extends [ConditionalSimplifyDeep<Destination, UnknownArray | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType, object> | ConditionalSimplifyDeep<Source, UnknownArray | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType, object>] ? never : ConditionalSimplifyDeep<Destination, UnknownArray | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | NonRecursiveType, object> extends UnknownRecord ? ConditionalS…
type-fest · SnakeCaseValue extends string ? IfNever<Value, false, Value extends string ? {} extends Record<Value, never> ? false : true : false> extends false ? Value : Lowercase<RemoveFirstLetter<DelimiterCaseFromArray<WordsImplementation<Value, IfAny<IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> a…Value extends string ? IfNotAnyOrNever<Value, { ifNot: _IsStringLiteral<CollapseLiterals<IfNotAnyOrNever<Value, { ifNot: _UnwrapBrand<Value, Primitive>; }>>>; ifAny: false; ifNever: false; }> extends false ? Value : Lowercase<DelimiterCaseFromArray<WordsImplementation<Value, ApplyDefaultOptions<WordsOptions, _DefaultWordsOptions, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>, "", "">, "_", "">> : Value
type-fest · ArraySliceArray_ extends unknown ? And<IsEqual<Start, never>, IsEqual<End, never>> extends true ? Array_ : number extends Array_["length"] ? VariableLengthArraySliceHelper<Array_, Start, End> : ArraySliceHelper<Array_, IsEqual<Start, never> extends true ? 0 : Start, IsEqual<End, never> extends true ? Array_["length"] : End, [], [], Array_["length"], IsNegative<IsEqual<Start, never> extends true ? 0 : Start> extends true ? Sum<Array_["length"], IsEqual<Start, never> extends true ? 0 : Start> extends infer AddResult extends number ? number extends AddResult ? 0 : GreaterThan<AddResult, 0> extends true ? A…Array_ extends unknown ? IsNever<Start> extends true ? IsNever<End> extends true ? _ArraySlice<Array_, Start, End> : End extends unknown ? _ArraySlice<Array_, Start, End> : never : IsNever<End> extends true ? Start extends unknown ? _ArraySlice<Array_, Start, End> : never : Start extends unknown ? End extends unknown ? _ArraySlice<Array_, Start, End> : never : never : never
type-fest · JsonObject{ [x: string]: JsonValue; } & { [x: string]: JsonValue | undefined; }{ [x: string]: JsonValue; }
type-fest · PascalCaseCamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>> extends string ? Capitalize<string & CamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>> : CamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>CamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>> extends string ? Capitalize<string & CamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>> : CamelCase<Value, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>
type-fest · GreaterThanA extends number ? B extends number ? number extends A | B ? never : Or<And<IsEqual<IsEqual<A, Infinity>, true>, false>, And<IsEqual<IsEqual<B, -Infinity>, true>, false>> extends true ? true : Or<And<IsEqual<IsEqual<A, -Infinity>, true>, false>, And<IsEqual<IsEqual<B, Infinity>, true>, false>> extends true ? false : true extends IsEqual<A, Infinity> | IsEqual<A, -Infinity> | IsEqual<B, Infinity> | IsEqual<B, -Infinity> ? false : [true, false] extends [IsNegative<A>, IsNegative<B>] ? false : [false, true] extends [IsNegative<A>, IsNegative<B>] ? true : [false, false] extends [IsNegative<A>, IsN…A extends number ? B extends number ? number extends A | B ? boolean : (IsNever<IsNever<IsEqual<IsEqual<A, Infinity>, true>> extends true ? false : IsEqual<IsEqual<A, Infinity>, true> extends true ? IsNever<IsEqual<IsEqual<B, Infinity>, false>> extends true ? false : IsEqual<IsEqual<B, Infinity>, false> extends true ? true : false : false> extends true ? IsNever<IsNever<IsEqual<IsEqual<B, -Infinity>, true>> extends true ? false : IsEqual<IsEqual<B, -Infinity>, true> extends true ? IsNever<IsEqual<IsEqual<A, -Infinity>, false>> extends true ? false : IsEqual<IsEqual<A, -Infinity>, false> extend…
type-fest · PackageJson{ [x: string]: JsonValue; } & { [x: string]: JsonValue | undefined; } & NodeJsStandard & PackageJsonStandard & NonStandardEntryPoints & TypeScriptConfiguration & YarnConfiguration & JSPMConfigurationJsonObject & NodeJsStandard & PackageJsonStandard & NonStandardEntryPoints & TypeScriptConfiguration & YarnConfiguration & JSPMConfiguration
type-fest · PartialDeepT extends BuiltIns | (new (...arguments_: any[]) => unknown) ? T : IsNever<keyof T> extends true ? T : T extends Map<infer KeyType, infer ValueType> ? Map<_PartialDeep<KeyType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>, _PartialDeep<ValueType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>> : T extends Set<infer ItemType> ? Set<_PartialDeep<ItemType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? ReadonlyMap<_PartialDeep<KeyType, ApplyDefault…T extends BuiltIns | (new (...arguments_: any[]) => unknown) ? T : T extends Map<infer KeyType, infer ValueType> ? Map<_PartialDeep<KeyType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>, _PartialDeep<ValueType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>> : T extends Set<infer ItemType> ? Set<_PartialDeep<ItemType, ApplyDefaultOptions<PartialDeepOptions, DefaultPartialDeepOptions, Options>>> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? ReadonlyMap<_PartialDeep<KeyType, ApplyDefaultOptions<PartialDeepOptions, DefaultP…
type-fest · SetOptionalBaseType extends unknown ? { [KeyType in keyof ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Partial<HomomorphicPick<BaseType, Keys>>)]: ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Partial<HomomorphicPick<BaseType, Keys>>)[KeyType]; } : never(BaseType extends (...arguments_: never) => any ? (...arguments_: Parameters<BaseType>) => ReturnType<BaseType> : unknown) & _SetOptional<BaseType, Keys>
type-fest · SetReadonlyBaseType extends unknown ? { [KeyType in keyof ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Readonly<HomomorphicPick<BaseType, Keys>>)]: ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Readonly<HomomorphicPick<BaseType, Keys>>)[KeyType]; } : never(BaseType extends (...arguments_: never) => any ? (...arguments_: Parameters<BaseType>) => ReturnType<BaseType> : unknown) & _SetReadonly<BaseType, Keys>
type-fest · SetRequiredBaseType extends UnknownArray ? SetArrayRequired<BaseType, Keys, [], []> extends infer ResultantArray ? IfArrayReadonly<BaseType, Readonly<ResultantArray>, ResultantArray> : never : { [KeyType in keyof ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Required<HomomorphicPick<BaseType, Keys>>)]: ({ [KeyType in keyof BaseType as Filter<KeyType, Keys>]: BaseType[KeyType]; } & Required<HomomorphicPick<BaseType, Keys>>)[KeyType]; }(BaseType extends (...arguments_: never) => any ? (...arguments_: Parameters<BaseType>) => ReturnType<BaseType> : unknown) & _SetRequired<BaseType, Keys>
type-fest · ReadonlyDeepT extends BuiltIns ? T : T extends new (...arguments_: any[]) => unknown ? T : T extends (...arguments_: any[]) => unknown ? {} extends ReadonlyObjectDeep<T> ? T : HasMultipleCallSignatures<T> extends true ? T : ((...arguments_: Parameters<T>) => ReturnType<T>) & ReadonlyObjectDeep<T> : T extends Readonly<ReadonlyMap<infer KeyType, infer ValueType>> ? Readonly<ReadonlyMap<ReadonlyDeep<KeyType>, ReadonlyDeep<ValueType>>> : T extends Readonly<ReadonlySet<infer ItemType>> ? Readonly<ReadonlySet<ReadonlyDeep<ItemType>>> : T extends readonly [] | readonly never[] ? readonly [] : T extends readonly …T extends BuiltIns ? T : T extends new (...arguments_: any[]) => unknown ? T : T extends (...arguments_: any[]) => unknown ? {} extends _ReadonlyObjectDeep<T> ? T : HasMultipleCallSignatures<T> extends true ? T : ((...arguments_: Parameters<T>) => ReturnType<T>) & _ReadonlyObjectDeep<T> : T extends Readonly<ReadonlyMap<infer KeyType, infer ValueType>> ? Readonly<ReadonlyMap<ReadonlyDeep<KeyType>, ReadonlyDeep<ValueType>>> : T extends Readonly<ReadonlySet<infer ItemType>> ? Readonly<ReadonlySet<ReadonlyDeep<ItemType>>> : T extends readonly [] | readonly never[] ? readonly [] : T extends readonl…
type-fest · RequiredDeepE extends BuiltIns ? E : E extends Map<infer KeyType, infer ValueType> ? Map<RequiredDeep<KeyType, Exclude<KeyType, undefined>>, RequiredDeep<ValueType, Exclude<ValueType, undefined>>> : E extends Set<infer ItemType> ? Set<RequiredDeep<ItemType, Exclude<ItemType, undefined>>> : E extends ReadonlyMap<infer KeyType, infer ValueType> ? ReadonlyMap<RequiredDeep<KeyType, Exclude<KeyType, undefined>>, RequiredDeep<ValueType, Exclude<ValueType, undefined>>> : E extends ReadonlySet<infer ItemType> ? ReadonlySet<RequiredDeep<ItemType, Exclude<ItemType, undefined>>> : E extends WeakMap<infer KeyType ext…T extends BuiltIns ? T : T extends Map<infer KeyType, infer ValueType> ? Map<RequiredDeep<KeyType>, RequiredDeep<ValueType>> : T extends Set<infer ItemType> ? Set<RequiredDeep<ItemType>> : T extends ReadonlyMap<infer KeyType, infer ValueType> ? ReadonlyMap<RequiredDeep<KeyType>, RequiredDeep<ValueType>> : T extends ReadonlySet<infer ItemType> ? ReadonlySet<RequiredDeep<ItemType>> : T extends WeakMap<infer KeyType extends object, infer ValueType> ? WeakMap<RequiredDeep<KeyType>, RequiredDeep<ValueType>> : T extends WeakSet<infer ItemType extends object> ? WeakSet<RequiredDeep<ItemType>> : T ext…
type-fest · SimplifyDeepType extends ExcludeType | NonRecursiveType | Set<unknown> | Map<unknown, unknown> ? Type : Type extends object ? { [TypeKey in keyof Type]: ConditionalSimplifyDeep<Type[TypeKey], ExcludeType | NonRecursiveType | Set<unknown> | Map<unknown, unknown>, object>; } : TypeType extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | ExcludeType | NonRecursiveType ? Type : Type extends object ? { [TypeKey in keyof Type]: ConditionalSimplifyDeep<Type[TypeKey], ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object> | ExcludeType | NonRecursiveType, object>; } : Type
type-fest · StringRepeatIsNegative<Count> extends true ? never : Input extends "" ? "" : Count extends 0 ? "" : IsNotFalse<LiteralCheck<Count, number> | LiteralCheck<Count, bigint>> extends false ? string : StringRepeatHelper<Input, Count, [never], `${Input}`>Count extends unknown ? IsNegative<Count> extends true ? never : S extends "" ? "" : IsNumericLiteral<Count> extends false ? string : `${Count}` extends `${string}e${string}` ? string : BuildStringDigitByDigit<S, `${Count}`, ""> : never
type-fest · UnionToTupleIsNever<T> extends false ? [...UnionToTuple<Exclude<T, L>, LastOfUnion<Exclude<T, L>>>, L] : []_UnionToTuple<Union, [], UnionMember<Union>> extends infer Result extends UnknownArray ? Result : never
type-fest · UnwrapOpaqueOpaqueType extends Tag<PropertyKey, any> ? RemoveAllTags<OpaqueType> : OpaqueType extends Opaque<infer Type, OpaqueType[typeof tag]> ? Type : OpaqueTypeOpaqueType extends Tag<PropertyKey, any> ? RemoveAllTags<OpaqueType> : OpaqueType extends Opaque<infer Type, OpaqueType[any]> ? Type : OpaqueType
type-fest · UnwrapTaggedTaggedType extends Tag<PropertyKey, any> ? { [ThisTag in keyof TaggedType[typeof tag]]: TaggedType extends Tagged<infer Type, ThisTag, TaggedType[typeof tag][ThisTag]> ? RemoveAllTags<Type> : never; }[keyof TaggedType[typeof tag]] : TaggedTypeTaggedType extends Tag<PropertyKey, any> ? { [ThisTag in keyof TaggedType[any]]: TaggedType extends Tagged<infer Type, ThisTag, TaggedType[any][ThisTag]> ? RemoveAllTags<Type> : never; }[keyof TaggedType[any]] : TaggedType
type-fest · WritableDeepT extends BuiltIns ? T : T extends (...arguments_: any[]) => unknown ? {} extends WritableObjectDeep<T> ? T : HasMultipleCallSignatures<T> extends true ? T : ((...arguments_: Parameters<T>) => ReturnType<T>) & WritableObjectDeep<T> : T extends ReadonlyMap<unknown, unknown> ? WritableMapDeep<T> : T extends ReadonlySet<unknown> ? WritableSetDeep<T> : T extends readonly unknown[] ? WritableArrayDeep<T> : T extends object ? WritableObjectDeep<T> : unknownT extends BuiltIns ? T : T extends (...arguments_: any[]) => unknown ? {} extends _WritableObjectDeep<T> ? T : HasMultipleCallSignatures<T> extends true ? T : ((...arguments_: Parameters<T>) => ReturnType<T>) & _WritableObjectDeep<T> : T extends ReadonlyMap<unknown, unknown> ? WritableMapDeep<T> : T extends ReadonlySet<unknown> ? WritableSetDeep<T> : T extends readonly unknown[] ? WritableArrayDeep<T> : T extends object ? _WritableObjectDeep<T> : unknown
type-fest · DelimiterCaseValue extends string ? IsStringLiteral<Value> extends false ? Value : Lowercase<RemoveFirstLetter<DelimiterCaseFromArray<Words<Value, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>>, Delimiter, "">>> : ValueValue extends string ? Delimiter extends string ? IsStringLiteral<Value> extends false ? Value : Lowercase<DelimiterCaseFromArray<Words<Value, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>, Delimiter, "">> : never : Value
type-fest · ReadonlyTuplenumber extends Length ? readonly Element[] : BuildTupleHelper<Element, Length, []>{ readonly [P in keyof TupleOf<Length, Element>]: TupleOf<Length, Element>[P]; }
type-fest · SchemaOptions{ readonly recurseIntoArrays?: boolean | undefined; }{ recurseIntoArrays?: boolean | undefined; }
type-fest · TupleToObjectIsAny<TArray> extends true ? any : { [Key in keyof TArray as Key & (`${number}` | (IsTuple<TArray> extends true ? never : number))]: TArray[Key]; }IsNever<IsAny<TArray>> extends true ? { [Key in keyof TArray as Key & (`${number}` | (IsTuple<TArray> extends true ? never : number))]: TArray[Key]; } : IsAny<TArray> extends true ? any : { [Key in keyof TArray as Key & (`${number}` | (IsTuple<TArray> extends true ? never : number))]: TArray[Key]; }
type-fest · GetTagMetadataType[typeof tag][TagName]Type[any][TagName]
type-fest · IntClosedRangeSubtract<Skip, 1> extends 0 ? BuildTuple<Start, never, []>["length"] extends Sum<End, 1> ? Exclude<BuildTuple<Start, never, []>[number], never> : PrivateIntRange<Start, Sum<End, 1>, Skip, 0 & Subtract<Skip, 1>, [...BuildTuple<Start, never, []>, BuildTuple<Start, never, []>["length"]], BuildTuple<Sum<End, 1>, unknown, []>> : BuildTuple<Start, never, []> extends [...infer U, ...BuildTuple<Sum<End, 1>, unknown, []>] ? Exclude<([...U, ...BuildTuple<Sum<End, 1>, unknown, []>] & BuildTuple<Start, never, []>)[number], never> : PrivateIntRange<Start, Sum<End, 1>, Skip, Subtract<Skip, 1>, [...BuildTupl…IsNegative<Start> extends true ? PrivateNegativeIntRange<Start, Sum<End, 1>, Skip, IfNotAnyOrNever<Skip, { ifNot: _TupleOf<If<IsNegative<Skip>, 0, Skip>, unknown>; ifAny: unknown[]; ifNever: []; }> extends [] ? [unknown] : IfNotAnyOrNever<Skip, { ifNot: _TupleOf<If<IsNegative<Skip>, 0, Skip>, unknown>; ifAny: unknown[]; ifNever: []; }>, IfNotAnyOrNever<Subtract<Sum<End, 1>, Start>, { ifNot: _TupleOf<If<IsNegative<Subtract<Sum<End, 1>, Start>>, 0, Subtract<Sum<End, 1>, Start>>, unknown>; ifAny: unknown[]; ifNever: []; }>, IfNotAnyOrNever<Absolute<Start>, { ifNot: _TupleOf<If<IsNegative<Absolute…
type-fest · OptionalKeysOfBaseType extends unknown ? keyof { [Key in keyof BaseType as BaseType extends Record<Key, BaseType[Key]> ? never : Key]: never; } & keyof BaseType : neverType extends unknown ? keyof { [Key in keyof Type as IsOptionalKeyOf<Type, Key> extends false ? never : Key]: never; } & keyof Type : never
type-fest · ReadonlyKeysOfT extends unknown ? Exclude<keyof T, WritableKeysOf<T>> : neverType extends unknown ? keyof { [Key in keyof Type as IsReadonlyKeyOf<Type, Key> extends false ? never : Key]: never; } & keyof Type : never
type-fest · RequiredKeysOfBaseType extends unknown ? Exclude<keyof BaseType, OptionalKeysOf<BaseType>> : neverType extends unknown ? Exclude<keyof Type, OptionalKeysOf<Type>> : never
type-fest · WritableKeysOfT extends unknown ? keyof { [P in keyof T as IsEqual<{ [Q in P]: T[P]; }, { readonly [Q in P]: T[P]; }> extends false ? P : never]: never; } & keyof T : neverType extends unknown ? Exclude<keyof Type, ReadonlyKeysOf<Type>> : never
type-fest · ConditionalKeys{ [Key in keyof Base]-?: Base[Key] extends Condition ? IfNever<Base[Key], IfNever<Condition, Key, never>, Key> : never; }[keyof Base](Base extends UnknownArray ? TupleToObject<Base> : Base) extends infer _Base ? IfNotAnyOrNever<_Base, { ifNot: keyof { [Key in keyof _Base & {} as _ExtendsStrict<_Base[Key], Condition, { distributiveUnions: false; strictNever: true; strictAny: false; }> extends true ? Key : never]: never; }; ifAny: keyof _Base; }> : never
type-fest · ConditionalPick{ [P in ConditionalKeys<Base, Condition>]: Base[P]; }ConditionalKeys<Base, Condition> extends infer Keys ? IsNever<Keys> extends true ? never : Pick<Base, Keys & keyof Base> : never
type-fest · IsStringLiteralIsNever<T> extends true ? false : T extends string ? {} extends Record<T, never> ? false : true : falseIsAny<S> extends true ? false : IsNever<S> extends true ? false : _IsStringLiteral<CollapseLiterals<UnwrapBrand<S>>>
type-fest · IsSymbolLiteralIsNever<T> extends false ? [T] extends [symbol & infer U] ? [U] extends [symbol] ? [symbol] extends [U] ? false : true : false : false : falseIsAny<T> extends true ? false : IsNever<T> extends true ? false : _IsSymbolLiteral<CollapseLiterals<UnwrapBrand<T>>>
type-fest · LessThanOrEqualnumber extends A | B ? never : GreaterThan<A, B> extends true ? false : trueGreaterThan<A, B> extends infer Result ? Result extends true ? false : true : never
type-fest · SingleKeyObjectIsUnion<keyof ObjectType> extends true ? never : IfEmptyObject<ObjectType, never, ObjectType>IsUnion<keyof ObjectType> extends true ? never : If<IsEmptyObject<ObjectType>, never, ObjectType>
type-fest · FixedLengthArrayPick<ArrayPrototype, Exclude<keyof ArrayPrototype, ArrayLengthMutationKeys>> & { [index: number]: Element; readonly length: Length; [Symbol.iterator]: () => IterableIterator<Element>; }{ [KeyType in keyof TupleOf<Length, Element> as Filter<KeyType, number | "length" | ArrayLengthMutationKeys>]: TupleOf<Length, Element>[KeyType]; } & { readonly length: Length; } & (number extends Length ? { [n: number]: Element; } : {})
type-fest · IsBooleanLiteralIsNever<T> extends false ? [T] extends [boolean & infer U] ? [U] extends [boolean] ? [boolean] extends [U] ? false : true : false : false : falseIsAny<T> extends true ? false : IsNever<T> extends true ? false : _IsBooleanLiteral<CollapseLiterals<UnwrapBrand<T>>>
type-fest · IsNumericLiteral[LiteralCheck<T, number> | LiteralCheck<T, bigint>] extends [false] ? false : trueIsAny<T> extends true ? false : IsNever<T> extends true ? false : _IsNumericLiteral<CollapseLiterals<UnwrapBrand<T>>>
type-fest · LastArrayElementElements extends readonly [] ? ElementBeforeTailingSpreadElement : Elements extends readonly [...infer U, infer V] ? V : Elements extends readonly [infer U, ...infer V] ? LastArrayElement<V, U> : Elements extends readonly (infer U)[] ? ElementBeforeTailingSpreadElement | U : neverIsAny<TArray> extends true ? any : IsNever<TArray> extends true ? never : TArray extends UnknownArray ? SplitOnRestElement<TArray> extends readonly [infer BeforeRest extends UnknownArray, infer Rest extends UnknownArray, infer AfterRest extends UnknownArray] ? _LastArrayElement<BeforeRest, Rest, AfterRest> : never : never
type-fest · RequireAllOrNoneIsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : IfNever<KeysType, ObjectType, _RequireAllOrNone<ObjectType, IfAny<KeysType, keyof ObjectType, KeysType>>>IsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : If<IsNever<KeysType>, ObjectType, _RequireAllOrNone<ObjectType, If<IsAny<KeysType>, keyof ObjectType, KeysType>>>
type-fest · RequireOneOrNoneIsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : IfNever<KeysType, ObjectType, _RequireOneOrNone<ObjectType, IfAny<KeysType, keyof ObjectType, KeysType>>>IsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : If<IsNever<KeysType>, ObjectType, _RequireOneOrNone<ObjectType, If<IsAny<KeysType>, keyof ObjectType, KeysType>>>
type-fest · RequireAtLeastOneIsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : IfNever<KeysType, never, _RequireAtLeastOne<ObjectType, IfAny<KeysType, keyof ObjectType, KeysType>>>IsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : If<IsNever<KeysType>, never, _RequireAtLeastOne<ObjectType, If<IsAny<KeysType>, keyof ObjectType, KeysType>>>
type-fest · RequireExactlyOneIsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : IfNever<KeysType, never, _RequireExactlyOne<ObjectType, IfAny<KeysType, keyof ObjectType, KeysType>>>IsAny<ObjectType> extends true ? any : IsNever<ObjectType> extends true ? never : If<IsNever<KeysType>, never, _RequireExactlyOne<ObjectType, If<IsAny<KeysType>, keyof ObjectType, KeysType>>>
type-fest · GreaterThanOrEqualnumber extends A | B ? never : A extends B ? true : GreaterThan<A, B>number extends A | B ? boolean : A extends number ? B extends number ? A extends B ? true : GreaterThan<A, B> : never : never
type-fest · OverrideProperties{ [KeyType in keyof ({ [Key in keyof PickIndexSignature<TOriginal> as Key extends keyof PickIndexSignature<TOverride> ? never : Key]: PickIndexSignature<TOriginal>[Key]; } & PickIndexSignature<TOverride> & { [Key in keyof OmitIndexSignature<TOriginal> as Key extends keyof OmitIndexSignature<TOverride> ? never : Key]: OmitIndexSignature<TOriginal>[Key]; } & OmitIndexSignature<TOverride>)]: ({ [Key in keyof PickIndexSignature<TOriginal> as Key extends keyof PickIndexSignature<TOverride> ? never : Key]: PickIndexSignature<TOriginal>[Key]; } & PickIndexSignature<TOverride> & { [Key in keyof OmitIn…TOriginal extends unknown ? TOverride extends unknown ? If<IsEqual<TOriginal, TOverride>, TOriginal, { [KeyType in keyof ({ [KeyType in keyof ({ [Key in keyof PickIndexSignature<TOriginal> as Key extends keyof PickIndexSignature<TOverride> ? never : Key]: PickIndexSignature<TOriginal>[Key]; } & PickIndexSignature<TOverride>)]: ({ [Key in keyof PickIndexSignature<TOriginal> as Key extends keyof PickIndexSignature<TOverride> ? never : Key]: PickIndexSignature<TOriginal>[Key]; } & PickIndexSignature<TOverride>)[KeyType]; } & { [KeyType in keyof ({ [Key in keyof OmitIndexSignature<TOriginal> as Ke…
type-fest · ScreamingSnakeCaseValue extends string ? Uppercase<SnakeCase<Value, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>>> : ValueValue extends string ? Uppercase<SnakeCase<Value, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>> : Value
type-fest · SetNonNullableDeepUnionToTuple<KeyPaths> extends [infer KeyPath, ...infer RestPaths] ? SetNonNullableDeepHelper<SetNonNullableDeepSinglePath<BaseType, KeyPath>, RestPaths> : BaseTypeIsAny<KeyPaths> extends true ? NonNullableDeep<BaseType> : SetNonNullableDeepHelper<BaseType, UnionToTuple<KeyPaths>>
type-fest · ConditionalPickDeep{ [KeyType in keyof { [Key in keyof Type]: AssertCondition<Type[Key], Condition, ApplyDefaultOptions<ConditionalPickDeepOptions, DefaultConditionalPickDeepOptions, Options>> extends true ? Type[Key] : IsPlainObject<Type[Key]> extends true ? ConditionalSimplifyDeep<{ [KeyType in keyof { [Key in keyof Type[Key]]: AssertCondition<Type[Key][Key], Condition, ApplyDefaultOptions<ConditionalPickDeepOptions, DefaultConditionalPickDeepOptions, Options>> extends true ? Type[Key][Key] : IsPlainObject<Type[Key][Key]> extends true ? ConditionalSimplifyDeep<{ [KeyType in keyof { [Key in keyof Type[Key][Key]…ConditionalSimplifyDeep<{ [KeyType in keyof { [Key in keyof Type]: AssertCondition<Type[Key], Condition, ApplyDefaultOptions<ConditionalPickDeepOptions, DefaultConditionalPickDeepOptions, Options>> extends true ? Type[Key] : IsPlainObject<Type[Key]> extends true ? ConditionalSimplifyDeep<{ [KeyType in keyof { [Key in keyof Type[Key]]: AssertCondition<Type[Key][Key], Condition, ApplyDefaultOptions<ConditionalPickDeepOptions, DefaultConditionalPickDeepOptions, Options>> extends true ? Type[Key][Key] : IsPlainObject<Type[Key][Key]> extends true ? ConditionalSimplifyDeep<{ [KeyType in keyof { [Key…
type-fest · CamelCasedPropertiesValue extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as CamelCase<K, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>]: Value[K]; }Value extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as CamelCase<K, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>]: Value[K]; }
type-fest · KebabCasedPropertiesValue extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, "-", IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> as Key extends "splitOnNumbers" ? Extract<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>[Key], …Value extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, "-", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>]: Value[K]; }
type-fest · SnakeCasedPropertiesValue extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, "_", IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> as Key extends "splitOnNumbers" ? Extract<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>[Key], …Value extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, "_", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>]: Value[K]; }
type-fest · PascalCasedPropertiesValue extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as PascalCase<K, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>]: Value[K]; }Value extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as PascalCase<K, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>]: Value[K]; }
type-fest · SharedUnionFieldsDeepApplyDefaultOptions<SharedUnionFieldsDeepOptions, DefaultSharedUnionFieldsDeepOptions, Options> extends infer OptionsWithDefaults extends Required<SharedUnionFieldsDeepOptions> ? [Union] extends [ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | NonRecursiveType] ? Union : [Union] extends [UnknownArray] ? OptionsWithDefaults["recurseIntoArrays"] extends true ? SetArrayAccess<SetArrayAccess<InternalSharedArrayUnionFieldsDeep<Union, OptionsWithDefaults, []>, IfNever<Union, false, Union extends unknown[] ? false : true>>, IsArrayReadonly<Union>> : Union : [Union] extends [object] ? SharedObj…ApplyDefaultOptions<SharedUnionFieldsDeepOptions, DefaultSharedUnionFieldsDeepOptions, Options> extends infer OptionsWithDefaults extends Required<SharedUnionFieldsDeepOptions> ? [Union] extends [ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | NonRecursiveType] ? Union : [Union] extends [UnknownArray] ? OptionsWithDefaults["recurseIntoArrays"] extends true ? SetArrayAccess<SetArrayAccess<InternalSharedArrayUnionFieldsDeep<Union, OptionsWithDefaults, []>, If<IsNever<Union>, false, Union extends unknown[] ? false : true>>, IsArrayReadonly<Union>> : Union : [Union] extends [object] ? Share…
type-fest · FindGlobalInstanceTypeName extends string ? typeof globalThis extends Record<Name, abstract new (...arguments: any[]) => infer T> ? T : never : neverName extends string ? typeof globalThis extends Record<Name, abstract new (...arguments_: any[]) => infer T> ? T : never : never
type-fest · PartialOnUndefinedDeepT extends Record<any, any> | undefined ? { [KeyType in keyof T as undefined extends T[KeyType] ? IfUnknown<T[KeyType], never, KeyType> : never]?: PartialOnUndefinedDeepValue<T[KeyType], ApplyDefaultOptions<PartialOnUndefinedDeepOptions, DefaultPartialOnUndefinedDeepOptions, Options>> | undefined; } extends infer U ? { [KeyType in keyof ({ [Key in keyof PickIndexSignature<{ [KeyType in keyof T as KeyType extends keyof { [K in keyof U as IsLiteral<K> extends true ? K : never]-?: never; } ? never : KeyType]: PartialOnUndefinedDeepValue<T[KeyType], ApplyDefaultOptions<PartialOnUndefinedDeepOptions…T extends Record<any, any> | undefined ? { [KeyType in keyof T as undefined extends T[KeyType] ? If<IsUnknown<T[KeyType]>, never, KeyType> : never]?: PartialOnUndefinedDeepValue<T[KeyType], ApplyDefaultOptions<PartialOnUndefinedDeepOptions, DefaultPartialOnUndefinedDeepOptions, Options>> | undefined; } extends infer U ? Merge<{ [KeyType in keyof T as KeyType extends keyof { [K in keyof U as IfNotAnyOrNever<K, { ifNot: _IsLiteral<CollapseLiterals<IfNotAnyOrNever<K, { ifNot: _UnwrapBrand<K, Primitive>; }>>>; ifAny: false; ifNever: false; }> extends true ? K : never]-?: never; } ? never : KeyType…
type-fest · CamelCasedPropertiesDeepValue extends NonRecursiveType ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>> : Value extends Set<infer U> ? Set<_CamelCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>> : Value extends object ? { [K in keyof Value as CamelCase<K, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>]: _CamelCasedPropertiesDeep<Value[K], ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>; } : ValueValue extends NonRecursiveType ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>> : Value extends Set<infer U> ? Set<_CamelCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>> : Value extends object ? { [K in keyof Value as CamelCase<K, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>]: _CamelCasedPropertiesDeep<Value[K], ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>; } : Value
type-fest · DelimiterCasedPropertiesValue extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>>]: Value[K]; }Value extends Function ? Value : Value extends (infer U)[] ? Value : { [K in keyof Value as DelimiterCase<K, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>]: Value[K]; }
type-fest · KebabCasedPropertiesDeepValue extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, "-", IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> as Key extends "splitOnNumbers" ? Extract<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>[Key]…Value extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, "-", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>> : Value extends Set<infer U> ? Set<_DelimiterCasedPropertiesDeep<U, "-", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>> : Value extends object ? { [K in…
type-fest · SnakeCasedPropertiesDeepValue extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, "_", IfAny<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, IfNever<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>, { splitOnNumbers: false; }, { [KeyType in keyof ({ [KeyType in keyof ({} & PickIndexSignature<{ [Key in keyof ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options> as Key extends "splitOnNumbers" ? Extract<ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>[Key]…Value extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, "_", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>> : Value extends Set<infer U> ? Set<_DelimiterCasedPropertiesDeep<U, "_", ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>>> : Value extends object ? { [K in…
type-fest · PascalCasedPropertiesDeepValue extends Function | RegExp | Date ? Value : Value extends (infer U)[] ? _PascalCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>[] : Value extends Set<infer U> ? Set<_PascalCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>>> : Value extends object ? { [K in keyof Value as _PascalCase<K, IfAny<ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>, DefaultCamelCaseOptions, IfNever<ApplyDefaultOptions<CamelCaseOptions, DefaultCamelCaseOptions, Options>, DefaultCamelCaseOptions, { [Key…Value extends Function | RegExp | Date ? Value : Value extends (infer U)[] ? _PascalCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>[] : Value extends Set<infer U> ? Set<_PascalCasedPropertiesDeep<U, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>> : Value extends object ? { [K in keyof Value as _PascalCase<K, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, ApplyDefaultOptions<CamelCaseOptions, _DefaultCamelCaseOptions, Options>>>]: _PascalCasedPropertiesDeep<Value[K], ApplyDefaultOptions<CamelCaseOptions…
type-fest · ConditionalPickDeepOptions{ condition?: "extends" | "equality" | undefined; }{ condition?: "equality" | "extends" | undefined; }
type-fest · DelimiterCasedPropertiesDeepValue extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>> : Value extends Set<infer U> ? Set<_DelimiterCasedPropertiesDeep<U, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>>> : Value extends object ? { [K in keyof Value as DelimiterCase<K, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: false; }, Options>>]: _DelimiterCasedPropertiesDeep<Value[K], Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnNumbers: f…Value extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>> : Value extends Set<infer U> ? Set<_DelimiterCasedPropertiesDeep<U, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>> : Value extends object ? { [K in keyof Value as DelimiterCase<K, Delimiter, ApplyDefaultOptions<WordsOptions, { splitOnPunctuation: false; splitOnNumbers: false; }, Options>>]: _DelimiterCasedProperti…

削除されたクラス/インターフェースのメンバー

検出されませんでした。

変更されたクラス/インターフェースのメンバー

検出されませんでした。

新たに非推奨

export@deprecated
type-fest · IfAnyThis type will be removed in the next major version. Use the {@link If} type instead.
type-fest · IfNullThis type will be removed in the next major version. Use the {@link If} type instead.
type-fest · IfNeverThis type will be removed in the next major version. Use the {@link If} type instead.
type-fest · IfUnknownThis type will be removed in the next major version. Use the {@link If} type instead.
type-fest · IfEmptyObjectThis type will be removed in the next major version. Use the {@link If} type instead.
type-fest · ReadonlyTupleThis type will be removed in the next major version. Use the built-in `Readonly` type in combination with the {@link TupleOf} type instead, like `Readonly<TupleOf<Length, Element>>`.

要件の変更(engines、peer 依存関係)

変更前変更後
engines.node>=16>=20
新しいエクスポート (67)
importexportkind
type-festIftype
type-festXortype
type-festOrAlltype
type-festAndAlltype
type-festIsUniontype
type-festTupleOftype
type-festAbsolutetype
type-festOptionaltype
type-festUnionMaxtype
type-festAllExtendtype
type-festGetOptionstype
type-festIsNullabletype
type-festIsOptionaltype
type-festRenameKeystype
type-festSomeExtendtype
type-festArrayLengthtype
type-festIsLowercasetype
type-festIsUndefinedtype
type-festIsUppercasetype
type-festKeyAsStringtype
type-festObjectMergetype
type-festUnionLengthtype
type-festUnionMembertype
type-festAlphanumerictype
type-festArrayElementtype
type-festArrayReversetype
type-festPathsOptionstype
type-festRemovePrefixtype
type-festRemoveSuffixtype
type-festSplitOptionstype
type-festStringLengthtype
type-festWordsOptionstype
type-festExceptOptionstype
type-festExcludeStricttype
type-festExtendsStricttype
type-festExtractStricttype
type-festStringToArraytype
type-festUnwrapPartialtype
type-festDigitCharactertype
type-festExcludeExactlytype
type-festExclusifyUniontype
type-festExtractExactlytype
type-festIsTupleOptionstype
type-festReplaceOptionstype
type-festStringToNumbertype
type-festUnwrapRequiredtype
type-festIsOptionalKeyOftype
type-festIsReadonlyKeyOftype
type-festIsRequiredKeyOftype
type-festIsWritableKeyOftype
type-festLowercaseLettertype
type-festNonNullableDeeptype
type-festUppercaseLettertype
type-festAllExtendOptionstype
type-festCamelCaseOptionstype
type-festSomeExtendOptionstype
type-festExcludeRestElementtype
type-festExtractRestElementtype
type-festSplitOnRestElementtype
type-festConditionalSimplifytype
type-festRemovePrefixOptionstype
type-festRemoveSuffixOptionstype
type-festSetFieldTypeOptionstype
type-festExtendsStrictOptionstype
type-festStringToArrayOptionstype
type-festConditionalSimplifyDeeptype
type-festSharedUnionFieldsDeepOptionstype

よくある質問

type-fest を 4 から 5 にアップグレードする際の破壊的変更は?

type-fest 4.41.0 と 5.10.0 の間で、Vigia は削除されたエクスポートを 7 件、変更されたシグネチャを 83 件、削除または変更されたクラス/インターフェースのメンバーを 0 件検出しました。

type-fest 5 で非推奨になったものは?

type-fest 5.10.0 では 6 件のエクスポートまたはメンバーが新たに非推奨になりました。

エージェント向け

GET https://vigia.coredls.cloud/v1/packages/npm/type-fest/upgrade?from=4.41.0&to=5.10.0