@redocly/cli 2.51.0 → 2.51.1
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/THIRD_PARTY_NOTICES +1 -1
- package/lib/chunks/{7ZC3TNBP.js → 25O4YORJ.js} +1 -1
- package/lib/chunks/{OKMAGS7N.js → 2UDYQ5CZ.js} +1 -1
- package/lib/chunks/{QPW3IML7.js → 3A5KYQ7N.js} +1 -1
- package/lib/chunks/{KBGRTZ3S.js → 4PIDMMUD.js} +1 -1
- package/lib/chunks/{FVKTV62N.js → 5BMLOFU4.js} +1 -1
- package/lib/chunks/{BFGFT7E3.js → 67BLI5YQ.js} +1 -1
- package/lib/chunks/{WPSBZRFR.js → 6PX2QTPF.js} +1 -1
- package/lib/chunks/{KF7NA4HQ.js → 6UH63WWT.js} +1 -1
- package/lib/chunks/{45LW7ZJ2.js → 6ZHC3PYG.js} +1 -1
- package/lib/chunks/{FJAJ4RIU.js → 7SSQGR7O.js} +1 -1
- package/lib/chunks/{YEK532UO.js → AH3V6J6B.js} +1 -1
- package/lib/chunks/{KNLINRO4.js → BGIV3YYM.js} +1 -1
- package/lib/chunks/{AQT2EJZS.js → BJDVYUKU.js} +1 -1
- package/lib/chunks/{62X4OKFV.js → CGINWISC.js} +1 -1
- package/lib/chunks/{65LLBIQA.js → CXRHOXPI.js} +1 -1
- package/lib/chunks/{ULV3D265.js → ECZA233J.js} +1 -1
- package/lib/chunks/{2L3Z5JZA.js → EE3PGFTZ.js} +1 -1
- package/lib/chunks/{77VEOG4O.js → K2X43E7U.js} +1 -1
- package/lib/chunks/{QKWUIMTP.js → K732KQHY.js} +1 -1
- package/lib/chunks/{NIH6ZKB3.js → KQJOSAUI.js} +1 -1
- package/lib/chunks/{SQYP47H6.js → KXYI4EET.js} +1 -1
- package/lib/chunks/{P37B4DI4.js → LAFBWLA7.js} +1 -1
- package/lib/chunks/{3XSOTIDJ.js → LE7OKNLO.js} +1 -1
- package/lib/chunks/{4PT55VGO.js → LWB43R4X.js} +1 -1
- package/lib/chunks/{2WUJ57QA.js → NYFYWKQQ.js} +1 -1
- package/lib/chunks/{NGC5R7OH.js → OEBWRENF.js} +1 -1
- package/lib/chunks/{OOLLHPWT.js → OIVSGFXK.js} +1 -1
- package/lib/chunks/{MSRZMIR7.js → OKRLSOE5.js} +1 -1
- package/lib/chunks/{V4SBON7Y.js → RBHN62FF.js} +1 -1
- package/lib/chunks/RXUHCIFX.js +97 -0
- package/lib/chunks/{MXZKXUIJ.js → SKB7KFUK.js} +1 -1
- package/lib/chunks/{XOZ4UMDG.js → SXKUE52F.js} +1 -1
- package/lib/chunks/{NAGDQV7J.js → TVJE32GA.js} +1 -1
- package/lib/chunks/{X3MZMREJ.js → VRWULG7P.js} +1 -1
- package/lib/chunks/{XWZNQKXF.js → VZCENZBY.js} +1 -1
- package/lib/chunks/{73NWWLM3.js → WHTCOU4Z.js} +1 -1
- package/lib/chunks/{L4GUU6OS.js → WSOCDFHJ.js} +1 -1
- package/lib/chunks/{MONT6PMR.js → XMYTYWHZ.js} +1 -1
- package/lib/chunks/{46OWJR6X.js → Y2G2CYSF.js} +1 -1
- package/lib/chunks/{U6E22USS.js → Y4BUDNR4.js} +1 -1
- package/lib/chunks/{HMPJ7TN6.js → ZYLX724C.js} +1 -1
- package/lib/eject-assets/generators/cli/docs.ts +1 -1
- package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
- package/lib/eject-assets/generators/cli/index.ts +2 -2
- package/lib/eject-assets/generators/cli/render.ts +1 -1
- package/lib/eject-assets/generators/go/client.ts +1 -1
- package/lib/eject-assets/generators/go/descriptor.ts +1 -1
- package/lib/eject-assets/generators/go/index.ts +2 -2
- package/lib/eject-assets/generators/go/models.ts +1 -1
- package/lib/eject-assets/generators/go/naming.ts +1 -1
- package/lib/eject-assets/generators/go/operations.ts +1 -1
- package/lib/eject-assets/generators/go/pagination.ts +1 -1
- package/lib/eject-assets/generators/go/types.ts +1 -1
- package/lib/eject-assets/generators/mock/faker.ts +1 -1
- package/lib/eject-assets/generators/mock/index.ts +2 -2
- package/lib/eject-assets/generators/mock/render.ts +1 -1
- package/lib/eject-assets/generators/mock/sample.ts +1 -1
- package/lib/eject-assets/generators/mock/values.ts +1 -1
- package/lib/eject-assets/generators/php/client.ts +1 -1
- package/lib/eject-assets/generators/php/descriptor.ts +1 -1
- package/lib/eject-assets/generators/php/index.ts +2 -2
- package/lib/eject-assets/generators/php/models.ts +1 -1
- package/lib/eject-assets/generators/php/naming.ts +1 -1
- package/lib/eject-assets/generators/php/operations.ts +1 -1
- package/lib/eject-assets/generators/php/pagination.ts +1 -1
- package/lib/eject-assets/generators/php/types.ts +1 -1
- package/lib/eject-assets/generators/python/client.ts +1 -1
- package/lib/eject-assets/generators/python/descriptor.ts +1 -1
- package/lib/eject-assets/generators/python/index.ts +2 -2
- package/lib/eject-assets/generators/python/models.ts +1 -1
- package/lib/eject-assets/generators/python/naming.ts +1 -1
- package/lib/eject-assets/generators/python/operations.ts +1 -1
- package/lib/eject-assets/generators/python/pagination.ts +1 -1
- package/lib/eject-assets/generators/python/types.ts +1 -1
- package/lib/eject-assets/generators/swr/index.ts +2 -2
- package/lib/eject-assets/generators/swr/render.ts +1 -1
- package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
- package/lib/eject-assets/generators/tanstack-query/render.ts +1 -1
- package/lib/eject-assets/generators/transformers/index.ts +2 -2
- package/lib/eject-assets/generators/transformers/render.ts +1 -1
- package/lib/eject-assets/generators/typescript/banner.ts +1 -1
- package/lib/eject-assets/generators/typescript/client.ts +1 -1
- package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
- package/lib/eject-assets/generators/typescript/index.ts +2 -2
- package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
- package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
- package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
- package/lib/eject-assets/generators/typescript/operations.ts +1 -1
- package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
- package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
- package/lib/eject-assets/generators/typescript/types.ts +1 -1
- package/lib/eject-assets/generators/zod/index.ts +2 -2
- package/lib/eject-assets/generators/zod/schemas.ts +1 -1
- package/lib/index.js +8 -8
- package/package.json +1 -1
- package/lib/chunks/ESNPHQEK.js +0 -93
package/THIRD_PARTY_NOTICES
CHANGED
|
@@ -643,7 +643,7 @@ Packages:
|
|
|
643
643
|
@babel/runtime@7.27.1 — Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
644
644
|
@emotion/is-prop-valid@1.4.0 — Copyright (c) Emotion team and other contributors
|
|
645
645
|
@emotion/memoize@0.9.0 — Copyright (c) Emotion team and other contributors
|
|
646
|
-
@faker-js/faker@
|
|
646
|
+
@faker-js/faker@10.6.0 — Copyright (c) 2022-2025
|
|
647
647
|
@noble/hashes@1.8.0 — Copyright (c) 2022 Paul Miller (https://paulmillr.com)
|
|
648
648
|
@redocly/ajv@8.11.2 — Copyright (c) 2015-2021 Evgeny Poberezkin
|
|
649
649
|
@redocly/ajv@8.18.3 — Copyright (c) 2015-2021 Evgeny Poberezkin
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as S,b as d}from"./REFX2EKS.js";import{a as C}from"./UKSQ7B5H.js";import{b as H,c as D,d as G,e as K,f as J,g as z,h as Q}from"./NAGDQV7J.js";import"./4PT55VGO.js";import{a as j}from"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import{b as A,c as I,d as v,e as L,g as E,h as x,i as B,j as F,k as W,n as _}from"./HJYFWIVE.js";import"./RFWIIJFG.js";var c=new S,b=I.go;function V(e){if(e===void 0)return"client";if(!/^[a-z_][a-z0-9_]*$/.test(e)||b.has(e))throw new j(`goPackage "${e}" is not a valid Go package name: use lowercase letters, digits, and underscores, don't start with a digit, and avoid Go keywords.`);return e}function w(e){let t=new Set,n=[];for(let r of e.services)for(let o of r.operations){let a=d(o.name),i=2;for(;t.has(a);)a=`${d(o.name)}${i++}`;t.add(a),n.push({op:o,ident:a})}return n}function oe(e){return J(e).map(n=>n.kind==="literal"?c.string(n.value):v(n.name,{style:"camel",reserved:b})).join(" + ")}function X(e,t){let n=t.servers??[];if(n.length===0)return;let r=new Set;n.forEach((o,a)=>{let i=`${d(o.description??`server${a+1}`)}URL`;r.has(i)&&(i=`${i}${a+1}`),r.add(i);let s=o.variables.map(l=>`${v(l.name,{style:"camel",reserved:b})} string`),u=o.variables.map(l=>`${v(l.name,{style:"camel",reserved:b})} default: ${c.string(l.default)}`).join(", ");e.line(`// ${i} returns the ${c.string(o.description??o.url)} base URL${u===""?".":` (${u}).`}`),e.block(`func ${i}(${s.join(", ")}) string {`,()=>{e.line(`return ${oe(o)}`)},"}"),e.blank()})}function Y(e,t){let n=z(e,t).map(r=>r.map(o=>o.kind==="apiKey"?`{Scheme: ${c.string(o.scheme)}, Kind: "apiKey", Name: ${c.string(o.name)}, In: ${c.string(o.in)}}`:`{Scheme: ${c.string(o.scheme)}, Kind: ${c.string(o.kind)}}`));if(n.length!==0)return`[][]SecuritySpec{${n.map(r=>`{${r.join(", ")}}`).join(", ")}}`}function Z(e){return`&PaginationSpec{${[`Style: ${c.string(e.style)}`,...e.param!==void 0?[`Param: ${c.string(e.param)}`]:[],...e.nextCursor!==void 0?[`NextCursor: ${c.string(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`HasMore: ${c.string(e.hasMore)}`]:[],...e.limitParam!==void 0?[`LimitParam: ${c.string(e.limitParam)}`]:[],...e.items!==void 0?[`Items: ${c.string(e.items)}`]:[]].join(", ")}}`}function g(e,t="string"){if(B(e)){let n=g(F(e),t);return n.startsWith("*")||n==="any"?n:`*${n}`}switch(e.kind){case"scalar":if(t==="Date"&&e.scalar==="string"){if(e.metadata?.format==="date-time")return"time.Time";if(e.metadata?.format==="date")return"Date"}return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"array":return`[]${g(e.items,t)}`;case"record":return`map[string]${g(e.value,t)}`;case"ref":return d(e.name);case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float64";case"enum":return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"omit":return d(e.base);case"union":case"null":case"object":case"intersection":case"unknown":return"any"}}function ae(e,t,n,r,o){e.doc(d(t),o),e.block(`type ${d(t)} struct {`,()=>{for(let a of n){let i=d(a.name),s=g(a.schema,r),u=`\`json:"${a.name}"\``;a.required||(!s.startsWith("*")&&!s.startsWith("[]")&&!s.startsWith("map[")&&s!=="any"&&(s=`*${s}`),u=`\`json:"${a.name},omitempty"\``),e.line(`${i} ${s} ${u}`)}},"}"),e.blank()}function N(e,t="string"){let n=new S;n.line("package client"),n.blank(),e.schemas.some(({schema:a})=>x(a,e)!==void 0)&&(n.line('import "encoding/json"'),n.blank());let o=ie(e,t);return t==="Date"&&o.includes("time.Time")&&(n.line('import "time"'),n.blank()),n.line(o),n.toString()}function ie(e,t){let n=new S;for(let{name:r,schema:o}of e.schemas){let a=W(o);if(a!==void 0){let s=a.scalar==="string"?"string":"int64";n.doc(d(r),o.description),n.line(`type ${d(r)} ${s}`),n.blank(),n.block("const (",()=>{let u=new Set;a.values.forEach(l=>{let f=A.pascal(String(l))||"Value",m="";for(let k=2;u.has(f+m);k++)m=String(k);u.add(f+m);let h=d(r)+f+m;n.line(`${h} ${d(r)} = ${c.literal(l)}`)})},")"),n.blank();continue}if(o.kind==="object"||o.kind==="intersection"){let s=E(o,e);if(s!==void 0){ae(n,r,s.properties,t,s.description??o.description);continue}}let i=x(o,e);if(i!==void 0){let s=d(r),u=i.cases.map(l=>`${l.value} -> ${d(l.schemaName)}`).join(", ");n.line(`// ${s} is a discriminated union ("${i.property}"): ${u}.`),n.line(`type ${s} = any`),n.blank(),n.line(`// Unmarshal${s} decodes into the member selected by "${i.property}".`),n.block(`func Unmarshal${s}(data []byte) (${s}, error) {`,()=>{n.block("var probe struct {",()=>{n.line(`Discriminant string \`json:"${i.property}"\``)},"}"),n.block("if err := json.Unmarshal(data, &probe); err != nil {",()=>{n.line("return nil, err")},"}"),n.line("switch probe.Discriminant {");for(let l of i.cases)n.block(`case ${c.string(l.value)}:`,()=>{n.line(`var value ${d(l.schemaName)}`),n.line("err := json.Unmarshal(data, &value)"),n.line("return value, err")});n.line("}"),n.line("var fallback any"),n.line("err := json.Unmarshal(data, &fallback)"),n.line("return fallback, err")},"}"),n.blank();continue}n.doc(d(r),o.description),n.line(`type ${d(r)} = ${g(o,t)}`),n.blank()}return n.toString()}function R(e,t){if(t==="string")return e;let n=e.startsWith("*")?`(${e})`:e;return t==="time.Time"?`${n}.Format(time.RFC3339)`:t==="Date"?`${n}.Format("2006-01-02")`:t==="int64"?`strconv.FormatInt(${e}, 10)`:t==="float64"?`strconv.FormatFloat(${e}, 'f', -1, 64)`:t==="bool"?`strconv.FormatBool(${e})`:`fmt.Sprint(${e})`}var se=["c","ctx","body","params","out","op"];function T(e,t){let n=L(e.pathParams.map(r=>r.name),{style:"camel",reserved:b,taken:se});return e.pathParams.map((r,o)=>({param:r,go:n[o],type:g(r.schema,t)}))}function le(e,t){let n=new Set;return(e.successResponseHeaders??[]).map(r=>{let o=d(r.name),a=o,i=2;for(;n.has(a);)a=`${o}${i++}`;n.add(a);let s=_(r.schema,t),u={integer:{goType:"*int64",helper:"headerInt64"},number:{goType:"*float64",helper:"headerFloat64"},boolean:{goType:"*bool",helper:"headerBool"},string:{goType:"*string",helper:"headerString"}}[s];return{field:a,name:r.name,...u}})}function U(e,t,n,r,o,a=!1){let i=T(t,r),s=t.queryParams.length>0,u=D(t),l=u===void 0?void 0:g(u,r),f=a?le(t,o):[];a&&(e.line(`// ${n}Headers carries the declared response headers of ${n}WithHeaders (nil when absent or unparsable).`),e.block(`type ${n}Headers struct {`,()=>{for(let p of f)e.line(`${p.field} ${p.goType}`)},"}"),e.blank());let m=["ctx context.Context",...i.map(({go:p,type:P})=>`${p} ${P}`),...t.requestBody?[`body ${g(t.requestBody.schema,r)}`]:[],...s?[`params *${n}Params`]:[]],h=G(t),k=a?l===void 0?`(${n}Headers, error)`:`(${l}, ${n}Headers, error)`:h!==void 0?"func(yield func(ServerSentEvent, error) bool)":l===void 0?"error":`(${l}, error)`,$=p=>a?l===void 0?`return headers, ${p}`:`return out, headers, ${p}`:l===void 0?`return ${p}`:`return out, ${p}`,M=a?`${n}WithHeaders`:n;e.doc(M,a?`Like ${n}, also returning the declared response headers.`:t.summary),e.block(`func (c *Client) ${M}(${m.join(", ")}) ${k} {`,()=>{h===void 0&&l!==void 0&&e.line(`var out ${l}`),a&&e.line(`var headers ${n}Headers`),e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),s&&e.block("if params != nil {",()=>{for(let y of t.queryParams){let O=d(y.name);e.block(`if params.${O} != nil {`,()=>{if(y.schema.kind==="array"){let q=g(y.schema.items,r);e.block(`for _, item := range *params.${O} {`,()=>{e.line(`query.Add(${c.string(y.name)}, ${R("item",q)})`)},"}")}else e.line(`query.Set(${c.string(y.name)}, ${R(`*params.${O}`,g(y.schema,r))})`)},"}")}},"}");let p=i.map(({param:y,go:O,type:q})=>`${c.string(y.name)}: ${R(O,q)}`).join(", ");if(e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${p}})`),h!==void 0){e.block("open := func(extraHeaders map[string]string) (*http.Response, error) {",()=>{e.line("merged := map[string]string{}"),e.block("for key, value := range authHeaders {",()=>{e.line("merged[key] = value")},"}"),e.block("for key, value := range extraHeaders {",()=>{e.line("merged[key] = value")},"}"),e.line("return send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: merged, Query: query})")},"}"),e.line(`return iterSSE(open, ${h.schema!==void 0&&h.schema.kind!=="unknown"})`);return}let P=["OperationID: op.ID","Method: op.Method","URL: requestURL","Headers: authHeaders","Query: query"];if(t.requestBody&&K(t)?(e.line("contentType, reader, err := toMultipart(body)"),e.block("if err != nil {",()=>{e.line($("err"))},"}"),P.push("Body: reader"),P.push("ContentType: contentType")):t.requestBody&&(e.line("payload, err := json.Marshal(body)"),e.block("if err != nil {",()=>{e.line($("err"))},"}"),P.push("Body: bytes.NewReader(payload)"),P.push(`ContentType: ${c.string(t.requestBody.contentType)}`)),e.line(`resp, err := send(ctx, &c.config, requestSpec{${P.join(", ")}})`),e.block("if err != nil {",()=>{e.line($("err"))},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line($("apiErrorFrom(resp, requestURL)"))},"}"),a){e.block(`if err := decodeJSON(resp, ${l===void 0?"nil":"&out"}); err != nil {`,()=>{e.line($("err"))},"}");for(let y of f)e.line(`headers.${y.field} = ${y.helper}(resp.Header, ${c.string(y.name)})`);e.line(l===void 0?"return headers, nil":"return out, headers, nil")}else l===void 0?e.line("return decodeJSON(resp, nil)"):(e.block("if err := decodeJSON(resp, &out); err != nil {",()=>{e.line("return out, err")},"}"),e.line("return out, nil"))},"}"),e.blank()}function ee(e,t,n,r,o,a){let i=T(t,r),s=t.queryParams.length>0,u=["ctx context.Context",...i.map(({go:f,type:m})=>`${f} ${m}`),...s?[`params *${n}Params`]:[]].join(", "),l=()=>{e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("base := url.Values{}"),s&&e.block("if params != nil {",()=>{for(let f of t.queryParams){let m=d(f.name);e.block(`if params.${m} != nil {`,()=>{e.line(`base.Set(${c.string(f.name)}, ${R(`*params.${m}`,g(f.schema,r))})`)},"}")}},"}"),e.block("call := func(pageParams url.Values) (any, *http.Response, error) {",()=>{e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),e.block("for key, values := range pageParams {",()=>{e.block("for _, value := range values {",()=>{e.line("query.Set(key, value)")},"}")},"}");let f=i.map(({param:m,go:h,type:k})=>`${c.string(m.name)}: ${R(h,k)}`).join(", ");e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${f}})`),e.line("resp, err := send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: authHeaders, Query: query})"),e.block("if err != nil {",()=>{e.line("return nil, nil, err")},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line("return nil, resp, apiErrorFrom(resp, requestURL)")},"}"),e.line("var raw any"),e.block("if err := decodeJSON(resp, &raw); err != nil {",()=>{e.line("return nil, resp, err")},"}"),e.line("return raw, resp, nil")},"}"),e.line("pages := iterPages(call, *op.Pagination, base)")};e.line(`// ${n}Pages iterates ${n} response pages; use with \`for page, err := range\`.`),e.block(`func (c *Client) ${n}Pages(${u}) func(yield func(${o}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${o}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.line(`var page ${o}`),e.block("if err == nil {",()=>{e.line("err = reencode(raw, &page)")},"}"),e.line("return yield(page, err)")},"})")},"}")},"}"),e.blank(),e.line(`// ${n}Items iterates the items of every ${n} page.`),e.block(`func (c *Client) ${n}Items(${u}) func(yield func(${a}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${a}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.block("if err != nil {",()=>{e.line(`var zero ${a}`),e.line("return yield(zero, err)")},"}"),e.line("pageItems, _ := resolvePointer(raw, op.Pagination.Items).([]any)"),e.block("for _, item := range pageItems {",()=>{e.line(`var typed ${a}`),e.block("if err := reencode(item, &typed); err != nil {",()=>{e.line("return yield(typed, err)")},"}"),e.block("if !yield(typed, nil) {",()=>{e.line("return false")},"}")},"}"),e.line("return true")},"})")},"}")},"}"),e.blank()}function ne(e){let t=e.split(`
|
|
7
|
+
import{a as S,b as d}from"./REFX2EKS.js";import{a as C}from"./UKSQ7B5H.js";import{b as H,c as D,d as G,e as K,f as J,g as z,h as Q}from"./TVJE32GA.js";import"./LWB43R4X.js";import{a as j}from"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import{b as A,c as I,d as v,e as L,g as E,h as x,i as B,j as F,k as W,n as _}from"./HJYFWIVE.js";import"./RFWIIJFG.js";var c=new S,b=I.go;function V(e){if(e===void 0)return"client";if(!/^[a-z_][a-z0-9_]*$/.test(e)||b.has(e))throw new j(`goPackage "${e}" is not a valid Go package name: use lowercase letters, digits, and underscores, don't start with a digit, and avoid Go keywords.`);return e}function w(e){let t=new Set,n=[];for(let r of e.services)for(let o of r.operations){let a=d(o.name),i=2;for(;t.has(a);)a=`${d(o.name)}${i++}`;t.add(a),n.push({op:o,ident:a})}return n}function oe(e){return J(e).map(n=>n.kind==="literal"?c.string(n.value):v(n.name,{style:"camel",reserved:b})).join(" + ")}function X(e,t){let n=t.servers??[];if(n.length===0)return;let r=new Set;n.forEach((o,a)=>{let i=`${d(o.description??`server${a+1}`)}URL`;r.has(i)&&(i=`${i}${a+1}`),r.add(i);let s=o.variables.map(l=>`${v(l.name,{style:"camel",reserved:b})} string`),u=o.variables.map(l=>`${v(l.name,{style:"camel",reserved:b})} default: ${c.string(l.default)}`).join(", ");e.line(`// ${i} returns the ${c.string(o.description??o.url)} base URL${u===""?".":` (${u}).`}`),e.block(`func ${i}(${s.join(", ")}) string {`,()=>{e.line(`return ${oe(o)}`)},"}"),e.blank()})}function Y(e,t){let n=z(e,t).map(r=>r.map(o=>o.kind==="apiKey"?`{Scheme: ${c.string(o.scheme)}, Kind: "apiKey", Name: ${c.string(o.name)}, In: ${c.string(o.in)}}`:`{Scheme: ${c.string(o.scheme)}, Kind: ${c.string(o.kind)}}`));if(n.length!==0)return`[][]SecuritySpec{${n.map(r=>`{${r.join(", ")}}`).join(", ")}}`}function Z(e){return`&PaginationSpec{${[`Style: ${c.string(e.style)}`,...e.param!==void 0?[`Param: ${c.string(e.param)}`]:[],...e.nextCursor!==void 0?[`NextCursor: ${c.string(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`HasMore: ${c.string(e.hasMore)}`]:[],...e.limitParam!==void 0?[`LimitParam: ${c.string(e.limitParam)}`]:[],...e.items!==void 0?[`Items: ${c.string(e.items)}`]:[]].join(", ")}}`}function g(e,t="string"){if(B(e)){let n=g(F(e),t);return n.startsWith("*")||n==="any"?n:`*${n}`}switch(e.kind){case"scalar":if(t==="Date"&&e.scalar==="string"){if(e.metadata?.format==="date-time")return"time.Time";if(e.metadata?.format==="date")return"Date"}return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"array":return`[]${g(e.items,t)}`;case"record":return`map[string]${g(e.value,t)}`;case"ref":return d(e.name);case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float64";case"enum":return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"omit":return d(e.base);case"union":case"null":case"object":case"intersection":case"unknown":return"any"}}function ae(e,t,n,r,o){e.doc(d(t),o),e.block(`type ${d(t)} struct {`,()=>{for(let a of n){let i=d(a.name),s=g(a.schema,r),u=`\`json:"${a.name}"\``;a.required||(!s.startsWith("*")&&!s.startsWith("[]")&&!s.startsWith("map[")&&s!=="any"&&(s=`*${s}`),u=`\`json:"${a.name},omitempty"\``),e.line(`${i} ${s} ${u}`)}},"}"),e.blank()}function N(e,t="string"){let n=new S;n.line("package client"),n.blank(),e.schemas.some(({schema:a})=>x(a,e)!==void 0)&&(n.line('import "encoding/json"'),n.blank());let o=ie(e,t);return t==="Date"&&o.includes("time.Time")&&(n.line('import "time"'),n.blank()),n.line(o),n.toString()}function ie(e,t){let n=new S;for(let{name:r,schema:o}of e.schemas){let a=W(o);if(a!==void 0){let s=a.scalar==="string"?"string":"int64";n.doc(d(r),o.description),n.line(`type ${d(r)} ${s}`),n.blank(),n.block("const (",()=>{let u=new Set;a.values.forEach(l=>{let f=A.pascal(String(l))||"Value",m="";for(let k=2;u.has(f+m);k++)m=String(k);u.add(f+m);let h=d(r)+f+m;n.line(`${h} ${d(r)} = ${c.literal(l)}`)})},")"),n.blank();continue}if(o.kind==="object"||o.kind==="intersection"){let s=E(o,e);if(s!==void 0){ae(n,r,s.properties,t,s.description??o.description);continue}}let i=x(o,e);if(i!==void 0){let s=d(r),u=i.cases.map(l=>`${l.value} -> ${d(l.schemaName)}`).join(", ");n.line(`// ${s} is a discriminated union ("${i.property}"): ${u}.`),n.line(`type ${s} = any`),n.blank(),n.line(`// Unmarshal${s} decodes into the member selected by "${i.property}".`),n.block(`func Unmarshal${s}(data []byte) (${s}, error) {`,()=>{n.block("var probe struct {",()=>{n.line(`Discriminant string \`json:"${i.property}"\``)},"}"),n.block("if err := json.Unmarshal(data, &probe); err != nil {",()=>{n.line("return nil, err")},"}"),n.line("switch probe.Discriminant {");for(let l of i.cases)n.block(`case ${c.string(l.value)}:`,()=>{n.line(`var value ${d(l.schemaName)}`),n.line("err := json.Unmarshal(data, &value)"),n.line("return value, err")});n.line("}"),n.line("var fallback any"),n.line("err := json.Unmarshal(data, &fallback)"),n.line("return fallback, err")},"}"),n.blank();continue}n.doc(d(r),o.description),n.line(`type ${d(r)} = ${g(o,t)}`),n.blank()}return n.toString()}function R(e,t){if(t==="string")return e;let n=e.startsWith("*")?`(${e})`:e;return t==="time.Time"?`${n}.Format(time.RFC3339)`:t==="Date"?`${n}.Format("2006-01-02")`:t==="int64"?`strconv.FormatInt(${e}, 10)`:t==="float64"?`strconv.FormatFloat(${e}, 'f', -1, 64)`:t==="bool"?`strconv.FormatBool(${e})`:`fmt.Sprint(${e})`}var se=["c","ctx","body","params","out","op"];function T(e,t){let n=L(e.pathParams.map(r=>r.name),{style:"camel",reserved:b,taken:se});return e.pathParams.map((r,o)=>({param:r,go:n[o],type:g(r.schema,t)}))}function le(e,t){let n=new Set;return(e.successResponseHeaders??[]).map(r=>{let o=d(r.name),a=o,i=2;for(;n.has(a);)a=`${o}${i++}`;n.add(a);let s=_(r.schema,t),u={integer:{goType:"*int64",helper:"headerInt64"},number:{goType:"*float64",helper:"headerFloat64"},boolean:{goType:"*bool",helper:"headerBool"},string:{goType:"*string",helper:"headerString"}}[s];return{field:a,name:r.name,...u}})}function U(e,t,n,r,o,a=!1){let i=T(t,r),s=t.queryParams.length>0,u=D(t),l=u===void 0?void 0:g(u,r),f=a?le(t,o):[];a&&(e.line(`// ${n}Headers carries the declared response headers of ${n}WithHeaders (nil when absent or unparsable).`),e.block(`type ${n}Headers struct {`,()=>{for(let p of f)e.line(`${p.field} ${p.goType}`)},"}"),e.blank());let m=["ctx context.Context",...i.map(({go:p,type:P})=>`${p} ${P}`),...t.requestBody?[`body ${g(t.requestBody.schema,r)}`]:[],...s?[`params *${n}Params`]:[]],h=G(t),k=a?l===void 0?`(${n}Headers, error)`:`(${l}, ${n}Headers, error)`:h!==void 0?"func(yield func(ServerSentEvent, error) bool)":l===void 0?"error":`(${l}, error)`,$=p=>a?l===void 0?`return headers, ${p}`:`return out, headers, ${p}`:l===void 0?`return ${p}`:`return out, ${p}`,M=a?`${n}WithHeaders`:n;e.doc(M,a?`Like ${n}, also returning the declared response headers.`:t.summary),e.block(`func (c *Client) ${M}(${m.join(", ")}) ${k} {`,()=>{h===void 0&&l!==void 0&&e.line(`var out ${l}`),a&&e.line(`var headers ${n}Headers`),e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),s&&e.block("if params != nil {",()=>{for(let y of t.queryParams){let O=d(y.name);e.block(`if params.${O} != nil {`,()=>{if(y.schema.kind==="array"){let q=g(y.schema.items,r);e.block(`for _, item := range *params.${O} {`,()=>{e.line(`query.Add(${c.string(y.name)}, ${R("item",q)})`)},"}")}else e.line(`query.Set(${c.string(y.name)}, ${R(`*params.${O}`,g(y.schema,r))})`)},"}")}},"}");let p=i.map(({param:y,go:O,type:q})=>`${c.string(y.name)}: ${R(O,q)}`).join(", ");if(e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${p}})`),h!==void 0){e.block("open := func(extraHeaders map[string]string) (*http.Response, error) {",()=>{e.line("merged := map[string]string{}"),e.block("for key, value := range authHeaders {",()=>{e.line("merged[key] = value")},"}"),e.block("for key, value := range extraHeaders {",()=>{e.line("merged[key] = value")},"}"),e.line("return send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: merged, Query: query})")},"}"),e.line(`return iterSSE(open, ${h.schema!==void 0&&h.schema.kind!=="unknown"})`);return}let P=["OperationID: op.ID","Method: op.Method","URL: requestURL","Headers: authHeaders","Query: query"];if(t.requestBody&&K(t)?(e.line("contentType, reader, err := toMultipart(body)"),e.block("if err != nil {",()=>{e.line($("err"))},"}"),P.push("Body: reader"),P.push("ContentType: contentType")):t.requestBody&&(e.line("payload, err := json.Marshal(body)"),e.block("if err != nil {",()=>{e.line($("err"))},"}"),P.push("Body: bytes.NewReader(payload)"),P.push(`ContentType: ${c.string(t.requestBody.contentType)}`)),e.line(`resp, err := send(ctx, &c.config, requestSpec{${P.join(", ")}})`),e.block("if err != nil {",()=>{e.line($("err"))},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line($("apiErrorFrom(resp, requestURL)"))},"}"),a){e.block(`if err := decodeJSON(resp, ${l===void 0?"nil":"&out"}); err != nil {`,()=>{e.line($("err"))},"}");for(let y of f)e.line(`headers.${y.field} = ${y.helper}(resp.Header, ${c.string(y.name)})`);e.line(l===void 0?"return headers, nil":"return out, headers, nil")}else l===void 0?e.line("return decodeJSON(resp, nil)"):(e.block("if err := decodeJSON(resp, &out); err != nil {",()=>{e.line("return out, err")},"}"),e.line("return out, nil"))},"}"),e.blank()}function ee(e,t,n,r,o,a){let i=T(t,r),s=t.queryParams.length>0,u=["ctx context.Context",...i.map(({go:f,type:m})=>`${f} ${m}`),...s?[`params *${n}Params`]:[]].join(", "),l=()=>{e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("base := url.Values{}"),s&&e.block("if params != nil {",()=>{for(let f of t.queryParams){let m=d(f.name);e.block(`if params.${m} != nil {`,()=>{e.line(`base.Set(${c.string(f.name)}, ${R(`*params.${m}`,g(f.schema,r))})`)},"}")}},"}"),e.block("call := func(pageParams url.Values) (any, *http.Response, error) {",()=>{e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),e.block("for key, values := range pageParams {",()=>{e.block("for _, value := range values {",()=>{e.line("query.Set(key, value)")},"}")},"}");let f=i.map(({param:m,go:h,type:k})=>`${c.string(m.name)}: ${R(h,k)}`).join(", ");e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${f}})`),e.line("resp, err := send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: authHeaders, Query: query})"),e.block("if err != nil {",()=>{e.line("return nil, nil, err")},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line("return nil, resp, apiErrorFrom(resp, requestURL)")},"}"),e.line("var raw any"),e.block("if err := decodeJSON(resp, &raw); err != nil {",()=>{e.line("return nil, resp, err")},"}"),e.line("return raw, resp, nil")},"}"),e.line("pages := iterPages(call, *op.Pagination, base)")};e.line(`// ${n}Pages iterates ${n} response pages; use with \`for page, err := range\`.`),e.block(`func (c *Client) ${n}Pages(${u}) func(yield func(${o}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${o}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.line(`var page ${o}`),e.block("if err == nil {",()=>{e.line("err = reencode(raw, &page)")},"}"),e.line("return yield(page, err)")},"})")},"}")},"}"),e.blank(),e.line(`// ${n}Items iterates the items of every ${n} page.`),e.block(`func (c *Client) ${n}Items(${u}) func(yield func(${a}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${a}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.block("if err != nil {",()=>{e.line(`var zero ${a}`),e.line("return yield(zero, err)")},"}"),e.line("pageItems, _ := resolvePointer(raw, op.Pagination.Items).([]any)"),e.block("for _, item := range pageItems {",()=>{e.line(`var typed ${a}`),e.block("if err := reencode(item, &typed); err != nil {",()=>{e.line("return yield(typed, err)")},"}"),e.block("if !yield(typed, nil) {",()=>{e.line("return false")},"}")},"}"),e.line("return true")},"})")},"}")},"}"),e.blank()}function ne(e){let t=e.split(`
|
|
8
8
|
`),n=[],r=!1;for(let o of t)if(!o.startsWith("package ")){if(o.startsWith("import (")){r=!0;continue}if(r){o.startsWith(")")&&(r=!1);continue}o.startsWith("import ")||n.push(o)}return n.join(`
|
|
9
9
|
`).trim()}var te=["bytes","context","encoding/base64","encoding/json","errors","fmt","io","math/rand","mime/multipart","net/http","net/url","strconv","strings","time"];function re(e,t,n,r,o,a){e.line(ne(N(t,r))),e.blank(),X(e,t),a&&(e.line("// \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator go runtime) \u2500\u2500\u2500"),e.line(ne(C)),e.blank()),e.block("type operationMeta struct {",()=>{e.line("ID string"),e.line("Method string"),e.line("Path string"),e.line("Security [][]SecuritySpec"),e.line("Pagination *PaginationSpec")},"}"),e.blank(),e.block("var operations = map[string]operationMeta{",()=>{for(let{op:i,ident:s}of w(t)){let u=i.specName??i.name,l=Y(i,t),f=o.get(s),m=[`ID: ${c.string(u)}`,`Method: ${c.string(i.method.toUpperCase())}`,`Path: ${c.string(i.path)}`,...l!==void 0?[`Security: ${l}`]:[],...f!==void 0?[`Pagination: ${Z(f)}`]:[]];e.line(`${c.string(u)}: {${m.join(", ")}},`)}},"}"),e.blank();for(let{op:i,ident:s}of w(t))i.queryParams.length!==0&&(e.block(`type ${s}Params struct {`,()=>{for(let u of i.queryParams){let l=g(u.schema,r);e.line(`${d(u.name)} ${l.startsWith("*")?l:`*${l}`}`)}},"}"),e.blank());e.doc("Client",`Client for ${t.title} (${t.version}).`),e.block("type Client struct {",()=>{e.line("config Config")},"}"),e.blank(),e.block("func New(config Config) *Client {",()=>{e.block('if config.ServerURL == "" {',()=>{e.line(`config.ServerURL = ${c.string(n.serverUrl??t.serverUrl??"")}`)},"}"),e.line("return &Client{config: config}")},"}"),e.blank();for(let{op:i,ident:s}of w(t)){U(e,i,s,r),G(i)===void 0&&(i.successResponseHeaders?.length??0)>0&&U(e,i,s,r,t,!0);let u=o.get(s);if(u===void 0)continue;let l=D(i),f=l===void 0?"any":g(l,r),m=Q(l,u.items,t);ee(e,i,s,r,f,m===void 0?"any":g(m,r))}}var ze=({model:e,output:t,banner:n,emit:r,pagination:o})=>{let a=new S,i=r.dateType??"string",s=V(r.goPackage),u=new Map;for(let{op:$,ident:M}of w(e)){let p=o?.get($.name)?.spec;p!==void 0&&u.set(M,p)}a.line(`// Code generated by @redocly/client-generator (go) from "${e.title}" ${e.version}. DO NOT EDIT.`),a.line("// Regenerate with `redocly generate-client`. Standard library only \u2014 zero dependencies."),a.line(`package ${s}`),a.blank();let l=r.runtime!=="module",f=l?te:(()=>{let $=new S;re($,e,r,i,u,!1);let M=$.toString();return te.filter(p=>new RegExp(`\\b${p.split("/").pop()}\\.`).test(M))})();a.block("import (",()=>{for(let $ of f)a.line(c.string($))},")"),a.blank(),re(a,e,r,i,u,l);let m={path:t.path.replace(/\.[^.\\/]+$/,".go"),content:a.toString()};if(l)return[m];let h=n.map($=>`// ${$}`).join(`
|
|
10
10
|
`),k=C.replace(/^package .*$/m,`package ${s}`);return[m,{path:m.path.replace(/[^\\/]+$/,"runtime.go"),content:`${h}
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{c as Wz,e as jz}from"./NSKVRJLY.js";import{b as g1}from"./CA4BPC77.js";import{a as nre,b as rre}from"./O6PRCLSV.js";import{a as tre}from"./RS5PUOTT.js";import{d as Uz,e as Hz}from"./
|
|
7
|
+
import{c as Wz,e as jz}from"./NSKVRJLY.js";import{b as g1}from"./CA4BPC77.js";import{a as nre,b as rre}from"./O6PRCLSV.js";import{a as tre}from"./RS5PUOTT.js";import{d as Uz,e as Hz}from"./CXRHOXPI.js";import"./32XCOMOR.js";import{V as zv,k as $ne,s as p1,v as zz,w as ere}from"./OZMIIHFH.js";import"./NEWT5A6S.js";import{a as Br,b as Bz,c as V,d as Zne,e as Bv,f as Jne}from"./RFWIIJFG.js";var Yz=V((Vz,Gz)=>{(function(){var e=function(t){var n=new e.Builder;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),n.searchPipeline.add(e.stemmer),t.call(n,n),n.build()};e.version="2.3.9";e.utils={},e.utils.warn=(function(t){return function(n){t.console&&console.warn&&console.warn(n)}})(this),e.utils.asString=function(t){return t==null?"":t.toString()},e.utils.clone=function(t){if(t==null)return t;for(var n=Object.create(null),r=Object.keys(t),i=0;i<r.length;i++){var o=r[i],s=t[o];if(Array.isArray(s)){n[o]=s.slice();continue}if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){n[o]=s;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},e.FieldRef=function(t,n,r){this.docRef=t,this.fieldName=n,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var n=t.indexOf(e.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=t.slice(0,n),i=t.slice(n+1);return new e.FieldRef(i,r,t)},e.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue};e.Set=function(t){if(this.elements=Object.create(null),t){this.length=t.length;for(var n=0;n<this.length;n++)this.elements[t[n]]=!0}else this.length=0},e.Set.complete={intersect:function(t){return t},union:function(){return this},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(t){return t},contains:function(){return!1}},e.Set.prototype.contains=function(t){return!!this.elements[t]},e.Set.prototype.intersect=function(t){var n,r,i,o=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;this.length<t.length?(n=this,r=t):(n=t,r=this),i=Object.keys(n.elements);for(var s=0;s<i.length;s++){var a=i[s];a in r.elements&&o.push(a)}return new e.Set(o)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(t,n){var r=0;for(var i in t)i!="_index"&&(r+=Object.keys(t[i]).length);var o=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(o))},e.Token=function(t,n){this.str=t||"",this.metadata=n||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(t){return this.str=t(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(n){return n},new e.Token(t(this.str,this.metadata),this.metadata)};e.tokenizer=function(t,n){if(t==null||t==null)return[];if(Array.isArray(t))return t.map(function(d){return new e.Token(e.utils.asString(d).toLowerCase(),e.utils.clone(n))});for(var r=t.toString().toLowerCase(),i=r.length,o=[],s=0,a=0;s<=i;s++){var l=r.charAt(s),c=s-a;if(l.match(e.tokenizer.separator)||s==i){if(c>0){var y=e.utils.clone(n)||{};y.position=[a,c],y.index=o.length,o.push(new e.Token(r.slice(a,s),y))}a=s+1}}return o},e.tokenizer.separator=/[\s\-]+/;e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var n=t.label&&t.label in this.registeredFunctions;n||e.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
8
8
|
`,t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(r){var i=e.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(n){e.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},e.Pipeline.prototype.remove=function(t){var n=this._stack.indexOf(t);n!=-1&&this._stack.splice(n,1)},e.Pipeline.prototype.run=function(t){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],o=[],s=0;s<t.length;s++){var a=i(t[s],s,t);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)o.push(a[l]);else o.push(a)}t=o}return t},e.Pipeline.prototype.runString=function(t,n){var r=new e.Token(t,n);return this.run([r]).map(function(i){return i.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})};e.Vector=function(t){this._magnitude=0,this.elements=t||[]},e.Vector.prototype.positionForIndex=function(t){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,o=Math.floor(i/2),s=this.elements[o*2];i>1&&(s<t&&(n=o),s>t&&(r=o),s!=t);)i=r-n,o=n+Math.floor(i/2),s=this.elements[o*2];if(s==t||s>t)return o*2;if(s<t)return(o+1)*2},e.Vector.prototype.insert=function(t,n){this.upsert(t,n,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(t,n,r){this._magnitude=0;var i=this.positionForIndex(t);this.elements[i]==t?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,t,n)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];t+=i*i}return this._magnitude=Math.sqrt(t)},e.Vector.prototype.dot=function(t){for(var n=0,r=this.elements,i=t.elements,o=r.length,s=i.length,a=0,l=0,c=0,y=0;c<o&&y<s;)a=r[c],l=i[y],a<l?c+=2:a>l?y+=2:a==l&&(n+=r[c+1]*i[y+1],c+=2,y+=2);return n},e.Vector.prototype.similarity=function(t){return this.dot(t)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var t=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)t[r]=this.elements[n];return t},e.Vector.prototype.toJSON=function(){return this.elements};e.stemmer=(function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",o=r+"[^aeiouy]*",s=i+"[aeiou]*",a="^("+o+")?"+s+o,l="^("+o+")?"+s+o+"("+s+")?$",c="^("+o+")?"+s+o+s+o,y="^("+o+")?"+i,d=new RegExp(a),v=new RegExp(c),x=new RegExp(l),T=new RegExp(y),O=/^(.+?)(ss|i)es$/,k=/^(.+?)([^s])s$/,R=/^(.+?)eed$/,N=/^(.+?)(ed|ing)$/,H=/.$/,z=/(at|bl|iz)$/,ee=new RegExp("([^aeiouylsz])\\1$"),j=new RegExp("^"+o+i+"[^aeiouwxy]$"),re=/^(.+?[^aeiou])y$/,U=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,ie=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,ne=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,ue=/^(.+?)(s|t)(ion)$/,he=/^(.+?)e$/,Y=/ll$/,le=new RegExp("^"+o+i+"[^aeiouwxy]$"),de=function(ce){var Te,pe,ke,oe,we,De,at;if(ce.length<3)return ce;if(ke=ce.substr(0,1),ke=="y"&&(ce=ke.toUpperCase()+ce.substr(1)),oe=O,we=k,oe.test(ce)?ce=ce.replace(oe,"$1$2"):we.test(ce)&&(ce=ce.replace(we,"$1$2")),oe=R,we=N,oe.test(ce)){var Ge=oe.exec(ce);oe=d,oe.test(Ge[1])&&(oe=H,ce=ce.replace(oe,""))}else if(we.test(ce)){var Ge=we.exec(ce);Te=Ge[1],we=T,we.test(Te)&&(ce=Te,we=z,De=ee,at=j,we.test(ce)?ce=ce+"e":De.test(ce)?(oe=H,ce=ce.replace(oe,"")):at.test(ce)&&(ce=ce+"e"))}if(oe=re,oe.test(ce)){var Ge=oe.exec(ce);Te=Ge[1],ce=Te+"i"}if(oe=U,oe.test(ce)){var Ge=oe.exec(ce);Te=Ge[1],pe=Ge[2],oe=d,oe.test(Te)&&(ce=Te+t[pe])}if(oe=ie,oe.test(ce)){var Ge=oe.exec(ce);Te=Ge[1],pe=Ge[2],oe=d,oe.test(Te)&&(ce=Te+n[pe])}if(oe=ne,we=ue,oe.test(ce)){var Ge=oe.exec(ce);Te=Ge[1],oe=v,oe.test(Te)&&(ce=Te)}else if(we.test(ce)){var Ge=we.exec(ce);Te=Ge[1]+Ge[2],we=v,we.test(Te)&&(ce=Te)}if(oe=he,oe.test(ce)){var Ge=oe.exec(ce);Te=Ge[1],oe=v,we=x,De=le,(oe.test(Te)||we.test(Te)&&!De.test(Te))&&(ce=Te)}return oe=Y,we=v,oe.test(ce)&&we.test(ce)&&(oe=H,ce=ce.replace(oe,"")),ke=="y"&&(ce=ke.toLowerCase()+ce.substr(1)),ce};return function(ve){return ve.update(de)}})(),e.Pipeline.registerFunction(e.stemmer,"stemmer");e.generateStopWordFilter=function(t){var n=t.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter");e.trimmer=function(t){return t.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer");e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var n=new e.TokenSet.Builder,r=0,i=t.length;r<i;r++)n.insert(t[r]);return n.finish(),n.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,n){for(var r=new e.TokenSet,i=[{node:r,editsRemaining:n,str:t}];i.length;){var o=i.pop();if(o.str.length>0){var s=o.str.charAt(0),a;s in o.node.edges?a=o.node.edges[s]:(a=new e.TokenSet,o.node.edges[s]=a),o.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(o.editsRemaining!=0){if("*"in o.node.edges)var l=o.node.edges["*"];else{var l=new e.TokenSet;o.node.edges["*"]=l}if(o.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&i.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),o.str.length==1&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var c=o.node.edges["*"];else{var c=new e.TokenSet;o.node.edges["*"]=c}o.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var y=o.str.charAt(0),d=o.str.charAt(1),v;d in o.node.edges?v=o.node.edges[d]:(v=new e.TokenSet,o.node.edges[d]=v),o.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:o.editsRemaining-1,str:y+o.str.slice(2)})}}}return r},e.TokenSet.fromString=function(t){for(var n=new e.TokenSet,r=n,i=0,o=t.length;i<o;i++){var s=t[i],a=i==o-1;if(s=="*")n.edges[s]=n,n.final=a;else{var l=new e.TokenSet;l.final=a,n.edges[s]=l,n=l}}return r},e.TokenSet.prototype.toArray=function(){for(var t=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),o=i.length;r.node.final&&(r.prefix.charAt(0),t.push(r.prefix));for(var s=0;s<o;s++){var a=i[s];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return t},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var t=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var o=n[i],s=this.edges[o];t=t+o+s.id}return t},e.TokenSet.prototype.intersect=function(t){for(var n=new e.TokenSet,r=void 0,i=[{qNode:t,output:n,node:this}];i.length;){r=i.pop();for(var o=Object.keys(r.qNode.edges),s=o.length,a=Object.keys(r.node.edges),l=a.length,c=0;c<s;c++)for(var y=o[c],d=0;d<l;d++){var v=a[d];if(v==y||y=="*"){var x=r.node.edges[v],T=r.qNode.edges[y],O=x.final&&T.final,k=void 0;v in r.output.edges?(k=r.output.edges[v],k.final=k.final||O):(k=new e.TokenSet,k.final=O,r.output.edges[v]=k),i.push({qNode:T,output:k,node:x})}}}return n},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var n,r=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<t.length&&i<this.previousWord.length&&t[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<t.length;i++){var o=new e.TokenSet,s=t[i];n.edges[s]=o,this.uncheckedNodes.push({parent:n,char:s,child:o}),n=o}n.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(t){for(var n=this.uncheckedNodes.length-1;n>=t;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};e.Index=function(t){this.invertedIndex=t.invertedIndex,this.fieldVectors=t.fieldVectors,this.tokenSet=t.tokenSet,this.fields=t.fields,this.pipeline=t.pipeline},e.Index.prototype.search=function(t){return this.query(function(n){var r=new e.QueryParser(t,n);r.parse()})},e.Index.prototype.query=function(t){for(var n=new e.Query(this.fields),r=Object.create(null),i=Object.create(null),o=Object.create(null),s=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new e.Vector;t.call(n,n);for(var l=0;l<n.clauses.length;l++){var c=n.clauses[l],y=null,d=e.Set.empty;c.usePipeline?y=this.pipeline.runString(c.term,{fields:c.fields}):y=[c.term];for(var v=0;v<y.length;v++){var x=y[v];c.term=x;var T=e.TokenSet.fromClause(c),O=this.tokenSet.intersect(T).toArray();if(O.length===0&&c.presence===e.Query.presence.REQUIRED){for(var k=0;k<c.fields.length;k++){var R=c.fields[k];s[R]=e.Set.empty}break}for(var N=0;N<O.length;N++)for(var H=O[N],z=this.invertedIndex[H],ee=z._index,k=0;k<c.fields.length;k++){var R=c.fields[k],j=z[R],re=Object.keys(j),U=H+"/"+R,ie=new e.Set(re);if(c.presence==e.Query.presence.REQUIRED&&(d=d.union(ie),s[R]===void 0&&(s[R]=e.Set.complete)),c.presence==e.Query.presence.PROHIBITED){a[R]===void 0&&(a[R]=e.Set.empty),a[R]=a[R].union(ie);continue}if(i[R].upsert(ee,c.boost,function(K,Le){return K+Le}),!o[U]){for(var ne=0;ne<re.length;ne++){var ue=re[ne],he=new e.FieldRef(ue,R),Y=j[ue],le;(le=r[he])===void 0?r[he]=new e.MatchData(H,R,Y):le.add(H,R,Y)}o[U]=!0}}}if(c.presence===e.Query.presence.REQUIRED)for(var k=0;k<c.fields.length;k++){var R=c.fields[k];s[R]=s[R].intersect(d)}}for(var de=e.Set.complete,ve=e.Set.empty,l=0;l<this.fields.length;l++){var R=this.fields[l];s[R]&&(de=de.intersect(s[R])),a[R]&&(ve=ve.union(a[R]))}var ce=Object.keys(r),Te=[],pe=Object.create(null);if(n.isNegated()){ce=Object.keys(this.fieldVectors);for(var l=0;l<ce.length;l++){var he=ce[l],ke=e.FieldRef.fromString(he);r[he]=new e.MatchData}}for(var l=0;l<ce.length;l++){var ke=e.FieldRef.fromString(ce[l]),oe=ke.docRef;if(de.contains(oe)&&!ve.contains(oe)){var we=this.fieldVectors[ke],De=i[ke.fieldName].similarity(we),at;if((at=pe[oe])!==void 0)at.score+=De,at.matchData.combine(r[ke]);else{var Ge={ref:oe,score:De,matchData:r[ke]};pe[oe]=Ge,Te.push(Ge)}}}return Te.sort(function(xe,Be){return Be.score-xe.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:n,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var n={},r={},i=t.fieldVectors,o=Object.create(null),s=t.invertedIndex,a=new e.TokenSet.Builder,l=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var c=0;c<i.length;c++){var y=i[c],d=y[0],v=y[1];r[d]=new e.Vector(v)}for(var c=0;c<s.length;c++){var y=s[c],x=y[0],T=y[1];a.insert(x),o[x]=T}return a.finish(),n.fields=t.fields,n.fieldVectors=r,n.invertedIndex=o,n.tokenSet=a.root,n.pipeline=l,new e.Index(n)};e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(t){this._ref=t},e.Builder.prototype.field=function(t,n){if(/\//.test(t))throw new RangeError("Field '"+t+"' contains illegal character '/'");this._fields[t]=n||{}},e.Builder.prototype.b=function(t){t<0?this._b=0:t>1?this._b=1:this._b=t},e.Builder.prototype.k1=function(t){this._k1=t},e.Builder.prototype.add=function(t,n){var r=t[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var o=0;o<i.length;o++){var s=i[o],a=this._fields[s].extractor,l=a?a(t):t[s],c=this.tokenizer(l,{fields:[s]}),y=this.pipeline.run(c),d=new e.FieldRef(r,s),v=Object.create(null);this.fieldTermFrequencies[d]=v,this.fieldLengths[d]=0,this.fieldLengths[d]+=y.length;for(var x=0;x<y.length;x++){var T=y[x];if(v[T]==null&&(v[T]=0),v[T]+=1,this.invertedIndex[T]==null){var O=Object.create(null);O._index=this.termIndex,this.termIndex+=1;for(var k=0;k<i.length;k++)O[i[k]]=Object.create(null);this.invertedIndex[T]=O}this.invertedIndex[T][s][r]==null&&(this.invertedIndex[T][s][r]=Object.create(null));for(var R=0;R<this.metadataWhitelist.length;R++){var N=this.metadataWhitelist[R],H=T.metadata[N];this.invertedIndex[T][s][r][N]==null&&(this.invertedIndex[T][s][r][N]=[]),this.invertedIndex[T][s][r][N].push(H)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),n=t.length,r={},i={},o=0;o<n;o++){var s=e.FieldRef.fromString(t[o]),a=s.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[s]}for(var l=Object.keys(this._fields),o=0;o<l.length;o++){var c=l[o];r[c]=r[c]/i[c]}this.averageFieldLength=r},e.Builder.prototype.createFieldVectors=function(){for(var t={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),o=0;o<r;o++){for(var s=e.FieldRef.fromString(n[o]),a=s.fieldName,l=this.fieldLengths[s],c=new e.Vector,y=this.fieldTermFrequencies[s],d=Object.keys(y),v=d.length,x=this._fields[a].boost||1,T=this._documents[s.docRef].boost||1,O=0;O<v;O++){var k=d[O],R=y[k],N=this.invertedIndex[k]._index,H,z,ee;i[k]===void 0?(H=e.idf(this.invertedIndex[k],this.documentCount),i[k]=H):H=i[k],z=H*((this._k1+1)*R)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+R),z*=x,z*=T,ee=Math.round(z*1e3)/1e3,c.insert(N,ee)}t[s]=c}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(t){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),t.apply(this,n)},e.MatchData=function(t,n,r){for(var i=Object.create(null),o=Object.keys(r||{}),s=0;s<o.length;s++){var a=o[s];i[a]=r[a].slice()}this.metadata=Object.create(null),t!==void 0&&(this.metadata[t]=Object.create(null),this.metadata[t][n]=i)},e.MatchData.prototype.combine=function(t){for(var n=Object.keys(t.metadata),r=0;r<n.length;r++){var i=n[r],o=Object.keys(t.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var s=0;s<o.length;s++){var a=o[s],l=Object.keys(t.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var c=0;c<l.length;c++){var y=l[c];this.metadata[i][a][y]==null?this.metadata[i][a][y]=t.metadata[i][a][y]:this.metadata[i][a][y]=this.metadata[i][a][y].concat(t.metadata[i][a][y])}}}},e.MatchData.prototype.add=function(t,n,r){if(!(t in this.metadata)){this.metadata[t]=Object.create(null),this.metadata[t][n]=r;return}if(!(n in this.metadata[t])){this.metadata[t][n]=r;return}for(var i=Object.keys(r),o=0;o<i.length;o++){var s=i[o];s in this.metadata[t][n]?this.metadata[t][n][s]=this.metadata[t][n][s].concat(r[s]):this.metadata[t][n][s]=r[s]}},e.Query=function(t){this.clauses=[],this.allFields=t},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=""+t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,n){if(Array.isArray(t))return t.forEach(function(i){this.term(i,e.utils.clone(n))},this),this;var r=n||{};return r.term=t.toString(),this.clause(r),this},e.QueryParseError=function(t,n,r){this.name="QueryParseError",this.message=t,this.start=n,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(t){this.lexemes=[],this.str=t,this.length=t.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var t=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],t.push(this.str.slice(n,r)),n=r+1;return t.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,t.join("")},e.QueryLexer.prototype.emit=function(t){this.lexemes.push({type:t,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,n;do t=this.next(),n=t.charCodeAt(0);while(n>47&&n<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(t.width()>1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var n=t.next();if(n==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){t.escapeCharacter();continue}if(n==":")return e.QueryLexer.lexField;if(n=="~")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if(n=="^")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if(n=="+"&&t.width()===1||n=="-"&&t.width()===1)return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(n.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}},e.QueryParser=function(t,n){this.lexer=new e.QueryLexer(t),this.query=n,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var t=this.peekLexeme();return this.lexemeIdx+=1,t},e.QueryParser.prototype.nextClause=function(){var t=this.currentClause;this.query.clause(t),this.currentClause={}},e.QueryParser.parseClause=function(t){var n=t.peekLexeme();if(n!=null)switch(n.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new e.QueryParseError(r,n.start,n.end)}},e.QueryParser.parsePresence=function(t){var n=t.consumeLexeme();if(n!=null){switch(n.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new e.QueryParseError(r,n.start,n.end)}var i=t.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new e.QueryParseError(r,n.start,n.end)}switch(i.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new e.QueryParseError(r,i.start,i.end)}}},e.QueryParser.parseField=function(t){var n=t.consumeLexeme();if(n!=null){if(t.query.allFields.indexOf(n.str)==-1){var r=t.query.allFields.map(function(s){return"'"+s+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.fields=[n.str];var o=t.peekLexeme();if(o==null){var i="expecting term, found nothing";throw new e.QueryParseError(i,n.start,n.end)}if(o.type===e.QueryLexer.TERM)return e.QueryParser.parseTerm;var i="expecting term, found '"+o.type+"'";throw new e.QueryParseError(i,o.start,o.end)}},e.QueryParser.parseTerm=function(t){var n=t.consumeLexeme();if(n!=null){t.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var r=t.peekLexeme();if(r==null){t.nextClause();return}switch(r.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new e.QueryParseError(i,r.start,r.end)}}},e.QueryParser.parseEditDistance=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.editDistance=r;var o=t.peekLexeme();if(o==null){t.nextClause();return}switch(o.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+o.type+"'";throw new e.QueryParseError(i,o.start,o.end)}}},e.QueryParser.parseBoost=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.boost=r;var o=t.peekLexeme();if(o==null){t.nextClause();return}switch(o.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+o.type+"'";throw new e.QueryParseError(i,o.start,o.end)}}},(function(t,n){typeof define=="function"&&define.amd?define(n):typeof Vz=="object"?Gz.exports=n():t.lunr=n()})(this,function(){return e})})()});var qz=V((ZFe,Xz)=>{"use strict";function ire(){return typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:typeof setImmediate=="function"?setImmediate:function(t){setTimeout(t,0)}}Xz.exports=ire()});var Zz=V((JFe,Kz)=>{"use strict";var Qz=qz();Kz.exports=function(t,n){if(t){n.then(function(r){Qz(function(){t(null,r)})},function(r){Qz(function(){t(r)})});return}else return n}});var r5=V(($Fe,n5)=>{n5.exports=kS;kS.default=kS;kS.stable=e5;kS.stableStringify=e5;var m1="[...]",Jz="[Circular]",Py=[],Cy=[];function $z(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function kS(e,t,n,r){typeof r>"u"&&(r=$z()),VA(e,"",0,[],void 0,0,r);var i;try{Cy.length===0?i=JSON.stringify(e,t,n):i=JSON.stringify(e,t5(t),n)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Py.length!==0;){var o=Py.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function Uv(e,t,n,r){var i=Object.getOwnPropertyDescriptor(r,n);i.get!==void 0?i.configurable?(Object.defineProperty(r,n,{value:e}),Py.push([r,n,t,i])):Cy.push([t,n,e]):(r[n]=e,Py.push([r,n,t]))}function VA(e,t,n,r,i,o,s){o+=1;var a;if(typeof e=="object"&&e!==null){for(a=0;a<r.length;a++)if(r[a]===e){Uv(Jz,e,t,i);return}if(typeof s.depthLimit<"u"&&o>s.depthLimit){Uv(m1,e,t,i);return}if(typeof s.edgesLimit<"u"&&n+1>s.edgesLimit){Uv(m1,e,t,i);return}if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)VA(e[a],a,a,r,e,o,s);else{var l=Object.keys(e);for(a=0;a<l.length;a++){var c=l[a];VA(e[c],c,a,r,e,o,s)}}r.pop()}}function ore(e,t){return e<t?-1:e>t?1:0}function e5(e,t,n,r){typeof r>"u"&&(r=$z());var i=GA(e,"",0,[],void 0,0,r)||e,o;try{Cy.length===0?o=JSON.stringify(i,t,n):o=JSON.stringify(i,t5(t),n)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Py.length!==0;){var s=Py.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return o}function GA(e,t,n,r,i,o,s){o+=1;var a;if(typeof e=="object"&&e!==null){for(a=0;a<r.length;a++)if(r[a]===e){Uv(Jz,e,t,i);return}try{if(typeof e.toJSON=="function")return}catch{return}if(typeof s.depthLimit<"u"&&o>s.depthLimit){Uv(m1,e,t,i);return}if(typeof s.edgesLimit<"u"&&n+1>s.edgesLimit){Uv(m1,e,t,i);return}if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)GA(e[a],a,a,r,e,o,s);else{var l={},c=Object.keys(e).sort(ore);for(a=0;a<c.length;a++){var y=c[a];GA(e[y],y,a,r,e,o,s),l[y]=e[y]}if(typeof i<"u")Py.push([i,t,e]),i[t]=l;else return l}r.pop()}}function t5(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(Cy.length>0)for(var r=0;r<Cy.length;r++){var i=Cy[r];if(i[1]===t&&i[0]===n){n=i[2],Cy.splice(r,1);break}}return e.call(this,t,n)}}});var o5=V((e3e,i5)=>{i5.exports=(function(e,t){e||(e=document),t||(t=window);var n=[],r,i=!1,o=e.documentElement,s=function(){},a,l="hidden",c="visibilitychange";e.webkitHidden!==void 0&&(l="webkitHidden",c="webkitvisibilitychange"),t.getComputedStyle||x();for(var y=["","-webkit-","-moz-","-ms-"],d=document.createElement("div"),v=y.length-1;v>=0;v--){try{d.style.position=y[v]+"sticky"}catch{}d.style.position!=""&&x()}k();function x(){pe=at=ke=oe=we=De=s}function T(xe,Be){for(key in Be)Be.hasOwnProperty(key)&&(xe[key]=Be[key])}function O(xe){return parseFloat(xe)||0}function k(){r={top:t.pageYOffset,left:t.pageXOffset}}function R(){if(t.pageXOffset!=r.left){k(),ke();return}t.pageYOffset!=r.top&&(k(),H())}function N(xe){setTimeout(function(){t.pageYOffset!=r.top&&(r.top=t.pageYOffset,H())},0)}function H(){for(var xe=n.length-1;xe>=0;xe--)z(n[xe])}function z(xe){if(xe.inited){var Be=r.top<=xe.limit.start?0:r.top>=xe.limit.end?2:1;xe.mode!=Be&&ne(xe,Be)}}function ee(){for(var xe=n.length-1;xe>=0;xe--)if(n[xe].inited){var Be=Math.abs(le(n[xe].clone)-n[xe].docOffsetTop),L=Math.abs(n[xe].parent.node.offsetHeight-n[xe].parent.height);if(Be>=2||L>=2)return!1}return!0}function j(xe){isNaN(parseFloat(xe.computed.top))||xe.isCell||(xe.inited=!0,xe.clone||ue(xe),xe.parent.computed.position!="absolute"&&xe.parent.computed.position!="relative"&&(xe.parent.node.style.position="relative"),z(xe),xe.parent.height=xe.parent.node.offsetHeight,xe.docOffsetTop=le(xe.clone))}function re(xe){var Be=!0;xe.clone&&he(xe),T(xe.node.style,xe.css);for(var L=n.length-1;L>=0;L--)if(n[L].node!==xe.node&&n[L].parent.node===xe.parent.node){Be=!1;break}Be&&(xe.parent.node.style.position=xe.parent.css.position),xe.mode=-1}function U(){for(var xe=n.length-1;xe>=0;xe--)j(n[xe])}function ie(){for(var xe=n.length-1;xe>=0;xe--)re(n[xe])}function ne(xe,Be){var L=xe.node.style;switch(Be){case 0:L.position="absolute",L.left=xe.offset.left+"px",L.right=xe.offset.right+"px",L.top=xe.offset.top+"px",L.bottom="auto",L.width="auto",L.marginLeft=0,L.marginRight=0,L.marginTop=0;break;case 1:L.position="fixed",L.left=xe.box.left+"px",L.right=xe.box.right+"px",L.top=xe.css.top,L.bottom="auto",L.width="auto",L.marginLeft=0,L.marginRight=0,L.marginTop=0;break;case 2:L.position="absolute",L.left=xe.offset.left+"px",L.right=xe.offset.right+"px",L.top="auto",L.bottom=0,L.width="auto",L.marginLeft=0,L.marginRight=0;break}xe.mode=Be}function ue(xe){xe.clone=document.createElement("div");var Be=xe.node.nextSibling||xe.node,L=xe.clone.style;L.height=xe.height+"px",L.width=xe.width+"px",L.marginTop=xe.computed.marginTop,L.marginBottom=xe.computed.marginBottom,L.marginLeft=xe.computed.marginLeft,L.marginRight=xe.computed.marginRight,L.padding=L.border=L.borderSpacing=0,L.fontSize="1em",L.position="static",L.cssFloat=xe.computed.cssFloat,xe.node.parentNode.insertBefore(xe.clone,Be)}function he(xe){xe.clone.parentNode.removeChild(xe.clone),xe.clone=void 0}function Y(xe){var Be=getComputedStyle(xe),L=xe.parentNode,K=getComputedStyle(L),Le=xe.style.position;xe.style.position="relative";var $e={top:Be.top,marginTop:Be.marginTop,marginBottom:Be.marginBottom,marginLeft:Be.marginLeft,marginRight:Be.marginRight,cssFloat:Be.cssFloat},Oe={top:O(Be.top),marginBottom:O(Be.marginBottom),paddingLeft:O(Be.paddingLeft),paddingRight:O(Be.paddingRight),borderLeftWidth:O(Be.borderLeftWidth),borderRightWidth:O(Be.borderRightWidth)};xe.style.position=Le;var te={position:xe.style.position,top:xe.style.top,bottom:xe.style.bottom,left:xe.style.left,right:xe.style.right,width:xe.style.width,marginTop:xe.style.marginTop,marginLeft:xe.style.marginLeft,marginRight:xe.style.marginRight},q=de(xe),Ie=de(L),Ee={node:L,css:{position:L.style.position},computed:{position:K.position},numeric:{borderLeftWidth:O(K.borderLeftWidth),borderRightWidth:O(K.borderRightWidth),borderTopWidth:O(K.borderTopWidth),borderBottomWidth:O(K.borderBottomWidth)}},nt={node:xe,box:{left:q.win.left,right:o.clientWidth-q.win.right},offset:{top:q.win.top-Ie.win.top-Ee.numeric.borderTopWidth,left:q.win.left-Ie.win.left-Ee.numeric.borderLeftWidth,right:-q.win.right+Ie.win.right-Ee.numeric.borderRightWidth},css:te,isCell:Be.display=="table-cell",computed:$e,numeric:Oe,width:q.win.right-q.win.left,height:q.win.bottom-q.win.top,mode:-1,inited:!1,parent:Ee,limit:{start:q.doc.top-Oe.top,end:Ie.doc.top+L.offsetHeight-Ee.numeric.borderBottomWidth-xe.offsetHeight-Oe.top-Oe.marginBottom}};return nt}function le(xe){for(var Be=0;xe;)Be+=xe.offsetTop,xe=xe.offsetParent;return Be}function de(xe){var Be=xe.getBoundingClientRect();return{doc:{top:Be.top+t.pageYOffset,left:Be.left+t.pageXOffset},win:Be}}function ve(){a=setInterval(function(){!ee()&&ke()},500)}function ce(){clearInterval(a)}function Te(){i&&(document[l]?ce():ve())}function pe(){i||(k(),U(),t.addEventListener("scroll",R),t.addEventListener("wheel",N),t.addEventListener("resize",ke),t.addEventListener("orientationchange",ke),e.addEventListener(c,Te),ve(),i=!0)}function ke(){if(i){ie();for(var xe=n.length-1;xe>=0;xe--)n[xe]=Y(n[xe].node);U()}}function oe(){t.removeEventListener("scroll",R),t.removeEventListener("wheel",N),t.removeEventListener("resize",ke),t.removeEventListener("orientationchange",ke),e.removeEventListener(c,Te),ce(),i=!1}function we(){oe(),ie()}function De(){for(we();n.length;)n.pop()}function at(xe){for(var Be=n.length-1;Be>=0;Be--)if(n[Be].node===xe)return;var L=Y(xe);n.push(L),i?j(L):pe()}function Ge(xe){for(var Be=n.length-1;Be>=0;Be--)n[Be].node===xe&&(re(n[Be]),n.splice(Be,1))}return{stickies:n,add:at,remove:Ge,init:pe,rebuild:ke,pause:oe,stop:we,kill:De}})});var nr=V(sa=>{"use strict";var YA=Symbol.for("yaml.alias"),s5=Symbol.for("yaml.document"),y1=Symbol.for("yaml.map"),a5=Symbol.for("yaml.pair"),XA=Symbol.for("yaml.scalar"),b1=Symbol.for("yaml.seq"),ep=Symbol.for("yaml.node.type"),sre=e=>!!e&&typeof e=="object"&&e[ep]===YA,are=e=>!!e&&typeof e=="object"&&e[ep]===s5,lre=e=>!!e&&typeof e=="object"&&e[ep]===y1,cre=e=>!!e&&typeof e=="object"&&e[ep]===a5,l5=e=>!!e&&typeof e=="object"&&e[ep]===XA,ure=e=>!!e&&typeof e=="object"&&e[ep]===b1;function c5(e){if(e&&typeof e=="object")switch(e[ep]){case y1:case b1:return!0}return!1}function fre(e){if(e&&typeof e=="object")switch(e[ep]){case YA:case y1:case XA:case b1:return!0}return!1}var dre=e=>(l5(e)||c5(e))&&!!e.anchor;sa.ALIAS=YA;sa.DOC=s5;sa.MAP=y1;sa.NODE_TYPE=ep;sa.PAIR=a5;sa.SCALAR=XA;sa.SEQ=b1;sa.hasAnchor=dre;sa.isAlias=sre;sa.isCollection=c5;sa.isDocument=are;sa.isMap=lre;sa.isNode=fre;sa.isPair=cre;sa.isScalar=l5;sa.isSeq=ure});var CS=V(qA=>{"use strict";var Es=nr(),dc=Symbol("break visit"),u5=Symbol("skip children"),Wd=Symbol("remove node");function v1(e,t){let n=f5(t);Es.isDocument(e)?Hv(null,e.contents,n,Object.freeze([e]))===Wd&&(e.contents=null):Hv(null,e,n,Object.freeze([]))}v1.BREAK=dc;v1.SKIP=u5;v1.REMOVE=Wd;function Hv(e,t,n,r){let i=d5(e,t,n,r);if(Es.isNode(i)||Es.isPair(i))return h5(e,r,i),Hv(e,i,n,r);if(typeof i!="symbol"){if(Es.isCollection(t)){r=Object.freeze(r.concat(t));for(let o=0;o<t.items.length;++o){let s=Hv(o,t.items[o],n,r);if(typeof s=="number")o=s-1;else{if(s===dc)return dc;s===Wd&&(t.items.splice(o,1),o-=1)}}}else if(Es.isPair(t)){r=Object.freeze(r.concat(t));let o=Hv("key",t.key,n,r);if(o===dc)return dc;o===Wd&&(t.key=null);let s=Hv("value",t.value,n,r);if(s===dc)return dc;s===Wd&&(t.value=null)}}return i}async function w1(e,t){let n=f5(t);Es.isDocument(e)?await Wv(null,e.contents,n,Object.freeze([e]))===Wd&&(e.contents=null):await Wv(null,e,n,Object.freeze([]))}w1.BREAK=dc;w1.SKIP=u5;w1.REMOVE=Wd;async function Wv(e,t,n,r){let i=await d5(e,t,n,r);if(Es.isNode(i)||Es.isPair(i))return h5(e,r,i),Wv(e,i,n,r);if(typeof i!="symbol"){if(Es.isCollection(t)){r=Object.freeze(r.concat(t));for(let o=0;o<t.items.length;++o){let s=await Wv(o,t.items[o],n,r);if(typeof s=="number")o=s-1;else{if(s===dc)return dc;s===Wd&&(t.items.splice(o,1),o-=1)}}}else if(Es.isPair(t)){r=Object.freeze(r.concat(t));let o=await Wv("key",t.key,n,r);if(o===dc)return dc;o===Wd&&(t.key=null);let s=await Wv("value",t.value,n,r);if(s===dc)return dc;s===Wd&&(t.value=null)}}return i}function f5(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function d5(e,t,n,r){if(typeof n=="function")return n(e,t,r);if(Es.isMap(t))return n.Map?.(e,t,r);if(Es.isSeq(t))return n.Seq?.(e,t,r);if(Es.isPair(t))return n.Pair?.(e,t,r);if(Es.isScalar(t))return n.Scalar?.(e,t,r);if(Es.isAlias(t))return n.Alias?.(e,t,r)}function h5(e,t,n){let r=t[t.length-1];if(Es.isCollection(r))r.items[e]=n;else if(Es.isPair(r))e==="key"?r.key=n:r.value=n;else if(Es.isDocument(r))r.contents=n;else{let i=Es.isAlias(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}qA.visit=v1;qA.visitAsync=w1});var QA=V(g5=>{"use strict";var p5=nr(),hre=CS(),pre={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},gre=e=>e.replace(/[!,[\]{}]/g,t=>pre[t]),PS=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case"%TAG":{if(r.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[o,s]=r;return this.tags[o]=s,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[o]=r;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let s=/^\d+\.\d+$/.test(o);return n(6,`Unsupported YAML version ${o}`,s),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let s=t.slice(2,-1);return s==="!"||s==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),s)}let[,r,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);let o=this.tags[r];if(o)try{return o+decodeURIComponent(i)}catch(s){return n(String(s)),null}return r==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[n,r]of Object.entries(this.tags))if(t.startsWith(r))return n+gre(t.substring(r.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),i;if(t&&r.length>0&&p5.isNode(t.contents)){let o={};hre.visit(t.contents,(s,a)=>{p5.isNode(a)&&a.tag&&(o[a.tag]=!0)}),i=Object.keys(o)}else i=[];for(let[o,s]of r)o==="!!"&&s==="tag:yaml.org,2002:"||(!t||i.some(a=>a.startsWith(s)))&&n.push(`%TAG ${o} ${s}`);return n.join(`
|
|
9
9
|
`)}};PS.defaultYaml={explicit:!1,version:"1.2"};PS.defaultTags={"!!":"tag:yaml.org,2002:"};g5.Directives=PS});var S1=V(AS=>{"use strict";var m5=nr(),mre=CS();function yre(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function y5(e){let t=new Set;return mre.visit(e,{Value(n,r){r.anchor&&t.add(r.anchor)}}),t}function b5(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function bre(e,t){let n=[],r=new Map,i=null;return{onAnchor:o=>{n.push(o),i??(i=y5(e));let s=b5(t,i);return i.add(s),s},setAnchors:()=>{for(let o of n){let s=r.get(o);if(typeof s=="object"&&s.anchor&&(m5.isScalar(s.node)||m5.isCollection(s.node)))s.node.anchor=s.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:r}}AS.anchorIsValid=yre;AS.anchorNames=y5;AS.createNodeAnchors=bre;AS.findNewAnchor=b5});var KA=V(v5=>{"use strict";function RS(e,t,n,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let i=0,o=r.length;i<o;++i){let s=r[i],a=RS(e,r,String(i),s);a===void 0?delete r[i]:a!==s&&(r[i]=a)}else if(r instanceof Map)for(let i of Array.from(r.keys())){let o=r.get(i),s=RS(e,r,i,o);s===void 0?r.delete(i):s!==o&&r.set(i,s)}else if(r instanceof Set)for(let i of Array.from(r)){let o=RS(e,r,i,i);o===void 0?r.delete(i):o!==i&&(r.delete(i),r.add(o))}else for(let[i,o]of Object.entries(r)){let s=RS(e,r,i,o);s===void 0?delete r[i]:s!==o&&(r[i]=s)}return e.call(t,n,r)}v5.applyReviver=RS});var Bg=V(S5=>{"use strict";var vre=nr();function w5(e,t,n){if(Array.isArray(e))return e.map((r,i)=>w5(r,String(i),n));if(e&&typeof e.toJSON=="function"){if(!n||!vre.hasAnchor(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=o=>{r.res=o,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e=="bigint"&&!n?.keep?Number(e):e}S5.toJS=w5});var x1=V(E5=>{"use strict";var wre=KA(),x5=nr(),Sre=Bg(),ZA=class{constructor(t){Object.defineProperty(this,x5.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:o}={}){if(!x5.isDocument(t))throw new TypeError("A document argument is required");let s={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=Sre.toJS(this,"",s);if(typeof i=="function")for(let{count:l,res:c}of s.anchors.values())i(c,l);return typeof o=="function"?wre.applyReviver(o,{"":a},"",a):a}};E5.NodeBase=ZA});var IS=V(_5=>{"use strict";var xre=S1(),Ere=CS(),jv=nr(),_re=x1(),Ore=Bg(),JA=class extends _re.NodeBase{constructor(t){super(jv.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){if(n?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let r;n?.aliasResolveCache?r=n.aliasResolveCache:(r=[],Ere.visit(t,{Node:(o,s)=>{(jv.isAlias(s)||jv.hasAnchor(s))&&r.push(s)}}),n&&(n.aliasResolveCache=r));let i;for(let o of r){if(o===this)break;o.anchor===this.source&&(i=o)}return i}toJSON(t,n){if(!n)return{source:this.source};let{anchors:r,doc:i,maxAliasCount:o}=n,s=this.resolve(i,n);if(!s){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=r.get(s);if(a||(Ore.toJS(s,null,n),a=r.get(s)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=E1(i,s,r)),a.count*a.aliasCount>o)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(t,n,r){let i=`*${this.source}`;if(t){if(xre.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${i} `}return i}};function E1(e,t,n){if(jv.isAlias(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(jv.isCollection(t)){let r=0;for(let i of t.items){let o=E1(e,i,n);o>r&&(r=o)}return r}else if(jv.isPair(t)){let r=E1(e,t.key,n),i=E1(e,t.value,n);return Math.max(r,i)}return 1}_5.Alias=JA});var os=V($A=>{"use strict";var Tre=nr(),kre=x1(),Cre=Bg(),Pre=e=>!e||typeof e!="function"&&typeof e!="object",zg=class extends kre.NodeBase{constructor(t){super(Tre.SCALAR),this.value=t}toJSON(t,n){return n?.keep?this.value:Cre.toJS(this.value,t,n)}toString(){return String(this.value)}};zg.BLOCK_FOLDED="BLOCK_FOLDED";zg.BLOCK_LITERAL="BLOCK_LITERAL";zg.PLAIN="PLAIN";zg.QUOTE_DOUBLE="QUOTE_DOUBLE";zg.QUOTE_SINGLE="QUOTE_SINGLE";$A.Scalar=zg;$A.isScalarValue=Pre});var MS=V(T5=>{"use strict";var Are=IS(),Ay=nr(),O5=os(),Rre="tag:yaml.org,2002:";function Ire(e,t,n){if(t){let r=n.filter(o=>o.tag===t),i=r.find(o=>!o.format)??r[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find(r=>r.identify?.(e)&&!r.format)}function Mre(e,t,n){if(Ay.isDocument(e)&&(e=e.contents),Ay.isNode(e))return e;if(Ay.isPair(e)){let d=n.schema[Ay.MAP].createNode?.(n.schema,null,n);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:o,schema:s,sourceObjects:a}=n,l;if(r&&e&&typeof e=="object"){if(l=a.get(e),l)return l.anchor??(l.anchor=i(e)),new Are.Alias(l.anchor);l={anchor:null,node:null},a.set(e,l)}t?.startsWith("!!")&&(t=Rre+t.slice(2));let c=Ire(e,t,s.tags);if(!c){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new O5.Scalar(e);return l&&(l.node=d),d}c=e instanceof Map?s[Ay.MAP]:Symbol.iterator in Object(e)?s[Ay.SEQ]:s[Ay.MAP]}o&&(o(c),delete n.onTagObj);let y=c?.createNode?c.createNode(n.schema,e,n):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(n.schema,e,n):new O5.Scalar(e);return t?y.tag=t:c.default||(y.tag=c.tag),l&&(l.node=y),y}T5.createNode=Mre});var O1=V(_1=>{"use strict";var Lre=MS(),jd=nr(),Nre=x1();function eR(e,t,n){let r=n;for(let i=t.length-1;i>=0;--i){let o=t[i];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let s=[];s[o]=r,r=s}else r=new Map([[o,r]])}return Lre.createNode(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var k5=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,tR=class extends Nre.NodeBase{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(r=>jd.isNode(r)||jd.isPair(r)?r.clone(t):r),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(k5(t))this.add(n);else{let[r,...i]=t,o=this.get(r,!0);if(jd.isCollection(o))o.addIn(i,n);else if(o===void 0&&this.schema)this.set(r,eR(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}deleteIn(t){let[n,...r]=t;if(r.length===0)return this.delete(n);let i=this.get(n,!0);if(jd.isCollection(i))return i.deleteIn(r);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}getIn(t,n){let[r,...i]=t,o=this.get(r,!0);return i.length===0?!n&&jd.isScalar(o)?o.value:o:jd.isCollection(o)?o.getIn(i,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!jd.isPair(n))return!1;let r=n.value;return r==null||t&&jd.isScalar(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(t){let[n,...r]=t;if(r.length===0)return this.has(n);let i=this.get(n,!0);return jd.isCollection(i)?i.hasIn(r):!1}setIn(t,n){let[r,...i]=t;if(i.length===0)this.set(r,n);else{let o=this.get(r,!0);if(jd.isCollection(o))o.setIn(i,n);else if(o===void 0&&this.schema)this.set(r,eR(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}};_1.Collection=tR;_1.collectionFromPath=eR;_1.isEmptyPath=k5});var LS=V(T1=>{"use strict";var Dre=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function nR(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Fre=(e,t,n)=>e.endsWith(`
|
|
10
10
|
`)?nR(n,t):n.includes(`
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as Me}from"./
|
|
7
|
+
import{a as Me}from"./WHTCOU4Z.js";import{d as Ke,e as Ue,f as Fe}from"./ECZA233J.js";import{c as Be,d as He,e as Ge}from"./5BMLOFU4.js";import{a as h}from"./WZXA5XPB.js";import{a as kn,b as Ce,c as Se,d as Ae}from"./4PIDMMUD.js";import{c as Ee,d as Te,e as qe}from"./Y4BUDNR4.js";import{a as $}from"./XMYTYWHZ.js";import{a as Pe,b as xn,c as On,d as Ie,e as $e,f as je}from"./67BLI5YQ.js";import{a as Ne}from"./Y2G2CYSF.js";import{a as De}from"./TSB6PODJ.js";import{a as Le}from"./KQJOSAUI.js";import"./SQVG3CEM.js";import"./REFX2EKS.js";import"./NSIQWNYL.js";import"./UKSQ7B5H.js";import"./NYFYWKQQ.js";import"./VZCENZBY.js";import"./TVJE32GA.js";import{g as Re}from"./LWB43R4X.js";import"./PFYPTG4G.js";import{C as we,H as ve,V as w,X as ke,aa as xe,c as O,ca as _,ja as Oe,q as R,s as be}from"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./NB54XRRU.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";function M(e){return{requires:["typescript"],errorModes:["throw"],load:()=>import("./LE7OKNLO.js").then(n=>({run:n.tanstackQueryGenerator(e)}))}}var z={outputMode:"it always emits one self-contained file",runtime:"the runtime is always embedded in the generated file",argsStyle:"inputs follow the target language's own idiom",importExt:"the generated file has no relative imports"},I={typescript:{load:()=>import("./RBHN62FF.js").then(e=>({run:e.typescriptGenerator,sample:e.typescriptSample,docs:e.typescriptDocs}))},zod:{load:()=>import("./OEBWRENF.js").then(e=>({run:e.zodGenerator}))},transformers:{requires:["typescript"],dateTypes:["Date"],load:()=>import("./NWMTC4AN.js").then(e=>({run:e.transformersGenerator}))},"tanstack-query":M("react"),"tanstack-query-vue":M("vue"),"tanstack-query-svelte":M("svelte"),"tanstack-query-solid":M("solid"),swr:{requires:["typescript"],errorModes:["throw"],load:()=>import("./SXKUE52F.js").then(e=>({run:e.swrGenerator}))},mock:{requires:["typescript"],load:()=>import("./KXYI4EET.js").then(e=>({run:e.mockGenerator}))},cli:{requires:["typescript","zod"],errorModes:["throw"],load:()=>import("./CGINWISC.js").then(e=>({run:e.cliGenerator,sample:e.cliSample,docs:e.cliDocs}))},python:{notApplicable:z,load:()=>import("./VRWULG7P.js").then(e=>({run:e.pythonGenerator,sample:e.pythonSample,docs:e.pythonDocs,options:e.pythonOptions}))},go:{errorModes:["throw"],notApplicable:z,load:()=>import("./WSOCDFHJ.js").then(e=>({run:e.goGenerator,sample:e.goSample,docs:e.goDocs}))},php:{errorModes:["throw"],notApplicable:z,load:()=>import("./6ZHC3PYG.js").then(e=>({run:e.phpGenerator,sample:e.phpSample,docs:e.phpDocs}))}};function K(e,n,t,r){let s=new Set(e);n.goPackage!==void 0&&!s.has("go")&&w.warn(`generate-client: goPackage is ignored \u2014 it declares the Go package clause, and no selected generator uses it (add --generator go).
|
|
8
8
|
`);let o=n.errorMode??"throw",a=n.dateType??"string";for(let i of e){let d=t.get(i);if(!d)throw new h(`Unknown generator: ${i}`);for(let c of d.requires??[])if(!s.has(c)){let u=[...new Set([c,...e])].map(g=>`--generator ${g}`).join(" ");throw new h(`The "${i}" generator requires the "${c}" generator. Add it, e.g. ${u}.`)}if(d.errorModes&&!d.errorModes.includes(o))throw new h(`The "${i}" generator does not support --error-mode "${o}" (supported: ${d.errorModes.join(", ")}).`);if(d.dateTypes&&!d.dateTypes.includes(a))throw new h(`The "${i}" generator requires --date-type ${d.dateTypes.join(" or ")} (got "${a}") so the runtime values match the generated types.`);let l={...n,outputMode:r};for(let[c,u]of Object.entries(d.notApplicable??{}))l[c]!==void 0&&w.warn(`generate-client: the "${i}" generator ignores ${c} \u2014 ${u}.
|
|
9
9
|
`)}}var Rn={typescript:{run:Ie,sample:je,docs:$e},zod:{run:Ne},transformers:{run:De},"tanstack-query":{run:$("react")},"tanstack-query-vue":{run:$("vue")},"tanstack-query-svelte":{run:$("svelte")},"tanstack-query-solid":{run:$("solid")},swr:{run:Le},mock:{run:Me},cli:{run:Ce,sample:Ae,docs:Se},python:{run:Ke,sample:Ue,docs:Fe},go:{run:Ee,sample:Te,docs:qe},php:{run:Be,sample:He,docs:Ge}},Cn=Object.fromEntries(Object.entries(I).map(([e,{load:n,...t}])=>[e,{...t,...Rn[e]}]));function W(){return new Map(Object.entries(Cn))}function _e(e,n,t=W(),r){K(e,n,t,r)}import{mkdir as Ct,readFile as St,writeFile as At}from"node:fs/promises";import{dirname as vn,parse as Et,resolve as G,sep as Tt}from"node:path";function ze(e,n,t){let r=new Map;for(let s of e){let o=n.get(s)?.options,a=t?.[s];if(o===void 0){a!==void 0&&w.warn(`generate-client: the "${s}" generator declares no options, so client.options.${s} is ignored.
|
|
10
10
|
`),r.set(s,{});continue}r.set(s,Sn(s,o,a))}return r}function Sn(e,n,t){if(t!==void 0&&!O(t))throw new h(`The "${e}" generator's options must be a map of option names to values.`);let r=t??{},s=Object.keys(n.properties);if(n.additionalProperties!==!0){for(let a of Object.keys(r))if(!s.includes(a))throw new h(`The "${e}" generator got an unknown option "${a}". Declared options: ${s.join(", ")||"(none)"}.`)}for(let a of n.required??[])if(r[a]===void 0)throw new h(`The "${e}" generator requires the "${a}" option.`);let o={...r};for(let[a,i]of Object.entries(n.properties)){if(o[a]===void 0){i.default!==void 0&&(o[a]=i.default);continue}let d=An(i,o[a]);if(d!==void 0)throw new h(`The "${e}" generator's "${a}" ${d}.`)}return o}function An(e,n){if("enum"in e)return e.enum.includes(n)?void 0:`must be one of: ${e.enum.join(", ")}`;if(e.type==="array"){let t=e.items.type;return Array.isArray(n)&&n.every(r=>typeof r===t)?void 0:`must be an array of ${t}`}return typeof n===e.type?void 0:`must be a ${e.type}`}import{isAbsolute as Tn,resolve as qn}from"node:path";import{pathToFileURL as Pn}from"node:url";var V=Re.version;function We(e){let n=/^(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(e.trim());return n===null?void 0:[Number(n[1]),Number(n[2]),Number(n[3])]}function J(e,n){return e[0]-n[0]||e[1]-n[1]||e[2]-n[2]}function Je(e,n){let t=/^[\^~]|^>=/.exec(n.trim())?.[0]??"",r=We(n.trim().slice(t.length)),s=We(e);if(!(r===void 0||s===void 0))return J(s,r)<0?!1:t===">="?!0:t===""?J(s,r)===0:t==="~"?s[0]===r[0]&&s[1]===r[1]:r[0]!==0?s[0]===r[0]:r[1]!==0?s[0]===0&&s[1]===r[1]:J(s,r)===0}var En=function(e,n){return typeof e=="string"&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(t,r,s,o,a){return r?n?".jsx":".js":s&&(!o||!a)?t:s+o+"."+a.toLowerCase()+"js"}):e};async function Qe(e,n={}){let t=new Map;for(let i of n.customGenerators??[])Xe(t,i);let r=[];for(let i of e)r.push(await Ve(i,t,n.configDir));let s=[],o=new Set,a=async i=>{if(!(s.includes(i)||o.has(i))){o.add(i);for(let d of t.get(i).requires??[])(t.has(d)||d in I)&&await a(await Ve(d,t,n.configDir));o.delete(i),s.push(i)}};for(let i of r)await a(i);return{selected:s,registry:t}}async function Ve(e,n,t){if(n.has(e))return e;let r=I[e];if(r!==void 0){let{load:o,...a}=r;return n.set(e,{...a,...await o()}),e}if(e==="sdk")throw new h('The "sdk" generator is now named "typescript". Update the `generators` list or the --generator flag.');let s=await In(e,t??process.cwd());return Xe(n,s),s.name}function Xe(e,n){if(!O(n)||typeof n.name!="string"||n.name===""||typeof n.run!="function")throw new h("Invalid custom generator: expected an object with a non-empty string `name` and a `run` function (build one with `defineGenerator`).");if(e.has(n.name))throw new h(`Generator name "${n.name}" collides with an existing generator. Rename the custom generator.`);if(n.requiresGenerator!==void 0){let t=Je(V,n.requiresGenerator);if(t===void 0)throw new h(`Generator "${n.name}" declares requiresGenerator "${n.requiresGenerator}", which is not a range we read. Use ^1.2.0, ~1.2.0, >=1.2.0, or an exact version.`);if(!t)throw new h(`Generator "${n.name}" needs @redocly/client-generator ${n.requiresGenerator}; this CLI ships ${V}. Upgrade @redocly/cli if the generator is newer, or update the generator \u2014 \`redocly eject-generator <name> --update\` for an ejected file, or upgrade its package.`)}n.name in I&&w.warn(`generate-client: custom generator "${n.name}" takes over the built-in generator of the same name.
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{g}from"./
|
|
7
|
+
import{g}from"./VZCENZBY.js";import{k as u,l as m}from"./TVJE32GA.js";import{c as C,d as j}from"./LWB43R4X.js";import{V as b}from"./OZMIIHFH.js";import{a as S,b as k}from"./HJYFWIVE.js";import{join as $}from"node:path";function h(r){return(r??"").replace(/\s+/g," ").trim().replace(/\\/g,"\\\\").replace(/\|/g,"\\|")}function v(r){return[r.group===void 0?void 0:u(r.group),r.name].filter(Boolean).join(" ")}function N(r,e){return[r,v(e),...e.positionals.map(o=>`<${o.name}>`),...e.flags.filter(o=>o.required).map(o=>`--${o.name} <${o.type}>`),...e.body?[e.body.required?"--json '<json>'":"[--json '<json>']"]:[]].filter(o=>o!=="").join(" ")}function T(r,e){r.line("| Flag | Type | Required | Description |"),r.line("| ---- | ---- | -------- | ----------- |");for(let n of e){let o=[h(n.description),n.enum===void 0?"":`One of ${n.enum.map(t=>`\`${t}\``).join(", ")}.`,n.type==="array"?"Repeat the flag for multiple values.":""].filter(t=>t!=="").join(" ");r.line(`| \`--${n.name}\` | ${n.type} | ${n.required?"yes":"no"} | ${o} |`)}r.blank()}function D(r,e,n){if(r.line(`### \`${v(e)}\``),r.blank(),e.summary!==void 0&&(r.line(h(e.summary)),r.blank()),r.line(`\`${e.method} ${e.path}\``),r.blank(),r.line("```sh"),r.line(N(n.name,e)),r.line("```"),r.blank(),e.positionals.length>0){r.line("| Argument | Description |"),r.line("| -------- | ----------- |");for(let t of e.positionals)r.line(`| \`<${t.name}>\` | ${h(t.description)} |`);r.blank()}e.flags.length>0&&T(r,e.flags);let o=[e.body===void 0?"":`Takes a JSON body${e.body.required?" (required)":""}: \`--json '<json>'\`, \`--json @file.json\`, or \`--json @-\` for stdin.`,e.unsupportedBody===void 0?"":`Takes a \`${e.unsupportedBody}\` body, which the CLI cannot build \u2014 call this operation through the generated client instead.`,e.paginated===!0?"Paginated: `--page-all` follows every page, printing one JSON page per line.":"",e.sse===!0?"Streams server-sent events as one JSON object per line.":"",e.blob===!0?"Returns binary content, so `--output <path>` is required.":""].filter(t=>t!=="");for(let t of o)r.line(t);o.length>0&&r.blank()}function w(r,e){let n=new S;e.frontmatter&&(n.line("---"),n.line(`title: ${e.title}`),n.line("---"),n.blank()),n.line(`# ${e.title}`),n.blank(),n.line(`Generated command-line reference for \`${e.name}\`, produced from the API description by \`redocly generate-client\`.`),n.line("Re-run generation to update it \u2014 this file is not hand-edited."),n.blank(),n.line("## Usage"),n.blank(),n.line("```sh"),n.line(`${e.name} <command> [flags]`),n.line(`${e.name} --help`),n.line(`${e.name} schema <command> # request/response schemas`),n.line("```"),n.blank(),n.line("Install the file under any `bin` name: the command takes that name, and the credential variables below do not change."),n.blank(),n.line("## Global flags"),n.blank(),n.line("| Flag | Description |"),n.line("| ---- | ----------- |");let o=e.schemes.some(i=>i.kind==="bearer");for(let[i,s]of[["--server-url <url>","Override the server URL included in the client."],["--format <json\\|ndjson>","Output format."],["--dry-run","Print the prepared request, credentials redacted, without sending it."],["--page-all","Follow pagination, printing one JSON page per line."],["--output <path>","Write the response body to a file. Required for binary responses."],...o?[["--token <token>","Bearer token, overriding the environment."]]:[],["--json <json\\|@file\\|@->","Request body, inline or from a file or stdin."]])n.line(`| \`${i}\` | ${s} |`);n.blank();let t=m(e.name);if(n.line("## Credentials"),n.blank(),e.schemes.length===0)n.line("The description declares no security schemes, so no credentials are read.");else{n.line("Credentials come from the environment:"),n.blank(),n.line("| Scheme | Variable |"),n.line("| ------ | -------- |");for(let i of e.schemes){let s=i.kind==="bearer"?`\`${t}_TOKEN\` (or \`--token\`)`:i.kind==="basic"?`\`${t}_USERNAME\` and \`${t}_PASSWORD\``:`\`${t}_API_KEY_${m(i.key)}\``;n.line(`| ${i.kind} (\`${i.key}\`) | ${s} |`)}}n.blank(),n.line("## Exit codes"),n.blank(),n.line("| Code | Meaning |"),n.line("| ---- | ------- |");for(let[i,s]of[[0,"success"],[1,"API error (status other than 401 or 403)"],[2,"auth error (401 or 403)"],[3,"validation error"],[4,"usage error (unknown command or flag, bad `--json`)"]])n.line(`| ${i} | ${s} |`);n.blank(),n.line("Errors print one JSON object to stderr, so stdout stays clean for piping."),n.blank();let a=[...new Set(r.map(i=>i.group))];for(let i of a){let s=r.filter(l=>l.group===i);i===void 0?(n.line("## Commands"),n.blank()):(n.line(`## ${i}`),n.blank(),n.line(`Addressed as \`${e.name} ${u(i)} <command>\`.`),n.blank());for(let l of s)D(n,l,e)}return n.toString().replace(/\n{3,}/g,`
|
|
8
8
|
|
|
9
9
|
`).trimEnd()+`
|
|
10
10
|
`}function R(){return j["cli.ts"]}function x(){return C["cli.ts"]}var O="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function q(r){return k.snake(r).replace(/_/g,"-")}function E(r){let e=r.schema,n=e.kind==="array"?"array":e.kind==="scalar"&&(e.scalar==="integer"||e.scalar==="number")?"number":e.kind==="scalar"&&e.scalar==="boolean"?"boolean":"string";return{name:q(r.name),param:r.name,type:n,required:r.required,...e.kind==="enum"?{enum:e.values.map(String)}:{},...r.description!==void 0?{description:r.description}:{}}}function F(r){let e=r.successResponses;return e.some(n=>n.contentType.toLowerCase().includes("json"))?!1:e.some(n=>n.contentType.startsWith("image/")||n.contentType==="application/octet-stream")}function M(r){return r.successResponses.find(e=>e.contentType.toLowerCase().includes("json"))?.schema}function U(r,e,n){if(n!=="flat")return{};let o=g(r,e.schemas);return"mergeBody"in o&&o.mergeBody?{merged:!0}:{}}function _(r,e,n){return n!=="flat"?{}:"collisions"in g(r,e.schemas)?{argsStyle:"grouped"}:{}}function f(r,e){let n=[];for(let o of r.services)for(let t of o.operations){let a=t.requestBody?.contentType.toLowerCase().includes("json")?t.requestBody:void 0,i=M(t);n.push({...t.tags.length>0?{group:t.tags[0]}:{},name:t.name,...t.summary!==void 0?{summary:t.summary}:{},method:t.method.toUpperCase(),path:t.path,positionals:t.pathParams.map(s=>({name:s.name,type:E(s).type,...s.description!==void 0?{description:s.description}:{}})),flags:t.queryParams.map(E),...a?{body:{required:a.required,...U(t,r,e.argsStyle)}}:{},...a===void 0&&t.requestBody!==void 0?{unsupportedBody:t.requestBody.contentType}:{},...e.pagination?.has(t.name)===!0?{paginated:!0}:{},..._(t,r,e.argsStyle),...t.sse!==void 0?{sse:!0}:{},...F(t)?{blob:!0}:{},...a!==void 0||i!==void 0?{schemas:{...a?{request:a.schema}:{},...i!==void 0?{response:i}:{}}}:{}})}return n}var P=`function isProcessEntry(): boolean {
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as j}from"./NSIQWNYL.js";import{b as O}from"./UKSQ7B5H.js";import{b as Q,c as _,d as I,e as M,f as X,g as Z,h as ee}from"./NAGDQV7J.js";import{c as z,d as P,e as H,f as N,g as R,h as U,i as V,j as x,k as D,n as Y}from"./HJYFWIVE.js";var p=z.php,B=new j;function h(e){return B.typeName(e)}function g(e){return B.memberName(e)}function c(e){return B.string(e)}function ne(e){return P(e.name,{style:"camel",reserved:p})}function F(e){let n=e.services.flatMap(s=>s.operations),a=H(n.map(s=>s.name),{style:"camel",reserved:p});return new Map(n.map((s,r)=>[s.name,a[r]]))}function ue(e){return X(e).map(a=>a.kind==="literal"?c(a.value):`$${g(a.name)}`).join(" . ")}function te(e,n){let a=n.servers??[];if(a.length===0)return;let s=new Set;e.line("/** The declared servers; variables default to the values from the description. */"),e.line("final class Servers"),e.block("{",()=>{a.forEach((r,t)=>{let i=P(r.description??`server${t+1}`,{style:"camel",reserved:p});s.has(i)&&(i=`${i}${t+1}`),s.add(i);let o=r.variables.map(l=>`string $${g(l.name)} = ${c(l.default)}`);t>0&&e.blank(),e.line(`public static function ${i}(${o.join(", ")}): string`),e.block("{",()=>{e.line(`return ${ue(r)};`)},"}")})},"}"),e.blank()}function re(e,n){let a=Z(e,n).map(s=>`[${s.map(t=>t.kind==="apiKey"?`['kind' => 'apiKey', 'scheme' => ${c(t.scheme)}, 'name' => ${c(t.name)}, 'in' => ${c(t.in)}]`:`['kind' => ${c(t.kind)}, 'scheme' => ${c(t.scheme)}]`).join(", ")}]`);if(a.length!==0)return`[${a.join(", ")}]`}function se(e){return`[${[`'style' => ${c(e.style)}`,...e.param!==void 0?[`'param' => ${c(e.param)}`]:[],...e.nextCursor!==void 0?[`'nextCursor' => ${c(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`'hasMore' => ${c(e.hasMore)}`]:[],...e.limitParam!==void 0?[`'limitParam' => ${c(e.limitParam)}`]:[],...e.items!==void 0?[`'items' => ${c(e.items)}`]:[]].join(", ")}]`}function ae(e,n){let a=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let t=P(r.name,{style:"camel",reserved:p}),i=2;for(;a.has(t);)t=`${P(r.name,{style:"camel",reserved:p})}_${i++}`;a.add(t);let o=Y(r.schema,n);return`[${c(r.name)}, ${c(t)}, ${c(o)}]`}).join(", ")}]`}function E(e,n){let a=n.schemas.find(t=>t.name===e);if(a===void 0)return"other";let s=a.schema,r=D(s);return r!==void 0&&(r.scalar==="string"||r.scalar==="integer")?"enum":(s.kind==="object"||s.kind==="intersection")&&R(s,n)!==void 0?"class":"other"}function m(e,n,a="string"){if(V(e)){let s=m(x(e),n,a);return A(s)}switch(e.kind){case"scalar":return a==="Date"&&e.scalar==="string"&&G(e)?"\\DateTimeImmutable":{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":case"record":return"array";case"ref":{let s=E(e.name,n);if(s==="class"||s==="enum")return h(e.name);let r=N(e,n);return r===void 0?"mixed":m(r,n,a)}case"enum":return{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float";case"omit":return h(e.base);case"union":return $e(e.members,n,a);case"null":case"object":case"intersection":case"unknown":return"mixed"}}function G(e){let n=e.metadata?.format;return n==="date"||n==="date-time"}function A(e){return e==="mixed"||e.startsWith("?")||e.endsWith("|null")?e:e.includes("|")?`${e}|null`:`?${e}`}function $e(e,n,a){let s=[];for(let r of e){if(r.kind==="null")continue;let t=m(r,n,a);if(t==="mixed")return"mixed";let i=t.startsWith("?")?t.slice(1):t;s.includes(i)||s.push(i),t.startsWith("?")&&!s.includes("null")&&s.push("null")}return s.length===0?"mixed":s.join("|")}function K(e,n,a){if(e===void 0)return;let s=x(e);if(s.kind==="ref"){let t=N(s,n);return E(s.name,n)==="other"?K(t,n,a):void 0}if(s.kind!=="array")return;let r=m(s.items,n,a);return r==="mixed"?void 0:r}function ie(e,n){let a=n.schemas.find(s=>s.name===e);return a!==void 0&&U(a.schema,n)!==void 0}function v(e,n,a,s){let r=x(e);if(s==="Date"&&r.kind==="scalar"&&r.scalar==="string"&&G(r))return`new \\DateTimeImmutable(${n})`;if(r.kind==="omit")return v({kind:"ref",name:r.base},n,a,s);if(r.kind==="ref"){let t=E(r.name,a);if(t==="class")return`${h(r.name)}::fromArray(${n})`;if(t==="enum")return`${h(r.name)}::from(${n})`;if(ie(r.name,a))return`unmarshal${h(r.name)}(${n})`;let i=N(r,a);return i===void 0?void 0:v(i,n,a,s)}if(r.kind==="array"){let t=v(r.items,"$item",a,s);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}if(r.kind==="record"){let t=v(r.value,"$item",a,s);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}}function q(e,n,a,s="string"){let r=x(e);if(s==="Date"&&r.kind==="scalar"&&r.scalar==="string"){if(r.metadata?.format==="date")return`${n}->format('Y-m-d')`;if(r.metadata?.format==="date-time")return`${n}->format(\\DateTimeInterface::ATOM)`}if(r.kind==="omit")return q({kind:"ref",name:r.base},n,a,s);if(r.kind==="ref"){let t=E(r.name,a);if(t==="class")return`${n}->toArray()`;if(t==="enum")return`${n}->value`;if(ie(r.name,a))return`is_object(${n}) ? ${n}->toArray() : ${n}`;let i=N(r,a);return i===void 0?void 0:q(i,n,a,s)}if(r.kind==="array"||r.kind==="record"){let t=r.kind==="array"?r.items:r.value,i=q(t,"$item",a,s);return i===void 0?void 0:`array_map(static fn ($item) => ${i}, ${n})`}}function fe(e,n,a,s,r,t){let i=[...a.filter(o=>o.required),...a.filter(o=>!o.required)];e.doc(h(n),t),e.line(`final class ${h(n)}`),e.block("{",()=>{e.block("public function __construct(",()=>{for(let o of i){let l=m(o.schema,s,r);if(o.required)e.line(`public ${l} $${g(o.name)},`);else{let u=A(l);e.line(`public ${u} $${g(o.name)} = null,`)}}},") {"),e.line("}"),e.blank(),e.line("public static function fromArray(array $data): self"),e.block("{",()=>{e.block("return new self(",()=>{for(let o of i){let l=`$data[${c(o.name)}]`,u=v(o.schema,l,s,r),f=g(o.name);o.required?e.line(`${f}: ${u??l},`):u===void 0?e.line(`${f}: ${l} ?? null,`):e.line(`${f}: isset(${l}) ? ${u} : null,`)}},");")},"}"),e.blank(),e.line("public function toArray(): array"),e.block("{",()=>{e.line("$data = [];");for(let o of i){let l=`$this->${g(o.name)}`,u=q(o.schema,l,s,r)??l;o.required?e.line(`$data[${c(o.name)}] = ${u};`):e.block(`if (${l} !== null) {`,()=>{e.line(`$data[${c(o.name)}] = ${u};`)},"}")}e.line("return $data;")},"}")},"}"),e.blank()}function L(e,n="string"){let a=new j;for(let{name:s,schema:r}of e.schemas){let t=D(r);if(t!==void 0&&(t.scalar==="string"||t.scalar==="integer")){let o=t.scalar==="string"?"string":"int";a.doc(h(s),r.description),a.line(`enum ${h(s)}: ${o}`),a.block("{",()=>{let l=H(t.values.map(u=>String(u)),{style:"pascal",reserved:p});t.values.forEach((u,f)=>{let y=typeof u=="string"?c(u):String(u);a.line(`case ${l[f]} = ${y};`)})},"}"),a.blank();continue}if(r.kind==="object"||r.kind==="intersection"){let o=R(r,e);if(o!==void 0){fe(a,s,o.properties,e,n,o.description??r.description);continue}}let i=U(r,e);if(i!==void 0){let o=h(s),l=i.cases.map(u=>`${u.value} -> ${h(u.schemaName)}`).join(", ");a.line(`/** ${o} is a discriminated union (${c(i.property)}): ${l}. */`),a.line(`function unmarshal${o}(array $data): mixed`),a.block("{",()=>{a.block(`return match ($data[${c(i.property)}] ?? null) {`,()=>{for(let u of i.cases)a.line(`${c(u.value)} => ${h(u.schemaName)}::fromArray($data),`);a.line("default => $data,")},"};")},"}"),a.blank();continue}}return a.toString()}var oe=new Set(["post","put","patch"]),de=["body","headers","idempotencyKey"];function W(e,n,a,s){let r=H([...e.pathParams,...e.queryParams].map(l=>l.name),{style:"camel",reserved:p,taken:de}),t=e.pathParams.map((l,u)=>({php:r[u],wire:l.name,type:m(l.schema,n,s)})),i=e.queryParams.map((l,u)=>{let f=r[e.pathParams.length+u];return{php:f,wire:l.name,type:m(l.schema,n,s),value:q(l.schema,`$${f}`,n,s)??`$${f}`}}),o=[...t.map(({php:l,type:u})=>`${u} $${l}`),...a&&e.requestBody?[`${M(e)?"array":m(e.requestBody.schema,n,s)} $body`]:[],...i.map(({php:l,type:u})=>`${A(u)} $${l} = null`),"?array $headers = null",...a&&oe.has(e.method.toLowerCase())?["?string $idempotencyKey = null"]:[]];return{pathArgs:t,queryArgs:i,signature:o}}function me(e,n,a){e.line(`$op = OPERATIONS[${c(n.specName??n.name)}];`),e.line("[$authHeaders, $query, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);");for(let{php:r,wire:t,value:i}of a.queryArgs)e.block(`if ($${r} !== null) {`,()=>{e.line(`$query[${c(t)}] = ${i};`)},"}");let s=a.pathArgs.map(({php:r,wire:t})=>`${c(t)} => $${r}`).join(", ");e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${s}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}")}function J(e,n,a,s,r,t=!1){let i=W(n,s,!0,r),o=I(n),l=_(n),u=o===void 0&&l===void 0&&n.successResponses.some(b=>b.contentType!==""),f=t?"Envelope":o!==void 0?"\\Generator":l!==void 0?m(l,s,r):u?"string":"void",y=t?`${a}WithHeaders`:a,S=t?void 0:K(l,s,r);e.doc(y,t?`Like ${a}(), returning an Envelope with the declared response headers.`:n.summary??`${n.method.toUpperCase()} ${n.path}`,S===void 0?[]:[`@return ${S}[]`]),e.line(`public function ${y}(${i.signature.join(", ")}): ${f}`),e.block("{",()=>{if(me(e,n,i),o!==void 0){let d=o.schema!==void 0&&o.schema.kind!=="unknown";e.line("$url = appendQuery($url, $query);"),e.block("$open = function (array $extraHeaders) use ($url, $requestHeaders): \\CurlHandle {",()=>{e.line("$handle = curl_init($url);"),e.line("$lines = [];"),e.block("foreach (array_merge($requestHeaders, $extraHeaders) as $name => $value) {",()=>{e.line("$lines[] = $name . ': ' . $value;")},"}"),e.line("curl_setopt($handle, CURLOPT_HTTPHEADER, $lines);"),e.line("return $handle;")},"};"),e.line(`yield from iterSse($open, ${d?"true":"false"});`);return}let b=["'operationId' => $op['id']","'method' => $op['method']","'url' => $url","'headers' => $requestHeaders","'query' => $query"];if(n.requestBody&&M(n))e.line("[$contentType, $encoded] = toMultipart($body);"),b.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody){let d=q(n.requestBody.schema,"$body",s,r)??"$body";e.line(`$payload = json_encode(${d});`),b.push("'body' => $payload",`'contentType' => ${c(n.requestBody.contentType)}`)}oe.has(n.method.toLowerCase())&&n.requestBody&&b.push("'idempotencyKey' => $idempotencyKey"),e.line(`$response = send($this->config, [${b.join(", ")}]);`),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}");let $=u?"$response['body']":(l===void 0?void 0:v(l,"decodeJson($response)",s,r))??"decodeJson($response)";if(t){e.line(`$data = ${$};`),e.line(`return new Envelope(data: $data, headers: readEnvelopeHeaders($response, ${ae(n,s)}), status: $response['status']);`);return}if(u){e.line("return $response['body'];");return}if(f==="void"){e.line("decodeJson($response);");return}e.line(`return ${$};`)},"}"),e.blank()}function ce(e,n,a,s,r,t,i,o,l){let u=W(n,s,!1,r),f=a,y=()=>{e.line(`$op = OPERATIONS[${c(n.specName??n.name)}];`),e.line("$base = [];");for(let{php:d,wire:k,value:w}of u.queryArgs)e.block(`if ($${d} !== null) {`,()=>{e.line(`$base[${c(k)}] = ${w};`)},"}");let $=u.pathArgs.map(({php:d,wire:k})=>`${c(k)} => $${d}`).join(", ");e.block("$call = function (array $params) use ($op, $headers): array {",()=>{e.line("[$authHeaders, $authQuery, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);"),e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${$}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}"),e.line("$response = send($this->config, ['operationId' => $op['id'], 'method' => $op['method'], 'url' => $url, 'headers' => $requestHeaders, 'query' => array_merge($params, $authQuery)]);"),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}"),e.line("return [decodeJson($response), $response];")},"};")},S=m(_(n)??{kind:"unknown"},s,r),b=S==="mixed"?"mixed":S;e.line("/**"),e.line(` * ${f} response pages, following the pagination rule automatically.`),e.line(" *"),e.line(` * @return \\Generator<int, ${b}>`),e.line(" */"),e.line(`public function ${f}Pages(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{y(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`yield ${t??"$page"};`)},"}")},"}"),e.blank(),e.line("/**"),e.line(` * The items of every ${f} page.`),e.line(" *"),e.line(` * @return \\Generator<int, ${l}>`),e.line(" */"),e.line(`public function ${f}Items(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{y(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`$items = resolvePointer($page, ${c(o??"")});`),e.block("foreach (is_array($items) ? $items : [] as $item) {",()=>{e.line(`yield ${i??"$item"};`)},"}")},"}")},"}"),e.blank()}function pe(e){let n=e.split(`
|
|
7
|
+
import{a as j}from"./NSIQWNYL.js";import{b as O}from"./UKSQ7B5H.js";import{b as Q,c as _,d as I,e as M,f as X,g as Z,h as ee}from"./TVJE32GA.js";import{c as z,d as P,e as H,f as N,g as R,h as U,i as V,j as x,k as D,n as Y}from"./HJYFWIVE.js";var p=z.php,B=new j;function h(e){return B.typeName(e)}function g(e){return B.memberName(e)}function c(e){return B.string(e)}function ne(e){return P(e.name,{style:"camel",reserved:p})}function F(e){let n=e.services.flatMap(s=>s.operations),a=H(n.map(s=>s.name),{style:"camel",reserved:p});return new Map(n.map((s,r)=>[s.name,a[r]]))}function ue(e){return X(e).map(a=>a.kind==="literal"?c(a.value):`$${g(a.name)}`).join(" . ")}function te(e,n){let a=n.servers??[];if(a.length===0)return;let s=new Set;e.line("/** The declared servers; variables default to the values from the description. */"),e.line("final class Servers"),e.block("{",()=>{a.forEach((r,t)=>{let i=P(r.description??`server${t+1}`,{style:"camel",reserved:p});s.has(i)&&(i=`${i}${t+1}`),s.add(i);let o=r.variables.map(l=>`string $${g(l.name)} = ${c(l.default)}`);t>0&&e.blank(),e.line(`public static function ${i}(${o.join(", ")}): string`),e.block("{",()=>{e.line(`return ${ue(r)};`)},"}")})},"}"),e.blank()}function re(e,n){let a=Z(e,n).map(s=>`[${s.map(t=>t.kind==="apiKey"?`['kind' => 'apiKey', 'scheme' => ${c(t.scheme)}, 'name' => ${c(t.name)}, 'in' => ${c(t.in)}]`:`['kind' => ${c(t.kind)}, 'scheme' => ${c(t.scheme)}]`).join(", ")}]`);if(a.length!==0)return`[${a.join(", ")}]`}function se(e){return`[${[`'style' => ${c(e.style)}`,...e.param!==void 0?[`'param' => ${c(e.param)}`]:[],...e.nextCursor!==void 0?[`'nextCursor' => ${c(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`'hasMore' => ${c(e.hasMore)}`]:[],...e.limitParam!==void 0?[`'limitParam' => ${c(e.limitParam)}`]:[],...e.items!==void 0?[`'items' => ${c(e.items)}`]:[]].join(", ")}]`}function ae(e,n){let a=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let t=P(r.name,{style:"camel",reserved:p}),i=2;for(;a.has(t);)t=`${P(r.name,{style:"camel",reserved:p})}_${i++}`;a.add(t);let o=Y(r.schema,n);return`[${c(r.name)}, ${c(t)}, ${c(o)}]`}).join(", ")}]`}function E(e,n){let a=n.schemas.find(t=>t.name===e);if(a===void 0)return"other";let s=a.schema,r=D(s);return r!==void 0&&(r.scalar==="string"||r.scalar==="integer")?"enum":(s.kind==="object"||s.kind==="intersection")&&R(s,n)!==void 0?"class":"other"}function m(e,n,a="string"){if(V(e)){let s=m(x(e),n,a);return A(s)}switch(e.kind){case"scalar":return a==="Date"&&e.scalar==="string"&&G(e)?"\\DateTimeImmutable":{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":case"record":return"array";case"ref":{let s=E(e.name,n);if(s==="class"||s==="enum")return h(e.name);let r=N(e,n);return r===void 0?"mixed":m(r,n,a)}case"enum":return{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float";case"omit":return h(e.base);case"union":return $e(e.members,n,a);case"null":case"object":case"intersection":case"unknown":return"mixed"}}function G(e){let n=e.metadata?.format;return n==="date"||n==="date-time"}function A(e){return e==="mixed"||e.startsWith("?")||e.endsWith("|null")?e:e.includes("|")?`${e}|null`:`?${e}`}function $e(e,n,a){let s=[];for(let r of e){if(r.kind==="null")continue;let t=m(r,n,a);if(t==="mixed")return"mixed";let i=t.startsWith("?")?t.slice(1):t;s.includes(i)||s.push(i),t.startsWith("?")&&!s.includes("null")&&s.push("null")}return s.length===0?"mixed":s.join("|")}function K(e,n,a){if(e===void 0)return;let s=x(e);if(s.kind==="ref"){let t=N(s,n);return E(s.name,n)==="other"?K(t,n,a):void 0}if(s.kind!=="array")return;let r=m(s.items,n,a);return r==="mixed"?void 0:r}function ie(e,n){let a=n.schemas.find(s=>s.name===e);return a!==void 0&&U(a.schema,n)!==void 0}function v(e,n,a,s){let r=x(e);if(s==="Date"&&r.kind==="scalar"&&r.scalar==="string"&&G(r))return`new \\DateTimeImmutable(${n})`;if(r.kind==="omit")return v({kind:"ref",name:r.base},n,a,s);if(r.kind==="ref"){let t=E(r.name,a);if(t==="class")return`${h(r.name)}::fromArray(${n})`;if(t==="enum")return`${h(r.name)}::from(${n})`;if(ie(r.name,a))return`unmarshal${h(r.name)}(${n})`;let i=N(r,a);return i===void 0?void 0:v(i,n,a,s)}if(r.kind==="array"){let t=v(r.items,"$item",a,s);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}if(r.kind==="record"){let t=v(r.value,"$item",a,s);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}}function q(e,n,a,s="string"){let r=x(e);if(s==="Date"&&r.kind==="scalar"&&r.scalar==="string"){if(r.metadata?.format==="date")return`${n}->format('Y-m-d')`;if(r.metadata?.format==="date-time")return`${n}->format(\\DateTimeInterface::ATOM)`}if(r.kind==="omit")return q({kind:"ref",name:r.base},n,a,s);if(r.kind==="ref"){let t=E(r.name,a);if(t==="class")return`${n}->toArray()`;if(t==="enum")return`${n}->value`;if(ie(r.name,a))return`is_object(${n}) ? ${n}->toArray() : ${n}`;let i=N(r,a);return i===void 0?void 0:q(i,n,a,s)}if(r.kind==="array"||r.kind==="record"){let t=r.kind==="array"?r.items:r.value,i=q(t,"$item",a,s);return i===void 0?void 0:`array_map(static fn ($item) => ${i}, ${n})`}}function fe(e,n,a,s,r,t){let i=[...a.filter(o=>o.required),...a.filter(o=>!o.required)];e.doc(h(n),t),e.line(`final class ${h(n)}`),e.block("{",()=>{e.block("public function __construct(",()=>{for(let o of i){let l=m(o.schema,s,r);if(o.required)e.line(`public ${l} $${g(o.name)},`);else{let u=A(l);e.line(`public ${u} $${g(o.name)} = null,`)}}},") {"),e.line("}"),e.blank(),e.line("public static function fromArray(array $data): self"),e.block("{",()=>{e.block("return new self(",()=>{for(let o of i){let l=`$data[${c(o.name)}]`,u=v(o.schema,l,s,r),f=g(o.name);o.required?e.line(`${f}: ${u??l},`):u===void 0?e.line(`${f}: ${l} ?? null,`):e.line(`${f}: isset(${l}) ? ${u} : null,`)}},");")},"}"),e.blank(),e.line("public function toArray(): array"),e.block("{",()=>{e.line("$data = [];");for(let o of i){let l=`$this->${g(o.name)}`,u=q(o.schema,l,s,r)??l;o.required?e.line(`$data[${c(o.name)}] = ${u};`):e.block(`if (${l} !== null) {`,()=>{e.line(`$data[${c(o.name)}] = ${u};`)},"}")}e.line("return $data;")},"}")},"}"),e.blank()}function L(e,n="string"){let a=new j;for(let{name:s,schema:r}of e.schemas){let t=D(r);if(t!==void 0&&(t.scalar==="string"||t.scalar==="integer")){let o=t.scalar==="string"?"string":"int";a.doc(h(s),r.description),a.line(`enum ${h(s)}: ${o}`),a.block("{",()=>{let l=H(t.values.map(u=>String(u)),{style:"pascal",reserved:p});t.values.forEach((u,f)=>{let y=typeof u=="string"?c(u):String(u);a.line(`case ${l[f]} = ${y};`)})},"}"),a.blank();continue}if(r.kind==="object"||r.kind==="intersection"){let o=R(r,e);if(o!==void 0){fe(a,s,o.properties,e,n,o.description??r.description);continue}}let i=U(r,e);if(i!==void 0){let o=h(s),l=i.cases.map(u=>`${u.value} -> ${h(u.schemaName)}`).join(", ");a.line(`/** ${o} is a discriminated union (${c(i.property)}): ${l}. */`),a.line(`function unmarshal${o}(array $data): mixed`),a.block("{",()=>{a.block(`return match ($data[${c(i.property)}] ?? null) {`,()=>{for(let u of i.cases)a.line(`${c(u.value)} => ${h(u.schemaName)}::fromArray($data),`);a.line("default => $data,")},"};")},"}"),a.blank();continue}}return a.toString()}var oe=new Set(["post","put","patch"]),de=["body","headers","idempotencyKey"];function W(e,n,a,s){let r=H([...e.pathParams,...e.queryParams].map(l=>l.name),{style:"camel",reserved:p,taken:de}),t=e.pathParams.map((l,u)=>({php:r[u],wire:l.name,type:m(l.schema,n,s)})),i=e.queryParams.map((l,u)=>{let f=r[e.pathParams.length+u];return{php:f,wire:l.name,type:m(l.schema,n,s),value:q(l.schema,`$${f}`,n,s)??`$${f}`}}),o=[...t.map(({php:l,type:u})=>`${u} $${l}`),...a&&e.requestBody?[`${M(e)?"array":m(e.requestBody.schema,n,s)} $body`]:[],...i.map(({php:l,type:u})=>`${A(u)} $${l} = null`),"?array $headers = null",...a&&oe.has(e.method.toLowerCase())?["?string $idempotencyKey = null"]:[]];return{pathArgs:t,queryArgs:i,signature:o}}function me(e,n,a){e.line(`$op = OPERATIONS[${c(n.specName??n.name)}];`),e.line("[$authHeaders, $query, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);");for(let{php:r,wire:t,value:i}of a.queryArgs)e.block(`if ($${r} !== null) {`,()=>{e.line(`$query[${c(t)}] = ${i};`)},"}");let s=a.pathArgs.map(({php:r,wire:t})=>`${c(t)} => $${r}`).join(", ");e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${s}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}")}function J(e,n,a,s,r,t=!1){let i=W(n,s,!0,r),o=I(n),l=_(n),u=o===void 0&&l===void 0&&n.successResponses.some(b=>b.contentType!==""),f=t?"Envelope":o!==void 0?"\\Generator":l!==void 0?m(l,s,r):u?"string":"void",y=t?`${a}WithHeaders`:a,S=t?void 0:K(l,s,r);e.doc(y,t?`Like ${a}(), returning an Envelope with the declared response headers.`:n.summary??`${n.method.toUpperCase()} ${n.path}`,S===void 0?[]:[`@return ${S}[]`]),e.line(`public function ${y}(${i.signature.join(", ")}): ${f}`),e.block("{",()=>{if(me(e,n,i),o!==void 0){let d=o.schema!==void 0&&o.schema.kind!=="unknown";e.line("$url = appendQuery($url, $query);"),e.block("$open = function (array $extraHeaders) use ($url, $requestHeaders): \\CurlHandle {",()=>{e.line("$handle = curl_init($url);"),e.line("$lines = [];"),e.block("foreach (array_merge($requestHeaders, $extraHeaders) as $name => $value) {",()=>{e.line("$lines[] = $name . ': ' . $value;")},"}"),e.line("curl_setopt($handle, CURLOPT_HTTPHEADER, $lines);"),e.line("return $handle;")},"};"),e.line(`yield from iterSse($open, ${d?"true":"false"});`);return}let b=["'operationId' => $op['id']","'method' => $op['method']","'url' => $url","'headers' => $requestHeaders","'query' => $query"];if(n.requestBody&&M(n))e.line("[$contentType, $encoded] = toMultipart($body);"),b.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody){let d=q(n.requestBody.schema,"$body",s,r)??"$body";e.line(`$payload = json_encode(${d});`),b.push("'body' => $payload",`'contentType' => ${c(n.requestBody.contentType)}`)}oe.has(n.method.toLowerCase())&&n.requestBody&&b.push("'idempotencyKey' => $idempotencyKey"),e.line(`$response = send($this->config, [${b.join(", ")}]);`),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}");let $=u?"$response['body']":(l===void 0?void 0:v(l,"decodeJson($response)",s,r))??"decodeJson($response)";if(t){e.line(`$data = ${$};`),e.line(`return new Envelope(data: $data, headers: readEnvelopeHeaders($response, ${ae(n,s)}), status: $response['status']);`);return}if(u){e.line("return $response['body'];");return}if(f==="void"){e.line("decodeJson($response);");return}e.line(`return ${$};`)},"}"),e.blank()}function ce(e,n,a,s,r,t,i,o,l){let u=W(n,s,!1,r),f=a,y=()=>{e.line(`$op = OPERATIONS[${c(n.specName??n.name)}];`),e.line("$base = [];");for(let{php:d,wire:k,value:w}of u.queryArgs)e.block(`if ($${d} !== null) {`,()=>{e.line(`$base[${c(k)}] = ${w};`)},"}");let $=u.pathArgs.map(({php:d,wire:k})=>`${c(k)} => $${d}`).join(", ");e.block("$call = function (array $params) use ($op, $headers): array {",()=>{e.line("[$authHeaders, $authQuery, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);"),e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${$}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}"),e.line("$response = send($this->config, ['operationId' => $op['id'], 'method' => $op['method'], 'url' => $url, 'headers' => $requestHeaders, 'query' => array_merge($params, $authQuery)]);"),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}"),e.line("return [decodeJson($response), $response];")},"};")},S=m(_(n)??{kind:"unknown"},s,r),b=S==="mixed"?"mixed":S;e.line("/**"),e.line(` * ${f} response pages, following the pagination rule automatically.`),e.line(" *"),e.line(` * @return \\Generator<int, ${b}>`),e.line(" */"),e.line(`public function ${f}Pages(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{y(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`yield ${t??"$page"};`)},"}")},"}"),e.blank(),e.line("/**"),e.line(` * The items of every ${f} page.`),e.line(" *"),e.line(` * @return \\Generator<int, ${l}>`),e.line(" */"),e.line(`public function ${f}Items(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{y(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`$items = resolvePointer($page, ${c(o??"")});`),e.block("foreach (is_array($items) ? $items : [] as $item) {",()=>{e.line(`yield ${i??"$item"};`)},"}")},"}")},"}"),e.blank()}function pe(e){let n=e.split(`
|
|
8
8
|
`),a=0;for(let s=0;s<n.length;s++)if(n[s].trim().startsWith("namespace ")){a=s+1;break}return n.slice(a).join(`
|
|
9
9
|
`).trim()}var nn=({model:e,output:n,banner:a,emit:s,pagination:r})=>{let t=new j,i=s.dateType??"string",o=P(e.title,{style:"pascal",reserved:p});t.line("<?php"),t.blank(),t.line(`// Code generated by @redocly/client-generator (php) from ${c(e.title)} ${e.version}. DO NOT EDIT.`),t.line("// Regenerate with `redocly generate-client`. PHP >= 8.1, curl extension \u2014 zero Composer dependencies."),t.blank(),t.line("declare(strict_types=1);"),t.blank(),t.line(`namespace ${o};`),t.blank(),t.line(L(e,i)),te(t,e),s.runtime==="module"?(t.line("// \u2500\u2500\u2500 Runtime (a real file beside this one, written by the same run) \u2500\u2500\u2500"),t.line("require_once __DIR__ . '/runtime.php';"),t.blank()):(t.line("// \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator php runtime) \u2500\u2500\u2500"),t.line(pe(O)),t.blank());let l=e.services.flatMap($=>$.operations),u=F(e),f=new Map;for(let $ of l){let d=r?.get($.name)?.spec;d!==void 0&&f.set($.name,d)}t.block("const OPERATIONS = [",()=>{for(let $ of l){let d=$.specName??$.name,k=re($,e),w=f.get($.name),T=[`'id' => ${c(d)}`,`'method' => ${c($.method.toUpperCase())}`,`'path' => ${c($.path)}`,...k!==void 0?[`'security' => ${k}`]:[],...w!==void 0?[`'pagination' => ${se(w)}`]:[]];t.line(`${c(d)} => [${T.join(", ")}],`)}},"];"),t.blank(),t.doc("Client",`Client for ${e.title} (${e.version}).`),t.line("class Client"),t.block("{",()=>{t.line("public function __construct(private Config $config)"),t.block("{",()=>{t.block("if ($this->config->serverUrl === '') {",()=>{t.line(`$this->config->serverUrl = ${c(s.serverUrl??e.serverUrl??"")};`)},"}")},"}"),t.blank();for(let $ of l){let d=u.get($.name);J(t,$,d,e,i),I($)===void 0&&($.successResponseHeaders?.length??0)>0&&J(t,$,d,e,i,!0);let k=f.get($.name);if(k===void 0)continue;let w=_($),T=w===void 0?void 0:v(w,"$page",e,i),C=ee(w,k.items,e),le=C===void 0?void 0:v(C,"$item",e,i);ce(t,$,d,e,i,T,le,k.items,C===void 0?"mixed":m(C,e,i))}},"}");let y={path:n.path.replace(/\.[^.\\/]+$/,".php"),content:t.toString()};if(s.runtime!=="module")return[y];let S=a.map($=>`// ${$}`).join(`
|
|
10
10
|
`),b=O.replace(/^namespace .*$/m,`namespace ${o};`).replace(/^<\?php\n/,`<?php
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{b as D,g as L}from"./
|
|
7
|
+
import{b as D,g as L}from"./TVJE32GA.js";import{a as h,c as F,d as J,e as U}from"./LWB43R4X.js";import{a as _,d as G,e as x,f as R,h as K,i as O,j as Q,k as b,l as V,m as z}from"./NB54XRRU.js";import{n as H}from"./HJYFWIVE.js";import{join as Se}from"node:path";var q="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function N(e){return e.filter(t=>t.length>0).join(`
|
|
8
8
|
|
|
9
9
|
`)+`
|
|
10
10
|
`}function v(e){let t=["/**",` * ${O(`${e.title} (v${e.version})`)}`];if(e.description)for(let n of z(O(e.description)))t.push(` * ${n}`.replace(/ +$/,""));return t.push(" */"),t.join(`
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{h as a}from"./
|
|
7
|
+
import{h as a}from"./ZYLX724C.js";import"./P26PQ2RU.js";import"./RS5PUOTT.js";import"./CXRHOXPI.js";import"./BXI4SF2U.js";import"./32XCOMOR.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{a as RedoclyOAuthClient};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c,d,e,f,g}from"./
|
|
7
|
+
import{a,b,c,d,e,f,g}from"./RXUHCIFX.js";import"./O6PRCLSV.js";import"./32XCOMOR.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./RFWIIJFG.js";export{d as RESET_ESCAPE_CODE,c as calculateTotals,f as conditionallyMaskSecrets,b as generate,e as maskSecrets,a as parseRuntimeExpression,g as run};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c,d,e}from"./
|
|
7
|
+
import{a,b,c,d,e}from"./5BMLOFU4.js";import"./NSIQWNYL.js";import"./UKSQ7B5H.js";import"./TVJE32GA.js";import"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";export{e as phpDocs,c as phpGenerator,d as phpSample,a as phpType,b as renderPhpModels};
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as N}from"./NSIQWNYL.js";import{b as U}from"./UKSQ7B5H.js";import{b as Q,c as D,d as R,e as I,f as X,g as Z,h as ee}from"./NAGDQV7J.js";import"./4PT55VGO.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import{c as z,d as P,e as w,f as q,g as _,h as E,i as V,j as H,k as O,n as Y}from"./HJYFWIVE.js";import"./RFWIIJFG.js";var m=z.php,G=new N;function h(e){return G.typeName(e)}function y(e){return G.memberName(e)}function l(e){return G.string(e)}function ne(e){return P(e.name,{style:"camel",reserved:m})}function B(e){let n=e.services.flatMap(i=>i.operations),a=w(n.map(i=>i.name),{style:"camel",reserved:m});return new Map(n.map((i,r)=>[i.name,a[r]]))}function ue(e){return X(e).map(a=>a.kind==="literal"?l(a.value):`$${y(a.name)}`).join(" . ")}function te(e,n){let a=n.servers??[];if(a.length===0)return;let i=new Set;e.line("/** The declared servers; variables default to the values from the description. */"),e.line("final class Servers"),e.block("{",()=>{a.forEach((r,t)=>{let s=P(r.description??`server${t+1}`,{style:"camel",reserved:m});i.has(s)&&(s=`${s}${t+1}`),i.add(s);let o=r.variables.map(c=>`string $${y(c.name)} = ${l(c.default)}`);t>0&&e.blank(),e.line(`public static function ${s}(${o.join(", ")}): string`),e.block("{",()=>{e.line(`return ${ue(r)};`)},"}")})},"}"),e.blank()}function re(e,n){let a=Z(e,n).map(i=>`[${i.map(t=>t.kind==="apiKey"?`['kind' => 'apiKey', 'scheme' => ${l(t.scheme)}, 'name' => ${l(t.name)}, 'in' => ${l(t.in)}]`:`['kind' => ${l(t.kind)}, 'scheme' => ${l(t.scheme)}]`).join(", ")}]`);if(a.length!==0)return`[${a.join(", ")}]`}function ie(e){return`[${[`'style' => ${l(e.style)}`,...e.param!==void 0?[`'param' => ${l(e.param)}`]:[],...e.nextCursor!==void 0?[`'nextCursor' => ${l(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`'hasMore' => ${l(e.hasMore)}`]:[],...e.limitParam!==void 0?[`'limitParam' => ${l(e.limitParam)}`]:[],...e.items!==void 0?[`'items' => ${l(e.items)}`]:[]].join(", ")}]`}function ae(e,n){let a=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let t=P(r.name,{style:"camel",reserved:m}),s=2;for(;a.has(t);)t=`${P(r.name,{style:"camel",reserved:m})}_${s++}`;a.add(t);let o=Y(r.schema,n);return`[${l(r.name)}, ${l(t)}, ${l(o)}]`}).join(", ")}]`}function T(e,n){let a=n.schemas.find(t=>t.name===e);if(a===void 0)return"other";let i=a.schema,r=O(i);return r!==void 0&&(r.scalar==="string"||r.scalar==="integer")?"enum":(i.kind==="object"||i.kind==="intersection")&&_(i,n)!==void 0?"class":"other"}function f(e,n,a="string"){if(V(e)){let i=f(H(e),n,a);return x(i)}switch(e.kind){case"scalar":return a==="Date"&&e.scalar==="string"&&F(e)?"\\DateTimeImmutable":{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":case"record":return"array";case"ref":{let i=T(e.name,n);if(i==="class"||i==="enum")return h(e.name);let r=q(e,n);return r===void 0?"mixed":f(r,n,a)}case"enum":return{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float";case"omit":return h(e.base);case"union":return de(e.members,n,a);case"null":case"object":case"intersection":case"unknown":return"mixed"}}function F(e){let n=e.metadata?.format;return n==="date"||n==="date-time"}function x(e){return e==="mixed"||e.startsWith("?")||e.endsWith("|null")?e:e.includes("|")?`${e}|null`:`?${e}`}function de(e,n,a){let i=[];for(let r of e){if(r.kind==="null")continue;let t=f(r,n,a);if(t==="mixed")return"mixed";let s=t.startsWith("?")?t.slice(1):t;i.includes(s)||i.push(s),t.startsWith("?")&&!i.includes("null")&&i.push("null")}return i.length===0?"mixed":i.join("|")}function K(e,n,a){if(e===void 0)return;let i=H(e);if(i.kind==="ref"){let t=q(i,n);return T(i.name,n)==="other"?K(t,n,a):void 0}if(i.kind!=="array")return;let r=f(i.items,n,a);return r==="mixed"?void 0:r}function se(e,n){let a=n.schemas.find(i=>i.name===e);return a!==void 0&&E(a.schema,n)!==void 0}function M(e,n,a,i){let r=H(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"&&F(r))return`new \\DateTimeImmutable(${n})`;if(r.kind==="omit")return M({kind:"ref",name:r.base},n,a,i);if(r.kind==="ref"){let t=T(r.name,a);if(t==="class")return`${h(r.name)}::fromArray(${n})`;if(t==="enum")return`${h(r.name)}::from(${n})`;if(se(r.name,a))return`unmarshal${h(r.name)}(${n})`;let s=q(r,a);return s===void 0?void 0:M(s,n,a,i)}if(r.kind==="array"){let t=M(r.items,"$item",a,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}if(r.kind==="record"){let t=M(r.value,"$item",a,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}}function A(e,n,a,i="string"){let r=H(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"){if(r.metadata?.format==="date")return`${n}->format('Y-m-d')`;if(r.metadata?.format==="date-time")return`${n}->format(\\DateTimeInterface::ATOM)`}if(r.kind==="omit")return A({kind:"ref",name:r.base},n,a,i);if(r.kind==="ref"){let t=T(r.name,a);if(t==="class")return`${n}->toArray()`;if(t==="enum")return`${n}->value`;if(se(r.name,a))return`is_object(${n}) ? ${n}->toArray() : ${n}`;let s=q(r,a);return s===void 0?void 0:A(s,n,a,i)}if(r.kind==="array"||r.kind==="record"){let t=r.kind==="array"?r.items:r.value,s=A(t,"$item",a,i);return s===void 0?void 0:`array_map(static fn ($item) => ${s}, ${n})`}}function pe(e,n,a,i,r,t){let s=[...a.filter(o=>o.required),...a.filter(o=>!o.required)];e.doc(h(n),t),e.line(`final class ${h(n)}`),e.block("{",()=>{e.block("public function __construct(",()=>{for(let o of s){let c=f(o.schema,i,r);if(o.required)e.line(`public ${c} $${y(o.name)},`);else{let u=x(c);e.line(`public ${u} $${y(o.name)} = null,`)}}},") {"),e.line("}"),e.blank(),e.line("public static function fromArray(array $data): self"),e.block("{",()=>{e.block("return new self(",()=>{for(let o of s){let c=`$data[${l(o.name)}]`,u=M(o.schema,c,i,r),p=y(o.name);o.required?e.line(`${p}: ${u??c},`):u===void 0?e.line(`${p}: ${c} ?? null,`):e.line(`${p}: isset(${c}) ? ${u} : null,`)}},");")},"}"),e.blank(),e.line("public function toArray(): array"),e.block("{",()=>{e.line("$data = [];");for(let o of s){let c=`$this->${y(o.name)}`,u=A(o.schema,c,i,r)??c;o.required?e.line(`$data[${l(o.name)}] = ${u};`):e.block(`if (${c} !== null) {`,()=>{e.line(`$data[${l(o.name)}] = ${u};`)},"}")}e.line("return $data;")},"}")},"}"),e.blank()}function L(e,n="string"){let a=new N;for(let{name:i,schema:r}of e.schemas){let t=O(r);if(t!==void 0&&(t.scalar==="string"||t.scalar==="integer")){let o=t.scalar==="string"?"string":"int";a.doc(h(i),r.description),a.line(`enum ${h(i)}: ${o}`),a.block("{",()=>{let c=w(t.values.map(u=>String(u)),{style:"pascal",reserved:m});t.values.forEach((u,p)=>{let g=typeof u=="string"?l(u):String(u);a.line(`case ${c[p]} = ${g};`)})},"}"),a.blank();continue}if(r.kind==="object"||r.kind==="intersection"){let o=_(r,e);if(o!==void 0){pe(a,i,o.properties,e,n,o.description??r.description);continue}}let s=E(r,e);if(s!==void 0){let o=h(i),c=s.cases.map(u=>`${u.value} -> ${h(u.schemaName)}`).join(", ");a.line(`/** ${o} is a discriminated union (${l(s.property)}): ${c}. */`),a.line(`function unmarshal${o}(array $data): mixed`),a.block("{",()=>{a.block(`return match ($data[${l(s.property)}] ?? null) {`,()=>{for(let u of s.cases)a.line(`${l(u.value)} => ${h(u.schemaName)}::fromArray($data),`);a.line("default => $data,")},"};")},"}"),a.blank();continue}}return a.toString()}var oe=new Set(["post","put","patch"]),$e=["body","headers","idempotencyKey"];function W(e,n,a,i){let r=w([...e.pathParams,...e.queryParams].map(c=>c.name),{style:"camel",reserved:m,taken:$e}),t=e.pathParams.map((c,u)=>({php:r[u],wire:c.name,type:f(c.schema,n,i)})),s=e.queryParams.map((c,u)=>{let p=r[e.pathParams.length+u];return{php:p,wire:c.name,type:f(c.schema,n,i),value:A(c.schema,`$${p}`,n,i)??`$${p}`}}),o=[...t.map(({php:c,type:u})=>`${u} $${c}`),...a&&e.requestBody?[`${I(e)?"array":f(e.requestBody.schema,n,i)} $body`]:[],...s.map(({php:c,type:u})=>`${x(u)} $${c} = null`),"?array $headers = null",...a&&oe.has(e.method.toLowerCase())?["?string $idempotencyKey = null"]:[]];return{pathArgs:t,queryArgs:s,signature:o}}function fe(e,n,a){e.line(`$op = OPERATIONS[${l(n.specName??n.name)}];`),e.line("[$authHeaders, $query, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);");for(let{php:r,wire:t,value:s}of a.queryArgs)e.block(`if ($${r} !== null) {`,()=>{e.line(`$query[${l(t)}] = ${s};`)},"}");let i=a.pathArgs.map(({php:r,wire:t})=>`${l(t)} => $${r}`).join(", ");e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${i}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}")}function J(e,n,a,i,r,t=!1){let s=W(n,i,!0,r),o=R(n),c=D(n),u=o===void 0&&c===void 0&&n.successResponses.some(b=>b.contentType!==""),p=t?"Envelope":o!==void 0?"\\Generator":c!==void 0?f(c,i,r):u?"string":"void",g=t?`${a}WithHeaders`:a,S=t?void 0:K(c,i,r);e.doc(g,t?`Like ${a}(), returning an Envelope with the declared response headers.`:n.summary??`${n.method.toUpperCase()} ${n.path}`,S===void 0?[]:[`@return ${S}[]`]),e.line(`public function ${g}(${s.signature.join(", ")}): ${p}`),e.block("{",()=>{if(fe(e,n,s),o!==void 0){let $=o.schema!==void 0&&o.schema.kind!=="unknown";e.line("$url = appendQuery($url, $query);"),e.block("$open = function (array $extraHeaders) use ($url, $requestHeaders): \\CurlHandle {",()=>{e.line("$handle = curl_init($url);"),e.line("$lines = [];"),e.block("foreach (array_merge($requestHeaders, $extraHeaders) as $name => $value) {",()=>{e.line("$lines[] = $name . ': ' . $value;")},"}"),e.line("curl_setopt($handle, CURLOPT_HTTPHEADER, $lines);"),e.line("return $handle;")},"};"),e.line(`yield from iterSse($open, ${$?"true":"false"});`);return}let b=["'operationId' => $op['id']","'method' => $op['method']","'url' => $url","'headers' => $requestHeaders","'query' => $query"];if(n.requestBody&&I(n))e.line("[$contentType, $encoded] = toMultipart($body);"),b.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody){let $=A(n.requestBody.schema,"$body",i,r)??"$body";e.line(`$payload = json_encode(${$});`),b.push("'body' => $payload",`'contentType' => ${l(n.requestBody.contentType)}`)}oe.has(n.method.toLowerCase())&&n.requestBody&&b.push("'idempotencyKey' => $idempotencyKey"),e.line(`$response = send($this->config, [${b.join(", ")}]);`),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}");let d=u?"$response['body']":(c===void 0?void 0:M(c,"decodeJson($response)",i,r))??"decodeJson($response)";if(t){e.line(`$data = ${d};`),e.line(`return new Envelope(data: $data, headers: readEnvelopeHeaders($response, ${ae(n,i)}), status: $response['status']);`);return}if(u){e.line("return $response['body'];");return}if(p==="void"){e.line("decodeJson($response);");return}e.line(`return ${d};`)},"}"),e.blank()}function le(e,n,a,i,r,t,s,o,c){let u=W(n,i,!1,r),p=a,g=()=>{e.line(`$op = OPERATIONS[${l(n.specName??n.name)}];`),e.line("$base = [];");for(let{php:$,wire:k,value:v}of u.queryArgs)e.block(`if ($${$} !== null) {`,()=>{e.line(`$base[${l(k)}] = ${v};`)},"}");let d=u.pathArgs.map(({php:$,wire:k})=>`${l(k)} => $${$}`).join(", ");e.block("$call = function (array $params) use ($op, $headers): array {",()=>{e.line("[$authHeaders, $authQuery, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);"),e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${d}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}"),e.line("$response = send($this->config, ['operationId' => $op['id'], 'method' => $op['method'], 'url' => $url, 'headers' => $requestHeaders, 'query' => array_merge($params, $authQuery)]);"),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}"),e.line("return [decodeJson($response), $response];")},"};")},S=f(D(n)??{kind:"unknown"},i,r),b=S==="mixed"?"mixed":S;e.line("/**"),e.line(` * ${p} response pages, following the pagination rule automatically.`),e.line(" *"),e.line(` * @return \\Generator<int, ${b}>`),e.line(" */"),e.line(`public function ${p}Pages(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{g(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`yield ${t??"$page"};`)},"}")},"}"),e.blank(),e.line("/**"),e.line(` * The items of every ${p} page.`),e.line(" *"),e.line(` * @return \\Generator<int, ${c}>`),e.line(" */"),e.line(`public function ${p}Items(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{g(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`$items = resolvePointer($page, ${l(o??"")});`),e.block("foreach (is_array($items) ? $items : [] as $item) {",()=>{e.line(`yield ${s??"$item"};`)},"}")},"}")},"}"),e.blank()}function me(e){let n=e.split(`
|
|
7
|
+
import{a as N}from"./NSIQWNYL.js";import{b as U}from"./UKSQ7B5H.js";import{b as Q,c as D,d as R,e as I,f as X,g as Z,h as ee}from"./TVJE32GA.js";import"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import{c as z,d as P,e as w,f as q,g as _,h as E,i as V,j as H,k as O,n as Y}from"./HJYFWIVE.js";import"./RFWIIJFG.js";var m=z.php,G=new N;function h(e){return G.typeName(e)}function y(e){return G.memberName(e)}function l(e){return G.string(e)}function ne(e){return P(e.name,{style:"camel",reserved:m})}function B(e){let n=e.services.flatMap(i=>i.operations),a=w(n.map(i=>i.name),{style:"camel",reserved:m});return new Map(n.map((i,r)=>[i.name,a[r]]))}function ue(e){return X(e).map(a=>a.kind==="literal"?l(a.value):`$${y(a.name)}`).join(" . ")}function te(e,n){let a=n.servers??[];if(a.length===0)return;let i=new Set;e.line("/** The declared servers; variables default to the values from the description. */"),e.line("final class Servers"),e.block("{",()=>{a.forEach((r,t)=>{let s=P(r.description??`server${t+1}`,{style:"camel",reserved:m});i.has(s)&&(s=`${s}${t+1}`),i.add(s);let o=r.variables.map(c=>`string $${y(c.name)} = ${l(c.default)}`);t>0&&e.blank(),e.line(`public static function ${s}(${o.join(", ")}): string`),e.block("{",()=>{e.line(`return ${ue(r)};`)},"}")})},"}"),e.blank()}function re(e,n){let a=Z(e,n).map(i=>`[${i.map(t=>t.kind==="apiKey"?`['kind' => 'apiKey', 'scheme' => ${l(t.scheme)}, 'name' => ${l(t.name)}, 'in' => ${l(t.in)}]`:`['kind' => ${l(t.kind)}, 'scheme' => ${l(t.scheme)}]`).join(", ")}]`);if(a.length!==0)return`[${a.join(", ")}]`}function ie(e){return`[${[`'style' => ${l(e.style)}`,...e.param!==void 0?[`'param' => ${l(e.param)}`]:[],...e.nextCursor!==void 0?[`'nextCursor' => ${l(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`'hasMore' => ${l(e.hasMore)}`]:[],...e.limitParam!==void 0?[`'limitParam' => ${l(e.limitParam)}`]:[],...e.items!==void 0?[`'items' => ${l(e.items)}`]:[]].join(", ")}]`}function ae(e,n){let a=new Set;return`[${(e.successResponseHeaders??[]).map(r=>{let t=P(r.name,{style:"camel",reserved:m}),s=2;for(;a.has(t);)t=`${P(r.name,{style:"camel",reserved:m})}_${s++}`;a.add(t);let o=Y(r.schema,n);return`[${l(r.name)}, ${l(t)}, ${l(o)}]`}).join(", ")}]`}function T(e,n){let a=n.schemas.find(t=>t.name===e);if(a===void 0)return"other";let i=a.schema,r=O(i);return r!==void 0&&(r.scalar==="string"||r.scalar==="integer")?"enum":(i.kind==="object"||i.kind==="intersection")&&_(i,n)!==void 0?"class":"other"}function f(e,n,a="string"){if(V(e)){let i=f(H(e),n,a);return x(i)}switch(e.kind){case"scalar":return a==="Date"&&e.scalar==="string"&&F(e)?"\\DateTimeImmutable":{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"array":case"record":return"array";case"ref":{let i=T(e.name,n);if(i==="class"||i==="enum")return h(e.name);let r=q(e,n);return r===void 0?"mixed":f(r,n,a)}case"enum":return{string:"string",integer:"int",number:"float",boolean:"bool"}[e.scalar];case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float";case"omit":return h(e.base);case"union":return de(e.members,n,a);case"null":case"object":case"intersection":case"unknown":return"mixed"}}function F(e){let n=e.metadata?.format;return n==="date"||n==="date-time"}function x(e){return e==="mixed"||e.startsWith("?")||e.endsWith("|null")?e:e.includes("|")?`${e}|null`:`?${e}`}function de(e,n,a){let i=[];for(let r of e){if(r.kind==="null")continue;let t=f(r,n,a);if(t==="mixed")return"mixed";let s=t.startsWith("?")?t.slice(1):t;i.includes(s)||i.push(s),t.startsWith("?")&&!i.includes("null")&&i.push("null")}return i.length===0?"mixed":i.join("|")}function K(e,n,a){if(e===void 0)return;let i=H(e);if(i.kind==="ref"){let t=q(i,n);return T(i.name,n)==="other"?K(t,n,a):void 0}if(i.kind!=="array")return;let r=f(i.items,n,a);return r==="mixed"?void 0:r}function se(e,n){let a=n.schemas.find(i=>i.name===e);return a!==void 0&&E(a.schema,n)!==void 0}function M(e,n,a,i){let r=H(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"&&F(r))return`new \\DateTimeImmutable(${n})`;if(r.kind==="omit")return M({kind:"ref",name:r.base},n,a,i);if(r.kind==="ref"){let t=T(r.name,a);if(t==="class")return`${h(r.name)}::fromArray(${n})`;if(t==="enum")return`${h(r.name)}::from(${n})`;if(se(r.name,a))return`unmarshal${h(r.name)}(${n})`;let s=q(r,a);return s===void 0?void 0:M(s,n,a,i)}if(r.kind==="array"){let t=M(r.items,"$item",a,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}if(r.kind==="record"){let t=M(r.value,"$item",a,i);return t===void 0?void 0:`array_map(static fn ($item) => ${t}, ${n})`}}function A(e,n,a,i="string"){let r=H(e);if(i==="Date"&&r.kind==="scalar"&&r.scalar==="string"){if(r.metadata?.format==="date")return`${n}->format('Y-m-d')`;if(r.metadata?.format==="date-time")return`${n}->format(\\DateTimeInterface::ATOM)`}if(r.kind==="omit")return A({kind:"ref",name:r.base},n,a,i);if(r.kind==="ref"){let t=T(r.name,a);if(t==="class")return`${n}->toArray()`;if(t==="enum")return`${n}->value`;if(se(r.name,a))return`is_object(${n}) ? ${n}->toArray() : ${n}`;let s=q(r,a);return s===void 0?void 0:A(s,n,a,i)}if(r.kind==="array"||r.kind==="record"){let t=r.kind==="array"?r.items:r.value,s=A(t,"$item",a,i);return s===void 0?void 0:`array_map(static fn ($item) => ${s}, ${n})`}}function pe(e,n,a,i,r,t){let s=[...a.filter(o=>o.required),...a.filter(o=>!o.required)];e.doc(h(n),t),e.line(`final class ${h(n)}`),e.block("{",()=>{e.block("public function __construct(",()=>{for(let o of s){let c=f(o.schema,i,r);if(o.required)e.line(`public ${c} $${y(o.name)},`);else{let u=x(c);e.line(`public ${u} $${y(o.name)} = null,`)}}},") {"),e.line("}"),e.blank(),e.line("public static function fromArray(array $data): self"),e.block("{",()=>{e.block("return new self(",()=>{for(let o of s){let c=`$data[${l(o.name)}]`,u=M(o.schema,c,i,r),p=y(o.name);o.required?e.line(`${p}: ${u??c},`):u===void 0?e.line(`${p}: ${c} ?? null,`):e.line(`${p}: isset(${c}) ? ${u} : null,`)}},");")},"}"),e.blank(),e.line("public function toArray(): array"),e.block("{",()=>{e.line("$data = [];");for(let o of s){let c=`$this->${y(o.name)}`,u=A(o.schema,c,i,r)??c;o.required?e.line(`$data[${l(o.name)}] = ${u};`):e.block(`if (${c} !== null) {`,()=>{e.line(`$data[${l(o.name)}] = ${u};`)},"}")}e.line("return $data;")},"}")},"}"),e.blank()}function L(e,n="string"){let a=new N;for(let{name:i,schema:r}of e.schemas){let t=O(r);if(t!==void 0&&(t.scalar==="string"||t.scalar==="integer")){let o=t.scalar==="string"?"string":"int";a.doc(h(i),r.description),a.line(`enum ${h(i)}: ${o}`),a.block("{",()=>{let c=w(t.values.map(u=>String(u)),{style:"pascal",reserved:m});t.values.forEach((u,p)=>{let g=typeof u=="string"?l(u):String(u);a.line(`case ${c[p]} = ${g};`)})},"}"),a.blank();continue}if(r.kind==="object"||r.kind==="intersection"){let o=_(r,e);if(o!==void 0){pe(a,i,o.properties,e,n,o.description??r.description);continue}}let s=E(r,e);if(s!==void 0){let o=h(i),c=s.cases.map(u=>`${u.value} -> ${h(u.schemaName)}`).join(", ");a.line(`/** ${o} is a discriminated union (${l(s.property)}): ${c}. */`),a.line(`function unmarshal${o}(array $data): mixed`),a.block("{",()=>{a.block(`return match ($data[${l(s.property)}] ?? null) {`,()=>{for(let u of s.cases)a.line(`${l(u.value)} => ${h(u.schemaName)}::fromArray($data),`);a.line("default => $data,")},"};")},"}"),a.blank();continue}}return a.toString()}var oe=new Set(["post","put","patch"]),$e=["body","headers","idempotencyKey"];function W(e,n,a,i){let r=w([...e.pathParams,...e.queryParams].map(c=>c.name),{style:"camel",reserved:m,taken:$e}),t=e.pathParams.map((c,u)=>({php:r[u],wire:c.name,type:f(c.schema,n,i)})),s=e.queryParams.map((c,u)=>{let p=r[e.pathParams.length+u];return{php:p,wire:c.name,type:f(c.schema,n,i),value:A(c.schema,`$${p}`,n,i)??`$${p}`}}),o=[...t.map(({php:c,type:u})=>`${u} $${c}`),...a&&e.requestBody?[`${I(e)?"array":f(e.requestBody.schema,n,i)} $body`]:[],...s.map(({php:c,type:u})=>`${x(u)} $${c} = null`),"?array $headers = null",...a&&oe.has(e.method.toLowerCase())?["?string $idempotencyKey = null"]:[]];return{pathArgs:t,queryArgs:s,signature:o}}function fe(e,n,a){e.line(`$op = OPERATIONS[${l(n.specName??n.name)}];`),e.line("[$authHeaders, $query, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);");for(let{php:r,wire:t,value:s}of a.queryArgs)e.block(`if ($${r} !== null) {`,()=>{e.line(`$query[${l(t)}] = ${s};`)},"}");let i=a.pathArgs.map(({php:r,wire:t})=>`${l(t)} => $${r}`).join(", ");e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${i}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}")}function J(e,n,a,i,r,t=!1){let s=W(n,i,!0,r),o=R(n),c=D(n),u=o===void 0&&c===void 0&&n.successResponses.some(b=>b.contentType!==""),p=t?"Envelope":o!==void 0?"\\Generator":c!==void 0?f(c,i,r):u?"string":"void",g=t?`${a}WithHeaders`:a,S=t?void 0:K(c,i,r);e.doc(g,t?`Like ${a}(), returning an Envelope with the declared response headers.`:n.summary??`${n.method.toUpperCase()} ${n.path}`,S===void 0?[]:[`@return ${S}[]`]),e.line(`public function ${g}(${s.signature.join(", ")}): ${p}`),e.block("{",()=>{if(fe(e,n,s),o!==void 0){let $=o.schema!==void 0&&o.schema.kind!=="unknown";e.line("$url = appendQuery($url, $query);"),e.block("$open = function (array $extraHeaders) use ($url, $requestHeaders): \\CurlHandle {",()=>{e.line("$handle = curl_init($url);"),e.line("$lines = [];"),e.block("foreach (array_merge($requestHeaders, $extraHeaders) as $name => $value) {",()=>{e.line("$lines[] = $name . ': ' . $value;")},"}"),e.line("curl_setopt($handle, CURLOPT_HTTPHEADER, $lines);"),e.line("return $handle;")},"};"),e.line(`yield from iterSse($open, ${$?"true":"false"});`);return}let b=["'operationId' => $op['id']","'method' => $op['method']","'url' => $url","'headers' => $requestHeaders","'query' => $query"];if(n.requestBody&&I(n))e.line("[$contentType, $encoded] = toMultipart($body);"),b.push("'body' => $encoded","'contentType' => $contentType");else if(n.requestBody){let $=A(n.requestBody.schema,"$body",i,r)??"$body";e.line(`$payload = json_encode(${$});`),b.push("'body' => $payload",`'contentType' => ${l(n.requestBody.contentType)}`)}oe.has(n.method.toLowerCase())&&n.requestBody&&b.push("'idempotencyKey' => $idempotencyKey"),e.line(`$response = send($this->config, [${b.join(", ")}]);`),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}");let d=u?"$response['body']":(c===void 0?void 0:M(c,"decodeJson($response)",i,r))??"decodeJson($response)";if(t){e.line(`$data = ${d};`),e.line(`return new Envelope(data: $data, headers: readEnvelopeHeaders($response, ${ae(n,i)}), status: $response['status']);`);return}if(u){e.line("return $response['body'];");return}if(p==="void"){e.line("decodeJson($response);");return}e.line(`return ${d};`)},"}"),e.blank()}function le(e,n,a,i,r,t,s,o,c){let u=W(n,i,!1,r),p=a,g=()=>{e.line(`$op = OPERATIONS[${l(n.specName??n.name)}];`),e.line("$base = [];");for(let{php:$,wire:k,value:v}of u.queryArgs)e.block(`if ($${$} !== null) {`,()=>{e.line(`$base[${l(k)}] = ${v};`)},"}");let d=u.pathArgs.map(({php:$,wire:k})=>`${l(k)} => $${$}`).join(", ");e.block("$call = function (array $params) use ($op, $headers): array {",()=>{e.line("[$authHeaders, $authQuery, $cookies] = resolveAuth($op['security'] ?? [], $this->config->auth);"),e.line(`$url = buildUrl($this->config->serverUrl, $op['path'], [${d}]);`),e.line("$requestHeaders = array_merge($authHeaders, $headers ?? []);"),e.block("if ($cookies !== []) {",()=>{e.line("$requestHeaders['Cookie'] = implode('; ', $cookies);")},"}"),e.line("$response = send($this->config, ['operationId' => $op['id'], 'method' => $op['method'], 'url' => $url, 'headers' => $requestHeaders, 'query' => array_merge($params, $authQuery)]);"),e.block("if ($response['status'] >= 400) {",()=>{e.line("throw apiErrorFrom($response);")},"}"),e.line("return [decodeJson($response), $response];")},"};")},S=f(D(n)??{kind:"unknown"},i,r),b=S==="mixed"?"mixed":S;e.line("/**"),e.line(` * ${p} response pages, following the pagination rule automatically.`),e.line(" *"),e.line(` * @return \\Generator<int, ${b}>`),e.line(" */"),e.line(`public function ${p}Pages(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{g(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`yield ${t??"$page"};`)},"}")},"}"),e.blank(),e.line("/**"),e.line(` * The items of every ${p} page.`),e.line(" *"),e.line(` * @return \\Generator<int, ${c}>`),e.line(" */"),e.line(`public function ${p}Items(${u.signature.join(", ")}): \\Generator`),e.block("{",()=>{g(),e.block("foreach (iterPages($call, $op['pagination'], $base) as $page) {",()=>{e.line(`$items = resolvePointer($page, ${l(o??"")});`),e.block("foreach (is_array($items) ? $items : [] as $item) {",()=>{e.line(`yield ${s??"$item"};`)},"}")},"}")},"}"),e.blank()}function me(e){let n=e.split(`
|
|
8
8
|
`),a=0;for(let i=0;i<n.length;i++)if(n[i].trim().startsWith("namespace ")){a=i+1;break}return n.slice(a).join(`
|
|
9
9
|
`).trim()}var nn=({model:e,output:n,banner:a,emit:i,pagination:r})=>{let t=new N,s=i.dateType??"string",o=P(e.title,{style:"pascal",reserved:m});t.line("<?php"),t.blank(),t.line(`// Code generated by @redocly/client-generator (php) from ${l(e.title)} ${e.version}. DO NOT EDIT.`),t.line("// Regenerate with `redocly generate-client`. PHP >= 8.1, curl extension \u2014 zero Composer dependencies."),t.blank(),t.line("declare(strict_types=1);"),t.blank(),t.line(`namespace ${o};`),t.blank(),t.line(L(e,s)),te(t,e),i.runtime==="module"?(t.line("// \u2500\u2500\u2500 Runtime (a real file beside this one, written by the same run) \u2500\u2500\u2500"),t.line("require_once __DIR__ . '/runtime.php';"),t.blank()):(t.line("// \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator php runtime) \u2500\u2500\u2500"),t.line(me(U)),t.blank());let c=e.services.flatMap(d=>d.operations),u=B(e),p=new Map;for(let d of c){let $=r?.get(d.name)?.spec;$!==void 0&&p.set(d.name,$)}t.block("const OPERATIONS = [",()=>{for(let d of c){let $=d.specName??d.name,k=re(d,e),v=p.get(d.name),j=[`'id' => ${l($)}`,`'method' => ${l(d.method.toUpperCase())}`,`'path' => ${l(d.path)}`,...k!==void 0?[`'security' => ${k}`]:[],...v!==void 0?[`'pagination' => ${ie(v)}`]:[]];t.line(`${l($)} => [${j.join(", ")}],`)}},"];"),t.blank(),t.doc("Client",`Client for ${e.title} (${e.version}).`),t.line("class Client"),t.block("{",()=>{t.line("public function __construct(private Config $config)"),t.block("{",()=>{t.block("if ($this->config->serverUrl === '') {",()=>{t.line(`$this->config->serverUrl = ${l(i.serverUrl??e.serverUrl??"")};`)},"}")},"}"),t.blank();for(let d of c){let $=u.get(d.name);J(t,d,$,e,s),R(d)===void 0&&(d.successResponseHeaders?.length??0)>0&&J(t,d,$,e,s,!0);let k=p.get(d.name);if(k===void 0)continue;let v=D(d),j=v===void 0?void 0:M(v,"$page",e,s),C=ee(v,k.items,e),ce=C===void 0?void 0:M(C,"$item",e,s);le(t,d,$,e,s,j,ce,k.items,C===void 0?"mixed":f(C,e,s))}},"}");let g={path:n.path.replace(/\.[^.\\/]+$/,".php"),content:t.toString()};if(i.runtime!=="module")return[g];let S=a.map(d=>`// ${d}`).join(`
|
|
10
10
|
`),b=U.replace(/^namespace .*$/m,`namespace ${o};`).replace(/^<\?php\n/,`<?php
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
var __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __pathDirname(__filename);
|
|
7
|
-
import"./UKSQ7B5H.js";import{b as S,c as v,d as k,e as P,f as w,g as D,h as q,i as U,j as B}from"./
|
|
7
|
+
import"./UKSQ7B5H.js";import{b as S,c as v,d as k,e as P,f as w,g as D,h as q,i as U,j as B}from"./VZCENZBY.js";import{b,g as R}from"./TVJE32GA.js";import{a as d,c as j,d as N,e as T}from"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import{d as E,f as A,h as I,i as x,m as C}from"./NB54XRRU.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";import{join as Y}from"node:path";var y="// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";function O(e){return e.filter(t=>t.length>0).join(`
|
|
8
8
|
|
|
9
9
|
`)+`
|
|
10
10
|
`}function M(e){let t=["/**",` * ${x(`${e.title} (v${e.version})`)}`];if(e.description)for(let n of C(x(e.description)))t.push(` * ${n}`.replace(/ +$/,""));return t.push(" */"),t.join(`
|