MCPcopy Create free account
hub / github.com/arctic-cli/interface / querySerializer

Function querySerializer

packages/sdk/js/src/gen/client/utils.gen.ts:11–52  ·  view source on GitHub ↗
(queryParams: T)

Source from the content-addressed store, hash-verified

9
10export const createQuerySerializer = <T = unknown>({ allowReserved, array, object }: QuerySerializerOptions = {}) => {
11 const querySerializer = (queryParams: T) => {
12 const search: string[] = []
13 if (queryParams && typeof queryParams === "object") {
14 for (const name in queryParams) {
15 const value = queryParams[name]
16
17 if (value === undefined || value === null) {
18 continue
19 }
20
21 if (Array.isArray(value)) {
22 const serializedArray = serializeArrayParam({
23 allowReserved,
24 explode: true,
25 name,
26 style: "form",
27 value,
28 ...array,
29 })
30 if (serializedArray) search.push(serializedArray)
31 } else if (typeof value === "object") {
32 const serializedObject = serializeObjectParam({
33 allowReserved,
34 explode: true,
35 name,
36 style: "deepObject",
37 value: value as Record<string, unknown>,
38 ...object,
39 })
40 if (serializedObject) search.push(serializedObject)
41 } else {
42 const serializedPrimitive = serializePrimitiveParam({
43 allowReserved,
44 name,
45 value: value as string,
46 })
47 if (serializedPrimitive) search.push(serializedPrimitive)
48 }
49 }
50 }
51 return search.join("&")
52 }
53 return querySerializer
54}
55

Callers 1

getUrlFunction · 0.50

Calls 4

serializeArrayParamFunction · 0.90
serializeObjectParamFunction · 0.90
serializePrimitiveParamFunction · 0.90
pushMethod · 0.80

Tested by

no test coverage detected