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

signal-chain

Package Overview
Dependencies
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

signal-chain - npm Package Compare versions

Comparing version 0.8.3 to 0.9.0

19

dist/signal-ts.d.ts

@@ -121,3 +121,3 @@ export * from './signal/types';

};
assert: {
type: {
isNothing: import("./signal/assert").AssertCall<unknown, null | undefined>;

@@ -131,3 +131,3 @@ isNumber: import("./signal/assert").AssertCall<unknown, number>;

isError: import("./signal/assert").AssertCall<unknown, Error>;
create: <Range, Condition extends Range>(condition: (value: Range) => value is Condition, message?: string | undefined) => import("./signal/assert").AssertCall<Range, Condition>;
is: <Range, Condition extends Range>(condition: (value: Range) => value is Condition, message?: string | undefined) => import("./signal/assert").AssertCall<Range, Condition>;
not: {

@@ -142,3 +142,3 @@ isNothing: import("./signal/assert").AssertNotCall<unknown, null | undefined>;

isError: import("./signal/assert").AssertNotCall<unknown, Error>;
create: <Range_1, Condition_1 extends Range_1>(condition: (value: Range_1) => value is Condition_1, message?: string | undefined) => import("./signal/assert").AssertNotCall<Range_1, Condition_1>;
is: <Range_1, Condition_1 extends Range_1>(condition: (value: Range_1) => value is Condition_1, message?: string | undefined) => import("./signal/assert").AssertNotCall<Range_1, Condition_1>;
};

@@ -156,3 +156,7 @@ };

};
connect: <V1_3, V2_2 = V1_3, V3_2 = V2_2, V4_2 = V3_2, V5_2 = V4_2, V6_2 = V5_2, V7_2 = V6_2, V8_2 = V7_2, V9_2 = V8_2, V10_2 = V9_2, V11_2 = V10_2, V12_2 = V11_2, V13_2 = V12_2, V14_2 = V13_2, V15_2 = V14_2, V16_2 = V15_2, V17_2 = V16_2, V18_2 = V17_2, V19_2 = V18_2, V20_2 = V19_2>(element1: import("./signal/types").Chain<V1_3, V2_2>, element2?: import("./signal/types").Chain<V2_2, V3_2> | undefined, element3?: import("./signal/types").Chain<V3_2, V4_2> | undefined, element4?: import("./signal/types").Chain<V4_2, V5_2> | undefined, element5?: import("./signal/types").Chain<V5_2, V6_2> | undefined, element6?: import("./signal/types").Chain<V6_2, V7_2> | undefined, element7?: import("./signal/types").Chain<V7_2, V8_2> | undefined, element8?: import("./signal/types").Chain<V8_2, V9_2> | undefined, element9?: import("./signal/types").Chain<V9_2, V10_2> | undefined, element10?: import("./signal/types").Chain<V10_2, V11_2> | undefined, element11?: import("./signal/types").Chain<V11_2, V12_2> | undefined, element12?: import("./signal/types").Chain<V12_2, V13_2> | undefined, element13?: import("./signal/types").Chain<V13_2, V14_2> | undefined, element14?: import("./signal/types").Chain<V14_2, V15_2> | undefined, element15?: import("./signal/types").Chain<V15_2, V16_2> | undefined, element16?: import("./signal/types").Chain<V16_2, V17_2> | undefined, element17?: import("./signal/types").Chain<V17_2, V18_2> | undefined, element18?: import("./signal/types").Chain<V18_2, V19_2> | undefined, element19?: import("./signal/types").Chain<V19_2, V20_2> | undefined) => import("./signal/types").FunctionVoid;
function: {
sync: <V1_3, V2_2 = V1_3, V3_2 = V2_2, V4_2 = V3_2, V5_2 = V4_2, V6_2 = V5_2, V7_2 = V6_2, V8_2 = V7_2, V9_2 = V8_2, V10_2 = V9_2, V11_2 = V10_2, V12_2 = V11_2, V13_2 = V12_2, V14_2 = V13_2, V15_2 = V14_2, V16_2 = V15_2, V17_2 = V16_2, V18_2 = V17_2, V19_2 = V18_2, V20_2 = V19_2>(element1: import("./signal/types").Chain<V1_3, V2_2>, element2?: import("./signal/types").Chain<V2_2, V3_2> | undefined, element3?: import("./signal/types").Chain<V3_2, V4_2> | undefined, element4?: import("./signal/types").Chain<V4_2, V5_2> | undefined, element5?: import("./signal/types").Chain<V5_2, V6_2> | undefined, element6?: import("./signal/types").Chain<V6_2, V7_2> | undefined, element7?: import("./signal/types").Chain<V7_2, V8_2> | undefined, element8?: import("./signal/types").Chain<V8_2, V9_2> | undefined, element9?: import("./signal/types").Chain<V9_2, V10_2> | undefined, element10?: import("./signal/types").Chain<V10_2, V11_2> | undefined, element11?: import("./signal/types").Chain<V11_2, V12_2> | undefined, element12?: import("./signal/types").Chain<V12_2, V13_2> | undefined, element13?: import("./signal/types").Chain<V13_2, V14_2> | undefined, element14?: import("./signal/types").Chain<V14_2, V15_2> | undefined, element15?: import("./signal/types").Chain<V15_2, V16_2> | undefined, element16?: import("./signal/types").Chain<V16_2, V17_2> | undefined, element17?: import("./signal/types").Chain<V17_2, V18_2> | undefined, element18?: import("./signal/types").Chain<V18_2, V19_2> | undefined, element19?: import("./signal/types").Chain<V19_2, V20_2> | undefined) => import("./signal/types").Function1<V1_3, Error | V20_2>;
async: <V1_4, V2_3 = V1_4, V3_3 = V2_3, V4_3 = V3_3, V5_3 = V4_3, V6_3 = V5_3, V7_3 = V6_3, V8_3 = V7_3, V9_3 = V8_3, V10_3 = V9_3, V11_3 = V10_3, V12_3 = V11_3, V13_3 = V12_3, V14_3 = V13_3, V15_3 = V14_3, V16_3 = V15_3, V17_3 = V16_3, V18_3 = V17_3, V19_3 = V18_3, V20_3 = V19_3>(element1: import("./signal/types").Chain<V1_4, V2_3>, element2?: import("./signal/types").Chain<V2_3, V3_3> | undefined, element3?: import("./signal/types").Chain<V3_3, V4_3> | undefined, element4?: import("./signal/types").Chain<V4_3, V5_3> | undefined, element5?: import("./signal/types").Chain<V5_3, V6_3> | undefined, element6?: import("./signal/types").Chain<V6_3, V7_3> | undefined, element7?: import("./signal/types").Chain<V7_3, V8_3> | undefined, element8?: import("./signal/types").Chain<V8_3, V9_3> | undefined, element9?: import("./signal/types").Chain<V9_3, V10_3> | undefined, element10?: import("./signal/types").Chain<V10_3, V11_3> | undefined, element11?: import("./signal/types").Chain<V11_3, V12_3> | undefined, element12?: import("./signal/types").Chain<V12_3, V13_3> | undefined, element13?: import("./signal/types").Chain<V13_3, V14_3> | undefined, element14?: import("./signal/types").Chain<V14_3, V15_3> | undefined, element15?: import("./signal/types").Chain<V15_3, V16_3> | undefined, element16?: import("./signal/types").Chain<V16_3, V17_3> | undefined, element17?: import("./signal/types").Chain<V17_3, V18_3> | undefined, element18?: import("./signal/types").Chain<V18_3, V19_3> | undefined, element19?: import("./signal/types").Chain<V19_3, V20_3> | undefined) => import("./signal/types").Function1<V1_4, Promise<V20_3>>;
};
connect: <V1_5, V2_4 = V1_5, V3_4 = V2_4, V4_4 = V3_4, V5_4 = V4_4, V6_4 = V5_4, V7_4 = V6_4, V8_4 = V7_4, V9_4 = V8_4, V10_4 = V9_4, V11_4 = V10_4, V12_4 = V11_4, V13_4 = V12_4, V14_4 = V13_4, V15_4 = V14_4, V16_4 = V15_4, V17_4 = V16_4, V18_4 = V17_4, V19_4 = V18_4, V20_4 = V19_4>(element1: import("./signal/types").Chain<V1_5, V2_4>, element2?: import("./signal/types").Chain<V2_4, V3_4> | undefined, element3?: import("./signal/types").Chain<V3_4, V4_4> | undefined, element4?: import("./signal/types").Chain<V4_4, V5_4> | undefined, element5?: import("./signal/types").Chain<V5_4, V6_4> | undefined, element6?: import("./signal/types").Chain<V6_4, V7_4> | undefined, element7?: import("./signal/types").Chain<V7_4, V8_4> | undefined, element8?: import("./signal/types").Chain<V8_4, V9_4> | undefined, element9?: import("./signal/types").Chain<V9_4, V10_4> | undefined, element10?: import("./signal/types").Chain<V10_4, V11_4> | undefined, element11?: import("./signal/types").Chain<V11_4, V12_4> | undefined, element12?: import("./signal/types").Chain<V12_4, V13_4> | undefined, element13?: import("./signal/types").Chain<V13_4, V14_4> | undefined, element14?: import("./signal/types").Chain<V14_4, V15_4> | undefined, element15?: import("./signal/types").Chain<V15_4, V16_4> | undefined, element16?: import("./signal/types").Chain<V16_4, V17_4> | undefined, element17?: import("./signal/types").Chain<V17_4, V18_4> | undefined, element18?: import("./signal/types").Chain<V18_4, V19_4> | undefined, element19?: import("./signal/types").Chain<V19_4, V20_4> | undefined) => import("./signal/types").FunctionVoid;
emit: typeof emit;

@@ -166,3 +170,3 @@ select: typeof select;

passIf: typeof passIf;
catch: <V1_4, V2_3 = V1_4, V3_3 = V2_3, V4_3 = V3_3, V5_3 = V4_3, V6_3 = V5_3, V7_3 = V6_3, V8_3 = V7_3, V9_3 = V8_3, V10_3 = V9_3, V11_3 = V10_3, V12_3 = V11_3, V13_3 = V12_3, V14_3 = V13_3, V15_3 = V14_3, V16_3 = V15_3, V17_3 = V16_3, V18_3 = V17_3, V19_3 = V18_3, V20_3 = V19_3>(element1: import("./signal/types").Chain<V1_4, V2_3>, element2?: import("./signal/types").Chain<V2_3, V3_3> | undefined, element3?: import("./signal/types").Chain<V3_3, V4_3> | undefined, element4?: import("./signal/types").Chain<V4_3, V5_3> | undefined, element5?: import("./signal/types").Chain<V5_3, V6_3> | undefined, element6?: import("./signal/types").Chain<V6_3, V7_3> | undefined, element7?: import("./signal/types").Chain<V7_3, V8_3> | undefined, element8?: import("./signal/types").Chain<V8_3, V9_3> | undefined, element9?: import("./signal/types").Chain<V9_3, V10_3> | undefined, element10?: import("./signal/types").Chain<V10_3, V11_3> | undefined, element11?: import("./signal/types").Chain<V11_3, V12_3> | undefined, element12?: import("./signal/types").Chain<V12_3, V13_3> | undefined, element13?: import("./signal/types").Chain<V13_3, V14_3> | undefined, element14?: import("./signal/types").Chain<V14_3, V15_3> | undefined, element15?: import("./signal/types").Chain<V15_3, V16_3> | undefined, element16?: import("./signal/types").Chain<V16_3, V17_3> | undefined, element17?: import("./signal/types").Chain<V17_3, V18_3> | undefined, element18?: import("./signal/types").Chain<V18_3, V19_3> | undefined, element19?: import("./signal/types").Chain<V19_3, V20_3> | undefined) => import("./signal/types").Chain<V1_4, Error | V20_3>;
catch: <V1_6, V2_5 = V1_6, V3_5 = V2_5, V4_5 = V3_5, V5_5 = V4_5, V6_5 = V5_5, V7_5 = V6_5, V8_5 = V7_5, V9_5 = V8_5, V10_5 = V9_5, V11_5 = V10_5, V12_5 = V11_5, V13_5 = V12_5, V14_5 = V13_5, V15_5 = V14_5, V16_5 = V15_5, V17_5 = V16_5, V18_5 = V17_5, V19_5 = V18_5, V20_5 = V19_5>(element1: import("./signal/types").Chain<V1_6, V2_5>, element2?: import("./signal/types").Chain<V2_5, V3_5> | undefined, element3?: import("./signal/types").Chain<V3_5, V4_5> | undefined, element4?: import("./signal/types").Chain<V4_5, V5_5> | undefined, element5?: import("./signal/types").Chain<V5_5, V6_5> | undefined, element6?: import("./signal/types").Chain<V6_5, V7_5> | undefined, element7?: import("./signal/types").Chain<V7_5, V8_5> | undefined, element8?: import("./signal/types").Chain<V8_5, V9_5> | undefined, element9?: import("./signal/types").Chain<V9_5, V10_5> | undefined, element10?: import("./signal/types").Chain<V10_5, V11_5> | undefined, element11?: import("./signal/types").Chain<V11_5, V12_5> | undefined, element12?: import("./signal/types").Chain<V12_5, V13_5> | undefined, element13?: import("./signal/types").Chain<V13_5, V14_5> | undefined, element14?: import("./signal/types").Chain<V14_5, V15_5> | undefined, element15?: import("./signal/types").Chain<V15_5, V16_5> | undefined, element16?: import("./signal/types").Chain<V16_5, V17_5> | undefined, element17?: import("./signal/types").Chain<V17_5, V18_5> | undefined, element18?: import("./signal/types").Chain<V18_5, V19_5> | undefined, element19?: import("./signal/types").Chain<V19_5, V20_5> | undefined) => import("./signal/types").Chain<V1_6, Error | V20_5>;
/**

@@ -178,3 +182,3 @@ * Chain multiple elements together. Each element can be a {@link Chain} or a {@link ConnectedChain}

*/
chain: <V1_5, V2_4 = V1_5, V3_4 = V2_4, V4_4 = V3_4, V5_4 = V4_4, V6_4 = V5_4, V7_4 = V6_4, V8_4 = V7_4, V9_4 = V8_4, V10_4 = V9_4, V11_4 = V10_4, V12_4 = V11_4, V13_4 = V12_4, V14_4 = V13_4, V15_4 = V14_4, V16_4 = V15_4, V17_4 = V16_4, V18_4 = V17_4, V19_4 = V18_4, V20_4 = V19_4>(element1: import("./signal/types").Chain<V1_5, V2_4>, element2?: import("./signal/types").Chain<V2_4, V3_4> | undefined, element3?: import("./signal/types").Chain<V3_4, V4_4> | undefined, element4?: import("./signal/types").Chain<V4_4, V5_4> | undefined, element5?: import("./signal/types").Chain<V5_4, V6_4> | undefined, element6?: import("./signal/types").Chain<V6_4, V7_4> | undefined, element7?: import("./signal/types").Chain<V7_4, V8_4> | undefined, element8?: import("./signal/types").Chain<V8_4, V9_4> | undefined, element9?: import("./signal/types").Chain<V9_4, V10_4> | undefined, element10?: import("./signal/types").Chain<V10_4, V11_4> | undefined, element11?: import("./signal/types").Chain<V11_4, V12_4> | undefined, element12?: import("./signal/types").Chain<V12_4, V13_4> | undefined, element13?: import("./signal/types").Chain<V13_4, V14_4> | undefined, element14?: import("./signal/types").Chain<V14_4, V15_4> | undefined, element15?: import("./signal/types").Chain<V15_4, V16_4> | undefined, element16?: import("./signal/types").Chain<V16_4, V17_4> | undefined, element17?: import("./signal/types").Chain<V17_4, V18_4> | undefined, element18?: import("./signal/types").Chain<V18_4, V19_4> | undefined, element19?: import("./signal/types").Chain<V19_4, V20_4> | undefined) => import("./signal/types").Chain<V1_5, V20_4>;
chain: <V1_7, V2_6 = V1_7, V3_6 = V2_6, V4_6 = V3_6, V5_6 = V4_6, V6_6 = V5_6, V7_6 = V6_6, V8_6 = V7_6, V9_6 = V8_6, V10_6 = V9_6, V11_6 = V10_6, V12_6 = V11_6, V13_6 = V12_6, V14_6 = V13_6, V15_6 = V14_6, V16_6 = V15_6, V17_6 = V16_6, V18_6 = V17_6, V19_6 = V18_6, V20_6 = V19_6>(element1: import("./signal/types").Chain<V1_7, V2_6>, element2?: import("./signal/types").Chain<V2_6, V3_6> | undefined, element3?: import("./signal/types").Chain<V3_6, V4_6> | undefined, element4?: import("./signal/types").Chain<V4_6, V5_6> | undefined, element5?: import("./signal/types").Chain<V5_6, V6_6> | undefined, element6?: import("./signal/types").Chain<V6_6, V7_6> | undefined, element7?: import("./signal/types").Chain<V7_6, V8_6> | undefined, element8?: import("./signal/types").Chain<V8_6, V9_6> | undefined, element9?: import("./signal/types").Chain<V9_6, V10_6> | undefined, element10?: import("./signal/types").Chain<V10_6, V11_6> | undefined, element11?: import("./signal/types").Chain<V11_6, V12_6> | undefined, element12?: import("./signal/types").Chain<V12_6, V13_6> | undefined, element13?: import("./signal/types").Chain<V13_6, V14_6> | undefined, element14?: import("./signal/types").Chain<V14_6, V15_6> | undefined, element15?: import("./signal/types").Chain<V15_6, V16_6> | undefined, element16?: import("./signal/types").Chain<V16_6, V17_6> | undefined, element17?: import("./signal/types").Chain<V17_6, V18_6> | undefined, element18?: import("./signal/types").Chain<V18_6, V19_6> | undefined, element19?: import("./signal/types").Chain<V19_6, V20_6> | undefined) => import("./signal/types").Chain<V1_7, V20_6>;
combine: typeof combine;

@@ -184,3 +188,3 @@ each: import("./signal/each").EachCall;

if: import("./signal/if").IfFn;
ifNot: <V1_6>(condition: import("./signal/types").Function1<V1_6, boolean>) => <V1_7 extends V1_6, V2_5, V3_5 = V2_5, V4_5 = V3_5, V5_5 = V4_5, V6_5 = V5_5, V7_5 = V6_5, V8_5 = V7_5, V9_5 = V8_5, V10_5 = V9_5, V11_5 = V10_5, V12_5 = V11_5, V13_5 = V12_5, V14_5 = V13_5, V15_5 = V14_5, V16_5 = V15_5, V17_5 = V16_5, V18_5 = V17_5, V19_5 = V18_5, V20_5 = V19_5>(element1?: import("./signal/types").Chain<V1_7, V2_5> | undefined, element2?: import("./signal/types").Chain<V2_5, V3_5> | undefined, element3?: import("./signal/types").Chain<V3_5, V4_5> | undefined, element4?: import("./signal/types").Chain<V4_5, V5_5> | undefined, element5?: import("./signal/types").Chain<V5_5, V6_5> | undefined, element6?: import("./signal/types").Chain<V6_5, V7_5> | undefined, element7?: import("./signal/types").Chain<V7_5, V8_5> | undefined, element8?: import("./signal/types").Chain<V8_5, V9_5> | undefined, element9?: import("./signal/types").Chain<V9_5, V10_5> | undefined, element10?: import("./signal/types").Chain<V10_5, V11_5> | undefined, element11?: import("./signal/types").Chain<V11_5, V12_5> | undefined, element12?: import("./signal/types").Chain<V12_5, V13_5> | undefined, element13?: import("./signal/types").Chain<V13_5, V14_5> | undefined, element14?: import("./signal/types").Chain<V14_5, V15_5> | undefined, element15?: import("./signal/types").Chain<V15_5, V16_5> | undefined, element16?: import("./signal/types").Chain<V16_5, V17_5> | undefined, element17?: import("./signal/types").Chain<V17_5, V18_5> | undefined, element18?: import("./signal/types").Chain<V18_5, V19_5> | undefined, element19?: import("./signal/types").Chain<V19_5, V20_5> | undefined) => import("./signal/types").Chain<V1_7, V1_7 | V20_5>;
ifNot: <V1_8>(condition: import("./signal/types").Function1<V1_8, boolean>) => <V1_9 extends V1_8, V2_7, V3_7 = V2_7, V4_7 = V3_7, V5_7 = V4_7, V6_7 = V5_7, V7_7 = V6_7, V8_7 = V7_7, V9_7 = V8_7, V10_7 = V9_7, V11_7 = V10_7, V12_7 = V11_7, V13_7 = V12_7, V14_7 = V13_7, V15_7 = V14_7, V16_7 = V15_7, V17_7 = V16_7, V18_7 = V17_7, V19_7 = V18_7, V20_7 = V19_7>(element1?: import("./signal/types").Chain<V1_9, V2_7> | undefined, element2?: import("./signal/types").Chain<V2_7, V3_7> | undefined, element3?: import("./signal/types").Chain<V3_7, V4_7> | undefined, element4?: import("./signal/types").Chain<V4_7, V5_7> | undefined, element5?: import("./signal/types").Chain<V5_7, V6_7> | undefined, element6?: import("./signal/types").Chain<V6_7, V7_7> | undefined, element7?: import("./signal/types").Chain<V7_7, V8_7> | undefined, element8?: import("./signal/types").Chain<V8_7, V9_7> | undefined, element9?: import("./signal/types").Chain<V9_7, V10_7> | undefined, element10?: import("./signal/types").Chain<V10_7, V11_7> | undefined, element11?: import("./signal/types").Chain<V11_7, V12_7> | undefined, element12?: import("./signal/types").Chain<V12_7, V13_7> | undefined, element13?: import("./signal/types").Chain<V13_7, V14_7> | undefined, element14?: import("./signal/types").Chain<V14_7, V15_7> | undefined, element15?: import("./signal/types").Chain<V15_7, V16_7> | undefined, element16?: import("./signal/types").Chain<V16_7, V17_7> | undefined, element17?: import("./signal/types").Chain<V17_7, V18_7> | undefined, element18?: import("./signal/types").Chain<V18_7, V19_7> | undefined, element19?: import("./signal/types").Chain<V19_7, V20_7> | undefined) => import("./signal/types").Chain<V1_9, V1_9 | V20_7>;
log: <V_1>(message?: string | undefined) => import("./signal/types").Chain<V_1>;

@@ -191,4 +195,5 @@ buffer: <V_2>(size: number) => import("./signal/types").Chain<V_2, V_2[]>;

passUnique: typeof passUnique;
debounce: <V_4>(ms: number) => import("./signal/types").Chain<V_4, Exclude<V_4, Error> | Exclude<V_4, Exclude<V_4, Error>>>;
};
export default _default;
//# sourceMappingURL=signal-ts.d.ts.map

@@ -9,3 +9,2 @@ export * from './signal/types';

import { awaitParallel, awaitLatest, awaitOrder, awaitQueue, awaitBlock } from './signal/async';
// import { createSolid, fromSolid, listenSolid } from './signal/solid'
import { collect, buffer, window } from './signal/collect';

@@ -16,3 +15,3 @@ import { each } from './signal/each';

import { connect } from './signal/connect';
import { evaluateAsync, evaluateSync } from './signal/evaluate';
import { evaluateAsync, evaluateSync, toFunctionSync, toFunctionAsync } from './signal/evaluate';
import { listenToEvent } from './signal/event';

@@ -23,3 +22,3 @@ import { merge } from './signal/merge';

export { execute } from './signal/util';
const assert = {
const type = {
isNothing,

@@ -33,3 +32,3 @@ isNumber,

isError,
create: createAssert,
is: createAssert,
not: {

@@ -44,3 +43,3 @@ isNothing: isNotNothing,

isError: isNotError,
create: createAssertNot,
is: createAssertNot,
}

@@ -73,7 +72,7 @@ };

};
// const solid = {
// create: createSolid,
// listen: listenSolid,
// primitive: fromSolid,
// }
const func = {
sync: toFunctionSync,
async: toFunctionAsync
};
const debounce = (ms) => chain(select(), type.not.isError(awaitFns.latest(select(v => new Promise(resolve => setTimeout(() => resolve(v), ms)))), type.not.isError()));
export default {

@@ -85,5 +84,6 @@ config: setConfig,

await: awaitFns,
assert,
type,
maybe,
evaluate,
function: func,
// adapters

@@ -128,6 +128,6 @@ // solid,

passUnique,
debounce,
// missing:
// debounce
// throttle
// interval
};

@@ -1,2 +0,2 @@

import type { Chain } from "./types";
import type { Chain, Function1 } from "./types";
type EvaluateSyncCall = <V1, V2 = V1, V3 = V2, V4 = V3, V5 = V4, V6 = V5, V7 = V6, V8 = V7, V9 = V8, V10 = V9, V11 = V10, V12 = V11, V13 = V12, V14 = V13, V15 = V14, V16 = V15, V17 = V16, V18 = V17, V19 = V18, V20 = V19>(element1: Chain<V1, V2>, element2?: Chain<V2, V3>, element3?: Chain<V3, V4>, element4?: Chain<V4, V5>, element5?: Chain<V5, V6>, element6?: Chain<V6, V7>, element7?: Chain<V7, V8>, element8?: Chain<V8, V9>, element9?: Chain<V9, V10>, element10?: Chain<V10, V11>, element11?: Chain<V11, V12>, element12?: Chain<V12, V13>, element13?: Chain<V13, V14>, element14?: Chain<V14, V15>, element15?: Chain<V15, V16>, element16?: Chain<V16, V17>, element17?: Chain<V17, V18>, element18?: Chain<V18, V19>, element19?: Chain<V19, V20>) => Chain<V1, V20 | Error>;

@@ -6,3 +6,7 @@ export declare const evaluateSync: EvaluateSyncCall;

export declare const evaluateAsync: EvaluateAsyncCall;
type ToFunctionSyncCall = <V1, V2 = V1, V3 = V2, V4 = V3, V5 = V4, V6 = V5, V7 = V6, V8 = V7, V9 = V8, V10 = V9, V11 = V10, V12 = V11, V13 = V12, V14 = V13, V15 = V14, V16 = V15, V17 = V16, V18 = V17, V19 = V18, V20 = V19>(element1: Chain<V1, V2>, element2?: Chain<V2, V3>, element3?: Chain<V3, V4>, element4?: Chain<V4, V5>, element5?: Chain<V5, V6>, element6?: Chain<V6, V7>, element7?: Chain<V7, V8>, element8?: Chain<V8, V9>, element9?: Chain<V9, V10>, element10?: Chain<V10, V11>, element11?: Chain<V11, V12>, element12?: Chain<V12, V13>, element13?: Chain<V13, V14>, element14?: Chain<V14, V15>, element15?: Chain<V15, V16>, element16?: Chain<V16, V17>, element17?: Chain<V17, V18>, element18?: Chain<V18, V19>, element19?: Chain<V19, V20>) => Function1<V1, V20 | Error>;
export declare const toFunctionSync: ToFunctionSyncCall;
type ToFunctionAsyncCall = <V1, V2 = V1, V3 = V2, V4 = V3, V5 = V4, V6 = V5, V7 = V6, V8 = V7, V9 = V8, V10 = V9, V11 = V10, V12 = V11, V13 = V12, V14 = V13, V15 = V14, V16 = V15, V17 = V16, V18 = V17, V19 = V18, V20 = V19>(element1: Chain<V1, V2>, element2?: Chain<V2, V3>, element3?: Chain<V3, V4>, element4?: Chain<V4, V5>, element5?: Chain<V5, V6>, element6?: Chain<V6, V7>, element7?: Chain<V7, V8>, element8?: Chain<V8, V9>, element9?: Chain<V9, V10>, element10?: Chain<V10, V11>, element11?: Chain<V11, V12>, element12?: Chain<V12, V13>, element13?: Chain<V13, V14>, element14?: Chain<V14, V15>, element15?: Chain<V15, V16>, element16?: Chain<V16, V17>, element17?: Chain<V17, V18>, element18?: Chain<V18, V19>, element19?: Chain<V19, V20>) => Function1<V1, Promise<V20>>;
export declare const toFunctionAsync: ToFunctionAsyncCall;
export {};
//# sourceMappingURL=evaluate.d.ts.map
import { chain } from "./chain";
import { execute } from "./util";
import { emit } from './tools';
// @ts-expect-error

@@ -27,1 +28,9 @@ export const evaluateSync = (listen1, ...additionalListeners) => {

};
// @ts-expect-error
export const toFunctionSync = (listen1, ...additionalListeners) => {
return (value) => evaluateSync(emit(value), listen1, ...additionalListeners);
};
// @ts-expect-error
export const toFunctionAsync = (listen1, ...additionalListeners) => {
return (value) => evaluateAsync(emit(value), listen1, ...additionalListeners);
};
{
"name": "signal-chain",
"version": "0.8.3",
"version": "0.9.0",
"author": "Christoph Franke",

@@ -5,0 +5,0 @@ "description": "Declarative Reactive Programming Library",

@@ -135,3 +135,3 @@ ![size](https://deno.bundlejs.com/badge?q=signal-chain&treeshake=[{+default+as+$+}])

),
$.assert.isNumber(
$.type.isNumber(
$.effect(x => console.log("I don't like", x, 'apples')),

@@ -149,5 +149,5 @@ $.stop()

The `$.assert.isNumber` is similar to the `$.if` operator, in that it allows you to define a *inner chain*, that only gets executed when the incoming value is a `number`. Every *Chain* is strongly typed, and after the `$.select` operations inside the `$.if` statement, Typescript will infer `number | string`, after the `$.if` operations.
The `$.type.isNumber` is similar to the `$.if` operator, in that it allows you to define a *inner chain*, that only gets executed when the incoming value is a `number`. Every *Chain* is strongly typed, and after the `$.select` operations inside the `$.if` statement, Typescript will infer `number | string`, after the `$.if` operations.
The `$.effect` writes to the console, without changing the passing value. The `$.stop` operator stops the chain, therefore the output of the *inner chain* is being inferred as `never`. The `$.assert` operator then concludes, that the remaining type can only be a `string`.
The `$.effect` writes to the console, without changing the passing value. The `$.stop` operator stops the chain, therefore the output of the *inner chain* is being inferred as `never`. The `$.type` operator then concludes, that the remaining type can only be a `string`.

@@ -201,3 +201,3 @@ This results in `format` being of type `Chain<number, string>`, a chain that requires a `number` input producing a `string` output.

),
$.assert.not.isError(), // type narrowing
$.type.not.isError(), // type narrowing

@@ -211,3 +211,3 @@ // fetch if input is long enough, otherwise fall back to empty array

),
$.assert.isError(
$.type.isError(
$.effect(err => console.error('Error fetching suggestions:', err)),

@@ -227,3 +227,3 @@ $.select(() => []) // fallback to empty array

The `$.await.latest` operator will resolve the promise or pass on an `Error` if rejected. Its output type is `TypeOfPromiseResolve | Error`. In this case we know, that `wait` cannot reject, so we can safely assert that there is no error. The assertion operator then removes the `Error` type from the chain.
The `$.await.latest` operator will resolve the promise or pass on an `Error` if rejected. Its output type is `TypeOfPromiseResolve | Error`. In this case we know, that `wait` cannot reject, so we can safely assert that there is no error. The type operator then removes the `Error` type from the chain.

@@ -377,2 +377,3 @@ *Why* is it designed like this? It follows the principle of **errors as values**. This reminds the developer that at this place something can go wrong and we need to handle it somehow. If we were not to handle the error at all, the suggestion pimitive would have an inferred type of `string[] | Error`.

- `$.merge`: Merges multiple chains into a single one.
- `$.debounce`: Debounces the incoming values.
- `$.stop`: Stops the chain.

@@ -383,4 +384,4 @@ - `$.passIf`: Passes on the value if the condition is met.

- `$.passUnique`: Passes only unique values.
- `$.assert.create`: Creates a custom assertion from a type predicate function.
- `$.assert.not.create`: Creates a custom negated assertion from a type predicate function.
- `$.type.is`: Creates a custom type assertion from a type predicate function.
- `$.type.not.is`: Creates a custom negated type assertion from a type predicate function.
- `$.maybe.select`: Selects if the value is not undefined or null.

@@ -390,5 +391,8 @@ - `$.maybe.listen.key`: Listens to a key if the value is not undefined or null.

**Signal-Chain** also includes a few utility functions:
- `$.evaluate.sync`: Evaluates a chain synchronously.
- `$.evaluate.async`: Evaluates a chain asynchronously.
- `$.function.sync`: Creates a synchronous function from a chain.
- `$.function.async`: Creates an asynchronous function from a chain.
- `$.config`: Configures the update behaviour of the library.

@@ -458,5 +462,4 @@

- Rename `$.assert` to `$.type`, `$.assert.create` becomes `$.type.is`
- some quality of life utilities like `$.debounce` and `$.throttle`
- Add a `$.toFunction` that creates a function from a chain
- Some quality of life utilities like `$.throttle`
- Operator `$.while` to repeat a chain until a condition is met (e.g. retry failed http request).
- A `$.listen.select`, that is automatically reactive.

@@ -463,0 +466,0 @@ - Break down `Chain` type into `SyncChain`, `AsyncChain`, `WeakChain`, `AsyncWeakChain`, which allows to merge `$.evaluate.sync` and `$.evaluate.async` into a single `$.evaluate` and statically predict the possible outcome types.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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