Options
All
  • Public
  • Public/Protected
  • All
Menu

remos

Index

Type aliases

Comparer<T>: "strict" | "shallow" | ((a: T, b: T) => boolean)

Type parameters

  • T = any

ConcurrentMode: (callback: Function, onCancel?: VoidFunction) => Function

Type declaration

    • (callback: Function, onCancel?: VoidFunction): Function
    • Parameters

      • callback: Function
      • Optional onCancel: VoidFunction

      Returns Function

FamilyModel<TProps, TKey>: Model<TProps> & { $data: any; $family: any; $hydrate: any }

Type parameters

  • TProps: {} = {}

  • TKey = any

Injector: (api: ModelApi, props: any) => any

Type declaration

MemberModel<T, TKey>: Model<T> & { $key: any; $remove: any }

Type parameters

  • T: {} = {}

  • TKey = any

Model<TProps>: { [ key in keyof TProps]: TProps[key] extends (...args: any[]) => any ? TProps[key] extends (...args: infer TArgs) => (model: Model) => infer TResult ? (...args: TArgs) => TResult : TProps[key] : TProps[key] } & ModelApi<TProps>

Type parameters

  • TProps: {} = AnyProps

ModelSlice<TProps>: Readonly<TProps> & Notifier<TProps> & Watchable<TProps> & Slicable<TProps>

Type parameters

  • TProps

Observer: (args: ObserverArgs) => void

Type declaration

    • (args: ObserverArgs): void
    • Parameters

      • args: ObserverArgs

      Returns void

Wrapper: (next: Function, model: Model) => Function

Type declaration

    • (next: Function, model: Model): Function
    • Parameters

      • next: Function
      • model: Model

      Returns Function

Functions

  • abstract<TArgs, TResult>(name?: string): (...args: TArgs) => TResult
  • Type parameters

    • TArgs: any[] = any[]

    • TResult = void

    Parameters

    • Optional name: string

    Returns (...args: TArgs) => TResult

      • (...args: TArgs): TResult
      • Parameters

        • Rest ...args: TArgs

        Returns TResult

  • as<T>(value: T): T
  • async<TData>(): AsyncModel<TData, any[]>
  • async<TData, TParams>(loader: (context: AsyncModelLoadContext, ...args: TParams) => Promise<TData>, ...initialParams: TParams): AsyncModel<TData, any[]>
  • Type parameters

    • TData = any

    Returns AsyncModel<TData, any[]>

  • Type parameters

    • TData = any

    • TParams: any[] = any[]

    Parameters

    • loader: (context: AsyncModelLoadContext, ...args: TParams) => Promise<TData>
        • (context: AsyncModelLoadContext, ...args: TParams): Promise<TData>
        • Parameters

          • context: AsyncModelLoadContext
          • Rest ...args: TParams

          Returns Promise<TData>

    • Rest ...initialParams: TParams

    Returns AsyncModel<TData, any[]>

  • create<TProps>(props: TProps, key: keyof TProps, compareFn?: Comparer<TProps[keyof TProps]>): FamilyModel<TProps, TProps[keyof TProps]>
  • create<TProps, TBase>(base: TBase, builder: (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }) => TProps): Model<TProps>
  • create<TProps, TBase>(base: TBase, builder: (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }) => TProps, key: keyof TProps, compareFn?: Comparer<TProps[keyof TProps]>): FamilyModel<TProps, TProps[keyof TProps]>
  • create<TProps>(props: TProps): Model<TProps>
  • create a model with specified props

    Type parameters

    • TProps: {}

    Parameters

    • props: TProps
    • key: keyof TProps
    • Optional compareFn: Comparer<TProps[keyof TProps]>

    Returns FamilyModel<TProps, TProps[keyof TProps]>

  • create a model with specified props

    Type parameters

    • TProps: {}

    • TBase: Record<string, {}>

    Parameters

    • base: TBase
    • builder: (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }) => TProps
        • (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }): TProps
        • Parameters

          • base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }

          Returns TProps

    Returns Model<TProps>

  • create a model with specified props

    Type parameters

    • TProps: {}

    • TBase: Record<string, {}>

    Parameters

    • base: TBase
    • builder: (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }) => TProps
        • (base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }): TProps
        • Parameters

          • base: { [ key in string | number | symbol]: TBase[key] extends Model<T> ? Base<T> : Base<TBase[key]> }

          Returns TProps

    • key: keyof TProps
    • Optional compareFn: Comparer<TProps[keyof TProps]>

    Returns FamilyModel<TProps, TProps[keyof TProps]>

  • create a model with specified props

    Type parameters

    • TProps: {}

    Parameters

    • props: TProps

    Returns Model<TProps>

  • createCancellable(onCancel?: VoidFunction): Cancellable
  • isModel(value: any): value is Model<AnyProps>
  • of<TProps>(props: TProps): Model<TProps>
  • shallowCompare(a: any, b: any): boolean
  • state<T>(defaultValue?: T, notifyChange?: boolean): State<T>
  • strictCompare(a: any, b: any): boolean
  • sync<TData>(model: Task<TData>, defaultValue?: TData): TData
  • sync<TData>(models: Task<TData>[], defaultValue?: TData[]): TData[]
  • sync<TData>(models: Set<Task<TData>>, defaultValue?: TData[]): TData[]
  • sync<TData>(models: Map<any, Task<TData>>, defaultValue?: TData[]): TData[]
  • sync<TData, TResult>(model: Task<TData>, selector: (data: TData) => TResult, defaultValue?: TResult): TResult
  • sync<TData, TResult>(models: Task<TData>[], selector: (data: TData[]) => TResult, defaultValue?: TResult): TResult
  • sync<TData, TResult>(models: Set<Task<TData>>, selector: (data: TData[]) => TResult, defaultValue?: TResult): TResult
  • sync<TData, TResult>(models: Map<any, Task<TData>>, selector: (data: TData[]) => TResult, defaultValue?: TResult): TResult
  • Type parameters

    • TData

    Parameters

    • model: Task<TData>
    • Optional defaultValue: TData

    Returns TData

  • Type parameters

    • TData

    Parameters

    • models: Task<TData>[]
    • Optional defaultValue: TData[]

    Returns TData[]

  • Type parameters

    • TData

    Parameters

    • models: Set<Task<TData>>
    • Optional defaultValue: TData[]

    Returns TData[]

  • Type parameters

    • TData

    Parameters

    • models: Map<any, Task<TData>>
    • Optional defaultValue: TData[]

    Returns TData[]

  • Type parameters

    • TData

    • TResult

    Parameters

    • model: Task<TData>
    • selector: (data: TData) => TResult
        • (data: TData): TResult
        • Parameters

          • data: TData

          Returns TResult

    • Optional defaultValue: TResult

    Returns TResult

  • Type parameters

    • TData

    • TResult

    Parameters

    • models: Task<TData>[]
    • selector: (data: TData[]) => TResult
        • (data: TData[]): TResult
        • Parameters

          • data: TData[]

          Returns TResult

    • Optional defaultValue: TResult

    Returns TResult

  • Type parameters

    • TData

    • TResult

    Parameters

    • models: Set<Task<TData>>
    • selector: (data: TData[]) => TResult
        • (data: TData[]): TResult
        • Parameters

          • data: TData[]

          Returns TResult

    • Optional defaultValue: TResult

    Returns TResult

  • Type parameters

    • TData

    • TResult

    Parameters

    • models: Map<any, Task<TData>>
    • selector: (data: TData[]) => TResult
        • (data: TData[]): TResult
        • Parameters

          • data: TData[]

          Returns TResult

    • Optional defaultValue: TResult

    Returns TResult

  • useModel<TProps>(creator: (create: Create) => TProps, options?: UseModelOptions<TProps>): Model<TProps>
  • useModel<TProps>(creator: (create: Create) => TProps, update?: (prev: TProps) => Partial<TProps>): Model<TProps>
  • useModel<T, TProps>(listenable: T, options?: Omit<UseModelOptions<TProps>, "update">): T
  • useModel(listenable: Listenable[], options?: Omit<UseModelOptions<any>, "update">): void
  • useModel<T, TResult>(listenable: T, selector: T extends Listenable ? (props: T) => TResult : T extends Record<string, any> ? (allProps: { [ key in string | number | symbol]: T[key] }) => TResult : never, compareFn?: Comparer<any>): TResult
  • useModel<TProps>(props: TProps): Model<TProps>
  • useModel<TProps>(props: TProps, update: (prev: TProps) => Partial<TProps>): Model<TProps>

Generated using TypeDoc