@redocly/client-generator 0.0.0-snapshot.manual → 0.1.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/README.md +118 -422
- package/lib/config-file.d.ts +2 -2
- package/lib/config-file.d.ts.map +1 -1
- package/lib/config-file.js +0 -18
- package/lib/config-file.js.map +1 -1
- package/lib/emitters/client-assembly.d.ts.map +1 -1
- package/lib/emitters/client-assembly.js +14 -15
- package/lib/emitters/client-assembly.js.map +1 -1
- package/lib/emitters/descriptor.d.ts.map +1 -1
- package/lib/emitters/descriptor.js +10 -29
- package/lib/emitters/descriptor.js.map +1 -1
- package/lib/emitters/emit-options.d.ts +16 -20
- package/lib/emitters/emit-options.d.ts.map +1 -1
- package/lib/emitters/emit-options.js +3 -2
- package/lib/emitters/emit-options.js.map +1 -1
- package/lib/emitters/faker.d.ts.map +1 -1
- package/lib/emitters/faker.js +25 -8
- package/lib/emitters/faker.js.map +1 -1
- package/lib/emitters/identifier.d.ts +6 -0
- package/lib/emitters/identifier.d.ts.map +1 -1
- package/lib/emitters/identifier.js +11 -1
- package/lib/emitters/identifier.js.map +1 -1
- package/lib/emitters/inline-runtime.js +1 -1
- package/lib/emitters/inline-runtime.js.map +1 -1
- package/lib/emitters/mock.d.ts +2 -2
- package/lib/emitters/mock.d.ts.map +1 -1
- package/lib/emitters/mock.js +59 -37
- package/lib/emitters/mock.js.map +1 -1
- package/lib/emitters/operation-aliases.d.ts.map +1 -1
- package/lib/emitters/operation-aliases.js +6 -0
- package/lib/emitters/operation-aliases.js.map +1 -1
- package/lib/emitters/operation-signature.d.ts +1 -0
- package/lib/emitters/operation-signature.d.ts.map +1 -1
- package/lib/emitters/operation-signature.js +11 -3
- package/lib/emitters/operation-signature.js.map +1 -1
- package/lib/emitters/operation-types.js +1 -1
- package/lib/emitters/operation-types.js.map +1 -1
- package/lib/emitters/operations.d.ts +2 -2
- package/lib/emitters/operations.d.ts.map +1 -1
- package/lib/emitters/operations.js +4 -2
- package/lib/emitters/operations.js.map +1 -1
- package/lib/emitters/pagination.d.ts +14 -7
- package/lib/emitters/pagination.d.ts.map +1 -1
- package/lib/emitters/pagination.js +70 -37
- package/lib/emitters/pagination.js.map +1 -1
- package/lib/emitters/reserved-names.d.ts +5 -0
- package/lib/emitters/reserved-names.d.ts.map +1 -0
- package/lib/emitters/reserved-names.js +134 -0
- package/lib/emitters/reserved-names.js.map +1 -0
- package/lib/emitters/runtime-sources.d.ts +6 -6
- package/lib/emitters/runtime-sources.js +6 -6
- package/lib/emitters/runtime-sources.js.map +1 -1
- package/lib/emitters/sample.d.ts +13 -1
- package/lib/emitters/sample.d.ts.map +1 -1
- package/lib/emitters/sample.js +138 -8
- package/lib/emitters/sample.js.map +1 -1
- package/lib/emitters/setup-bake.d.ts.map +1 -1
- package/lib/emitters/setup-bake.js +15 -1
- package/lib/emitters/setup-bake.js.map +1 -1
- package/lib/emitters/tanstack-query.d.ts +8 -3
- package/lib/emitters/tanstack-query.d.ts.map +1 -1
- package/lib/emitters/tanstack-query.js +231 -57
- package/lib/emitters/tanstack-query.js.map +1 -1
- package/lib/emitters/transformers.d.ts.map +1 -1
- package/lib/emitters/transformers.js +118 -36
- package/lib/emitters/transformers.js.map +1 -1
- package/lib/emitters/ts.d.ts.map +1 -1
- package/lib/emitters/ts.js +8 -0
- package/lib/emitters/ts.js.map +1 -1
- package/lib/emitters/types.d.ts +1 -9
- package/lib/emitters/types.d.ts.map +1 -1
- package/lib/emitters/types.js +4 -6
- package/lib/emitters/types.js.map +1 -1
- package/lib/emitters/wrapper-support.d.ts.map +1 -1
- package/lib/emitters/wrapper-support.js +2 -0
- package/lib/emitters/wrapper-support.js.map +1 -1
- package/lib/emitters/zod.d.ts.map +1 -1
- package/lib/emitters/zod.js +121 -19
- package/lib/emitters/zod.js.map +1 -1
- package/lib/generate.d.ts +25 -0
- package/lib/generate.d.ts.map +1 -0
- package/lib/generate.js +119 -0
- package/lib/generate.js.map +1 -0
- package/lib/generators/index.d.ts.map +1 -1
- package/lib/generators/index.js +9 -2
- package/lib/generators/index.js.map +1 -1
- package/lib/generators/mock.js +1 -1
- package/lib/generators/mock.js.map +1 -1
- package/lib/generators/resolve.js +6 -1
- package/lib/generators/resolve.js.map +1 -1
- package/lib/generators/swr.js +1 -1
- package/lib/generators/swr.js.map +1 -1
- package/lib/generators/tanstack-query.d.ts +9 -8
- package/lib/generators/tanstack-query.d.ts.map +1 -1
- package/lib/generators/tanstack-query.js +22 -18
- package/lib/generators/tanstack-query.js.map +1 -1
- package/lib/generators/transformers.d.ts.map +1 -1
- package/lib/generators/transformers.js +4 -2
- package/lib/generators/transformers.js.map +1 -1
- package/lib/generators/types.d.ts +2 -2
- package/lib/generators/types.d.ts.map +1 -1
- package/lib/index.d.ts +3 -20
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -107
- package/lib/index.js.map +1 -1
- package/lib/intermediate-representation/build.d.ts.map +1 -1
- package/lib/intermediate-representation/build.js +25 -17
- package/lib/intermediate-representation/build.js.map +1 -1
- package/lib/intermediate-representation/model.d.ts +8 -8
- package/lib/intermediate-representation/model.d.ts.map +1 -1
- package/lib/intermediate-representation/normalize-swagger2.js +27 -2
- package/lib/intermediate-representation/normalize-swagger2.js.map +1 -1
- package/lib/intermediate-representation/sanitize-identifiers.d.ts +10 -0
- package/lib/intermediate-representation/sanitize-identifiers.d.ts.map +1 -1
- package/lib/intermediate-representation/sanitize-identifiers.js +79 -20
- package/lib/intermediate-representation/sanitize-identifiers.js.map +1 -1
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +20 -1
- package/lib/loader.js.map +1 -1
- package/lib/plugin.d.ts +0 -6
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +7 -8
- package/lib/plugin.js.map +1 -1
- package/lib/runtime/create-client.d.ts +12 -1
- package/lib/runtime/create-client.d.ts.map +1 -1
- package/lib/runtime/create-client.js +95 -13
- package/lib/runtime/create-client.js.map +1 -1
- package/lib/runtime/index.js +2 -2
- package/lib/runtime/index.js.map +1 -1
- package/lib/runtime/paginate.d.ts +25 -2
- package/lib/runtime/paginate.d.ts.map +1 -1
- package/lib/runtime/paginate.js +95 -5
- package/lib/runtime/paginate.js.map +1 -1
- package/lib/runtime/parse.d.ts +5 -1
- package/lib/runtime/parse.d.ts.map +1 -1
- package/lib/runtime/parse.js +29 -3
- package/lib/runtime/parse.js.map +1 -1
- package/lib/runtime/send.d.ts +1 -1
- package/lib/runtime/send.d.ts.map +1 -1
- package/lib/runtime/send.js +2 -2
- package/lib/runtime/send.js.map +1 -1
- package/lib/runtime/sse.d.ts +1 -0
- package/lib/runtime/sse.d.ts.map +1 -1
- package/lib/runtime/sse.js +9 -9
- package/lib/runtime/sse.js.map +1 -1
- package/lib/runtime/types.d.ts +31 -6
- package/lib/runtime/types.d.ts.map +1 -1
- package/lib/types.d.ts +23 -20
- package/lib/types.d.ts.map +1 -1
- package/package.json +12 -2
- package/lib/config.d.ts +0 -63
- package/lib/config.d.ts.map +0 -1
- package/lib/config.js +0 -2
- package/lib/config.js.map +0 -1
- package/lib/emitters/client.d.ts +0 -71
- package/lib/emitters/client.d.ts.map +0 -1
- package/lib/emitters/client.js +0 -28
- package/lib/emitters/client.js.map +0 -1
- package/lib/emitters/package-client.d.ts +0 -15
- package/lib/emitters/package-client.d.ts.map +0 -1
- package/lib/emitters/package-client.js +0 -300
- package/lib/emitters/package-client.js.map +0 -1
- package/lib/writers/index.d.ts +0 -5
- package/lib/writers/index.d.ts.map +0 -1
- package/lib/writers/index.js +0 -11
- package/lib/writers/index.js.map +0 -1
- package/lib/writers/single-file-writer.d.ts +0 -8
- package/lib/writers/single-file-writer.d.ts.map +0 -1
- package/lib/writers/single-file-writer.js +0 -10
- package/lib/writers/single-file-writer.js.map +0 -1
- package/lib/writers/split-writer.d.ts +0 -14
- package/lib/writers/split-writer.d.ts.map +0 -1
- package/lib/writers/split-writer.js +0 -23
- package/lib/writers/split-writer.js.map +0 -1
- package/lib/writers/types.d.ts +0 -31
- package/lib/writers/types.d.ts.map +0 -1
- package/lib/writers/types.js +0 -2
- package/lib/writers/types.js.map +0 -1
- package/lib/writers/util.d.ts +0 -14
- package/lib/writers/util.d.ts.map +0 -1
- package/lib/writers/util.js +0 -14
- package/lib/writers/util.js.map +0 -1
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { ApiModel } from '../intermediate-representation/model.js';
|
|
2
|
+
import { type PaginationConfig } from './pagination.js';
|
|
2
3
|
export type TanstackOptions = {
|
|
3
|
-
|
|
4
|
-
/** Import specifier for the sdk entry the operation functions/types live in. */
|
|
4
|
+
/** Import specifier for the sdk entry the `client` instance and types live in. */
|
|
5
5
|
sdkModule: string;
|
|
6
|
-
/** TanStack adapter to import
|
|
6
|
+
/** TanStack adapter to import the option helpers from (`@tanstack/${framework}-query`). */
|
|
7
7
|
framework: 'react' | 'vue' | 'svelte' | 'solid';
|
|
8
|
+
/** Auto-pagination rules — paginated query ops gain `<op>InfiniteOptions`. */
|
|
9
|
+
pagination?: PaginationConfig;
|
|
10
|
+
/** Leading element for every query/mutation key — namespaces the cache when several
|
|
11
|
+
* generated APIs share one QueryClient (operationIds may collide across APIs). */
|
|
12
|
+
queryKeyPrefix?: string;
|
|
8
13
|
};
|
|
9
14
|
/** Render the full TanStack Query module source. `''` when there are no wrappable operations. */
|
|
10
15
|
export declare function renderTanstackModule(model: ApiModel, opts: TanstackOptions): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-query.d.ts","sourceRoot":"","sources":["../../src/emitters/tanstack-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tanstack-query.d.ts","sourceRoot":"","sources":["../../src/emitters/tanstack-query.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,8EAA8E;IAC9E,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;sFACkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAWnF"}
|
|
@@ -1,68 +1,242 @@
|
|
|
1
|
-
// Emits an idiomatic TanStack Query v5
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// (
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
// Emits an idiomatic TanStack Query v5 module over the generated client. The factories
|
|
2
|
+
// are built by `createQueryFactories(instance)` — bindable to any client instance (per-instance
|
|
3
|
+
// config, middleware, retry) — and the module-level exports bind the sdk's default
|
|
4
|
+
// `client`. Per query operation (GET/HEAD): `<op>QueryKey(vars?)` (the no-args form is
|
|
5
|
+
// the invalidation prefix) and `<op>Options(vars, init?)` whose `queryFn` forwards
|
|
6
|
+
// TanStack's abort `signal`. A paginated query op additionally gets
|
|
7
|
+
// `<op>InfiniteOptions(vars, init?)` with `initialPageParam`/`getNextPageParam` compiled
|
|
8
|
+
// from the pagination rule's JSON pointers. Per mutation: `<op>Mutation(init?)`. Calls go
|
|
9
|
+
// through the client instance's grouped methods, so the module is independent of the
|
|
10
|
+
// sdk's `--args-style`.
|
|
11
|
+
//
|
|
12
|
+
// The factory bodies are authored as source text and round-tripped through
|
|
13
|
+
// `parseStatements` → `printStatements`, which validates the syntax at generation time
|
|
14
|
+
// and normalizes everything to the printer's canonical style. Every interpolated piece
|
|
15
|
+
// is generator-derived (sanitized operation names, JSON-pointer property chains built
|
|
16
|
+
// here) — never raw spec text.
|
|
17
|
+
import { codeString, isSafeIdentifier, safeIdent } from './identifier.js';
|
|
18
|
+
import { resolveModelPagination, resolveSchemaPointer, } from './pagination.js';
|
|
19
|
+
import { parseStatements, printStatements } from './ts.js';
|
|
20
|
+
import { hasInputs, isQuery, variablesName, wrappableOperations } from './wrapper-support.js';
|
|
12
21
|
/** Render the full TanStack Query module source. `''` when there are no wrappable operations. */
|
|
13
22
|
export function renderTanstackModule(model, opts) {
|
|
14
23
|
const ops = wrappableOperations(model, 'tanstack-query');
|
|
15
24
|
if (ops.length === 0)
|
|
16
25
|
return '';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
const pagination = resolveModelPagination(model, opts.pagination);
|
|
27
|
+
const source = [
|
|
28
|
+
importHeader(ops, opts, pagination),
|
|
29
|
+
...ops.filter(isQuery).map((op) => queryKeySource(op, opts.queryKeyPrefix)),
|
|
30
|
+
factoriesSource(model, ops, pagination, opts.queryKeyPrefix),
|
|
31
|
+
...defaultBindings(ops, pagination),
|
|
32
|
+
].join('\n');
|
|
33
|
+
return printStatements(parseStatements(source));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Whether the op gets an `<op>InfiniteOptions` factory: a paginated query operation.
|
|
37
|
+
* `link`-style pagination is excluded — its next page lives in the `Link` response
|
|
38
|
+
* HEADER, which a TanStack `queryFn` (body-only) cannot see; use the sdk's
|
|
39
|
+
* `.pages()`/`.items()` iterators for those operations instead.
|
|
40
|
+
*/
|
|
41
|
+
function isInfinite(op, pagination) {
|
|
42
|
+
if (!isQuery(op))
|
|
43
|
+
return false;
|
|
44
|
+
const paginated = pagination.get(op.name);
|
|
45
|
+
return paginated !== undefined && paginated.spec.style !== 'link';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The import header: the option helpers from `@tanstack/${framework}-query` (only the
|
|
49
|
+
* ones used), then the sdk's `client` instance plus the referenced types.
|
|
50
|
+
*/
|
|
51
|
+
function importHeader(ops, opts, pagination) {
|
|
52
|
+
const helpers = [
|
|
53
|
+
...(ops.some((op) => isInfinite(op, pagination)) ? ['infiniteQueryOptions'] : []),
|
|
54
|
+
...(ops.some(isQuery) ? ['queryOptions'] : []),
|
|
55
|
+
];
|
|
56
|
+
const types = [...ops.filter(hasInputs).map(variablesName), 'RequestOptions']
|
|
57
|
+
.sort()
|
|
58
|
+
.map((name) => `type ${name}`);
|
|
59
|
+
const lines = [];
|
|
60
|
+
if (helpers.length > 0) {
|
|
61
|
+
lines.push(`import { ${helpers.join(', ')} } from "@tanstack/${opts.framework}-query";`);
|
|
62
|
+
}
|
|
63
|
+
lines.push(`import { client, ${types.join(', ')} } from "${opts.sdkModule}";`);
|
|
64
|
+
return lines.join('\n');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* `<op>QueryKey(vars?)` — with `vars` the exact key `<op>Options` uses; without, the
|
|
68
|
+
* one-element prefix matching every cached page/filter of the operation
|
|
69
|
+
* (`queryClient.invalidateQueries({ queryKey: getOrderQueryKey() })`).
|
|
70
|
+
*/
|
|
71
|
+
function queryKeySource(op, prefix) {
|
|
72
|
+
const base = keyElements(op, prefix);
|
|
73
|
+
if (!hasInputs(op)) {
|
|
74
|
+
return `export const ${op.name}QueryKey = () => [${base}] as const;`;
|
|
75
|
+
}
|
|
76
|
+
return (`export const ${op.name}QueryKey = (vars?: ${variablesName(op)}) =>\n` +
|
|
77
|
+
` vars === undefined ? ([${base}] as const) : ([${base}, vars] as const);`);
|
|
78
|
+
}
|
|
79
|
+
/** The constant leading key elements: `"main", "getOrder"` with a prefix, else the id alone. */
|
|
80
|
+
function keyElements(op, prefix) {
|
|
81
|
+
// The prefix is config-supplied text — `codeString` is the code-context escaping.
|
|
82
|
+
return prefix === undefined ? `"${op.name}"` : `${codeString(prefix)}, "${op.name}"`;
|
|
83
|
+
}
|
|
84
|
+
/** The `createQueryFactories(instance)` declaration wrapping every option/mutation factory. */
|
|
85
|
+
function factoriesSource(model, ops, pagination, prefix) {
|
|
86
|
+
const members = ops.flatMap((op) => {
|
|
87
|
+
if (!isQuery(op))
|
|
88
|
+
return [mutationMember(op, prefix)];
|
|
89
|
+
const paginated = pagination.get(op.name);
|
|
90
|
+
return paginated !== undefined && paginated.spec.style !== 'link'
|
|
91
|
+
? [optionsMember(op), infiniteMember(model, op, paginated.spec)]
|
|
92
|
+
: [optionsMember(op)];
|
|
93
|
+
});
|
|
94
|
+
return ('/**\n' +
|
|
95
|
+
' * Build the factories over a specific client instance — its config, middleware, and\n' +
|
|
96
|
+
' * retry apply to every call (`createQueryFactories(createClient(OPERATIONS, config))`).\n' +
|
|
97
|
+
" * The module-level exports below are these factories bound to the sdk's default `client`.\n" +
|
|
98
|
+
' */\n' +
|
|
99
|
+
'export const createQueryFactories = (instance: typeof client = client) => ({\n' +
|
|
100
|
+
members.join(',\n') +
|
|
101
|
+
'\n});');
|
|
102
|
+
}
|
|
103
|
+
/** `<op>Options` — `queryFn` forwards TanStack's abort `signal` into the request `init`. */
|
|
104
|
+
function optionsMember(op) {
|
|
105
|
+
const { params, keyArg, callArgs } = varsPieces(op);
|
|
106
|
+
return (` ${op.name}Options: (${params}) => queryOptions({\n` +
|
|
107
|
+
` queryKey: ${op.name}QueryKey(${keyArg}),\n` +
|
|
108
|
+
` queryFn: ({ signal }) => instance.${op.name}(${callArgs}, { ...init, signal }),\n` +
|
|
109
|
+
` })`);
|
|
110
|
+
}
|
|
111
|
+
/** `<op>Mutation(init?)` — per-call `RequestOptions` (headers, a retry override) reach the mutation. */
|
|
112
|
+
function mutationMember(op, prefix) {
|
|
113
|
+
const mutationFn = hasInputs(op)
|
|
114
|
+
? `(vars: ${variablesName(op)}) => instance.${op.name}(vars, init)`
|
|
115
|
+
: `() => instance.${op.name}({}, init)`;
|
|
116
|
+
return (` ${op.name}Mutation: (init?: RequestOptions) => ({\n` +
|
|
117
|
+
` mutationKey: [${keyElements(op, prefix)}] as const,\n` +
|
|
118
|
+
` mutationFn: ${mutationFn},\n` +
|
|
119
|
+
` })`);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* `<op>InfiniteOptions` — the pagination rule compiled into TanStack's contract: the
|
|
123
|
+
* page param rides the rule's advance query parameter, `initialPageParam` resumes from
|
|
124
|
+
* the caller's own value, and `getNextPageParam` mirrors the runtime iterators' stop
|
|
125
|
+
* conditions (cursor: absent/`null`/`''`, plus the optional `hasMore === false`;
|
|
126
|
+
* offset/page: an empty items page).
|
|
127
|
+
*/
|
|
128
|
+
function infiniteMember(model, op, spec) {
|
|
129
|
+
const { params, keyArg } = varsPieces(op);
|
|
130
|
+
const override = `{ ...vars, params: { ...vars.params, ${safeIdent(spec.param)}: pageParam } }`;
|
|
131
|
+
return (` ${op.name}InfiniteOptions: (${params}) => infiniteQueryOptions({\n` +
|
|
132
|
+
` queryKey: [...${op.name}QueryKey(${keyArg}), "infinite"] as const,\n` +
|
|
133
|
+
` queryFn: ({ pageParam, signal }) => instance.${op.name}(${override}, { ...init, signal }),\n` +
|
|
134
|
+
nextPageSource(model, op, spec) +
|
|
135
|
+
` })`);
|
|
136
|
+
}
|
|
137
|
+
/** The `initialPageParam` + `getNextPageParam` pair for one pagination style. */
|
|
138
|
+
function nextPageSource(model, op, spec) {
|
|
139
|
+
const advance = paramsAccess(spec.param);
|
|
140
|
+
if (spec.style === 'cursor') {
|
|
141
|
+
const stopEarly = spec.hasMore === undefined
|
|
142
|
+
? ''
|
|
143
|
+
: ` if (lastPage${pointerChain(spec.hasMore)} === false) return undefined;\n`;
|
|
144
|
+
// Only the stop checks the cursor's static type admits are emitted — a `=== null`
|
|
145
|
+
// against a non-nullable string is a TS2367 in the consumer's build. TanStack v5
|
|
146
|
+
// itself stops on a returned `null`/`undefined`, so an omitted check stays safe
|
|
147
|
+
// even when the server sends a value the description says it cannot.
|
|
148
|
+
const checks = cursorStopChecks(model, op, spec.nextCursor);
|
|
149
|
+
const body = checks.length === 0
|
|
150
|
+
? ` return lastPage${pointerChain(spec.nextCursor)};\n`
|
|
151
|
+
: ` const next = lastPage${pointerChain(spec.nextCursor)};\n` +
|
|
152
|
+
` return ${checks.join(' || ')} ? undefined : next;\n`;
|
|
153
|
+
return (` initialPageParam: vars.params?.${advance},\n` +
|
|
154
|
+
` getNextPageParam: (lastPage) => {\n` +
|
|
155
|
+
stopEarly +
|
|
156
|
+
body +
|
|
157
|
+
` },\n`);
|
|
25
158
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const keyElements = inputs ? [keyId, factory.createIdentifier('vars')] : [keyId];
|
|
34
|
-
const queryKey = exportConst(`${op.name}QueryKey`, arrow(keyParams, constArray(keyElements)));
|
|
35
|
-
const keyCall = factory.createCallExpression(factory.createIdentifier(`${op.name}QueryKey`), undefined, inputs ? [factory.createIdentifier('vars')] : []);
|
|
36
|
-
const queryOptionsCall = factory.createCallExpression(factory.createIdentifier('queryOptions'), undefined, [
|
|
37
|
-
factory.createObjectLiteralExpression([
|
|
38
|
-
factory.createPropertyAssignment('queryKey', keyCall),
|
|
39
|
-
factory.createPropertyAssignment('queryFn', arrow([], sdkCall(op, opts.argsStyle, 'vars', true))),
|
|
40
|
-
], true),
|
|
41
|
-
]);
|
|
42
|
-
const optionsParams = inputs ? [varsParam(op), initParam()] : [initParam()];
|
|
43
|
-
const options = exportConst(`${op.name}Options`, arrow(optionsParams, queryOptionsCall));
|
|
44
|
-
return [queryKey, options];
|
|
45
|
-
}
|
|
46
|
-
/** A mutation op's `<op>Mutation` statement. */
|
|
47
|
-
function mutationStatement(op, opts) {
|
|
48
|
-
const inputs = hasInputs(op);
|
|
49
|
-
const mutationFn = arrow(inputs ? [varsParam(op)] : [], sdkCall(op, opts.argsStyle, 'vars', false));
|
|
50
|
-
const obj = factory.createObjectLiteralExpression([
|
|
51
|
-
factory.createPropertyAssignment('mutationKey', constArray([factory.createStringLiteral(op.name)])),
|
|
52
|
-
factory.createPropertyAssignment('mutationFn', mutationFn),
|
|
53
|
-
], true);
|
|
54
|
-
// Wrap in parens so the arrow body is an object literal, not a block.
|
|
55
|
-
return exportConst(`${op.name}Mutation`, arrow([], factory.createParenthesizedExpression(obj)));
|
|
159
|
+
const step = spec.style === 'offset' ? 'lastPageParam + count' : 'lastPageParam + 1';
|
|
160
|
+
const start = spec.style === 'offset' ? '0' : '1';
|
|
161
|
+
return (` initialPageParam: vars.params?.${advance} ?? ${start},\n` +
|
|
162
|
+
` getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n` +
|
|
163
|
+
` const count = ${itemsLength(spec.items)};\n` +
|
|
164
|
+
` return count === 0 ? undefined : ${step};\n` +
|
|
165
|
+
` },\n`);
|
|
56
166
|
}
|
|
57
167
|
/**
|
|
58
|
-
* The
|
|
59
|
-
*
|
|
168
|
+
* The `next === …` stop conditions whose comparison the cursor's static type allows:
|
|
169
|
+
* `undefined` when any step of the chain can miss, `null` when the cursor is nullable,
|
|
170
|
+
* `""` when it is a plain string.
|
|
60
171
|
*/
|
|
61
|
-
function
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
172
|
+
function cursorStopChecks(model, op, pointer) {
|
|
173
|
+
const page = op.successResponses.find((response) => response.contentType.toLowerCase().includes('json'));
|
|
174
|
+
// Both resolve — `resolveModelPagination` already verified the rule fits the operation.
|
|
175
|
+
const root = resolveSchemaPointer(page.schema, '', model);
|
|
176
|
+
const target = resolveSchemaPointer(page.schema, pointer, model);
|
|
177
|
+
const keys = pointer.slice(1).split('/');
|
|
178
|
+
let canBeUndefined = keys.length > 1;
|
|
179
|
+
if (!canBeUndefined && root?.kind === 'object') {
|
|
180
|
+
const property = root.properties.find((candidate) => candidate.name === keys[0]);
|
|
181
|
+
canBeUndefined = property === undefined || !property.required;
|
|
182
|
+
}
|
|
183
|
+
const members = target?.kind === 'union' ? target.members : target ? [target] : [];
|
|
184
|
+
const nullable = members.some((member) => member.kind === 'null');
|
|
185
|
+
const plainString = members.some((member) => member.kind === 'scalar' && member.scalar === 'string');
|
|
186
|
+
return [
|
|
187
|
+
...(canBeUndefined ? ['next === undefined'] : []),
|
|
188
|
+
...(nullable ? ['next === null'] : []),
|
|
189
|
+
...(plainString ? ['next === ""'] : []),
|
|
190
|
+
];
|
|
191
|
+
}
|
|
192
|
+
/** The shared `(vars, init?)` parameter list plus how `vars` reaches the key and the call. */
|
|
193
|
+
function varsPieces(op) {
|
|
194
|
+
if (!hasInputs(op)) {
|
|
195
|
+
return { params: 'init?: RequestOptions', keyArg: '', callArgs: '{}' };
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
params: `vars: ${variablesName(op)}, init?: RequestOptions`,
|
|
199
|
+
keyArg: 'vars',
|
|
200
|
+
callArgs: 'vars',
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/** One query-param access step: `.name`, or `["a b"]` when not a bare identifier. */
|
|
204
|
+
function paramsAccess(name) {
|
|
205
|
+
return isSafeIdentifier(name) ? name : `[${safeIdent(name)}]`;
|
|
206
|
+
}
|
|
207
|
+
/** An RFC 6901 pointer as an optional property chain: `/page/endCursor` → `.page?.endCursor`. */
|
|
208
|
+
function pointerChain(pointer) {
|
|
209
|
+
const keys = pointer
|
|
210
|
+
.slice(1)
|
|
211
|
+
.split('/')
|
|
212
|
+
.map((token) => token.replaceAll('~1', '/').replaceAll('~0', '~'));
|
|
213
|
+
return keys
|
|
214
|
+
.map((key, index) => {
|
|
215
|
+
const bare = isSafeIdentifier(key);
|
|
216
|
+
if (index === 0)
|
|
217
|
+
return bare ? `.${key}` : `[${safeIdent(key)}]`;
|
|
218
|
+
return bare ? `?.${key}` : `?.[${safeIdent(key)}]`;
|
|
219
|
+
})
|
|
220
|
+
.join('');
|
|
221
|
+
}
|
|
222
|
+
/** The page's item count per the `items` pointer (`''` means the page IS the array). */
|
|
223
|
+
function itemsLength(items) {
|
|
224
|
+
if (items === '')
|
|
225
|
+
return 'lastPage?.length ?? 0';
|
|
226
|
+
return `lastPage${pointerChain(items)}?.length ?? 0`;
|
|
227
|
+
}
|
|
228
|
+
/** `export const <name> = defaultFactories.<name>;` per factory, bound to the default client. */
|
|
229
|
+
function defaultBindings(ops, pagination) {
|
|
230
|
+
const names = ops.flatMap((op) => {
|
|
231
|
+
if (!isQuery(op))
|
|
232
|
+
return [`${op.name}Mutation`];
|
|
233
|
+
return isInfinite(op, pagination)
|
|
234
|
+
? [`${op.name}Options`, `${op.name}InfiniteOptions`]
|
|
235
|
+
: [`${op.name}Options`];
|
|
236
|
+
});
|
|
237
|
+
return [
|
|
238
|
+
'const defaultFactories = createQueryFactories();',
|
|
239
|
+
...names.map((name) => `export const ${name} = defaultFactories.${name};`),
|
|
240
|
+
];
|
|
67
241
|
}
|
|
68
242
|
//# sourceMappingURL=tanstack-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-query.js","sourceRoot":"","sources":["../../src/emitters/tanstack-query.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"tanstack-query.js","sourceRoot":"","sources":["../../src/emitters/tanstack-query.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,gGAAgG;AAChG,mFAAmF;AACnF,uFAAuF;AACvF,mFAAmF;AACnF,oEAAoE;AACpE,yFAAyF;AACzF,0FAA0F;AAC1F,qFAAqF;AACrF,wBAAwB;AACxB,EAAE;AACF,2EAA2E;AAC3E,uFAAuF;AACvF,uFAAuF;AACvF,sFAAsF;AACtF,+BAA+B;AAI/B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAGL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAc9F,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,KAAe,EAAE,IAAqB;IACzE,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG;QACb,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;QACnC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3E,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;QAC5D,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAkB,EAAE,UAA2B;IACjE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,GAAqB,EACrB,IAAqB,EACrB,UAA2B;IAE3B,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;SAC1E,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,EAAkB,EAAE,MAA0B;IACpE,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,gBAAgB,EAAE,CAAC,IAAI,qBAAqB,IAAI,aAAa,CAAC;IACvE,CAAC;IACD,OAAO,CACL,gBAAgB,EAAE,CAAC,IAAI,sBAAsB,aAAa,CAAC,EAAE,CAAC,QAAQ;QACtE,8BAA8B,IAAI,mBAAmB,IAAI,oBAAoB,CAC9E,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,WAAW,CAAC,EAAkB,EAAE,MAA0B;IACjE,kFAAkF;IAClF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC;AACvF,CAAC;AAED,+FAA+F;AAC/F,SAAS,eAAe,CACtB,KAAe,EACf,GAAqB,EACrB,UAA2B,EAC3B,MAA0B;IAE1B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM;YAC/D,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,CACL,OAAO;QACP,wFAAwF;QACxF,4FAA4F;QAC5F,8FAA8F;QAC9F,OAAO;QACP,gFAAgF;QAChF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACnB,OAAO,CACR,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa,CAAC,EAAkB;IACvC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,CACL,OAAO,EAAE,CAAC,IAAI,aAAa,MAAM,uBAAuB;QACxD,qBAAqB,EAAE,CAAC,IAAI,YAAY,MAAM,MAAM;QACpD,6CAA6C,EAAE,CAAC,IAAI,IAAI,QAAQ,2BAA2B;QAC3F,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,SAAS,cAAc,CAAC,EAAkB,EAAE,MAA0B;IACpE,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,UAAU,aAAa,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,cAAc;QACnE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAI,YAAY,CAAC;IAC1C,OAAO,CACL,OAAO,EAAE,CAAC,IAAI,2CAA2C;QACzD,yBAAyB,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe;QAC/D,uBAAuB,UAAU,KAAK;QACtC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,KAAe,EACf,EAAkB,EAClB,IAAgD;IAEhD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,wCAAwC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAChG,OAAO,CACL,OAAO,EAAE,CAAC,IAAI,qBAAqB,MAAM,+BAA+B;QACxE,yBAAyB,EAAE,CAAC,IAAI,YAAY,MAAM,4BAA4B;QAC9E,wDAAwD,EAAE,CAAC,IAAI,IAAI,QAAQ,2BAA2B;QACtG,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC;QAC/B,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CACrB,KAAe,EACf,EAAkB,EAClB,IAAgD;IAEhD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,SAAS,GACb,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,2BAA2B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC;QAC7F,kFAAkF;QAClF,iFAAiF;QACjF,gFAAgF;QAChF,qEAAqE;QACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,8BAA8B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAClE,CAAC,CAAC,oCAAoC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;gBACtE,sBAAsB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;QACxE,OAAO,CACL,0CAA0C,OAAO,KAAK;YACtD,6CAA6C;YAC7C,SAAS;YACT,IAAI;YACJ,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,OAAO,CACL,0CAA0C,OAAO,OAAO,KAAK,KAAK;QAClE,uEAAuE;QACvE,6BAA6B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;QACzD,gDAAgD,IAAI,KAAK;QACzD,cAAc,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAe,EAAE,EAAkB,EAAE,OAAe;IAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACpD,CAAC;IACF,wFAAwF;IACxF,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,cAAc,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CACnE,CAAC;IACF,OAAO;QACL,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,UAAU,CAAC,EAAkB;IACpC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS,aAAa,CAAC,EAAE,CAAC,yBAAyB;QAC3D,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM;KACjB,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AAChE,CAAC;AAED,iGAAiG;AACjG,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAG,OAAO;SACjB,KAAK,CAAC,CAAC,CAAC;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACjE,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;IACrD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,uBAAuB,CAAC;IACjD,OAAO,WAAW,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC;AACvD,CAAC;AAED,iGAAiG;AACjG,SAAS,eAAe,CAAC,GAAqB,EAAE,UAA2B;IACzE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC;YAC/B,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC;YACpD,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO;QACL,kDAAkD;QAClD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,uBAAuB,IAAI,GAAG,CAAC;KAC3E,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/emitters/transformers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/emitters/transformers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,yCAAyC,CAAC;AAmjBjD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAa7F"}
|