@ontahi/react 0.1.0-alpha.3 → 0.1.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -2
- package/dist/actions/fetch-operation-bridge-adapter.d.ts.map +1 -1
- package/dist/actions/fetch-operation-bridge-adapter.js +3 -1
- package/dist/actions/fetch-operation-bridge-adapter.js.map +1 -1
- package/dist/actions/operation-bridge-adapter.js +1 -1
- package/dist/actions/operation-bridge-adapter.js.map +1 -1
- package/dist/actions/operation-bridge.d.ts +4 -2
- package/dist/actions/operation-bridge.d.ts.map +1 -1
- package/dist/actions/operation-bridge.js +5 -3
- package/dist/actions/operation-bridge.js.map +1 -1
- package/dist/graph/context.d.ts +6 -1
- package/dist/graph/context.d.ts.map +1 -1
- package/dist/graph/context.js +16 -6
- package/dist/graph/context.js.map +1 -1
- package/dist/graph/executor.d.ts +10 -7
- package/dist/graph/executor.d.ts.map +1 -1
- package/dist/graph/executor.js.map +1 -1
- package/dist/graph/fetch-graph-client.d.ts +22 -0
- package/dist/graph/fetch-graph-client.d.ts.map +1 -0
- package/dist/graph/fetch-graph-client.js +43 -0
- package/dist/graph/fetch-graph-client.js.map +1 -0
- package/dist/graph/fetch-graph-read-executor.d.ts +8 -0
- package/dist/graph/fetch-graph-read-executor.d.ts.map +1 -0
- package/dist/graph/fetch-graph-read-executor.js +37 -0
- package/dist/graph/fetch-graph-read-executor.js.map +1 -0
- package/dist/graph/graph-hooks.d.ts +2 -2
- package/dist/graph/graph-hooks.d.ts.map +1 -1
- package/dist/graph/graph-hooks.js +39 -16
- package/dist/graph/graph-hooks.js.map +1 -1
- package/dist/graph/index.d.ts +2 -0
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +2 -0
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/operation-hooks.d.ts +2 -1
- package/dist/graph/operation-hooks.d.ts.map +1 -1
- package/dist/graph/operation-hooks.js +31 -13
- package/dist/graph/operation-hooks.js.map +1 -1
- package/dist/graph/operation-types.d.ts +7 -1
- package/dist/graph/operation-types.d.ts.map +1 -1
- package/dist/graph/operation-types.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-hooks.js","sourceRoot":"","sources":["../../src/graph/operation-hooks.ts"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type {\n AnyEntityRef,\n DomainOperationInvocation as OperationInvocation,\n GraphSchemaLike,\n GraphSchemaParseResult,\n OperationInputSchema,\n} from '@ontahi/core/data-graph';\nimport { normalizeGraphSchemaClientInput } from '@ontahi/core/data-graph';\nimport { operationInputInvalid } from '@ontahi/core/runtime/contracts';\nimport type { TaskRunRef, TaskSnapshot } from '@ontahi/core/runtime/contracts';\nimport {\n useInfiniteQuery,\n useQuery,\n useQueryClient,\n type InfiniteData,\n type QueryKey,\n type UseQueryOptions,\n type UseQueryResult,\n} from '@tanstack/react-query';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n GraphPermission,\n OperationBridgeAction,\n OperationInvocationResult,\n} from '../actions/index.js';\nimport {\n operationBridgeErrored,\n resolveOperationBridgeInvalidationQueryKeys,\n resolveOperationBridgeQueryKey,\n toOperationInvocationResult,\n unwrapOperationInvocationValue,\n useAction,\n} from '../actions/index.js';\n\nimport {\n useDefaultOperationBridgeAdapter,\n useGraphClientCache,\n useGraphClientCacheVersion,\n useReflectedOperationInvoker,\n} from './context.js';\nimport {\n getOperationClientCacheKey,\n invalidateOperationCacheRefs,\n invalidateReactQueryCachesContainingRefs,\n readInitialOperationCacheValueFromCache,\n reconcileOperationOutput,\n} from './operation-cache.js';\nimport type {\n ClientOperationLike,\n ClientSchemaOperationLike,\n DurableOperationHookOptions,\n DurableOperationHookResult,\n DurableOperationLike,\n GraphClientCache,\n OperationHookOptions,\n OperationHookResult,\n OperationInputController,\n OperationInputHookResult,\n OperationInfiniteQueryOptions,\n OperationInputArgs,\n OperationQueryOptions,\n OperationRunner,\n ReflectedOperationLike,\n} from './operation-types.js';\n\nconst operationHookOptionKeys = new Set([\n 'onExecute',\n 'onSuccess',\n 'onError',\n 'onSettled',\n 'invalidateOnSuccess',\n]);\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst readOperationInputFields = (input: unknown): Record<string, unknown> | undefined => {\n if (!isRecord(input)) return undefined;\n\n if (input.kind === 'schema.named' && 'item' in input) {\n return readOperationInputFields(input.item);\n }\n\n return (input.kind === 'schema.object' || input.kind === 'value') && isRecord(input.fields)\n ? input.fields\n : undefined;\n};\n\nconst looksLikeOperationOptions = (\n operation: ClientSchemaOperationLike<any, any> | ClientOperationLike<any, any>,\n value: unknown,\n) => {\n if (!isRecord(value)) return value === undefined;\n\n const keys = Object.keys(value);\n if (keys.length === 0) return false;\n\n const inputFields = readOperationInputFields(operation.input);\n if (inputFields && keys.some(key => key in inputFields)) return false;\n\n return keys.some(key => operationHookOptionKeys.has(key));\n};\n\nconst issuePath = (path: string | ReadonlyArray<string | number>) =>\n Array.isArray(path) ? path.map(String).join('.') : path;\n\nexport const getOperationQueryKey = <TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n): QueryKey => resolveOperationBridgeQueryKey(operation, input);\n\nconst getOperationCacheAwareQueryKey = <TInput, TData>(\n clientCache: GraphClientCache,\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n): QueryKey =>\n getOperationClientCacheKey(clientCache, operation, input, getOperationQueryKey(operation, input));\n\nexport function useOperation<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n initialInput: TInput,\n options?: OperationHookOptions<TInput, TData>,\n): OperationInputHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n options?: OperationHookOptions<TInput, TData>,\n): OperationHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n options?: OperationHookOptions<TInput, TData>,\n): OperationHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientOperationLike<TInput, TData> | ClientSchemaOperationLike<TInput, TData>,\n initialInputOrOptions?: TInput | OperationHookOptions<TInput, TData>,\n managedOptions?: OperationHookOptions<TInput, TData>,\n): OperationHookResult<TInput, TData> | OperationInputHookResult<TInput, TData> {\n const managesInput =\n managedOptions !== undefined || !looksLikeOperationOptions(operation, initialInputOrOptions);\n const initialInput = managesInput ? (initialInputOrOptions as TInput) : undefined;\n const options = managesInput\n ? managedOptions\n : (initialInputOrOptions as OperationHookOptions<TInput, TData> | undefined);\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const queryClient = useQueryClient();\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const transport = useAction(action);\n const executeTransportAsync = transport.executeAsync;\n const resetTransport = transport.reset;\n const optionsRef = useRef(options);\n const [result, setResult] = useState<OperationInvocationResult<TData>>();\n const [lastInput, setLastInput] = useState<TInput>();\n const initialInputRef = useRef(initialInput);\n const [draft, setDraft] = useState<TInput | undefined>(initialInput);\n\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const executeInputAsync = useCallback(\n async (input: TInput) => {\n const currentOptions = optionsRef.current;\n const transportInput = operation.input\n ? (normalizeGraphSchemaClientInput(operation.input, input) as TInput)\n : input;\n setLastInput(input);\n\n await currentOptions?.onExecute?.({ input });\n\n let invocation: OperationInvocationResult<TData>;\n\n try {\n invocation = toOperationInvocationResult(await executeTransportAsync(transportInput));\n } catch (error) {\n invocation = operationBridgeErrored(\n error instanceof Error ? error.message : 'Graph operation bridge failed.',\n ) as OperationInvocationResult<TData>;\n }\n\n if (invocation.ok) {\n let affectedCacheRefs: AnyEntityRef[] = [];\n\n if (currentOptions?.invalidateOnSuccess ?? true) {\n affectedCacheRefs = invalidateOperationCacheRefs(\n clientCache,\n operation,\n transportInput,\n invocation.value,\n );\n }\n\n invocation = {\n ...invocation,\n value: reconcileOperationOutput(clientCache, operation, invocation.value),\n };\n\n setResult(invocation);\n\n await currentOptions?.onSuccess?.({\n input,\n value: invocation.value,\n result: invocation,\n });\n\n if (currentOptions?.invalidateOnSuccess ?? true) {\n await Promise.all([\n invalidateReactQueryCachesContainingRefs(queryClient, affectedCacheRefs),\n ...resolveOperationBridgeInvalidationQueryKeys(operation, transportInput).map(\n queryKey => queryClient.invalidateQueries({ queryKey }),\n ),\n ]);\n }\n } else {\n setResult(invocation);\n\n await currentOptions?.onError?.({\n input,\n error: invocation,\n result: invocation,\n });\n }\n\n await currentOptions?.onSettled?.({\n input,\n result: invocation,\n });\n\n return invocation;\n },\n [clientCache, executeTransportAsync, operation, queryClient],\n );\n\n const executeAsync = useCallback(\n (...args: OperationInputArgs<TInput>) => executeInputAsync(args[0] as TInput),\n [executeInputAsync],\n );\n\n const execute = useCallback(\n (...args: OperationInputArgs<TInput>) => {\n void executeAsync(...args);\n },\n [executeAsync],\n );\n\n const reset = useCallback(() => {\n resetTransport();\n setResult(undefined);\n setLastInput(undefined);\n if (managesInput) setDraft(initialInputRef.current);\n }, [managesInput, resetTransport]);\n\n const inputSchema =\n operation.input && typeof (operation.input as { safeParse?: unknown }).safeParse === 'function'\n ? (operation.input as OperationInputSchema<GraphSchemaLike, TInput>)\n : undefined;\n const validation = useMemo<GraphSchemaParseResult<TInput> | undefined>(\n () => (managesInput && inputSchema ? inputSchema.safeParse(draft) : undefined),\n [draft, inputSchema, managesInput],\n );\n\n const setManagedDraft: OperationInputController<TInput>['setDraft'] = useCallback(next => {\n setDraft(current =>\n typeof next === 'function' ? (next as (current: TInput) => TInput)(current as TInput) : next,\n );\n }, []);\n\n const setManagedField: OperationInputController<TInput>['setField'] = useCallback(\n (field, value) => {\n setDraft(current => {\n if (!isRecord(current)) {\n throw new Error('setField requires an object operation input.');\n }\n\n return { ...current, [field]: value } as TInput;\n });\n },\n [],\n );\n\n const resetManagedInput: OperationInputController<TInput>['reset'] = useCallback(next => {\n setDraft(next === undefined ? initialInputRef.current : next);\n }, []);\n\n const inputController = useMemo<OperationInputController<TInput> | undefined>(() => {\n if (!managesInput || !validation) return undefined;\n\n const issues = validation.success ? [] : validation.issues;\n return {\n draft: draft as TInput,\n setDraft: setManagedDraft,\n setField: setManagedField,\n reset: resetManagedInput,\n validation,\n issues,\n issue: path => {\n const expected = issuePath(path);\n return issues.find(issue => issuePath(issue.path) === expected);\n },\n isValid: validation.success,\n value: validation.success ? validation.data : undefined,\n };\n }, [draft, managesInput, resetManagedInput, setManagedDraft, setManagedField, validation]);\n\n const executeManagedAsync = useCallback(async () => {\n if (!validation?.success) {\n const issues = validation?.issues ?? [];\n const invalid = operationInputInvalid(\n issues[0]?.message ?? 'Input does not match the operation schema.',\n issues.map(issue => ({\n ...(issue.path.length > 0 ? { path: issue.path.map(String).join('.') } : {}),\n message: issue.message,\n code: issue.code,\n })),\n );\n const currentOptions = optionsRef.current;\n\n setLastInput(draft);\n setResult(invalid);\n await currentOptions?.onError?.({ input: draft as TInput, error: invalid, result: invalid });\n await currentOptions?.onSettled?.({ input: draft as TInput, result: invalid });\n\n return invalid as OperationInvocationResult<TData>;\n }\n\n return executeInputAsync(validation.data);\n }, [draft, executeInputAsync, validation]);\n\n const executeManaged = useCallback(() => {\n void executeManagedAsync();\n }, [executeManagedAsync]);\n\n const hasErrored = Boolean(result && !result.ok) || transport.hasErrored;\n const hasSucceeded = Boolean(result?.ok) && !transport.isExecuting;\n const isIdle = transport.isIdle && result === undefined;\n const status = isIdle\n ? 'idle'\n : transport.isExecuting\n ? 'executing'\n : hasErrored\n ? 'hasErrored'\n : 'hasSucceeded';\n\n const baseResult = {\n execute: managesInput ? executeManaged : execute,\n executeAsync: managesInput ? executeManagedAsync : executeAsync,\n input: managesInput ? inputController : lastInput,\n result,\n value: result?.ok ? result.value : undefined,\n reset,\n status,\n isIdle,\n isExecuting: transport.isExecuting,\n isTransitioning: transport.isTransitioning,\n isPending: transport.isPending,\n hasSucceeded,\n hasErrored,\n };\n\n return (\n managesInput\n ? { ...baseResult, input: inputController as OperationInputController<TInput>, lastInput }\n : baseResult\n ) as OperationHookResult<TInput, TData> | OperationInputHookResult<TInput, TData>;\n}\n\nexport function useDurableOperation<TInput, TResult = unknown>(\n operation: DurableOperationLike<TInput, TResult>,\n options?: DurableOperationHookOptions<TInput>,\n): DurableOperationHookResult<TInput, TResult> {\n const adapter = useDefaultOperationBridgeAdapter();\n const queryClient = useQueryClient();\n const mutation = useOperation<TInput, TaskRunRef>(\n operation as ClientOperationLike<TInput, TaskRunRef>,\n { ...options, invalidateOnSuccess: false },\n );\n const runRef = mutation.value;\n const snapshotQuery = useQuery({\n queryKey: ['ontahi-task-run', runRef?.taskId, runRef?.runId],\n enabled: Boolean(runRef && adapter.getTaskSnapshot),\n queryFn: () => {\n if (!runRef || !adapter.getTaskSnapshot) {\n throw new Error('The operation bridge does not provide task snapshot transport.');\n }\n\n return adapter.getTaskSnapshot<TResult>({ taskId: runRef.taskId, runId: runRef.runId });\n },\n refetchInterval: query => {\n const status = (query.state.data as TaskSnapshot<TResult> | undefined)?.status;\n return status === 'completed' || status === 'failed' || status === 'cancelled'\n ? false\n : (options?.pollIntervalMs ?? 500);\n },\n });\n const snapshot = snapshotQuery.data;\n const invalidatedRunRef = useRef<string | undefined>(undefined);\n\n useEffect(() => {\n if (\n !snapshot ||\n (snapshot.status !== 'completed' &&\n snapshot.status !== 'failed' &&\n snapshot.status !== 'cancelled')\n ) {\n return;\n }\n\n const runKey = `${snapshot.taskId}:${snapshot.runId}:${snapshot.status}`;\n if (invalidatedRunRef.current === runKey) return;\n invalidatedRunRef.current = runKey;\n\n if (snapshot.status === 'completed' && (options?.invalidateOnSuccess ?? true)) {\n const invalidationInput = operation.input\n ? (normalizeGraphSchemaClientInput(operation.input, mutation.input) as TInput)\n : (mutation.input as TInput);\n void Promise.all(\n resolveOperationBridgeInvalidationQueryKeys(operation, invalidationInput).map(queryKey =>\n queryClient.invalidateQueries({ queryKey }),\n ),\n );\n }\n }, [mutation.input, operation, options?.invalidateOnSuccess, queryClient, snapshot]);\n\n const reset = useCallback(() => {\n mutation.reset();\n invalidatedRunRef.current = undefined;\n }, [mutation]);\n const runStatus = snapshot?.status ?? runRef?.status;\n\n return {\n ...mutation,\n reset,\n durable: operation.durable,\n snapshot,\n progress: snapshot?.progress,\n finalValue: snapshot?.result,\n runError: snapshot?.error,\n isQueued: runStatus === 'queued',\n isRunning: runStatus === 'running',\n isCompleted: runStatus === 'completed',\n isFailed: runStatus === 'failed',\n isCancelled: runStatus === 'cancelled',\n isRefreshingRun: snapshotQuery.isFetching,\n isExecuting:\n mutation.isExecuting ||\n (Boolean(adapter.getTaskSnapshot) && (runStatus === 'queued' || runStatus === 'running')),\n };\n}\n\nexport function useOperationQuery<TData>(\n operation: ClientOperationLike<void, TData>,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n input: TInput,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientOperationLike<TInput, TData> | ClientSchemaOperationLike<TInput, TData>,\n inputOrOptions?: TInput | OperationQueryOptions<TData>,\n providedOptions?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error> {\n const hasInput = operation.input?.kind !== 'schema.void';\n const input = (\n hasInput\n ? operation.input\n ? normalizeGraphSchemaClientInput(operation.input, inputOrOptions)\n : inputOrOptions\n : undefined\n ) as TInput;\n const options = (hasInput ? providedOptions : inputOrOptions) as\n | OperationQueryOptions<TData>\n | undefined;\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const cacheVersion = useGraphClientCacheVersion(clientCache);\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const {\n initialData: providedInitialData,\n initialDataUpdatedAt,\n placeholderData,\n ...queryOptions\n } = options ?? {};\n const hasProvidedInitialData = Boolean(options && 'initialData' in options);\n const queryKey = getOperationCacheAwareQueryKey(\n clientCache,\n operation as ClientOperationLike<TInput, TData>,\n input,\n );\n const cacheKey = queryKey;\n const initialCacheValue = hasProvidedInitialData\n ? undefined\n : readInitialOperationCacheValueFromCache(clientCache, operation, input, cacheKey);\n const initialData = hasProvidedInitialData ? providedInitialData : initialCacheValue?.value;\n\n return useQuery({\n ...queryOptions,\n initialData,\n initialDataUpdatedAt: initialDataUpdatedAt ?? initialCacheValue?.initialDataUpdatedAt,\n placeholderData: placeholderData as UseQueryOptions<\n unknown,\n Error,\n TData,\n QueryKey\n >['placeholderData'],\n queryKey,\n queryFn: async () =>\n clientCache.writeOutput(\n cacheKey,\n operation.graphOutput,\n unwrapOperationInvocationValue(toOperationInvocationResult(await action(input))),\n ).value,\n select: value => {\n void cacheVersion;\n return clientCache.denormalizeOutput(operation.graphOutput, value) as TData;\n },\n });\n}\n\nexport function useOperationInfiniteQuery<TInput, TData, TPageParam>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n options: OperationInfiniteQueryOptions<TInput, TData, TPageParam>,\n) {\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const cacheVersion = useGraphClientCacheVersion(clientCache);\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const { getPageInput, getNextPageParam, getPreviousPageParam, ...queryOptions } = options;\n const denormalizePage = useCallback(\n (value: unknown) => clientCache.denormalizeOutput(operation.graphOutput, value) as TData,\n [clientCache, operation],\n );\n\n return useInfiniteQuery<unknown, Error, InfiniteData<TData, TPageParam>, QueryKey, TPageParam>({\n ...queryOptions,\n queryKey: getOperationCacheAwareQueryKey(clientCache, operation, input),\n queryFn: async ({ pageParam }) =>\n clientCache.normalizeOutput(\n operation.graphOutput,\n unwrapOperationInvocationValue(\n toOperationInvocationResult(\n await action(\n getPageInput({\n input,\n pageParam: pageParam as TPageParam,\n }),\n ),\n ),\n ),\n ).value,\n getNextPageParam: (lastPage, allPages, lastPageParam, allPageParams) =>\n getNextPageParam(\n denormalizePage(lastPage),\n allPages.map(denormalizePage),\n lastPageParam,\n allPageParams,\n ),\n getPreviousPageParam: getPreviousPageParam\n ? (firstPage, allPages, firstPageParam, allPageParams) =>\n getPreviousPageParam(\n denormalizePage(firstPage),\n allPages.map(denormalizePage),\n firstPageParam,\n allPageParams,\n )\n : undefined,\n select: data => {\n void cacheVersion;\n\n return {\n pageParams: data.pageParams,\n pages: data.pages.map(denormalizePage),\n };\n },\n });\n}\n\nexport function useGraphPermission<TInput, TData>(\n invocation: OperationInvocation<TInput, TData>,\n options?: {\n enabled?: boolean;\n queryKey?: QueryKey;\n },\n): UseQueryResult<GraphPermission, Error> {\n const adapter = useDefaultOperationBridgeAdapter();\n\n return adapter.usePermission(\n invocation.operation as ClientOperationLike<TInput, TData>,\n invocation.input,\n options,\n );\n}\n\nexport function useOperationRunner<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n): OperationRunner<TInput, TData> {\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n\n return useCallback(\n async (input: TInput) => {\n const result = toOperationInvocationResult(await action(input));\n\n if (result.ok) {\n return {\n ...result,\n value: reconcileOperationOutput(clientCache, operation, result.value),\n };\n }\n\n return result;\n },\n [action, clientCache, operation],\n );\n}\n\nexport function useReflectedOperationRunner<TInput = unknown, TData = unknown>(\n operation: ReflectedOperationLike<TInput, TData>,\n): OperationRunner<TInput, TData> {\n const invoker = useReflectedOperationInvoker();\n\n return useCallback(\n (input: TInput) =>\n invoker.invokeOperation<TInput, TData>({\n operationId: operation.id,\n operation,\n input,\n }),\n [invoker, operation],\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"operation-hooks.js","sourceRoot":"","sources":["../../src/graph/operation-hooks.ts"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type {\n AnyEntityRef,\n DomainOperationInvocation as OperationInvocation,\n GraphSchemaLike,\n GraphSchemaParseResult,\n OperationInputSchema,\n} from '@ontahi/core/data-graph';\nimport { normalizeGraphSchemaClientInput } from '@ontahi/core/data-graph';\nimport { operationInputInvalid } from '@ontahi/core/runtime/contracts';\nimport type { TaskRunRef, TaskSnapshot } from '@ontahi/core/runtime/contracts';\nimport { hasOwn, isRecord } from '@ontahi/core/value/object';\nimport {\n useInfiniteQuery,\n useQuery,\n useQueryClient,\n type InfiniteData,\n type QueryKey,\n type UseQueryOptions,\n type UseQueryResult,\n} from '@tanstack/react-query';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n GraphPermission,\n OperationBridgeAction,\n OperationInvocationResult,\n} from '../actions/index.js';\nimport {\n operationBridgeErrored,\n resolveOperationBridgeInvalidationQueryKeys,\n resolveOperationBridgeQueryKey,\n toOperationInvocationResult,\n unwrapOperationInvocationValue,\n useAction,\n} from '../actions/index.js';\n\nimport {\n useDefaultOperationBridgeAdapter,\n useGraphClientCache,\n useGraphClientCacheVersion,\n useReflectedOperationInvoker,\n} from './context.js';\nimport {\n getOperationClientCacheKey,\n invalidateOperationCacheRefs,\n invalidateReactQueryCachesContainingRefs,\n readInitialOperationCacheValueFromCache,\n reconcileOperationOutput,\n} from './operation-cache.js';\nimport type {\n ClientOperationLike,\n ClientOperationInvocation,\n ClientSchemaOperationLike,\n BoundOperationHookResult,\n DurableOperationHookOptions,\n DurableOperationHookResult,\n DurableOperationLike,\n GraphClientCache,\n OperationHookOptions,\n OperationHookResult,\n OperationInputController,\n OperationInputHookResult,\n OperationInfiniteQueryOptions,\n OperationInputArgs,\n OperationQueryOptions,\n OperationRunner,\n ReflectedOperationLike,\n} from './operation-types.js';\n\nconst operationHookOptionKeys = new Set([\n 'onExecute',\n 'onSuccess',\n 'onError',\n 'onSettled',\n 'invalidateOnSuccess',\n]);\n\nconst isOperationInvocation = (value: unknown): value is OperationInvocation<unknown, unknown> =>\n isRecord(value) && hasOwn(value, 'kind') && value.kind === 'domain-operation-invocation';\n\nconst readOperationInputFields = (input: unknown): Record<string, unknown> | undefined => {\n if (!isRecord(input)) return undefined;\n\n if (input.kind === 'schema.named' && 'item' in input) {\n return readOperationInputFields(input.item);\n }\n\n return (input.kind === 'schema.object' || input.kind === 'value') && isRecord(input.fields)\n ? input.fields\n : undefined;\n};\n\nconst looksLikeOperationOptions = (\n operation: ClientSchemaOperationLike<any, any> | ClientOperationLike<any, any>,\n value: unknown,\n) => {\n if (!isRecord(value)) return value === undefined;\n\n const keys = Object.keys(value);\n if (keys.length === 0) return false;\n\n const inputFields = readOperationInputFields(operation.input);\n if (inputFields && keys.some(key => hasOwn(inputFields, key))) return false;\n\n return keys.some(key => operationHookOptionKeys.has(key));\n};\n\nconst issuePath = (path: string | ReadonlyArray<string | number>) =>\n Array.isArray(path) ? path.map(String).join('.') : path;\n\nexport const getOperationQueryKey = <TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n): QueryKey => resolveOperationBridgeQueryKey(operation, input);\n\nconst getOperationCacheAwareQueryKey = <TInput, TData>(\n clientCache: GraphClientCache,\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n): QueryKey =>\n getOperationClientCacheKey(clientCache, operation, input, getOperationQueryKey(operation, input));\n\nexport function useOperation<TInput, TData>(\n invocation: ClientOperationInvocation<TInput, TData>,\n options?: OperationHookOptions<TInput, TData>,\n): BoundOperationHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n initialInput: TInput,\n options?: OperationHookOptions<TInput, TData>,\n): OperationInputHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n options?: OperationHookOptions<TInput, TData>,\n): OperationHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n options?: OperationHookOptions<TInput, TData>,\n): OperationHookResult<TInput, TData>;\nexport function useOperation<TInput, TData>(\n operationOrInvocation:\n | ClientOperationInvocation<TInput, TData>\n | ClientOperationLike<TInput, TData>\n | ClientSchemaOperationLike<TInput, TData>,\n initialInputOrOptions?: TInput | OperationHookOptions<TInput, TData>,\n managedOptions?: OperationHookOptions<TInput, TData>,\n):\n | BoundOperationHookResult<TInput, TData>\n | OperationHookResult<TInput, TData>\n | OperationInputHookResult<TInput, TData> {\n const invocation = isOperationInvocation(operationOrInvocation)\n ? (operationOrInvocation as ClientOperationInvocation<TInput, TData>)\n : undefined;\n const operation = (invocation?.operation ?? operationOrInvocation) as\n | ClientOperationLike<TInput, TData>\n | ClientSchemaOperationLike<TInput, TData>;\n const managesInput =\n !invocation &&\n (managedOptions !== undefined || !looksLikeOperationOptions(operation, initialInputOrOptions));\n const initialInput = managesInput ? (initialInputOrOptions as TInput) : undefined;\n const options = invocation\n ? (initialInputOrOptions as OperationHookOptions<TInput, TData> | undefined)\n : managesInput\n ? managedOptions\n : (initialInputOrOptions as OperationHookOptions<TInput, TData> | undefined);\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const queryClient = useQueryClient();\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const transport = useAction(action);\n const executeTransportAsync = transport.executeAsync;\n const resetTransport = transport.reset;\n const optionsRef = useRef(options);\n const [result, setResult] = useState<OperationInvocationResult<TData>>();\n const [lastInput, setLastInput] = useState<TInput>();\n const initialInputRef = useRef(initialInput);\n const [draft, setDraft] = useState<TInput | undefined>(initialInput);\n\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const executeInputAsync = useCallback(\n async (input: TInput) => {\n const currentOptions = optionsRef.current;\n const transportInput = operation.input\n ? (normalizeGraphSchemaClientInput(operation.input, input) as TInput)\n : input;\n setLastInput(input);\n\n await currentOptions?.onExecute?.({ input });\n\n let invocation: OperationInvocationResult<TData>;\n\n try {\n invocation = toOperationInvocationResult(await executeTransportAsync(transportInput));\n } catch (error) {\n invocation = operationBridgeErrored(\n error instanceof Error ? error.message : 'Graph operation bridge failed.',\n ) as OperationInvocationResult<TData>;\n }\n\n if (invocation.ok) {\n let affectedCacheRefs: AnyEntityRef[] = [];\n\n if (currentOptions?.invalidateOnSuccess ?? true) {\n affectedCacheRefs = invalidateOperationCacheRefs(\n clientCache,\n operation,\n transportInput,\n invocation.value,\n );\n }\n\n invocation = {\n ...invocation,\n value: reconcileOperationOutput(clientCache, operation, invocation.value),\n };\n\n setResult(invocation);\n\n await currentOptions?.onSuccess?.({\n input,\n value: invocation.value,\n result: invocation,\n });\n\n if (currentOptions?.invalidateOnSuccess ?? true) {\n await Promise.all([\n invalidateReactQueryCachesContainingRefs(queryClient, affectedCacheRefs),\n ...resolveOperationBridgeInvalidationQueryKeys(operation, transportInput).map(\n queryKey => queryClient.invalidateQueries({ queryKey }),\n ),\n ]);\n }\n } else {\n setResult(invocation);\n\n await currentOptions?.onError?.({\n input,\n error: invocation,\n result: invocation,\n });\n }\n\n await currentOptions?.onSettled?.({\n input,\n result: invocation,\n });\n\n return invocation;\n },\n [clientCache, executeTransportAsync, operation, queryClient],\n );\n\n const executeAsync = useCallback(\n (...args: OperationInputArgs<TInput>) => executeInputAsync(args[0] as TInput),\n [executeInputAsync],\n );\n\n const execute = useCallback(\n (...args: OperationInputArgs<TInput>) => {\n void executeAsync(...args);\n },\n [executeAsync],\n );\n const executeBoundAsync = useCallback(\n () => executeInputAsync(invocation?.input as TInput),\n [executeInputAsync, invocation?.input],\n );\n const executeBound = useCallback(() => {\n void executeBoundAsync();\n }, [executeBoundAsync]);\n\n const reset = useCallback(() => {\n resetTransport();\n setResult(undefined);\n setLastInput(undefined);\n if (managesInput) setDraft(initialInputRef.current);\n }, [managesInput, resetTransport]);\n\n const inputSchema =\n operation.input && typeof (operation.input as { safeParse?: unknown }).safeParse === 'function'\n ? (operation.input as OperationInputSchema<GraphSchemaLike, TInput>)\n : undefined;\n const validation = useMemo<GraphSchemaParseResult<TInput> | undefined>(\n () => (managesInput && inputSchema ? inputSchema.safeParse(draft) : undefined),\n [draft, inputSchema, managesInput],\n );\n\n const setManagedDraft: OperationInputController<TInput>['setDraft'] = useCallback(next => {\n setDraft(current =>\n typeof next === 'function' ? (next as (current: TInput) => TInput)(current as TInput) : next,\n );\n }, []);\n\n const setManagedField: OperationInputController<TInput>['setField'] = useCallback(\n (field, value) => {\n setDraft(current => {\n if (!isRecord(current)) {\n throw new Error('setField requires an object operation input.');\n }\n\n return { ...current, [field]: value } as TInput;\n });\n },\n [],\n );\n\n const resetManagedInput: OperationInputController<TInput>['reset'] = useCallback(next => {\n setDraft(next === undefined ? initialInputRef.current : next);\n }, []);\n\n const inputController = useMemo<OperationInputController<TInput> | undefined>(() => {\n if (!managesInput || !validation) return undefined;\n\n const issues = validation.success ? [] : validation.issues;\n return {\n draft: draft as TInput,\n setDraft: setManagedDraft,\n setField: setManagedField,\n reset: resetManagedInput,\n validation,\n issues,\n issue: path => {\n const expected = issuePath(path);\n return issues.find(issue => issuePath(issue.path) === expected);\n },\n isValid: validation.success,\n value: validation.success ? validation.data : undefined,\n };\n }, [draft, managesInput, resetManagedInput, setManagedDraft, setManagedField, validation]);\n\n const executeManagedAsync = useCallback(async () => {\n if (!validation?.success) {\n const issues = validation?.issues ?? [];\n const invalid = operationInputInvalid(\n issues[0]?.message ?? 'Input does not match the operation schema.',\n issues.map(issue => ({\n ...(issue.path.length > 0 ? { path: issue.path.map(String).join('.') } : {}),\n message: issue.message,\n code: issue.code,\n })),\n );\n const currentOptions = optionsRef.current;\n\n setLastInput(draft);\n setResult(invalid);\n await currentOptions?.onError?.({ input: draft as TInput, error: invalid, result: invalid });\n await currentOptions?.onSettled?.({ input: draft as TInput, result: invalid });\n\n return invalid as OperationInvocationResult<TData>;\n }\n\n return executeInputAsync(validation.data);\n }, [draft, executeInputAsync, validation]);\n\n const executeManaged = useCallback(() => {\n void executeManagedAsync();\n }, [executeManagedAsync]);\n\n const hasErrored = Boolean(result && !result.ok) || transport.hasErrored;\n const hasSucceeded = Boolean(result?.ok) && !transport.isExecuting;\n const isIdle = transport.isIdle && result === undefined;\n const status = isIdle\n ? 'idle'\n : transport.isExecuting\n ? 'executing'\n : hasErrored\n ? 'hasErrored'\n : 'hasSucceeded';\n\n const baseResult = {\n execute: invocation ? executeBound : managesInput ? executeManaged : execute,\n executeAsync: invocation\n ? executeBoundAsync\n : managesInput\n ? executeManagedAsync\n : executeAsync,\n input: invocation ? invocation.input : managesInput ? inputController : lastInput,\n result,\n value: result?.ok ? result.value : undefined,\n reset,\n status,\n isIdle,\n isExecuting: transport.isExecuting,\n isTransitioning: transport.isTransitioning,\n isPending: transport.isPending,\n hasSucceeded,\n hasErrored,\n };\n\n return (\n invocation\n ? baseResult\n : managesInput\n ? { ...baseResult, input: inputController as OperationInputController<TInput>, lastInput }\n : baseResult\n ) as\n | BoundOperationHookResult<TInput, TData>\n | OperationHookResult<TInput, TData>\n | OperationInputHookResult<TInput, TData>;\n}\n\nexport function useDurableOperation<TInput, TResult = unknown>(\n operation: DurableOperationLike<TInput, TResult>,\n options?: DurableOperationHookOptions<TInput>,\n): DurableOperationHookResult<TInput, TResult> {\n const adapter = useDefaultOperationBridgeAdapter();\n const queryClient = useQueryClient();\n const mutation = useOperation<TInput, TaskRunRef>(\n operation as ClientOperationLike<TInput, TaskRunRef>,\n { ...options, invalidateOnSuccess: false },\n );\n const runRef = mutation.value;\n const snapshotQuery = useQuery({\n queryKey: ['ontahi-task-run', runRef?.taskId, runRef?.runId],\n enabled: Boolean(runRef && adapter.getTaskSnapshot),\n queryFn: () => {\n if (!runRef || !adapter.getTaskSnapshot) {\n throw new Error('The operation bridge does not provide task snapshot transport.');\n }\n\n return adapter.getTaskSnapshot<TResult>({ taskId: runRef.taskId, runId: runRef.runId });\n },\n refetchInterval: query => {\n const status = (query.state.data as TaskSnapshot<TResult> | undefined)?.status;\n return status === 'completed' || status === 'failed' || status === 'cancelled'\n ? false\n : (options?.pollIntervalMs ?? 500);\n },\n });\n const snapshot = snapshotQuery.data;\n const invalidatedRunRef = useRef<string | undefined>(undefined);\n\n useEffect(() => {\n if (\n !snapshot ||\n (snapshot.status !== 'completed' &&\n snapshot.status !== 'failed' &&\n snapshot.status !== 'cancelled')\n ) {\n return;\n }\n\n const runKey = `${snapshot.taskId}:${snapshot.runId}:${snapshot.status}`;\n if (invalidatedRunRef.current === runKey) return;\n invalidatedRunRef.current = runKey;\n\n if (snapshot.status === 'completed' && (options?.invalidateOnSuccess ?? true)) {\n const invalidationInput = operation.input\n ? (normalizeGraphSchemaClientInput(operation.input, mutation.input) as TInput)\n : (mutation.input as TInput);\n void Promise.all(\n resolveOperationBridgeInvalidationQueryKeys(operation, invalidationInput).map(queryKey =>\n queryClient.invalidateQueries({ queryKey }),\n ),\n );\n }\n }, [mutation.input, operation, options?.invalidateOnSuccess, queryClient, snapshot]);\n\n const reset = useCallback(() => {\n mutation.reset();\n invalidatedRunRef.current = undefined;\n }, [mutation]);\n const runStatus = snapshot?.status ?? runRef?.status;\n\n return {\n ...mutation,\n reset,\n durable: operation.durable,\n snapshot,\n progress: snapshot?.progress,\n finalValue: snapshot?.result,\n runError: snapshot?.error,\n isQueued: runStatus === 'queued',\n isRunning: runStatus === 'running',\n isCompleted: runStatus === 'completed',\n isFailed: runStatus === 'failed',\n isCancelled: runStatus === 'cancelled',\n isRefreshingRun: snapshotQuery.isFetching,\n isExecuting:\n mutation.isExecuting ||\n (Boolean(adapter.getTaskSnapshot) && (runStatus === 'queued' || runStatus === 'running')),\n };\n}\n\nexport function useOperationQuery<TData>(\n operation: ClientOperationLike<void, TData>,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientSchemaOperationLike<TInput, TData>,\n input: TInput,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n options?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error>;\nexport function useOperationQuery<TInput, TData>(\n operation: ClientOperationLike<TInput, TData> | ClientSchemaOperationLike<TInput, TData>,\n inputOrOptions?: TInput | OperationQueryOptions<TData>,\n providedOptions?: OperationQueryOptions<TData>,\n): UseQueryResult<TData, Error> {\n const hasInput = operation.input?.kind !== 'schema.void';\n const input = (\n hasInput\n ? operation.input\n ? normalizeGraphSchemaClientInput(operation.input, inputOrOptions)\n : inputOrOptions\n : undefined\n ) as TInput;\n const options = (hasInput ? providedOptions : inputOrOptions) as\n | OperationQueryOptions<TData>\n | undefined;\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const cacheVersion = useGraphClientCacheVersion(clientCache);\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const {\n initialData: providedInitialData,\n initialDataUpdatedAt,\n placeholderData,\n ...queryOptions\n } = options ?? {};\n const hasProvidedInitialData = Boolean(options && 'initialData' in options);\n const queryKey = getOperationCacheAwareQueryKey(\n clientCache,\n operation as ClientOperationLike<TInput, TData>,\n input,\n );\n const cacheKey = queryKey;\n const initialCacheValue = hasProvidedInitialData\n ? undefined\n : readInitialOperationCacheValueFromCache(clientCache, operation, input, cacheKey);\n const initialData = hasProvidedInitialData ? providedInitialData : initialCacheValue?.value;\n\n return useQuery({\n ...queryOptions,\n initialData,\n initialDataUpdatedAt: initialDataUpdatedAt ?? initialCacheValue?.initialDataUpdatedAt,\n placeholderData: placeholderData as UseQueryOptions<\n unknown,\n Error,\n TData,\n QueryKey\n >['placeholderData'],\n queryKey,\n queryFn: async () =>\n clientCache.writeOutput(\n cacheKey,\n operation.graphOutput,\n unwrapOperationInvocationValue(toOperationInvocationResult(await action(input))),\n ).value,\n select: value => {\n void cacheVersion;\n return clientCache.denormalizeOutput(operation.graphOutput, value) as TData;\n },\n });\n}\n\nexport function useOperationInfiniteQuery<TInput, TData, TPageParam>(\n operation: ClientOperationLike<TInput, TData>,\n input: TInput,\n options: OperationInfiniteQueryOptions<TInput, TData, TPageParam>,\n) {\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const cacheVersion = useGraphClientCacheVersion(clientCache);\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n const { getPageInput, getNextPageParam, getPreviousPageParam, ...queryOptions } = options;\n const denormalizePage = useCallback(\n (value: unknown) => clientCache.denormalizeOutput(operation.graphOutput, value) as TData,\n [clientCache, operation],\n );\n\n return useInfiniteQuery<unknown, Error, InfiniteData<TData, TPageParam>, QueryKey, TPageParam>({\n ...queryOptions,\n queryKey: getOperationCacheAwareQueryKey(clientCache, operation, input),\n queryFn: async ({ pageParam }) =>\n clientCache.normalizeOutput(\n operation.graphOutput,\n unwrapOperationInvocationValue(\n toOperationInvocationResult(\n await action(\n getPageInput({\n input,\n pageParam: pageParam as TPageParam,\n }),\n ),\n ),\n ),\n ).value,\n getNextPageParam: (lastPage, allPages, lastPageParam, allPageParams) =>\n getNextPageParam(\n denormalizePage(lastPage),\n allPages.map(denormalizePage),\n lastPageParam,\n allPageParams,\n ),\n getPreviousPageParam: getPreviousPageParam\n ? (firstPage, allPages, firstPageParam, allPageParams) =>\n getPreviousPageParam(\n denormalizePage(firstPage),\n allPages.map(denormalizePage),\n firstPageParam,\n allPageParams,\n )\n : undefined,\n select: data => {\n void cacheVersion;\n\n return {\n pageParams: data.pageParams,\n pages: data.pages.map(denormalizePage),\n };\n },\n });\n}\n\nexport function useGraphPermission<TInput, TData>(\n invocation: OperationInvocation<TInput, TData>,\n options?: {\n enabled?: boolean;\n queryKey?: QueryKey;\n },\n): UseQueryResult<GraphPermission, Error> {\n const adapter = useDefaultOperationBridgeAdapter();\n\n return adapter.usePermission(\n invocation.operation as ClientOperationLike<TInput, TData>,\n invocation.input,\n options,\n );\n}\n\nexport function useOperationRunner<TInput, TData>(\n operation: ClientOperationLike<TInput, TData>,\n): OperationRunner<TInput, TData> {\n const adapter = useDefaultOperationBridgeAdapter();\n const clientCache = useGraphClientCache();\n const action = adapter.useBridgeAction<TInput, TData>(\n operation as Parameters<typeof adapter.useBridgeAction<TInput, TData>>[0],\n ) as OperationBridgeAction<TInput, TData>;\n\n return useCallback(\n async (input: TInput) => {\n const result = toOperationInvocationResult(await action(input));\n\n if (result.ok) {\n return {\n ...result,\n value: reconcileOperationOutput(clientCache, operation, result.value),\n };\n }\n\n return result;\n },\n [action, clientCache, operation],\n );\n}\n\nexport function useReflectedOperationRunner<TInput = unknown, TData = unknown>(\n operation: ReflectedOperationLike<TInput, TData>,\n): OperationRunner<TInput, TData> {\n const invoker = useReflectedOperationInvoker();\n\n return useCallback(\n (input: TInput) =>\n invoker.invokeOperation<TInput, TData>({\n operationId: operation.id,\n operation,\n input,\n }),\n [invoker, operation],\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientDomainOperationDeclaration as ClientOperationDeclaration, DurableOperationMetadata, GraphSchemaParseResult, GraphSchemaLike, GraphSchemaValidationIssue, GraphClientCache, OperationInputSchema, ReflectedOperationDescriptor } from '@ontahi/core/data-graph';
|
|
1
|
+
import type { ClientDomainOperationDeclaration as ClientOperationDeclaration, DomainOperationInvocation, DurableOperationMetadata, GraphSchemaParseResult, GraphSchemaLike, GraphSchemaValidationIssue, GraphClientCache, OperationInputSchema, ReflectedOperationDescriptor } from '@ontahi/core/data-graph';
|
|
2
2
|
import type { TaskRunRef, TaskSnapshot } from '@ontahi/core/runtime/contracts';
|
|
3
3
|
import type { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
4
4
|
import type { OperationInvocationFailure, OperationInvocationResult } from '../actions/index.js';
|
|
@@ -97,6 +97,12 @@ export type OperationInputHookResult<TInput, TData> = Omit<OperationHookResult<T
|
|
|
97
97
|
input: OperationInputController<TInput>;
|
|
98
98
|
lastInput: TInput | undefined;
|
|
99
99
|
};
|
|
100
|
+
export type BoundOperationHookResult<TInput, TData> = Omit<OperationHookResult<TInput, TData>, 'execute' | 'executeAsync' | 'input'> & {
|
|
101
|
+
execute: () => void;
|
|
102
|
+
executeAsync: () => Promise<OperationInvocationResult<TData>>;
|
|
103
|
+
input: TInput;
|
|
104
|
+
};
|
|
105
|
+
export type ClientOperationInvocation<TInput, TData> = DomainOperationInvocation<TInput, TData>;
|
|
100
106
|
export type OperationRunner<TInput, TData> = (input: TInput) => Promise<OperationInvocationResult<TData>>;
|
|
101
107
|
export type OperationQueryOptions<TData> = Omit<UseQueryOptions<unknown, Error, TData, QueryKey>, 'placeholderData' | 'queryFn' | 'queryKey' | 'select'> & {
|
|
102
108
|
placeholderData?: TData | ((previousData: TData | undefined) => TData | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-types.d.ts","sourceRoot":"","sources":["../../src/graph/operation-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operation-types.d.ts","sourceRoot":"","sources":["../../src/graph/operation-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-types.js","sourceRoot":"","sources":["../../src/graph/operation-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClientDomainOperationDeclaration as ClientOperationDeclaration,\n DurableOperationMetadata,\n GraphSchemaParseResult,\n GraphSchemaLike,\n GraphSchemaValidationIssue,\n GraphClientCache,\n OperationInputSchema,\n ReflectedOperationDescriptor,\n} from '@ontahi/core/data-graph';\nimport type { TaskRunRef, TaskSnapshot } from '@ontahi/core/runtime/contracts';\nimport type {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseQueryOptions,\n} from '@tanstack/react-query';\n\nimport type { OperationInvocationFailure, OperationInvocationResult } from '../actions/index.js';\n\nexport type { GraphClientCache };\n\nexport type ClientOperationLike<TInput = unknown, TData = unknown> = ClientOperationDeclaration<\n TInput,\n TData\n> & {\n id: string;\n entityName: string;\n name: string;\n};\n\nexport type ClientSchemaOperationLike<TInput = unknown, TData = unknown> = Omit<\n ClientOperationDeclaration<any, any>,\n '__clientTypes'\n> & {\n id: string;\n entityName: string;\n name: string;\n input: OperationInputSchema<GraphSchemaLike, TInput>;\n __clientTypes?: {\n input: TInput;\n output: TData;\n };\n};\n\nexport type ReflectedOperationLike<\n TInput = unknown,\n TData = unknown,\n> = ReflectedOperationDescriptor<TInput, TData>;\n\nexport type DurableOperationLike<TInput = unknown, TResult = unknown> = ClientOperationLike<\n TInput,\n TResult\n> & {\n durable: DurableOperationMetadata<TInput, TResult>;\n};\n\nexport type DurableOperationHookResult<TInput, TResult> = OperationHookResult<\n TInput,\n TaskRunRef\n> & {\n durable: DurableOperationMetadata<TInput, TResult>;\n snapshot: TaskSnapshot<TResult> | undefined;\n progress: TaskSnapshot<TResult>['progress'];\n finalValue: TResult | undefined;\n runError: TaskSnapshot<TResult>['error'];\n isQueued: boolean;\n isRunning: boolean;\n isCompleted: boolean;\n isFailed: boolean;\n isCancelled: boolean;\n isRefreshingRun: boolean;\n};\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type OperationHookOptions<TInput, TData> = {\n onExecute?: (args: { input: TInput }) => MaybePromise<unknown>;\n onSuccess?: (args: {\n input: TInput;\n value: TData;\n result: Extract<OperationInvocationResult<TData>, { ok: true }>;\n }) => MaybePromise<unknown>;\n onError?: (args: {\n input: TInput;\n error: OperationInvocationFailure;\n result: OperationInvocationFailure;\n }) => MaybePromise<unknown>;\n onSettled?: (args: {\n input: TInput;\n result: OperationInvocationResult<TData>;\n }) => MaybePromise<unknown>;\n invalidateOnSuccess?: boolean;\n};\n\nexport type DurableOperationHookOptions<TInput> = OperationHookOptions<TInput, TaskRunRef> & {\n pollIntervalMs?: number;\n};\n\nexport type OperationInputArgs<TInput> = [TInput] extends [void] ? [] : [input: TInput];\n\nexport type OperationHookResult<TInput, TData> = {\n execute: (...args: OperationInputArgs<TInput>) => void;\n executeAsync: (...args: OperationInputArgs<TInput>) => Promise<OperationInvocationResult<TData>>;\n input: TInput | undefined;\n result: OperationInvocationResult<TData> | undefined;\n value: TData | undefined;\n reset: () => void;\n status: 'idle' | 'executing' | 'hasSucceeded' | 'hasErrored';\n isIdle: boolean;\n isExecuting: boolean;\n isTransitioning: boolean;\n isPending: boolean;\n hasSucceeded: boolean;\n hasErrored: boolean;\n};\n\nexport type OperationInputController<TInput> = {\n /** The editable public input, before schema normalization. */\n draft: TInput;\n setDraft: (next: TInput | ((current: TInput) => TInput)) => void;\n setField: <TField extends keyof TInput>(field: TField, value: TInput[TField]) => void;\n reset: (next?: TInput) => void;\n /** The complete validation result for the current draft. */\n validation: GraphSchemaParseResult<TInput>;\n issues: GraphSchemaValidationIssue[];\n issue: (path: string | ReadonlyArray<string | number>) => GraphSchemaValidationIssue | undefined;\n isValid: boolean;\n /** The parsed and normalized input, available only while the draft is valid. */\n value: TInput | undefined;\n};\n\nexport type OperationInputHookResult<TInput, TData> = Omit<\n OperationHookResult<TInput, TData>,\n 'execute' | 'executeAsync' | 'input'\n> & {\n execute: () => void;\n executeAsync: () => Promise<OperationInvocationResult<TData>>;\n input: OperationInputController<TInput>;\n lastInput: TInput | undefined;\n};\n\nexport type OperationRunner<TInput, TData> = (\n input: TInput,\n) => Promise<OperationInvocationResult<TData>>;\n\nexport type OperationQueryOptions<TData> = Omit<\n UseQueryOptions<unknown, Error, TData, QueryKey>,\n 'placeholderData' | 'queryFn' | 'queryKey' | 'select'\n> & {\n placeholderData?: TData | ((previousData: TData | undefined) => TData | undefined);\n};\n\nexport type OperationInfinitePageParamResolver<TData, TPageParam> = (\n page: TData,\n pages: TData[],\n pageParam: TPageParam,\n allPageParams: TPageParam[],\n) => TPageParam | null | undefined;\n\nexport type OperationInfiniteQueryOptions<TInput, TData, TPageParam> = Omit<\n UseInfiniteQueryOptions<unknown, Error, InfiniteData<TData, TPageParam>, QueryKey, TPageParam>,\n 'getNextPageParam' | 'getPreviousPageParam' | 'queryFn' | 'queryKey' | 'select'\n> & {\n getPageInput: (args: { input: TInput; pageParam: TPageParam }) => TInput;\n getNextPageParam: OperationInfinitePageParamResolver<TData, TPageParam>;\n getPreviousPageParam?: OperationInfinitePageParamResolver<TData, TPageParam>;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"operation-types.js","sourceRoot":"","sources":["../../src/graph/operation-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClientDomainOperationDeclaration as ClientOperationDeclaration,\n DomainOperationInvocation,\n DurableOperationMetadata,\n GraphSchemaParseResult,\n GraphSchemaLike,\n GraphSchemaValidationIssue,\n GraphClientCache,\n OperationInputSchema,\n ReflectedOperationDescriptor,\n} from '@ontahi/core/data-graph';\nimport type { TaskRunRef, TaskSnapshot } from '@ontahi/core/runtime/contracts';\nimport type {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseQueryOptions,\n} from '@tanstack/react-query';\n\nimport type { OperationInvocationFailure, OperationInvocationResult } from '../actions/index.js';\n\nexport type { GraphClientCache };\n\nexport type ClientOperationLike<TInput = unknown, TData = unknown> = ClientOperationDeclaration<\n TInput,\n TData\n> & {\n id: string;\n entityName: string;\n name: string;\n};\n\nexport type ClientSchemaOperationLike<TInput = unknown, TData = unknown> = Omit<\n ClientOperationDeclaration<any, any>,\n '__clientTypes'\n> & {\n id: string;\n entityName: string;\n name: string;\n input: OperationInputSchema<GraphSchemaLike, TInput>;\n __clientTypes?: {\n input: TInput;\n output: TData;\n };\n};\n\nexport type ReflectedOperationLike<\n TInput = unknown,\n TData = unknown,\n> = ReflectedOperationDescriptor<TInput, TData>;\n\nexport type DurableOperationLike<TInput = unknown, TResult = unknown> = ClientOperationLike<\n TInput,\n TResult\n> & {\n durable: DurableOperationMetadata<TInput, TResult>;\n};\n\nexport type DurableOperationHookResult<TInput, TResult> = OperationHookResult<\n TInput,\n TaskRunRef\n> & {\n durable: DurableOperationMetadata<TInput, TResult>;\n snapshot: TaskSnapshot<TResult> | undefined;\n progress: TaskSnapshot<TResult>['progress'];\n finalValue: TResult | undefined;\n runError: TaskSnapshot<TResult>['error'];\n isQueued: boolean;\n isRunning: boolean;\n isCompleted: boolean;\n isFailed: boolean;\n isCancelled: boolean;\n isRefreshingRun: boolean;\n};\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type OperationHookOptions<TInput, TData> = {\n onExecute?: (args: { input: TInput }) => MaybePromise<unknown>;\n onSuccess?: (args: {\n input: TInput;\n value: TData;\n result: Extract<OperationInvocationResult<TData>, { ok: true }>;\n }) => MaybePromise<unknown>;\n onError?: (args: {\n input: TInput;\n error: OperationInvocationFailure;\n result: OperationInvocationFailure;\n }) => MaybePromise<unknown>;\n onSettled?: (args: {\n input: TInput;\n result: OperationInvocationResult<TData>;\n }) => MaybePromise<unknown>;\n invalidateOnSuccess?: boolean;\n};\n\nexport type DurableOperationHookOptions<TInput> = OperationHookOptions<TInput, TaskRunRef> & {\n pollIntervalMs?: number;\n};\n\nexport type OperationInputArgs<TInput> = [TInput] extends [void] ? [] : [input: TInput];\n\nexport type OperationHookResult<TInput, TData> = {\n execute: (...args: OperationInputArgs<TInput>) => void;\n executeAsync: (...args: OperationInputArgs<TInput>) => Promise<OperationInvocationResult<TData>>;\n input: TInput | undefined;\n result: OperationInvocationResult<TData> | undefined;\n value: TData | undefined;\n reset: () => void;\n status: 'idle' | 'executing' | 'hasSucceeded' | 'hasErrored';\n isIdle: boolean;\n isExecuting: boolean;\n isTransitioning: boolean;\n isPending: boolean;\n hasSucceeded: boolean;\n hasErrored: boolean;\n};\n\nexport type OperationInputController<TInput> = {\n /** The editable public input, before schema normalization. */\n draft: TInput;\n setDraft: (next: TInput | ((current: TInput) => TInput)) => void;\n setField: <TField extends keyof TInput>(field: TField, value: TInput[TField]) => void;\n reset: (next?: TInput) => void;\n /** The complete validation result for the current draft. */\n validation: GraphSchemaParseResult<TInput>;\n issues: GraphSchemaValidationIssue[];\n issue: (path: string | ReadonlyArray<string | number>) => GraphSchemaValidationIssue | undefined;\n isValid: boolean;\n /** The parsed and normalized input, available only while the draft is valid. */\n value: TInput | undefined;\n};\n\nexport type OperationInputHookResult<TInput, TData> = Omit<\n OperationHookResult<TInput, TData>,\n 'execute' | 'executeAsync' | 'input'\n> & {\n execute: () => void;\n executeAsync: () => Promise<OperationInvocationResult<TData>>;\n input: OperationInputController<TInput>;\n lastInput: TInput | undefined;\n};\n\nexport type BoundOperationHookResult<TInput, TData> = Omit<\n OperationHookResult<TInput, TData>,\n 'execute' | 'executeAsync' | 'input'\n> & {\n execute: () => void;\n executeAsync: () => Promise<OperationInvocationResult<TData>>;\n input: TInput;\n};\n\nexport type ClientOperationInvocation<TInput, TData> = DomainOperationInvocation<TInput, TData>;\n\nexport type OperationRunner<TInput, TData> = (\n input: TInput,\n) => Promise<OperationInvocationResult<TData>>;\n\nexport type OperationQueryOptions<TData> = Omit<\n UseQueryOptions<unknown, Error, TData, QueryKey>,\n 'placeholderData' | 'queryFn' | 'queryKey' | 'select'\n> & {\n placeholderData?: TData | ((previousData: TData | undefined) => TData | undefined);\n};\n\nexport type OperationInfinitePageParamResolver<TData, TPageParam> = (\n page: TData,\n pages: TData[],\n pageParam: TPageParam,\n allPageParams: TPageParam[],\n) => TPageParam | null | undefined;\n\nexport type OperationInfiniteQueryOptions<TInput, TData, TPageParam> = Omit<\n UseInfiniteQueryOptions<unknown, Error, InfiniteData<TData, TPageParam>, QueryKey, TPageParam>,\n 'getNextPageParam' | 'getPreviousPageParam' | 'queryFn' | 'queryKey' | 'select'\n> & {\n getPageInput: (args: { input: TInput; pageParam: TPageParam }) => TInput;\n getNextPageParam: OperationInfinitePageParamResolver<TData, TPageParam>;\n getPreviousPageParam?: OperationInfinitePageParamResolver<TData, TPageParam>;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ontahi/react",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.5",
|
|
4
4
|
"description": "Non-visual React hooks and bridge adapters for Ontahi applications",
|
|
5
5
|
"homepage": "https://github.com/javifernandes/ontahi/tree/main/packages/react",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"provenance": true
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@ontahi/core": "0.1.0-alpha.
|
|
43
|
+
"@ontahi/core": "0.1.0-alpha.5"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@tanstack/react-query": "^5.51.0",
|