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

evt

Package Overview
Dependencies
Maintainers
1
Versions
186
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evt - npm Package Compare versions

Comparing version 1.0.19 to 1.1.0

dist/lib/util/useEffect.d.ts

10

dist/lib/Ctx.d.ts

@@ -66,5 +66,11 @@ import { Handler } from "./types/Handler";

getHandlers(): Handler.WithEvt<any, Result>[];
/** Exposed only to enable safe interoperability between mismatching EVT versions, do not use */
/**
* Exposed to enable safe interoperability between mismatching EVT versions.
* Should be considered private
* */
zz__addHandler<T>(handler: Handler<T, any, CtxLike<Result>>, evt: EvtLike<T>): void;
/** Exposed only to enable safe interoperability between EVT versions, do not use */
/**
* Exposed to enable safe interoperability between EVT versions.
* Should be considered private
* */
zz__removeHandler<T>(handler: Handler<T, any, CtxLike<Result>>): void;

@@ -71,0 +77,0 @@ }

@@ -152,3 +152,6 @@ "use strict";

};
/** Exposed only to enable safe interoperability between mismatching EVT versions, do not use */
/**
* Exposed to enable safe interoperability between mismatching EVT versions.
* Should be considered private
* */
Ctx.prototype.zz__addHandler = function (handler, evt) {

@@ -161,3 +164,6 @@ assert_1.assert(handler.ctx === this);

};
/** Exposed only to enable safe interoperability between EVT versions, do not use */
/**
* Exposed to enable safe interoperability between EVT versions.
* Should be considered private
* */
Ctx.prototype.zz__removeHandler = function (handler) {

@@ -164,0 +170,0 @@ assert_1.assert(handler.ctx === this);

6

dist/lib/Evt.d.ts

@@ -6,2 +6,3 @@ import "minimal-polyfills/dist/lib/Array.prototype.find";

import { Handler } from "./types/Handler";
import { useEffect } from "./util/useEffect";
declare type Ctx<Result> = import("./Ctx").Ctx<Result>;

@@ -31,5 +32,6 @@ declare type VoidCtx = import("./Ctx").VoidCtx;

/** https://docs.evt.land/api/evt/merge */
static merge: typeof merge;
static readonly merge: typeof merge;
/** https://docs.evt.land/api/evt/from */
static from: typeof from;
static readonly from: typeof from;
static readonly useEffect: typeof useEffect;
/** https://docs.evt.land/api/evt/getevtattachdetach */

@@ -36,0 +38,0 @@ readonly getEvtAttach: () => Evt<Handler<T, any>>;

@@ -110,2 +110,3 @@ "use strict";

var importProxy_1 = require("./importProxy");
var useEffect_1 = require("./util/useEffect");
/** https://docs.evt.land/api/evt */

@@ -692,2 +693,3 @@ var Evt = /** @class */ (function () {

Evt.from = from_1.from;
Evt.useEffect = useEffect_1.useEffect;
return Evt;

@@ -694,0 +696,0 @@ }());

declare type CtxLike<Result> = import("../Ctx").CtxLike<Result>;
declare type VoidCtxLike = import("../Ctx").VoidCtxLike;
/** https://docs.evt.land/api/operator */
export declare type Operator<T, U, CtxResult> = Operator.fλ<T, U, CtxResult> | ((data: U) => boolean) | //Filter
export declare type Operator<T, U, CtxResult = any> = Operator.fλ<T, U, CtxResult> | ((data: U) => boolean) | //Filter
(U extends T ? (data: T) => data is U : never);
export declare namespace Operator {
type fλ<T, U, CtxResult> = fλ.Stateless<T, U, CtxResult> | fλ.Stateful<T, U, CtxResult>;
type fλ<T, U, CtxResult = any> = fλ.Stateless<T, U, CtxResult> | fλ.Stateful<T, U, CtxResult>;
namespace fλ {
type Stateless<T, U, CtxResult> = (data: T, prev?: undefined, isPost?: true) => Result<U, CtxResult>;
type Stateful<T, U, CtxResult> = [(data: T, prev: U, isPost?: true) => Result<U, CtxResult>, U];
type Stateless<T, U, CtxResult = any> = (data: T, prev?: undefined, isPost?: true) => Result<U, CtxResult>;
type Stateful<T, U, CtxResult = any> = [(data: T, prev: U, isPost?: true) => Result<U, CtxResult>, U];
namespace Stateful {

@@ -55,4 +55,4 @@ function match<T, U, CtxResult>(op: Operator<T, U, CtxResult>): op is Stateful<T, U, CtxResult>;

}
type Stateless<T, U, CtxResult> = fλ.Stateless<T, U, CtxResult> | ((data: U) => boolean) | (U extends T ? (data: T) => data is U : never);
type Stateless<T, U, CtxResult = any> = fλ.Stateless<T, U, CtxResult> | ((data: U) => boolean) | (U extends T ? (data: T) => data is U : never);
}
export {};

@@ -8,2 +8,3 @@ import { EventTargetLike } from "../types/EventTargetLike";

getEvtDone(): EvtLike<unknown> & {
postCount: number;
attachOnce(callback: () => void): void;

@@ -18,2 +19,3 @@ };

export declare function from<T>(ctx: CtxLike<any>, target: OneOrMany<EventTargetLike.RxJSSubject<T>>): Evt<T>;
export declare function from<T>(ctx: CtxLike<any>, target: PromiseLike<T>): Evt<T>;
export declare function from<K extends keyof dom.HTMLElementEventMap>(target: EventTargetLike.HTMLElement, eventName: K, options?: EventTargetLike.HasEventTargetAddRemove.Options): Evt<dom.HTMLElementEventMap[K]>;

@@ -25,2 +27,3 @@ export declare function from<K extends keyof dom.WindowEventMap>(target: EventTargetLike.Window, eventName: K, options?: EventTargetLike.HasEventTargetAddRemove.Options): Evt<dom.WindowEventMap[K]>;

export declare function from<T>(target: OneOrMany<EventTargetLike.RxJSSubject<T>>): Evt<T>;
export declare function from<T>(target: PromiseLike<T>): Evt<T>;
export {};

@@ -10,2 +10,17 @@ "use strict";

function fromImpl(ctx, target, eventName, options) {
if ("then" in target) {
var evt_1 = new importProxy_1.importProxy.Evt();
var isCtxDone_1 = (function () {
var getEvtDonePostCount = function () { return ctx === null || ctx === void 0 ? void 0 : ctx.getEvtDone().postCount; };
var n = getEvtDonePostCount();
return function () { return n !== getEvtDonePostCount(); };
})();
target.then(function (data) {
if (isCtxDone_1()) {
return;
}
evt_1.post(data);
});
return evt_1;
}
if ("length" in target) {

@@ -12,0 +27,0 @@ return merge_1.mergeImpl(ctx, Array.from(target).map(function (target) { return fromImpl(ctx, target, eventName, options); }));

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

import { NonPostable } from "../types/helper/NonPostable";
import { UnpackEvt } from "../types/helper/UnpackEvt";

@@ -6,8 +5,8 @@ declare type Evt<T> = import("../Evt").Evt<T>;

declare type EvtLike<T> = import("../Evt").EvtLike<T> & {
attach<T>(callback: (data: T) => void): void;
attach<T>(ctx: CtxLike<any>, callback: (data: T) => void): void;
attach(callback: (data: T) => void): void;
attach(ctx: CtxLike<any>, callback: (data: T) => void): void;
};
export declare function mergeImpl<EvtUnion extends EvtLike<any>>(ctx: CtxLike<any> | undefined, evts: readonly EvtUnion[]): Evt<UnpackEvt<EvtUnion>>;
export declare function merge<EvtUnion extends NonPostable<Evt<any>>>(ctx: CtxLike<any>, evts: readonly EvtUnion[]): Evt<UnpackEvt<EvtUnion>>;
export declare function merge<EvtUnion extends NonPostable<Evt<any>>>(evts: readonly EvtUnion[]): Evt<UnpackEvt<EvtUnion>>;
export declare function merge<EvtUnion extends EvtLike<any>>(ctx: CtxLike<any>, evts: readonly EvtUnion[]): Evt<UnpackEvt<EvtUnion>>;
export declare function merge<EvtUnion extends EvtLike<any>>(evts: readonly EvtUnion[]): Evt<UnpackEvt<EvtUnion>>;
export {};

@@ -160,3 +160,3 @@ "use strict";

else {
var result = representsSameData(Object.keys(o1).filter(function (key) { return o1[key] !== undefined; }), Object.keys(o2).filter(function (key) { return o2[key] !== undefined; }), takeIntoAccountArraysOrdering);
var result = representsSameData(Object.keys(o1).filter(function (key) { return o1[key] !== undefined; }), Object.keys(o2).filter(function (key) { return o2[key] !== undefined; }), false);
if (!result) {

@@ -163,0 +163,0 @@ return false;

{
"name": "evt",
"version": "1.0.19",
"version": "1.1.0",
"description": "Type safe replacement for node's EventEmitter",

@@ -5,0 +5,0 @@ "repository": {

@@ -171,3 +171,6 @@ import { Polyfill as Set } from "minimal-polyfills/dist/lib/Set";

/** Exposed only to enable safe interoperability between mismatching EVT versions, do not use */
/**
* Exposed to enable safe interoperability between mismatching EVT versions.
* Should be considered private
* */
public zz__addHandler<T>(

@@ -184,3 +187,6 @@ handler: Handler<T, any, CtxLike<Result>>,

/** Exposed only to enable safe interoperability between EVT versions, do not use */
/**
* Exposed to enable safe interoperability between EVT versions.
* Should be considered private
* */
public zz__removeHandler<T>(

@@ -187,0 +193,0 @@ handler: Handler<T, any, CtxLike<Result>>,

@@ -15,5 +15,6 @@ import "minimal-polyfills/dist/lib/Array.prototype.find";

import { getCtxFactory } from "./util/getCtxFactory";
import { LazyEvtFactory } from "./util/LazyEvtFactory";
import { LazyEvtFactory } from "./util/LazyEvtFactory";
import { importProxy } from "./importProxy";
import /*type*/ { Handler } from "./types/Handler";
import { useEffect } from "./util/useEffect";

@@ -50,7 +51,9 @@ type Ctx<Result> = import("./Ctx").Ctx<Result>;

/** https://docs.evt.land/api/evt/merge */
public static merge = merge;
public static readonly merge = merge;
/** https://docs.evt.land/api/evt/from */
public static from = from;
public static readonly from = from;
public static readonly useEffect = useEffect;
/** https://docs.evt.land/api/evt/getevtattachdetach */

@@ -62,2 +65,3 @@ public readonly getEvtAttach: () => Evt<Handler<T, any>>;

private readonly onHandler: (isAttach: boolean, handler: Handler<T, any>) => void;

@@ -76,4 +80,4 @@

this.getEvtAttach= ()=> lazyEvtAttachFactory.getEvt();
this.getEvtDetach = ()=> lazyEvtDetachFactory.getEvt();
this.getEvtAttach = () => lazyEvtAttachFactory.getEvt();
this.getEvtDetach = () => lazyEvtDetachFactory.getEvt();

@@ -80,0 +84,0 @@ }

@@ -6,3 +6,3 @@ import { typeGuard } from "../../tools/typeSafety";

/** https://docs.evt.land/api/operator */
export type Operator<T, U, CtxResult> =
export type Operator<T, U, CtxResult = any> =
Operator.fλ<T, U, CtxResult> |

@@ -15,3 +15,3 @@ ((data: U) => boolean) | //Filter

export type fλ<T, U, CtxResult> =
export type fλ<T, U, CtxResult = any> =
fλ.Stateless<T, U, CtxResult> |

@@ -23,5 +23,5 @@ fλ.Stateful<T, U, CtxResult>

export type Stateless<T, U, CtxResult> = (data: T, prev?: undefined, isPost?: true) => Result<U, CtxResult>;
export type Stateless<T, U, CtxResult = any> = (data: T, prev?: undefined, isPost?: true) => Result<U, CtxResult>;
export type Stateful<T, U, CtxResult> = [
export type Stateful<T, U, CtxResult = any> = [
(data: T, prev: U, isPost?: true) => Result<U, CtxResult>,

@@ -159,3 +159,3 @@ U //Seed

export type Stateless<T, U, CtxResult> =
export type Stateless<T, U, CtxResult = any> =
fλ.Stateless<T, U, CtxResult> |

@@ -162,0 +162,0 @@ ((data: U) => boolean) |

@@ -13,3 +13,3 @@ import { id } from "../../tools/typeSafety/id";

type CtxLike<Result> = import("../Ctx").CtxLike<Result> & {
getEvtDone(): EvtLike<unknown> & { attachOnce(callback: ()=> void): void; };
getEvtDone(): EvtLike<unknown> & { postCount: number; attachOnce(callback: ()=> void): void; };
};

@@ -19,3 +19,3 @@

ctx: CtxLike<any> | undefined,
target: OneOrMany<EventTargetLike<T>>,
target: OneOrMany<EventTargetLike<T>> | PromiseLike<T>,
eventName?: string,

@@ -25,2 +25,30 @@ options?: EventTargetLike.HasEventTargetAddRemove.Options

if ("then" in target) {
const evt = new importProxy.Evt<T>();
const isCtxDone = (()=>{
const getEvtDonePostCount = () => ctx?.getEvtDone().postCount;
const n = getEvtDonePostCount();
return ()=> n !== getEvtDonePostCount();
})();
target.then(data => {
if( isCtxDone() ){
return;
}
evt.post(data);
});
return evt;
}
if ("length" in target) {

@@ -95,2 +123,3 @@ return mergeImpl<Evt<T>>(

export function from<K extends keyof dom.HTMLElementEventMap>(

@@ -103,3 +132,3 @@ ctx: CtxLike<any>,

export function from <K extends keyof dom.WindowEventMap>(
export function from<K extends keyof dom.WindowEventMap>(
ctx: CtxLike<any>,

@@ -113,3 +142,3 @@ target: EventTargetLike.Window,

ctx: CtxLike<any>,
target: EventTargetLike.Document,
target: EventTargetLike.Document,
eventName: K,

@@ -140,2 +169,6 @@ options?: EventTargetLike.HasEventTargetAddRemove.Options

export function from<T>(
ctx: CtxLike<any>,
target: PromiseLike<T>
): Evt<T>;

@@ -148,3 +181,3 @@

): Evt<dom.HTMLElementEventMap[K]>;
export function from <K extends keyof dom.WindowEventMap>(
export function from<K extends keyof dom.WindowEventMap>(
target: EventTargetLike.Window,

@@ -155,3 +188,3 @@ eventName: K,

export function from<K extends keyof dom.DocumentEventMap>(
target: EventTargetLike.Document,
target: EventTargetLike.Document,
eventName: K,

@@ -177,6 +210,9 @@ options?: EventTargetLike.HasEventTargetAddRemove.Options

): Evt<T>;
export function from<T>(
target: PromiseLike<T>
): Evt<T>;
export function from<T>(
ctxOrTarget: CtxLike<any> | OneOrMany<EventTargetLike<T>>,
targetOrEventName?: OneOrMany<EventTargetLike<T>> | string,
ctxOrTarget: CtxLike<any> | OneOrMany<EventTargetLike<T>> | PromiseLike<T>,
targetOrEventName?: OneOrMany<EventTargetLike<T>> | string | PromiseLike<T>,
eventNameOrOptions?: string | EventTargetLike.HasEventTargetAddRemove.Options,

@@ -189,3 +225,3 @@ options?: EventTargetLike.HasEventTargetAddRemove.Options

assert(
typeGuard<OneOrMany<EventTargetLike<T>>>(targetOrEventName) &&
typeGuard<OneOrMany<EventTargetLike<T>> | PromiseLike<T>>(targetOrEventName) &&
typeGuard<string | undefined>(eventNameOrOptions) &&

@@ -192,0 +228,0 @@ typeGuard<EventTargetLike.HasEventTargetAddRemove.Options | undefined>(options)

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

import /*type*/ { NonPostable } from "../types/helper/NonPostable";
import /*type*/ { UnpackEvt } from "../types/helper/UnpackEvt";

@@ -10,4 +9,4 @@ import { importProxy } from "../importProxy";

type EvtLike<T> = import("../Evt").EvtLike<T> & {
attach<T>(callback: (data: T)=> void): void;
attach<T>(ctx: CtxLike<any>, callback: (data: T)=> void): void;
attach(callback: (data: T)=> void): void;
attach(ctx: CtxLike<any>, callback: (data: T)=> void): void;
};

@@ -42,10 +41,10 @@

export function merge<EvtUnion extends NonPostable<Evt<any>>>(
export function merge<EvtUnion extends EvtLike<any>>(
ctx: CtxLike<any>,
evts: readonly EvtUnion[]
): Evt<UnpackEvt<EvtUnion>>;
export function merge<EvtUnion extends NonPostable<Evt<any>>>(
export function merge<EvtUnion extends EvtLike<any>>(
evts: readonly EvtUnion[]
): Evt<UnpackEvt<EvtUnion>>;
export function merge<EvtUnion extends NonPostable<Evt<any>>>(
export function merge<EvtUnion extends EvtLike<any>>(
p1: CtxLike<any> | readonly EvtUnion[],

@@ -52,0 +51,0 @@ p2?: readonly EvtUnion[]

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

import { typeGuard } from "../typeSafety/typeGuard";
import { typeGuard } from "../typeSafety/typeGuard";
import { Polyfill as Set } from "minimal-polyfills/dist/lib/Set";

@@ -20,4 +20,4 @@

type MapLike<T,U> = {
keys: ()=> Iterable<T>;
type MapLike<T, U> = {
keys: () => Iterable<T>;
get(key: T): U | undefined;

@@ -28,5 +28,5 @@ };

export function match<T,U>(map: Object): map is MapLike<T,U> {
export function match<T, U>(map: Object): map is MapLike<T, U> {
return (
typeGuard<MapLike<T,U>>(map) &&
typeGuard<MapLike<T, U>>(map) &&
typeof map.keys === "function" &&

@@ -86,3 +86,3 @@ typeof map.get === "function" &&

if( MapLike.match<any,any>(o1) ){
if (MapLike.match<any, any>(o1)) {

@@ -93,6 +93,6 @@ if (!MapLike.match(o2)) {

type Entry= { key: any, value: any };
type Entry = { key: any, value: any };
const newO1= new Set<Entry>();
const newO2= new Set<Entry>();
const newO1 = new Set<Entry>();
const newO2 = new Set<Entry>();

@@ -117,4 +117,4 @@ for (const o of [o1, o2]) {

return representsSameData(
newO1,
newO2,
newO1,
newO2,
takeIntoAccountArraysOrdering

@@ -205,3 +205,3 @@ );

Object.keys(o2).filter(key => (o2 as any)[key] !== undefined),
takeIntoAccountArraysOrdering
false
);

@@ -215,3 +215,5 @@

for (const key in o1) {
const result = representsSameData(

@@ -235,4 +237,3 @@ o1[key],

}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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