Module: core
Namespaces
- all
- cached
- cachedOr
- cachedOrFail
- catchIf
- context
- create
- destroy
- find
- forId
- forInstance
- forModel
- forRelation
- include
- instanceData
- none
- onError
- onFinally
- onRunning
- onSuccess
- one
- oneOr
- oneOrCurrent
- oneOrFail
- raw
- save
- target
- update
- when
Classes
Enhancers
context
▸ context<NC
>(contextToMerge
): <C>(action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & NC
, {}>>
Merge the given context into the action's current context. The context is not deeply merged.
Type parameters
Name | Type |
---|---|
NC | extends Object |
Parameters
Name | Type |
---|---|
contextToMerge | NC |
Returns
fn
▸ <C
>(action
): Promise
<Action
<Awaited
<C
> & NC
, {}>>
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & NC
, {}>>
Defined in
src/core/actions/context/enhancers/context.ts:12
create
▸ create<C
, SD
, D
, I
>(instance
): (action
: Action
<C
& ConsumeSerializer
<SD
>>) => Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'create' } & ConsumeInstance
<I
>, {}>
Prepare context for an instance creation.
Type parameters
Name | Type |
---|---|
C | extends Object |
SD | SD |
D | extends Object |
I | extends ModelInstance <D > |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'create' } & ConsumeInstance
<I
>, {}>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeSerializer <SD >> |
Returns
Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'create' } & ConsumeInstance
<I
>, {}>
Defined in
src/core/actions/context/enhancers/crud/create.ts:28
destroy
▸ destroy<C
, D
, I
>(instance
): (action
: Action
<C
>) => Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'destroy' } & ConsumeInstance
<I
>, {}>
Prepare context for an instance deletion.
Type parameters
Name | Type |
---|---|
C | extends Object |
D | extends Object |
I | extends ModelInstance <D > |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'destroy' } & ConsumeInstance
<I
>, {}>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}> & { action
: string
= 'destroy' } & ConsumeInstance
<I
>, {}>
Defined in
src/core/actions/context/enhancers/crud/destroy.ts:25
find
▸ find<C
, D
, I
, M
>(model
, id
): (action
: Action
<C
>) => Action
<Awaited
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}> & { id
: undefined
| ModelIdType
}, {}>
Target a given model record using its ID.
Type parameters
Name | Type |
---|---|
C | extends Object |
D | extends Object |
I | extends ModelInstance <D > |
M | extends Model <D , I > |
Parameters
Name | Type |
---|---|
model | M |
id | ModelIdType |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}> & { id
: undefined
| ModelIdType
}, {}>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Action
<Awaited
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}> & { id
: undefined
| ModelIdType
}, {}>
Defined in
src/core/actions/context/enhancers/crud/find.ts:15
forId
▸ forId(id
): <C>(action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { id
: undefined
| ModelIdType
}, {}>>
Target the given ID.
Parameters
Name | Type |
---|---|
id | undefined | ModelIdType |
Returns
fn
▸ <C
>(action
): Promise
<Action
<Awaited
<C
> & { id
: undefined
| ModelIdType
}, {}>>
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { id
: undefined
| ModelIdType
}, {}>>
Defined in
src/core/actions/context/enhancers/forId.ts:13
forInstance
▸ forInstance<C
, D
, I
>(instance
): (action
: Action
<C
>) => Action
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}, {}>
Target the given instance. Use its type and other applicable model's context.
Type parameters
Name | Type |
---|---|
C | extends Object |
D | extends Object |
I | extends ModelInstance <D > |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}, {}>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Action
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
}, {}>
Defined in
src/core/actions/context/enhancers/forInstance.ts:16
forModel
▸ forModel<C
, D
, I
, M
>(model
): (action
: Action
<C
>) => Action
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}, {}>
Target the given model. Use its type and other applicable model's context.
Type parameters
Name | Type |
---|---|
C | extends Object |
D | extends Object |
I | extends ModelInstance <D > |
M | extends Model <D , I > |
Parameters
Name | Type |
---|---|
model | M |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}, {}>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Action
<Awaited
<Awaited
<C
> & { model
: M
}> & { baseURL
: undefined
| string
; modelPath
: string
}, {}>
Defined in
src/core/actions/context/enhancers/forModel.ts:16
forRelation
▸ forRelation<C
, D
, I
, K
>(instance
, relationKey
): (action
: Action
<C
>) => Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, ModelClassInstance
<D
> & I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: ModelClassInstance
<D
> & I
}> & { id
: undefined
| ModelIdType
}> & { relation
: D
[K
] ; relationPath
: string
}, {}>
Target the given instance's relation. Use its type and other applicable model/relation context.
Type parameters
Name | Type |
---|---|
C | extends Object |
D | extends Object |
I | extends ModelInstance <D > |
K | extends string | number | symbol |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
relationKey | ModelRelationKey <D > & K |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, ModelClassInstance
<D
> & I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: ModelClassInstance
<D
> & I
}> & { id
: undefined
| ModelIdType
}> & { relation
: D
[K
] ; relationPath
: string
}, {}>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
> & { model
: Model
<D
, ModelClassInstance
<D
> & I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: ModelClassInstance
<D
> & I
}> & { id
: undefined
| ModelIdType
}> & { relation
: D
[K
] ; relationPath
: string
}, {}>
Defined in
src/core/actions/context/enhancers/forRelation.ts:32
include
▸ include<C
, I
>(...relations
): (action
: Action
<C
& ConsumeInclude
>) => Promise
<Action
<Awaited
<C
& ConsumeInclude
> & { include
: string
[] }, {}>>
Eager load the given relations for the current model definition. It accepts deep relations through dot notation. The new relations will be merged with the previous ones.
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends never |
Parameters
Name | Type |
---|---|
...relations | ArrayableVariadic <ModelRelationDotKey <I >> |
Returns
fn
▸ (action
): Promise
<Action
<Awaited
<C
& ConsumeInclude
> & { include
: string
[] }, {}>>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeInclude > |
Returns
Promise
<Action
<Awaited
<C
& ConsumeInclude
> & { include
: string
[] }, {}>>
Defined in
src/core/actions/context/enhancers/include.ts:21
instanceData
▸ instanceData<C
, SD
>(instance
): (action
: Action
<C
& ConsumeSerializer
<SD
>>) => Promise
<Action
<Awaited
<C
& ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }, {}>>
Serialize the given instance as the context's data.
Type parameters
Name | Type |
---|---|
C | extends Object |
SD | SD |
Parameters
Name | Type |
---|---|
instance | ModelInstance |
Returns
fn
▸ (action
): Promise
<Action
<Awaited
<C
& ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }, {}>>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeSerializer <SD >> |
Returns
Promise
<Action
<Awaited
<C
& ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }, {}>>
Defined in
src/core/actions/context/enhancers/crud/instanceData.ts:14
onError
▸ onError<C
>(callback
): (action
: Action
<C
>) => void
Register a "error" hook callback on action. Callback may be async.
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
callback | (event : { context : C ; error : unknown }) => Awaitable <void > |
Returns
fn
▸ (action
): void
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
void
Defined in
src/core/actions/context/enhancers/hooks/onError.ts:14
onFinally
▸ onFinally<C
>(callback
): (action
: Action
<C
>) => void
Register a "finally" hook callback on action. Callback may be async.
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
callback | (event : { context : C }) => Awaitable <void > |
Returns
fn
▸ (action
): void
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
void
Defined in
src/core/actions/context/enhancers/hooks/onFinally.ts:14
onRunning
▸ onRunning<C
>(callback
): (action
: Action
<C
>) => void
Register a "running" hook callback on action. Callback may be async.
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
callback | (event : { context : C ; runner : Function }) => Awaitable <void > |
Returns
fn
▸ (action
): void
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
void
Defined in
src/core/actions/context/enhancers/hooks/onRunning.ts:14
onSuccess
▸ onSuccess<C
>(callback
): (action
: Action
<C
>) => void
Register a "success" hook callback on action. Callback may be async.
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
callback | (event : { context : C ; result : unknown }) => Awaitable <void > |
Returns
fn
▸ (action
): void
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
void
Defined in
src/core/actions/context/enhancers/hooks/onSuccess.ts:14
save
▸ save<C
, SD
, D
, I
>(instance
): (action
: Action
<C
& ConsumeSerializer
<SD
>>) => Action
<C
& ConsumeModel
<Model
<D
, I
>> & ConsumeInstance
<I
> & ConsumeId
>
Prepare context for an instance creation or update depending on its existence state. Calls "update" if the instance exists, otherwise call "create".
Type parameters
Name | Type |
---|---|
C | extends Object |
SD | SD |
D | extends Object |
I | extends ModelInstance <D > |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
Returns
fn
▸ (action
): Action
<C
& ConsumeModel
<Model
<D
, I
>> & ConsumeInstance
<I
> & ConsumeId
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeSerializer <SD >> |
Returns
Action
<C
& ConsumeModel
<Model
<D
, I
>> & ConsumeInstance
<I
> & ConsumeId
>
Defined in
src/core/actions/context/enhancers/crud/save.ts:22
target
▸ target<D
, I
, M
>(model
): <C>(action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { model
: M
}, {}>>
Only target the given model.
In most cases, you should use forModel, find or any other
model's enhancers instead of target
.
Type parameters
Name | Type |
---|---|
D | extends Object |
I | extends ModelInstance <D > |
M | extends Model <D , I > |
Parameters
Name | Type |
---|---|
model | M |
Returns
fn
▸ <C
>(action
): Promise
<Action
<Awaited
<C
> & { model
: M
}, {}>>
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { model
: M
}, {}>>
Defined in
src/core/actions/context/enhancers/target.ts:15
update
▸ update<C
, SD
, D
, I
>(instance
): (action
: Action
<C
& ConsumeSerializer
<SD
>>) => Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { action
: string
= 'update' } & ConsumeInstance
<I
>, {}>
Prepare context for an instance update.
Type parameters
Name | Type |
---|---|
C | extends Object |
SD | SD |
D | extends Object |
I | extends ModelInstance <D > |
Parameters
Name | Type |
---|---|
instance | ModelClassInstance <D > & I |
Returns
fn
▸ (action
): Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { action
: string
= 'update' } & ConsumeInstance
<I
>, {}>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeSerializer <SD >> |
Returns
Action
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<Awaited
<C
& ConsumeSerializer
<SD
>> & { model
: Model
<D
, I
> }> & { baseURL
: undefined
| string
; modelPath
: string
}> & { instance
: I
}> & { id
: undefined
| ModelIdType
} & ConsumeSerializer
<SD
>> & { data
: Awaited
<SD
> }> & { action
: string
= 'update' } & ConsumeInstance
<I
>, {}>
Defined in
src/core/actions/context/enhancers/crud/update.ts:27
Other
Action
Ƭ Action<Context
, Extension
>: { run
: <Result>(runner
: ContextRunner
<Context
, Extension
, Result
>) => Promise
<Awaited
<Result
>> ; updateContext
: <NewContext>(newContext
: NewContext
) => Action
<NewContext
, Extension
> ; use
: <NewContext>(enhancer
: ContextEnhancer
<Context
, Extension
, NewContext
>) => Action
<NewContext
, Extension
> ; useContext
: () => Promise
<Context
> } & ActionVariadicUse
<Context
, Extension
> & Hookable
<ActionHooksDefinition
<Context
>> & ExtendedAction
<Extension
>
Type parameters
Name | Type |
---|---|
Context | extends Object = {} |
Extension | extends Object = {} |
Defined in
src/core/actions/types.ts:27
ActionClass
Ƭ ActionClass<Context
, Extension
>: { extends
: <NewExtension>(newExtensions?
: NewExtension
& ThisType
<Action
<Context
, Extension
& NewExtension
>>) => ActionClass
<Context
, Extension
& NewExtension
> } & Constructor
<Action
<Context
, Extension
>>
Type parameters
Name | Type |
---|---|
Context | extends Object = {} |
Extension | extends Object = {} |
Defined in
src/core/actions/types.ts:44
ActionFactory
Ƭ ActionFactory<Args
, Context
, Extension
>: (...args
: Args
) => Action
<Context
, Extension
>
Type parameters
Name | Type |
---|---|
Args | extends any [] |
Context | extends Object |
Extension | extends Object |
Type declaration
▸ (...args
): Action
<Context
, Extension
>
Parameters
Name | Type |
---|---|
...args | Args |
Returns
Action
<Context
, Extension
>
Defined in
src/core/actions/types.ts:50
ActionHooksDefinition
Ƭ ActionHooksDefinition<C
>: Object
Type parameters
Name | Type |
---|---|
C | extends Object = any |
Type declaration
Name | Type |
---|---|
error | HookCallback <{ context : C ; error : unknown }> |
finally | HookCallback <{ context : C }> |
running | HookCallback <{ context : C ; runner : Function }> |
success | HookCallback <{ context : C ; result : unknown }> |
Defined in
src/core/actions/types.ts:20
ActionParsedExtension
Ƭ ActionParsedExtension<E
>: { [K in keyof E]: E[K] extends DescriptorHolder<any> ? E[K] : DescriptorHolder<E[K]> }
Type parameters
Name | Type |
---|---|
E | extends Object = {} |
Defined in
src/core/actions/types.ts:54
AdapterI
Ƭ AdapterI<Data
>: Object
Type parameters
Name |
---|
Data |
Type declaration
Name | Type |
---|---|
execute | (context : {}) => Awaitable <Data > |
isNotFound | (error : unknown ) => Awaitable <boolean > |
Defined in
src/core/types.ts:16
AllData
Ƭ AllData<AD
, DD
, I
>: Object
Type parameters
Name | Type |
---|---|
AD | AD |
DD | extends DeserializedData |
I | extends ModelInstance |
Type declaration
Name | Type |
---|---|
data | AD |
deserialized | DD |
instances | I [] |
Defined in
src/core/actions/context/runners/all.ts:17
CacheI
Ƭ CacheI: Object
Type declaration
Name | Type |
---|---|
clear | () => Promise <void > |
find | (type : string , id : ModelIdType ) => Promise <null | ModelInstance > |
forget | (type : string , id : ModelIdType ) => Promise <void > |
forgetAll | (type : string ) => Promise <void > |
put | (type : string , id : ModelIdType , instance : ModelInstance ) => Promise <void > |
Defined in
src/core/types.ts:8
ConsumeAction
Ƭ ConsumeAction: Object
Type declaration
Name | Type |
---|---|
action | "read" | "create" | "update" | "destroy" | string |
Defined in
src/core/actions/types.ts:78
ConsumeAdapter
Ƭ ConsumeAdapter<AdapterData
>: Object
Type parameters
Name | Type |
---|---|
AdapterData | unknown |
Type declaration
Name | Type |
---|---|
adapter | AdapterI <AdapterData > |
Defined in
src/core/actions/types.ts:118
ConsumeCache
Ƭ ConsumeCache: Object
Type declaration
Name | Type |
---|---|
cache | CacheI |
Defined in
src/core/actions/types.ts:114
ConsumeData
Ƭ ConsumeData: Object
Type declaration
Name | Type |
---|---|
data | unknown |
Defined in
src/core/actions/types.ts:82
ConsumeDeserializer
Ƭ ConsumeDeserializer<AdapterData
, Data
>: Object
Type parameters
Name | Type |
---|---|
AdapterData | unknown |
Data | extends DeserializedData = DeserializedData |
Type declaration
Name | Type |
---|---|
deserializer | DeserializerI <AdapterData , Data > |
Defined in
src/core/actions/types.ts:122
ConsumeId
Ƭ ConsumeId: Object
Type declaration
Name | Type |
---|---|
id? | ModelIdType |
Defined in
src/core/actions/types.ts:106
ConsumeInclude
Ƭ ConsumeInclude: Object
Type declaration
Name | Type |
---|---|
include? | string [] |
Defined in
src/core/actions/types.ts:110
ConsumeInstance
Ƭ ConsumeInstance<I
>: Object
Type parameters
Name | Type |
---|---|
I | extends ModelInstance = ModelInstance |
Type declaration
Name | Type |
---|---|
instance | I |
Defined in
src/core/actions/types.ts:94
ConsumeModel
Ƭ ConsumeModel<M
>: Object
Type parameters
Name | Type |
---|---|
M | extends Model = Model |
Type declaration
Name | Type |
---|---|
model | M |
Defined in
src/core/actions/types.ts:86
ConsumeModelPath
Ƭ ConsumeModelPath: Object
Type declaration
Name | Type |
---|---|
modelPath | string |
Defined in
src/core/actions/types.ts:90
ConsumeRegistry
Ƭ ConsumeRegistry: Object
Type declaration
Name | Type |
---|---|
registry | RegistryI |
Defined in
src/core/actions/types.ts:116
ConsumeRelation
Ƭ ConsumeRelation<R
>: Object
Type parameters
Name | Type |
---|---|
R | extends ModelRelation = ModelRelation |
Type declaration
Name | Type |
---|---|
relation | R |
Defined in
src/core/actions/types.ts:98
ConsumeRelationPath
Ƭ ConsumeRelationPath: Object
Type declaration
Name | Type |
---|---|
relationPath | string |
Defined in
src/core/actions/types.ts:102
ConsumeSerializer
Ƭ ConsumeSerializer<Data
>: Object
Type parameters
Name | Type |
---|---|
Data | unknown |
Type declaration
Name | Type |
---|---|
serializer | SerializerI <Data > |
Defined in
src/core/actions/types.ts:129
ContextEnhancer
Ƭ ContextEnhancer<C
, E
, NC
>: (action
: Action
<C
, E
>) => Awaitable
<Action
<NC
, E
> | Action
<NC
> | void
>
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
NC | extends Object |
Type declaration
▸ (action
): Awaitable
<Action
<NC
, E
> | Action
<NC
> | void
>
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Awaitable
<Action
<NC
, E
> | Action
<NC
> | void
>
Defined in
src/core/actions/types.ts:62
ContextRunner
Ƭ ContextRunner<C
, E
, R
>: (action
: Action
<C
, E
>) => R
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
R | R |
Type declaration
▸ (action
): R
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
R
Defined in
src/core/actions/types.ts:66
DeserializedData
Ƭ DeserializedData<I
>: Object
Type parameters
Name | Type |
---|---|
I | extends ModelInstance = ModelInstance |
Type declaration
Name | Type |
---|---|
instances | I [] |
Defined in
src/core/types.ts:25
DeserializerI
Ƭ DeserializerI<AdapterData
, Data
>: Object
Type parameters
Name | Type |
---|---|
AdapterData | AdapterData |
Data | extends DeserializedData |
Type declaration
Name | Type |
---|---|
deserialize | (data : AdapterData , context : {}) => Awaitable <Data > |
Defined in
src/core/types.ts:29
ExtendedAction
Ƭ ExtendedAction<E
>: { [K in keyof E]: E[K] extends DescriptorHolder<infer T> ? T : E[K] }
Type parameters
Name | Type |
---|---|
E | extends Object |
Defined in
src/core/actions/types.ts:58
FunctionTransform
Ƭ FunctionTransform<T
, S
>: (value
: S
) => Awaitable
<T
>
Type parameters
Name |
---|
T |
S |
Type declaration
▸ (value
): Awaitable
<T
>
Parameters
Name | Type |
---|---|
value | S |
Returns
Awaitable
<T
>
Defined in
src/core/transformers/types.ts:3
HookCallback
Ƭ HookCallback<E
>: (event
: E
) => Awaitable
<void
>
Type parameters
Name |
---|
E |
Type declaration
▸ (event
): Awaitable
<void
>
Parameters
Name | Type |
---|---|
event | E |
Returns
Awaitable
<void
>
Defined in
src/core/hooks/types.ts:3
Hookable
Ƭ Hookable<D
>: Object
Type parameters
Name | Type |
---|---|
D | extends HooksDefinition |
Type declaration
Name | Type |
---|---|
$hooks | HooksRegistrar <D > | null |
Defined in
src/core/hooks/types.ts:11
HooksDefinition
Ƭ HooksDefinition: Dictionary
<HookCallback
<any
>>
Defined in
src/core/hooks/types.ts:5
HooksRegistrar
Ƭ HooksRegistrar<D
>: { [K in keyof D]?: D[K][] }
Type parameters
Name | Type |
---|---|
D | extends HooksDefinition |
Defined in
src/core/hooks/types.ts:7
InferConsumedInstance
Ƭ InferConsumedInstance<C
>: C
extends { relation
: ModelRelationRaw
<infer I[]> } ? I
extends ModelInstance
? I
: never
: C
extends { relation
: ModelRelationRaw
<infer I> } ? I
extends ModelInstance
? I
: never
: C
extends { model
: Constructor
<infer I> } ? I
extends ModelInstance
? I
: never
: never
Type parameters
Name | Type |
---|---|
C | extends Object |
Defined in
src/core/actions/types.ts:70
MapRegistryConfig
Ƭ MapRegistryConfig: Object
Type declaration
Name | Type |
---|---|
normalizeType? | Optional <Normalizer <string >> |
prepareModel? | Optional <ModelPreparator > |
Defined in
src/core/registry/types.ts:9
Model
Ƭ Model<D
, I
>: ModelClass
<D
> & Constructor
<I
>
Model class of a dedicated instance. This type is used to keep instance generic typing across actions enhancements.
Type parameters
Name | Type |
---|---|
D | extends Object = any |
I | extends ModelInstance <D > = any |
Defined in
src/core/model/types.ts:244
ModelAttribute
Ƭ ModelAttribute<K
, T
, R
>: ModelPropNormalized
<K
> & ModelAttributeRaw
<T
, R
>
Definition for a model's attribute.
Type parameters
Name | Type |
---|---|
K | string |
T | any |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:144
ModelAttributeRaw
Ƭ ModelAttributeRaw<T
, R
>: { $MODEL_TYPE
: "attribute"
; transformer?
: Transform
<T
| null
> } & ModelPropRaw
<T
, R
>
Raw definition for a model's attribute.
Type parameters
Name | Type |
---|---|
T | unknown |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:133
ModelClass
Ƭ ModelClass<D
>: Hookable
<ModelHooksDefinition
> & { $MODEL_TYPE
: "model"
; $config
: ModelConfig
; $schema
: ModelSchema
<D
> ; $type
: string
; configure
: (rawConfig?
: ModelConfig
, override?
: boolean
) => void
; extends
: <ND>(rawDefinition?
: ND
& ThisType
<ModelInstance
<D
& ND
>>) => Model
<D
& ND
, ModelInstance
<D
& ND
>> }
Extendable model class holding the configuration and schema.
Type parameters
Name | Type |
---|---|
D | extends Object = any |
Defined in
src/core/model/types.ts:226
ModelClassInstance
Ƭ ModelClassInstance<D
>: Object
Model instance for a dedicated model class. This type is used to keep instance generic typing across actions enhancements.
Type parameters
Name | Type |
---|---|
D | extends Object = any |
Type declaration
Name | Type |
---|---|
$model | ModelClass <D > |
Defined in
src/core/model/types.ts:252
ModelClassOrInstance
Ƭ ModelClassOrInstance<D
>: ModelClass
<D
> | ModelClassInstance
<D
>
Model class or instance.
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:354
ModelConfig
Ƭ ModelConfig: Object
Configuration of a model class.
Type declaration
Name | Type | Description |
---|---|---|
baseURL? | Optional <string > | Dedicated base URL. Will overwrite the default base URL. |
cloneValue? | Optional <<T>(value : T ) => T > | Clone two values when sync model instances values state. Param See - restore - markSynced |
compareValue? | Optional <(nextValue : unknown , prevValue : unknown ) => boolean > | Compare two values when checking model instance changed values. Param Param See changed |
guessRelationType? | Optional <ModelRelationTypeGuesser > | Guess the type for a given relation. |
normalizeAttributeKey? | Optional <Normalizer <string >> | Normalize an attribute key when (de)serializing for data source. Prioritized over normalizeKey . |
normalizeKey? | Optional <Normalizer <string >> | Normalize an attribute/relation key when (de)serializing for data source. |
normalizeModelPath? | Optional <Normalizer <string >> | Normalize a model path when injecting it inside an action context. Prioritized over normalizePath . |
normalizePath? | Optional <Normalizer <string >> | Normalize a model/relation path when injecting it inside an action context. |
normalizeRelationKey? | Optional <Normalizer <string >> | Normalize a relation key when (de)serializing for data source. Prioritized over normalizeKey . |
normalizeRelationPath? | Optional <Normalizer <string >> | Normalize a relation path when injecting it inside an action context. Prioritized over normalizePath . |
path? | Optional <string > | Path which is used to query the model. Defaults to the model's type. |
Defined in
src/core/model/types.ts:9
ModelDefinitionDescriptorKey
Ƭ ModelDefinitionDescriptorKey<D
>: { [K in keyof D]: D[K] extends DescriptorHolder<any> ? K : never }[keyof D
]
Model descriptors key (only custom properties).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:295
ModelDefinitionDescriptors
Ƭ ModelDefinitionDescriptors<D
>: Pick
<ModelDefinitionProperties
<D
>, ModelDefinitionDescriptorKey
<D
>>
Model descriptors map (only custom properties).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:321
ModelDefinitionProperties
Ƭ ModelDefinitionProperties<D
>: ModelIdsDefaults
<D
> & { [K in keyof D]: D[K] extends ModelAttribute<K, infer T, any> ? T : D[K] extends ModelRelation<K, infer T, any> ? T : D[K] extends ModelId<K, infer T, any> ? T : D[K] extends DescriptorHolder<infer T> ? T : D[K] }
Model properties map (IDs/attributes/relations/custom props).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:266
ModelDefinitionReadOnlyKey
Ƭ ModelDefinitionReadOnlyKey<D
>: { [K in keyof D]: D[K] extends DescriptorHolder<any> ? never : D[K] extends Object ? K : never }[keyof D
]
Model properties key (only readonly IDs/attributes/relations).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:286
ModelDefinitionReadOnlyValues
Ƭ ModelDefinitionReadOnlyValues<D
>: Readonly
<Pick
<ModelDefinitionProperties
<D
>, ModelDefinitionReadOnlyKey
<D
>>>
Model properties map (only readonly IDs/attributes/relations).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:308
ModelDefinitionValues
Ƭ ModelDefinitionValues<D
>: ModelDefinitionWritableValues
<D
> & ModelDefinitionReadOnlyValues
<D
>
Model properties map (IDs/attributes/relations).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:314
ModelDefinitionWritableKey
Ƭ ModelDefinitionWritableKey<D
>: { [K in keyof D]: D[K] extends DescriptorHolder<any> ? never : D[K] extends Object ? never : K }[keyof D
] | keyof ModelIdsDefaults
<D
>
Model properties key (only writable IDs/attributes/relations).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:277
ModelDefinitionWritableValues
Ƭ ModelDefinitionWritableValues<D
>: Pick
<ModelDefinitionProperties
<D
>, ModelDefinitionWritableKey
<D
>>
Model properties map (only writable IDs/attributes/relations).
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:302
ModelHookCallback
Ƭ ModelHookCallback: HookCallback
<ModelInstance
>
Model generic hook callback function.
Defined in
src/core/model/types.ts:206
ModelHooksDefinition
Ƭ ModelHooksDefinition: Object
Model's hooks definition.
Type declaration
Name | Type |
---|---|
created | ModelHookCallback |
creating | ModelHookCallback |
destroyed | ModelHookCallback |
destroying | ModelHookCallback |
retrieved | ModelHookCallback |
saved | ModelHookCallback |
saving | ModelHookCallback |
updated | ModelHookCallback |
updating | ModelHookCallback |
Defined in
src/core/model/types.ts:211
ModelId
Ƭ ModelId<K
, T
, R
>: ModelPropNormalized
<K
> & ModelIdRaw
<T
, R
>
Definition for a model's ID.
Type parameters
Name | Type |
---|---|
K | string |
T | extends ModelIdType | null = any |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:126
ModelIdRaw
Ƭ ModelIdRaw<T
, R
>: { $MODEL_TYPE
: "id"
; transformer?
: Transform
<T
| null
> } & ModelPropRaw
<T
, R
>
Raw Definition for a model's ID.
Type parameters
Name | Type |
---|---|
T | extends ModelIdType | null = any |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:118
ModelIdType
Ƭ ModelIdType: string
| number
Model instance ID default typing.
Defined in
src/core/model/types.ts:79
ModelIdsDefaults
Ƭ ModelIdsDefaults<D
>: D
extends { id
: any
} ? {} : { id
: ModelIdType
| null
} & D
extends { lid
: any
} ? {} : { lid
: ModelIdType
| null
}
Model defaults IDs typing when not defined by definition.
Type parameters
Name | Type |
---|---|
D | extends Object |
Defined in
src/core/model/types.ts:259
ModelInferDefinition
Ƭ ModelInferDefinition<M
>: M
extends ModelClassOrInstance
<infer D> ? D
: M
extends {} ? M
: never
Infer the definition from a model class or model instance.
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:359
ModelInferSchema
Ƭ ModelInferSchema<M
>: ModelSchema
<ModelInferDefinition
<M
>>
Infer the schema from a model class or model instance.
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:368
ModelInstance
Ƭ ModelInstance<D
>: { $MODEL_TYPE
: "instance"
; $loaded
: Dictionary
<true
> ; $model
: ModelClass
<D
> ; $original
: ModelSnapshot
<D
> ; $raw
: any
; $values
: Partial
<ModelValues
<D
>> ; exists
: boolean
} & ModelDefinitionValues
<D
> & ModelDefinitionDescriptors
<D
>
Model instance holding state and values.
Type parameters
Name | Type |
---|---|
D | extends Object = any |
Defined in
src/core/model/types.ts:327
ModelKey
Ƭ ModelKey<M
>: string
& keyof ModelInferSchema
<M
> & keyof ModelValues
<M
>
Model class or instance IDs/attributes/relations key.
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:388
ModelParsedDefinition
Ƭ ModelParsedDefinition<D
>: { [K in keyof D]: D[K] extends ModelAttributeRaw<any, any> ? D[K] & ModelPropNormalized<K> : D[K] extends ModelRelationRaw<any, any> ? D[K] & ModelPropNormalized<K> : D[K] extends ModelIdRaw<any, any> ? D[K] & ModelPropNormalized<K> : D[K] extends DescriptorHolder<any> ? D[K] : DescriptorHolder<D[K]> }
The parsed model definition with non attributes/relations properties' descriptors wrapped in holders.
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Defined in
src/core/model/types.ts:177
ModelPreparator
Ƭ ModelPreparator: (model
: Model
) => Awaitable
<void
>
Type declaration
▸ (model
): Awaitable
<void
>
Parameters
Name | Type |
---|---|
model | Model |
Returns
Awaitable
<void
>
Defined in
src/core/registry/types.ts:7
ModelPropNormalized
Ƭ ModelPropNormalized<K
>: Object
Normalized part of a property's definition (attribute or relation).
Type parameters
Name | Type |
---|---|
K | string |
Type declaration
Name | Type |
---|---|
key | K |
Defined in
src/core/model/types.ts:89
ModelPropRaw
Ƭ ModelPropRaw<T
, R
>: Object
Raw definition for a model's property (attribute or relation).
Type parameters
Name | Type |
---|---|
T | unknown |
R | extends boolean = boolean |
Type declaration
Name | Type | Description |
---|---|---|
alias? | string | Alias of the property (might be used when (de)serializing). |
default? | T | () => T | Default value for the property. |
readOnly? | R | Makes the property read-only. |
sync? | boolean | ModelPropSync | Tells if the property should be synced with the data store. |
Defined in
src/core/model/types.ts:96
ModelPropSync
Ƭ ModelPropSync: "retrieve"
| "write"
Sync precise configuration for a property (will only do defined action).
Defined in
src/core/model/types.ts:84
ModelReadOnlyValues
Ƭ ModelReadOnlyValues<M
>: ModelDefinitionReadOnlyValues
<ModelInferDefinition
<M
>>
Model class or instance values map (only readonly IDs/attributes/relations).
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:383
ModelRelation
Ƭ ModelRelation<K
, T
, R
>: ModelPropNormalized
<K
> & ModelRelationRaw
<T
, R
>
Definition for a model's attribute.
Type parameters
Name | Type |
---|---|
K | string |
T | any |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:169
ModelRelationDotKey
Ƭ ModelRelationDotKey<M
, Depth
>: [Depth
] extends [0
] ? never
: keyof ModelInferSchema
<M
> extends infer K ? K
extends string
& keyof ModelInferSchema
<M
> & keyof ModelValues
<M
> ? ModelInferSchema
<M
>[K
] extends never
? never
: ModelInferSchema
<M
>[K
] extends ModelRelation
<any
, infer T> ? T
extends any
[] ? K
| `${K}.${ModelRelationDotKey<T[number], Prev[Depth]>}` : K
| `${K}.${ModelRelationDotKey<T, Prev[Depth]>}` : never
: never
: never
Model class or instance relations key (supports nested relation using dot separator).
Example
const keys: ModelRelationDotKey<Post>[] = ['comments', 'comments.author', 'tags'];
Type parameters
Name | Type |
---|---|
M | M |
Depth | extends number = 5 |
Defined in
src/core/model/types.ts:414
ModelRelationKey
Ƭ ModelRelationKey<M
>: keyof ModelInferSchema
<M
> extends infer K ? K
extends string
& keyof ModelInferSchema
<M
> & keyof ModelValues
<M
> ? ModelInferSchema
<M
>[K
] extends never
? never
: ModelInferSchema
<M
>[K
] extends ModelRelation
? K
: never
: never
: never
Model class or instance relations key (only direct relations).
Example
const keys: ModelRelationKey<Post>[] = ['comments', 'tags'];
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:399
ModelRelationRaw
Ƭ ModelRelationRaw<T
, R
>: { $MODEL_TYPE
: "relation"
; $RELATION_TYPE
: ModelRelationType
; path?
: string
; type?
: string
} & ModelPropRaw
<T
, R
>
Raw definition for a model's relation.
Type parameters
Name | Type |
---|---|
T | any |
R | extends boolean = boolean |
Defined in
src/core/model/types.ts:156
ModelRelationType
Ƭ ModelRelationType: "hasOne"
| "hasMany"
Available model relation types.
Defined in
src/core/model/types.ts:151
ModelRelationTypeGuesser
Ƭ ModelRelationTypeGuesser: (model
: ModelClass
, def
: ModelRelation
) => Optional
<string
>
Type declaration
▸ (model
, def
): Optional
<string
>
Guess a model's relation related type.
Parameters
Name | Type |
---|---|
model | ModelClass |
def | ModelRelation |
Returns
Optional
<string
>
Defined in
src/core/model/types.ts:74
ModelResolver
Ƭ ModelResolver: () => Promise
<Model
>
Type declaration
▸ (): Promise
<Model
>
Returns
Promise
<Model
>
Defined in
src/core/registry/types.ts:5
ModelSchema
Ƭ ModelSchema<D
>: { [K in keyof D]: D[K] extends ModelAttribute<K, any, any> ? D[K] : D[K] extends ModelRelation<K, any, any> ? D[K] : D[K] extends ModelId<K, any, any> ? D[K] : never }
Extract model's IDs, attributes and relations from the whole definition.
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Defined in
src/core/model/types.ts:188
ModelSchemaRelations
Ƭ ModelSchemaRelations<D
>: { [K in keyof D]: D[K] extends ModelRelation<K> ? D[K] : never }
Extract model's relations from the whole definition.
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Defined in
src/core/model/types.ts:198
ModelSnapshot
Ƭ ModelSnapshot<M
>: Object
Model class or instance snapshot.
Type parameters
Name |
---|
M |
Type declaration
Name | Type |
---|---|
$loaded | Dictionary <true > |
$model | ModelClass |
$raw | any |
$values | Partial <ModelValues <M >> |
exists | boolean |
Defined in
src/core/model/types.ts:343
ModelValues
Ƭ ModelValues<M
>: ModelDefinitionValues
<ModelInferDefinition
<M
>>
Model class or instance values map (only IDs/attributes/relations).
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:373
ModelWritableValues
Ƭ ModelWritableValues<M
>: ModelDefinitionWritableValues
<ModelInferDefinition
<M
>>
Model class or instance values map (only writable IDs/attributes/relations).
Type parameters
Name |
---|
M |
Defined in
src/core/model/types.ts:378
Normalizer
Ƭ Normalizer<T
, U
>: (value
: T
) => U
Type parameters
Name | Type |
---|---|
T | T |
U | T |
Type declaration
▸ (value
): U
Parameters
Name | Type |
---|---|
value | T |
Returns
U
Defined in
src/core/normalization/types.ts:1
ObjectTransform
Ƭ ObjectTransform<T
, S
>: Object
Type parameters
Name |
---|
T |
S |
Type declaration
Name | Type |
---|---|
deserialize | (value : S ) => Awaitable <T > |
serialize | (value : T ) => Awaitable <S > |
Defined in
src/core/transformers/types.ts:5
OneData
Ƭ OneData<AD
, DD
, I
>: AllData
<AD
, DD
, I
> & { instance
: I
}
Type parameters
Name | Type |
---|---|
AD | AD |
DD | extends DeserializedData |
I | extends ModelInstance |
Defined in
src/core/actions/context/runners/oneOr.ts:17
RefsCacheConfig
Ƭ RefsCacheConfig<R
>: Object
Type parameters
Name | Type |
---|---|
R | unknown |
Type declaration
Name | Type |
---|---|
mode? | RefsCacheMode <R > |
Defined in
src/core/cache/types.ts:9
RefsCacheMode
Ƭ RefsCacheMode<R
>: Object
Type parameters
Name |
---|
R |
Type declaration
Name | Type |
---|---|
ref | (instance : ModelInstance ) => Awaitable <R > |
value | (ref : R ) => Awaitable <undefined | ModelInstance > |
Defined in
src/core/cache/types.ts:4
RegistryI
Ƭ RegistryI: Object
Type declaration
Name | Type |
---|---|
modelFor | (rawType : string ) => Promise <null | Model > |
Defined in
src/core/types.ts:4
SerializerI
Ƭ SerializerI<Data
>: Object
Type parameters
Name |
---|
Data |
Type declaration
Name | Type |
---|---|
serialize | (instance : ModelInstance , context : {}) => Awaitable <Data > |
Defined in
src/core/types.ts:21
Transform
Ƭ Transform<T
, S
>: FunctionTransform
<T
, S
> | ObjectTransform
<T
, S
>
Type parameters
Name | Type |
---|---|
T | T |
S | unknown |
Defined in
src/core/transformers/types.ts:10
logger
• logger: Logger
Defined in
src/core/logger/logger.ts:49
weakRefCacheMode
• Const
weakRefCacheMode: RefsCacheMode
<WeakRef
<ModelInstance
>>
Defined in
src/core/cache/weakRefCacheMode.ts:4
attr
▸ attr<T
>(...config
): ModelAttributeRaw
<T
, false
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
...config | AttrOptionsVariadic <T > |
Returns
ModelAttributeRaw
<T
, false
>
Defined in
src/core/model/props/factories/attr.ts:14
changed
▸ changed<I
>(instance
, ...only
): boolean
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
...only | ArrayableVariadic <ModelKey <I >> |
Returns
boolean
Defined in
src/core/model/snapshots/changed.ts:6
compareSnapshots
▸ compareSnapshots<M
>(nextSnapshot
, prevSnapshot
, ...only
): boolean
Type parameters
Name | Type |
---|---|
M | extends ModelClass |
Parameters
Name | Type |
---|---|
nextSnapshot | ModelSnapshot <M > |
prevSnapshot | ModelSnapshot <M > |
...only | ArrayableVariadic <ModelKey <M >> |
Returns
boolean
Defined in
src/core/model/snapshots/compareSnapshots.ts:6
consumeAction
▸ consumeAction<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeAction
>["action"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeAction > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeAction
>["action"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeAction.ts:4
consumeAdapter
▸ consumeAdapter<C
, AD
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeAdapter
<AD
>>["adapter"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
AD | AD |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeAdapter <AD >> |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeAdapter
<AD
>>["adapter"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeAdapter.ts:4
consumeCache
▸ consumeCache<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeCache
>["cache"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeCache > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeCache
>["cache"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeCache.ts:4
consumeContext
▸ consumeContext<Context
, Key
, Default
>(context
, key
, enhancers
, defaultValue?
): Exclude
<Context
[Key
] | Default
, undefined
>
Type parameters
Name | Type |
---|---|
Context | extends Object |
Key | extends string | number | symbol |
Default | never |
Parameters
Name | Type |
---|---|
context | Context |
key | Key |
enhancers | string [] |
defaultValue? | Default |
Returns
Exclude
<Context
[Key
] | Default
, undefined
>
Defined in
src/core/actions/context/consumers/consumeContext.ts:4
consumeData
▸ consumeData<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeData
>["data"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeData > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeData
>["data"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeData.ts:4
consumeDeserializer
▸ consumeDeserializer<C
, AD
, DD
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeDeserializer
<AD
, DD
>>["deserializer"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
AD | AD |
DD | extends DeserializedData |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeDeserializer <AD , DD >> |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeDeserializer
<AD
, DD
>>["deserializer"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeDeserializer.ts:5
consumeId
▸ consumeId<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeId
>["id"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeId > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeId
>["id"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeId.ts:4
consumeInclude
▸ consumeInclude<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeInclude
>["include"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeInclude > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeInclude
>["include"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeInclude.ts:4
consumeInstance
▸ consumeInstance<C
, I
, D
>(context
, defaultValue?
): I
| D
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends ModelInstance |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeInstance <I >> |
defaultValue? | D |
Returns
I
| D
Defined in
src/core/actions/context/consumers/consumeInstance.ts:5
consumeModel
▸ consumeModel<C
, M
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeModel
<M
>>["model"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
M | extends Model |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeModel <M >> |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeModel
<M
>>["model"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeModel.ts:5
consumeModelPath
▸ consumeModelPath<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeModelPath
>["modelPath"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeModelPath > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeModelPath
>["modelPath"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeModelPath.ts:4
consumeRegistry
▸ consumeRegistry<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRegistry
>["registry"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeRegistry > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRegistry
>["registry"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeRegistry.ts:4
consumeRelation
▸ consumeRelation<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRelation
>["relation"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeRelation > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRelation
>["relation"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeRelation.ts:4
consumeRelationPath
▸ consumeRelationPath<C
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRelationPath
>["relationPath"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeRelationPath > |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeRelationPath
>["relationPath"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeRelationPath.ts:4
consumeSerializer
▸ consumeSerializer<C
, SD
, D
>(context
, defaultValue?
): Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeSerializer
<SD
>>["serializer"
], undefined
>
Type parameters
Name | Type |
---|---|
C | extends Object |
SD | SD |
D | never |
Parameters
Name | Type |
---|---|
context | C & Partial <ConsumeSerializer <SD >> |
defaultValue? | D |
Returns
Exclude
<D
, undefined
> | Exclude
<C
& Partial
<ConsumeSerializer
<SD
>>["serializer"
], undefined
>
Defined in
src/core/actions/context/consumers/consumeSerializer.ts:4
fill
▸ fill<I
>(instance
, values
): I
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
values | Partial <ModelWritableValues <I >> |
Returns
I
Defined in
src/core/model/fill.ts:4
hasMany
▸ hasMany<T
>(config?
): ModelRelationRaw
<T
[]>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
config | string | HasManyOptions <T []> |
Returns
ModelRelationRaw
<T
[]>
Defined in
src/core/model/props/factories/hasMany.ts:6
hasOne
▸ hasOne<T
>(config?
): ModelRelationRaw
<T
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
config | string | HasOneOptions <T > |
Returns
Defined in
src/core/model/props/factories/hasOne.ts:6
id
▸ id<T
>(config?
): ModelIdRaw
<T
, false
>
Type parameters
Name | Type |
---|---|
T | extends null | ModelIdType = ModelIdType |
Parameters
Name | Type |
---|---|
config | IdOptions <T > | Transform <null | T > |
Returns
ModelIdRaw
<T
, false
>
Defined in
src/core/model/props/factories/id.ts:8
isAttributeDef
▸ isAttributeDef(value
): value is ModelAttribute<any>
Parameters
Name | Type |
---|---|
value | unknown |
Returns
value is ModelAttribute<any>
Defined in
src/core/model/props/checks/isAttributeDef.ts:4
isIdDef
▸ isIdDef(value
): value is ModelId<any>
Parameters
Name | Type |
---|---|
value | unknown |
Returns
value is ModelId<any>
Defined in
src/core/model/props/checks/isIdDef.ts:4
isInstance
▸ isInstance<I
>(value
): value is I
Type parameters
Name | Type |
---|---|
I | extends ModelInstance = ModelInstance |
Parameters
Name | Type |
---|---|
value | unknown |
Returns
value is I
Defined in
src/core/model/props/checks/isInstance.ts:4
isModel
▸ isModel<M
>(value
): value is M
Type parameters
Name | Type |
---|---|
M | extends Model | ModelClass |
Parameters
Name | Type |
---|---|
value | unknown |
Returns
value is M
Defined in
src/core/model/props/checks/isModel.ts:4
isPluralRelationDef
▸ isPluralRelationDef(def
): boolean
Parameters
Name | Type |
---|---|
def | ModelRelation |
Returns
boolean
Defined in
src/core/model/props/checks/isPluralRelationDef.ts:3
isPropDef
▸ isPropDef(def
): def is ModelRelation<any> | ModelAttribute<any> | ModelId<any>
Parameters
Name | Type |
---|---|
def | unknown |
Returns
def is ModelRelation<any> | ModelAttribute<any> | ModelId<any>
Defined in
src/core/model/props/checks/isPropDef.ts:6
isRelationDef
▸ isRelationDef(value
): value is ModelRelation<any>
Parameters
Name | Type |
---|---|
value | unknown |
Returns
value is ModelRelation<any>
Defined in
src/core/model/props/checks/isRelationDef.ts:4
isSame
▸ isSame(value
, otherValue
): boolean
Parameters
Name | Type |
---|---|
value | unknown |
otherValue | unknown |
Returns
boolean
Defined in
src/core/model/isSame.ts:4
loaded
▸ loaded<I
>(instance
, ...relations
): boolean
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
...relations | ArrayableVariadic <ModelRelationDotKey <I >> |
Returns
boolean
Defined in
src/core/model/relations/loaded.ts:7
makeActionClass
▸ makeActionClass<Extension
>(extensions?
): ActionClass
<{}, Extension
>
Type parameters
Name | Type |
---|---|
Extension | extends Object = {} |
Parameters
Name | Type |
---|---|
extensions? | Extension & ThisType <Action <{}, Extension >> |
Returns
ActionClass
<{}, Extension
>
Defined in
src/core/actions/makeActionClass.ts:15
makeComposable
▸ makeComposable<D
>(rawDefinition?
): ModelParsedDefinition
<D
>
Create a composable definition which will be used by a model factory.
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Parameters
Name | Type |
---|---|
rawDefinition? | D & ThisType <ModelInstance <ModelParsedDefinition <D >>> |
Returns
Defined in
src/core/model/makeComposable.ts:9
makeEnhancersExtension
▸ makeEnhancersExtension<E
>(enhancersMap
): ActionParsedExtension
<{}>
Takes a dictionary of enhancers and returns an extension providing those enhancers features.
Type parameters
Name | Type |
---|---|
E | extends Dictionary <any > = {} |
Parameters
Name | Type |
---|---|
enhancersMap | E |
Returns
Todo
This function returns value should be generically typed.
Defined in
src/core/actions/extensions/makeEnhancersExtension.ts:13
makeForRelationLoader
▸ makeForRelationLoader<AD
, DD
>(action
): <I>(instances
: Arrayable
<I
>, ...relations
: ArrayableVariadic
<ModelRelationKey
<I
>>) => Promise
<void
>
Type parameters
Name | Type |
---|---|
AD | AD |
DD | extends DeserializedData |
Parameters
Name | Type |
---|---|
action | ActionFactory <[], ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, {}> |
Returns
fn
▸ <I
>(instances
, ...relations
): Promise
<void
>
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instances | Arrayable <I > |
...relations | ArrayableVariadic <ModelRelationKey <I >> |
Returns
Promise
<void
>
Defined in
src/core/model/relations/makeForRelationLoader.ts:9
makeModel
▸ makeModel<D
>(rawConfig
, rawDefinition?
): Model
<ModelParsedDefinition
<{} & D
>, ModelInstance
<ModelParsedDefinition
<{} & D
>>>
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Parameters
Name | Type |
---|---|
rawConfig | string | ModelConfig & { type : string } |
rawDefinition? | D & ThisType <ModelInstance <ModelParsedDefinition <{} & D >>> |
Returns
Model
<ModelParsedDefinition
<{} & D
>, ModelInstance
<ModelParsedDefinition
<{} & D
>>>
Defined in
src/core/model/makeModelFactory.ts:9
makeModelFactory
▸ makeModelFactory<ND
>(baseRawDefinition?
, baseConfig?
): <D>(rawConfig
: string
| ModelConfig
& { type
: string
}, rawDefinition?
: D
& ThisType
<ModelInstance
<ModelParsedDefinition
<ND
& D
>>>) => Model
<ModelParsedDefinition
<ND
& D
>, ModelInstance
<ModelParsedDefinition
<ND
& D
>>>
Type parameters
Name | Type |
---|---|
ND | extends Object = {} |
Parameters
Name | Type |
---|---|
baseRawDefinition? | ND & ThisType <ModelInstance <ModelParsedDefinition <ND >>> |
baseConfig? | ModelConfig |
Returns
fn
▸ <D
>(rawConfig
, rawDefinition?
): Model
<ModelParsedDefinition
<ND
& D
>, ModelInstance
<ModelParsedDefinition
<ND
& D
>>>
Type parameters
Name | Type |
---|---|
D | extends Object = {} |
Parameters
Name | Type |
---|---|
rawConfig | string | ModelConfig & { type : string } |
rawDefinition? | D & ThisType <ModelInstance <ModelParsedDefinition <ND & D >>> |
Returns
Model
<ModelParsedDefinition
<ND
& D
>, ModelInstance
<ModelParsedDefinition
<ND
& D
>>>
Defined in
src/core/model/makeModelFactory.ts:5
makeRefreshIncludeLoader
▸ makeRefreshIncludeLoader<AD
, DD
, C
>(action
, options
): <I>(instances
: Arrayable
<I
>, ...relations
: ArrayableVariadic
<ModelRelationDotKey
<I
>>) => Promise
<void
>
Type parameters
Name | Type |
---|---|
AD | AD |
DD | extends DeserializedData |
C | extends ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD > |
Parameters
Name | Type |
---|---|
action | ActionFactory <[], C , {}> |
options | IncludeLoaderOptions <AD , DD , C > |
Returns
fn
▸ <I
>(instances
, ...relations
): Promise
<void
>
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instances | Arrayable <I > |
...relations | ArrayableVariadic <ModelRelationDotKey <I >> |
Returns
Promise
<void
>
Defined in
src/core/model/relations/makeRefreshIncludeLoader.ts:82
makeRunnersExtension
▸ makeRunnersExtension<R
>(runnersMap
): ActionParsedExtension
<{}>
Takes a dictionary of runners and returns an extension providing those runners features.
Type parameters
Name | Type |
---|---|
R | extends Dictionary <(...args : any []) => ContextRunner <any , any , any >> = {} |
Parameters
Name | Type | Description |
---|---|---|
runnersMap | R | * * |
Returns
Todo
This function returns value should be generically typed.
Defined in
src/core/actions/extensions/makeRunnersExtension.ts:13
mapAttributes
▸ mapAttributes<I
, R
>(instance
, callback
): R
[]
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
R | R |
Parameters
Name | Type |
---|---|
instance | I |
callback | (def : ModelAttribute <ModelKey <I >>) => R |
Returns
R
[]
Defined in
src/core/model/props/mapAttributes.ts:5
mapIds
▸ mapIds<I
, R
>(instance
, callback
): R
[]
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
R | R |
Parameters
Name | Type |
---|---|
instance | I |
callback | (def : ModelId <ModelKey <I >>) => R |
Returns
R
[]
Defined in
src/core/model/props/mapIds.ts:5
mapProps
▸ mapProps<I
, R
>(instance
, callback
, predicate?
): any
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
R | R |
Parameters
Name | Type |
---|---|
instance | I |
callback | (def : ModelId <ModelKey <I >> | ModelAttribute <ModelKey <I >> | ModelRelation <ModelKey <I >>) => R |
predicate? | (def : ModelId <ModelKey <I >> | ModelAttribute <ModelKey <I >> | ModelRelation <ModelKey <I >>) => boolean |
Returns
any
Defined in
src/core/model/props/mapProps.ts:9
mapRelations
▸ mapRelations<I
, R
>(instance
, callback
): R
[]
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
R | R |
Parameters
Name | Type |
---|---|
instance | I |
callback | (def : ModelRelation <ModelKey <I >>) => R |
Returns
R
[]
Defined in
src/core/model/props/mapRelations.ts:5
markSynced
▸ markSynced<I
>(instance
, ...only
): I
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
...only | ArrayableVariadic <ModelKey <I >> |
Returns
I
Defined in
src/core/model/snapshots/markSynced.ts:7
normalizeDotRelations
▸ normalizeDotRelations<D
>(model
, relations
, registry?
): Promise
<string
[]>
Type parameters
Name | Type |
---|---|
D | extends Object |
Parameters
Name | Type |
---|---|
model | ModelClass <D > |
relations | ModelRelationDotKey <ModelClass <D >>[] |
registry? | Optional <RegistryI > |
Returns
Promise
<string
[]>
Defined in
src/core/normalization/normalizeDotRelations.ts:9
normalizeInclude
▸ normalizeInclude(context
, include
): Promise
<string
[]>
Parameters
Name | Type |
---|---|
context | Object |
include | string [] |
Returns
Promise
<string
[]>
Defined in
src/core/actions/context/utilities/normalizeInclude.ts:6
normalizeKey
▸ normalizeKey<D
>(model
, key
): string
Type parameters
Name | Type |
---|---|
D | extends Object |
Parameters
Name | Type |
---|---|
model | ModelClass <D > |
key | ModelKey <ModelClass <D >> |
Returns
string
Defined in
src/core/normalization/normalizeKey.ts:5
onCreated
▸ onCreated<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onCreated.ts:5
onCreating
▸ onCreating<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onCreating.ts:5
onDestroyed
▸ onDestroyed<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onDestroyed.ts:5
onDestroying
▸ onDestroying<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onDestroying.ts:5
onRetrieved
▸ onRetrieved<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onRetrieved.ts:5
onSaved
▸ onSaved<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onSaved.ts:5
onSaving
▸ onSaving<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onSaving.ts:5
onUpdated
▸ onUpdated<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onUpdated.ts:5
onUpdating
▸ onUpdating<I
>(model
, callback
): () => void
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
model | Model <any , I > |
callback | (instance : I ) => Awaitable <void > |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/model/hooks/onUpdating.ts:5
readOnly
▸ readOnly<T
, P
, R
>(rawDefinition
, isReadOnly?
): Omit
<P
, "readOnly"
> & { readOnly
: R
}
Type parameters
Name | Type |
---|---|
T | T |
P | extends ModelPropRaw <T , any > |
R | extends boolean = true |
Parameters
Name | Type |
---|---|
rawDefinition | P |
isReadOnly? | R |
Returns
Omit
<P
, "readOnly"
> & { readOnly
: R
}
Defined in
src/core/model/props/factories/readOnly.ts:3
registerHook
▸ registerHook<D
, K
>(hookable
, key
, callback
): () => void
Type parameters
Name | Type |
---|---|
D | extends HooksDefinition |
K | extends string | number | symbol |
Parameters
Name | Type |
---|---|
hookable | Hookable <D > |
key | K |
callback | D [K ] |
Returns
fn
▸ (): void
Returns
void
Defined in
src/core/hooks/registerHook.ts:5
restore
▸ restore<I
>(instance
, ...only
): I
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
...only | ArrayableVariadic <ModelKey <I >> |
Returns
I
Defined in
src/core/model/snapshots/restore.ts:5
restoreSnapshot
▸ restoreSnapshot<I
>(instance
, snapshot
, ...only
): I
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
snapshot | ModelSnapshot <I > |
...only | ArrayableVariadic <ModelKey <I >> |
Returns
I
Defined in
src/core/model/snapshots/restoreSnapshot.ts:16
runHook
▸ runHook<D
, K
>(hookable
, key
, event
): Promise
<void
>
Type parameters
Name | Type |
---|---|
D | extends HooksDefinition |
K | extends string | number | symbol |
Parameters
Name | Type |
---|---|
hookable | Hookable <D > |
key | K |
event | D [K ] extends HookCallback <E > ? E : never |
Returns
Promise
<void
>
Defined in
src/core/hooks/runHook.ts:4
shouldSync
▸ shouldSync(def
, actions
): boolean
Parameters
Name | Type |
---|---|
def | ModelPropRaw |
actions | ModelPropSync [] |
Returns
boolean
Defined in
src/core/model/props/shouldSync.ts:3
takeSnapshot
▸ takeSnapshot<I
>(instance
): ModelSnapshot
<I
>
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
Parameters
Name | Type |
---|---|
instance | I |
Returns
Defined in
src/core/model/snapshots/takeSnapshot.ts:4
toBoolean
▸ toBoolean(trueValues?
): FunctionTransform
<boolean
| null
, unknown
>
Parameters
Name | Type |
---|---|
trueValues | unknown [] |
Returns
FunctionTransform
<boolean
| null
, unknown
>
Defined in
src/core/transformers/toBoolean.ts:4
toDate
▸ toDate(): ObjectTransform
<Date
| null
, unknown
>
Returns
ObjectTransform
<Date
| null
, unknown
>
Defined in
src/core/transformers/toDate.ts:11
toNumber
▸ toNumber(): FunctionTransform
<number
| null
, unknown
>
Returns
FunctionTransform
<number
| null
, unknown
>
Defined in
src/core/transformers/toNumber.ts:4
toString
▸ toString(): FunctionTransform
<string
| null
, unknown
>
Returns
FunctionTransform
<string
| null
, unknown
>
Defined in
src/core/transformers/toString.ts:4
unregisterHook
▸ unregisterHook<D
, K
>(hookable
, key
, callback
): void
Type parameters
Name | Type |
---|---|
D | extends HooksDefinition |
K | extends string | number | symbol |
Parameters
Name | Type |
---|---|
hookable | Hookable <D > |
key | K |
callback | D [K ] |
Returns
void
Defined in
src/core/hooks/unregisterHook.ts:3
when
▸ when<C
, E
, V
, TC
>(expression
, truthyCallback
): ContextEnhancer
<C
, E
, TC
>
Create a new enhancer or runner from a conditional expression and given enhancer/runner factories. When the expression if a function, it will call the function and take its result as the evaluated expression. Expression may also be a promise or a promise provider function, which will also be evaluated. Evaluated expression will be passed to both truthy and falsy callbacks.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
V | V |
TC | extends Object = C |
Parameters
Name | Type |
---|---|
expression | V |
truthyCallback | (action : Action <C , E >, value : OnlyTruthy <Awaited <Value <V >>>) => Awaitable <void | Action <TC , E >> |
Returns
ContextEnhancer
<C
, E
, TC
>
Defined in
src/core/actions/when.ts:10
▸ when<C
, E
, V
, TC
, FC
>(expression
, truthyCallback
, falsyCallback
): ContextEnhancer
<C
, E
, TC
| FC
>
Create a new enhancer or runner from a conditional expression and given enhancer/runner factories. When the expression if a function, it will call the function and take its result as the evaluated expression. Expression may also be a promise or a promise provider function, which will also be evaluated. Evaluated expression will be passed to both truthy and falsy callbacks.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
V | V |
TC | extends Object = C |
FC | extends Object = C |
Parameters
Name | Type |
---|---|
expression | V |
truthyCallback | (action : Action <C , E >, value : OnlyTruthy <Awaited <Value <V >>>) => Awaitable <void | Action <TC , E >> |
falsyCallback | (action : Action <C , E >, value : OnlyFalsy <Awaited <Value <V >>>) => Awaitable <void | Action <FC , E >> |
Returns
ContextEnhancer
<C
, E
, TC
| FC
>
Defined in
src/core/actions/when.ts:17
▸ when<C
, E
, V
, TR
>(expression
, truthyCallback
): ContextRunner
<C
, E
, TR
| void
>
Create a new enhancer or runner from a conditional expression and given enhancer/runner factories. When the expression if a function, it will call the function and take its result as the evaluated expression. Expression may also be a promise or a promise provider function, which will also be evaluated. Evaluated expression will be passed to both truthy and falsy callbacks.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
V | V |
TR | TR |
Parameters
Name | Type |
---|---|
expression | V |
truthyCallback | (action : Action <C , E >, value : OnlyTruthy <Awaited <Value <V >>>) => TR |
Returns
ContextRunner
<C
, E
, TR
| void
>
Defined in
src/core/actions/when.ts:28
▸ when<C
, E
, V
, TR
, FR
>(expression
, truthyCallback
, falsyCallback
): ContextRunner
<C
, E
, TR
| FR
>
Create a new enhancer or runner from a conditional expression and given enhancer/runner factories. When the expression if a function, it will call the function and take its result as the evaluated expression. Expression may also be a promise or a promise provider function, which will also be evaluated. Evaluated expression will be passed to both truthy and falsy callbacks.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
V | V |
TR | TR |
FR | FR |
Parameters
Name | Type |
---|---|
expression | V |
truthyCallback | (action : Action <C , E >, value : OnlyTruthy <Awaited <Value <V >>>) => TR |
falsyCallback | (action : Action <C , E >, value : OnlyFalsy <Awaited <Value <V >>>) => FR |
Returns
ContextRunner
<C
, E
, TR
| FR
>
Defined in
src/core/actions/when.ts:32
withoutHooks
▸ withoutHooks<T
, R
>(hookable
, callback
): Promise
<R
>
Type parameters
Name | Type |
---|---|
T | extends Hookable <any > |
R | R |
Parameters
Name | Type |
---|---|
hookable | T |
callback | (hookable : T ) => Awaitable <R > |
Returns
Promise
<R
>
Defined in
src/core/hooks/withoutHooks.ts:5
Runners
all
▸ all<C
, I
, AD
, DD
, ND
>(transform?
): (action
: Action
<C
& ConsumeAdapter
<AD
> & ConsumeDeserializer
<AD
, DD
>>) => Promise
<ND
>
Run the action and deserialize an array of model's instance.
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends never |
AD | AD |
DD | extends DeserializedData |
ND | I [] |
Parameters
Name | Type |
---|---|
transform? | (data : AllData <AD , DeserializedDataOf <I , DD >, I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >> |
Returns
Promise
<ND
>
Defined in
src/core/actions/context/runners/all.ts:34
cached
▸ cached<C
, M
, I
, ND
>(transform?
): (action
: Action
<C
& ConsumeCache
& ConsumeModel
<M
> & ConsumeInclude
& ConsumeId
, any
>) => Promise
<null
| ND
>
Retrieve an instance from the cache. If the instance is not in cache or if the included relations are not loaded, returns null.
Type parameters
Name | Type |
---|---|
C | extends Object |
M | extends Model |
I | extends any |
ND | I |
Parameters
Name | Type |
---|---|
transform? | (data : CachedData <I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<null
| ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeCache & ConsumeModel <M > & ConsumeInclude & ConsumeId , any > |
Returns
Promise
<null
| ND
>
Defined in
src/core/actions/context/runners/cached.ts:21
cachedOr
▸ cachedOr<C
, E
, M
, I
, RD
, ND
>(nilRunner
, transform?
): (action
: Action
<C
& ConsumeCache
& ConsumeModel
<M
> & ConsumeInclude
& ConsumeId
, E
>) => Promise
<RD
| ND
>
Retrieve an instance from the cache. If the instance is not in cache or if the included relations are not loaded, run the given runner.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
M | extends Model |
I | extends any |
RD | RD |
ND | I |
Parameters
Name | Type |
---|---|
nilRunner | ContextRunner <C & ConsumeCache & ConsumeModel <M >, E , Awaitable <RD >> |
transform? | (data : CachedData <I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<RD
| ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeCache & ConsumeModel <M > & ConsumeInclude & ConsumeId , E > |
Returns
Promise
<RD
| ND
>
Defined in
src/core/actions/context/runners/cachedOr.ts:32
cachedOrFail
▸ cachedOrFail<C
, M
, I
, ND
>(transform?
): (action
: Action
<C
& ConsumeCache
& ConsumeModel
<M
> & ConsumeInclude
& ConsumeId
, any
>) => Promise
<ND
>
Retrieve an instance from the cache. If the instance is not in cache or if the included relations are not loaded, throws an "ExpectedRunFailureError".
Type parameters
Name | Type |
---|---|
C | extends Object |
M | extends Model |
I | extends any |
ND | I |
Parameters
Name | Type |
---|---|
transform? | (data : CachedData <I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeCache & ConsumeModel <M > & ConsumeInclude & ConsumeId , any > |
Returns
Promise
<ND
>
Defined in
src/core/actions/context/runners/cachedOrFail.ts:22
catchIf
▸ catchIf<C
, E
, RD
, CD
>(runner
, catchCallback?
): (action
: Action
<C
, E
>) => Promise
<RD
| CD
>
Run given runner and catch errors using catchCallback. If catchCallback is omitted, will return null on error. If catchCallback returns a function, will run it as an action's runner. Else, will ignore error and return null only if callback for error is truthy.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
RD | RD |
CD | null |
Parameters
Name | Type |
---|---|
runner | ContextRunner <C , E , Awaitable <RD >> |
catchCallback? | CatchCallback <C , E , CD > |
Returns
fn
▸ (action
): Promise
<RD
| CD
>
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Promise
<RD
| CD
>
Defined in
src/core/actions/context/runners/catchIf.ts:20
none
▸ none<C
>(): (action
: Action
<C
& ConsumeAdapter
>) => Promise
<void
>
Run the action and ignore the content of the result. Adapter errors are not caught and so may be thrown.
Type parameters
Name | Type |
---|---|
C | extends Object |
Returns
fn
▸ (action
): Promise
<void
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter > |
Returns
Promise
<void
>
Defined in
src/core/actions/context/runners/none.ts:11
one
▸ one<C
, I
, AD
, DD
, ND
>(transform?
): (action
: Action
<C
& ConsumeAdapter
<AD
> & ConsumeDeserializer
<AD
, DD
>, any
>) => Promise
<null
| ND
>
Run the action and deserialize one model's instance. Returns null when not found or empty result.
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends never |
AD | AD |
DD | extends DeserializedData |
ND | I |
Parameters
Name | Type |
---|---|
transform? | (data : OneData <AD , DeserializedDataOf <I , DD >, I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<null
| ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, any > |
Returns
Promise
<null
| ND
>
Defined in
src/core/actions/context/runners/one.ts:20
oneOr
▸ oneOr<C
, E
, I
, AD
, DD
, RD
, ND
>(nilRunner
, transform?
): (action
: Action
<C
& ConsumeAdapter
<AD
> & ConsumeDeserializer
<AD
, DD
>, E
>) => Promise
<RD
| ND
>
Run the action and deserialize one model's instance.
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
I | extends never |
AD | AD |
DD | extends DeserializedData |
RD | RD |
ND | I |
Parameters
Name | Type |
---|---|
nilRunner | ContextRunner <C & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, E , Awaitable <RD >> |
transform? | (data : OneData <AD , DeserializedDataOf <I , DD >, I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<RD
| ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, E > |
Returns
Promise
<RD
| ND
>
Defined in
src/core/actions/context/runners/oneOr.ts:33
oneOrCurrent
▸ oneOrCurrent<C
, CI
, I
, AD
, DD
, ND
>(transform?
): (action
: Action
<C
& ConsumeInstance
<CI
> & ConsumeAdapter
<AD
> & ConsumeDeserializer
<AD
, DD
>, any
>) => Promise
<CI
| ND
>
Run the action and deserialize one model's instance. Returns current instance when not found or empty result.
Type parameters
Name | Type |
---|---|
C | extends ConsumeInstance <CI > |
CI | extends ModelInstance |
I | extends never |
AD | AD |
DD | extends DeserializedData |
ND | CI |
Parameters
Name | Type |
---|---|
transform? | (data : OneData <AD , DeserializedDataOf <I , DD >, I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<CI
| ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeInstance <CI > & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, any > |
Returns
Promise
<CI
| ND
>
Defined in
src/core/actions/context/runners/oneOrCurrent.ts:23
oneOrFail
▸ oneOrFail<C
, I
, AD
, DD
, ND
>(transform?
): (action
: Action
<C
& ConsumeAdapter
<AD
> & ConsumeDeserializer
<AD
, DD
>, any
>) => Promise
<ND
>
Run the action and deserialize one model's instance. Throw an "ExpectedRunFailureError" when not found or empty result.
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends never |
AD | AD |
DD | extends DeserializedData |
ND | I |
Parameters
Name | Type |
---|---|
transform? | (data : OneData <AD , DeserializedDataOf <I , DD >, I >) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter <AD > & ConsumeDeserializer <AD , DD >, any > |
Returns
Promise
<ND
>
Defined in
src/core/actions/context/runners/oneOrFail.ts:21
raw
▸ raw<C
, AD
, ND
>(transform?
): (action
: Action
<C
& ConsumeAdapter
<AD
>>) => Promise
<ND
>
Run the action and retrieve the raw adapter's data.
Type parameters
Name | Type |
---|---|
C | extends Object |
AD | AD |
ND | AD |
Parameters
Name | Type |
---|---|
transform? | (data : AD ) => Awaitable <ND > |
Returns
fn
▸ (action
): Promise
<ND
>
Parameters
Name | Type |
---|---|
action | Action <C & ConsumeAdapter <AD >> |
Returns
Promise
<ND
>
Defined in
src/core/actions/context/runners/raw.ts:11