Abstract Class: Ref<T>
A reference model base type.
Use customRef to create a custom ref constructor.
Extends
BaseModel<{id:TypedMaybeOptionalModelProp<IdentityType<string>>; },never,never,never,this> &Omit<{id:string; },BaseModelKeys> &object
Type Parameters
| Type Parameter |
|---|
T extends object |
Constructors
Constructor
new Ref<T>(data): Ref<T>;
Parameters
| Parameter | Type |
|---|---|
data | ModelPropsToTransformedCreationData<{ id: TypedMaybeOptionalModelProp<IdentityType<string>>; }> |
Returns
Ref<T>
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).constructor
Properties
[fromSnapshotOverrideTypeSymbol]
[fromSnapshotOverrideTypeSymbol]: never;
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).[fromSnapshotOverrideTypeSymbol]
[modelIdPropertyNameSymbol]
[modelIdPropertyNameSymbol]: never;
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).[modelIdPropertyNameSymbol]
[propsTypeSymbol]
[propsTypeSymbol]: object;
id
id: TypedMaybeOptionalModelProp<IdentityType<string>>;
Reference id.
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).[propsTypeSymbol]
[toSnapshotOverrideTypeSymbol]
[toSnapshotOverrideTypeSymbol]: never;
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).[toSnapshotOverrideTypeSymbol]
$
readonly $: object;
Data part of the model, which is observable and will be serialized in snapshots. Use it if one of the data properties matches one of the model properties/functions.
id
id: string;
Reference id.
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).$
$modelType
readonly $modelType: string;
Model type name.
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).$modelType
id
id: string;
Reference id.
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).id
Accessors
$modelId
Get Signature
get $modelId(): ModelIdPropertyType<TProps, ModelIdPropertyName>;
Model internal id. Can be modified inside a model action.
It will return undefined if there's no id prop set.
Returns
ModelIdPropertyType<TProps, ModelIdPropertyName>
Set Signature
set $modelId(newId): void;
Parameters
| Parameter | Type |
|---|---|
newId | ModelIdPropertyType<TProps, ModelIdPropertyName> |
Returns
void
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).$modelId
current
Get Signature
get current(): T;
The object this reference points to, or throws if invalid.
Returns
T
isValid
Get Signature
get isValid(): boolean;
If the reference is currently valid.
Returns
boolean
maybeCurrent
Get Signature
get maybeCurrent(): T | undefined;
The object this reference points to, or undefined if the reference is currently invalid.
Returns
T | undefined
Methods
forceUpdateBackRefs()
abstract forceUpdateBackRefs(): void;
Ensures back references for this ref are up to date. This only needs to be called if you need to get the most up to date back references while both still inside an action and while the reference is not a child of the same root than the target.
Returns
void
getRefId()
getRefId(): string | undefined;
Can be overridden to offer a reference id to be used in reference resolution.
By default it will use the idProp if available or return undefined otherwise.
Returns
string | undefined
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).getRefId
toString()
toString(options?): string;
Parameters
| Parameter | Type |
|---|---|
options? | { withData?: boolean; } |
options.withData? | boolean |
Returns
string
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).toString
typeCheck()
typeCheck(): TypeCheckError | null;
Performs a type check over the model instance. For this to work a data type has to be declared as part of the model properties.
Returns
TypeCheckError | null
A TypeCheckError or null if there is no error.
Inherited from
Model({
/
Reference id.
/
id: tProp(typesString),
}).typeCheck