@plasmicpkgs/plasmic-query 0.0.267 → 0.0.269
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/dist/Fetcher.d.ts +53 -53
- package/dist/index.d.ts +1 -1
- package/dist/plasmic-query.cjs.development.js +5 -5
- package/dist/plasmic-query.cjs.development.js.map +1 -1
- package/dist/plasmic-query.cjs.production.min.js +1 -1
- package/dist/plasmic-query.cjs.production.min.js.map +1 -1
- package/dist/plasmic-query.esm.js +5 -5
- package/dist/plasmic-query.esm.js.map +1 -1
- package/package.json +5 -5
package/dist/Fetcher.d.ts
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import registerComponent, { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
|
|
2
|
-
import React, { ReactNode } from "react";
|
|
3
|
-
export interface GenericFetcherProps {
|
|
4
|
-
children?: ReactNode;
|
|
5
|
-
loadingDisplay?: ReactNode;
|
|
6
|
-
previewSpinner?: boolean;
|
|
7
|
-
errorDisplay?: ReactNode;
|
|
8
|
-
previewErrorDisplay?: boolean;
|
|
9
|
-
dataName?: string;
|
|
10
|
-
errorName?: string;
|
|
11
|
-
noLayout?: boolean;
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export declare const genericFetcherPropsMeta: PropMetas<GenericFetcherProps>;
|
|
16
|
-
export declare function GenericFetcherShell<T>({ result, children, loadingDisplay, previewSpinner, errorDisplay, previewErrorDisplay, dataName, errorName, noLayout, className, }: GenericFetcherProps & {
|
|
17
|
-
result: {
|
|
18
|
-
data?: T;
|
|
19
|
-
error?: Error;
|
|
20
|
-
isLoading?: boolean;
|
|
21
|
-
};
|
|
22
|
-
}): React.JSX.Element;
|
|
23
|
-
export interface FetchProps {
|
|
24
|
-
url?: string;
|
|
25
|
-
method?: string;
|
|
26
|
-
body?: string | object;
|
|
27
|
-
headers?: Record<string, string>;
|
|
28
|
-
}
|
|
29
|
-
export interface DataFetcherProps extends FetchProps, GenericFetcherProps {
|
|
30
|
-
queryKey?: string;
|
|
31
|
-
}
|
|
32
|
-
export declare function DataFetcher(props: DataFetcherProps): React.JSX.Element;
|
|
33
|
-
export declare const dataFetcherMeta: CodeComponentMeta<DataFetcherProps>;
|
|
34
|
-
export declare function registerDataFetcher(loader?: {
|
|
35
|
-
registerComponent: typeof registerComponent;
|
|
36
|
-
}, customDataFetcherMeta?: CodeComponentMeta<DataFetcherProps>): void;
|
|
37
|
-
export interface GraphqlFetcherProps extends GenericFetcherProps, Omit<FetchProps, "body"> {
|
|
38
|
-
query?: {
|
|
39
|
-
query?: string;
|
|
40
|
-
variables?: object;
|
|
41
|
-
};
|
|
42
|
-
queryKey?: string;
|
|
43
|
-
varOverrides?: object;
|
|
44
|
-
}
|
|
45
|
-
export declare function GraphqlFetcher(props: GraphqlFetcherProps): React.JSX.Element;
|
|
46
|
-
export declare const graphqlFetcherMeta: CodeComponentMeta<GraphqlFetcherProps>;
|
|
47
|
-
export declare function registerGraphqlFetcher(loader?: {
|
|
48
|
-
registerComponent: typeof registerComponent;
|
|
49
|
-
}, customDataFetcherMeta?: CodeComponentMeta<GraphqlFetcherProps>): void;
|
|
50
|
-
export declare function registerAll(loader?: {
|
|
51
|
-
registerComponent: typeof registerComponent;
|
|
52
|
-
}): void;
|
|
53
|
-
export {};
|
|
1
|
+
import registerComponent, { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
export interface GenericFetcherProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
loadingDisplay?: ReactNode;
|
|
6
|
+
previewSpinner?: boolean;
|
|
7
|
+
errorDisplay?: ReactNode;
|
|
8
|
+
previewErrorDisplay?: boolean;
|
|
9
|
+
dataName?: string;
|
|
10
|
+
errorName?: string;
|
|
11
|
+
noLayout?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
type PropMetas<P> = CodeComponentMeta<P>["props"];
|
|
15
|
+
export declare const genericFetcherPropsMeta: PropMetas<GenericFetcherProps>;
|
|
16
|
+
export declare function GenericFetcherShell<T>({ result, children, loadingDisplay, previewSpinner, errorDisplay, previewErrorDisplay, dataName, errorName, noLayout, className, }: GenericFetcherProps & {
|
|
17
|
+
result: {
|
|
18
|
+
data?: T;
|
|
19
|
+
error?: Error;
|
|
20
|
+
isLoading?: boolean;
|
|
21
|
+
};
|
|
22
|
+
}): React.JSX.Element;
|
|
23
|
+
export interface FetchProps {
|
|
24
|
+
url?: string;
|
|
25
|
+
method?: string;
|
|
26
|
+
body?: string | object;
|
|
27
|
+
headers?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
export interface DataFetcherProps extends FetchProps, GenericFetcherProps {
|
|
30
|
+
queryKey?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function DataFetcher(props: DataFetcherProps): React.JSX.Element;
|
|
33
|
+
export declare const dataFetcherMeta: CodeComponentMeta<DataFetcherProps>;
|
|
34
|
+
export declare function registerDataFetcher(loader?: {
|
|
35
|
+
registerComponent: typeof registerComponent;
|
|
36
|
+
}, customDataFetcherMeta?: CodeComponentMeta<DataFetcherProps>): void;
|
|
37
|
+
export interface GraphqlFetcherProps extends GenericFetcherProps, Omit<FetchProps, "body"> {
|
|
38
|
+
query?: {
|
|
39
|
+
query?: string;
|
|
40
|
+
variables?: object;
|
|
41
|
+
};
|
|
42
|
+
queryKey?: string;
|
|
43
|
+
varOverrides?: object;
|
|
44
|
+
}
|
|
45
|
+
export declare function GraphqlFetcher(props: GraphqlFetcherProps): React.JSX.Element;
|
|
46
|
+
export declare const graphqlFetcherMeta: CodeComponentMeta<GraphqlFetcherProps>;
|
|
47
|
+
export declare function registerGraphqlFetcher(loader?: {
|
|
48
|
+
registerComponent: typeof registerComponent;
|
|
49
|
+
}, customDataFetcherMeta?: CodeComponentMeta<GraphqlFetcherProps>): void;
|
|
50
|
+
export declare function registerAll(loader?: {
|
|
51
|
+
registerComponent: typeof registerComponent;
|
|
52
|
+
}): void;
|
|
53
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./Fetcher";
|
|
1
|
+
export * from "./Fetcher";
|
|
@@ -230,8 +230,8 @@ function GenericFetcherShell(_ref) {
|
|
|
230
230
|
}, content);
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
-
/**
|
|
234
|
-
* Tries to return the JSON response, or else returns an object with a text key containing the response body text.
|
|
233
|
+
/**
|
|
234
|
+
* Tries to return the JSON response, or else returns an object with a text key containing the response body text.
|
|
235
235
|
*/
|
|
236
236
|
function performFetch(_x) {
|
|
237
237
|
return _performFetch.apply(this, arguments);
|
|
@@ -319,7 +319,7 @@ function DataFetcher(props) {
|
|
|
319
319
|
}, fetchProps)), function () {
|
|
320
320
|
return performFetch(fetchProps);
|
|
321
321
|
});
|
|
322
|
-
return React.createElement(GenericFetcherShell,
|
|
322
|
+
return React.createElement(GenericFetcherShell, _extends({
|
|
323
323
|
result: result
|
|
324
324
|
}, props));
|
|
325
325
|
}
|
|
@@ -406,7 +406,7 @@ function GraphqlFetcher(props) {
|
|
|
406
406
|
}, fetchProps)), function () {
|
|
407
407
|
return performFetch(fetchProps);
|
|
408
408
|
});
|
|
409
|
-
return React.createElement(GenericFetcherShell,
|
|
409
|
+
return React.createElement(GenericFetcherShell, _extends({
|
|
410
410
|
result: result
|
|
411
411
|
}, props));
|
|
412
412
|
}
|
|
@@ -431,7 +431,7 @@ var graphqlFetcherMeta = {
|
|
|
431
431
|
defaultValue: {
|
|
432
432
|
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",
|
|
433
433
|
variables: {
|
|
434
|
-
personId: "cGVvcGxlOjIw"
|
|
434
|
+
personId: "cGVvcGxlOjIw" // Yoda
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
437
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-query.cjs.development.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","queryKey","fetchProps","usePlasmicQueryData","_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","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-query.cjs.development.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","queryKey","fetchProps","usePlasmicQueryData","_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","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@plasmicapp/host"),t=e(require("@plasmicapp/host/registerComponent")),n=require("@plasmicapp/query"),a=e(require("react"));function o(e,r,t,n,a,o,i){try{var s=e[o](i),u=s.value}catch(e){return void t(e)}s.done?r(u):Promise.resolve(u).then(n,a)}function i(e){return function(){var r=this,t=arguments;return new Promise((function(n,a){var i=e.apply(r,t);function s(e){o(i,n,a,s,u,"next",e)}function u(e){o(i,n,a,s,u,"throw",e)}s(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(null,arguments)}function u(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==r.indexOf(n))continue;t[n]=e[n]}return t}function l(){var e,r,t="function"==typeof Symbol?Symbol:{},n=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function o(t,n,a,o){var u=Object.create((n&&n.prototype instanceof s?n:s).prototype);return c(u,"_invoke",function(t,n,a){var o,s,u,l=0,c=a||[],p=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(r,t){return o=r,s=0,u=e,d.n=t,i}};function h(t,n){for(s=t,u=n,r=0;!p&&l&&!a&&r<c.length;r++){var a,o=c[r],h=d.p,f=o[2];t>3?(a=f===n)&&(u=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=h&&((a=t<2&&h<o[1])?(s=0,d.v=n,d.n=o[1]):h<f&&(a=t<3||o[0]>n||n>f)&&(o[4]=t,o[5]=n,d.n=f,s=0))}if(a||t>1)return i;throw p=!0,n}return function(a,c,f){if(l>1)throw TypeError("Generator is already running");for(p&&1===c&&h(c,f),s=c,u=f;(r=s<2?e:u)||!p;){o||(s?s<3?(s>1&&(d.n=-1),h(s,u)):d.n=u:d.v=u);try{if(l=2,o){if(s||(a="next"),r=o[a]){if(!(r=r.call(o,u)))throw TypeError("iterator result is not an object");if(!r.done)return r;u=r.value,s<2&&(s=0)}else 1===s&&(r=o.return)&&r.call(o),s<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),s=1);o=e}else if((r=(p=d.n<0)?u:t.call(n,d))!==i)break}catch(r){o=e,s=1,u=r}finally{l=1}}return{value:r,done:p}}}(t,a,o),!0),u}var i={};function s(){}function u(){}function p(){}r=Object.getPrototypeOf;var d=[][n]?r(r([][n]())):(c(r={},n,(function(){return this})),r),h=p.prototype=s.prototype=Object.create(d);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,c(e,a,"GeneratorFunction")),e.prototype=Object.create(h),e}return u.prototype=p,c(h,"constructor",p),c(p,"constructor",u),u.displayName="GeneratorFunction",c(p,a,"GeneratorFunction"),c(h),c(h,a,"Generator"),c(h,n,(function(){return this})),c(h,"toString",(function(){return"[object Generator]"})),(l=function(){return{w:o,m:f}})()}function c(e,r,t,n){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(c=function(e,r,t,n){function o(r,t){c(e,r,(function(e){return this._invoke(r,t,e)}))}r?a?a(e,r,{value:t,enumerable:!n,configurable:!n,writable:!n}):e[r]=t:(o("next",0),o("throw",1),o("return",2))})(e,r,t,n)}var p=["url","query","method","headers","queryKey"],d={children:"slot",loadingDisplay:{type:"slot",defaultValue:"Loading..."},errorDisplay:{type:"slot",defaultValue:"Error fetching data"},dataName:{type:"string",displayName:"Data name",defaultValue:"fetchedData",description:"Variable name to store the fetched data in"},errorName:{type:"string",displayName:"Error name",defaultValue:"fetchError",description:"Variable name to store the fetch error in"},previewSpinner:{type:"boolean",description:"Force preview the loading state",displayName:"Preview loading"},previewErrorDisplay:{type:"boolean",description:"Force preview the error display",displayName:"Preview error"},noLayout:{type:"boolean",displayName:"No layout",description:"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.",defaultValue:!1}};function h(e){var t=e.result,n=e.children,o=e.loadingDisplay,i=e.previewSpinner,s=e.errorDisplay,u=e.previewErrorDisplay,l=e.dataName,c=e.errorName,p=e.noLayout,d=e.className,h=!!r.usePlasmicCanvasContext();if(h&&i||!("error"in t)&&!("data"in t))return a.createElement(a.Fragment,null,null!=o?o:null);if(h&&u||"error"in t)return a.createElement(r.DataProvider,{name:c,data:t.error},null!=s?s:null);var f=a.createElement(r.DataProvider,{name:l,data:t.data},n);return p?f:a.createElement("div",{className:d},f)}function f(e){return y.apply(this,arguments)}function y(){return(y=i(l().m((function e(r){var t,n,a,o,i,s,u,c,p;return l().w((function(e){for(;;)switch(e.n){case 0:if(n=r.method,a=r.body,o=r.headers,t=r.url){e.n=1;break}throw new Error("Please specify a URL to fetch");case 1:return o||(o={}),(i=new Set(Object.keys(o).map((function(e){return e.toLowerCase()})))).has("accept")||(o.Accept="application/json"),a&&!i.has("content-type")&&(o["Content-Type"]="application/json"),e.n=2,fetch(t,{method:n,headers:o,body:void 0===a||"string"==typeof a?a:JSON.stringify(a)});case 2:return s=e.v,e.n=3,s.text();case 3:c={text:u=e.v};try{c=JSON.parse(u)}catch(e){c={text:u}}if(s.ok){e.n=4;break}throw(p=new Error(s.statusText)).info=c,p.status=s.status,p;case 4:return e.a(2,c)}}),e)})))).apply(this,arguments)}function m(e){var r={url:e.url,method:e.method,body:e.body,headers:e.headers},t=n.usePlasmicQueryData(e.queryKey||JSON.stringify(s({type:"DataFetcher"},r)),(function(){return f(r)}));return a.createElement(h,s({result:t},e))}function v(e,r){return{url:{type:"string",defaultValue:e,description:"Where to fetch the data from"},method:{type:"choice",options:["GET","DELETE","CONNECT","HEAD","OPTIONS","POST","PUT","TRACE"],defaultValue:r,description:"Method to use when fetching"},headers:{type:"object",description:"Request headers (as JSON object) to send"},queryKey:{type:"string",description:"A globally unique ID for this query, used for invalidating queries",invariantable:!0}}}var b={name:"hostless-plasmic-query-data-fetcher",displayName:"HTTP REST API Fetcher",importName:"DataFetcher",importPath:"@plasmicpkgs/plasmic-query",providesData:!0,description:"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.",props:s({},v("https://api.github.com/users/plasmicapp/repos","GET"),{body:{type:"object",description:"JSON object to be sent in the request body"}},d),defaultStyles:{maxWidth:"100%",width:"stretch"}};function g(e,r){e?e.registerComponent(m,null!=r?r:b):t(m,null!=r?r:b)}function q(e){var r,t=e.query,o=e.url,i=e.method,u=e.headers,l=e.queryKey,c=e.varOverrides;if("GET"===i){var p,d=new URL(null!=o?o:"");d.searchParams.set("query",null!=(p=null==t?void 0:t.query)?p:"{}"),d.searchParams.set("variables",JSON.stringify(s({},null==t?void 0:t.variables,c))),r={url:d.toString(),method:i,headers:u}}else r={body:s({},t,{variables:s({},null==t?void 0:t.variables,c)}),url:o,method:i,headers:u};var y=n.usePlasmicQueryData(l||JSON.stringify(s({type:"GraphqlFetcher"},r)),(function(){return f(r)}));return a.createElement(h,s({result:y},e))}var w={name:"hostless-plasmic-query-graphql-fetcher",displayName:"GraphQL Fetcher",importName:"GraphqlFetcher",importPath:"@plasmicpkgs/plasmic-query",providesData:!0,props:function(){var e={query:{type:"code",lang:"graphql",headers:function(e){return e.headers},endpoint:function(e){var r;return null!=(r=e.url)?r:""},defaultValue:{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",variables:{personId:"cGVvcGxlOjIw"}}},varOverrides:{type:"object",displayName:"Override variables",description:"Pass in dynamic values for your query variables, as an object of key-values"}},r=s({},v("https://swapi-graphql.netlify.app/.netlify/functions/index","POST"),e,d);return s({url:r.url,query:r.query,method:r.method,headers:r.headers,queryKey:r.queryKey},u(r,p))}(),defaultStyles:{maxWidth:"100%",width:"stretch"}};function O(e,r){e?e.registerComponent(q,null!=r?r:w):t(q,null!=r?r:w)}exports.DataFetcher=m,exports.GenericFetcherShell=h,exports.GraphqlFetcher=q,exports.dataFetcherMeta=b,exports.genericFetcherPropsMeta=d,exports.graphqlFetcherMeta=w,exports.registerAll=function(e){g(e),O(e)},exports.registerDataFetcher=g,exports.registerGraphqlFetcher=O;
|
|
2
2
|
//# sourceMappingURL=plasmic-query.cjs.production.min.js.map
|
|
@@ -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","_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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"}
|
|
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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"}
|
|
@@ -224,8 +224,8 @@ function GenericFetcherShell(_ref) {
|
|
|
224
224
|
}, content);
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Tries to return the JSON response, or else returns an object with a text key containing the response body text.
|
|
227
|
+
/**
|
|
228
|
+
* Tries to return the JSON response, or else returns an object with a text key containing the response body text.
|
|
229
229
|
*/
|
|
230
230
|
function performFetch(_x) {
|
|
231
231
|
return _performFetch.apply(this, arguments);
|
|
@@ -313,7 +313,7 @@ function DataFetcher(props) {
|
|
|
313
313
|
}, fetchProps)), function () {
|
|
314
314
|
return performFetch(fetchProps);
|
|
315
315
|
});
|
|
316
|
-
return React.createElement(GenericFetcherShell,
|
|
316
|
+
return React.createElement(GenericFetcherShell, _extends({
|
|
317
317
|
result: result
|
|
318
318
|
}, props));
|
|
319
319
|
}
|
|
@@ -400,7 +400,7 @@ function GraphqlFetcher(props) {
|
|
|
400
400
|
}, fetchProps)), function () {
|
|
401
401
|
return performFetch(fetchProps);
|
|
402
402
|
});
|
|
403
|
-
return React.createElement(GenericFetcherShell,
|
|
403
|
+
return React.createElement(GenericFetcherShell, _extends({
|
|
404
404
|
result: result
|
|
405
405
|
}, props));
|
|
406
406
|
}
|
|
@@ -425,7 +425,7 @@ var graphqlFetcherMeta = {
|
|
|
425
425
|
defaultValue: {
|
|
426
426
|
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",
|
|
427
427
|
variables: {
|
|
428
|
-
personId: "cGVvcGxlOjIw"
|
|
428
|
+
personId: "cGVvcGxlOjIw" // Yoda
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
431
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-query.esm.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","queryKey","fetchProps","usePlasmicQueryData","_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","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-query.esm.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","queryKey","fetchProps","usePlasmicQueryData","_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","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BaA,uBAAuB,GAAmC;EACrEC,QAAQ,EAAE,MAAM;EAChBC,cAAc,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEC,YAAY,EAAE;GAAc;EAC5DC,YAAY,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEC,YAAY,EAAE;GAAuB;EACnEE,QAAQ,EAAE;IACRH,IAAI,EAAE,QAAQ;IACdI,WAAW,EAAE,WAAW;IACxBH,YAAY,EAAE,aAAa;IAC3BI,WAAW,EAAE;GACd;EACDC,SAAS,EAAE;IACTN,IAAI,EAAE,QAAQ;IACdI,WAAW,EAAE,YAAY;IACzBH,YAAY,EAAE,YAAY;IAC1BI,WAAW,EAAE;GACd;EACDE,cAAc,EAAE;IACdP,IAAI,EAAE,SAAS;IACfK,WAAW,EAAE,iCAAiC;IAC9CD,WAAW,EAAE;GACd;EACDI,mBAAmB,EAAE;IACnBR,IAAI,EAAE,SAAS;IACfK,WAAW,EAAE,iCAAiC;IAC9CD,WAAW,EAAE;GACd;EACDK,QAAQ,EAAE;IACRT,IAAI,EAAE,SAAS;IACfI,WAAW,EAAE,WAAW;IACxBC,WAAW,EACT,uLAAuL;IACzLJ,YAAY,EAAE;;;SAIFS,mBAAmBA,CAAAC,IAAA;MACjCC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNd,QAAQ,GAAAa,IAAA,CAARb,QAAQ;IACRC,cAAc,GAAAY,IAAA,CAAdZ,cAAc;IACdQ,cAAc,GAAAI,IAAA,CAAdJ,cAAc;IACdL,YAAY,GAAAS,IAAA,CAAZT,YAAY;IACZM,mBAAmB,GAAAG,IAAA,CAAnBH,mBAAmB;IACnBL,QAAQ,GAAAQ,IAAA,CAARR,QAAQ;IACRG,SAAS,GAAAK,IAAA,CAATL,SAAS;IACTG,QAAQ,GAAAE,IAAA,CAARF,QAAQ;IACRI,SAAS,GAAAF,IAAA,CAATE,SAAS;EAIT,IAAMC,QAAQ,GAAG,CAAC,CAACC,uBAAuB,EAAE;EAC5C,IACGD,QAAQ,IAAIP,cAAc,IAC1B,EAAE,OAAO,IAAIK,MAAM,CAAC,IAAI,EAAE,MAAM,IAAIA,MAAM,CAAE,EAC7C;IACA,OAAOI,0CAAGjB,cAAc,WAAdA,cAAc,GAAI,IAAI,CAAI;GACrC,MAAM,IAAKe,QAAQ,IAAIN,mBAAmB,IAAK,OAAO,IAAII,MAAM,EAAE;IACjE,OACEI,oBAACC,YAAY;MAACC,IAAI,EAAEZ,SAAS;MAAEa,IAAI,EAAEP,MAAM,CAACQ;OACzClB,YAAY,WAAZA,YAAY,GAAI,IAAI,CACR;GAElB,MAAM;IACL,IAAMmB,OAAO,GACXL,oBAACC,YAAY;MAACC,IAAI,EAAEf,QAAQ;MAAEgB,IAAI,EAAEP,MAAM,CAACO;OACxCrB,QAAQ,CAEZ;IACD,OAAOW,QAAQ,GAAGY,OAAO,GAAGL;MAAKH,SAAS,EAAEA;OAAYQ,OAAO,CAAO;;AAE1E;AASA;;;AAAA,SAGeC,YAAYA,CAAAC,EAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF;EAAAA,aAAA,GAAAG,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAA3B,SAAAC,QAAAC,KAAA;IAAA,IAAAC,GAAA,EAAAC,MAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAC,oBAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAnB,KAAA;IAAA,OAAAQ,YAAA,GAAAY,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,CAAA;QAAA;UAA8BV,GAAG,GAAAD,KAAA,CAAHC,GAAG,EAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM,EAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,EAAEC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;UAAA,IACjDH,GAAG;YAAAS,QAAA,CAAAC,CAAA;YAAA;;UAAA,MACA,IAAIC,KAAK,CAAC,+BAA+B,CAAC;QAAA;;UAIlD,IAAI,CAACR,OAAO,EAAE;YACZA,OAAO,GAAG,EAAE;;UAERC,oBAAoB,GAAG,IAAIQ,GAAG,CAClCC,MAAM,CAACC,IAAI,CAACX,OAAO,CAAC,CAACY,GAAG,CAAC,UAACC,UAAU;YAAA,OAAKA,UAAU,CAACC,WAAW,EAAE;YAAC,CACnE;UACD,IAAI,CAACb,oBAAoB,CAACc,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvCf,OAAO,CAAC,QAAQ,CAAC,GAAG,kBAAkB;;UAExC,IAAID,IAAI,IAAI,CAACE,oBAAoB,CAACc,GAAG,CAAC,cAAc,CAAC,EAAE;YACrDf,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB;;UAC7CM,QAAA,CAAAC,CAAA;UAAA,OAEsBS,KAAK,CAACnB,GAAG,EAAE;YAChCC,MAAM,EAANA,MAAM;YACNE,OAAO,EAAPA,OAAO;YACPD,IAAI,EACFA,IAAI,KAAKkB,SAAS,GACdlB,IAAI,GACJ,OAAOA,IAAI,KAAK,QAAQ,GACxBA,IAAI,GACJmB,IAAI,CAACC,SAAS,CAACpB,IAAI;WAC1B,CAAC;QAAA;UATIG,QAAQ,GAAAI,QAAA,CAAAc,CAAA;UAAAd,QAAA,CAAAC,CAAA;UAAA,OAWKL,QAAQ,CAACC,IAAI,EAAE;QAAA;UAA5BA,IAAI,GAAAG,QAAA,CAAAc,CAAA;UACNhB,IAAI,GAAwB;YAAED,IAAI,EAAJA;WAAM;UAExC,IAAI;YACFC,IAAI,GAAGc,IAAI,CAACG,KAAK,CAAClB,IAAI,CAAC;WACxB,CAAC,OAAOmB,CAAC,EAAE;YACVlB,IAAI,GAAG;cAAED,IAAI,EAAJA;aAAM;;;;;UAKjB,IACKD,QAAQ,CAACqB,EAAE;YAAAjB,QAAA,CAAAC,CAAA;YAAA;;UACRtB,KAAK,GAAG,IAAIuB,KAAK,CAACN,QAAQ,CAACsB,UAAU,CAAgB;UAE3DvC,KAAK,CAACwC,IAAI,GAAGrB,IAAI;UACjBnB,KAAK,CAACyC,MAAM,GAAGxB,QAAQ,CAACwB,MAAM;UAAC,MACzBzC,KAAK;QAAA;UAAA,OAAAqB,QAAA,CAAAqB,CAAA,IAGNvB,IAAI;;OAAAT,OAAA;GACZ;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;SAMeqC,WAAWA,CAACC,KAAuB;EACjD,IAAQhC,GAAG,GAAsCgC,KAAK,CAA9ChC,GAAG;IAAEC,MAAM,GAA8B+B,KAAK,CAAzC/B,MAAM;IAAEC,IAAI,GAAwB8B,KAAK,CAAjC9B,IAAI;IAAEC,OAAO,GAAe6B,KAAK,CAA3B7B,OAAO;IAAE8B,QAAQ,GAAKD,KAAK,CAAlBC,QAAQ;EAC5C,IAAMC,UAAU,GAAe;IAAElC,GAAG,EAAHA,GAAG;IAAEC,MAAM,EAANA,MAAM;IAAEC,IAAI,EAAJA,IAAI;IAAEC,OAAO,EAAPA;GAAS;EAC7D,IAAMvB,MAAM,GAAGuD,mBAAmB,CAChCF,QAAQ,IAAIZ,IAAI,CAACC,SAAS,CAAAc,QAAA;IAAGpE,IAAI,EAAE;KAAkBkE,UAAU,CAAE,CAAC,EAClE;IAAA,OAAM5C,YAAY,CAAC4C,UAAU,CAAC;IAC/B;EACD,OAAOlD,oBAACN,mBAAmB,EAAA0D,QAAA;IAACxD,MAAM,EAAEA;KAAYoD,KAAK,EAAI;AAC3D;AAEA,SAASK,YAAYA,CACnBC,UAAkB,EAClBC,aAAqB;EAErB,OAAO;IACLvC,GAAG,EAAE;MACHhC,IAAI,EAAE,QAAQ;MACdC,YAAY,EAAEqE,UAAU;MACxBjE,WAAW,EAAE;KACd;IACD4B,MAAM,EAAE;MACNjC,IAAI,EAAE,QAAQ;MACdwE,OAAO,EAAE,CACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,CACR;MACDvE,YAAY,EAAEsE,aAAa;MAC3BlE,WAAW,EAAE;KACd;IACD8B,OAAO,EAAE;MACPnC,IAAI,EAAE,QAAQ;MACdK,WAAW,EAAE;KACd;IACD4D,QAAQ,EAAE;MACRjE,IAAI,EAAE,QAAQ;MACdK,WAAW,EACT,oEAAoE;MACtEoE,aAAa,EAAE;;GAElB;AACH;IAEaC,eAAe,GAAwC;EAClExD,IAAI,EAAE,qCAAqC;EAC3Cd,WAAW,EAAE,uBAAuB;EACpCuE,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,4BAA4B;EACxCC,YAAY,EAAE,IAAI;EAClBxE,WAAW,EACT,sKAAsK;EACxK2D,KAAK,eAAAI,QAAA,kBACCC,YAAY,CACd,+CAA+C,EAC/C,KAAK,CACE;IACTnC,IAAI,EAAE;MACJlC,IAAI,EAAE,QAAQ;MACdK,WAAW,EAAE;;KAEXR,uBAA+B,CACpC;EACDiF,aAAa,EAAE;IACbC,QAAQ,EAAE,MAAM;IAChBC,KAAK,EAAE;;;SAIKC,mBAAmBA,CACjCC,MAAwD,EACxDC,qBAA2D;EAE3D,IAAID,MAAM,EAAE;IACVA,MAAM,CAACE,iBAAiB,CACtBrB,WAAW,EACXoB,qBAAqB,WAArBA,qBAAqB,GAAIT,eAAe,CACzC;GACF,MAAM;IACLU,iBAAiB,CAACrB,WAAW,EAAEoB,qBAAqB,WAArBA,qBAAqB,GAAIT,eAAe,CAAC;;AAE5E;SAUgBW,cAAcA,CAACrB,KAA0B;EACvD,IAAQsB,KAAK,GAAmDtB,KAAK,CAA7DsB,KAAK;IAAEtD,GAAG,GAA8CgC,KAAK,CAAtDhC,GAAG;IAAEC,MAAM,GAAsC+B,KAAK,CAAjD/B,MAAM;IAAEE,OAAO,GAA6B6B,KAAK,CAAzC7B,OAAO;IAAE8B,QAAQ,GAAmBD,KAAK,CAAhCC,QAAQ;IAAEsB,YAAY,GAAKvB,KAAK,CAAtBuB,YAAY;EAE3D,IAAIrB,UAAsB;EAC1B,IAAIjC,MAAM,KAAK,KAAK,EAAE;IAAA,IAAAuD,YAAA;;IAEpB,IAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC1D,GAAG,WAAHA,GAAG,GAAI,EAAE,CAAC;IAC7CyD,kBAAkB,CAACE,YAAY,CAACC,GAAG,CAAC,OAAO,GAAAJ,YAAA,GAAEF,KAAK,oBAALA,KAAK,CAAEA,KAAK,YAAAE,YAAA,GAAI,IAAI,CAAC;IAClEC,kBAAkB,CAACE,YAAY,CAACC,GAAG,CACjC,WAAW,EACXvC,IAAI,CAACC,SAAS,CAAAc,QAAA,KAAMkB,KAAK,oBAALA,KAAK,CAAEO,SAAS,EAAKN,YAAY,CAAE,CAAC,CACzD;IACDrB,UAAU,GAAG;MACXlC,GAAG,EAAEyD,kBAAkB,CAACK,QAAQ,EAAE;MAClC7D,MAAM,EAANA,MAAM;MACNE,OAAO,EAAPA;KACD;GACF,MAAM;IACL+B,UAAU,GAAG;MACXhC,IAAI,EAAAkC,QAAA,KAAOkB,KAAK;QAAEO,SAAS,EAAAzB,QAAA,KAAOkB,KAAK,oBAALA,KAAK,CAAEO,SAAS,EAAKN,YAAY;QAAI;MACvEvD,GAAG,EAAHA,GAAG;MACHC,MAAM,EAANA,MAAM;MACNE,OAAO,EAAPA;KACD;;EAGH,IAAMvB,MAAM,GAAGuD,mBAAmB,CAChCF,QAAQ,IAAIZ,IAAI,CAACC,SAAS,CAAAc,QAAA;IAAGpE,IAAI,EAAE;KAAqBkE,UAAU,CAAE,CAAC,EACrE;IAAA,OAAM5C,YAAY,CAAC4C,UAAU,CAAC;IAC/B;EACD,OAAOlD,oBAACN,mBAAmB,EAAA0D,QAAA;IAACxD,MAAM,EAAEA;KAAYoD,KAAK,EAAI;AAC3D;IAEa+B,kBAAkB,GAA2C;EACxE7E,IAAI,EAAE,wCAAwC;EAC9Cd,WAAW,EAAE,iBAAiB;EAC9BuE,UAAU,EAAE,gBAAgB;EAC5BC,UAAU,EAAE,4BAA4B;EACxCC,YAAY,EAAE,IAAI;EAClBb,KAAK,eAAG;IACN,IAAMgC,QAAQ,GAAmC;MAC/CV,KAAK,EAAE;QACLtF,IAAI,EAAE,MAAM;QACZiG,IAAI,EAAE,SAAS;QACf9D,OAAO,EAAE,SAATA,OAAOA,CAAG6B,KAAK;UAAA,OAAKA,KAAK,CAAC7B,OAAO;;QACjC+D,QAAQ,EAAE,SAAVA,QAAQA,CAAGlC,KAAK;UAAA,IAAAmC,UAAA;UAAA,QAAAA,UAAA,GAAKnC,KAAK,CAAChC,GAAG,YAAAmE,UAAA,GAAI,EAAE;;QACpClG,YAAY,EAAE;UACZqF,KAAK,6LAad;UACSO,SAAS,EAAE;YACTO,QAAQ,EAAE,cAAc;;;OAG7B;MACDb,YAAY,EAAE;QACZvF,IAAI,EAAE,QAAQ;QACdI,WAAW,EAAE,oBAAoB;QACjCC,WAAW,EACT;;KAEL;;IAED,IAAAgG,qBAAA,gBAAAjC,QAAA,kBACKC,YAAY,CACb,4DAA4D,EAC5D,MAAM,CACP,EACE2B,QAAQ,EACRnG,uBAAuB;MANpBmC,GAAG,GAAAqE,qBAAA,CAAHrE,GAAG;MAAEsD,KAAK,GAAAe,qBAAA,CAALf,KAAK;MAAErD,MAAM,GAAAoE,qBAAA,CAANpE,MAAM;MAAEE,OAAO,GAAAkE,qBAAA,CAAPlE,OAAO;MAAE8B,QAAQ,GAAAoC,qBAAA,CAARpC,QAAQ;MAAKqC,IAAI,gBAAAC,6BAAA,CAAAF,qBAAA,EAAAG,SAAA;IAQtD,OAAApC,QAAA;MACEpC,GAAG,EAAHA,GAAG;MACHsD,KAAK,EAALA,KAAK;MACLrD,MAAM,EAANA,MAAM;MACNE,OAAO,EAAPA,OAAO;MACP8B,QAAQ,EAARA;OACGqC,IAAI;GAEV,EAAG;EACJxB,aAAa,EAAE;IACbC,QAAQ,EAAE,MAAM;IAChBC,KAAK,EAAE;;;SAIKyB,sBAAsBA,CACpCvB,MAAwD,EACxDC,qBAA8D;EAE9D,IAAID,MAAM,EAAE;IACVA,MAAM,CAACE,iBAAiB,CACtBC,cAAc,EACdF,qBAAqB,WAArBA,qBAAqB,GAAIY,kBAAkB,CAC5C;GACF,MAAM;IACLX,iBAAiB,CACfC,cAAc,EACdF,qBAAqB,WAArBA,qBAAqB,GAAIY,kBAAkB,CAC5C;;AAEL;SAEgBW,WAAWA,CAACxB,MAE3B;EACCD,mBAAmB,CAACC,MAAM,CAAC;EAC3BuB,sBAAsB,CAACvB,MAAM,CAAC;AAChC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-query",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.269",
|
|
4
4
|
"description": "Plasmic components and registration calls for data fetching",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "tsdx build",
|
|
23
23
|
"start": "tsdx watch",
|
|
24
|
-
"test": "TEST_CWD=`pwd`
|
|
24
|
+
"test": "TEST_CWD=`pwd` pnpm -w test --passWithNoTests",
|
|
25
25
|
"lint": "tsdx lint",
|
|
26
26
|
"prepublishOnly": "npm run build",
|
|
27
27
|
"size": "size-limit",
|
|
28
28
|
"analyze": "size-limit --why"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@plasmicapp/host": "2.0.
|
|
32
|
-
"@plasmicapp/query": "0.1.
|
|
31
|
+
"@plasmicapp/host": "2.0.7",
|
|
32
|
+
"@plasmicapp/query": "0.1.85",
|
|
33
33
|
"@types/node": "^14.0.26",
|
|
34
34
|
"@types/react": "^18",
|
|
35
35
|
"tsdx": "^0.14.1",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"react": ">=16.8.0",
|
|
42
42
|
"react-dom": ">=16.8.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "6087f1621240c66b20d4a8fcf02c8bf889c554aa"
|
|
45
45
|
}
|