hkt-toolbelt
Advanced tools
Comparing version
import { NaturalNumber, Number, DigitList, Digit, Kind, Type } from ".."; | ||
type _$slice2<T extends unknown[], N extends DigitList.DigitList> = T extends [ | ||
unknown, | ||
...infer Tail | ||
] ? N extends [Digit.Zero] ? T : _$slice2<Tail, DigitList._$decrement<N>> : []; | ||
type _$slice2<T extends unknown[], N extends DigitList.DigitList> = 0 extends 1 ? never : T extends [unknown, ...infer Tail] ? N extends [Digit.Zero] ? T : _$slice2<Tail, DigitList._$decrement<N>> : []; | ||
export type _$slice<T extends unknown[], N extends Number.Number> = Number._$isNatural<N> extends true ? _$slice2<T, NaturalNumber._$toList<N>> : never; | ||
@@ -7,0 +4,0 @@ declare abstract class Slice_T<N extends Number.Number> extends Kind.Kind { |
import { $, Boolean, Type, Kind } from ".."; | ||
export type _$some<F extends Kind.Kind<(x: never) => boolean>, T extends unknown[], O extends boolean = false> = T extends [infer Head, ...infer Rest] ? _$some<F, Rest, Boolean._$or<O, $<F, Type._$cast<Head, Kind._$inputOf<F>>>>> : O; | ||
export type _$some<F extends Kind.Kind<(x: never) => boolean>, T extends unknown[], O extends boolean = false> = 0 extends 1 ? never : T extends [infer Head, ...infer Rest] ? _$some<F, Rest, Boolean._$or<O, $<F, Type._$cast<Head, Kind._$inputOf<F>>>>> : O; | ||
export declare abstract class Some<F extends Kind.Kind<(x: never) => boolean>> extends Kind.Kind { | ||
abstract f: (x: Type._$cast<this[Kind._], Kind._$inputOf<F>[]>) => _$some<F, typeof x>; | ||
} |
@@ -5,6 +5,8 @@ export * from "./at-path"; | ||
export * from "./deep-map-values"; | ||
export * from "./emplace"; | ||
export * from "./keys"; | ||
export * from "./map-keys"; | ||
export * from "./map-values"; | ||
export * from "./merge"; | ||
export * from "./paths"; | ||
export * from "./values"; |
{ | ||
"name": "hkt-toolbelt", | ||
"version": "0.17.0", | ||
"version": "0.17.1", | ||
"description": "Functional and composable type utilities", | ||
@@ -5,0 +5,0 @@ "types": "./dist/index.d.ts", |
export * from "./choice"; | ||
export * from "./letter"; | ||
export * from "./letters"; | ||
export * from "./map"; | ||
export * from "./object-sequence"; | ||
export * from "./parser"; | ||
export * from "./run"; | ||
export * from "./sequence"; | ||
export * from "./state"; | ||
export * from "./string"; |
import { Type, Kind } from ".."; | ||
export type _$fromList<T extends string[]> = T extends [ | ||
infer Head extends string, | ||
...infer Tail extends string[] | ||
] ? `${Head}${_$fromList<Tail>}` : ""; | ||
export type _$fromList<T, O extends string = ""> = 0 extends 1 ? never : T extends [infer Head, ...infer Tail] ? _$fromList<Tail, `${O}${Type._$cast<Head, string>}`> : O; | ||
export declare abstract class FromList extends Kind.Kind { | ||
abstract f: (x: Type._$cast<this[Kind._], string[]>) => _$fromList<typeof x>; | ||
} |
import { Type, Kind } from ".."; | ||
export type _$toList<S extends string, O extends string[] = []> = string extends S ? [string] : S extends `${infer Head}${infer Tail}` ? _$toList<Tail, [...O, Head]> : O; | ||
export type _$toList<S extends string, O extends string[] = []> = 0 extends 1 ? never : string extends S ? [string] : S extends `${infer Head}${infer Tail}` ? _$toList<Tail, [...O, Head]> : O; | ||
export declare abstract class ToList extends Kind.Kind { | ||
abstract f: (x: Type._$cast<this[Kind._], string>) => _$toList<typeof x>; | ||
} |
89810
7.25%183
3.98%2235
4.34%