Socket
Socket
Sign inDemoInstall

@js-toolkit/utils

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@js-toolkit/utils - npm Package Compare versions

Comparing version 1.49.5 to 1.49.6

2

package.json
{
"name": "@js-toolkit/utils",
"version": "1.49.5",
"version": "1.49.6",
"description": "Typescript helper types and utils",

@@ -5,0 +5,0 @@ "author": "VZH",

@@ -24,5 +24,5 @@ type NonNullValue = {};

type IfExtends<T, Type, Then = T, Else = never> = Extract<T, Type> extends never ? Else : Extract<T, Type> extends Type ? Then : Else;
type KeysOfType<A extends AnyObject, B, Strict extends boolean = true> = NonNullable<{
[P in keyof A]: Strict extends true ? IfExtends<A[P], B, P, never> : A[P] extends B ? P : never;
}[keyof A]>;
type KeysOfType<T extends AnyObject, Type, Strict extends boolean = true> = T extends T ? NonNullable<{
[P in keyof T]: Strict extends true ? IfExtends<T[P], Type, P, never> : T[P] extends Type ? P : never;
}[keyof T]> : never;
type ExcludeKeysOfType<A extends AnyObject, B, Strict extends boolean = false> = Pick<A, Exclude<keyof A, KeysOfType<A, B, Strict>>>;

@@ -46,6 +46,6 @@ type ExtractKeysOfType<A extends AnyObject, B, Strict extends boolean = false> = Pick<A, KeysOfType<A, B, Strict>>;

}, never | undefined, false>;
type OmitIndex<T extends AnyObject> = {
type OmitIndex<T extends AnyObject> = T extends T ? {
[P in keyof T as string extends P ? never : number extends P ? never : P]: T[P];
};
type WithIndex<T extends AnyObject> = T & Record<string, any>;
} : never;
type WithIndex<T extends AnyObject> = T extends T ? T & Record<string, any> : never;
type KeepTypes<A extends AnyObject, T extends Extract<BaseTypeOf<A[keyof A]>, T>, K extends Exclude<Keys<ExcludeTypesOptions<A>>, keyof K> extends never ? never : Exclude<keyof K, Keys<ExcludeTypesOptions<A>>> extends never ? ExcludeTypesOptions<A> : never = {

@@ -56,5 +56,5 @@ pick: keyof A;

}, never | undefined, false>;
type Writeable<A extends AnyObject> = {
-readonly [P in keyof A]: A[P];
};
type Writeable<T extends AnyObject> = T extends T ? {
-readonly [P in keyof T]: T[P];
} : never;
type DeepWriteable<T, Depth extends number = never, R extends unknown[] = [any]> = IfExtends<Exclude<T, AnyFunction>, AnyObject, IfExtends<T, ReadonlyArray<any>, NonNullable<T>, unknown> extends ReadonlyArray<infer I> ? Array<DeepWriteable<I, Depth, R>> : {

@@ -72,23 +72,23 @@ -readonly [P in keyof T]: R['length'] extends Depth ? T[P] : DeepWriteable<T[P], Depth, Push<R, any>>;

}, T>;
type RequiredKeepUndefined<T> = {
type RequiredKeepUndefined<T> = T extends T ? {
[K in keyof T]-?: [T[K]];
} extends infer U ? U extends Record<keyof U, [any]> ? {
[K in keyof U]: U[K][0];
} : never : never;
} : never : never : never;
type PromiseType<T> = T extends Promise<infer R> ? R : T;
type RequiredSome<T, K extends keyof T> = Omit<T, K> & {
type RequiredSome<T, K extends keyof T> = T extends T ? Omit<T, K> & {
[P in K]-?: NonNullable<T[P]>;
};
type RequiredBut<T, K extends keyof T> = Pick<T, K> & {
} : never;
type RequiredBut<T, K extends keyof T> = T extends T ? Pick<T, K> & {
[P in Exclude<keyof T, K>]-?: Exclude<T[P], undefined>;
};
type RequiredStrict<T> = {
} : never;
type RequiredStrict<T> = T extends T ? {
[P in keyof T]-?: Exclude<T[P], undefined>;
};
type PartialSome<T, K extends keyof T> = Omit<T, K> & {
} : never;
type PartialSome<T, K extends keyof T> = T extends T ? Omit<T, K> & {
[P in K]?: T[P];
};
type PartialBut<T, K extends keyof T> = Pick<T, K> & {
} : never;
type PartialBut<T, K extends keyof T> = T extends T ? Pick<T, K> & {
[P in Exclude<keyof T, K>]?: T[P];
};
} : never;
type PartialRecord<K extends keyof any, T> = {

@@ -98,24 +98,24 @@ [P in K]?: T;

/** Useful with `exactOptionalPropertyTypes` option. */
type OptionalToUndefined<T> = {
type OptionalToUndefined<T> = T extends T ? {
[K in keyof T]: undefined extends T[K] ? T[K] | undefined : T[K];
};
type RequiredInner<T, K extends keyof T> = {
} : never;
type RequiredInner<T, K extends keyof T> = T extends T ? {
[P in keyof T]: P extends K ? IfExtends<T[K], AnyObject, Required<T[K]>, T[K]> : T[P];
};
type RequiredInnerKeepUndefined<T, K extends keyof T> = {
} : never;
type RequiredInnerKeepUndefined<T, K extends keyof T> = T extends T ? {
[P in keyof T]: P extends K ? IfExtends<T[P], AnyObject, RequiredKeepUndefined<T[P]>, T[P]> : T[P];
};
type PickInner<T, K extends keyof T, IK extends keyof NonNullable<T[K]>> = {
} : never;
type PickInner<T, K extends keyof T, IK extends keyof NonNullable<T[K]>> = T extends T ? {
[P in keyof T]: P extends K ? Pick<NonNullable<T[P]>, IK extends Keys<T[P]> ? IK : never> : T[P];
};
type OmitInner<T, K extends keyof T, IK extends keyof NonNullable<T[K]>> = {
} : never;
type OmitInner<T, K extends keyof T, IK extends keyof NonNullable<T[K]>> = T extends T ? {
[P in keyof T]: P extends K ? OmitStrict<NonNullable<T[K]>, IK extends Keys<T[K]> ? IK : never> : T[P];
};
} : never;
/** Swap key and value */
type ReverseObject<T extends Record<keyof T, string | number>> = {
type ReverseObject<T extends Record<keyof T, string | number>> = T extends T ? {
[P in keyof T as T[P]]: P;
};
type LowercaseKeys<T extends AnyObject> = {
} : never;
type LowercaseKeys<T extends AnyObject> = T extends T ? {
[P in keyof T as P extends number ? P : Lowercase<Extract<P, string>>]: T[P];
};
} : never;
/** Requires to define all of the keys. */

@@ -146,5 +146,5 @@ type DefineAll<Enum extends string | number | symbol, T extends Record<Enum, unknown>> = T;

/** Returns union of tuple indices. */
type TupleIndices<T extends readonly any[]> = Extract<keyof T, `${number}`> extends `${infer N extends number}` ? N : never;
type TupleIndices<T extends readonly any[]> = T extends T ? Extract<keyof T, `${number}`> extends `${infer N extends number}` ? N : never : never;
/** Returns union of tuple values. */
type TupleToUnion<T extends readonly any[]> = Extract<keyof T, `${number}`> extends `${infer N extends number}` ? T[N] : never;
type TupleToUnion<T extends readonly any[]> = T extends T ? Extract<keyof T, `${number}`> extends `${infer N extends number}` ? T[N] : never : never;
/**

@@ -164,16 +164,16 @@ * Used with discriminants.

*/
type MapKeyAsArray<T extends AnyObject, K extends keyof T> = {
type MapKeyAsArray<T extends AnyObject, K extends keyof T> = T extends T ? {
[P in keyof T]: P extends K ? readonly T[P][] : T[P];
};
} : never;
/**
* Replace getters functions by the same props.
*/
type GettersToProps<T extends AnyObject> = {
type GettersToProps<T extends AnyObject> = T extends T ? {
[P in keyof T as P extends `get${infer S}` ? Uncapitalize<S> : P]: P extends `get${string}` ? T[P] extends AnyFunction ? ReturnType<T[P]> : T[P] : T[P];
};
} : never;
/**
* Replace setters functions by the same props.
*/
type SettersToProps<T extends AnyObject> = {
type SettersToProps<T extends AnyObject> = T extends T ? {
[P in keyof T as P extends `set${infer S}` ? Uncapitalize<S> : P]: P extends `set${string}` ? T[P] extends (value: infer V) => any ? V : T[P] : T[P];
};
} : never;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc