@kubb/plugin-solid-query 4.1.4 → 4.2.0
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/dist/{components-JN6XAKh3.js → components-Coq1fmcl.js} +5 -8
- package/dist/components-Coq1fmcl.js.map +1 -0
- package/dist/{components-CrpQqUQQ.cjs → components-D0g890Z2.cjs} +4 -7
- package/dist/components-D0g890Z2.cjs.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.cts +12 -54
- package/dist/components.d.ts +12 -54
- package/dist/components.js +1 -1
- package/dist/{generators-DRX-ix2A.js → generators-D-_RURdc.js} +9 -6
- package/dist/generators-D-_RURdc.js.map +1 -0
- package/dist/{generators-CUcA3_rk.cjs → generators-DSsFHoN2.cjs} +8 -4
- package/dist/generators-DSsFHoN2.cjs.map +1 -0
- package/dist/generators.cjs +2 -2
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +2 -2
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/{types-fv5KLGsJ.d.ts → types-C2GJpelw.d.cts} +69 -69
- package/dist/{types-BI1GJc6y.d.cts → types-DTp-JvQu.d.ts} +69 -69
- package/package.json +9 -11
- package/src/components/Mutation.tsx +1 -12
- package/src/components/MutationKey.tsx +1 -2
- package/src/components/Query.tsx +1 -2
- package/src/components/QueryKey.tsx +3 -5
- package/src/components/QueryOptions.tsx +3 -6
- package/src/generators/mutationGenerator.tsx +6 -6
- package/src/generators/queryGenerator.tsx +6 -6
- package/dist/components-CrpQqUQQ.cjs.map +0 -1
- package/dist/components-JN6XAKh3.js.map +0 -1
- package/dist/generators-CUcA3_rk.cjs.map +0 -1
- package/dist/generators-DRX-ix2A.js.map +0 -1
|
@@ -46,17 +46,17 @@ declare class Oas<const TOAS = unknown> extends BaseOas {
|
|
|
46
46
|
* Abstract class that contains the building blocks for plugins to create their own Generator
|
|
47
47
|
* @link idea based on https://github.com/colinhacks/zod/blob/master/src/types.ts#L137
|
|
48
48
|
*/
|
|
49
|
-
declare abstract class BaseGenerator<TOptions = unknown, TContext = unknown> {
|
|
49
|
+
declare abstract class BaseGenerator<TOptions$1 = unknown, TContext = unknown> {
|
|
50
50
|
#private;
|
|
51
|
-
constructor(options?: TOptions, context?: TContext);
|
|
52
|
-
get options(): TOptions;
|
|
51
|
+
constructor(options?: TOptions$1, context?: TContext);
|
|
52
|
+
get options(): TOptions$1;
|
|
53
53
|
get context(): TContext;
|
|
54
|
-
set options(options: TOptions);
|
|
54
|
+
set options(options: TOptions$1);
|
|
55
55
|
abstract build(...params: unknown[]): unknown;
|
|
56
56
|
}
|
|
57
57
|
//#endregion
|
|
58
58
|
//#region ../core/src/fs/types.d.ts
|
|
59
|
-
type BasePath<T extends string = string> = `${T}/`;
|
|
59
|
+
type BasePath<T$1 extends string = string> = `${T$1}/`;
|
|
60
60
|
type Import = {
|
|
61
61
|
/**
|
|
62
62
|
* Import name to be used
|
|
@@ -130,7 +130,7 @@ type BaseName = `${string}.${string}`;
|
|
|
130
130
|
* Path will be full qualified path to a specified file
|
|
131
131
|
*/
|
|
132
132
|
type Path = string;
|
|
133
|
-
type AdvancedPath<T extends BaseName = BaseName> = `${BasePath}${T}`;
|
|
133
|
+
type AdvancedPath<T$1 extends BaseName = BaseName> = `${BasePath}${T$1}`;
|
|
134
134
|
type OptionalPath = Path | undefined | null;
|
|
135
135
|
type File<TMeta extends object = object> = {
|
|
136
136
|
/**
|
|
@@ -219,9 +219,9 @@ type Logger = {
|
|
|
219
219
|
};
|
|
220
220
|
//#endregion
|
|
221
221
|
//#region ../core/src/utils/types.d.ts
|
|
222
|
-
type PossiblePromise<T> = Promise<T> | T;
|
|
223
|
-
type ArrayWithLength<T extends number, U extends any[] = []> = U['length'] extends T ? U : ArrayWithLength<T, [true, ...U]>;
|
|
224
|
-
type GreaterThan<T extends number, U extends number> = ArrayWithLength<U> extends [...ArrayWithLength<T>, ...infer _] ? false : true;
|
|
222
|
+
type PossiblePromise<T$1> = Promise<T$1> | T$1;
|
|
223
|
+
type ArrayWithLength<T$1 extends number, U extends any[] = []> = U['length'] extends T$1 ? U : ArrayWithLength<T$1, [true, ...U]>;
|
|
224
|
+
type GreaterThan<T$1 extends number, U extends number> = ArrayWithLength<U> extends [...ArrayWithLength<T$1>, ...infer _] ? false : true;
|
|
225
225
|
//#endregion
|
|
226
226
|
//#region ../core/src/types.d.ts
|
|
227
227
|
type InputPath = {
|
|
@@ -334,11 +334,11 @@ TName extends string = string,
|
|
|
334
334
|
/**
|
|
335
335
|
* Options of the plugin.
|
|
336
336
|
*/
|
|
337
|
-
TOptions extends object = object,
|
|
337
|
+
TOptions$1 extends object = object,
|
|
338
338
|
/**
|
|
339
339
|
* Options of the plugin that can be used later on, see `options` inside your plugin config.
|
|
340
340
|
*/
|
|
341
|
-
TResolvedOptions extends object = TOptions,
|
|
341
|
+
TResolvedOptions extends object = TOptions$1,
|
|
342
342
|
/**
|
|
343
343
|
* Context that you want to expose to other plugins.
|
|
344
344
|
*/
|
|
@@ -352,23 +352,23 @@ TResolvePathOptions extends object = object> = {
|
|
|
352
352
|
* Same behaviour like what has been done with `QueryKey` in `@tanstack/react-query`
|
|
353
353
|
*/
|
|
354
354
|
key: PluginKey<TName | string>;
|
|
355
|
-
options: TOptions;
|
|
355
|
+
options: TOptions$1;
|
|
356
356
|
resolvedOptions: TResolvedOptions;
|
|
357
357
|
context: TContext;
|
|
358
358
|
resolvePathOptions: TResolvePathOptions;
|
|
359
359
|
};
|
|
360
360
|
type PluginKey<TName> = [name: TName, identifier?: string | number];
|
|
361
|
-
type UserPlugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
361
|
+
type UserPlugin<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
362
362
|
/**
|
|
363
363
|
* Unique name used for the plugin
|
|
364
364
|
* The name of the plugin follows the format scope:foo-bar or foo-bar, adding scope: can avoid naming conflicts with other plugins.
|
|
365
365
|
* @example @kubb/typescript
|
|
366
366
|
*/
|
|
367
|
-
name: TOptions['name'];
|
|
367
|
+
name: TOptions$1['name'];
|
|
368
368
|
/**
|
|
369
369
|
* Options set for a specific plugin(see kubb.config.js), passthrough of options.
|
|
370
370
|
*/
|
|
371
|
-
options: TOptions['resolvedOptions'];
|
|
371
|
+
options: TOptions$1['resolvedOptions'];
|
|
372
372
|
/**
|
|
373
373
|
* Specifies the preceding plugins for the current plugin. You can pass an array of preceding plugin names, and the current plugin will be executed after these plugins.
|
|
374
374
|
* Can be used to validate dependent plugins.
|
|
@@ -378,23 +378,23 @@ type UserPlugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> =
|
|
|
378
378
|
* Specifies the succeeding plugins for the current plugin. You can pass an array of succeeding plugin names, and the current plugin will be executed before these plugins.
|
|
379
379
|
*/
|
|
380
380
|
post?: Array<string>;
|
|
381
|
-
} & (TOptions['context'] extends never ? {
|
|
381
|
+
} & (TOptions$1['context'] extends never ? {
|
|
382
382
|
context?: never;
|
|
383
383
|
} : {
|
|
384
|
-
context: (this: TOptions['name'] extends 'core' ? null : Omit<PluginContext<TOptions>, 'addFile'>) => TOptions['context'];
|
|
384
|
+
context: (this: TOptions$1['name'] extends 'core' ? null : Omit<PluginContext<TOptions$1>, 'addFile'>) => TOptions$1['context'];
|
|
385
385
|
});
|
|
386
|
-
type UserPluginWithLifeCycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = UserPlugin<TOptions> & PluginLifecycle<TOptions>;
|
|
387
|
-
type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
386
|
+
type UserPluginWithLifeCycle<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = UserPlugin<TOptions$1> & PluginLifecycle<TOptions$1>;
|
|
387
|
+
type Plugin<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
388
388
|
/**
|
|
389
389
|
* Unique name used for the plugin
|
|
390
390
|
* @example @kubb/typescript
|
|
391
391
|
*/
|
|
392
|
-
name: TOptions['name'];
|
|
392
|
+
name: TOptions$1['name'];
|
|
393
393
|
/**
|
|
394
394
|
* Internal key used when a developer uses more than one of the same plugin
|
|
395
395
|
* @private
|
|
396
396
|
*/
|
|
397
|
-
key: TOptions['key'];
|
|
397
|
+
key: TOptions$1['key'];
|
|
398
398
|
/**
|
|
399
399
|
* Specifies the preceding plugins for the current plugin. You can pass an array of preceding plugin names, and the current plugin will be executed after these plugins.
|
|
400
400
|
* Can be used to validate dependent plugins.
|
|
@@ -407,49 +407,49 @@ type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
|
407
407
|
/**
|
|
408
408
|
* Options set for a specific plugin(see kubb.config.js), passthrough of options.
|
|
409
409
|
*/
|
|
410
|
-
options: TOptions['resolvedOptions'];
|
|
411
|
-
} & (TOptions['context'] extends never ? {
|
|
410
|
+
options: TOptions$1['resolvedOptions'];
|
|
411
|
+
} & (TOptions$1['context'] extends never ? {
|
|
412
412
|
context?: never;
|
|
413
413
|
} : {
|
|
414
|
-
context: TOptions['context'];
|
|
414
|
+
context: TOptions$1['context'];
|
|
415
415
|
});
|
|
416
|
-
type PluginWithLifeCycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = Plugin<TOptions> & PluginLifecycle<TOptions>;
|
|
417
|
-
type PluginLifecycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
416
|
+
type PluginWithLifeCycle<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = Plugin<TOptions$1> & PluginLifecycle<TOptions$1>;
|
|
417
|
+
type PluginLifecycle<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
418
418
|
/**
|
|
419
419
|
* Start of the lifecycle of a plugin.
|
|
420
420
|
* @type hookParallel
|
|
421
421
|
*/
|
|
422
|
-
buildStart?: (this: PluginContext<TOptions>, Config: Config) => PossiblePromise<void>;
|
|
422
|
+
buildStart?: (this: PluginContext<TOptions$1>, Config: Config) => PossiblePromise<void>;
|
|
423
423
|
/**
|
|
424
424
|
* Resolve to a Path based on a baseName(example: `./Pet.ts`) and directory(example: `./models`).
|
|
425
425
|
* Options can als be included.
|
|
426
426
|
* @type hookFirst
|
|
427
427
|
* @example ('./Pet.ts', './src/gen/') => '/src/gen/Pet.ts'
|
|
428
428
|
*/
|
|
429
|
-
resolvePath?: (this: PluginContext<TOptions>, baseName: BaseName, mode?: Mode, options?: TOptions['resolvePathOptions']) => OptionalPath;
|
|
429
|
+
resolvePath?: (this: PluginContext<TOptions$1>, baseName: BaseName, mode?: Mode, options?: TOptions$1['resolvePathOptions']) => OptionalPath;
|
|
430
430
|
/**
|
|
431
431
|
* Resolve to a name based on a string.
|
|
432
432
|
* Useful when converting to PascalCase or camelCase.
|
|
433
433
|
* @type hookFirst
|
|
434
434
|
* @example ('pet') => 'Pet'
|
|
435
435
|
*/
|
|
436
|
-
resolveName?: (this: PluginContext<TOptions>, name: ResolveNameParams['name'], type?: ResolveNameParams['type']) => string;
|
|
436
|
+
resolveName?: (this: PluginContext<TOptions$1>, name: ResolveNameParams['name'], type?: ResolveNameParams['type']) => string;
|
|
437
437
|
/**
|
|
438
438
|
* End of the plugin lifecycle.
|
|
439
439
|
* @type hookParallel
|
|
440
440
|
*/
|
|
441
|
-
buildEnd?: (this: PluginContext<TOptions>) => PossiblePromise<void>;
|
|
441
|
+
buildEnd?: (this: PluginContext<TOptions$1>) => PossiblePromise<void>;
|
|
442
442
|
};
|
|
443
443
|
type PluginLifecycleHooks = keyof PluginLifecycle;
|
|
444
|
-
type PluginParameter<H extends PluginLifecycleHooks> = Parameters<Required<PluginLifecycle>[H]>;
|
|
445
|
-
type ResolvePathParams<TOptions = object> = {
|
|
444
|
+
type PluginParameter<H$1 extends PluginLifecycleHooks> = Parameters<Required<PluginLifecycle>[H$1]>;
|
|
445
|
+
type ResolvePathParams<TOptions$1 = object> = {
|
|
446
446
|
pluginKey?: Plugin['key'];
|
|
447
447
|
baseName: BaseName;
|
|
448
448
|
mode?: Mode;
|
|
449
449
|
/**
|
|
450
450
|
* Options to be passed to 'resolvePath' 3th parameter
|
|
451
451
|
*/
|
|
452
|
-
options?: TOptions;
|
|
452
|
+
options?: TOptions$1;
|
|
453
453
|
};
|
|
454
454
|
type ResolveNameParams = {
|
|
455
455
|
name: string;
|
|
@@ -462,12 +462,12 @@ type ResolveNameParams = {
|
|
|
462
462
|
*/
|
|
463
463
|
type?: 'file' | 'function' | 'type' | 'const';
|
|
464
464
|
};
|
|
465
|
-
type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
465
|
+
type PluginContext<TOptions$1 extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
466
466
|
config: Config;
|
|
467
467
|
fileManager: FileManager;
|
|
468
468
|
pluginManager: PluginManager;
|
|
469
469
|
addFile: (...file: Array<File>) => Promise<Array<ResolvedFile>>;
|
|
470
|
-
resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => OptionalPath;
|
|
470
|
+
resolvePath: (params: ResolvePathParams<TOptions$1['resolvePathOptions']>) => OptionalPath;
|
|
471
471
|
resolveName: (params: ResolveNameParams) => string;
|
|
472
472
|
logger: Logger;
|
|
473
473
|
/**
|
|
@@ -477,12 +477,12 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
|
|
|
477
477
|
/**
|
|
478
478
|
* Current plugin
|
|
479
479
|
*/
|
|
480
|
-
plugin: Plugin<TOptions>;
|
|
480
|
+
plugin: Plugin<TOptions$1>;
|
|
481
481
|
};
|
|
482
482
|
/**
|
|
483
483
|
* Specify the export location for the files and define the behavior of the output
|
|
484
484
|
*/
|
|
485
|
-
type Output<TOptions> = {
|
|
485
|
+
type Output<TOptions$1> = {
|
|
486
486
|
/**
|
|
487
487
|
* Path to the output folder or file that will contain the generated code
|
|
488
488
|
*/
|
|
@@ -495,11 +495,11 @@ type Output<TOptions> = {
|
|
|
495
495
|
/**
|
|
496
496
|
* Add a banner text in the beginning of every file
|
|
497
497
|
*/
|
|
498
|
-
banner?: string | ((options: TOptions) => string);
|
|
498
|
+
banner?: string | ((options: TOptions$1) => string);
|
|
499
499
|
/**
|
|
500
500
|
* Add a footer text in the beginning of every file
|
|
501
501
|
*/
|
|
502
|
-
footer?: string | ((options: TOptions) => string);
|
|
502
|
+
footer?: string | ((options: TOptions$1) => string);
|
|
503
503
|
};
|
|
504
504
|
type GroupContext = {
|
|
505
505
|
group: string;
|
|
@@ -519,7 +519,7 @@ type Group = {
|
|
|
519
519
|
type FileMetaBase = {
|
|
520
520
|
pluginKey?: Plugin['key'];
|
|
521
521
|
};
|
|
522
|
-
type AddResult<T extends Array<File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
522
|
+
type AddResult<T$1 extends Array<File>> = Promise<Awaited<GreaterThan<T$1['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
523
523
|
type AddIndexesProps = {
|
|
524
524
|
type: BarrelType | false | undefined;
|
|
525
525
|
/**
|
|
@@ -572,16 +572,16 @@ declare class FileManager {
|
|
|
572
572
|
//#region ../core/src/PluginManager.d.ts
|
|
573
573
|
type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
574
574
|
type Strategy = 'hookFirst' | 'hookForPlugin' | 'hookParallel' | 'hookSeq';
|
|
575
|
-
type Executer<H extends PluginLifecycleHooks = PluginLifecycleHooks> = {
|
|
575
|
+
type Executer<H$1 extends PluginLifecycleHooks = PluginLifecycleHooks> = {
|
|
576
576
|
message: string;
|
|
577
577
|
strategy: Strategy;
|
|
578
|
-
hookName: H;
|
|
578
|
+
hookName: H$1;
|
|
579
579
|
plugin: Plugin;
|
|
580
580
|
parameters?: unknown[] | undefined;
|
|
581
581
|
output?: unknown;
|
|
582
582
|
};
|
|
583
|
-
type ParseResult<H extends PluginLifecycleHooks> = RequiredPluginLifecycle[H];
|
|
584
|
-
type SafeParseResult<H extends PluginLifecycleHooks, Result = ReturnType<ParseResult<H>>> = {
|
|
583
|
+
type ParseResult<H$1 extends PluginLifecycleHooks> = RequiredPluginLifecycle[H$1];
|
|
584
|
+
type SafeParseResult<H$1 extends PluginLifecycleHooks, Result = ReturnType<ParseResult<H$1>>> = {
|
|
585
585
|
result: Result;
|
|
586
586
|
plugin: Plugin;
|
|
587
587
|
};
|
|
@@ -597,12 +597,12 @@ type Events = {
|
|
|
597
597
|
executed: [executer: Executer];
|
|
598
598
|
error: [error: Error];
|
|
599
599
|
};
|
|
600
|
-
type GetFileProps<TOptions = object> = {
|
|
600
|
+
type GetFileProps<TOptions$1 = object> = {
|
|
601
601
|
name: string;
|
|
602
602
|
mode?: Mode;
|
|
603
603
|
extname: Extname;
|
|
604
604
|
pluginKey: Plugin['key'];
|
|
605
|
-
options?: TOptions;
|
|
605
|
+
options?: TOptions$1;
|
|
606
606
|
};
|
|
607
607
|
declare class PluginManager {
|
|
608
608
|
#private;
|
|
@@ -1008,12 +1008,12 @@ type ByContentType = {
|
|
|
1008
1008
|
};
|
|
1009
1009
|
type Exclude$1 = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
|
|
1010
1010
|
type Include = ByTag | ByOperationId | ByPath | ByMethod | ByContentType;
|
|
1011
|
-
type Override<TOptions> = (ByTag | ByOperationId | ByPath | ByMethod | BySchemaName | ByContentType) & {
|
|
1012
|
-
options: Partial<TOptions>;
|
|
1011
|
+
type Override<TOptions$1> = (ByTag | ByOperationId | ByPath | ByMethod | BySchemaName | ByContentType) & {
|
|
1012
|
+
options: Partial<TOptions$1>;
|
|
1013
1013
|
};
|
|
1014
1014
|
//#endregion
|
|
1015
1015
|
//#region ../plugin-oas/src/SchemaGenerator.d.ts
|
|
1016
|
-
type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
|
|
1016
|
+
type Context$1<TOptions$1, TPluginOptions extends PluginFactoryOptions> = {
|
|
1017
1017
|
oas: Oas;
|
|
1018
1018
|
pluginManager: PluginManager;
|
|
1019
1019
|
/**
|
|
@@ -1022,7 +1022,7 @@ type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
|
|
|
1022
1022
|
plugin: Plugin<TPluginOptions>;
|
|
1023
1023
|
mode: Mode;
|
|
1024
1024
|
include?: Array<'schemas' | 'responses' | 'requestBodies'>;
|
|
1025
|
-
override: Array<Override<TOptions>> | undefined;
|
|
1025
|
+
override: Array<Override<TOptions$1>> | undefined;
|
|
1026
1026
|
contentType?: contentType;
|
|
1027
1027
|
output?: string;
|
|
1028
1028
|
};
|
|
@@ -1053,7 +1053,7 @@ type SchemaProps$1 = {
|
|
|
1053
1053
|
name?: string;
|
|
1054
1054
|
parentName?: string;
|
|
1055
1055
|
};
|
|
1056
|
-
declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions, Context$1<TOptions, TPluginOptions>> {
|
|
1056
|
+
declare class SchemaGenerator<TOptions$1 extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions$1, Context$1<TOptions$1, TPluginOptions>> {
|
|
1057
1057
|
#private;
|
|
1058
1058
|
refs: Refs;
|
|
1059
1059
|
/**
|
|
@@ -1072,39 +1072,39 @@ declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGe
|
|
|
1072
1072
|
}
|
|
1073
1073
|
//#endregion
|
|
1074
1074
|
//#region ../plugin-oas/src/generator.d.ts
|
|
1075
|
-
type OperationsProps<TOptions extends PluginFactoryOptions> = {
|
|
1076
|
-
instance: Omit<OperationGenerator<TOptions>, 'build'>;
|
|
1077
|
-
options: TOptions['resolvedOptions'];
|
|
1075
|
+
type OperationsProps<TOptions$1 extends PluginFactoryOptions> = {
|
|
1076
|
+
instance: Omit<OperationGenerator<TOptions$1>, 'build'>;
|
|
1077
|
+
options: TOptions$1['resolvedOptions'];
|
|
1078
1078
|
operations: Array<Operation$1>;
|
|
1079
1079
|
};
|
|
1080
|
-
type OperationProps<TOptions extends PluginFactoryOptions> = {
|
|
1081
|
-
instance: Omit<OperationGenerator<TOptions>, 'build'>;
|
|
1082
|
-
options: TOptions['resolvedOptions'];
|
|
1080
|
+
type OperationProps<TOptions$1 extends PluginFactoryOptions> = {
|
|
1081
|
+
instance: Omit<OperationGenerator<TOptions$1>, 'build'>;
|
|
1082
|
+
options: TOptions$1['resolvedOptions'];
|
|
1083
1083
|
operation: Operation$1;
|
|
1084
1084
|
};
|
|
1085
|
-
type SchemaProps<TOptions extends PluginFactoryOptions> = {
|
|
1086
|
-
instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>;
|
|
1087
|
-
options: TOptions['resolvedOptions'];
|
|
1085
|
+
type SchemaProps<TOptions$1 extends PluginFactoryOptions> = {
|
|
1086
|
+
instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions$1>, 'build'>;
|
|
1087
|
+
options: TOptions$1['resolvedOptions'];
|
|
1088
1088
|
schema: {
|
|
1089
1089
|
name: string;
|
|
1090
1090
|
tree: Array<Schema>;
|
|
1091
1091
|
value: SchemaObject$1;
|
|
1092
1092
|
};
|
|
1093
1093
|
};
|
|
1094
|
-
type GeneratorOptions<TOptions extends PluginFactoryOptions> = {
|
|
1094
|
+
type GeneratorOptions<TOptions$1 extends PluginFactoryOptions> = {
|
|
1095
1095
|
name: string;
|
|
1096
|
-
operations?: (this: GeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => Promise<File[]>;
|
|
1097
|
-
operation?: (this: GeneratorOptions<TOptions>, props: OperationProps<TOptions>) => Promise<File[]>;
|
|
1098
|
-
schema?: (this: GeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => Promise<File[]>;
|
|
1096
|
+
operations?: (this: GeneratorOptions<TOptions$1>, props: OperationsProps<TOptions$1>) => Promise<File[]>;
|
|
1097
|
+
operation?: (this: GeneratorOptions<TOptions$1>, props: OperationProps<TOptions$1>) => Promise<File[]>;
|
|
1098
|
+
schema?: (this: GeneratorOptions<TOptions$1>, props: SchemaProps<TOptions$1>) => Promise<File[]>;
|
|
1099
1099
|
};
|
|
1100
|
-
type Generator<TOptions extends PluginFactoryOptions> = GeneratorOptions<TOptions>;
|
|
1100
|
+
type Generator<TOptions$1 extends PluginFactoryOptions> = GeneratorOptions<TOptions$1>;
|
|
1101
1101
|
//#endregion
|
|
1102
1102
|
//#region ../plugin-oas/src/OperationGenerator.d.ts
|
|
1103
|
-
type Context<TOptions, TPluginOptions extends PluginFactoryOptions> = {
|
|
1103
|
+
type Context<TOptions$1, TPluginOptions extends PluginFactoryOptions> = {
|
|
1104
1104
|
oas: Oas;
|
|
1105
1105
|
exclude: Array<Exclude$1> | undefined;
|
|
1106
1106
|
include: Array<Include> | undefined;
|
|
1107
|
-
override: Array<Override<TOptions>> | undefined;
|
|
1107
|
+
override: Array<Override<TOptions$1>> | undefined;
|
|
1108
1108
|
contentType: contentType | undefined;
|
|
1109
1109
|
pluginManager: PluginManager;
|
|
1110
1110
|
/**
|
|
@@ -1378,5 +1378,5 @@ type ResolvedOptions = {
|
|
|
1378
1378
|
};
|
|
1379
1379
|
type PluginSolidQuery = PluginFactoryOptions<'plugin-solid-query', Options$1, ResolvedOptions, never, ResolvePathOptions>;
|
|
1380
1380
|
//#endregion
|
|
1381
|
-
export { Generator,
|
|
1382
|
-
//# sourceMappingURL=types-
|
|
1381
|
+
export { OperationSchemas as a, Generator as i, PluginSolidQuery as n, UserPluginWithLifeCycle as o, Transformer as r, Operation$1 as s, Options$1 as t };
|
|
1382
|
+
//# sourceMappingURL=types-DTp-JvQu.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-solid-query",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Solid Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for Solid.js applications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"solid-query",
|
|
@@ -62,18 +62,16 @@
|
|
|
62
62
|
],
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"remeda": "^2.32.0",
|
|
65
|
-
"@kubb/core": "4.
|
|
66
|
-
"@kubb/oas": "4.
|
|
67
|
-
"@kubb/plugin-client": "4.
|
|
68
|
-
"@kubb/plugin-oas": "4.
|
|
69
|
-
"@kubb/plugin-ts": "4.
|
|
70
|
-
"@kubb/plugin-zod": "4.
|
|
71
|
-
"@kubb/react": "4.
|
|
65
|
+
"@kubb/core": "4.2.0",
|
|
66
|
+
"@kubb/oas": "4.2.0",
|
|
67
|
+
"@kubb/plugin-client": "4.2.0",
|
|
68
|
+
"@kubb/plugin-oas": "4.2.0",
|
|
69
|
+
"@kubb/plugin-ts": "4.2.0",
|
|
70
|
+
"@kubb/plugin-zod": "4.2.0",
|
|
71
|
+
"@kubb/react": "4.2.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"
|
|
75
|
-
"react": "^18.3.1",
|
|
76
|
-
"tsdown": "^0.14.2",
|
|
74
|
+
"tsdown": "^0.15.9",
|
|
77
75
|
"typescript": "^5.9.3"
|
|
78
76
|
},
|
|
79
77
|
"peerDependencies": {
|
|
@@ -4,7 +4,6 @@ import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
|
4
4
|
import { getComments, getPathParams } from '@kubb/plugin-oas/utils'
|
|
5
5
|
import { File, Function, FunctionParams } from '@kubb/react'
|
|
6
6
|
import type { Params } from '@kubb/react/types'
|
|
7
|
-
import type { ReactNode } from 'react'
|
|
8
7
|
import type { PluginSolidQuery } from '../types.ts'
|
|
9
8
|
import { MutationKey } from './MutationKey.tsx'
|
|
10
9
|
|
|
@@ -71,17 +70,7 @@ function getParams({ paramsCasing, dataReturnType, typeSchemas }: GetParamsProps
|
|
|
71
70
|
})
|
|
72
71
|
}
|
|
73
72
|
|
|
74
|
-
export function Mutation({
|
|
75
|
-
name,
|
|
76
|
-
clientName,
|
|
77
|
-
paramsCasing,
|
|
78
|
-
paramsType,
|
|
79
|
-
pathParamsType,
|
|
80
|
-
dataReturnType,
|
|
81
|
-
typeSchemas,
|
|
82
|
-
operation,
|
|
83
|
-
mutationKeyName,
|
|
84
|
-
}: Props): ReactNode {
|
|
73
|
+
export function Mutation({ name, clientName, paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props) {
|
|
85
74
|
const mutationKeyParams = MutationKey.getParams({
|
|
86
75
|
pathParamsType,
|
|
87
76
|
typeSchemas,
|
|
@@ -2,7 +2,6 @@ import { URLPath } from '@kubb/core/utils'
|
|
|
2
2
|
import type { Operation } from '@kubb/oas'
|
|
3
3
|
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
4
4
|
import { File, Function, FunctionParams, Type } from '@kubb/react'
|
|
5
|
-
import type { ReactNode } from 'react'
|
|
6
5
|
import type { PluginSolidQuery, Transformer } from '../types'
|
|
7
6
|
|
|
8
7
|
type Props = {
|
|
@@ -30,7 +29,7 @@ const getTransformer: Transformer = ({ operation, casing }) => {
|
|
|
30
29
|
return [`{ url: '${path.toURLPath()}' }`]
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer = getTransformer }: Props)
|
|
32
|
+
export function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer = getTransformer }: Props) {
|
|
34
33
|
const params = getParams({ pathParamsType, typeSchemas })
|
|
35
34
|
const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing })
|
|
36
35
|
|
package/src/components/Query.tsx
CHANGED
|
@@ -2,7 +2,6 @@ import { isOptional, type Operation } from '@kubb/oas'
|
|
|
2
2
|
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
3
3
|
import { getComments, getPathParams } from '@kubb/plugin-oas/utils'
|
|
4
4
|
import { File, Function, FunctionParams } from '@kubb/react'
|
|
5
|
-
import type { ReactNode } from 'react'
|
|
6
5
|
import type { PluginSolidQuery } from '../types.ts'
|
|
7
6
|
import { QueryKey } from './QueryKey.tsx'
|
|
8
7
|
import { QueryOptions } from './QueryOptions.tsx'
|
|
@@ -122,7 +121,7 @@ export function Query({
|
|
|
122
121
|
dataReturnType,
|
|
123
122
|
typeSchemas,
|
|
124
123
|
operation,
|
|
125
|
-
}: Props)
|
|
124
|
+
}: Props) {
|
|
126
125
|
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
127
126
|
const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`
|
|
128
127
|
const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { URLPath } from '@kubb/core/utils'
|
|
2
|
+
import { isOptional, type Operation } from '@kubb/oas'
|
|
3
|
+
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
2
4
|
import { getPathParams } from '@kubb/plugin-oas/utils'
|
|
3
5
|
import { File, Function, FunctionParams, Type } from '@kubb/react'
|
|
4
|
-
|
|
5
|
-
import { type Operation, isOptional } from '@kubb/oas'
|
|
6
|
-
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
7
|
-
import type { ReactNode } from 'react'
|
|
8
6
|
import type { PluginSolidQuery, Transformer } from '../types'
|
|
9
7
|
|
|
10
8
|
type Props = {
|
|
@@ -58,7 +56,7 @@ const getTransformer: Transformer = ({ operation, schemas, casing }) => {
|
|
|
58
56
|
return keys
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
export function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props)
|
|
59
|
+
export function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props) {
|
|
62
60
|
const params = getParams({ pathParamsType, paramsCasing, typeSchemas })
|
|
63
61
|
const keys = transformer({
|
|
64
62
|
operation,
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { getPathParams } from '@kubb/plugin-oas/utils'
|
|
2
|
-
import { File, Function, FunctionParams } from '@kubb/react'
|
|
3
|
-
|
|
4
|
-
import type { ReactNode } from 'react'
|
|
5
|
-
|
|
6
1
|
import { isOptional } from '@kubb/oas'
|
|
7
2
|
import { Client } from '@kubb/plugin-client/components'
|
|
8
3
|
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
4
|
+
import { getPathParams } from '@kubb/plugin-oas/utils'
|
|
5
|
+
import { File, Function, FunctionParams } from '@kubb/react'
|
|
9
6
|
import type { PluginSolidQuery } from '../types.ts'
|
|
10
7
|
import { QueryKey } from './QueryKey.tsx'
|
|
11
8
|
|
|
@@ -98,7 +95,7 @@ function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: Ge
|
|
|
98
95
|
})
|
|
99
96
|
}
|
|
100
97
|
|
|
101
|
-
export function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props)
|
|
98
|
+
export function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props) {
|
|
102
99
|
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
103
100
|
const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`
|
|
104
101
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { usePlugin, usePluginManager } from '@kubb/core/hooks'
|
|
1
2
|
import { pluginClientName } from '@kubb/plugin-client'
|
|
2
3
|
import { Client } from '@kubb/plugin-client/components'
|
|
3
4
|
import { createReactGenerator } from '@kubb/plugin-oas'
|
|
@@ -5,7 +6,7 @@ import { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'
|
|
|
5
6
|
import { getBanner, getFooter } from '@kubb/plugin-oas/utils'
|
|
6
7
|
import { pluginTsName } from '@kubb/plugin-ts'
|
|
7
8
|
import { pluginZodName } from '@kubb/plugin-zod'
|
|
8
|
-
import { File
|
|
9
|
+
import { File } from '@kubb/react'
|
|
9
10
|
import { difference } from 'remeda'
|
|
10
11
|
import { Mutation, MutationKey } from '../components'
|
|
11
12
|
import type { PluginSolidQuery } from '../types'
|
|
@@ -14,11 +15,10 @@ export const mutationGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
14
15
|
name: 'solid-query',
|
|
15
16
|
Operation({ options, operation }) {
|
|
16
17
|
const {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = useApp<PluginSolidQuery>()
|
|
18
|
+
options: { output },
|
|
19
|
+
} = usePlugin<PluginSolidQuery>()
|
|
20
|
+
const pluginManager = usePluginManager()
|
|
21
|
+
|
|
22
22
|
const oas = useOas()
|
|
23
23
|
const { getSchemas, getName, getFile } = useOperationManager()
|
|
24
24
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { usePlugin, usePluginManager } from '@kubb/core/hooks'
|
|
1
2
|
import { pluginClientName } from '@kubb/plugin-client'
|
|
2
3
|
import { Client } from '@kubb/plugin-client/components'
|
|
3
4
|
import { createReactGenerator } from '@kubb/plugin-oas'
|
|
@@ -5,7 +6,7 @@ import { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'
|
|
|
5
6
|
import { getBanner, getFooter } from '@kubb/plugin-oas/utils'
|
|
6
7
|
import { pluginTsName } from '@kubb/plugin-ts'
|
|
7
8
|
import { pluginZodName } from '@kubb/plugin-zod'
|
|
8
|
-
import { File
|
|
9
|
+
import { File } from '@kubb/react'
|
|
9
10
|
import { difference } from 'remeda'
|
|
10
11
|
import { Query, QueryKey, QueryOptions } from '../components'
|
|
11
12
|
import type { PluginSolidQuery } from '../types'
|
|
@@ -14,11 +15,10 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
14
15
|
name: 'svelte-query',
|
|
15
16
|
Operation({ options, operation }) {
|
|
16
17
|
const {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = useApp<PluginSolidQuery>()
|
|
18
|
+
options: { output },
|
|
19
|
+
} = usePlugin<PluginSolidQuery>()
|
|
20
|
+
const pluginManager = usePluginManager()
|
|
21
|
+
|
|
22
22
|
const oas = useOas()
|
|
23
23
|
const { getSchemas, getName, getFile } = useOperationManager()
|
|
24
24
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-CrpQqUQQ.cjs","names":["getParams","FunctionParams","getTransformer: Transformer","URLPath","getTransformer","File","Function","Type","getParams","FunctionParams","Client","File","Function","getParams","FunctionParams","getTransformer: Transformer","URLPath","File","Function","Type","getParams","FunctionParams","Client","File","Function","FunctionParams","File","Function"],"sources":["../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({}: GetParamsProps) {\n return FunctionParams.factory({})\n}\n\nconst getTransformer: Transformer = ({ operation, casing }) => {\n const path = new URLPath(operation.path, { casing })\n\n return [`{ url: '${path.toURLPath()}' }`]\n}\n\nexport function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nMutationKey.getParams = getParams\nMutationKey.getTransformer = getTransformer\n","import { isOptional, type Operation } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { Params } from '@kubb/react/types'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { MutationKey } from './MutationKey.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeName: string\n clientName: string\n mutationKeyName: string\n typeSchemas: OperationSchemas\n operation: Operation\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsCasing, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n const TRequest = mutationParams.toConstructor()\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const generics = [TData, TError, TRequest ? `{${TRequest}}` : 'void', 'TContext'].join(', ')\n\n return FunctionParams.factory({\n options: {\n type: `\n{\n mutation?: ReturnType<UseMutationOptions<${generics}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'},\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({\n name,\n clientName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n mutationKeyName,\n}: Props): ReactNode {\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const clientParams = Client.getParams({\n paramsCasing,\n paramsType,\n typeSchemas,\n pathParamsType,\n isConfigurable: true,\n })\n\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n\n const dataParams = FunctionParams.factory({\n data: {\n // No use of pathParams because useMutation can only take one argument in object form,\n // see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation\n mode: 'object',\n children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {\n if (value) {\n acc[key] = {\n ...value,\n type: undefined,\n }\n }\n\n return acc\n }, {} as Params),\n },\n })\n\n const TRequest = mutationParams.toConstructor()\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const generics = [TData, TError, TRequest ? `{${TRequest}}` : 'void', 'TContext'].join(', ')\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n generics={['TContext']}\n >\n {`\n const { mutation = {}, client: config = {} } = options ?? {}\n const { client: queryClient, ...mutationOptions } = mutation;\n const mutationKey = mutationOptions.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return useMutation<${generics}>(()=> ({\n mutationFn: async(${dataParams.toConstructor()}) => {\n return ${clientName}(${clientParams.toCall()})\n },\n mutationKey,\n ...mutationOptions\n }), queryClient? () => queryClient: undefined)\n `}\n </Function>\n </File.Source>\n )\n}\n","import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { isOptional, type Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `UseQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryConfig = {}, client: config = {} } = options ?? {}\n const { client: queryClient, ...queryOptions } = queryConfig\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = useQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":"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"}
|