@kubb/plugin-cypress 4.33.0 → 4.33.2
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-BK_6GU4v.js +257 -0
- package/dist/components-BK_6GU4v.js.map +1 -0
- package/dist/components-Drg_gLu2.cjs +305 -0
- package/dist/components-Drg_gLu2.cjs.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/{generators-XAzL9FKJ.js → generators-D5YFtyyC.js} +2 -2
- package/dist/{generators-XAzL9FKJ.js.map → generators-D5YFtyyC.js.map} +1 -1
- package/dist/{generators-C5Cvq5RO.cjs → generators-DDI2uD9N.cjs} +2 -2
- package/dist/{generators-C5Cvq5RO.cjs.map → generators-DDI2uD9N.cjs.map} +1 -1
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.ts +42 -6
- package/dist/generators.js +1 -1
- package/dist/index.cjs +4 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +8 -5
- package/src/components/Request.tsx +1 -1
- package/src/plugin.ts +1 -1
- package/dist/components-CXqedeum.js +0 -102
- package/dist/components-CXqedeum.js.map +0 -1
- package/dist/components-DIv7fdTx.cjs +0 -144
- package/dist/components-DIv7fdTx.cjs.map +0 -1
package/dist/components.cjs
CHANGED
package/dist/components.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Request } from "./components-
|
|
1
|
+
import { t as Request } from "./components-BK_6GU4v.js";
|
|
2
2
|
export { Request };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./chunk--u3MIqq1.js";
|
|
2
|
-
import { t as Request } from "./components-
|
|
2
|
+
import { t as Request } from "./components-BK_6GU4v.js";
|
|
3
3
|
import { pluginTsName } from "@kubb/plugin-ts";
|
|
4
4
|
import { usePluginManager } from "@kubb/core/hooks";
|
|
5
5
|
import { createReactGenerator } from "@kubb/plugin-oas/generators";
|
|
@@ -68,4 +68,4 @@ const cypressGenerator = createReactGenerator({
|
|
|
68
68
|
//#endregion
|
|
69
69
|
export { cypressGenerator as t };
|
|
70
70
|
|
|
71
|
-
//# sourceMappingURL=generators-
|
|
71
|
+
//# sourceMappingURL=generators-D5YFtyyC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators-
|
|
1
|
+
{"version":3,"file":"generators-D5YFtyyC.js","names":[],"sources":["../src/generators/cypressGenerator.tsx"],"sourcesContent":["import { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File } from '@kubb/react-fabric'\nimport { Request } from '../components'\nimport type { PluginCypress } from '../types'\n\nexport const cypressGenerator = createReactGenerator<PluginCypress>({\n name: 'cypress',\n Operation({ operation, generator, plugin }) {\n const {\n options: { output, baseURL, dataReturnType, paramsCasing, paramsType, pathParamsType },\n } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const request = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n return (\n <File\n baseName={request.file.baseName}\n path={request.file.path}\n meta={request.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={request.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <Request\n name={request.name}\n dataReturnType={dataReturnType}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n typeSchemas={type.schemas}\n method={operation.method}\n baseURL={baseURL}\n url={operation.path}\n />\n </File>\n )\n },\n})\n"],"mappings":";;;;;;;;;;AASA,MAAa,mBAAmB,qBAAoC;CAClE,MAAM;CACN,UAAU,EAAE,WAAW,WAAW,UAAU;EAC1C,MAAM,EACJ,SAAS,EAAE,QAAQ,SAAS,gBAAgB,cAAc,YAAY,qBACpE;EACJ,MAAM,gBAAgB,kBAAkB;EAExC,MAAM,MAAM,QAAQ;EACpB,MAAM,EAAE,YAAY,SAAS,YAAY,oBAAoB,UAAU;EAEvE,MAAM,UAAU;GACd,MAAM,QAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;GAC9C,MAAM,QAAQ,UAAU;GACzB;EAED,MAAM,OAAO;GACX,MAAM,QAAQ,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC;GACvD,SAAS,WAAW,WAAW;IAAE,WAAW,CAAC,aAAa;IAAE,MAAM;IAAQ,CAAC;GAC5E;AAED,SACE,qBAAC,MAAD;GACE,UAAU,QAAQ,KAAK;GACvB,MAAM,QAAQ,KAAK;GACnB,MAAM,QAAQ,KAAK;GACnB,QAAQ,UAAU;IAAE;IAAK;IAAQ,QAAQ,cAAc;IAAQ,CAAC;GAChE,QAAQ,UAAU;IAAE;IAAK;IAAQ,CAAC;aALpC,CAOE,oBAAC,KAAK,QAAN;IACE,MAAM;KACJ,KAAK,QAAQ,SAAS;KACtB,KAAK,QAAQ,SAAS;KACtB,KAAK,QAAQ,YAAY;KACzB,KAAK,QAAQ,aAAa;KAC1B,KAAK,QAAQ,cAAc;KAC3B,GAAI,KAAK,QAAQ,aAAa,KAAK,SAAS,KAAK,KAAK,IAAI,EAAE;KAC7D,CAAC,OAAO,QAAQ;IACjB,MAAM,QAAQ,KAAK;IACnB,MAAM,KAAK,KAAK;IAChB,YAAA;IACA,CAAA,EACF,oBAAC,SAAD;IACE,MAAM,QAAQ;IACE;IACF;IACF;IACI;IAChB,aAAa,KAAK;IAClB,QAAQ,UAAU;IACT;IACT,KAAK,UAAU;IACf,CAAA,CACG;;;CAGZ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_components = require("./components-
|
|
1
|
+
const require_components = require("./components-Drg_gLu2.cjs");
|
|
2
2
|
let _kubb_plugin_ts = require("@kubb/plugin-ts");
|
|
3
3
|
let _kubb_core_hooks = require("@kubb/core/hooks");
|
|
4
4
|
let _kubb_plugin_oas_generators = require("@kubb/plugin-oas/generators");
|
|
@@ -72,4 +72,4 @@ Object.defineProperty(exports, "cypressGenerator", {
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
//# sourceMappingURL=generators-
|
|
75
|
+
//# sourceMappingURL=generators-DDI2uD9N.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators-
|
|
1
|
+
{"version":3,"file":"generators-DDI2uD9N.cjs","names":["pluginTsName","File","Request"],"sources":["../src/generators/cypressGenerator.tsx"],"sourcesContent":["import { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File } from '@kubb/react-fabric'\nimport { Request } from '../components'\nimport type { PluginCypress } from '../types'\n\nexport const cypressGenerator = createReactGenerator<PluginCypress>({\n name: 'cypress',\n Operation({ operation, generator, plugin }) {\n const {\n options: { output, baseURL, dataReturnType, paramsCasing, paramsType, pathParamsType },\n } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const request = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n return (\n <File\n baseName={request.file.baseName}\n path={request.file.path}\n meta={request.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={request.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <Request\n name={request.name}\n dataReturnType={dataReturnType}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n typeSchemas={type.schemas}\n method={operation.method}\n baseURL={baseURL}\n url={operation.path}\n />\n </File>\n )\n },\n})\n"],"mappings":";;;;;;;;;AASA,MAAa,oBAAA,GAAA,4BAAA,sBAAuD;CAClE,MAAM;CACN,UAAU,EAAE,WAAW,WAAW,UAAU;EAC1C,MAAM,EACJ,SAAS,EAAE,QAAQ,SAAS,gBAAgB,cAAc,YAAY,qBACpE;EACJ,MAAM,iBAAA,GAAA,iBAAA,mBAAkC;EAExC,MAAM,OAAA,GAAA,uBAAA,SAAc;EACpB,MAAM,EAAE,YAAY,SAAS,aAAA,GAAA,uBAAA,qBAAgC,UAAU;EAEvE,MAAM,UAAU;GACd,MAAM,QAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;GAC9C,MAAM,QAAQ,UAAU;GACzB;EAED,MAAM,OAAO;GACX,MAAM,QAAQ,WAAW,EAAE,WAAW,CAACA,gBAAAA,aAAa,EAAE,CAAC;GACvD,SAAS,WAAW,WAAW;IAAE,WAAW,CAACA,gBAAAA,aAAa;IAAE,MAAM;IAAQ,CAAC;GAC5E;AAED,SACE,iBAAA,GAAA,+BAAA,MAACC,mBAAAA,MAAD;GACE,UAAU,QAAQ,KAAK;GACvB,MAAM,QAAQ,KAAK;GACnB,MAAM,QAAQ,KAAK;GACnB,SAAA,GAAA,uBAAA,WAAkB;IAAE;IAAK;IAAQ,QAAQ,cAAc;IAAQ,CAAC;GAChE,SAAA,GAAA,uBAAA,WAAkB;IAAE;IAAK;IAAQ,CAAC;aALpC,CAOE,iBAAA,GAAA,+BAAA,KAACA,mBAAAA,KAAK,QAAN;IACE,MAAM;KACJ,KAAK,QAAQ,SAAS;KACtB,KAAK,QAAQ,SAAS;KACtB,KAAK,QAAQ,YAAY;KACzB,KAAK,QAAQ,aAAa;KAC1B,KAAK,QAAQ,cAAc;KAC3B,GAAI,KAAK,QAAQ,aAAa,KAAK,SAAS,KAAK,KAAK,IAAI,EAAE;KAC7D,CAAC,OAAO,QAAQ;IACjB,MAAM,QAAQ,KAAK;IACnB,MAAM,KAAK,KAAK;IAChB,YAAA;IACA,CAAA,EACF,iBAAA,GAAA,+BAAA,KAACC,mBAAAA,SAAD;IACE,MAAM,QAAQ;IACE;IACF;IACF;IACI;IAChB,aAAa,KAAK;IAClB,QAAQ,UAAU;IACT;IACT,KAAK,UAAU;IACf,CAAA,CACG;;;CAGZ,CAAC"}
|
package/dist/generators.cjs
CHANGED
package/dist/generators.d.ts
CHANGED
|
@@ -1,12 +1,40 @@
|
|
|
1
1
|
import { t as __name } from "./chunk--u3MIqq1.js";
|
|
2
2
|
import { n as PluginCypress } from "./types-BzXXi6dv.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Config, FileMetaBase, Group, KubbEvents, Output, Plugin, PluginFactoryOptions, PluginManager, ResolveNameParams } from "@kubb/core";
|
|
4
4
|
import { Fabric } from "@kubb/react-fabric";
|
|
5
|
-
import { AsyncEventEmitter } from "@kubb/core/utils";
|
|
6
5
|
import { HttpMethod, Oas, Operation, SchemaObject, contentType } from "@kubb/oas";
|
|
7
6
|
import { FabricReactNode } from "@kubb/react-fabric/types";
|
|
8
7
|
import { KubbFile } from "@kubb/fabric-core/types";
|
|
9
8
|
|
|
9
|
+
//#region ../../internals/utils/src/asyncEventEmitter.d.ts
|
|
10
|
+
/** A function that can be registered as an event listener, synchronous or async. */
|
|
11
|
+
type AsyncListener<TArgs extends unknown[]> = (...args: TArgs) => void | Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* A typed EventEmitter that awaits all async listeners before resolving.
|
|
14
|
+
* Wraps Node's `EventEmitter` with full TypeScript event-map inference.
|
|
15
|
+
*/
|
|
16
|
+
declare class AsyncEventEmitter<TEvents extends { [K in keyof TEvents]: unknown[] }> {
|
|
17
|
+
#private;
|
|
18
|
+
/**
|
|
19
|
+
* `maxListener` controls the maximum number of listeners per event before Node emits a memory-leak warning.
|
|
20
|
+
* @default 10
|
|
21
|
+
*/
|
|
22
|
+
constructor(maxListener?: number);
|
|
23
|
+
/**
|
|
24
|
+
* Emits an event and awaits all registered listeners in parallel.
|
|
25
|
+
* Throws if any listener rejects, wrapping the cause with the event name and serialized arguments.
|
|
26
|
+
*/
|
|
27
|
+
emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArgs: TEvents[TEventName]): Promise<void>;
|
|
28
|
+
/** Registers a persistent listener for the given event. */
|
|
29
|
+
on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: AsyncListener<TEvents[TEventName]>): void;
|
|
30
|
+
/** Registers a one-shot listener that removes itself after the first invocation. */
|
|
31
|
+
onOnce<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: AsyncListener<TEvents[TEventName]>): void;
|
|
32
|
+
/** Removes a previously registered listener. */
|
|
33
|
+
off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: AsyncListener<TEvents[TEventName]>): void;
|
|
34
|
+
/** Removes all listeners from every event channel. */
|
|
35
|
+
removeAll(): void;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
10
38
|
//#region ../plugin-oas/src/types.d.ts
|
|
11
39
|
type GetOasOptions = {
|
|
12
40
|
validate?: boolean;
|
|
@@ -116,8 +144,12 @@ type Context$1<TOptions, TPluginOptions extends PluginFactoryOptions> = {
|
|
|
116
144
|
mode: KubbFile.Mode;
|
|
117
145
|
UNSTABLE_NAMING?: true;
|
|
118
146
|
};
|
|
119
|
-
declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase>
|
|
147
|
+
declare class OperationGenerator<TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> {
|
|
120
148
|
#private;
|
|
149
|
+
constructor(options: TPluginOptions['resolvedOptions'], context: Context$1<TPluginOptions['resolvedOptions'], TPluginOptions>);
|
|
150
|
+
get options(): TPluginOptions['resolvedOptions'];
|
|
151
|
+
set options(options: TPluginOptions['resolvedOptions']);
|
|
152
|
+
get context(): Context$1<TPluginOptions['resolvedOptions'], TPluginOptions>;
|
|
121
153
|
getOptions(operation: Operation, method: HttpMethod): Partial<TPluginOptions['resolvedOptions']>;
|
|
122
154
|
getSchemas(operation: Operation, {
|
|
123
155
|
resolveName
|
|
@@ -390,8 +422,8 @@ type SchemaGeneratorOptions = {
|
|
|
390
422
|
*/
|
|
391
423
|
name?: (name: ResolveNameParams['name'], type?: ResolveNameParams['type']) => string;
|
|
392
424
|
/**
|
|
393
|
-
* Receive schema and name(propertyName) and return
|
|
394
|
-
*
|
|
425
|
+
* Receive schema and name(propertyName) and return Schema array.
|
|
426
|
+
* Return `undefined` to fall through to default schema generation.
|
|
395
427
|
* @beta
|
|
396
428
|
*/
|
|
397
429
|
schema?: (schemaProps: SchemaProps$1, defaultSchemas: Schema[]) => Array<Schema> | undefined;
|
|
@@ -403,8 +435,12 @@ type SchemaProps$1 = {
|
|
|
403
435
|
parentName: string | null;
|
|
404
436
|
rootName?: string | null;
|
|
405
437
|
};
|
|
406
|
-
declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase>
|
|
438
|
+
declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> {
|
|
407
439
|
#private;
|
|
440
|
+
constructor(options: TOptions, context: Context<TOptions, TPluginOptions>);
|
|
441
|
+
get options(): TOptions;
|
|
442
|
+
set options(options: TOptions);
|
|
443
|
+
get context(): Context<TOptions, TPluginOptions>;
|
|
408
444
|
refs: Refs;
|
|
409
445
|
/**
|
|
410
446
|
* Creates a type node from a given schema.
|
package/dist/generators.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as cypressGenerator } from "./generators-
|
|
1
|
+
import { t as cypressGenerator } from "./generators-D5YFtyyC.js";
|
|
2
2
|
export { cypressGenerator };
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_components = require("./components-
|
|
3
|
-
const require_generators = require("./generators-
|
|
2
|
+
const require_components = require("./components-Drg_gLu2.cjs");
|
|
3
|
+
const require_generators = require("./generators-DDI2uD9N.cjs");
|
|
4
4
|
let node_path = require("node:path");
|
|
5
5
|
node_path = require_components.__toESM(node_path);
|
|
6
6
|
let _kubb_core = require("@kubb/core");
|
|
7
|
-
let _kubb_core_transformers = require("@kubb/core/transformers");
|
|
8
7
|
let _kubb_plugin_oas = require("@kubb/plugin-oas");
|
|
9
8
|
let _kubb_plugin_ts = require("@kubb/plugin-ts");
|
|
10
9
|
//#region src/plugin.ts
|
|
@@ -37,14 +36,14 @@ const pluginCypress = (0, _kubb_core.definePlugin)((options) => {
|
|
|
37
36
|
if (group && (options?.group?.path || options?.group?.tag)) {
|
|
38
37
|
const groupName = group?.name ? group.name : (ctx) => {
|
|
39
38
|
if (group?.type === "path") return `${ctx.group.split("/")[1]}`;
|
|
40
|
-
return `${
|
|
39
|
+
return `${require_components.camelCase(ctx.group)}Requests`;
|
|
41
40
|
};
|
|
42
41
|
return node_path.default.resolve(root, output.path, groupName({ group: group.type === "path" ? options.group.path : options.group.tag }), baseName);
|
|
43
42
|
}
|
|
44
43
|
return node_path.default.resolve(root, output.path, baseName);
|
|
45
44
|
},
|
|
46
45
|
resolveName(name, type) {
|
|
47
|
-
const resolvedName =
|
|
46
|
+
const resolvedName = require_components.camelCase(name, { isFile: type === "file" });
|
|
48
47
|
if (type) return transformers?.name?.(resolvedName, type) || resolvedName;
|
|
49
48
|
return resolvedName;
|
|
50
49
|
},
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["cypressGenerator","pluginOasName","pluginTsName","path","OperationGenerator"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport {
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["cypressGenerator","pluginOasName","pluginTsName","path","camelCase","OperationGenerator"],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { camelCase } from '@internals/utils'\nimport { definePlugin, type Group, getBarrelFiles, getMode } from '@kubb/core'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { cypressGenerator } from './generators'\nimport type { PluginCypress } from './types.ts'\n\nexport const pluginCypressName = 'plugin-cypress' satisfies PluginCypress['name']\n\nexport const pluginCypress = definePlugin<PluginCypress>((options) => {\n const {\n output = { path: 'cypress', barrelType: 'named' },\n group,\n dataReturnType = 'data',\n exclude = [],\n include,\n override = [],\n transformers = {},\n generators = [cypressGenerator].filter(Boolean),\n contentType,\n baseURL,\n paramsCasing,\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n } = options\n\n return {\n name: pluginCypressName,\n options: {\n output,\n dataReturnType,\n group,\n baseURL,\n\n paramsCasing,\n paramsType,\n pathParamsType,\n },\n pre: [pluginOasName, pluginTsName].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Requests`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n const resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async install() {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = getMode(path.resolve(root, output.path))\n const oas = await this.getOas()\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n pluginManager: this.pluginManager,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginKey: this.plugin.key,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;;AAQA,MAAa,oBAAoB;AAEjC,MAAa,iBAAA,GAAA,WAAA,eAA6C,YAAY;CACpE,MAAM,EACJ,SAAS;EAAE,MAAM;EAAW,YAAY;EAAS,EACjD,OACA,iBAAiB,QACjB,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,eAAe,EAAE,EACjB,aAAa,CAACA,mBAAAA,iBAAiB,CAAC,OAAO,QAAQ,EAC/C,aACA,SACA,cACA,aAAa,UACb,iBAAiB,eAAe,WAAW,WAAW,QAAQ,kBAAkB,aAC9E;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA;GACA;GACA;GAEA;GACA;GACA;GACD;EACD,KAAK,CAACC,iBAAAA,eAAeC,gBAAAA,aAAa,CAAC,OAAO,QAAQ;EAClD,YAAY,UAAU,UAAU,SAAS;GACvC,MAAM,OAAOC,UAAAA,QAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;AAGpE,QAFa,aAAA,GAAA,WAAA,SAAoBA,UAAAA,QAAK,QAAQ,MAAM,OAAO,KAAK,CAAC,MAEpD;;;;;AAKX,UAAOA,UAAAA,QAAK,QAAQ,MAAM,OAAO,KAAK;AAGxC,OAAI,UAAU,SAAS,OAAO,QAAQ,SAAS,OAAO,MAAM;IAC1D,MAAM,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,IAAI,CAAC;AAEjC,YAAO,GAAGC,mBAAAA,UAAU,IAAI,MAAM,CAAC;;AAGrC,WAAOD,UAAAA,QAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAAS,QAAQ,MAAM,OAAQ,QAAQ,MAAM,KACpE,CAAC,EACF,SACD;;AAGH,UAAOA,UAAAA,QAAK,QAAQ,MAAM,OAAO,MAAM,SAAS;;EAElD,YAAY,MAAM,MAAM;GACtB,MAAM,eAAeC,mBAAAA,UAAU,MAAM,EACnC,QAAQ,SAAS,QAClB,CAAC;AAEF,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,KAAK,IAAI;AAGrD,UAAO;;EAET,MAAM,UAAU;GACd,MAAM,OAAOD,UAAAA,QAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;GACpE,MAAM,QAAA,GAAA,WAAA,SAAeA,UAAAA,QAAK,QAAQ,MAAM,OAAO,KAAK,CAAC;GACrD,MAAM,MAAM,MAAM,KAAK,QAAQ;GAe/B,MAAM,QAAQ,MAba,IAAIE,iBAAAA,mBAAmB,KAAK,OAAO,SAAS;IACrE,QAAQ,KAAK;IACb;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD,CAAC,CAEqC,MAAM,GAAG,WAAW;AAC3D,SAAM,KAAK,WAAW,GAAG,MAAM;GAE/B,MAAM,cAAc,OAAA,GAAA,WAAA,gBAAqB,KAAK,OAAO,OAAO;IAC1D,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACF,CAAC;AAEF,SAAM,KAAK,WAAW,GAAG,YAAY;;EAExC;EACD"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./chunk--u3MIqq1.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as camelCase } from "./components-BK_6GU4v.js";
|
|
3
|
+
import { t as cypressGenerator } from "./generators-D5YFtyyC.js";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { definePlugin, getBarrelFiles, getMode } from "@kubb/core";
|
|
5
|
-
import { camelCase } from "@kubb/core/transformers";
|
|
6
6
|
import { OperationGenerator, pluginOasName } from "@kubb/plugin-oas";
|
|
7
7
|
import { pluginTsName } from "@kubb/plugin-ts";
|
|
8
8
|
//#region src/plugin.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport { camelCase } from '@internals/utils'\nimport { definePlugin, type Group, getBarrelFiles, getMode } from '@kubb/core'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { cypressGenerator } from './generators'\nimport type { PluginCypress } from './types.ts'\n\nexport const pluginCypressName = 'plugin-cypress' satisfies PluginCypress['name']\n\nexport const pluginCypress = definePlugin<PluginCypress>((options) => {\n const {\n output = { path: 'cypress', barrelType: 'named' },\n group,\n dataReturnType = 'data',\n exclude = [],\n include,\n override = [],\n transformers = {},\n generators = [cypressGenerator].filter(Boolean),\n contentType,\n baseURL,\n paramsCasing,\n paramsType = 'inline',\n pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',\n } = options\n\n return {\n name: pluginCypressName,\n options: {\n output,\n dataReturnType,\n group,\n baseURL,\n\n paramsCasing,\n paramsType,\n pathParamsType,\n },\n pre: [pluginOasName, pluginTsName].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Requests`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n const resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async install() {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = getMode(path.resolve(root, output.path))\n const oas = await this.getOas()\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n fabric: this.fabric,\n oas,\n pluginManager: this.pluginManager,\n events: this.events,\n plugin: this.plugin,\n contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const files = await operationGenerator.build(...generators)\n await this.upsertFile(...files)\n\n const barrelFiles = await getBarrelFiles(this.fabric.files, {\n type: output.barrelType ?? 'named',\n root,\n output,\n meta: {\n pluginKey: this.plugin.key,\n },\n })\n\n await this.upsertFile(...barrelFiles)\n },\n }\n})\n"],"mappings":";;;;;;;;AAQA,MAAa,oBAAoB;AAEjC,MAAa,gBAAgB,cAA6B,YAAY;CACpE,MAAM,EACJ,SAAS;EAAE,MAAM;EAAW,YAAY;EAAS,EACjD,OACA,iBAAiB,QACjB,UAAU,EAAE,EACZ,SACA,WAAW,EAAE,EACb,eAAe,EAAE,EACjB,aAAa,CAAC,iBAAiB,CAAC,OAAO,QAAQ,EAC/C,aACA,SACA,cACA,aAAa,UACb,iBAAiB,eAAe,WAAW,WAAW,QAAQ,kBAAkB,aAC9E;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;GACP;GACA;GACA;GACA;GAEA;GACA;GACA;GACD;EACD,KAAK,CAAC,eAAe,aAAa,CAAC,OAAO,QAAQ;EAClD,YAAY,UAAU,UAAU,SAAS;GACvC,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;AAGpE,QAFa,YAAY,QAAQ,KAAK,QAAQ,MAAM,OAAO,KAAK,CAAC,MAEpD;;;;;AAKX,UAAO,KAAK,QAAQ,MAAM,OAAO,KAAK;AAGxC,OAAI,UAAU,SAAS,OAAO,QAAQ,SAAS,OAAO,MAAM;IAC1D,MAAM,YAA2B,OAAO,OACpC,MAAM,QACL,QAAQ;AACP,SAAI,OAAO,SAAS,OAClB,QAAO,GAAG,IAAI,MAAM,MAAM,IAAI,CAAC;AAEjC,YAAO,GAAG,UAAU,IAAI,MAAM,CAAC;;AAGrC,WAAO,KAAK,QACV,MACA,OAAO,MACP,UAAU,EACR,OAAO,MAAM,SAAS,SAAS,QAAQ,MAAM,OAAQ,QAAQ,MAAM,KACpE,CAAC,EACF,SACD;;AAGH,UAAO,KAAK,QAAQ,MAAM,OAAO,MAAM,SAAS;;EAElD,YAAY,MAAM,MAAM;GACtB,MAAM,eAAe,UAAU,MAAM,EACnC,QAAQ,SAAS,QAClB,CAAC;AAEF,OAAI,KACF,QAAO,cAAc,OAAO,cAAc,KAAK,IAAI;AAGrD,UAAO;;EAET,MAAM,UAAU;GACd,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO,KAAK;GACpE,MAAM,OAAO,QAAQ,KAAK,QAAQ,MAAM,OAAO,KAAK,CAAC;GACrD,MAAM,MAAM,MAAM,KAAK,QAAQ;GAe/B,MAAM,QAAQ,MAba,IAAI,mBAAmB,KAAK,OAAO,SAAS;IACrE,QAAQ,KAAK;IACb;IACA,eAAe,KAAK;IACpB,QAAQ,KAAK;IACb,QAAQ,KAAK;IACb;IACA;IACA;IACA;IACA;IACD,CAAC,CAEqC,MAAM,GAAG,WAAW;AAC3D,SAAM,KAAK,WAAW,GAAG,MAAM;GAE/B,MAAM,cAAc,MAAM,eAAe,KAAK,OAAO,OAAO;IAC1D,MAAM,OAAO,cAAc;IAC3B;IACA;IACA,MAAM,EACJ,WAAW,KAAK,OAAO,KACxB;IACF,CAAC;AAEF,SAAM,KAAK,WAAW,GAAG,YAAY;;EAExC;EACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-cypress",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.2",
|
|
4
4
|
"description": "Cypress test generator plugin for Kubb, creating end-to-end tests from OpenAPI specifications for automated API testing.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cypress",
|
|
@@ -77,10 +77,10 @@
|
|
|
77
77
|
],
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@kubb/react-fabric": "0.13.3",
|
|
80
|
-
"@kubb/core": "4.33.
|
|
81
|
-
"@kubb/oas": "4.33.
|
|
82
|
-
"@kubb/plugin-oas": "4.33.
|
|
83
|
-
"@kubb/plugin-ts": "4.33.
|
|
80
|
+
"@kubb/core": "4.33.2",
|
|
81
|
+
"@kubb/oas": "4.33.2",
|
|
82
|
+
"@kubb/plugin-oas": "4.33.2",
|
|
83
|
+
"@kubb/plugin-ts": "4.33.2"
|
|
84
84
|
},
|
|
85
85
|
"engines": {
|
|
86
86
|
"node": ">=20"
|
|
@@ -91,6 +91,9 @@
|
|
|
91
91
|
},
|
|
92
92
|
"main": "./dist/index.cjs",
|
|
93
93
|
"module": "./dist/index.js",
|
|
94
|
+
"devDependencies": {
|
|
95
|
+
"@internals/utils": "0.0.0"
|
|
96
|
+
},
|
|
94
97
|
"scripts": {
|
|
95
98
|
"build": "tsdown && size-limit",
|
|
96
99
|
"clean": "npx rimraf ./dist",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { URLPath } from '@
|
|
1
|
+
import { URLPath } from '@internals/utils'
|
|
2
2
|
import { type HttpMethod, isAllOptional, isOptional } from '@kubb/oas'
|
|
3
3
|
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
4
4
|
import { getPathParams } from '@kubb/plugin-oas/utils'
|
package/src/plugin.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
|
+
import { camelCase } from '@internals/utils'
|
|
2
3
|
import { definePlugin, type Group, getBarrelFiles, getMode } from '@kubb/core'
|
|
3
|
-
import { camelCase } from '@kubb/core/transformers'
|
|
4
4
|
import { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'
|
|
5
5
|
import { pluginTsName } from '@kubb/plugin-ts'
|
|
6
6
|
import { cypressGenerator } from './generators'
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import "./chunk--u3MIqq1.js";
|
|
2
|
-
import { getPathParams } from "@kubb/plugin-oas/utils";
|
|
3
|
-
import { File, Function, FunctionParams } from "@kubb/react-fabric";
|
|
4
|
-
import { URLPath } from "@kubb/core/utils";
|
|
5
|
-
import { isAllOptional, isOptional } from "@kubb/oas";
|
|
6
|
-
import { jsx } from "@kubb/react-fabric/jsx-runtime";
|
|
7
|
-
//#region src/components/Request.tsx
|
|
8
|
-
function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
|
|
9
|
-
if (paramsType === "object") {
|
|
10
|
-
const pathParams = getPathParams(typeSchemas.pathParams, {
|
|
11
|
-
typed: true,
|
|
12
|
-
casing: paramsCasing
|
|
13
|
-
});
|
|
14
|
-
return FunctionParams.factory({
|
|
15
|
-
data: {
|
|
16
|
-
mode: "object",
|
|
17
|
-
children: {
|
|
18
|
-
...pathParams,
|
|
19
|
-
data: typeSchemas.request?.name ? {
|
|
20
|
-
type: typeSchemas.request?.name,
|
|
21
|
-
optional: isOptional(typeSchemas.request?.schema)
|
|
22
|
-
} : void 0,
|
|
23
|
-
params: typeSchemas.queryParams?.name ? {
|
|
24
|
-
type: typeSchemas.queryParams?.name,
|
|
25
|
-
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
26
|
-
} : void 0,
|
|
27
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
28
|
-
type: typeSchemas.headerParams?.name,
|
|
29
|
-
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
30
|
-
} : void 0
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
options: {
|
|
34
|
-
type: "Partial<Cypress.RequestOptions>",
|
|
35
|
-
default: "{}"
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return FunctionParams.factory({
|
|
40
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
41
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
42
|
-
children: getPathParams(typeSchemas.pathParams, {
|
|
43
|
-
typed: true,
|
|
44
|
-
casing: paramsCasing
|
|
45
|
-
}),
|
|
46
|
-
default: isAllOptional(typeSchemas.pathParams?.schema) ? "{}" : void 0
|
|
47
|
-
} : void 0,
|
|
48
|
-
data: typeSchemas.request?.name ? {
|
|
49
|
-
type: typeSchemas.request?.name,
|
|
50
|
-
optional: isOptional(typeSchemas.request?.schema)
|
|
51
|
-
} : void 0,
|
|
52
|
-
params: typeSchemas.queryParams?.name ? {
|
|
53
|
-
type: typeSchemas.queryParams?.name,
|
|
54
|
-
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
55
|
-
} : void 0,
|
|
56
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
57
|
-
type: typeSchemas.headerParams?.name,
|
|
58
|
-
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
59
|
-
} : void 0,
|
|
60
|
-
options: {
|
|
61
|
-
type: "Partial<Cypress.RequestOptions>",
|
|
62
|
-
default: "{}"
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function Request({ baseURL = "", name, dataReturnType, typeSchemas, url, method, paramsType, paramsCasing, pathParamsType }) {
|
|
67
|
-
const path = new URLPath(url, { casing: paramsCasing });
|
|
68
|
-
const params = getParams({
|
|
69
|
-
paramsType,
|
|
70
|
-
paramsCasing,
|
|
71
|
-
pathParamsType,
|
|
72
|
-
typeSchemas
|
|
73
|
-
});
|
|
74
|
-
const returnType = dataReturnType === "data" ? `Cypress.Chainable<${typeSchemas.response.name}>` : `Cypress.Chainable<Cypress.Response<${typeSchemas.response.name}>>`;
|
|
75
|
-
const urlTemplate = path.toTemplateString({ prefix: baseURL });
|
|
76
|
-
const requestOptions = [`method: '${method}'`, `url: ${urlTemplate}`];
|
|
77
|
-
if (typeSchemas.queryParams?.name) requestOptions.push("qs: params");
|
|
78
|
-
if (typeSchemas.headerParams?.name) requestOptions.push("headers");
|
|
79
|
-
if (typeSchemas.request?.name) requestOptions.push("body: data");
|
|
80
|
-
requestOptions.push("...options");
|
|
81
|
-
return /* @__PURE__ */ jsx(File.Source, {
|
|
82
|
-
name,
|
|
83
|
-
isIndexable: true,
|
|
84
|
-
isExportable: true,
|
|
85
|
-
children: /* @__PURE__ */ jsx(Function, {
|
|
86
|
-
name,
|
|
87
|
-
export: true,
|
|
88
|
-
params: params.toConstructor(),
|
|
89
|
-
returnType,
|
|
90
|
-
children: dataReturnType === "data" ? `return cy.request<${typeSchemas.response.name}>({
|
|
91
|
-
${requestOptions.join(",\n ")}
|
|
92
|
-
}).then((res) => res.body)` : `return cy.request<${typeSchemas.response.name}>({
|
|
93
|
-
${requestOptions.join(",\n ")}
|
|
94
|
-
})`
|
|
95
|
-
})
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
Request.getParams = getParams;
|
|
99
|
-
//#endregion
|
|
100
|
-
export { Request as t };
|
|
101
|
-
|
|
102
|
-
//# sourceMappingURL=components-CXqedeum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-CXqedeum.js","names":[],"sources":["../src/components/Request.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { type HttpMethod, isAllOptional, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react-fabric'\nimport type { FabricReactNode } from '@kubb/react-fabric/types'\nimport type { PluginCypress } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeSchemas: OperationSchemas\n url: string\n baseURL: string | undefined\n dataReturnType: PluginCypress['resolvedOptions']['dataReturnType']\n paramsCasing: PluginCypress['resolvedOptions']['paramsCasing']\n paramsType: PluginCypress['resolvedOptions']['paramsType']\n pathParamsType: PluginCypress['resolvedOptions']['pathParamsType']\n method: HttpMethod\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginCypress['resolvedOptions']['paramsCasing']\n paramsType: PluginCypress['resolvedOptions']['paramsType']\n pathParamsType: PluginCypress['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n const pathParams = getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })\n\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...pathParams,\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: 'Partial<Cypress.RequestOptions>',\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 default: isAllOptional(typeSchemas.pathParams?.schema) ? '{}' : undefined,\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: 'Partial<Cypress.RequestOptions>',\n default: '{}',\n },\n })\n}\n\nexport function Request({ baseURL = '', name, dataReturnType, typeSchemas, url, method, paramsType, paramsCasing, pathParamsType }: Props): FabricReactNode {\n const path = new URLPath(url, { casing: paramsCasing })\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n\n const returnType =\n dataReturnType === 'data' ? `Cypress.Chainable<${typeSchemas.response.name}>` : `Cypress.Chainable<Cypress.Response<${typeSchemas.response.name}>>`\n\n // Build the URL template string - this will convert /pets/:petId to /pets/${petId}\n const urlTemplate = path.toTemplateString({ prefix: baseURL })\n\n // Build request options object\n const requestOptions: string[] = [`method: '${method}'`, `url: ${urlTemplate}`]\n\n // Add query params if they exist\n if (typeSchemas.queryParams?.name) {\n requestOptions.push('qs: params')\n }\n\n // Add headers if they exist\n if (typeSchemas.headerParams?.name) {\n requestOptions.push('headers')\n }\n\n // Add body if request schema exists\n if (typeSchemas.request?.name) {\n requestOptions.push('body: data')\n }\n\n // Spread additional Cypress options\n requestOptions.push('...options')\n\n return (\n <File.Source name={name} isIndexable isExportable>\n <Function name={name} export params={params.toConstructor()} returnType={returnType}>\n {dataReturnType === 'data'\n ? `return cy.request<${typeSchemas.response.name}>({\n ${requestOptions.join(',\\n ')}\n}).then((res) => res.body)`\n : `return cy.request<${typeSchemas.response.name}>({\n ${requestOptions.join(',\\n ')}\n})`}\n </Function>\n </File.Source>\n )\n}\n\nRequest.getParams = getParams\n"],"mappings":";;;;;;;AA8BA,SAAS,UAAU,EAAE,YAAY,cAAc,gBAAgB,eAA+B;AAC5F,KAAI,eAAe,UAAU;EAC3B,MAAM,aAAa,cAAc,YAAY,YAAY;GAAE,OAAO;GAAM,QAAQ;GAAc,CAAC;AAE/F,SAAO,eAAe,QAAQ;GAC5B,MAAM;IACJ,MAAM;IACN,UAAU;KACR,GAAG;KACH,MAAM,YAAY,SAAS,OACvB;MACE,MAAM,YAAY,SAAS;MAC3B,UAAU,WAAW,YAAY,SAAS,OAAO;MAClD,GACD,KAAA;KACJ,QAAQ,YAAY,aAAa,OAC7B;MACE,MAAM,YAAY,aAAa;MAC/B,UAAU,WAAW,YAAY,aAAa,OAAO;MACtD,GACD,KAAA;KACJ,SAAS,YAAY,cAAc,OAC/B;MACE,MAAM,YAAY,cAAc;MAChC,UAAU,WAAW,YAAY,cAAc,OAAO;MACvD,GACD,KAAA;KACL;IACF;GACD,SAAS;IACP,MAAM;IACN,SAAS;IACV;GACF,CAAC;;AAGJ,QAAO,eAAe,QAAQ;EAC5B,YAAY,YAAY,YAAY,OAChC;GACE,MAAM,mBAAmB,WAAW,WAAW;GAC/C,UAAU,cAAc,YAAY,YAAY;IAAE,OAAO;IAAM,QAAQ;IAAc,CAAC;GACtF,SAAS,cAAc,YAAY,YAAY,OAAO,GAAG,OAAO,KAAA;GACjE,GACD,KAAA;EACJ,MAAM,YAAY,SAAS,OACvB;GACE,MAAM,YAAY,SAAS;GAC3B,UAAU,WAAW,YAAY,SAAS,OAAO;GAClD,GACD,KAAA;EACJ,QAAQ,YAAY,aAAa,OAC7B;GACE,MAAM,YAAY,aAAa;GAC/B,UAAU,WAAW,YAAY,aAAa,OAAO;GACtD,GACD,KAAA;EACJ,SAAS,YAAY,cAAc,OAC/B;GACE,MAAM,YAAY,cAAc;GAChC,UAAU,WAAW,YAAY,cAAc,OAAO;GACvD,GACD,KAAA;EACJ,SAAS;GACP,MAAM;GACN,SAAS;GACV;EACF,CAAC;;AAGJ,SAAgB,QAAQ,EAAE,UAAU,IAAI,MAAM,gBAAgB,aAAa,KAAK,QAAQ,YAAY,cAAc,kBAA0C;CAC1J,MAAM,OAAO,IAAI,QAAQ,KAAK,EAAE,QAAQ,cAAc,CAAC;CAEvD,MAAM,SAAS,UAAU;EAAE;EAAY;EAAc;EAAgB;EAAa,CAAC;CAEnF,MAAM,aACJ,mBAAmB,SAAS,qBAAqB,YAAY,SAAS,KAAK,KAAK,sCAAsC,YAAY,SAAS,KAAK;CAGlJ,MAAM,cAAc,KAAK,iBAAiB,EAAE,QAAQ,SAAS,CAAC;CAG9D,MAAM,iBAA2B,CAAC,YAAY,OAAO,IAAI,QAAQ,cAAc;AAG/E,KAAI,YAAY,aAAa,KAC3B,gBAAe,KAAK,aAAa;AAInC,KAAI,YAAY,cAAc,KAC5B,gBAAe,KAAK,UAAU;AAIhC,KAAI,YAAY,SAAS,KACvB,gBAAe,KAAK,aAAa;AAInC,gBAAe,KAAK,aAAa;AAEjC,QACE,oBAAC,KAAK,QAAN;EAAmB;EAAM,aAAA;EAAY,cAAA;YACnC,oBAAC,UAAD;GAAgB;GAAM,QAAA;GAAO,QAAQ,OAAO,eAAe;GAAc;aACtE,mBAAmB,SAChB,qBAAqB,YAAY,SAAS,KAAK;IACvD,eAAe,KAAK,QAAQ,CAAC;8BAErB,qBAAqB,YAAY,SAAS,KAAK;IACvD,eAAe,KAAK,QAAQ,CAAC;;GAEhB,CAAA;EACC,CAAA;;AAIlB,QAAQ,YAAY"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
//#region \0rolldown/runtime.js
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __name = (target, value) => __defProp(target, "name", {
|
|
5
|
-
value,
|
|
6
|
-
configurable: true
|
|
7
|
-
});
|
|
8
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
10
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
11
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
14
|
-
key = keys[i];
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
-
get: ((k) => from[k]).bind(null, key),
|
|
17
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
-
value: mod,
|
|
24
|
-
enumerable: true
|
|
25
|
-
}) : target, mod));
|
|
26
|
-
//#endregion
|
|
27
|
-
let _kubb_plugin_oas_utils = require("@kubb/plugin-oas/utils");
|
|
28
|
-
let _kubb_react_fabric = require("@kubb/react-fabric");
|
|
29
|
-
let _kubb_core_utils = require("@kubb/core/utils");
|
|
30
|
-
let _kubb_oas = require("@kubb/oas");
|
|
31
|
-
let _kubb_react_fabric_jsx_runtime = require("@kubb/react-fabric/jsx-runtime");
|
|
32
|
-
//#region src/components/Request.tsx
|
|
33
|
-
function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
|
|
34
|
-
if (paramsType === "object") {
|
|
35
|
-
const pathParams = (0, _kubb_plugin_oas_utils.getPathParams)(typeSchemas.pathParams, {
|
|
36
|
-
typed: true,
|
|
37
|
-
casing: paramsCasing
|
|
38
|
-
});
|
|
39
|
-
return _kubb_react_fabric.FunctionParams.factory({
|
|
40
|
-
data: {
|
|
41
|
-
mode: "object",
|
|
42
|
-
children: {
|
|
43
|
-
...pathParams,
|
|
44
|
-
data: typeSchemas.request?.name ? {
|
|
45
|
-
type: typeSchemas.request?.name,
|
|
46
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.request?.schema)
|
|
47
|
-
} : void 0,
|
|
48
|
-
params: typeSchemas.queryParams?.name ? {
|
|
49
|
-
type: typeSchemas.queryParams?.name,
|
|
50
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.queryParams?.schema)
|
|
51
|
-
} : void 0,
|
|
52
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
53
|
-
type: typeSchemas.headerParams?.name,
|
|
54
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.headerParams?.schema)
|
|
55
|
-
} : void 0
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
options: {
|
|
59
|
-
type: "Partial<Cypress.RequestOptions>",
|
|
60
|
-
default: "{}"
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return _kubb_react_fabric.FunctionParams.factory({
|
|
65
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
66
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
67
|
-
children: (0, _kubb_plugin_oas_utils.getPathParams)(typeSchemas.pathParams, {
|
|
68
|
-
typed: true,
|
|
69
|
-
casing: paramsCasing
|
|
70
|
-
}),
|
|
71
|
-
default: (0, _kubb_oas.isAllOptional)(typeSchemas.pathParams?.schema) ? "{}" : void 0
|
|
72
|
-
} : void 0,
|
|
73
|
-
data: typeSchemas.request?.name ? {
|
|
74
|
-
type: typeSchemas.request?.name,
|
|
75
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.request?.schema)
|
|
76
|
-
} : void 0,
|
|
77
|
-
params: typeSchemas.queryParams?.name ? {
|
|
78
|
-
type: typeSchemas.queryParams?.name,
|
|
79
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.queryParams?.schema)
|
|
80
|
-
} : void 0,
|
|
81
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
82
|
-
type: typeSchemas.headerParams?.name,
|
|
83
|
-
optional: (0, _kubb_oas.isOptional)(typeSchemas.headerParams?.schema)
|
|
84
|
-
} : void 0,
|
|
85
|
-
options: {
|
|
86
|
-
type: "Partial<Cypress.RequestOptions>",
|
|
87
|
-
default: "{}"
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function Request({ baseURL = "", name, dataReturnType, typeSchemas, url, method, paramsType, paramsCasing, pathParamsType }) {
|
|
92
|
-
const path = new _kubb_core_utils.URLPath(url, { casing: paramsCasing });
|
|
93
|
-
const params = getParams({
|
|
94
|
-
paramsType,
|
|
95
|
-
paramsCasing,
|
|
96
|
-
pathParamsType,
|
|
97
|
-
typeSchemas
|
|
98
|
-
});
|
|
99
|
-
const returnType = dataReturnType === "data" ? `Cypress.Chainable<${typeSchemas.response.name}>` : `Cypress.Chainable<Cypress.Response<${typeSchemas.response.name}>>`;
|
|
100
|
-
const urlTemplate = path.toTemplateString({ prefix: baseURL });
|
|
101
|
-
const requestOptions = [`method: '${method}'`, `url: ${urlTemplate}`];
|
|
102
|
-
if (typeSchemas.queryParams?.name) requestOptions.push("qs: params");
|
|
103
|
-
if (typeSchemas.headerParams?.name) requestOptions.push("headers");
|
|
104
|
-
if (typeSchemas.request?.name) requestOptions.push("body: data");
|
|
105
|
-
requestOptions.push("...options");
|
|
106
|
-
return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File.Source, {
|
|
107
|
-
name,
|
|
108
|
-
isIndexable: true,
|
|
109
|
-
isExportable: true,
|
|
110
|
-
children: /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.Function, {
|
|
111
|
-
name,
|
|
112
|
-
export: true,
|
|
113
|
-
params: params.toConstructor(),
|
|
114
|
-
returnType,
|
|
115
|
-
children: dataReturnType === "data" ? `return cy.request<${typeSchemas.response.name}>({
|
|
116
|
-
${requestOptions.join(",\n ")}
|
|
117
|
-
}).then((res) => res.body)` : `return cy.request<${typeSchemas.response.name}>({
|
|
118
|
-
${requestOptions.join(",\n ")}
|
|
119
|
-
})`
|
|
120
|
-
})
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
Request.getParams = getParams;
|
|
124
|
-
//#endregion
|
|
125
|
-
Object.defineProperty(exports, "Request", {
|
|
126
|
-
enumerable: true,
|
|
127
|
-
get: function() {
|
|
128
|
-
return Request;
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
Object.defineProperty(exports, "__name", {
|
|
132
|
-
enumerable: true,
|
|
133
|
-
get: function() {
|
|
134
|
-
return __name;
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
Object.defineProperty(exports, "__toESM", {
|
|
138
|
-
enumerable: true,
|
|
139
|
-
get: function() {
|
|
140
|
-
return __toESM;
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=components-DIv7fdTx.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-DIv7fdTx.cjs","names":["FunctionParams","URLPath","File","Function"],"sources":["../src/components/Request.tsx"],"sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { type HttpMethod, isAllOptional, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react-fabric'\nimport type { FabricReactNode } from '@kubb/react-fabric/types'\nimport type { PluginCypress } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeSchemas: OperationSchemas\n url: string\n baseURL: string | undefined\n dataReturnType: PluginCypress['resolvedOptions']['dataReturnType']\n paramsCasing: PluginCypress['resolvedOptions']['paramsCasing']\n paramsType: PluginCypress['resolvedOptions']['paramsType']\n pathParamsType: PluginCypress['resolvedOptions']['pathParamsType']\n method: HttpMethod\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginCypress['resolvedOptions']['paramsCasing']\n paramsType: PluginCypress['resolvedOptions']['paramsType']\n pathParamsType: PluginCypress['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n const pathParams = getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })\n\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...pathParams,\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: 'Partial<Cypress.RequestOptions>',\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 default: isAllOptional(typeSchemas.pathParams?.schema) ? '{}' : undefined,\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: 'Partial<Cypress.RequestOptions>',\n default: '{}',\n },\n })\n}\n\nexport function Request({ baseURL = '', name, dataReturnType, typeSchemas, url, method, paramsType, paramsCasing, pathParamsType }: Props): FabricReactNode {\n const path = new URLPath(url, { casing: paramsCasing })\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n\n const returnType =\n dataReturnType === 'data' ? `Cypress.Chainable<${typeSchemas.response.name}>` : `Cypress.Chainable<Cypress.Response<${typeSchemas.response.name}>>`\n\n // Build the URL template string - this will convert /pets/:petId to /pets/${petId}\n const urlTemplate = path.toTemplateString({ prefix: baseURL })\n\n // Build request options object\n const requestOptions: string[] = [`method: '${method}'`, `url: ${urlTemplate}`]\n\n // Add query params if they exist\n if (typeSchemas.queryParams?.name) {\n requestOptions.push('qs: params')\n }\n\n // Add headers if they exist\n if (typeSchemas.headerParams?.name) {\n requestOptions.push('headers')\n }\n\n // Add body if request schema exists\n if (typeSchemas.request?.name) {\n requestOptions.push('body: data')\n }\n\n // Spread additional Cypress options\n requestOptions.push('...options')\n\n return (\n <File.Source name={name} isIndexable isExportable>\n <Function name={name} export params={params.toConstructor()} returnType={returnType}>\n {dataReturnType === 'data'\n ? `return cy.request<${typeSchemas.response.name}>({\n ${requestOptions.join(',\\n ')}\n}).then((res) => res.body)`\n : `return cy.request<${typeSchemas.response.name}>({\n ${requestOptions.join(',\\n ')}\n})`}\n </Function>\n </File.Source>\n )\n}\n\nRequest.getParams = getParams\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAS,UAAU,EAAE,YAAY,cAAc,gBAAgB,eAA+B;AAC5F,KAAI,eAAe,UAAU;EAC3B,MAAM,cAAA,GAAA,uBAAA,eAA2B,YAAY,YAAY;GAAE,OAAO;GAAM,QAAQ;GAAc,CAAC;AAE/F,SAAOA,mBAAAA,eAAe,QAAQ;GAC5B,MAAM;IACJ,MAAM;IACN,UAAU;KACR,GAAG;KACH,MAAM,YAAY,SAAS,OACvB;MACE,MAAM,YAAY,SAAS;MAC3B,WAAA,GAAA,UAAA,YAAqB,YAAY,SAAS,OAAO;MAClD,GACD,KAAA;KACJ,QAAQ,YAAY,aAAa,OAC7B;MACE,MAAM,YAAY,aAAa;MAC/B,WAAA,GAAA,UAAA,YAAqB,YAAY,aAAa,OAAO;MACtD,GACD,KAAA;KACJ,SAAS,YAAY,cAAc,OAC/B;MACE,MAAM,YAAY,cAAc;MAChC,WAAA,GAAA,UAAA,YAAqB,YAAY,cAAc,OAAO;MACvD,GACD,KAAA;KACL;IACF;GACD,SAAS;IACP,MAAM;IACN,SAAS;IACV;GACF,CAAC;;AAGJ,QAAOA,mBAAAA,eAAe,QAAQ;EAC5B,YAAY,YAAY,YAAY,OAChC;GACE,MAAM,mBAAmB,WAAW,WAAW;GAC/C,WAAA,GAAA,uBAAA,eAAwB,YAAY,YAAY;IAAE,OAAO;IAAM,QAAQ;IAAc,CAAC;GACtF,UAAA,GAAA,UAAA,eAAuB,YAAY,YAAY,OAAO,GAAG,OAAO,KAAA;GACjE,GACD,KAAA;EACJ,MAAM,YAAY,SAAS,OACvB;GACE,MAAM,YAAY,SAAS;GAC3B,WAAA,GAAA,UAAA,YAAqB,YAAY,SAAS,OAAO;GAClD,GACD,KAAA;EACJ,QAAQ,YAAY,aAAa,OAC7B;GACE,MAAM,YAAY,aAAa;GAC/B,WAAA,GAAA,UAAA,YAAqB,YAAY,aAAa,OAAO;GACtD,GACD,KAAA;EACJ,SAAS,YAAY,cAAc,OAC/B;GACE,MAAM,YAAY,cAAc;GAChC,WAAA,GAAA,UAAA,YAAqB,YAAY,cAAc,OAAO;GACvD,GACD,KAAA;EACJ,SAAS;GACP,MAAM;GACN,SAAS;GACV;EACF,CAAC;;AAGJ,SAAgB,QAAQ,EAAE,UAAU,IAAI,MAAM,gBAAgB,aAAa,KAAK,QAAQ,YAAY,cAAc,kBAA0C;CAC1J,MAAM,OAAO,IAAIC,iBAAAA,QAAQ,KAAK,EAAE,QAAQ,cAAc,CAAC;CAEvD,MAAM,SAAS,UAAU;EAAE;EAAY;EAAc;EAAgB;EAAa,CAAC;CAEnF,MAAM,aACJ,mBAAmB,SAAS,qBAAqB,YAAY,SAAS,KAAK,KAAK,sCAAsC,YAAY,SAAS,KAAK;CAGlJ,MAAM,cAAc,KAAK,iBAAiB,EAAE,QAAQ,SAAS,CAAC;CAG9D,MAAM,iBAA2B,CAAC,YAAY,OAAO,IAAI,QAAQ,cAAc;AAG/E,KAAI,YAAY,aAAa,KAC3B,gBAAe,KAAK,aAAa;AAInC,KAAI,YAAY,cAAc,KAC5B,gBAAe,KAAK,UAAU;AAIhC,KAAI,YAAY,SAAS,KACvB,gBAAe,KAAK,aAAa;AAInC,gBAAe,KAAK,aAAa;AAEjC,QACE,iBAAA,GAAA,+BAAA,KAACC,mBAAAA,KAAK,QAAN;EAAmB;EAAM,aAAA;EAAY,cAAA;YACnC,iBAAA,GAAA,+BAAA,KAACC,mBAAAA,UAAD;GAAgB;GAAM,QAAA;GAAO,QAAQ,OAAO,eAAe;GAAc;aACtE,mBAAmB,SAChB,qBAAqB,YAAY,SAAS,KAAK;IACvD,eAAe,KAAK,QAAQ,CAAC;8BAErB,qBAAqB,YAAY,SAAS,KAAK;IACvD,eAAe,KAAK,QAAQ,CAAC;;GAEhB,CAAA;EACC,CAAA;;AAIlB,QAAQ,YAAY"}
|