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