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

@reactive-js/ix

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reactive-js/ix - npm Package Compare versions

Comparing version 0.0.11 to 0.0.12

2

dist/cjs/index.d.ts
import { MulticastObservableLike, MulticastObservableResourceLike } from "@reactive-js/rx";
import { SchedulerLike } from "@reactive-js/scheduler";
import { DisposableLike } from "@reactive-js/disposable";
export interface AsyncIteratorLike<TReq, T> extends MulticastObservableLike<T> {

@@ -17,2 +18,3 @@ dispatch(request: TReq): void;

}
export declare const createAsyncIteratorResource: <TReq, T>(dispatch: (req: TReq) => void, observable: MulticastObservableLike<T>, disposable: DisposableLike) => AsyncIteratorResourceLike<TReq, T>;
export declare const createEventEmitter: <T>() => EventEmitterResourceLike<T>;

@@ -19,0 +21,0 @@ export declare const createReducerStore: <TAction, T>(initialState: T, reducer: (state: T, action: TAction) => T, scheduler: SchedulerLike, equals?: ((a: T, b: T) => boolean) | undefined) => AsyncIteratorResourceLike<TAction, T>;

48

dist/cjs/index.js

@@ -7,8 +7,9 @@ "use strict";

class AsyncIteratorResourceImpl {
constructor(subject, observable) {
this.subject = subject;
constructor(dispatch, observable, disposable) {
this.dispatch = dispatch;
this.observable = observable;
this.disposable = disposable;
}
get isDisposed() {
return this.subject.isDisposed;
return this.disposable.isDisposed;
}

@@ -19,12 +20,11 @@ get subscriberCount() {

add(disposable, ...disposables) {
this.subject.add(disposable, ...disposables);
this.disposable.add(disposable, ...disposables);
return this;
}
dispatch(req) {
this.subject.next(req);
}
dispose() {
this.subject.dispose();
this.disposable.dispose();
}
remove(disposable, ...disposables) {
this.subject.remove(disposable, ...disposables);
this.disposable.remove(disposable, ...disposables);
return this;
}

@@ -35,13 +35,12 @@ subscribe(subscriber) {

}
const createAsyncIteratorResource = (operator) => {
const subject = rx_1.createSubject();
const observable = operator(subject);
return new AsyncIteratorResourceImpl(subject, observable);
exports.createAsyncIteratorResource = (dispatch, observable, disposable) => new AsyncIteratorResourceImpl(dispatch, observable, disposable);
exports.createEventEmitter = () => {
const dispatcher = rx_1.createSubject();
return exports.createAsyncIteratorResource(dispatcher.next.bind(dispatcher), dispatcher, dispatcher);
};
exports.createEventEmitter = () => createAsyncIteratorResource(x => x);
exports.createReducerStore = (initialState, reducer, scheduler, equals) => {
const operator = obs => pipe_1.pipe(obs, observable_1.scan(reducer, () => initialState), observable_1.startWith(initialState), observable_1.distinctUntilChanged(equals), observable_1.share(scheduler, 1));
const store = createAsyncIteratorResource(operator);
pipe_1.pipe(store, rx_1.subscribe(scheduler), d => store.add(d));
return store;
const dispatcher = rx_1.createSubject();
const observable = pipe_1.pipe(dispatcher, observable_1.scan(reducer, () => initialState), observable_1.startWith(initialState), observable_1.distinctUntilChanged(equals), observable_1.share(scheduler, 1));
const store = exports.createAsyncIteratorResource(dispatcher.next.bind(dispatcher), observable, dispatcher);
return store.add(pipe_1.pipe(store, rx_1.subscribe(scheduler)));
};

@@ -51,11 +50,8 @@ const stateStoreReducer = (state, action) => action(state);

exports.createPersistentStateStore = (persistentStore, initialState, scheduler, equals) => {
const dispatch = (req) => store.dispatch(req);
const operator = obs => {
const onPersistentStoreChangedStream = pipe_1.pipe(persistentStore, observable_1.onNext(v => dispatch(_ => v)), observable_1.ignoreElements());
const stateObs = pipe_1.pipe(obs, observable_1.scan((acc, next) => next(acc), () => initialState), observable_1.distinctUntilChanged(equals), observable_1.onNext(next => persistentStore.dispatch(next)));
return pipe_1.pipe(observable_1.merge(onPersistentStoreChangedStream, stateObs), observable_1.share(scheduler, 1));
};
const store = createAsyncIteratorResource(operator);
return store;
const dispatcher = rx_1.createSubject();
const onPersistentStoreChangedStream = pipe_1.pipe(persistentStore, observable_1.onNext(v => dispatcher.next(_ => v)), observable_1.ignoreElements());
const stateObs = pipe_1.pipe(dispatcher, observable_1.scan((acc, next) => next(acc), () => initialState), observable_1.distinctUntilChanged(equals), observable_1.onNext(next => persistentStore.dispatch(next)));
const observable = pipe_1.pipe(observable_1.merge(onPersistentStoreChangedStream, stateObs), observable_1.share(scheduler, 1));
return exports.createAsyncIteratorResource(dispatcher.next.bind(dispatcher), observable, dispatcher);
};
//# sourceMappingURL=index.js.map
import { MulticastObservableLike, MulticastObservableResourceLike } from "@reactive-js/rx";
import { SchedulerLike } from "@reactive-js/scheduler";
import { DisposableLike } from "@reactive-js/disposable";
export interface AsyncIteratorLike<TReq, T> extends MulticastObservableLike<T> {

@@ -17,2 +18,3 @@ dispatch(request: TReq): void;

}
export declare const createAsyncIteratorResource: <TReq, T>(dispatch: (req: TReq) => void, observable: MulticastObservableLike<T>, disposable: DisposableLike) => AsyncIteratorResourceLike<TReq, T>;
export declare const createEventEmitter: <T>() => EventEmitterResourceLike<T>;

@@ -19,0 +21,0 @@ export declare const createReducerStore: <TAction, T>(initialState: T, reducer: (state: T, action: TAction) => T, scheduler: SchedulerLike, equals?: ((a: T, b: T) => boolean) | undefined) => AsyncIteratorResourceLike<TAction, T>;

@@ -5,8 +5,9 @@ import { subscribe, createSubject, } from "@reactive-js/rx";

class AsyncIteratorResourceImpl {
constructor(subject, observable) {
this.subject = subject;
constructor(dispatch, observable, disposable) {
this.dispatch = dispatch;
this.observable = observable;
this.disposable = disposable;
}
get isDisposed() {
return this.subject.isDisposed;
return this.disposable.isDisposed;
}

@@ -17,12 +18,11 @@ get subscriberCount() {

add(disposable, ...disposables) {
this.subject.add(disposable, ...disposables);
this.disposable.add(disposable, ...disposables);
return this;
}
dispatch(req) {
this.subject.next(req);
}
dispose() {
this.subject.dispose();
this.disposable.dispose();
}
remove(disposable, ...disposables) {
this.subject.remove(disposable, ...disposables);
this.disposable.remove(disposable, ...disposables);
return this;
}

@@ -33,13 +33,12 @@ subscribe(subscriber) {

}
const createAsyncIteratorResource = (operator) => {
const subject = createSubject();
const observable = operator(subject);
return new AsyncIteratorResourceImpl(subject, observable);
export const createAsyncIteratorResource = (dispatch, observable, disposable) => new AsyncIteratorResourceImpl(dispatch, observable, disposable);
export const createEventEmitter = () => {
const dispatcher = createSubject();
return createAsyncIteratorResource(dispatcher.next.bind(dispatcher), dispatcher, dispatcher);
};
export const createEventEmitter = () => createAsyncIteratorResource(x => x);
export const createReducerStore = (initialState, reducer, scheduler, equals) => {
const operator = obs => pipe(obs, scan(reducer, () => initialState), startWith(initialState), distinctUntilChanged(equals), share(scheduler, 1));
const store = createAsyncIteratorResource(operator);
pipe(store, subscribe(scheduler), d => store.add(d));
return store;
const dispatcher = createSubject();
const observable = pipe(dispatcher, scan(reducer, () => initialState), startWith(initialState), distinctUntilChanged(equals), share(scheduler, 1));
const store = createAsyncIteratorResource(dispatcher.next.bind(dispatcher), observable, dispatcher);
return store.add(pipe(store, subscribe(scheduler)));
};

@@ -49,11 +48,8 @@ const stateStoreReducer = (state, action) => action(state);

export const createPersistentStateStore = (persistentStore, initialState, scheduler, equals) => {
const dispatch = (req) => store.dispatch(req);
const operator = obs => {
const onPersistentStoreChangedStream = pipe(persistentStore, onNext(v => dispatch(_ => v)), ignoreElements());
const stateObs = pipe(obs, scan((acc, next) => next(acc), () => initialState), distinctUntilChanged(equals), onNext(next => persistentStore.dispatch(next)));
return pipe(merge(onPersistentStoreChangedStream, stateObs), share(scheduler, 1));
};
const store = createAsyncIteratorResource(operator);
return store;
const dispatcher = createSubject();
const onPersistentStoreChangedStream = pipe(persistentStore, onNext(v => dispatcher.next(_ => v)), ignoreElements());
const stateObs = pipe(dispatcher, scan((acc, next) => next(acc), () => initialState), distinctUntilChanged(equals), onNext(next => persistentStore.dispatch(next)));
const observable = pipe(merge(onPersistentStoreChangedStream, stateObs), share(scheduler, 1));
return createAsyncIteratorResource(dispatcher.next.bind(dispatcher), observable, dispatcher);
};
//# sourceMappingURL=index.js.map
import { MulticastObservableLike, MulticastObservableResourceLike } from "@reactive-js/rx";
import { SchedulerLike } from "@reactive-js/scheduler";
import { DisposableLike } from "@reactive-js/disposable";
export interface AsyncIteratorLike<TReq, T> extends MulticastObservableLike<T> {

@@ -17,2 +18,3 @@ dispatch(request: TReq): void;

}
export declare const createAsyncIteratorResource: <TReq, T>(dispatch: (req: TReq) => void, observable: MulticastObservableLike<T>, disposable: DisposableLike) => AsyncIteratorResourceLike<TReq, T>;
export declare const createEventEmitter: <T>() => EventEmitterResourceLike<T>;

@@ -19,0 +21,0 @@ export declare const createReducerStore: <TAction, T>(initialState: T, reducer: (state: T, action: TAction) => T, scheduler: SchedulerLike, equals?: ((a: T, b: T) => boolean) | undefined) => AsyncIteratorResourceLike<TAction, T>;

@@ -22,2 +22,3 @@ [@reactive-js/ix](README.md)

* [createAsyncIteratorResource](README.md#const-createasynciteratorresource)
* [createEventEmitter](README.md#const-createeventemitter)

@@ -46,2 +47,32 @@ * [createPersistentStateStore](README.md#const-createpersistentstatestore)

### `Const` createAsyncIteratorResource
▸ **createAsyncIteratorResource**<**TReq**, **T**>(`dispatch`: function, `observable`: MulticastObservableLike‹T›, `disposable`: DisposableLike): *[AsyncIteratorResourceLike](interfaces/asynciteratorresourcelike.md)‹TReq, T›*
**Type parameters:**
▪ **TReq**
▪ **T**
**Parameters:**
▪ **dispatch**: *function*
▸ (`req`: TReq): *void*
**Parameters:**
Name | Type |
------ | ------ |
`req` | TReq |
▪ **observable**: *MulticastObservableLike‹T›*
▪ **disposable**: *DisposableLike*
**Returns:** *[AsyncIteratorResourceLike](interfaces/asynciteratorresourcelike.md)‹TReq, T›*
___
### `Const` createEventEmitter

@@ -48,0 +79,0 @@

{
"name": "@reactive-js/ix",
"version": "0.0.11",
"version": "0.0.12",
"main": "dist/cjs/index.js",

@@ -41,7 +41,7 @@ "module": "dist/esm5/index.js",

"dependencies": {
"@reactive-js/disposable": "^0.0.11",
"@reactive-js/observable": "^0.0.11",
"@reactive-js/pipe": "^0.0.11",
"@reactive-js/rx": "^0.0.11",
"@reactive-js/scheduler": "^0.0.11"
"@reactive-js/disposable": "^0.0.12",
"@reactive-js/observable": "^0.0.12",
"@reactive-js/pipe": "^0.0.12",
"@reactive-js/rx": "^0.0.12",
"@reactive-js/scheduler": "^0.0.12"
},

@@ -58,3 +58,3 @@ "scripts": {

},
"gitHead": "894e4863ea037c317967555ebc27ab66167cfc59"
"gitHead": "66ee9bfeeb79e01c9770dc09829bedf292674ff0"
}

@@ -20,7 +20,7 @@ import {

import { pipe, OperatorLike } from "@reactive-js/pipe";
import { pipe } from "@reactive-js/pipe";
import { SchedulerLike } from "@reactive-js/scheduler";
import { DisposableOrTeardown } from "@reactive-js/disposable";
import { DisposableOrTeardown, DisposableLike } from "@reactive-js/disposable";

@@ -59,15 +59,18 @@ /** @noInheritDoc */

implements AsyncIteratorResourceLike<TReq, T> {
readonly subject: SubjectResourceLike<TReq>;
readonly observable: MulticastObservableLike<T>;
readonly dispatch: (req: TReq) => void;
private readonly observable: MulticastObservableLike<T>;
private readonly disposable: DisposableLike;
constructor(
subject: SubjectResourceLike<TReq>,
dispatch: (req: TReq) => void,
observable: MulticastObservableLike<T>,
disposable: DisposableLike,
) {
this.subject = subject;
this.dispatch = dispatch;
this.observable = observable;
this.disposable = disposable;
}
get isDisposed(): boolean {
return this.subject.isDisposed;
return this.disposable.isDisposed;
}

@@ -83,11 +86,8 @@

) {
this.subject.add(disposable, ...disposables);
this.disposable.add(disposable, ...disposables);
return this;
}
dispatch(req: TReq) {
this.subject.next(req);
}
dispose() {
this.subject.dispose();
this.disposable.dispose();
}

@@ -99,3 +99,4 @@

) {
this.subject.remove(disposable, ...disposables);
this.disposable.remove(disposable, ...disposables);
return this;
}

@@ -108,16 +109,18 @@

const createAsyncIteratorResource = <TReq, T>(
operator: OperatorLike<
MulticastObservableLike<TReq>,
MulticastObservableLike<T>
>,
) => {
const subject = createSubject();
const observable = operator(subject);
return new AsyncIteratorResourceImpl(subject, observable);
export const createAsyncIteratorResource = <TReq, T>(
dispatch: (req: TReq) => void,
observable: MulticastObservableLike<T>,
disposable: DisposableLike,
): AsyncIteratorResourceLike<TReq, T> =>
new AsyncIteratorResourceImpl(dispatch, observable, disposable);
export const createEventEmitter = <T>(): EventEmitterResourceLike<T> => {
const dispatcher = createSubject();
return createAsyncIteratorResource(
dispatcher.next.bind(dispatcher),
dispatcher,
dispatcher,
);
};
export const createEventEmitter = <T>(): EventEmitterResourceLike<T> =>
createAsyncIteratorResource(x => x);
export const createReducerStore = <TAction, T>(

@@ -129,16 +132,17 @@ initialState: T,

): AsyncIteratorResourceLike<TAction, T> => {
const operator: OperatorLike<
MulticastObservableLike<TAction>,
MulticastObservableLike<T>
> = obs =>
pipe(
obs,
scan(reducer, () => initialState),
startWith(initialState),
distinctUntilChanged(equals),
share(scheduler, 1),
);
const store = createAsyncIteratorResource(operator);
pipe(store, subscribe(scheduler), d => store.add(d));
return store;
const dispatcher = createSubject();
const observable = pipe(
dispatcher,
scan(reducer, () => initialState),
startWith(initialState),
distinctUntilChanged(equals),
share(scheduler, 1),
);
const store = createAsyncIteratorResource(
dispatcher.next.bind(dispatcher),
observable,
dispatcher,
);
return store.add(pipe(store, subscribe(scheduler)));
};

@@ -161,32 +165,30 @@

): StateStoreResourceLike<T> => {
const dispatch = (req: StateUpdaterLike<T>) => store.dispatch(req);
const dispatcher: SubjectResourceLike<StateUpdaterLike<T>> = createSubject();
const operator: OperatorLike<
MulticastObservableLike<StateUpdaterLike<T>>,
MulticastObservableLike<T>
> = obs => {
const onPersistentStoreChangedStream = pipe(
persistentStore,
onNext(v => dispatch(_ => v)),
ignoreElements(),
);
const onPersistentStoreChangedStream = pipe(
persistentStore,
onNext(v => dispatcher.next(_ => v)),
ignoreElements(),
);
const stateObs = pipe(
obs,
scan(
(acc: T, next: StateUpdaterLike<T>) => next(acc),
() => initialState,
),
distinctUntilChanged(equals),
onNext(next => persistentStore.dispatch(next)),
);
const stateObs = pipe(
dispatcher,
scan(
(acc: T, next: StateUpdaterLike<T>) => next(acc),
() => initialState,
),
distinctUntilChanged(equals),
onNext(next => persistentStore.dispatch(next)),
);
return pipe(
merge(onPersistentStoreChangedStream, stateObs),
share(scheduler, 1),
);
};
const observable = pipe(
merge(onPersistentStoreChangedStream, stateObs),
share(scheduler, 1),
);
const store = createAsyncIteratorResource(operator);
return store;
return createAsyncIteratorResource(
dispatcher.next.bind(dispatcher),
observable,
dispatcher,
);
};

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

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