Skip to content

@maxhealth.tech/prefab / rx / Rx

Class: Rx

Defined in: rx/rx.ts:16

Rx — Reactive expression builder.

Builds template expressions like "{{ count + 1 }}" or "{{ user.name }}" that are evaluated client-side by the prefab renderer.

Usage: rx('count') → "{{ count }}" rx('count').add(1) → "{{ count + 1 }}" rx('user').dot('name') → "{{ user.name }}" rx('items').length() → "{{ items | length }}" rx('price').currency('USD') → "{{ price | currency:'USD' }}" rx('active').then('Yes', 'No') → "{{ active ? 'Yes' : 'No' }}"

Constructors

Constructor

ts
new Rx(expression): Rx;

Defined in: rx/rx.ts:19

Parameters

ParameterType
expressionstring

Returns

Rx

Accessors

expression

Get Signature

ts
get expression(): string;

Defined in: rx/rx.ts:26

Raw expression string without {{ }} wrapper

Returns

string

Methods

toString()

ts
toString(): string;

Defined in: rx/rx.ts:31

Serialize to "{{ expression }}" template string

Returns

string


toJSON()

ts
toJSON(): string;

Defined in: rx/rx.ts:35

Returns

string


dot()

ts
dot(key): Rx;

Defined in: rx/rx.ts:42

Dot-path access: rx('user').dot('name') → "{{ user.name }}"

Parameters

ParameterType
keystring

Returns

Rx


at()

ts
at(index): Rx;

Defined in: rx/rx.ts:47

Index access: rx('items').at(0) → "{{ items.0 }}"

Parameters

ParameterType
indexnumber | Rx

Returns

Rx


add()

ts
add(other): Rx;

Defined in: rx/rx.ts:54

Parameters

ParameterType
otherstring | number | Rx

Returns

Rx


sub()

ts
sub(other): Rx;

Defined in: rx/rx.ts:58

Parameters

ParameterType
otherstring | number | Rx

Returns

Rx


mul()

ts
mul(other): Rx;

Defined in: rx/rx.ts:62

Parameters

ParameterType
otherstring | number | Rx

Returns

Rx


div()

ts
div(other): Rx;

Defined in: rx/rx.ts:66

Parameters

ParameterType
otherstring | number | Rx

Returns

Rx


mod()

ts
mod(other): Rx;

Defined in: rx/rx.ts:70

Parameters

ParameterType
otherstring | number | Rx

Returns

Rx


eq()

ts
eq(other): Rx;

Defined in: rx/rx.ts:76

Parameters

ParameterType
otherunknown

Returns

Rx


neq()

ts
neq(other): Rx;

Defined in: rx/rx.ts:80

Parameters

ParameterType
otherunknown

Returns

Rx


gt()

ts
gt(other): Rx;

Defined in: rx/rx.ts:84

Parameters

ParameterType
othernumber | Rx

Returns

Rx


gte()

ts
gte(other): Rx;

Defined in: rx/rx.ts:88

Parameters

ParameterType
othernumber | Rx

Returns

Rx


lt()

ts
lt(other): Rx;

Defined in: rx/rx.ts:92

Parameters

ParameterType
othernumber | Rx

Returns

Rx


lte()

ts
lte(other): Rx;

Defined in: rx/rx.ts:96

Parameters

ParameterType
othernumber | Rx

Returns

Rx


and()

ts
and(other): Rx;

Defined in: rx/rx.ts:102

Parameters

ParameterType
otherRx

Returns

Rx


or()

ts
or(other): Rx;

Defined in: rx/rx.ts:106

Parameters

ParameterType
otherRx

Returns

Rx


not()

ts
not(): Rx;

Defined in: rx/rx.ts:110

Returns

Rx


then()

ts
then(ifTrue, ifFalse): Rx;

Defined in: rx/rx.ts:116

Parameters

ParameterType
ifTrueunknown
ifFalseunknown

Returns

Rx


currency()

ts
currency(code?): Rx;

Defined in: rx/rx.ts:122

Parameters

ParameterType
code?string

Returns

Rx


percent()

ts
percent(decimals?): Rx;

Defined in: rx/rx.ts:126

Parameters

ParameterType
decimals?number

Returns

Rx


number()

ts
number(decimals?): Rx;

Defined in: rx/rx.ts:130

Parameters

ParameterType
decimals?number

Returns

Rx


round()

ts
round(decimals?): Rx;

Defined in: rx/rx.ts:134

Parameters

ParameterTypeDefault value
decimalsnumber0

Returns

Rx


compact()

ts
compact(decimals?): Rx;

Defined in: rx/rx.ts:138

Parameters

ParameterType
decimals?number

Returns

Rx


abs()

ts
abs(): Rx;

Defined in: rx/rx.ts:142

Returns

Rx


date()

ts
date(format?): Rx;

Defined in: rx/rx.ts:146

Parameters

ParameterType
format?string

Returns

Rx


time()

ts
time(): Rx;

Defined in: rx/rx.ts:150

Returns

Rx


datetime()

ts
datetime(): Rx;

Defined in: rx/rx.ts:154

Returns

Rx


upper()

ts
upper(): Rx;

Defined in: rx/rx.ts:158

Returns

Rx


lower()

ts
lower(): Rx;

Defined in: rx/rx.ts:162

Returns

Rx


truncate()

ts
truncate(maxLength): Rx;

Defined in: rx/rx.ts:166

Parameters

ParameterType
maxLengthnumber

Returns

Rx


pluralize()

ts
pluralize(word?): Rx;

Defined in: rx/rx.ts:170

Parameters

ParameterType
word?string

Returns

Rx


length()

ts
length(): Rx;

Defined in: rx/rx.ts:174

Returns

Rx


join()

ts
join(separator?): Rx;

Defined in: rx/rx.ts:178

Parameters

ParameterType
separator?string

Returns

Rx


first()

ts
first(): Rx;

Defined in: rx/rx.ts:182

Returns

Rx


last()

ts
last(): Rx;

Defined in: rx/rx.ts:186

Returns

Rx


selectattr()

ts
selectattr(attr): Rx;

Defined in: rx/rx.ts:190

Parameters

ParameterType
attrstring

Returns

Rx


rejectattr()

ts
rejectattr(attr): Rx;

Defined in: rx/rx.ts:194

Parameters

ParameterType
attrstring

Returns

Rx


default()

ts
default(value): Rx;

Defined in: rx/rx.ts:198

Parameters

ParameterType
valueunknown

Returns

Rx


pipe()

ts
pipe(name, ...args): Rx;

Defined in: rx/rx.ts:210

Append an arbitrary pipe filter: rx('x').pipe('humanName'){{ x | humanName }}

Supports variadic args: .pipe('date', 'long'){{ x | date:'long' }} Use this for custom pipes registered via registerPipe().

Parameters

ParameterType
namestring
...argsunknown[]

Returns

Rx

Released under the MIT License.