diff --git a/packages/client/src/adapters/standard/index.ts b/packages/client/src/adapters/standard/index.ts index 5427ab9a8..b2a051e92 100644 --- a/packages/client/src/adapters/standard/index.ts +++ b/packages/client/src/adapters/standard/index.ts @@ -1,5 +1,5 @@ export * from './codec' export * from './link' -export * from './plugin' +export type { StandardLinkPlugin } from './plugin' export * from './rpc-link-codec' export * from './transport' diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 69c52e14b..258e1dd93 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -14,7 +14,8 @@ export type { */ InferClientError as InferClientErrorUnion, } from './types' -export * from './utils' +export { resolveClientRest, safe } from './utils' +export type { SafeResult } from './utils' export type { AsyncCleanupFn, diff --git a/packages/contract/src/index.ts b/packages/contract/src/index.ts index ec469c058..30be2534e 100644 --- a/packages/contract/src/index.ts +++ b/packages/contract/src/index.ts @@ -41,7 +41,15 @@ export type { */ RouterContractClient as ContractRouterClient, } from './router-client' -export * from './router-utils' +export { + getProcedureContractOrThrow, + getRouterContract, + minifyRouterContract, +} from './router-utils' +export type { + AugmentContractRouterOptions, + AugmentedContractRouter, +} from './router-utils' export { /** * @deprecated Use `getRouterContract` instead. @@ -53,7 +61,11 @@ export { minifyRouterContract as minifyContractRouter, } from './router-utils' export * from './schema' -export * from './schema-built-in' +export { + asyncIteratorObject, + getAsyncIteratorObjectSchemasDetails, +} from './schema-built-in' +export type { AsyncIteratorObjectSchemasDetails } from './schema-built-in' export { /** * @deprecated Use `asyncIteratorObject` instead. diff --git a/packages/contract/src/meta.ts b/packages/contract/src/meta.ts index 589855d53..9ca70849d 100644 --- a/packages/contract/src/meta.ts +++ b/packages/contract/src/meta.ts @@ -60,7 +60,7 @@ export interface MetaPlugin< */ export type AnyMetaPlugin = MetaPlugin -export const HIDDEN_META_PLUGINS_SYMBOL = Symbol.for('ORPC_HIDDEN_META_PLUGINS') +const HIDDEN_META_PLUGINS_SYMBOL = Symbol.for('ORPC_HIDDEN_META_PLUGINS') export function getHiddenMetaPlugins(container: unknown): AnyMetaPlugin[] | undefined { if (!isTypescriptObject(container)) { diff --git a/packages/effect/src/index.test.ts b/packages/effect/src/index.test.ts index 28adaf847..181640da9 100644 --- a/packages/effect/src/index.test.ts +++ b/packages/effect/src/index.test.ts @@ -9,10 +9,3 @@ it('exports', async () => { createEffectClient: expect.any(Function), }) }) - -it('does not export internal helpers', async () => { - const mod = await import('./index') - - expect(mod).not.toHaveProperty('runPromise') - expect(mod).not.toHaveProperty('toStandardSchema') -}) diff --git a/packages/msw/src/index.ts b/packages/msw/src/index.ts index 433871cb1..48c94b2f5 100644 --- a/packages/msw/src/index.ts +++ b/packages/msw/src/index.ts @@ -1,2 +1,3 @@ -export * from './http-procedure-utils' +export { HTTPProcedureUtils } from './http-procedure-utils' +export type { HTTPProcedureUtilsOptions } from './http-procedure-utils' export * from './http-router-utils' diff --git a/packages/openapi/src/adapters/standard/index.ts b/packages/openapi/src/adapters/standard/index.ts index 487a43e4e..a754da32a 100644 --- a/packages/openapi/src/adapters/standard/index.ts +++ b/packages/openapi/src/adapters/standard/index.ts @@ -1,4 +1,3 @@ export * from './openapi-handler-codec' export * from './openapi-link-codec' export * from './openapi-matcher' -export * from './utils' diff --git a/packages/openapi/src/adapters/standard/openapi-matcher.test.ts b/packages/openapi/src/adapters/standard/openapi-matcher.test.ts index da889a51c..9183724ed 100644 --- a/packages/openapi/src/adapters/standard/openapi-matcher.test.ts +++ b/packages/openapi/src/adapters/standard/openapi-matcher.test.ts @@ -1,5 +1,5 @@ import { oc } from '@orpc/contract' -import { os, withHiddenRouterContract } from '@orpc/server' +import { implement, os } from '@orpc/server' import { findAllRoutes } from 'rou3' import { getOpenAPIMeta, openapi } from '../../meta' import { OpenAPIMatcher } from './openapi-matcher' @@ -742,7 +742,7 @@ describe('openAPIMatcher', () => { ping: oc.meta(openapi({ method: 'DELETE', path: '/contract/{id}' })), } - const matcher = new OpenAPIMatcher(withHiddenRouterContract(implementation, contract)) + const matcher = new OpenAPIMatcher(implement(contract).router(implementation)) const firstResult = await matcher.match('DELETE', '/contract/42', undefined) expect(firstResult).toBeDefined() @@ -763,11 +763,13 @@ describe('openAPIMatcher', () => { }) it('throws when a contract-first implementation is missing', async () => { - const matcher = new OpenAPIMatcher(withHiddenRouterContract({ - ping: os.handler(() => 'pong'), - }, { + const contract = { missing: oc.meta(openapi({ method: 'GET', path: '/missing' })), - })) + } + + const matcher = new OpenAPIMatcher(implement(contract).router({ + ping: os.handler(() => 'pong'), + } as any)) await expect(matcher.match('GET', '/missing', undefined)).rejects.toThrowError( '[Contract-First] Missing or invalid implementation for procedure at path: "missing"', diff --git a/packages/openapi/src/index.ts b/packages/openapi/src/index.ts index c4e3d738e..261fb78de 100644 --- a/packages/openapi/src/index.ts +++ b/packages/openapi/src/index.ts @@ -1,13 +1,13 @@ export * from './bracket-notation' export * from './client-factory' -export * from './constants' +export { DEFAULT_OPENAPI_METHOD } from './constants' export * from './meta' export * from './openapi-generator' export * from './openapi-json-serializer' export * from './openapi-serializer' export * from './router-utils' export * from './types' -export * from './utils' +export { getDynamicPathParams } from './utils' export { COMMON_ERROR_STATUS_MAP, diff --git a/packages/pinia-colada/src/index.test.ts b/packages/pinia-colada/src/index.test.ts index 8330e1e15..6509b3e8d 100644 --- a/packages/pinia-colada/src/index.test.ts +++ b/packages/pinia-colada/src/index.test.ts @@ -2,10 +2,6 @@ it('exports createPiniaColadaUtils, PINIA_COLADA_OPERATION_CONTEXT_SYMBOL', asyn await expect(import('./index')).resolves.toMatchObject({ createPiniaColadaUtils: expect.any(Function), createRouterUtils: expect.any(Function), - generateOperationKey: expect.any(Function), - serializableStreamedQuery: expect.any(Function), - liveQuery: expect.any(Function), - CompositeRouterUtilsPlugin: expect.any(Function), PINIA_COLADA_OPERATION_CONTEXT_SYMBOL: expect.any(Symbol), }) }) diff --git a/packages/pinia-colada/src/index.ts b/packages/pinia-colada/src/index.ts index 43a0189a8..fb59f1fa6 100644 --- a/packages/pinia-colada/src/index.ts +++ b/packages/pinia-colada/src/index.ts @@ -1,9 +1,27 @@ export * from './contract-utils' -export * from './key' -export * from './live-query' +export type { + OperationKey, + OperationKeyBaseOptions, + OperationKeyOptions, + OperationKeyPrefixOptions, +} from './key' export * from './meta' -export * from './plugin' -export * from './procedure-utils' +export type { RouterUtilsPlugin } from './plugin' +export { mergeProcedureUtilsOptions, ProcedureUtils } from './procedure-utils' +export type { + ProcedureUtilsInfiniteInterceptor, + ProcedureUtilsInfiniteInterceptorOptions, + ProcedureUtilsLiveInterceptor, + ProcedureUtilsLiveInterceptorOptions, + ProcedureUtilsModifier, + ProcedureUtilsMutationInterceptor, + ProcedureUtilsMutationInterceptorOptions, + ProcedureUtilsOptions, + ProcedureUtilsQueryInterceptor, + ProcedureUtilsQueryInterceptorOptions, + ProcedureUtilsStreamedInterceptor, + ProcedureUtilsStreamedInterceptorOptions, +} from './procedure-utils' export * from './router-utils' export { /** @@ -14,8 +32,8 @@ export { export { createRouterUtils as createPiniaColadaUtils, } from './router-utils' -export * from './shared-utils' -export * from './stream-query' +export { SharedUtils } from './shared-utils' +export type { SerializableStreamedQueryOptions } from './stream-query' export * from './types' export { OPERATION_CONTEXT_SYMBOL as PINIA_COLADA_OPERATION_CONTEXT_SYMBOL, diff --git a/packages/server/src/adapters/standard/handler.ts b/packages/server/src/adapters/standard/handler.ts index e9eaa8591..bf2fc52fb 100644 --- a/packages/server/src/adapters/standard/handler.ts +++ b/packages/server/src/adapters/standard/handler.ts @@ -200,7 +200,7 @@ export class StandardHandler { } } -export class TracingHandlerPlugin implements StandardHandlerPlugin { +class TracingHandlerPlugin implements StandardHandlerPlugin { name = '~tracing' init(options: StandardHandlerOptions): StandardHandlerOptions { diff --git a/packages/server/src/adapters/standard/index.test.ts b/packages/server/src/adapters/standard/index.test.ts index 6efd06809..b69575d34 100644 --- a/packages/server/src/adapters/standard/index.test.ts +++ b/packages/server/src/adapters/standard/index.test.ts @@ -1,7 +1,6 @@ -it('exports StandardHandler, CompositeStandardHandlerPlugin, resolveFriendlyStandardHandlerHandleOptions, RPCMatcher, RPCHandlerCodec', async () => { +it('exports StandardHandler, resolveFriendlyStandardHandlerHandleOptions, RPCMatcher, RPCHandlerCodec', async () => { await expect(import('.')).resolves.toMatchObject({ StandardHandler: expect.any(Function), - CompositeStandardHandlerPlugin: expect.any(Function), resolveFriendlyStandardHandlerHandleOptions: expect.any(Function), RPCMatcher: expect.any(Function), RPCHandlerCodec: expect.any(Function), diff --git a/packages/server/src/adapters/standard/index.ts b/packages/server/src/adapters/standard/index.ts index 80e653d98..e84a94c5e 100644 --- a/packages/server/src/adapters/standard/index.ts +++ b/packages/server/src/adapters/standard/index.ts @@ -1,6 +1,6 @@ export * from './codec' export * from './handler' -export * from './plugin' +export type { StandardHandlerPlugin } from './plugin' export * from './rpc-handler-codec' export * from './rpc-matcher' export * from './utils' diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 5215f4ae2..46af41624 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -4,14 +4,20 @@ export * from './constants' export * from './context' export * from './implementer' export * from './implementer-procedure' -export * from './implementer-router' +export { SharedRouterImplementer } from './implementer-router' +export type { + RouterImplementer, + RouterImplementerWithMiddlewares, + SharedRouterImplementerWithMiddlewares, +} from './implementer-router' export * from './lazy' export * from './middleware' -export * from './middleware-decorated' +export type { DecoratedMiddleware } from './middleware-decorated' export * from './procedure' export * from './procedure-client' export * from './procedure-decorated' -export * from './procedure-utils' +export { call } from './procedure-utils' +export type { CallOptions, CallRest } from './procedure-utils' export * from './router' export type { /** @@ -20,8 +26,19 @@ export type { InferRouterFinalContexts as InferRouterCurrentContexts, } from './router' export * from './router-client' -export * from './router-hidden' -export * from './router-utils' +export { + getRouter, + resolveContractProcedure, + unlazyRouter, + walkProcedureContractsAsync, + walkProcedureContractsSync, +} from './router-utils' +export type { + AugmentedRouter, + AugmentedRouterWithMiddlewares, + UnlaziedRouter, + WalkProcedureContractsLazyResult, +} from './router-utils' export type { AnyORPCError, @@ -44,7 +61,6 @@ export type { } from '@orpc/client' export { - cloneORPCError, COMMON_ERROR_STATUS_MAP, isDefinedError, ORPCError, @@ -85,7 +101,6 @@ export { defineMeta, error, eventIterator, - reconcileORPCError, type, ValidationError, } from '@orpc/contract' diff --git a/packages/server/src/router-utils.ts b/packages/server/src/router-utils.ts index 36c65d077..08c0cfebd 100644 --- a/packages/server/src/router-utils.ts +++ b/packages/server/src/router-utils.ts @@ -65,7 +65,7 @@ export type AugmentedRouterWithMiddlewares< : never } -export interface AugmentRouterOptions extends AugmentContractRouterOptions, ProcedureConfig { +interface AugmentRouterOptions extends AugmentContractRouterOptions, ProcedureConfig { middlewares: AnyMiddleware[] } @@ -133,7 +133,7 @@ export function augmentRouter< return enhanced as any } -export interface AugmentImplementedRouterOptions extends ProcedureConfig { +interface AugmentImplementedRouterOptions extends ProcedureConfig { middlewares: AnyMiddleware[] } diff --git a/packages/swr/src/index.test.ts b/packages/swr/src/index.test.ts index 5bc06787c..ef976db9a 100644 --- a/packages/swr/src/index.test.ts +++ b/packages/swr/src/index.test.ts @@ -2,8 +2,6 @@ it('exports createSWRUtils, SWR_OPERATION_CONTEXT_SYMBOL', async () => { await expect(import('./index')).resolves.toMatchObject({ createSWRUtils: expect.any(Function), createRouterUtils: expect.any(Function), - generateOperationKey: expect.any(Function), - isSubsetOf: expect.any(Function), SWR_OPERATION_CONTEXT_SYMBOL: expect.any(Symbol), }) }) diff --git a/packages/swr/src/index.ts b/packages/swr/src/index.ts index d93dd3431..3262dd684 100644 --- a/packages/swr/src/index.ts +++ b/packages/swr/src/index.ts @@ -1,16 +1,20 @@ -export * from './key' -export * from './procedure-utils' +export type { + OperationKey, + OperationKeyOptions, + OperationKeyPrefixOptions, +} from './key' +export { ProcedureUtils } from './procedure-utils' +export type { ProcedureUtilsOptions } from './procedure-utils' export * from './router-utils' export { createRouterUtils as createSWRUtils, } from './router-utils' -export * from './shared-utils' +export { SharedUtils } from './shared-utils' export * from './types' export { OPERATION_CONTEXT_SYMBOL as SWR_OPERATION_CONTEXT_SYMBOL, type OperationContext as SWROperationContext, } from './types' -export * from './utils' export type { Public, diff --git a/packages/tanstack-query/src/index.ts b/packages/tanstack-query/src/index.ts index 2cbfe2305..510206776 100644 --- a/packages/tanstack-query/src/index.ts +++ b/packages/tanstack-query/src/index.ts @@ -1,13 +1,32 @@ export * from './contract-utils' -export * from './key' +export type { + OperationKey, + OperationKeyBaseOptions, + OperationKeyOptions, + OperationKeyPrefixOptions, +} from './key' export * from './meta' -export * from './plugin' -export * from './procedure-utils' +export type { RouterUtilsPlugin } from './plugin' +export { mergeProcedureUtilsOptions, ProcedureUtils } from './procedure-utils' +export type { + ProcedureUtilsInfiniteInterceptor, + ProcedureUtilsInfiniteInterceptorOptions, + ProcedureUtilsLiveInterceptor, + ProcedureUtilsLiveInterceptorOptions, + ProcedureUtilsModifier, + ProcedureUtilsMutationInterceptor, + ProcedureUtilsMutationInterceptorOptions, + ProcedureUtilsOptions, + ProcedureUtilsQueryInterceptor, + ProcedureUtilsQueryInterceptorOptions, + ProcedureUtilsStreamedInterceptor, + ProcedureUtilsStreamedInterceptorOptions, +} from './procedure-utils' export * from './router-utils' export { createRouterUtils as createTanstackQueryUtils } from './router-utils' -export * from './shared-utils' +export { SharedUtils } from './shared-utils' export * from './ssr' -export * from './stream-query' +export type { SerializableStreamedQueryOptions } from './stream-query' export * from './structural-sharing' export * from './types' export {