{"version":3,"mappings":";mHAAY,MAACA,EAAM,CAACC,EAAKC,IAASA,EAAK,MAAM,GAAG,EAAE,OAAO,CAACC,EAAKC,IAASD,GAAOA,EAAIC,CAAI,EAAGH,CAAG,EACvFI,EAAQ,CAACJ,EAAKK,IAAc,OAAO,KAAKL,CAAG,EAAE,OAAOK,CAAS,EAAE,OAAO,CAACC,EAAQC,IAAQ,OAAO,OAAOD,EAAQ,CAAE,CAACC,CAAG,EAAGP,EAAIO,CAAG,EAAG,EAAG,EAAE,EAE9HC,EAAQC,GAAUT,GAAQS,GAAQA,EAAK,OAASL,EAAMJ,EAAMO,GAAQ,CAACE,EAAK,SAASF,CAAG,CAAC,EAAIP,EAC3FU,EAASC,GAAQC,GAAS,MAAM,QAAQA,CAAI,EAAIA,EAAK,IAAKC,GAASF,EAAGE,CAAI,CAAC,EAAIF,EAAGC,CAAI,EACtFE,EAAoBL,GAAS,CACxC,MAAMM,EAAW,CAAE,EACbC,EAAa,CAAE,EACrB,UAAWT,KAAOE,EACZ,CAAC,IAAK,GAAG,EAAE,SAASF,CAAG,EACzBQ,EAAS,KAAKR,CAAG,EAEjBS,EAAW,KAAKT,CAAG,EAGvB,MAAO,CAAE,SAAAQ,EAAU,WAAAC,CAAY,CACjC,EACaC,EAAc,CAACR,EAAO,CAAE,IAAMT,GAAQ,CACjD,GAAIS,EAAK,SAAW,GAAK,CAACT,EACxB,OAAOA,EAET,KAAM,CAAE,SAAAe,EAAU,WAAAC,GAAeF,EAAiBL,CAAI,EACtD,OAAOL,EAAMJ,EAAMO,GAAQ,CAACS,EAAW,SAAST,CAAG,GAAK,CAACQ,EAAS,SAASR,EAAI,CAAC,CAAC,CAAC,CACpF,EACaW,EAAW,CAACT,EAAO,CAAE,IAAMT,GAAQ,CAC9C,GAAIS,EAAK,SAAW,GAAK,CAACT,EACxB,OAAOA,EAET,KAAM,CAAE,SAAAe,EAAU,WAAAC,GAAeF,EAAiBL,CAAI,EACtD,OAAOL,EAAMJ,EAAMO,GAAQS,EAAW,SAAST,CAAG,GAAKQ,EAAS,SAASR,EAAI,CAAC,CAAC,CAAC,CAClF,EACaY,EAAW,CAACP,EAAMQ,IAAW,CACxC,MAAMC,EAAa,IAAI,KAAK,SAASD,EAAO,QAAS,CACnD,QAASA,EAAO,SAChB,UAAWA,EAAO,WAClB,YAAaA,EAAO,YACxB,CAAG,EACKX,EAAO,OAAO,KAAKW,CAAM,EAAE,OAAQb,GAAQ,CAACA,EAAI,WAAW,GAAG,CAAC,EACrE,UAAWA,KAAOE,EAChBG,EAAOA,EAAK,KAAK,CAAC,EAAGU,IAAM,CACzB,MAAMC,EAAS,CAACxB,EAAI,EAAGQ,CAAG,EAAGR,EAAIuB,EAAGf,CAAG,CAAC,EAAE,IAAKiB,GAAU,CACvD,GAAIA,IAAU,KAGd,OAAIA,aAAiB,KACZA,EAAM,YAAa,EAErBA,CACf,CAAO,EACD,OAAIJ,EAAOb,CAAG,IAAM,IAClBgB,EAAO,QAAS,EAEXF,EAAW,QAAQE,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CACpD,CAAK,EAEH,OAAOX,CACT,EACaa,EAAc,CAACD,EAAOE,EAAU,sBAAwB,CACnE,GAAI,CAAC,MAAM,QAAQF,CAAK,EACtB,MAAM,IAAI,UAAUE,CAAO,CAE/B,EACaC,EAAeH,GACnB,MAAM,QAAQA,CAAK,EAAIA,EAAQ,CAAC,OAAQ,IAAI,EAAE,SAASA,CAAK,EAAI,CAAE,EAAG,CAACA,CAAK,EC9D9EI,EAAc,CAAC,OAAQ,QAAS,OAAQ,SAAS,EAChD,SAASC,EAAYC,EAASC,EAAO,GAAI,CAC9C,MAAMC,EAAc,CAAE,EACtB,UAAWzB,KAAO,OAAO,KAAKwB,EAAK,eAAiB,EAAE,EACpDC,EAAYzB,CAAG,EAAIqB,EAAY,SAASrB,CAAG,EAAIoB,EAAYI,EAAK,cAAcxB,CAAG,CAAC,EAAIwB,EAAK,cAAcxB,CAAG,EAE9G,MAAM0B,EAAO,CAAC1B,EAAKI,EAAMuB,GAAMA,IACtB,IAAIX,KACTS,EAAYzB,CAAG,EAAII,EAAG,GAAGY,CAAM,EACxBY,GAGLC,EAAiBC,GAAW,OAChC,OAAIN,EAAK,OACHM,GAAA,MAAAA,EAAQ,SACHA,EAAO,SAEXA,IAGDA,GAAA,MAAAA,EAAQ,YACVA,EAAO,OAAS,CACd,OAAOC,EAAAD,EAAO,YAAP,YAAAC,EAAkB,MACzB,GAAGD,EAAO,OACV,KAAMA,EAAO,SACd,GAEIA,GAAA,MAAAA,EAAQ,OAAS,MAAM,QAAQA,CAAM,GAAK,CAAC,OAAO,UAAU,eAAe,KAAKA,EAAQ,QAAQ,EAAIA,EAASA,GAAA,YAAAA,EAAQ,QAEvHA,CACR,EACKF,EAAQ,CACZ,OAAQ,KAAO,CACb,GAAGH,EACH,GAAGA,EAAY,MAAQ,CAAE,MAAO,CAAC,GAAGL,EAAYK,EAAY,KAAK,CAAC,CAAC,EAAK,CAAE,EAC1E,GAAGA,EAAY,KAAO,CAAE,KAAM,CAAC,GAAGL,EAAYK,EAAY,IAAI,CAAC,GAAM,EAC3E,GACI,KAAMC,EAAK,OAAQN,CAAW,EAC9B,QAASM,EAAK,UAAWN,CAAW,EACpC,MAAOM,EAAK,QAAUM,GAAM,CAAC,GAAGZ,EAAYK,EAAY,KAAK,EAAG,GAAGL,EAAYY,CAAC,CAAC,CAAC,EAClF,KAAMN,EAAK,OAASO,GAAS,CAAC,GAAGb,EAAYK,EAAY,IAAI,EAAG,GAAGL,EAAYa,CAAI,CAAC,CAAC,EACrF,MAAOP,EAAK,QAAUC,GAAM,SAAS,OAAOA,CAAC,EAAG,EAAE,CAAC,EACnD,KAAMD,EAAK,OAASC,GAAM,SAAS,OAAOA,CAAC,EAAG,EAAE,CAAC,EAEjD,KAAM,IAAMJ,EAAQK,CAAK,EAAE,KAAKC,CAAa,EAC7C,QAAS,IAAMN,EAAQG,EAAK,OAAO,EAAE,EAAI,CAAC,EAAE,KAAKG,CAAa,EAC9D,MAAO,IAAMN,EAAQG,EAAK,OAAO,EAAE,EAAI,CAAC,EAAE,KAAKG,CAAa,EAE5D,OAASK,GAAYN,EAAM,MAAM,CAAE,QAAAM,CAAO,CAAE,EAC5C,aAAcR,EAAK,WAAY,CAACS,EAAeC,KAAa,CAAE,MAAOD,EAAe,GAAGC,CAAO,EAAG,EACjG,cAAe,IAAMV,EAAK,WAAW,EAAE,EAAI,CAC5C,EACD,OAAIF,EAAK,SACPI,EAAM,aAAe,CAACO,EAAeC,IAC5BR,EAAM,aAAaO,EAAeC,CAAO,EAAE,KAAM,EAAC,KAAKP,CAAa,GAEtED,CAGX,CC5DO,SAASS,EAAcpB,EAAO,CACnC,OAAO,KAAK,UAAUA,EAAOqB,CAAc,CAC7C,CAIA,SAASA,EAAeC,EAAMtB,EAAO,CACnC,OAAIA,aAAiB,OACZ,WAAWA,EAAM,SAAU,IAE7BA,CACT,CCFY,MAACuB,EAAqB3B,GAAW,CAC3C,IAAI4B,EAAUJ,EAAcxB,CAAM,EAClC,OAAA4B,EAAU,OAAO,OAAW,IAAc,OAAO,KAAKA,CAAO,EAAE,SAAS,QAAQ,EAAI,KAAKA,CAAO,EAChGA,EAAUA,EAAQ,QAAQ,MAAO,GAAG,EAAE,QAAQ,MAAO,GAAG,EAAE,QAAQ,KAAM,EAAE,GAC3DA,EAAQ,MAAM,WAAW,GAAK,CAAE,GACjC,KAAK,GAAG,CACxB,ECZaC,EAAmBC,GAAQC,EAASD,EAAKE,EAAgB,EAAG,OAAO,QAAQ,IAAI,OAAO,EACtFC,EAAqB,IAAM,CACtC,cAAQ,KAAK,yEAAyE,EACtF,QAAQ,KAAK,kEAAkE,EACzE,IAAI,MAAM,yEAAyE,CAC3F,EAkBaC,EAAoB,IAAM,CACrC,KAAM,CAAE,aAAAC,CAAc,EAAGH,EAAkB,EAAC,OAAO,QAInD,OAAIG,EAAa,SACR,GAEFC,EAAmB,EAAC,UAAW,CACxC,EC3BaC,EAAmB,IAAM,MAAOtB,GAAU,CACrD,KAAM,CAAE,QAAAuB,CAAO,EAAKN,EAAgB,EAAG,OACjChC,EAASe,EAAM,OAAQ,EACvBwB,EAAUD,EAAQ,aAAa,qBAAuBT,EAAgB,UAAkC,GAAGW,EAAKxC,CAAM,CAAC,IAAIsC,EAAQ,SAAS,EAAE,IAAIX,EAAkB3B,CAAM,CAAC,OAAO,EAAI6B,EAA6C,UAAUW,EAAKxC,CAAM,CAAC,IAAIsC,EAAQ,SAAS,OAAO,EAI3R,GAAIJ,EAAiB,EAEnB,OADW,YAAM,OAAO,eAAgB,EAAC,4CAAC,KAAMO,GAAMA,EAAE,oBAAoB,GAClE,MAAM1B,CAAK,EAEvB,MAAMvB,EAAO,MAAM,OAAO+C,EAAS,CACjC,OAAQ,MACR,aAAc,OACd,OAAQD,EAAQ,aAAa,qBAAuB,OAAS,CAC3D,QAASd,EAAcxB,CAAM,EAC7B,aAAcoC,EAAiB,EAAG,gBAAe,CACvD,CACA,CAAG,EACD,GAAI,OAAO5C,GAAS,UAAYA,EAAK,WAAW,iBAAiB,EAC/D,MAAM,IAAI,MAAM,WAAW,EAE7B,OAAOA,CACT,EACO,SAASkD,EAAa3B,KAAU4B,EAAW,CAChD,KAAM,CAAE,QAAAL,CAAO,EAAKN,EAAgB,EAAG,OACjCY,EAAenC,EAAY4B,IAAoB,CACnD,cAAe,OAAOtB,GAAU,SAAWA,EAAQ,CAAE,EACrD,OAAQ,EACZ,CAAG,EACD,IAAIlC,EACA,OAAOkC,GAAU,WACnBlC,EAAOgE,EAAiBC,EAAQ/B,EAAO,GAAG4B,CAAS,CAAC,GAEtD,MAAMI,EAAmBH,EAAa,OACtC,OAAAA,EAAa,OAAS,IAAM,WAC1B,MAAM5C,EAAS+C,EAAkB,EACjC,OAAIlE,IACFmB,EAAO,MAAQA,EAAO,OAAS,CAAE,EAC7BA,EAAO,QAAUA,EAAO,OAAS,CAAE,GAAE,SAAW,EAClDA,EAAO,MAAM,KAAK,CAAE,MAAOgD,EAAqBnE,CAAI,EAAG,EAEvDmB,EAAO,MAAM,KAAK,CAAE,MAAO,IAAI,OAAO,IAAInB,EAAK,QAAQ,uBAAwB,MAAM,CAAC,EAAE,CAAC,CAAE,IAG1FqC,EAAAlB,EAAO,OAAP,MAAAkB,EAAa,SAChBlB,EAAO,KAAO,CAAC,CAAE,MAAO,EAAG,SAAU,GAAM,GAEzCsC,EAAQ,QAAQ,UACEW,GAAAC,EAAAlD,EAAO,QAAP,YAAAkD,EAAc,KAAMC,GAAMA,EAAE,WAA5B,MAAAF,EAAsC,UAExDjD,EAAO,MAAQA,EAAO,OAAS,CAAE,EACjCA,EAAO,MAAM,KAAK,CAAE,QAASsC,EAAQ,cAAe,IAGjDtC,CACR,EACM4C,CACT","names":["get","obj","path","acc","part","_pick","condition","newObj","key","omit","keys","apply","fn","data","item","detectProperties","prefixes","properties","withoutKeys","withKeys","sortList","params","comperable","b","values","value","assertArray","message","ensureArray","arrayParams","createQuery","fetcher","opts","queryParams","$set","v","query","resolveResult","result","_a","q","sort","_locale","surroundQuery","options","jsonStringify","regExpReplacer","_key","encodeQueryParams","encoded","withContentBase","url","withBase","useRuntimeConfig","useContentDisabled","shouldUseClientDB","experimental","useContentPreview","createQueryFetch","content","apiPath","hash","m","queryContent","pathParts","queryBuilder","withLeadingSlash","joinURL","originalParamsFn","withoutTrailingSlash","_c","_b","w"],"ignoreList":[0,1,2,3,4,5],"sources":["../../../../node_modules/@nuxt/content/dist/runtime/query/match/utils.js","../../../../node_modules/@nuxt/content/dist/runtime/query/query.js","../../../../node_modules/@nuxt/content/dist/runtime/utils/json.js","../../../../node_modules/@nuxt/content/dist/runtime/utils/query.js","../../../../node_modules/@nuxt/content/dist/runtime/composables/utils.js","../../../../node_modules/@nuxt/content/dist/runtime/legacy/composables/query.js"],"sourcesContent":["export const get = (obj, path) => path.split(\".\").reduce((acc, part) => acc && acc[part], obj);\nconst _pick = (obj, condition) => Object.keys(obj).filter(condition).reduce((newObj, key) => Object.assign(newObj, { [key]: obj[key] }), {});\nexport const pick = (keys) => (obj) => keys && keys.length ? _pick(obj, (key) => keys.includes(key)) : obj;\nexport const omit = (keys) => (obj) => keys && keys.length ? _pick(obj, (key) => !keys.includes(key)) : obj;\nexport const apply = (fn) => (data) => Array.isArray(data) ? data.map((item) => fn(item)) : fn(data);\nexport const detectProperties = (keys) => {\n const prefixes = [];\n const properties = [];\n for (const key of keys) {\n if ([\"$\", \"_\"].includes(key)) {\n prefixes.push(key);\n } else {\n properties.push(key);\n }\n }\n return { prefixes, properties };\n};\nexport const withoutKeys = (keys = []) => (obj) => {\n if (keys.length === 0 || !obj) {\n return obj;\n }\n const { prefixes, properties } = detectProperties(keys);\n return _pick(obj, (key) => !properties.includes(key) && !prefixes.includes(key[0]));\n};\nexport const withKeys = (keys = []) => (obj) => {\n if (keys.length === 0 || !obj) {\n return obj;\n }\n const { prefixes, properties } = detectProperties(keys);\n return _pick(obj, (key) => properties.includes(key) || prefixes.includes(key[0]));\n};\nexport const sortList = (data, params) => {\n const comperable = new Intl.Collator(params.$locale, {\n numeric: params.$numeric,\n caseFirst: params.$caseFirst,\n sensitivity: params.$sensitivity\n });\n const keys = Object.keys(params).filter((key) => !key.startsWith(\"$\"));\n for (const key of keys) {\n data = data.sort((a, b) => {\n const values = [get(a, key), get(b, key)].map((value) => {\n if (value === null) {\n return void 0;\n }\n if (value instanceof Date) {\n return value.toISOString();\n }\n return value;\n });\n if (params[key] === -1) {\n values.reverse();\n }\n return comperable.compare(values[0], values[1]);\n });\n }\n return data;\n};\nexport const assertArray = (value, message = \"Expected an array\") => {\n if (!Array.isArray(value)) {\n throw new TypeError(message);\n }\n};\nexport const ensureArray = (value) => {\n return Array.isArray(value) ? value : [void 0, null].includes(value) ? [] : [value];\n};\n","import { ensureArray } from \"./match/utils.js\";\nconst arrayParams = [\"sort\", \"where\", \"only\", \"without\"];\nexport function createQuery(fetcher, opts = {}) {\n const queryParams = {};\n for (const key of Object.keys(opts.initialParams || {})) {\n queryParams[key] = arrayParams.includes(key) ? ensureArray(opts.initialParams[key]) : opts.initialParams[key];\n }\n const $set = (key, fn = (v) => v) => {\n return (...values) => {\n queryParams[key] = fn(...values);\n return query;\n };\n };\n const resolveResult = (result) => {\n if (opts.legacy) {\n if (result?.surround) {\n return result.surround;\n }\n if (!result) {\n return result;\n }\n if (result?.dirConfig) {\n result.result = {\n _path: result.dirConfig?._path,\n ...result.result,\n _dir: result.dirConfig\n };\n }\n return result?._path || Array.isArray(result) || !Object.prototype.hasOwnProperty.call(result, \"result\") ? result : result?.result;\n }\n return result;\n };\n const query = {\n params: () => ({\n ...queryParams,\n ...queryParams.where ? { where: [...ensureArray(queryParams.where)] } : {},\n ...queryParams.sort ? { sort: [...ensureArray(queryParams.sort)] } : {}\n }),\n only: $set(\"only\", ensureArray),\n without: $set(\"without\", ensureArray),\n where: $set(\"where\", (q) => [...ensureArray(queryParams.where), ...ensureArray(q)]),\n sort: $set(\"sort\", (sort) => [...ensureArray(queryParams.sort), ...ensureArray(sort)]),\n limit: $set(\"limit\", (v) => parseInt(String(v), 10)),\n skip: $set(\"skip\", (v) => parseInt(String(v), 10)),\n // find\n find: () => fetcher(query).then(resolveResult),\n findOne: () => fetcher($set(\"first\")(true)).then(resolveResult),\n count: () => fetcher($set(\"count\")(true)).then(resolveResult),\n // locale\n locale: (_locale) => query.where({ _locale }),\n withSurround: $set(\"surround\", (surroundQuery, options) => ({ query: surroundQuery, ...options })),\n withDirConfig: () => $set(\"dirConfig\")(true)\n };\n if (opts.legacy) {\n query.findSurround = (surroundQuery, options) => {\n return query.withSurround(surroundQuery, options).find().then(resolveResult);\n };\n return query;\n }\n return query;\n}\n","export function jsonStringify(value) {\n return JSON.stringify(value, regExpReplacer);\n}\nexport function jsonParse(value) {\n return JSON.parse(value, regExpReviver);\n}\nfunction regExpReplacer(_key, value) {\n if (value instanceof RegExp) {\n return `--REGEX ${value.toString()}`;\n }\n return value;\n}\nfunction regExpReviver(_key, value) {\n const withOperator = typeof value === \"string\" && value.match(/^--([A-Z]+) (.+)$/) || [];\n if (withOperator[1] === \"REGEX\") {\n const regex = withOperator[2]?.match(/\\/(.*)\\/([dgimsuy]*)$/);\n return regex?.[1] ? new RegExp(regex[1], regex[2] || \"\") : value;\n }\n return value;\n}\n","import { getQuery, createError } from \"h3\";\nimport { jsonParse, jsonStringify } from \"./json.js\";\nconst parseJSONQueryParams = (body) => {\n try {\n return jsonParse(body);\n } catch {\n throw createError({ statusCode: 400, message: \"Invalid _params query\" });\n }\n};\nexport const encodeQueryParams = (params) => {\n let encoded = jsonStringify(params);\n encoded = typeof Buffer !== \"undefined\" ? Buffer.from(encoded).toString(\"base64\") : btoa(encoded);\n encoded = encoded.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n const chunks = encoded.match(/.{1,100}/g) || [];\n return chunks.join(\"/\");\n};\nexport const decodeQueryParams = (encoded) => {\n encoded = encoded.replace(/\\//g, \"\");\n encoded = encoded.replace(/-/g, \"+\").replace(/_/g, \"/\");\n encoded = encoded.padEnd(encoded.length + (4 - encoded.length % 4) % 4, \"=\");\n return parseJSONQueryParams(typeof Buffer !== \"undefined\" ? Buffer.from(encoded, \"base64\").toString() : atob(encoded));\n};\nconst memory = {};\nexport const getContentQuery = (event) => {\n const { params } = event.context.params || {};\n if (params) {\n return decodeQueryParams(params.replace(/.json$/, \"\"));\n }\n const qid = event.context.params?.qid?.replace(/.json$/, \"\");\n const query = getQuery(event) || {};\n if (qid && query._params) {\n memory[qid] = parseJSONQueryParams(decodeURIComponent(query._params));\n if (memory[qid]?.where && !Array.isArray(memory[qid]?.where)) {\n memory[qid].where = [memory[qid].where];\n }\n return memory[qid];\n }\n if (qid && memory[qid]) {\n return memory[qid];\n }\n if (query._params) {\n return parseJSONQueryParams(decodeURIComponent(query._params));\n }\n if (typeof query.only === \"string\" && query.only.includes(\",\")) {\n query.only = query.only.split(\",\").map((s) => s.trim());\n }\n if (typeof query.without === \"string\" && query.without.includes(\",\")) {\n query.without = query.without.split(\",\").map((s) => s.trim());\n }\n const where = query.where || {};\n for (const key of [\"draft\", \"partial\", \"empty\"]) {\n if (query[key] && [\"true\", \"false\"].includes(query[key])) {\n where[key] = query[key] === \"true\";\n delete query[key];\n }\n }\n if (query.sort) {\n query.sort = String(query.sort).split(\",\").map((s) => {\n const [key, order] = s.split(\":\");\n return [key, Number.parseInt(order || \"0\", 10)];\n });\n }\n const reservedKeys = [\"partial\", \"draft\", \"only\", \"without\", \"where\", \"sort\", \"limit\", \"skip\"];\n for (const key of Object.keys(query)) {\n if (reservedKeys.includes(key)) {\n continue;\n }\n query.where = query.where || {};\n query.where[key] = query[key];\n }\n if (Object.keys(where).length > 0) {\n query.where = [where];\n } else {\n delete query.where;\n }\n return query;\n};\n","import { withBase } from \"ufo\";\nimport { useContentPreview } from \"./preview.js\";\nimport { useRuntimeConfig, useRequestEvent } from \"#imports\";\nexport const withContentBase = (url) => withBase(url, useRuntimeConfig().public.content.api.baseURL);\nexport const useContentDisabled = () => {\n console.warn(\"useContent is only accessible when you are using `documentDriven` mode.\");\n console.warn(\"Learn more by visiting: https://content.nuxt.com/document-driven\");\n throw new Error(\"useContent is only accessible when you are using `documentDriven` mode.\");\n};\nexport const navigationDisabled = () => {\n console.warn(\"Navigation is only accessible when you enable it in module options.\");\n console.warn(\"Learn more by visiting: https://content.nuxt.com/get-started/configuration#navigation\");\n throw new Error(\"Navigation is only accessible when you enable it in module options.\");\n};\nexport const addPrerenderPath = (path) => {\n const event = useRequestEvent();\n if (event) {\n event.node.res.setHeader(\n \"x-nitro-prerender\",\n [\n event.node.res.getHeader(\"x-nitro-prerender\"),\n path\n ].filter(Boolean).join(\",\")\n );\n }\n};\nexport const shouldUseClientDB = () => {\n const { experimental } = useRuntimeConfig().public.content;\n if (import.meta.server) {\n return false;\n }\n if (experimental.clientDB) {\n return true;\n }\n return useContentPreview().isEnabled();\n};\n","import { joinURL, withLeadingSlash, withoutTrailingSlash } from \"ufo\";\nimport { hash } from \"ohash\";\nimport { createQuery } from \"../../query/query.js\";\nimport { encodeQueryParams } from \"../../utils/query.js\";\nimport { jsonStringify } from \"../../utils/json.js\";\nimport { addPrerenderPath, shouldUseClientDB, withContentBase } from \"../../composables/utils.js\";\nimport { useContentPreview } from \"../../composables/preview.js\";\nimport { useRuntimeConfig } from \"#imports\";\nexport const createQueryFetch = () => async (query) => {\n const { content } = useRuntimeConfig().public;\n const params = query.params();\n const apiPath = content.experimental.stripQueryParameters ? withContentBase(`/query/${import.meta.dev ? \"_\" : `${hash(params)}.${content.integrity}`}/${encodeQueryParams(params)}.json`) : withContentBase(import.meta.dev ? \"/query\" : `/query/${hash(params)}.${content.integrity}.json`);\n if (!import.meta.dev && import.meta.server) {\n addPrerenderPath(apiPath);\n }\n if (shouldUseClientDB()) {\n const db = await import(\"./client-db.js\").then((m) => m.useContentDatabase());\n return db.fetch(query);\n }\n const data = await $fetch(apiPath, {\n method: \"GET\",\n responseType: \"json\",\n params: content.experimental.stripQueryParameters ? void 0 : {\n _params: jsonStringify(params),\n previewToken: useContentPreview().getPreviewToken()\n }\n });\n if (typeof data === \"string\" && data.startsWith(\"\")) {\n throw new Error(\"Not found\");\n }\n return data;\n};\nexport function queryContent(query, ...pathParts) {\n const { content } = useRuntimeConfig().public;\n const queryBuilder = createQuery(createQueryFetch(), {\n initialParams: typeof query !== \"string\" ? query : {},\n legacy: true\n });\n let path;\n if (typeof query === \"string\") {\n path = withLeadingSlash(joinURL(query, ...pathParts));\n }\n const originalParamsFn = queryBuilder.params;\n queryBuilder.params = () => {\n const params = originalParamsFn();\n if (path) {\n params.where = params.where || [];\n if (params.first && (params.where || []).length === 0) {\n params.where.push({ _path: withoutTrailingSlash(path) });\n } else {\n params.where.push({ _path: new RegExp(`^${path.replace(/[-[\\]{}()*+.,^$\\s/]/g, \"\\\\$&\")}`) });\n }\n }\n if (!params.sort?.length) {\n params.sort = [{ _stem: 1, $numeric: true }];\n }\n if (content.locales.length) {\n const queryLocale = params.where?.find((w) => w._locale)?._locale;\n if (!queryLocale) {\n params.where = params.where || [];\n params.where.push({ _locale: content.defaultLocale });\n }\n }\n return params;\n };\n return queryBuilder;\n}\n"],"file":"_nuxt/BXu0DuKU.js"}