Vigia

type-fest을(를) 4.x에서 5.x로 업그레이드하기

type-fest 4.41.0과 5.10.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.

요약

삭제된 import 경로0
삭제된 export7
변경된 시그니처83
삭제된 클래스·인터페이스 멤버0
변경된 클래스·인터페이스 멤버0
새로 지원 중단됨6
요구 사항 변경 (engines, peer 의존성)1
새 export67

삭제된 export

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
새 export (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는 삭제된 export 7개, 변경된 시그니처 83개, 삭제되거나 변경된 클래스·인터페이스 멤버 0개를 찾았습니다.

type-fest 5에서 지원 중단된 것은 무엇인가요?

type-fest 5.10.0에서 export 또는 멤버 6개가 새로 지원 중단으로 표시되었습니다.

에이전트용

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