@plasmicpkgs/plasmic-query 0.0.264 → 0.0.265

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-query.cjs.production.min.js","sources":["../src/Fetcher.tsx"],"sourcesContent":["import { DataProvider, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React, { ReactNode } from \"react\";\n\nexport interface GenericFetcherProps {\n children?: ReactNode;\n loadingDisplay?: ReactNode;\n previewSpinner?: boolean;\n errorDisplay?: ReactNode;\n previewErrorDisplay?: boolean;\n dataName?: string;\n errorName?: string;\n noLayout?: boolean;\n className?: string;\n}\n\ntype PropMetas<P> = CodeComponentMeta<P>[\"props\"];\n\ntype CustomError = Error & {\n info: Record<string, any>;\n status: number;\n};\n\nexport const genericFetcherPropsMeta: PropMetas<GenericFetcherProps> = {\n children: \"slot\",\n loadingDisplay: { type: \"slot\", defaultValue: \"Loading...\" },\n errorDisplay: { type: \"slot\", defaultValue: \"Error fetching data\" },\n dataName: {\n type: \"string\",\n displayName: \"Data name\",\n defaultValue: \"fetchedData\",\n description: \"Variable name to store the fetched data in\",\n },\n errorName: {\n type: \"string\",\n displayName: \"Error name\",\n defaultValue: \"fetchError\",\n description: \"Variable name to store the fetch error in\",\n },\n previewSpinner: {\n type: \"boolean\",\n description: \"Force preview the loading state\",\n displayName: \"Preview loading\",\n },\n previewErrorDisplay: {\n type: \"boolean\",\n description: \"Force preview the error display\",\n displayName: \"Preview error\",\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n};\n\nexport function GenericFetcherShell<T>({\n result,\n children,\n loadingDisplay,\n previewSpinner,\n errorDisplay,\n previewErrorDisplay,\n dataName,\n errorName,\n noLayout,\n className,\n}: GenericFetcherProps & {\n result: { data?: T; error?: Error; isLoading?: boolean };\n}) {\n const inEditor = !!usePlasmicCanvasContext();\n if (\n (inEditor && previewSpinner) ||\n (!(\"error\" in result) && !(\"data\" in result))\n ) {\n return <>{loadingDisplay ?? null}</>;\n } else if ((inEditor && previewErrorDisplay) || \"error\" in result) {\n return (\n <DataProvider name={errorName} data={result.error}>\n {errorDisplay ?? null}\n </DataProvider>\n );\n } else {\n const content = (\n <DataProvider name={dataName} data={result.data}>\n {children}\n </DataProvider>\n );\n return noLayout ? content : <div className={className}>{content}</div>;\n }\n}\n\nexport interface FetchProps {\n url?: string;\n method?: string;\n body?: string | object;\n headers?: Record<string, string>;\n}\n\n/**\n * Tries to return the JSON response, or else returns an object with a text key containing the response body text.\n */\nasync function performFetch({ url, method, body, headers }: FetchProps) {\n if (!url) {\n throw new Error(\"Please specify a URL to fetch\");\n }\n\n // Add default headers unless specified\n if (!headers) {\n headers = {};\n }\n const headerNamesLowercase = new Set(\n Object.keys(headers).map((headerName) => headerName.toLowerCase())\n );\n if (!headerNamesLowercase.has(\"accept\")) {\n headers[\"Accept\"] = \"application/json\";\n }\n if (body && !headerNamesLowercase.has(\"content-type\")) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n\n const response = await fetch(url, {\n method,\n headers,\n body:\n body === undefined\n ? body\n : typeof body === \"string\"\n ? body\n : JSON.stringify(body),\n });\n\n const text = await response.text();\n let json: Record<string, any> = { text };\n\n try {\n json = JSON.parse(text);\n } catch (e) {\n json = { text };\n }\n\n // @see https://swr.vercel.app/docs/error-handling\n // If the status code is not in the range 200-299,\n // we still try to parse and throw it.\n if (!response.ok) {\n const error = new Error(response.statusText) as CustomError;\n // Attach extra info to the error object.\n error.info = json;\n error.status = response.status;\n throw error;\n }\n\n return json;\n}\n\nexport interface DataFetcherProps extends FetchProps, GenericFetcherProps {\n queryKey?: string;\n}\n\nexport function DataFetcher(props: DataFetcherProps) {\n const { url, method, body, headers, queryKey } = props;\n const fetchProps: FetchProps = { url, method, body, headers };\n const result = usePlasmicQueryData(\n queryKey || JSON.stringify({ type: \"DataFetcher\", ...fetchProps }),\n () => performFetch(fetchProps)\n );\n return <GenericFetcherShell result={result} {...props} />;\n}\n\nfunction mkFetchProps(\n defaultUrl: string,\n defaultMethod: string\n): PropMetas<FetchProps & { queryKey?: string }> {\n return {\n url: {\n type: \"string\",\n defaultValue: defaultUrl,\n description: \"Where to fetch the data from\",\n },\n method: {\n type: \"choice\",\n options: [\n \"GET\",\n \"DELETE\",\n \"CONNECT\",\n \"HEAD\",\n \"OPTIONS\",\n \"POST\",\n \"PUT\",\n \"TRACE\",\n ],\n defaultValue: defaultMethod,\n description: \"Method to use when fetching\",\n },\n headers: {\n type: \"object\",\n description: \"Request headers (as JSON object) to send\",\n },\n queryKey: {\n type: \"string\",\n description:\n \"A globally unique ID for this query, used for invalidating queries\",\n invariantable: true,\n },\n };\n}\n\nexport const dataFetcherMeta: CodeComponentMeta<DataFetcherProps> = {\n name: \"hostless-plasmic-query-data-fetcher\",\n displayName: \"HTTP REST API Fetcher\",\n importName: \"DataFetcher\",\n importPath: \"@plasmicpkgs/plasmic-query\",\n providesData: true,\n description:\n \"These fetches may be run client-side (from the browser). Use [Data Queries](https://docs.plasmic.app/learn/http-api-integration/) for authenticated queries or CORS.\",\n props: {\n ...(mkFetchProps(\n \"https://api.github.com/users/plasmicapp/repos\",\n \"GET\"\n ) as any),\n body: {\n type: \"object\",\n description: \"JSON object to be sent in the request body\",\n },\n ...(genericFetcherPropsMeta as any),\n },\n defaultStyles: {\n maxWidth: \"100%\",\n width: \"stretch\",\n },\n};\n\nexport function registerDataFetcher(\n loader?: { registerComponent: typeof registerComponent },\n customDataFetcherMeta?: CodeComponentMeta<DataFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n DataFetcher,\n customDataFetcherMeta ?? dataFetcherMeta\n );\n } else {\n registerComponent(DataFetcher, customDataFetcherMeta ?? dataFetcherMeta);\n }\n}\n\nexport interface GraphqlFetcherProps\n extends GenericFetcherProps,\n Omit<FetchProps, \"body\"> {\n query?: { query?: string; variables?: object };\n queryKey?: string;\n varOverrides?: object;\n}\n\nexport function GraphqlFetcher(props: GraphqlFetcherProps) {\n const { query, url, method, headers, queryKey, varOverrides } = props;\n\n let fetchProps: FetchProps;\n if (method === \"GET\") {\n // https://graphql.org/learn/serving-over-http/#get-request-and-parameters\n const urlWithQueryParams = new URL(url ?? \"\");\n urlWithQueryParams.searchParams.set(\"query\", query?.query ?? \"{}\");\n urlWithQueryParams.searchParams.set(\n \"variables\",\n JSON.stringify({ ...query?.variables, ...varOverrides })\n );\n fetchProps = {\n url: urlWithQueryParams.toString(),\n method,\n headers,\n };\n } else {\n fetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\n };\n }\n\n const result = usePlasmicQueryData(\n queryKey || JSON.stringify({ type: \"GraphqlFetcher\", ...fetchProps }),\n () => performFetch(fetchProps)\n );\n return <GenericFetcherShell result={result} {...props} />;\n}\n\nexport const graphqlFetcherMeta: CodeComponentMeta<GraphqlFetcherProps> = {\n name: \"hostless-plasmic-query-graphql-fetcher\",\n displayName: \"GraphQL Fetcher\",\n importName: \"GraphqlFetcher\",\n importPath: \"@plasmicpkgs/plasmic-query\",\n providesData: true,\n props: (() => {\n const gqlMetas: PropMetas<GraphqlFetcherProps> = {\n query: {\n type: \"code\",\n lang: \"graphql\",\n headers: (props) => props.headers,\n endpoint: (props) => props.url ?? \"\",\n defaultValue: {\n query: `query ExampleQuery($personId: ID) {\n person(id: $personId) {\n id\n name\n skinColor\n filmConnection {\n films {\n id\n title\n }\n }\n }\n}\n`,\n variables: {\n personId: \"cGVvcGxlOjIw\", // Yoda\n },\n },\n },\n varOverrides: {\n type: \"object\",\n displayName: \"Override variables\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\n \"https://swapi-graphql.netlify.app/.netlify/functions/index\",\n \"POST\"\n ),\n ...gqlMetas,\n ...genericFetcherPropsMeta,\n };\n return {\n url,\n query,\n method,\n headers,\n queryKey,\n ...rest,\n } as any;\n })(),\n defaultStyles: {\n maxWidth: \"100%\",\n width: \"stretch\",\n },\n};\n\nexport function registerGraphqlFetcher(\n loader?: { registerComponent: typeof registerComponent },\n customDataFetcherMeta?: CodeComponentMeta<GraphqlFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n } else {\n registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n }\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n registerDataFetcher(loader);\n registerGraphqlFetcher(loader);\n}\n"],"names":["genericFetcherPropsMeta","children","loadingDisplay","type","defaultValue","errorDisplay","dataName","displayName","description","errorName","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","DataProvider","name","data","error","content","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","headerNamesLowercase","response","text","json","wrap","_context","prev","next","Error","Set","Object","keys","map","headerName","toLowerCase","has","fetch","undefined","JSON","stringify","sent","parse","e","ok","statusText","info","status","abrupt","stop","DataFetcher","props","fetchProps","usePlasmicQueryData","queryKey","_extends","mkFetchProps","defaultUrl","defaultMethod","options","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","_query$query","urlWithQueryParams","URL","searchParams","set","variables","toString","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","personId","_mkFetchProps$gqlMeta","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-query.cjs.production.min.js","sources":["../src/Fetcher.tsx"],"sourcesContent":["import { DataProvider, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React, { ReactNode } from \"react\";\n\nexport interface GenericFetcherProps {\n children?: ReactNode;\n loadingDisplay?: ReactNode;\n previewSpinner?: boolean;\n errorDisplay?: ReactNode;\n previewErrorDisplay?: boolean;\n dataName?: string;\n errorName?: string;\n noLayout?: boolean;\n className?: string;\n}\n\ntype PropMetas<P> = CodeComponentMeta<P>[\"props\"];\n\ntype CustomError = Error & {\n info: Record<string, any>;\n status: number;\n};\n\nexport const genericFetcherPropsMeta: PropMetas<GenericFetcherProps> = {\n children: \"slot\",\n loadingDisplay: { type: \"slot\", defaultValue: \"Loading...\" },\n errorDisplay: { type: \"slot\", defaultValue: \"Error fetching data\" },\n dataName: {\n type: \"string\",\n displayName: \"Data name\",\n defaultValue: \"fetchedData\",\n description: \"Variable name to store the fetched data in\",\n },\n errorName: {\n type: \"string\",\n displayName: \"Error name\",\n defaultValue: \"fetchError\",\n description: \"Variable name to store the fetch error in\",\n },\n previewSpinner: {\n type: \"boolean\",\n description: \"Force preview the loading state\",\n displayName: \"Preview loading\",\n },\n previewErrorDisplay: {\n type: \"boolean\",\n description: \"Force preview the error display\",\n displayName: \"Preview error\",\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n};\n\nexport function GenericFetcherShell<T>({\n result,\n children,\n loadingDisplay,\n previewSpinner,\n errorDisplay,\n previewErrorDisplay,\n dataName,\n errorName,\n noLayout,\n className,\n}: GenericFetcherProps & {\n result: { data?: T; error?: Error; isLoading?: boolean };\n}) {\n const inEditor = !!usePlasmicCanvasContext();\n if (\n (inEditor && previewSpinner) ||\n (!(\"error\" in result) && !(\"data\" in result))\n ) {\n return <>{loadingDisplay ?? null}</>;\n } else if ((inEditor && previewErrorDisplay) || \"error\" in result) {\n return (\n <DataProvider name={errorName} data={result.error}>\n {errorDisplay ?? null}\n </DataProvider>\n );\n } else {\n const content = (\n <DataProvider name={dataName} data={result.data}>\n {children}\n </DataProvider>\n );\n return noLayout ? content : <div className={className}>{content}</div>;\n }\n}\n\nexport interface FetchProps {\n url?: string;\n method?: string;\n body?: string | object;\n headers?: Record<string, string>;\n}\n\n/**\n * Tries to return the JSON response, or else returns an object with a text key containing the response body text.\n */\nasync function performFetch({ url, method, body, headers }: FetchProps) {\n if (!url) {\n throw new Error(\"Please specify a URL to fetch\");\n }\n\n // Add default headers unless specified\n if (!headers) {\n headers = {};\n }\n const headerNamesLowercase = new Set(\n Object.keys(headers).map((headerName) => headerName.toLowerCase())\n );\n if (!headerNamesLowercase.has(\"accept\")) {\n headers[\"Accept\"] = \"application/json\";\n }\n if (body && !headerNamesLowercase.has(\"content-type\")) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n\n const response = await fetch(url, {\n method,\n headers,\n body:\n body === undefined\n ? body\n : typeof body === \"string\"\n ? body\n : JSON.stringify(body),\n });\n\n const text = await response.text();\n let json: Record<string, any> = { text };\n\n try {\n json = JSON.parse(text);\n } catch (e) {\n json = { text };\n }\n\n // @see https://swr.vercel.app/docs/error-handling\n // If the status code is not in the range 200-299,\n // we still try to parse and throw it.\n if (!response.ok) {\n const error = new Error(response.statusText) as CustomError;\n // Attach extra info to the error object.\n error.info = json;\n error.status = response.status;\n throw error;\n }\n\n return json;\n}\n\nexport interface DataFetcherProps extends FetchProps, GenericFetcherProps {\n queryKey?: string;\n}\n\nexport function DataFetcher(props: DataFetcherProps) {\n const { url, method, body, headers, queryKey } = props;\n const fetchProps: FetchProps = { url, method, body, headers };\n const result = usePlasmicQueryData(\n queryKey || JSON.stringify({ type: \"DataFetcher\", ...fetchProps }),\n () => performFetch(fetchProps)\n );\n return <GenericFetcherShell result={result} {...props} />;\n}\n\nfunction mkFetchProps(\n defaultUrl: string,\n defaultMethod: string\n): PropMetas<FetchProps & { queryKey?: string }> {\n return {\n url: {\n type: \"string\",\n defaultValue: defaultUrl,\n description: \"Where to fetch the data from\",\n },\n method: {\n type: \"choice\",\n options: [\n \"GET\",\n \"DELETE\",\n \"CONNECT\",\n \"HEAD\",\n \"OPTIONS\",\n \"POST\",\n \"PUT\",\n \"TRACE\",\n ],\n defaultValue: defaultMethod,\n description: \"Method to use when fetching\",\n },\n headers: {\n type: \"object\",\n description: \"Request headers (as JSON object) to send\",\n },\n queryKey: {\n type: \"string\",\n description:\n \"A globally unique ID for this query, used for invalidating queries\",\n invariantable: true,\n },\n };\n}\n\nexport const dataFetcherMeta: CodeComponentMeta<DataFetcherProps> = {\n name: \"hostless-plasmic-query-data-fetcher\",\n displayName: \"HTTP REST API Fetcher\",\n importName: \"DataFetcher\",\n importPath: \"@plasmicpkgs/plasmic-query\",\n providesData: true,\n description:\n \"These fetches may be run client-side (from the browser). Use [Data Queries](https://docs.plasmic.app/learn/http-api-integration/) for authenticated queries or CORS.\",\n props: {\n ...(mkFetchProps(\n \"https://api.github.com/users/plasmicapp/repos\",\n \"GET\"\n ) as any),\n body: {\n type: \"object\",\n description: \"JSON object to be sent in the request body\",\n },\n ...(genericFetcherPropsMeta as any),\n },\n defaultStyles: {\n maxWidth: \"100%\",\n width: \"stretch\",\n },\n};\n\nexport function registerDataFetcher(\n loader?: { registerComponent: typeof registerComponent },\n customDataFetcherMeta?: CodeComponentMeta<DataFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n DataFetcher,\n customDataFetcherMeta ?? dataFetcherMeta\n );\n } else {\n registerComponent(DataFetcher, customDataFetcherMeta ?? dataFetcherMeta);\n }\n}\n\nexport interface GraphqlFetcherProps\n extends GenericFetcherProps,\n Omit<FetchProps, \"body\"> {\n query?: { query?: string; variables?: object };\n queryKey?: string;\n varOverrides?: object;\n}\n\nexport function GraphqlFetcher(props: GraphqlFetcherProps) {\n const { query, url, method, headers, queryKey, varOverrides } = props;\n\n let fetchProps: FetchProps;\n if (method === \"GET\") {\n // https://graphql.org/learn/serving-over-http/#get-request-and-parameters\n const urlWithQueryParams = new URL(url ?? \"\");\n urlWithQueryParams.searchParams.set(\"query\", query?.query ?? \"{}\");\n urlWithQueryParams.searchParams.set(\n \"variables\",\n JSON.stringify({ ...query?.variables, ...varOverrides })\n );\n fetchProps = {\n url: urlWithQueryParams.toString(),\n method,\n headers,\n };\n } else {\n fetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\n };\n }\n\n const result = usePlasmicQueryData(\n queryKey || JSON.stringify({ type: \"GraphqlFetcher\", ...fetchProps }),\n () => performFetch(fetchProps)\n );\n return <GenericFetcherShell result={result} {...props} />;\n}\n\nexport const graphqlFetcherMeta: CodeComponentMeta<GraphqlFetcherProps> = {\n name: \"hostless-plasmic-query-graphql-fetcher\",\n displayName: \"GraphQL Fetcher\",\n importName: \"GraphqlFetcher\",\n importPath: \"@plasmicpkgs/plasmic-query\",\n providesData: true,\n props: (() => {\n const gqlMetas: PropMetas<GraphqlFetcherProps> = {\n query: {\n type: \"code\",\n lang: \"graphql\",\n headers: (props) => props.headers,\n endpoint: (props) => props.url ?? \"\",\n defaultValue: {\n query: `query ExampleQuery($personId: ID) {\n person(id: $personId) {\n id\n name\n skinColor\n filmConnection {\n films {\n id\n title\n }\n }\n }\n}\n`,\n variables: {\n personId: \"cGVvcGxlOjIw\", // Yoda\n },\n },\n },\n varOverrides: {\n type: \"object\",\n displayName: \"Override variables\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\n \"https://swapi-graphql.netlify.app/.netlify/functions/index\",\n \"POST\"\n ),\n ...gqlMetas,\n ...genericFetcherPropsMeta,\n };\n return {\n url,\n query,\n method,\n headers,\n queryKey,\n ...rest,\n } as any;\n })(),\n defaultStyles: {\n maxWidth: \"100%\",\n width: \"stretch\",\n },\n};\n\nexport function registerGraphqlFetcher(\n loader?: { registerComponent: typeof registerComponent },\n customDataFetcherMeta?: CodeComponentMeta<GraphqlFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n } else {\n registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n }\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n registerDataFetcher(loader);\n registerGraphqlFetcher(loader);\n}\n"],"names":["genericFetcherPropsMeta","children","loadingDisplay","type","defaultValue","errorDisplay","dataName","displayName","description","errorName","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","DataProvider","name","data","error","content","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_ref2","url","method","body","headers","headerNamesLowercase","response","text","json","w","_context","n","Error","Set","Object","keys","map","headerName","toLowerCase","has","fetch","undefined","JSON","stringify","v","parse","e","ok","statusText","info","status","a","DataFetcher","props","fetchProps","usePlasmicQueryData","queryKey","_extends","mkFetchProps","defaultUrl","defaultMethod","options","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","_query$query","urlWithQueryParams","URL","searchParams","set","variables","toString","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","personId","_mkFetchProps$gqlMeta","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher"],"mappings":"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"}
@@ -46,306 +46,113 @@ function _objectWithoutPropertiesLoose(r, e) {
46
46
  }
47
47
  return t;
48
48
  }
49
- function _regeneratorRuntime() {
50
- _regeneratorRuntime = function () {
51
- return e;
52
- };
53
- var t,
54
- e = {},
55
- r = Object.prototype,
56
- n = r.hasOwnProperty,
57
- o = Object.defineProperty || function (t, e, r) {
58
- t[e] = r.value;
59
- },
60
- i = "function" == typeof Symbol ? Symbol : {},
61
- a = i.iterator || "@@iterator",
62
- c = i.asyncIterator || "@@asyncIterator",
63
- u = i.toStringTag || "@@toStringTag";
64
- function define(t, e, r) {
65
- return Object.defineProperty(t, e, {
66
- value: r,
67
- enumerable: !0,
68
- configurable: !0,
69
- writable: !0
70
- }), t[e];
71
- }
72
- try {
73
- define({}, "");
74
- } catch (t) {
75
- define = function (t, e, r) {
76
- return t[e] = r;
77
- };
78
- }
79
- function wrap(t, e, r, n) {
80
- var i = e && e.prototype instanceof Generator ? e : Generator,
81
- a = Object.create(i.prototype),
82
- c = new Context(n || []);
83
- return o(a, "_invoke", {
84
- value: makeInvokeMethod(t, r, c)
85
- }), a;
86
- }
87
- function tryCatch(t, e, r) {
88
- try {
89
- return {
90
- type: "normal",
91
- arg: t.call(e, r)
92
- };
93
- } catch (t) {
94
- return {
95
- type: "throw",
96
- arg: t
97
- };
98
- }
99
- }
100
- e.wrap = wrap;
101
- var h = "suspendedStart",
102
- l = "suspendedYield",
103
- f = "executing",
104
- s = "completed",
105
- y = {};
106
- function Generator() {}
107
- function GeneratorFunction() {}
108
- function GeneratorFunctionPrototype() {}
109
- var p = {};
110
- define(p, a, function () {
111
- return this;
112
- });
113
- var d = Object.getPrototypeOf,
114
- v = d && d(d(values([])));
115
- v && v !== r && n.call(v, a) && (p = v);
116
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
117
- function defineIteratorMethods(t) {
118
- ["next", "throw", "return"].forEach(function (e) {
119
- define(t, e, function (t) {
120
- return this._invoke(e, t);
121
- });
122
- });
123
- }
124
- function AsyncIterator(t, e) {
125
- function invoke(r, o, i, a) {
126
- var c = tryCatch(t[r], t, o);
127
- if ("throw" !== c.type) {
128
- var u = c.arg,
129
- h = u.value;
130
- return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
131
- invoke("next", t, i, a);
132
- }, function (t) {
133
- invoke("throw", t, i, a);
134
- }) : e.resolve(h).then(function (t) {
135
- u.value = t, i(u);
136
- }, function (t) {
137
- return invoke("throw", t, i, a);
138
- });
139
- }
140
- a(c.arg);
141
- }
142
- var r;
143
- o(this, "_invoke", {
144
- value: function (t, n) {
145
- function callInvokeWithMethodAndArg() {
146
- return new e(function (e, r) {
147
- invoke(t, n, e, r);
148
- });
49
+ function _regenerator() {
50
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
51
+ var e,
52
+ t,
53
+ r = "function" == typeof Symbol ? Symbol : {},
54
+ n = r.iterator || "@@iterator",
55
+ o = r.toStringTag || "@@toStringTag";
56
+ function i(r, n, o, i) {
57
+ var c = n && n.prototype instanceof Generator ? n : Generator,
58
+ u = Object.create(c.prototype);
59
+ return _regeneratorDefine(u, "_invoke", function (r, n, o) {
60
+ var i,
61
+ c,
62
+ u,
63
+ f = 0,
64
+ p = o || [],
65
+ y = !1,
66
+ G = {
67
+ p: 0,
68
+ n: 0,
69
+ v: e,
70
+ a: d,
71
+ f: d.bind(e, 4),
72
+ d: function (t, r) {
73
+ return i = t, c = 0, u = e, G.n = r, a;
74
+ }
75
+ };
76
+ function d(r, n) {
77
+ for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
78
+ var o,
79
+ i = p[t],
80
+ d = G.p,
81
+ l = i[2];
82
+ r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
149
83
  }
150
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
84
+ if (o || r > 1) return a;
85
+ throw y = !0, n;
151
86
  }
152
- });
153
- }
154
- function makeInvokeMethod(e, r, n) {
155
- var o = h;
156
- return function (i, a) {
157
- if (o === f) throw Error("Generator is already running");
158
- if (o === s) {
159
- if ("throw" === i) throw a;
87
+ return function (o, p, l) {
88
+ if (f > 1) throw TypeError("Generator is already running");
89
+ for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
90
+ i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
91
+ try {
92
+ if (f = 2, i) {
93
+ if (c || (o = "next"), t = i[o]) {
94
+ if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
95
+ if (!t.done) return t;
96
+ u = t.value, c < 2 && (c = 0);
97
+ } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
98
+ i = e;
99
+ } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
100
+ } catch (t) {
101
+ i = e, c = 1, u = t;
102
+ } finally {
103
+ f = 1;
104
+ }
105
+ }
160
106
  return {
161
107
  value: t,
162
- done: !0
108
+ done: y
163
109
  };
164
- }
165
- for (n.method = i, n.arg = a;;) {
166
- var c = n.delegate;
167
- if (c) {
168
- var u = maybeInvokeDelegate(c, n);
169
- if (u) {
170
- if (u === y) continue;
171
- return u;
172
- }
173
- }
174
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
175
- if (o === h) throw o = s, n.arg;
176
- n.dispatchException(n.arg);
177
- } else "return" === n.method && n.abrupt("return", n.arg);
178
- o = f;
179
- var p = tryCatch(e, r, n);
180
- if ("normal" === p.type) {
181
- if (o = n.done ? s : l, p.arg === y) continue;
182
- return {
183
- value: p.arg,
184
- done: n.done
185
- };
186
- }
187
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
188
- }
189
- };
190
- }
191
- function maybeInvokeDelegate(e, r) {
192
- var n = r.method,
193
- o = e.iterator[n];
194
- if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
195
- var i = tryCatch(o, e.iterator, r.arg);
196
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
197
- var a = i.arg;
198
- return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
199
- }
200
- function pushTryEntry(t) {
201
- var e = {
202
- tryLoc: t[0]
203
- };
204
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
205
- }
206
- function resetTryEntry(t) {
207
- var e = t.completion || {};
208
- e.type = "normal", delete e.arg, t.completion = e;
209
- }
210
- function Context(t) {
211
- this.tryEntries = [{
212
- tryLoc: "root"
213
- }], t.forEach(pushTryEntry, this), this.reset(!0);
110
+ };
111
+ }(r, o, i), !0), u;
214
112
  }
215
- function values(e) {
216
- if (e || "" === e) {
217
- var r = e[a];
218
- if (r) return r.call(e);
219
- if ("function" == typeof e.next) return e;
220
- if (!isNaN(e.length)) {
221
- var o = -1,
222
- i = function next() {
223
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
224
- return next.value = t, next.done = !0, next;
225
- };
226
- return i.next = i;
227
- }
228
- }
229
- throw new TypeError(typeof e + " is not iterable");
113
+ var a = {};
114
+ function Generator() {}
115
+ function GeneratorFunction() {}
116
+ function GeneratorFunctionPrototype() {}
117
+ t = Object.getPrototypeOf;
118
+ var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
119
+ return this;
120
+ }), t),
121
+ u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
122
+ function f(e) {
123
+ return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
230
124
  }
231
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
232
- value: GeneratorFunctionPrototype,
233
- configurable: !0
234
- }), o(GeneratorFunctionPrototype, "constructor", {
235
- value: GeneratorFunction,
236
- configurable: !0
237
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
238
- var e = "function" == typeof t && t.constructor;
239
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
240
- }, e.mark = function (t) {
241
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
242
- }, e.awrap = function (t) {
243
- return {
244
- __await: t
245
- };
246
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
247
- return this;
248
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
249
- void 0 === i && (i = Promise);
250
- var a = new AsyncIterator(wrap(t, r, n, o), i);
251
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
252
- return t.done ? t.value : a.next();
253
- });
254
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
125
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
255
126
  return this;
256
- }), define(g, "toString", function () {
127
+ }), _regeneratorDefine(u, "toString", function () {
257
128
  return "[object Generator]";
258
- }), e.keys = function (t) {
259
- var e = Object(t),
260
- r = [];
261
- for (var n in e) r.push(n);
262
- return r.reverse(), function next() {
263
- for (; r.length;) {
264
- var t = r.pop();
265
- if (t in e) return next.value = t, next.done = !1, next;
266
- }
267
- return next.done = !0, next;
129
+ }), (_regenerator = function () {
130
+ return {
131
+ w: i,
132
+ m: f
268
133
  };
269
- }, e.values = values, Context.prototype = {
270
- constructor: Context,
271
- reset: function (e) {
272
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
273
- },
274
- stop: function () {
275
- this.done = !0;
276
- var t = this.tryEntries[0].completion;
277
- if ("throw" === t.type) throw t.arg;
278
- return this.rval;
279
- },
280
- dispatchException: function (e) {
281
- if (this.done) throw e;
282
- var r = this;
283
- function handle(n, o) {
284
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
285
- }
286
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
287
- var i = this.tryEntries[o],
288
- a = i.completion;
289
- if ("root" === i.tryLoc) return handle("end");
290
- if (i.tryLoc <= this.prev) {
291
- var c = n.call(i, "catchLoc"),
292
- u = n.call(i, "finallyLoc");
293
- if (c && u) {
294
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
295
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
296
- } else if (c) {
297
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
298
- } else {
299
- if (!u) throw Error("try statement without catch or finally");
300
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
301
- }
302
- }
303
- }
304
- },
305
- abrupt: function (t, e) {
306
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
307
- var o = this.tryEntries[r];
308
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
309
- var i = o;
310
- break;
311
- }
312
- }
313
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
314
- var a = i ? i.completion : {};
315
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
316
- },
317
- complete: function (t, e) {
318
- if ("throw" === t.type) throw t.arg;
319
- return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
320
- },
321
- finish: function (t) {
322
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
323
- var r = this.tryEntries[e];
324
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
325
- }
326
- },
327
- catch: function (t) {
328
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
329
- var r = this.tryEntries[e];
330
- if (r.tryLoc === t) {
331
- var n = r.completion;
332
- if ("throw" === n.type) {
333
- var o = n.arg;
334
- resetTryEntry(r);
335
- }
336
- return o;
337
- }
338
- }
339
- throw Error("illegal catch attempt");
340
- },
341
- delegateYield: function (e, r, n) {
342
- return this.delegate = {
343
- iterator: values(e),
344
- resultName: r,
345
- nextLoc: n
346
- }, "next" === this.method && (this.arg = t), y;
134
+ })();
135
+ }
136
+ function _regeneratorDefine(e, r, n, t) {
137
+ var i = Object.defineProperty;
138
+ try {
139
+ i({}, "", {});
140
+ } catch (e) {
141
+ i = 0;
142
+ }
143
+ _regeneratorDefine = function (e, r, n, t) {
144
+ function o(r, n) {
145
+ _regeneratorDefine(e, r, function (e) {
146
+ return this._invoke(r, n, e);
147
+ });
347
148
  }
348
- }, e;
149
+ r ? i ? i(e, r, {
150
+ value: n,
151
+ enumerable: !t,
152
+ configurable: !t,
153
+ writable: !t
154
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
155
+ }, _regeneratorDefine(e, r, n, t);
349
156
  }
350
157
 
351
158
  var _excluded = ["url", "query", "method", "headers", "queryKey"];
@@ -424,18 +231,18 @@ function performFetch(_x) {
424
231
  return _performFetch.apply(this, arguments);
425
232
  }
426
233
  function _performFetch() {
427
- _performFetch = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
234
+ _performFetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref2) {
428
235
  var url, method, body, headers, headerNamesLowercase, response, text, json, error;
429
- return _regeneratorRuntime().wrap(function _callee$(_context) {
430
- while (1) switch (_context.prev = _context.next) {
236
+ return _regenerator().w(function (_context) {
237
+ while (1) switch (_context.n) {
431
238
  case 0:
432
239
  url = _ref2.url, method = _ref2.method, body = _ref2.body, headers = _ref2.headers;
433
240
  if (url) {
434
- _context.next = 3;
241
+ _context.n = 1;
435
242
  break;
436
243
  }
437
244
  throw new Error("Please specify a URL to fetch");
438
- case 3:
245
+ case 1:
439
246
  // Add default headers unless specified
440
247
  if (!headers) {
441
248
  headers = {};
@@ -449,18 +256,18 @@ function _performFetch() {
449
256
  if (body && !headerNamesLowercase.has("content-type")) {
450
257
  headers["Content-Type"] = "application/json";
451
258
  }
452
- _context.next = 9;
259
+ _context.n = 2;
453
260
  return fetch(url, {
454
261
  method: method,
455
262
  headers: headers,
456
263
  body: body === undefined ? body : typeof body === "string" ? body : JSON.stringify(body)
457
264
  });
458
- case 9:
459
- response = _context.sent;
460
- _context.next = 12;
265
+ case 2:
266
+ response = _context.v;
267
+ _context.n = 3;
461
268
  return response.text();
462
- case 12:
463
- text = _context.sent;
269
+ case 3:
270
+ text = _context.v;
464
271
  json = {
465
272
  text: text
466
273
  };
@@ -475,18 +282,15 @@ function _performFetch() {
475
282
  // If the status code is not in the range 200-299,
476
283
  // we still try to parse and throw it.
477
284
  if (response.ok) {
478
- _context.next = 20;
285
+ _context.n = 4;
479
286
  break;
480
287
  }
481
288
  error = new Error(response.statusText); // Attach extra info to the error object.
482
289
  error.info = json;
483
290
  error.status = response.status;
484
291
  throw error;
485
- case 20:
486
- return _context.abrupt("return", json);
487
- case 21:
488
- case "end":
489
- return _context.stop();
292
+ case 4:
293
+ return _context.a(2, json);
490
294
  }
491
295
  }, _callee);
492
296
  }));