New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hkt-toolbelt

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hkt-toolbelt - npm Package Compare versions

Comparing version 0.8.1 to 0.9.0

5

combinator.d.ts

@@ -5,5 +5,8 @@ import $, { Cast, Kind } from ".";

}
declare abstract class RecursiveKind extends Kind {
abstract f: (x: Cast<this[Kind._], RecursiveKind>) => unknown;
}
export declare abstract class ApplySelf extends Kind {
abstract f: (x: Cast<this[Kind._], Kind>) => $<typeof x, Cast<typeof x, Kind.InputOf<typeof x>>>;
abstract f: (x: Cast<this[Kind._], RecursiveKind>) => $<typeof x, Cast<typeof x, Kind.InputOf<typeof x>>>;
}
export * as Combinator from "./combinator";

8

conditional.d.ts

@@ -6,13 +6,13 @@ import { Kind } from ".";

}
export declare type _$subtype<Super, X> = X extends Super ? true : false;
export declare type _$extends<Super, X> = (X extends unknown ? X : never) extends Super ? true : false;
export declare abstract class Extends<Super> extends Kind {
abstract f: (x: this[Kind._]) => _$subtype<Super, typeof x>;
abstract f: (x: this[Kind._]) => _$extends<Super, typeof x>;
}
/**
* @alias Extends
* @alias `Extends<T>`
* @deprecated
*/
export declare abstract class SubtypeOf<Super> extends Kind {
abstract f: (x: this[Kind._]) => _$subtype<Super, typeof x>;
abstract f: (x: this[Kind._]) => _$extends<Super, typeof x>;
}
export * as Conditional from "./conditional";

@@ -15,6 +15,3 @@ import $, { Boolean, Cast, Kind } from ".";

}
export declare type _$filter<F extends Kind, X extends unknown[]> = X extends [
infer Head,
...infer Tail
] ? $<F, Cast<Head, Kind.InputOf<F>>> extends true ? [Head, ..._$filter<F, Tail>] : _$filter<F, Tail> : [];
export declare type _$filter<F extends Kind, X extends unknown[], O extends unknown[] = []> = X extends [infer Head, ...infer Tail] ? $<F, Cast<Head, Kind.InputOf<F>>> extends true ? _$filter<F, Tail, [...O, Head]> : _$filter<F, Tail, O> : O;
export declare abstract class Filter<F extends Kind<(x: never) => boolean>> extends Kind {

@@ -46,22 +43,19 @@ abstract f: (x: Cast<this[Kind._], Kind.InputOf<F>[]>) => _$filter<F, typeof x>;

}
export declare type _$pair<T extends unknown[]> = T extends [
infer X1,
infer X2,
...infer Rest
] ? [[X1, X2], ..._$pair<[X2, ...Rest]>] : number extends T["length"] ? [T[number], T[number]][] : [];
export declare type _$pair<T extends unknown[], O extends unknown[][] = []> = T extends [infer X1, infer X2, ...infer Rest] ? _$pair<[X2, ...Rest], [...O, [X1, X2]]> : number extends T["length"] ? [T[number], T[number]][] : O;
export declare abstract class Pair extends Kind {
abstract f: (x: Cast<this[Kind._], unknown[]>) => _$pair<typeof x>;
}
export declare type _$every<F extends Kind<(x: never) => boolean>, T extends unknown[]> = T extends [infer Head, ...infer Rest] ? Boolean._$and<$<F, Cast<Head, Kind.InputOf<F>>>, _$every<F, Rest>> : true;
export declare type _$every<F extends Kind<(x: never) => boolean>, T extends unknown[], O extends boolean = true> = T extends [infer Head, ...infer Rest] ? _$every<F, Rest, Boolean._$and<O, $<F, Cast<Head, Kind.InputOf<F>>>>> : O;
export declare abstract class Every<F extends Kind<(x: never) => boolean>> extends Kind {
abstract f: (x: Cast<this[Kind._], Kind.InputOf<F>[]>) => _$every<F, typeof x>;
}
export declare type _$some<F extends Kind<(x: never) => boolean>, T extends unknown[]> = T extends [infer Head, ...infer Rest] ? Boolean._$or<$<F, Cast<Head, Kind.InputOf<F>>>, _$some<F, Rest>> : false;
export declare type _$some<F extends Kind<(x: never) => boolean>, T extends unknown[], O extends boolean = false> = T extends [infer Head, ...infer Rest] ? _$some<F, Rest, Boolean._$or<O, $<F, Cast<Head, Kind.InputOf<F>>>>> : O;
export declare abstract class Some<F extends Kind<(x: never) => boolean>> extends Kind {
abstract f: (x: Cast<this[Kind._], Kind.InputOf<F>[]>) => _$some<F, typeof x>;
}
export declare type _$reverse<T extends unknown[]> = T extends [
infer Head,
...infer Tail
] ? [..._$reverse<Tail>, Head] : T extends [...infer Init, infer Last] ? [Last, ..._$reverse<Init>] : T;
declare type _$reverse2<T extends unknown[], O extends unknown[] = []> = T extends [
...infer Init,
infer Last
] ? Init extends [] ? [...O, Last] : _$reverse2<Init, [...O, Last]> : T extends [infer Head, ...unknown[]] ? Head : [...O, ...T];
export declare type _$reverse<T extends unknown[], O extends unknown[] = []> = T extends [infer Head, ...infer Tail] ? _$reverse<Tail, [Head, ...O]> : T extends [] ? O : [..._$reverse2<T>, ...O];
export declare abstract class Reverse extends Kind {

@@ -68,0 +62,0 @@ abstract f: (x: Cast<this[Kind._], unknown[]>) => _$reverse<typeof x>;

{
"name": "hkt-toolbelt",
"version": "0.8.1",
"version": "0.9.0",
"description": "Functional and composable type utilities",

@@ -5,0 +5,0 @@ "types": "./dist/index.d.ts",

@@ -1,5 +0,8 @@

<h1 align="center">
[HK-Types Toolbelt]
</h1>
<a href="https://github.com/poteat/hkt-toolbelt#readme">
<img src=https://raw.githubusercontent.com/poteat/hkt-toolbelt/main/docs/logo.jpeg>
</a>
<br>
<br>
<p align="center">

@@ -23,4 +26,6 @@ <img src=https://img.shields.io/npm/v/hkt-toolbelt?color=green>

This library is a companion to [ts-toolbelt](https://www.npmjs.com/package/ts-toolbelt) that provides higher-kinded-type versions of its functionality. This allows for more complex types to be constructed.
This library provides type-level utilities across many domains that may be mapped and combined in a functional way, using higher-kinded types.
Write robust, type-safe software with the benefit of composable and compile-time efficient types.
We aim to support hundreds of kind categories, including **List**, **Boolean**, **String**, **Function**, and more. We also provide a set of combinators for composing types.

@@ -30,3 +35,3 @@

<a href="https://github.com/poteat/hkt-toolbelt#readme.md">
(Full API Docs)
[Full API Docs]
</a>

@@ -33,0 +38,0 @@ </h1>

@@ -27,7 +27,7 @@ import { Cast, Conditional, Kind, List } from ".";

}
export declare type _$join<T extends string[], D extends string = ""> = List._$isVariadic<T> extends true ? string : T extends [infer Head, ...infer Tail] ? Tail extends [] ? Head : `${Cast<Head, string>}${D}${_$join<Cast<Tail, string[]>, D>}` : string[] extends T ? string : "";
export declare type _$join<T extends string[], D extends string = "", O extends string = ""> = List._$isVariadic<T> extends true ? string : T extends [infer Head, ...infer Tail] ? Tail extends [] ? `${O}${D}${Cast<Head, string>}` : _$join<Cast<Tail, string[]>, D, `${O}${O extends "" ? "" : D}${Cast<Head, string>}`> : string[] extends T ? `${O}${string}` : O;
export declare abstract class Join<D extends string = ""> extends Kind {
abstract f: (x: Cast<this[Kind._], string[]>) => _$join<typeof x, D>;
}
export declare type _$split<S extends string, Delimiter extends string = ""> = _$isTemplate<Delimiter> extends true ? string[] : string extends Delimiter ? string[] : S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ..._$split<Tail, Delimiter>] : S extends Delimiter ? [] : [S];
export declare type _$split<S extends string, Delimiter extends string = "", O extends unknown[] = []> = _$isTemplate<Delimiter> extends true ? string[] : string extends Delimiter ? string[] : S extends `${infer Head}${Delimiter}${infer Tail}` ? _$split<Tail, Delimiter, [...O, Head]> : S extends Delimiter ? O : [...O, S];
export declare abstract class Split<Delimiter extends string = ""> extends Kind {

@@ -48,3 +48,3 @@ abstract f: (x: Cast<this[Kind._], string>) => _$split<typeof x, Delimiter>;

}
declare type _$init2<S extends string> = S extends `${infer Head}${infer Tail}` ? Tail extends "" ? "" : `${Head}${_$init2<Tail>}` : "";
declare type _$init2<S extends string, O extends string = ""> = S extends `${infer Head}${infer Tail}` ? Tail extends "" ? O : _$init2<Tail, `${O}${Head}`> : O;
export declare type _$init<S extends string> = string extends S ? string : _$init2<S>;

@@ -51,0 +51,0 @@ export declare abstract class Init extends Kind {

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