All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.react.query.query.core.kt Maven / Gradle / Ivy

// Automatically generated - do not modify!

@file:JsModule("react-query")
@file:JsNonModule

@file:Suppress(
    "UNUSED_TYPEALIAS_PARAMETER",
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package react.query

external interface QueryConfig {
    var cache: QueryCache
    var queryKey: TQueryKey
    var queryHash: String
    var options: QueryOptions
    var defaultOptions: QueryOptions
    var state: QueryState
    var meta: QueryMeta?
}

external interface QueryState {
    var data: TData?
    var dataUpdateCount: Int
    var dataUpdatedAt: JsTimestamp
    var error: TError?
    var errorUpdateCount: Int
    var errorUpdatedAt: JsTimestamp
    var fetchFailureCount: Int
    var fetchMeta: Any
    var isFetching: Boolean
    var isInvalidated: Boolean
    var isPaused: Boolean
    var status: QueryStatus
}

external interface FetchContext {
    var fetchFn: () -> dynamic
    var fetchOptions: FetchOptions
    var options: QueryOptions
    var queryKey: EnsuredQueryKey
    var state: QueryState
    var meta: QueryMeta?
}

external interface QueryBehavior {
    var onFetch: (context: FetchContext) -> Unit
}

external interface FetchOptions {
    var cancelRefetch: Boolean
    var meta: Any
}

external interface FailedAction {
    var type: Type /* 'failed' */
}

external interface FetchAction {
    var type: Type /* 'fetch' */
    var meta: Any
}

external interface SuccessAction {
    var data: TData?
    var type: Type /* 'success' */
    var dataUpdatedAt: JsTimestamp
}

external interface ErrorAction {
    var type: Type /* 'error' */
    var error: TError
}

external interface InvalidateAction {
    var type: Type /* 'invalidate' */
}

external interface PauseAction {
    var type: Type /* 'pause' */
}

external interface ContinueAction {
    var type: Type /* 'continue' */
}

external interface SetStateAction {
    var type: Type /* 'setState' */
    var state: QueryState
    var setStateOptions: SetStateOptions
}

typealias Action = Union /* ContinueAction | ErrorAction | FailedAction | FetchAction | InvalidateAction | PauseAction | SetStateAction | SuccessAction */

external interface SetStateOptions {
    var meta: Any
}

open external class Query(config: QueryConfig) {
    open var queryKey: TQueryKey
    open var queryHash: String
    open var options: QueryOptions
    open var initialState: QueryState
    open var revertState: QueryState
    open var state: QueryState
    open var cacheTime: JsDuration
    open var meta: QueryMeta?
    open fun setDefaultOptions(options: QueryOptions)
    open fun setData(
        updater: Updater,
        options: SetDataOptions = definedExternally,
    ): TData

    open fun setState(
        state: QueryState,
        setStateOptions: SetStateOptions = definedExternally,
    )

    open fun cancel(options: CancelOptions = definedExternally): kotlin.js.Promise
    open fun destroy()
    open fun reset()
    open fun isActive(): Boolean
    open fun isFetching(): Boolean
    open fun isStale(): Boolean
    open fun isStaleByTime(staleTime: JsDuration = definedExternally): Boolean
    open fun onFocus()
    open fun onOnline()
    open fun addObserver(observer: QueryObserver<*, *, *, *, *>)
    open fun removeObserver(observer: QueryObserver<*, *, *, *, *>)
    open fun getObserversCount(): Int
    open fun invalidate()
    open fun fetch(
        options: QueryOptions = definedExternally,
        fetchOptions: FetchOptions = definedExternally,
    ): kotlin.js.Promise

    protected open fun getDefaultState(options: QueryOptions): QueryState
    protected open fun reducer(
        state: QueryState,
        action: Action,
    ): QueryState
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy