Skip to content

@camera.ui/sdk / observable / BehaviorSubject

Class: BehaviorSubject<T>

Defined in: observable/index.ts:257

Subject seeded with an initial value that always remembers the latest emission. New subscribers receive the current value immediately on subscribe() and then all subsequent values. The current value is also accessible synchronously via value and getValue().

Extends

Type Parameters

T

T

Constructors

Constructor

new BehaviorSubject<T>(initialValue): BehaviorSubject<T>

Defined in: observable/index.ts:260

Parameters

initialValue

T

Returns

BehaviorSubject<T>

Overrides

Subject.constructor

Accessors

closed

Get Signature

get closed(): boolean

Defined in: observable/index.ts:130

Whether complete() has already run.

Returns

boolean

Inherited from

Subject.closed


value

Get Signature

get value(): T

Defined in: observable/index.ts:296

The most recently emitted value.

Returns

T

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();

Inherited from

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();

Inherited from

Subject.complete


getValue()

getValue(): T

Defined in: observable/index.ts:291

Read the current value without subscribing.

Returns

T

The most recently emitted value.

Example

ts
const current = state$.getValue();

next()

next(value): void

Defined in: observable/index.ts:276

Store value as the current one and dispatch it to every subscriber.

Parameters

value

T

New current value.

Returns

void

Example

ts
const state$ = new BehaviorSubject('idle');
state$.next('recording');

Overrides

Subject.next


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));
Inherited from

Subject.pipe

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));
Inherited from

Subject.pipe

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));
Inherited from

Subject.pipe

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));
Inherited from

Subject.pipe

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));
Inherited from

Subject.pipe

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));
Inherited from

Subject.pipe


subscribe()

subscribe(callback): Disposable

Defined in: observable/index.ts:312

Register callback and invoke it immediately with the current value.

Parameters

callback

(value) => void

Receiver invoked once per emitted value.

Returns

Disposable

Disposable that unregisters the callback.

Example

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

Overrides

Subject.subscribe