Comparing version 109.0.0 to 110.0.0
@@ -1,2 +0,2 @@ | ||
import type { AsyncFunction, Func, IsAsync, ReturnTypeUnwrapped } from "./typing.js"; | ||
import type { AsyncFunction, Func, IsAsync, ParamOf, ReturnTypeUnwrapped } from "./typing.js"; | ||
export declare const sideLog: <T>(x: T) => T; | ||
@@ -7,3 +7,3 @@ export declare const logAround: <F extends Func>(f: F) => F; | ||
export declare const timeit: <F extends Func>(handler: (elapsedMilliseconds: number, args: Parameters<F>, result: ReturnTypeUnwrapped<F>) => void, f: F) => F; | ||
export declare const assert: <T>(condition: (_: T) => boolean | Promise<boolean>, errorMessage: string) => [(x: T) => [(x: T) => T, (_: T) => boolean | Promise<boolean>] extends infer T_1 ? T_1 extends [(x: T) => T, (_: T) => boolean | Promise<boolean>] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? Promise<{ [i in keyof T_1]: ReturnTypeUnwrapped<T_1[i]>; }> : { [i_1 in keyof T_1]: ReturnTypeUnwrapped<T_1[i_1]>; } : never : never, ([value, passed]: any) => any] extends infer T_1 ? T_1 extends [(x: T) => [(x: T) => T, (_: T) => boolean | Promise<boolean>] extends infer T_1 ? T_1 extends [(x: T) => T, (_: T) => boolean | Promise<boolean>] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? Promise<{ [i in keyof T_1]: ReturnTypeUnwrapped<T_1[i]>; }> : { [i_1 in keyof T_1]: ReturnTypeUnwrapped<T_1[i_1]>; } : never : never, ([value, passed]: any) => any] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? import("./typing.js").PromisifyFunction<import("./composeTyping.js").ComposeMany<T_1>> : import("./composeTyping.js").ComposeMany<T_1> : never : never; | ||
export declare const assert: <F extends Func>(condition: F, errorMessage: string) => true extends IsAsync<F> ? ((t: ParamOf<F>) => Promise<ParamOf<F>>) : ((t: ParamOf<F>) => ParamOf<F>); | ||
export declare const coerce: <T>(x: T | undefined | null) => T; | ||
@@ -10,0 +10,0 @@ type AugmentReturnType<F extends Func, T> = (...inputs: Parameters<F>) => ReturnType<F> | (true extends IsAsync<F> ? Promise<Awaited<T>> : T); |
@@ -66,3 +66,7 @@ import { pipe } from "./composition.js"; | ||
}); | ||
export const assert = (condition, errorMessage) => pipe(pairRight(condition), ([value, passed]) => { | ||
export const assert = (condition, errorMessage) => | ||
// @ts-expect-error not sure | ||
pipe( | ||
// @ts-expect-error not sure | ||
pairRight(condition), ([value, passed]) => { | ||
if (!passed) | ||
@@ -69,0 +73,0 @@ throw new Error(errorMessage); |
{ | ||
"name": "gamla", | ||
"version": "109.0.0", | ||
"version": "110.0.0", | ||
"description": "Functional programming with async and type safety", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -1,2 +0,2 @@ | ||
import type { AsyncFunction, Func, IsAsync, ReturnTypeUnwrapped } from "./typing.js"; | ||
import type { AsyncFunction, Func, IsAsync, ParamOf, ReturnTypeUnwrapped } from "./typing.js"; | ||
export declare const sideLog: <T>(x: T) => T; | ||
@@ -7,3 +7,3 @@ export declare const logAround: <F extends Func>(f: F) => F; | ||
export declare const timeit: <F extends Func>(handler: (elapsedMilliseconds: number, args: Parameters<F>, result: ReturnTypeUnwrapped<F>) => void, f: F) => F; | ||
export declare const assert: <T>(condition: (_: T) => boolean | Promise<boolean>, errorMessage: string) => [(x: T) => [(x: T) => T, (_: T) => boolean | Promise<boolean>] extends infer T_1 ? T_1 extends [(x: T) => T, (_: T) => boolean | Promise<boolean>] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? Promise<{ [i in keyof T_1]: ReturnTypeUnwrapped<T_1[i]>; }> : { [i_1 in keyof T_1]: ReturnTypeUnwrapped<T_1[i_1]>; } : never : never, ([value, passed]: any) => any] extends infer T_1 ? T_1 extends [(x: T) => [(x: T) => T, (_: T) => boolean | Promise<boolean>] extends infer T_1 ? T_1 extends [(x: T) => T, (_: T) => boolean | Promise<boolean>] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? Promise<{ [i in keyof T_1]: ReturnTypeUnwrapped<T_1[i]>; }> : { [i_1 in keyof T_1]: ReturnTypeUnwrapped<T_1[i_1]>; } : never : never, ([value, passed]: any) => any] ? T_1 extends import("./typing.js").AnyAsync<T_1> ? import("./typing.js").PromisifyFunction<import("./composeTyping.js").ComposeMany<T_1>> : import("./composeTyping.js").ComposeMany<T_1> : never : never; | ||
export declare const assert: <F extends Func>(condition: F, errorMessage: string) => true extends IsAsync<F> ? ((t: ParamOf<F>) => Promise<ParamOf<F>>) : ((t: ParamOf<F>) => ParamOf<F>); | ||
export declare const coerce: <T>(x: T | undefined | null) => T; | ||
@@ -10,0 +10,0 @@ type AugmentReturnType<F extends Func, T> = (...inputs: Parameters<F>) => ReturnType<F> | (true extends IsAsync<F> ? Promise<Awaited<T>> : T); |
@@ -74,3 +74,7 @@ "use strict"; | ||
exports.timeit = timeit; | ||
const assert = (condition, errorMessage) => (0, composition_js_1.pipe)((0, juxt_js_1.pairRight)(condition), ([value, passed]) => { | ||
const assert = (condition, errorMessage) => | ||
// @ts-expect-error not sure | ||
(0, composition_js_1.pipe)( | ||
// @ts-expect-error not sure | ||
(0, juxt_js_1.pairRight)(condition), ([value, passed]) => { | ||
if (!passed) | ||
@@ -77,0 +81,0 @@ throw new Error(errorMessage); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
2603
347175