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

evnty

Package Overview
Dependencies
Maintainers
1
Versions
419
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evnty - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0

10

build/index.d.ts

@@ -5,4 +5,4 @@ declare type Unsubscribe = () => void;

declare type Filter = (...args: any[]) => boolean;
declare type Mapper = <T = any>(...args: any[]) => T;
declare type Reducer = <T = any>(value: any, ...args: any[]) => T;
declare type Mapper<T = any[]> = (...args: any[]) => T;
declare type Reducer<T = any[]> = (value: T, ...args: any[]) => T;
declare class FunctionExt extends Function {

@@ -13,2 +13,3 @@ constructor(func: Function);

static merge(...events: Event[]): Event;
static interval(interval: number): Event;
private listeners;

@@ -23,7 +24,8 @@ readonly dispose: Dispose;

clear(): void;
toPromise(): Promise<any[]>;
filter(filter: Filter): Event;
map(mapper: Mapper): Event;
reduce(reducer: Reducer, init: any): Event;
map<T>(mapper: Mapper<T>): Event;
reduce<T>(reducer: Reducer<T>, init: T): Event;
}
export default function event(): Event;
export {};

15

build/index.js

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

this.listeners = listeners;
this.dispose = dispose;
this.dispose = () => {
this.clear();
dispose && dispose();
};
}

@@ -34,2 +37,9 @@ static merge(...events) {

}
static interval(interval) {
let timerId = 0;
let counter = 0;
const intervalEvent = new Event(() => clearInterval(timerId));
timerId = setInterval(() => intervalEvent(counter++), interval);
return intervalEvent;
}
get size() {

@@ -61,2 +71,5 @@ return this.listeners.size;

}
toPromise() {
return new Promise(resolve => this.once((...args) => resolve(args)));
}
filter(filter) {

@@ -63,0 +76,0 @@ const dispose = this.on((...args) => __awaiter(this, void 0, void 0, function* () {

{
"name": "evnty",
"version": "0.4.0",
"version": "0.5.0",
"description": "0-Deps, simple, fast, for browser and node js anonymous event library",

@@ -5,0 +5,0 @@ "main": "build/index.js",

@@ -84,2 +84,14 @@ import event, { Event } from '../index';

it('Should return event promise', async () => {
const listener = jest.fn();
const event = new Event();
event.on(listener);
expect(listener).not.toBeCalled();
const promise = event.toPromise();
event('test');
const result = await promise;
expect(result).toEqual(['test']);
expect(listener).toBeCalledWith('test');
});
it('Should create filtered event', async () => {

@@ -183,2 +195,16 @@ const listener = jest.fn();

});
it('Should create interval events', async () => {
const listener = jest.fn();
const event = Event.interval(10);
event.on(listener);
await event.toPromise();
expect(listener).toBeCalledWith(0);
event.dispose();
const result = await Promise.race([
new Promise(resolve => setTimeout(resolve, 100, null)),
event.toPromise(),
]);
expect(result).toEqual(null);
});
});

@@ -6,4 +6,4 @@ type Unsubscribe = () => void;

type Filter = (...args: any[]) => boolean;
type Mapper = <T = any>(...args: any[]) => T;
type Reducer = <T = any>(value: any, ...args: any[]) => T;
type Mapper<T = any[]> = (...args: any[]) => T;
type Reducer<T = any[]> = (value: T, ...args: any[]) => T;

@@ -28,2 +28,10 @@ class FunctionExt extends Function {

static interval(interval: number) {
let timerId = 0;
let counter = 0;
const intervalEvent = new Event(() => clearInterval(timerId));
timerId = setInterval(() => intervalEvent(counter++), interval);
return intervalEvent;
}
private listeners: Listeners;

@@ -36,3 +44,6 @@ readonly dispose: Dispose;

this.listeners = listeners;
this.dispose = dispose;
this.dispose = () => {
this.clear();
dispose && dispose();
};
}

@@ -69,2 +80,6 @@

toPromise(): Promise<any[]> {
return new Promise(resolve => this.once((...args) => resolve(args)));
}
filter(filter: Filter) {

@@ -80,3 +95,3 @@ const dispose = this.on(async (...args) => {

map(mapper: Mapper) {
map<T>(mapper: Mapper<T>) {
const dispose = this.on(async (...args) => {

@@ -92,4 +107,4 @@ if (mappedEvent.size > 0) {

reduce(reducer: Reducer, init: any) {
let value: any = init;
reduce<T>(reducer: Reducer<T>, init: T) {
let value: T = init;
const dispose = this.on(async (...args) => {

@@ -96,0 +111,0 @@ if (reducedEvent.size > 0) {

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