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

@keiii/k-stream

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@keiii/k-stream - npm Package Compare versions

Comparing version 0.0.16 to 0.0.17

dist/behaviourSubject.d.ts

2

dist/index.d.ts
export * from './core';
export * from './factories';
export * from './behaviourSubject';
export * from './subject';
export * from './emitter';
export * from './transformers';
export * from './ts-option';
export * from './ts-result';
export * from './core';
export * from './factories';
export * from './behaviourSubject';
export * from './subject';
export * from './emitter';
export * from './transformers';

@@ -6,0 +6,0 @@ export * from './ts-option';

import { CompleteFn, Stream } from './core';
export declare type Subject<T> = Stream<T> & {
value: T;
readonly next: (value: T) => void;
readonly complete: CompleteFn;
};
export declare const ksSubject: <T>(initValue: T, behaviour?: import("./core").KsBehaviour) => Subject<T>;
export declare const ksSubject: <T>(behaviour?: import("./core").KsBehaviour) => Subject<T>;

@@ -1,16 +0,23 @@

import { ksCreateStream, ksShareReplay, noop, } from './core';
export const ksSubject = (initValue, behaviour = ksShareReplay) => {
const state = { isCompleted: false, current: initValue };
import { ksCreateStream, noop, ksShare, } from './core';
export const ksSubject = (behaviour = ksShare) => {
let isCompleted = false;
let subjectObserver = null;
const stream = ksCreateStream(behaviour, observer => {
subjectObserver = observer;
subjectObserver.next(state.current);
return { unsubscribe: () => (subjectObserver = null) };
const next = (value) => {
if (!isCompleted) {
subjectObserver === null || subjectObserver === void 0 ? void 0 : subjectObserver.next(value);
}
};
const complete = () => {
isCompleted = true;
subjectObserver === null || subjectObserver === void 0 ? void 0 : subjectObserver.complete();
};
const stream = ksCreateStream(behaviour, o => {
subjectObserver = o;
return { unsubscribe: noop };
});
return {
subscribe: observer => {
var _a, _b;
if (state.isCompleted) {
(_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, state.current);
(_b = observer.complete) === null || _b === void 0 ? void 0 : _b.call(observer);
var _a;
if (isCompleted) {
(_a = observer.complete) === null || _a === void 0 ? void 0 : _a.call(observer);
return { unsubscribe: noop };

@@ -24,24 +31,6 @@ }

behaviour: stream.behaviour,
complete: () => {
state.isCompleted = true;
if (subjectObserver !== null) {
subjectObserver.complete();
}
},
set value(value) {
if (state.isCompleted) {
console.warn('Logic error: Ignore call next on completed stream.');
}
else {
state.current = value;
if (subjectObserver !== null) {
subjectObserver.next(value);
}
}
},
get value() {
return state.current;
},
next,
complete,
};
};
//# sourceMappingURL=subject.js.map
{
"name": "@keiii/k-stream",
"version": "0.0.16",
"version": "0.0.17",
"description": "K-Stream is a functional reactive stream library for TypeScript",

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

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