Options
All
  • Public
  • Public/Protected
  • All
Menu

reblok

Index

Type aliases

Actions<T>: {}

Type parameters

  • T

Type declaration

ArrayKey: number
Comparer<T>: (a: T, b: T) => boolean

Type parameters

  • T

Type declaration

    • (a: T, b: T): boolean
    • Parameters

      • a: T
      • b: T

      Returns boolean

ConcurrentMode: (context: Record<string, any>, callback: VoidFunction) => ConcurrentController | void

Type declaration

Data<TData>: TData extends Function ? never : TData | Promise<TData>

Type parameters

  • TData

DataGroup<TSource>: { [ key in keyof TSource]: TSource[key] extends Blok<infer T> ? T : never }

Type parameters

  • TSource

DehydratedData: { data?: any; members?: [any, any][] }

Type declaration

  • Optional data?: any
  • Optional members?: [any, any][]
DehydratedDataCollection: [any, DehydratedData][]
ExtraActions<TActions>: { [ key in keyof TActions]: TActions[key] extends Updater<any, infer TParams> ? (...args: TParams) => void : never }

Type parameters

  • TActions

FieldPath<TFieldValues>: Path<TFieldValues>

Type parameters

FieldPathValue<TFieldValues, TFieldPath>: PathValue<TFieldValues, TFieldPath>

Type parameters

FieldValues: Record<string, any>
HydrateBlok: (blok: Blok) => [boolean, any]

Type declaration

    • (blok: Blok): [boolean, any]
    • Parameters

      Returns [boolean, any]

IsTuple<T>: number extends T["length"] ? false : true

Type parameters

  • T: ReadonlyArray<any>

Path<T>: T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? { [ K in TupleKeys<T>]-?: PathImpl<K & string, T[K]> }[TupleKeys<T>] : PathImpl<ArrayKey, V> : { [ K in keyof T]-?: PathImpl<K & string, T[K]> }[keyof T]

Type parameters

  • T

PathImpl<K, V>: V extends Primitive ? `${K}` : `${K}` | `${K}.${Path<V>}`

Type parameters

  • K: string | number

  • V

PathValue<T, P>: T extends any ? P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends Path<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? PathValue<V, R & Path<V>> : never : never : P extends keyof T ? T[P] : P extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? V : never : never : never

Type parameters

Primitive: null | undefined | string | number | boolean | symbol | bigint
Selector<TSource, TData>: (data: TSource extends Blok<infer T> ? T : DataGroup<TSource>, prev: TData, context: UpdateContext<TData>) => Data<TData>

Type parameters

  • TSource

  • TData

Type declaration

TupleKeys<T>: Exclude<keyof T, keyof any[]>

Type parameters

  • T: ReadonlyArray<any>

UpdateData<T>: Promise<T> | T | Updater<T>

Type parameters

  • T

Updater<TData, TParams>: (prev: TData, context: UpdateContext<TData>, ...args: TParams) => Data<TData>

Type parameters

  • TData

  • TParams: any[] = []

Type declaration

Variables

blok: Create = ...

Functions

  • batch<T>(mutation: T): T
  • perform mutation of multiple bloks, when the mutation done, all change notifications are triggered

    Type parameters

    • T: Function

    Parameters

    • mutation: T

    Returns T

  • by<TItem, TResult>(selector: (item: TItem) => TResult, desc?: boolean): (a: TItem, b: TItem) => 0 | 1 | -1
  • Type parameters

    • TItem

    • TResult

    Parameters

    • selector: (item: TItem) => TResult
        • (item: TItem): TResult
        • Parameters

          • item: TItem

          Returns TResult

    • desc: boolean = false

    Returns (a: TItem, b: TItem) => 0 | 1 | -1

      • (a: TItem, b: TItem): 0 | 1 | -1
      • Parameters

        • a: TItem
        • b: TItem

        Returns 0 | 1 | -1

  • exclude<TItem>(predicate: (item: TItem, index: number) => boolean): Updater<TItem[]>
  • Type parameters

    • TItem

    Parameters

    • predicate: (item: TItem, index: number) => boolean
        • (item: TItem, index: number): boolean
        • Parameters

          • item: TItem
          • index: number

          Returns boolean

    Returns Updater<TItem[]>

  • family<TBlok, TKey>(factory: (key: TKey) => TBlok, options?: FamilyOptions<TKey>): Family<TBlok, TKey>
  • filter<TItem>(predicate: (item: TItem, index: number) => boolean): Updater<TItem[]>
  • Type parameters

    • TItem

    Parameters

    • predicate: (item: TItem, index: number) => boolean
        • (item: TItem, index: number): boolean
        • Parameters

          • item: TItem
          • index: number

          Returns boolean

    Returns Updater<TItem[]>

  • include<TItem>(predicate: (item: TItem, index: number) => boolean): Updater<TItem[]>
  • Type parameters

    • TItem

    Parameters

    • predicate: (item: TItem, index: number) => boolean
        • (item: TItem, index: number): boolean
        • Parameters

          • item: TItem
          • index: number

          Returns boolean

    Returns Updater<TItem[]>

  • map<TItem>(mapper: (item: TItem, index: number) => TItem): Updater<TItem[]>
  • Type parameters

    • TItem

    Parameters

    • mapper: (item: TItem, index: number) => TItem
        • (item: TItem, index: number): TItem
        • Parameters

          • item: TItem
          • index: number

          Returns TItem

    Returns Updater<TItem[]>

  • order<TItem>(...by: ((a: TItem, b: TItem) => number)[]): Updater<TItem[]>
  • push<TItem>(...items: TItem[]): Updater<TItem[]>
  • shallow(a: any, b: any): any
  • slice<TItem>(start?: number, end?: number): Updater<TItem[]>
  • sort<TItem>(compare?: (a: TItem, b: TItem) => number): Updater<TItem[]>
  • Type parameters

    • TItem

    Parameters

    • Optional compare: (a: TItem, b: TItem) => number
        • (a: TItem, b: TItem): number
        • Parameters

          • a: TItem
          • b: TItem

          Returns number

    Returns Updater<TItem[]>

  • splice<TItem>(index: number, remove: number, ...items: TItem[]): Updater<TItem[]>
  • swap<TItem>(from: number, to: number): Updater<TItem[]>
  • unshift<TItem>(...items: TItem[]): Updater<TItem[]>

Generated using TypeDoc