Skip to content

@camera.ui/sdk / observable / Subject

Class: Subject<T>

Defined in: observable/index.ts:124

Multicast value source.

Calls to next(value) are dispatched synchronously to every active subscriber. complete() releases all subscribers and locks the Subject so further next() calls become no-ops. subscribe() returns a Disposable for individual cleanup.

Extended by

Type Parameters

T

T

Constructors

Constructor

new Subject<T>(): Subject<T>

Returns

Subject<T>

Accessors

closed

Get Signature

get closed(): boolean

Defined in: observable/index.ts:130

Whether complete() has already run.

Returns

boolean

Methods

asObservable()

asObservable(): Observable<T>

Defined in: observable/index.ts:246

Returns a read-only Observable that mirrors this Subject without exposing next() or complete(). Useful for handing out a public stream while keeping write access internal.

Returns

Observable<T>

Read-only Observable view of this Subject.

Example

ts
const subject = new Subject<number>();
export const events$ = subject.asObservable();

complete()

complete(): void

Defined in: observable/index.ts:160

Release every subscriber and lock the Subject. Later next() calls are ignored.

Returns

void

Example

ts
subject.complete();

next()

next(value): void

Defined in: observable/index.ts:145

Dispatch a value to every current subscriber, synchronously. No-op once completed.

Parameters

value

T

Value to multicast.

Returns

void

Example

ts
const subject = new Subject<string>();
subject.next('armed');

pipe()

Call Signature

pipe(): Observable<T>

Defined in: observable/index.ts:219

Chain operators onto this Subject's read-only view.

Returns

Observable<T>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

Call Signature

pipe<A>(op1): Observable<A>

Defined in: observable/index.ts:220

Chain operators onto this Subject's read-only view.

Type Parameters
A

A

Parameters
op1

OperatorFn<T, A>

Returns

Observable<A>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

Call Signature

pipe<A, B>(op1, op2): Observable<B>

Defined in: observable/index.ts:221

Chain operators onto this Subject's read-only view.

Type Parameters
A

A

B

B

Parameters
op1

OperatorFn<T, A>

op2

OperatorFn<A, B>

Returns

Observable<B>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

Call Signature

pipe<A, B, C>(op1, op2, op3): Observable<C>

Defined in: observable/index.ts:222

Chain operators onto this Subject's read-only view.

Type Parameters
A

A

B

B

C

C

Parameters
op1

OperatorFn<T, A>

op2

OperatorFn<A, B>

op3

OperatorFn<B, C>

Returns

Observable<C>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

Call Signature

pipe<A, B, C, D>(op1, op2, op3, op4): Observable<D>

Defined in: observable/index.ts:223

Chain operators onto this Subject's read-only view.

Type Parameters
A

A

B

B

C

C

D

D

Parameters
op1

OperatorFn<T, A>

op2

OperatorFn<A, B>

op3

OperatorFn<B, C>

op4

OperatorFn<C, D>

Returns

Observable<D>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

Call Signature

pipe<A, B, C, D, E>(op1, op2, op3, op4, op5): Observable<E>

Defined in: observable/index.ts:224

Chain operators onto this Subject's read-only view.

Type Parameters
A

A

B

B

C

C

D

D

E

E

Parameters
op1

OperatorFn<T, A>

op2

OperatorFn<A, B>

op3

OperatorFn<B, C>

op4

OperatorFn<C, D>

op5

OperatorFn<D, E>

Returns

Observable<E>

Observable emitting the transformed values.

Example
ts
subject.pipe(distinctUntilChanged()).subscribe((state) => console.log(state));

subscribe()

subscribe(callback): Disposable

Defined in: observable/index.ts:199

Register callback for every following value.

Parameters

callback

(value) => void

Receiver invoked once per emitted value.

Returns

Disposable

Disposable that unregisters the callback.

Example

ts
const sub = subject.subscribe((state) => console.log(state));