@kubb/plugin-solid-query
Version:
Solid Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for Solid.js applications.
163 lines (162 loc) • 4.6 kB
TypeScript
import { Operation, OperationSchemas, PluginSolidQuery, Transformer } from "./types-B5mFPIGb.js";
import { ReactNode } from "react";
//#region ../react/src/utils/getFunctionParams.d.ts
type Param = {
/**
* `object` will return the pathParams as an object.
*
* `inline` will return the pathParams as comma separated params.
* @default `'inline'`
* @private
*/
mode?: 'object' | 'inline' | 'inlineSpread';
type?: 'string' | 'number' | (string & {});
optional?: boolean;
/**
* @example test = "default"
*/
default?: string;
/**
* Used for no TypeScript(with mode object)
* @example test: "default"
*/
value?: string;
children?: Params;
};
type Params = Record<string, Param | undefined>;
type Options = {
type: 'constructor' | 'call' | 'object' | 'objectValue';
transformName?: (name: string) => string;
transformType?: (type: string) => string;
};
declare class FunctionParams {
#private;
static factory(params: Params): FunctionParams;
constructor(params: Params);
get params(): Params;
get flatParams(): Params;
toCall({
transformName,
transformType
}?: Pick<Options, 'transformName' | 'transformType'>): string;
toObject(): string;
toObjectValue(): string;
toConstructor(): string;
}
//#endregion
//#region src/components/Query.d.ts
type Props$2 = {
/**
* Name of the function
*/
name: string;
queryOptionsName: string;
queryKeyName: string;
queryKeyTypeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps$2 = {
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
typeSchemas: OperationSchemas;
};
declare function Query({
name,
queryKeyTypeName,
queryOptionsName,
queryKeyName,
paramsCasing,
paramsType,
pathParamsType,
dataReturnType,
typeSchemas,
operation
}: Props$2): ReactNode;
declare namespace Query {
var getParams: ({
paramsType,
paramsCasing,
pathParamsType,
dataReturnType,
typeSchemas
}: GetParamsProps$2) => FunctionParams;
}
//#endregion
//#region src/components/QueryKey.d.ts
type Props$1 = {
name: string;
typeName: string;
typeSchemas: OperationSchemas;
operation: Operation;
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
transformer: Transformer | undefined;
};
type GetParamsProps$1 = {
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function QueryKey({
name,
typeSchemas,
paramsCasing,
pathParamsType,
operation,
typeName,
transformer
}: Props$1): ReactNode;
declare namespace QueryKey {
var getParams: ({
pathParamsType,
paramsCasing,
typeSchemas
}: GetParamsProps$1) => FunctionParams;
var getTransformer: Transformer;
}
//#endregion
//#region src/components/QueryOptions.d.ts
type Props = {
name: string;
clientName: string;
queryKeyName: string;
typeSchemas: OperationSchemas;
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
};
type GetParamsProps = {
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing'];
paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
typeSchemas: OperationSchemas;
};
declare function QueryOptions({
name,
clientName,
typeSchemas,
paramsCasing,
paramsType,
dataReturnType,
pathParamsType,
queryKeyName
}: Props): ReactNode;
declare namespace QueryOptions {
var getParams: ({
paramsType,
paramsCasing,
pathParamsType,
typeSchemas
}: GetParamsProps) => FunctionParams;
}
//#endregion
export { Query, QueryKey, QueryOptions };
//# sourceMappingURL=components.d.ts.map