@plasmicpkgs/plasmic-query 0.0.203 → 0.0.205
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 +2 -1
- package/dist/plasmic-query.cjs.development.js +39 -20
- 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 +39 -20
- package/dist/plasmic-query.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/Fetcher.d.ts
CHANGED
|
@@ -7,12 +7,13 @@ export interface GenericFetcherProps {
|
|
|
7
7
|
errorDisplay?: ReactNode;
|
|
8
8
|
previewErrorDisplay?: boolean;
|
|
9
9
|
dataName?: string;
|
|
10
|
+
errorName?: string;
|
|
10
11
|
noLayout?: boolean;
|
|
11
12
|
className?: string;
|
|
12
13
|
}
|
|
13
14
|
declare type PropMetas<P> = ComponentMeta<P>["props"];
|
|
14
15
|
export declare const genericFetcherPropsMeta: PropMetas<GenericFetcherProps>;
|
|
15
|
-
export declare function GenericFetcherShell<T>({ result, children, loadingDisplay, previewSpinner, errorDisplay, previewErrorDisplay, dataName, noLayout, className, }: GenericFetcherProps & {
|
|
16
|
+
export declare function GenericFetcherShell<T>({ result, children, loadingDisplay, previewSpinner, errorDisplay, previewErrorDisplay, dataName, errorName, noLayout, className, }: GenericFetcherProps & {
|
|
16
17
|
result: {
|
|
17
18
|
data?: T;
|
|
18
19
|
error?: Error;
|
|
@@ -380,10 +380,16 @@ var genericFetcherPropsMeta = {
|
|
|
380
380
|
},
|
|
381
381
|
dataName: {
|
|
382
382
|
type: "string",
|
|
383
|
-
displayName: "
|
|
383
|
+
displayName: "Data name",
|
|
384
384
|
defaultValue: "fetchedData",
|
|
385
385
|
description: "Variable name to store the fetched data in"
|
|
386
386
|
},
|
|
387
|
+
errorName: {
|
|
388
|
+
type: "string",
|
|
389
|
+
displayName: "Error name",
|
|
390
|
+
defaultValue: "fetchError",
|
|
391
|
+
description: "Variable name to store the fetch error in"
|
|
392
|
+
},
|
|
387
393
|
previewSpinner: {
|
|
388
394
|
type: "boolean",
|
|
389
395
|
description: "Force preview the loading state",
|
|
@@ -409,13 +415,17 @@ function GenericFetcherShell(_ref) {
|
|
|
409
415
|
errorDisplay = _ref.errorDisplay,
|
|
410
416
|
previewErrorDisplay = _ref.previewErrorDisplay,
|
|
411
417
|
dataName = _ref.dataName,
|
|
418
|
+
errorName = _ref.errorName,
|
|
412
419
|
noLayout = _ref.noLayout,
|
|
413
420
|
className = _ref.className;
|
|
414
421
|
var inEditor = !!host.usePlasmicCanvasContext();
|
|
415
422
|
if (inEditor && previewSpinner || !("error" in result) && !("data" in result)) {
|
|
416
423
|
return React.createElement(React.Fragment, null, loadingDisplay != null ? loadingDisplay : null);
|
|
417
424
|
} else if (inEditor && previewErrorDisplay || "error" in result) {
|
|
418
|
-
return React.createElement(
|
|
425
|
+
return React.createElement(host.DataProvider, {
|
|
426
|
+
name: errorName,
|
|
427
|
+
data: result.error
|
|
428
|
+
}, errorDisplay != null ? errorDisplay : null);
|
|
419
429
|
} else {
|
|
420
430
|
var content = React.createElement(host.DataProvider, {
|
|
421
431
|
name: dataName,
|
|
@@ -434,7 +444,7 @@ function performFetch(_x) {
|
|
|
434
444
|
}
|
|
435
445
|
function _performFetch() {
|
|
436
446
|
_performFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
|
|
437
|
-
var url, method, body, headers, response, text;
|
|
447
|
+
var url, method, body, headers, response, text, json, error;
|
|
438
448
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
439
449
|
while (1) switch (_context.prev = _context.next) {
|
|
440
450
|
case 0:
|
|
@@ -453,29 +463,38 @@ function _performFetch() {
|
|
|
453
463
|
});
|
|
454
464
|
case 5:
|
|
455
465
|
response = _context.sent;
|
|
456
|
-
|
|
457
|
-
_context.next = 8;
|
|
458
|
-
break;
|
|
459
|
-
}
|
|
460
|
-
throw new Error(response.statusText);
|
|
461
|
-
case 8:
|
|
462
|
-
_context.next = 10;
|
|
466
|
+
_context.next = 8;
|
|
463
467
|
return response.text();
|
|
464
|
-
case
|
|
468
|
+
case 8:
|
|
465
469
|
text = _context.sent;
|
|
466
|
-
|
|
467
|
-
return _context.abrupt("return", JSON.parse(text));
|
|
468
|
-
case 15:
|
|
469
|
-
_context.prev = 15;
|
|
470
|
-
_context.t0 = _context["catch"](11);
|
|
471
|
-
return _context.abrupt("return", {
|
|
470
|
+
json = {
|
|
472
471
|
text: text
|
|
473
|
-
}
|
|
474
|
-
|
|
472
|
+
};
|
|
473
|
+
try {
|
|
474
|
+
json = JSON.parse(text);
|
|
475
|
+
} catch (e) {
|
|
476
|
+
json = {
|
|
477
|
+
text: text
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
// @see https://swr.vercel.app/docs/error-handling
|
|
481
|
+
// If the status code is not in the range 200-299,
|
|
482
|
+
// we still try to parse and throw it.
|
|
483
|
+
if (response.ok) {
|
|
484
|
+
_context.next = 16;
|
|
485
|
+
break;
|
|
486
|
+
}
|
|
487
|
+
error = new Error(response.statusText); // Attach extra info to the error object.
|
|
488
|
+
error.info = json;
|
|
489
|
+
error.status = response.status;
|
|
490
|
+
throw error;
|
|
491
|
+
case 16:
|
|
492
|
+
return _context.abrupt("return", json);
|
|
493
|
+
case 17:
|
|
475
494
|
case "end":
|
|
476
495
|
return _context.stop();
|
|
477
496
|
}
|
|
478
|
-
}, _callee
|
|
497
|
+
}, _callee);
|
|
479
498
|
}));
|
|
480
499
|
return _performFetch.apply(this, arguments);
|
|
481
500
|
}
|
|
@@ -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 ComponentMeta,\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 noLayout?: boolean;\n className?: string;\n}\n\ntype PropMetas<P> = ComponentMeta<P>[\"props\"];\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: \"Variable name\",\n defaultValue: \"fetchedData\",\n description: \"Variable name to store the fetched data 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 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 <>{errorDisplay ?? null}</>;\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 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 if (!response.ok) {\n throw new Error(response.statusText);\n }\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch (e) {\n return { text };\n }\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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<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","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","content","DataProvider","name","data","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","wrap","_callee$","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","ok","statusText","abrupt","parse","t0","stop","DataFetcher","props","queryKey","fetchProps","usePlasmicQueryData","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","variables","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_mkFetchProps$gqlMeta","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBaA,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,eAAe;IAC5BH,YAAY,EAAE,aAAa;IAC3BI,WAAW,EAAE;GACd;EACDC,cAAc,EAAE;IACdN,IAAI,EAAE,SAAS;IACfK,WAAW,EAAE,iCAAiC;IAC9CD,WAAW,EAAE;GACd;EACDG,mBAAmB,EAAE;IACnBP,IAAI,EAAE,SAAS;IACfK,WAAW,EAAE,iCAAiC;IAC9CD,WAAW,EAAE;GACd;EACDI,QAAQ,EAAE;IACRR,IAAI,EAAE,SAAS;IACfI,WAAW,EAAE,WAAW;IACxBC,WAAW,EACT,uLAAuL;IACzLJ,YAAY,EAAE;;;SAIFQ,mBAAmBA,CAAAC,IAAA;MACjCC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNb,QAAQ,GAAAY,IAAA,CAARZ,QAAQ;IACRC,cAAc,GAAAW,IAAA,CAAdX,cAAc;IACdO,cAAc,GAAAI,IAAA,CAAdJ,cAAc;IACdJ,YAAY,GAAAQ,IAAA,CAAZR,YAAY;IACZK,mBAAmB,GAAAG,IAAA,CAAnBH,mBAAmB;IACnBJ,QAAQ,GAAAO,IAAA,CAARP,QAAQ;IACRK,QAAQ,GAAAE,IAAA,CAARF,QAAQ;IACRI,SAAS,GAAAF,IAAA,CAATE,SAAS;EAIT,IAAMC,QAAQ,GAAG,CAAC,CAACC,4BAAuB,EAAE;EAC5C,IACGD,QAAQ,IAAIP,cAAc,IAC1B,EAAE,OAAO,IAAIK,MAAM,CAAC,IAAI,EAAE,MAAM,IAAIA,MAAM,CAAE,EAC7C;IACA,OAAOI,0CAAGhB,cAAc,WAAdA,cAAc,GAAI,IAAI,CAAI;GACrC,MAAM,IAAKc,QAAQ,IAAIN,mBAAmB,IAAK,OAAO,IAAII,MAAM,EAAE;IACjE,OAAOI,0CAAGb,YAAY,WAAZA,YAAY,GAAI,IAAI,CAAI;GACnC,MAAM;IACL,IAAMc,OAAO,GACXD,oBAACE,iBAAY;MAACC,IAAI,EAAEf,QAAQ;MAAEgB,IAAI,EAAER,MAAM,CAACQ;OACxCrB,QAAQ,CAEZ;IACD,OAAOU,QAAQ,GAAGQ,OAAO,GAAGD;MAAKH,SAAS,EAAEA;OAAYI,OAAO,CAAO;;AAE1E;AASA;;;AAAA,SAGeI,YAAYA,CAAAC,EAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF;EAAAA,aAAA,GAAAG,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAA3B,SAAAC,QAAAC,KAAA;IAAA,IAAAC,GAAA,EAAAC,MAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAT,mBAAA,GAAAU,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;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;YAAAQ,QAAA,CAAAE,IAAA;YAAA;;UAAA,MACA,IAAIC,KAAK,CAAC,+BAA+B,CAAC;QAAA;UAAAH,QAAA,CAAAE,IAAA;UAAA,OAE3BE,KAAK,CAACZ,GAAG,EAAE;YAChCC,MAAM,EAANA,MAAM;YACNE,OAAO,EAAPA,OAAO;YACPD,IAAI,EACFA,IAAI,KAAKW,SAAS,GACdX,IAAI,GACJ,OAAOA,IAAI,KAAK,QAAQ,GACxBA,IAAI,GACJY,IAAI,CAACC,SAAS,CAACb,IAAI;WAC1B,CAAC;QAAA;UATIE,QAAQ,GAAAI,QAAA,CAAAQ,IAAA;UAAA,IAUTZ,QAAQ,CAACa,EAAE;YAAAT,QAAA,CAAAE,IAAA;YAAA;;UAAA,MACR,IAAIC,KAAK,CAACP,QAAQ,CAACc,UAAU,CAAC;QAAA;UAAAV,QAAA,CAAAE,IAAA;UAAA,OAEnBN,QAAQ,CAACC,IAAI,EAAE;QAAA;UAA5BA,IAAI,GAAAG,QAAA,CAAAQ,IAAA;UAAAR,QAAA,CAAAC,IAAA;UAAA,OAAAD,QAAA,CAAAW,MAAA,WAEDL,IAAI,CAACM,KAAK,CAACf,IAAI,CAAC;QAAA;UAAAG,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAa,EAAA,GAAAb,QAAA;UAAA,OAAAA,QAAA,CAAAW,MAAA,WAEhB;YAAEd,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAc,IAAA;;OAAAxB,OAAA;GAElB;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;SAMe6B,WAAWA,CAACC,KAAuB;EACjD,IAAQxB,GAAG,GAAsCwB,KAAK,CAA9CxB,GAAG;IAAEC,MAAM,GAA8BuB,KAAK,CAAzCvB,MAAM;IAAEC,IAAI,GAAwBsB,KAAK,CAAjCtB,IAAI;IAAEC,OAAO,GAAeqB,KAAK,CAA3BrB,OAAO;IAAEsB,QAAQ,GAAKD,KAAK,CAAlBC,QAAQ;EAC5C,IAAMC,UAAU,GAAe;IAAE1B,GAAG,EAAHA,GAAG;IAAEC,MAAM,EAANA,MAAM;IAAEC,IAAI,EAAJA,IAAI;IAAEC,OAAO,EAAPA;GAAS;EAC7D,IAAMtB,MAAM,GAAG8C,yBAAmB,CAChCF,QAAQ,IAAIX,IAAI,CAACC,SAAS,CAAAa,QAAA;IAAG1D,IAAI,EAAE;KAAkBwD,UAAU,CAAE,CAAC,EAClE;IAAA,OAAMpC,YAAY,CAACoC,UAAU,CAAC;IAC/B;EACD,OAAOzC,oBAACN,mBAAmB;IAACE,MAAM,EAAEA;KAAY2C,KAAK,EAAI;AAC3D;AAEA,SAASK,YAAYA,CACnBC,UAAkB,EAClBC,aAAqB;EAErB,OAAO;IACL/B,GAAG,EAAE;MACH9B,IAAI,EAAE,QAAQ;MACdC,YAAY,EAAE2D,UAAU;MACxBvD,WAAW,EAAE;KACd;IACD0B,MAAM,EAAE;MACN/B,IAAI,EAAE,QAAQ;MACd8D,OAAO,EAAE,CACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,CACR;MACD7D,YAAY,EAAE4D,aAAa;MAC3BxD,WAAW,EAAE;KACd;IACD4B,OAAO,EAAE;MACPjC,IAAI,EAAE,QAAQ;MACdK,WAAW,EAAE,0CAA0C;MACvDJ,YAAY,EAAE;QACZ,cAAc,EAAE,kBAAkB;QAClC8D,MAAM,EAAE;;KAEX;IACDR,QAAQ,EAAE;MACRvD,IAAI,EAAE,QAAQ;MACdK,WAAW,EACT,oEAAoE;MACtE2D,aAAa,EAAE;;GAElB;AACH;IAEaC,eAAe,GAAoC;EAC9D/C,IAAI,EAAE,qCAAqC;EAC3Cd,WAAW,EAAE,uBAAuB;EACpC8D,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,4BAA4B;EACxCC,YAAY,EAAE,IAAI;EAClB/D,WAAW,EACT,sKAAsK;EACxKiD,KAAK,eAAAI,QAAA,kBACCC,YAAY,CACd,+CAA+C,EAC/C,KAAK,CACE;IACT3B,IAAI,EAAE;MACJhC,IAAI,EAAE,QAAQ;MACdK,WAAW,EAAE;;KAEXR,uBAA+B,CACpC;EACDwE,aAAa,EAAE;IACbC,QAAQ,EAAE,MAAM;IAChBC,KAAK,EAAE;;;SAIKC,mBAAmBA,CACjCC,MAAwD,EACxDC,qBAAuD;EAEvD,IAAID,MAAM,EAAE;IACVA,MAAM,CAACE,iBAAiB,CACtBtB,WAAW,EACXqB,qBAAqB,WAArBA,qBAAqB,GAAIT,eAAe,CACzC;GACF,MAAM;IACLU,iBAAiB,CAACtB,WAAW,EAAEqB,qBAAqB,WAArBA,qBAAqB,GAAIT,eAAe,CAAC;;AAE5E;SAUgBW,cAAcA,CAACtB,KAA0B;EACvD,IAAQuB,OAAK,GAAmDvB,KAAK,CAA7DuB,KAAK;IAAE/C,GAAG,GAA8CwB,KAAK,CAAtDxB,GAAG;IAAEC,MAAM,GAAsCuB,KAAK,CAAjDvB,MAAM;IAAEE,OAAO,GAA6BqB,KAAK,CAAzCrB,OAAO;IAAEsB,QAAQ,GAAmBD,KAAK,CAAhCC,QAAQ;IAAEuB,YAAY,GAAKxB,KAAK,CAAtBwB,YAAY;EAC3D,IAAMtB,UAAU,GAAe;IAC7BxB,IAAI,EAAA0B,QAAA,KAAOmB,OAAK;MAAEE,SAAS,EAAArB,QAAA,KAAOmB,OAAK,oBAALA,OAAK,CAAEE,SAAS,EAAKD,YAAY;MAAI;IACvEhD,GAAG,EAAHA,GAAG;IACHC,MAAM,EAANA,MAAM;IACNE,OAAO,EAAPA;GACD;EACD,IAAMtB,MAAM,GAAG8C,yBAAmB,CAChCF,QAAQ,IAAIX,IAAI,CAACC,SAAS,CAAAa,QAAA;IAAG1D,IAAI,EAAE;KAAqBwD,UAAU,CAAE,CAAC,EACrE;IAAA,OAAMpC,YAAY,CAACoC,UAAU,CAAC;IAC/B;EACD,OAAOzC,oBAACN,mBAAmB;IAACE,MAAM,EAAEA;KAAY2C,KAAK,EAAI;AAC3D;IAEa0B,kBAAkB,GAAuC;EACpE9D,IAAI,EAAE,wCAAwC;EAC9Cd,WAAW,EAAE,iBAAiB;EAC9B8D,UAAU,EAAE,gBAAgB;EAC5BC,UAAU,EAAE,4BAA4B;EACxCC,YAAY,EAAE,IAAI;EAClBd,KAAK,eAAG;IACN,IAAM2B,QAAQ,GAAmC;MAC/CJ,KAAK,EAAE;QACL7E,IAAI,EAAE,MAAM;QACZkF,IAAI,EAAE,SAAS;QACfjD,OAAO,EAAE,SAAAA,QAACqB,KAAK;UAAA,OAAKA,KAAK,CAACrB,OAAO;;QACjCkD,QAAQ,EAAE,SAAAA,SAAC7B,KAAK;UAAA,IAAA8B,UAAA;UAAA,QAAAA,UAAA,GAAK9B,KAAK,CAACxB,GAAG,YAAAsD,UAAA,GAAI,EAAE;;QACpCnF,YAAY,EAAE;UACZ4E,KAAK,iJASd;UACSE,SAAS,EAAE;YACT7D,IAAI,EAAE;;;OAGX;MACD4D,YAAY,EAAE;QACZ9E,IAAI,EAAE,QAAQ;QACdI,WAAW,EAAE,oBAAoB;QACjCC,WAAW,EACT,6EAA6E;QAC/EJ,YAAY,EAAE;;KAEjB;;IAED,IAAAoF,qBAAA,gBAAA3B,QAAA,kBACKC,YAAY,CAAC,qCAAqC,EAAE,MAAM,CAAC,EAC3DsB,QAAQ,EACRpF,uBAAuB;MAHpBiC,GAAG,GAAAuD,qBAAA,CAAHvD,GAAG;MAAE+C,KAAK,GAAAQ,qBAAA,CAALR,KAAK;MAAE9C,MAAM,GAAAsD,qBAAA,CAANtD,MAAM;MAAEE,OAAO,GAAAoD,qBAAA,CAAPpD,OAAO;MAAEsB,QAAQ,GAAA8B,qBAAA,CAAR9B,QAAQ;MAAK+B,IAAI,gBAAAC,6BAAA,CAAAF,qBAAA,EAAAG,SAAA;IAKtD,OAAA9B,QAAA;MACE5B,GAAG,EAAHA,GAAG;MACH+C,KAAK,EAALA,KAAK;MACL9C,MAAM,EAANA,MAAM;MACNE,OAAO,EAAPA,OAAO;MACPsB,QAAQ,EAARA;OACG+B,IAAI;GAEV,EAAG;EACJjB,aAAa,EAAE;IACbC,QAAQ,EAAE,MAAM;IAChBC,KAAK,EAAE;;;SAIKkB,sBAAsBA,CACpChB,MAAwD,EACxDC,qBAA0D;EAE1D,IAAID,MAAM,EAAE;IACVA,MAAM,CAACE,iBAAiB,CACtBC,cAAc,EACdF,qBAAqB,WAArBA,qBAAqB,GAAIM,kBAAkB,CAC5C;GACF,MAAM;IACLL,iBAAiB,CACfC,cAAc,EACdF,qBAAqB,WAArBA,qBAAqB,GAAIM,kBAAkB,CAC5C;;AAEL;SAEgBU,WAAWA,CAACjB,MAE3B;EACCD,mBAAmB,CAACC,MAAM,CAAC;EAC3BgB,sBAAsB,CAAChB,MAAM,CAAC;AAChC;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"plasmic-query.cjs.development.js","sources":["../src/Fetcher.tsx"],"sourcesContent":["import { DataProvider, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\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> = ComponentMeta<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 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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<GraphqlFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n } else {\n registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n }\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n registerDataFetcher(loader);\n registerGraphqlFetcher(loader);\n}\n"],"names":["genericFetcherPropsMeta","children","loadingDisplay","type","defaultValue","errorDisplay","dataName","displayName","description","errorName","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","DataProvider","name","data","error","content","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","json","wrap","_callee$","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","parse","e","ok","statusText","info","status","abrupt","stop","DataFetcher","props","queryKey","fetchProps","usePlasmicQueryData","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","variables","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_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 t=require("@plasmicapp/host"),r=e(require("@plasmicapp/host/registerComponent")),n=require("@plasmicapp/query"),a=e(require("react"));function o(){o=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function h(e,t,r,n){var o=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new F(n||[]);return a(o,"_invoke",{value:N(e,r,i)}),o}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=h;var f="suspendedStart",y="executing",d="completed",v={};function m(){}function g(){}function b(){}var w={};l(w,u,(function(){return this}));var x=Object.getPrototypeOf,E=x&&x(x(D([])));E&&E!==r&&n.call(E,u)&&(w=E);var O=b.prototype=m.prototype=Object.create(w);function q(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function r(a,o,i,u){var c=p(e[a],e,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function N(t,r,n){var a=f;return function(o,i){if(a===y)throw new Error("Generator is already running");if(a===d){if("throw"===o)throw i;return{value:e,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var c=j(u,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=y;var s=p(t,r,n);if("normal"===s.type){if(a=n.done?d:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=d,n.method="throw",n.arg=s.arg)}}}function j(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=p(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function D(t){if(t||""===t){var r=t[u];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=b,a(O,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:g,configurable:!0}),g.displayName=l(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,s,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},q(L.prototype),l(L.prototype,c,(function(){return this})),t.AsyncIterator=L,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var i=new L(h(e,r,n,a),o);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},q(O),l(O,s,"Generator"),l(O,u,(function(){return this})),l(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=D,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(S),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return u.type="throw",u.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;S(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:D(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function i(e,t,r,n,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,a)}function u(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function u(e){i(o,n,a,u,c,"next",e)}function c(e){i(o,n,a,u,c,"throw",e)}u(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function s(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(a[r]=e[r]);return a}var l=["url","query","method","headers","queryKey"],h={children:"slot",loadingDisplay:{type:"slot",defaultValue:"Loading..."},errorDisplay:{type:"slot",defaultValue:"Error fetching data"},dataName:{type:"string",displayName:"Variable name",defaultValue:"fetchedData",description:"Variable name to store the fetched data 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 p(e){var r=e.result,n=e.children,o=e.loadingDisplay,i=e.previewSpinner,u=e.errorDisplay,c=e.previewErrorDisplay,s=e.dataName,l=e.noLayout,h=e.className,p=!!t.usePlasmicCanvasContext();if(p&&i||!("error"in r)&&!("data"in r))return a.createElement(a.Fragment,null,null!=o?o:null);if(p&&c||"error"in r)return a.createElement(a.Fragment,null,null!=u?u:null);var f=a.createElement(t.DataProvider,{name:s,data:r.data},n);return l?f:a.createElement("div",{className:h},f)}function f(e){return y.apply(this,arguments)}function y(){return(y=u(o().mark((function e(t){var r,n,a,i,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.method,a=t.body,i=t.headers,r=t.url){e.next=3;break}throw new Error("Please specify a URL to fetch");case 3:return e.next=5,fetch(r,{method:n,headers:i,body:void 0===a||"string"==typeof a?a:JSON.stringify(a)});case 5:if((u=e.sent).ok){e.next=8;break}throw new Error(u.statusText);case 8:return e.next=10,u.text();case 10:return c=e.sent,e.prev=11,e.abrupt("return",JSON.parse(c));case 15:return e.prev=15,e.t0=e.catch(11),e.abrupt("return",{text:c});case 18:case"end":return e.stop()}}),e,null,[[11,15]])})))).apply(this,arguments)}function d(e){var t={url:e.url,method:e.method,body:e.body,headers:e.headers},r=n.usePlasmicQueryData(e.queryKey||JSON.stringify(c({type:"DataFetcher"},t)),(function(){return f(t)}));return a.createElement(p,Object.assign({result:r},e))}function v(e,t){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:t,description:"Method to use when fetching"},headers:{type:"object",description:"Request headers (as JSON object) to send",defaultValue:{"Content-Type":"application/json",Accept:"application/json"}},queryKey:{type:"string",description:"A globally unique ID for this query, used for invalidating queries",invariantable:!0}}}var m={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:c({},v("https://api.github.com/users/plasmicapp/repos","GET"),{body:{type:"object",description:"JSON object to be sent in the request body"}},h),defaultStyles:{maxWidth:"100%",width:"stretch"}};function g(e,t){e?e.registerComponent(d,null!=t?t:m):r(d,null!=t?t:m)}function b(e){var t=e.query,r=e.url,o=e.method,i=e.headers,u=e.queryKey,s={body:c({},t,{variables:c({},null==t?void 0:t.variables,e.varOverrides)}),url:r,method:o,headers:i},l=n.usePlasmicQueryData(u||JSON.stringify(c({type:"GraphqlFetcher"},s)),(function(){return f(s)}));return a.createElement(p,Object.assign({result:l},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 t;return null!=(t=e.url)?t:""},defaultValue:{query:"query MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n",variables:{name:"Rick Sanchez"}}},varOverrides:{type:"object",displayName:"Override variables",description:"Pass in dynamic values for your query variables, as an object of key-values",defaultValue:{}}},t=c({},v("https://rickandmortyapi.com/graphql","POST"),e,h);return c({url:t.url,query:t.query,method:t.method,headers:t.headers,queryKey:t.queryKey},s(t,l))}(),defaultStyles:{maxWidth:"100%",width:"stretch"}};function x(e,t){e?e.registerComponent(b,null!=t?t:w):r(b,null!=t?t:w)}exports.DataFetcher=d,exports.GenericFetcherShell=p,exports.GraphqlFetcher=b,exports.dataFetcherMeta=m,exports.genericFetcherPropsMeta=h,exports.graphqlFetcherMeta=w,exports.registerAll=function(e){g(e),x(e)},exports.registerDataFetcher=g,exports.registerGraphqlFetcher=x;
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/host"),r=e(require("@plasmicapp/host/registerComponent")),n=require("@plasmicapp/query"),a=e(require("react"));function o(){o=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function h(e,t,r,n){var o=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new D(n||[]);return a(o,"_invoke",{value:N(e,r,i)}),o}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=h;var f="suspendedStart",y="executing",d="completed",v={};function m(){}function g(){}function w(){}var b={};l(b,u,(function(){return this}));var x=Object.getPrototypeOf,E=x&&x(x(F([])));E&&E!==r&&n.call(E,u)&&(b=E);var O=w.prototype=m.prototype=Object.create(b);function q(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function r(a,o,i,u){var s=p(e[a],e,o);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){c.value=e,i(c)}),(function(e){return r("throw",e,i,u)}))}u(s.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function N(t,r,n){var a=f;return function(o,i){if(a===y)throw new Error("Generator is already running");if(a===d){if("throw"===o)throw i;return{value:e,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var s=j(u,n);if(s){if(s===v)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=y;var c=p(t,r,n);if("normal"===c.type){if(a=n.done?d:"suspendedYield",c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(a=d,n.method="throw",n.arg=c.arg)}}}function j(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=p(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function F(t){if(t||""===t){var r=t[u];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=w,a(O,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,l(e,c,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},q(L.prototype),l(L.prototype,s,(function(){return this})),t.AsyncIterator=L,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var i=new L(h(e,r,n,a),o);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},q(O),l(O,c,"Generator"),l(O,u,(function(){return this})),l(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=F,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(S),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return u.type="throw",u.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;S(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:F(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function i(e,t,r,n,a,o,i){try{var u=e[o](i),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,a)}function u(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function u(e){i(o,n,a,u,s,"next",e)}function s(e){i(o,n,a,u,s,"throw",e)}u(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function c(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(a[r]=e[r]);return a}var l=["url","query","method","headers","queryKey"],h={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 p(e){var r=e.result,n=e.children,o=e.loadingDisplay,i=e.previewSpinner,u=e.errorDisplay,s=e.previewErrorDisplay,c=e.dataName,l=e.errorName,h=e.noLayout,p=e.className,f=!!t.usePlasmicCanvasContext();if(f&&i||!("error"in r)&&!("data"in r))return a.createElement(a.Fragment,null,null!=o?o:null);if(f&&s||"error"in r)return a.createElement(t.DataProvider,{name:l,data:r.error},null!=u?u:null);var y=a.createElement(t.DataProvider,{name:c,data:r.data},n);return h?y:a.createElement("div",{className:p},y)}function f(e){return y.apply(this,arguments)}function y(){return(y=u(o().mark((function e(t){var r,n,a,i,u,s,c,l;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.method,a=t.body,i=t.headers,r=t.url){e.next=3;break}throw new Error("Please specify a URL to fetch");case 3:return e.next=5,fetch(r,{method:n,headers:i,body:void 0===a||"string"==typeof a?a:JSON.stringify(a)});case 5:return u=e.sent,e.next=8,u.text();case 8:c={text:s=e.sent};try{c=JSON.parse(s)}catch(e){c={text:s}}if(u.ok){e.next=16;break}throw(l=new Error(u.statusText)).info=c,l.status=u.status,l;case 16:return e.abrupt("return",c);case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e){var t={url:e.url,method:e.method,body:e.body,headers:e.headers},r=n.usePlasmicQueryData(e.queryKey||JSON.stringify(s({type:"DataFetcher"},t)),(function(){return f(t)}));return a.createElement(p,Object.assign({result:r},e))}function v(e,t){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:t,description:"Method to use when fetching"},headers:{type:"object",description:"Request headers (as JSON object) to send",defaultValue:{"Content-Type":"application/json",Accept:"application/json"}},queryKey:{type:"string",description:"A globally unique ID for this query, used for invalidating queries",invariantable:!0}}}var m={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"}},h),defaultStyles:{maxWidth:"100%",width:"stretch"}};function g(e,t){e?e.registerComponent(d,null!=t?t:m):r(d,null!=t?t:m)}function w(e){var t=e.query,r=e.url,o=e.method,i=e.headers,u=e.queryKey,c={body:s({},t,{variables:s({},null==t?void 0:t.variables,e.varOverrides)}),url:r,method:o,headers:i},l=n.usePlasmicQueryData(u||JSON.stringify(s({type:"GraphqlFetcher"},c)),(function(){return f(c)}));return a.createElement(p,Object.assign({result:l},e))}var b={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 t;return null!=(t=e.url)?t:""},defaultValue:{query:"query MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n",variables:{name:"Rick Sanchez"}}},varOverrides:{type:"object",displayName:"Override variables",description:"Pass in dynamic values for your query variables, as an object of key-values",defaultValue:{}}},t=s({},v("https://rickandmortyapi.com/graphql","POST"),e,h);return s({url:t.url,query:t.query,method:t.method,headers:t.headers,queryKey:t.queryKey},c(t,l))}(),defaultStyles:{maxWidth:"100%",width:"stretch"}};function x(e,t){e?e.registerComponent(w,null!=t?t:b):r(w,null!=t?t:b)}exports.DataFetcher=d,exports.GenericFetcherShell=p,exports.GraphqlFetcher=w,exports.dataFetcherMeta=m,exports.genericFetcherPropsMeta=h,exports.graphqlFetcherMeta=b,exports.registerAll=function(e){g(e),x(e)},exports.registerDataFetcher=g,exports.registerGraphqlFetcher=x;
|
|
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 ComponentMeta,\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 noLayout?: boolean;\n className?: string;\n}\n\ntype PropMetas<P> = ComponentMeta<P>[\"props\"];\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: \"Variable name\",\n defaultValue: \"fetchedData\",\n description: \"Variable name to store the fetched data 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 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 <>{errorDisplay ?? null}</>;\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 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 if (!response.ok) {\n throw new Error(response.statusText);\n }\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch (e) {\n return { text };\n }\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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<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","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","content","DataProvider","name","data","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","wrap","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","ok","statusText","abrupt","parse","t0","stop","DataFetcher","props","fetchProps","usePlasmicQueryData","queryKey","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Content-Type","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","variables","varOverrides","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_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 ComponentMeta,\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> = ComponentMeta<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 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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<GraphqlFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n } else {\n registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n }\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n registerDataFetcher(loader);\n registerGraphqlFetcher(loader);\n}\n"],"names":["genericFetcherPropsMeta","children","loadingDisplay","type","defaultValue","errorDisplay","dataName","displayName","description","errorName","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","DataProvider","name","data","error","content","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","json","wrap","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","parse","e","ok","statusText","info","status","abrupt","stop","DataFetcher","props","fetchProps","usePlasmicQueryData","queryKey","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Content-Type","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","variables","varOverrides","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_mkFetchProps$gqlMeta","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher"],"mappings":"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"}
|
|
@@ -374,10 +374,16 @@ var genericFetcherPropsMeta = {
|
|
|
374
374
|
},
|
|
375
375
|
dataName: {
|
|
376
376
|
type: "string",
|
|
377
|
-
displayName: "
|
|
377
|
+
displayName: "Data name",
|
|
378
378
|
defaultValue: "fetchedData",
|
|
379
379
|
description: "Variable name to store the fetched data in"
|
|
380
380
|
},
|
|
381
|
+
errorName: {
|
|
382
|
+
type: "string",
|
|
383
|
+
displayName: "Error name",
|
|
384
|
+
defaultValue: "fetchError",
|
|
385
|
+
description: "Variable name to store the fetch error in"
|
|
386
|
+
},
|
|
381
387
|
previewSpinner: {
|
|
382
388
|
type: "boolean",
|
|
383
389
|
description: "Force preview the loading state",
|
|
@@ -403,13 +409,17 @@ function GenericFetcherShell(_ref) {
|
|
|
403
409
|
errorDisplay = _ref.errorDisplay,
|
|
404
410
|
previewErrorDisplay = _ref.previewErrorDisplay,
|
|
405
411
|
dataName = _ref.dataName,
|
|
412
|
+
errorName = _ref.errorName,
|
|
406
413
|
noLayout = _ref.noLayout,
|
|
407
414
|
className = _ref.className;
|
|
408
415
|
var inEditor = !!usePlasmicCanvasContext();
|
|
409
416
|
if (inEditor && previewSpinner || !("error" in result) && !("data" in result)) {
|
|
410
417
|
return React.createElement(React.Fragment, null, loadingDisplay != null ? loadingDisplay : null);
|
|
411
418
|
} else if (inEditor && previewErrorDisplay || "error" in result) {
|
|
412
|
-
return React.createElement(
|
|
419
|
+
return React.createElement(DataProvider, {
|
|
420
|
+
name: errorName,
|
|
421
|
+
data: result.error
|
|
422
|
+
}, errorDisplay != null ? errorDisplay : null);
|
|
413
423
|
} else {
|
|
414
424
|
var content = React.createElement(DataProvider, {
|
|
415
425
|
name: dataName,
|
|
@@ -428,7 +438,7 @@ function performFetch(_x) {
|
|
|
428
438
|
}
|
|
429
439
|
function _performFetch() {
|
|
430
440
|
_performFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
|
|
431
|
-
var url, method, body, headers, response, text;
|
|
441
|
+
var url, method, body, headers, response, text, json, error;
|
|
432
442
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
433
443
|
while (1) switch (_context.prev = _context.next) {
|
|
434
444
|
case 0:
|
|
@@ -447,29 +457,38 @@ function _performFetch() {
|
|
|
447
457
|
});
|
|
448
458
|
case 5:
|
|
449
459
|
response = _context.sent;
|
|
450
|
-
|
|
451
|
-
_context.next = 8;
|
|
452
|
-
break;
|
|
453
|
-
}
|
|
454
|
-
throw new Error(response.statusText);
|
|
455
|
-
case 8:
|
|
456
|
-
_context.next = 10;
|
|
460
|
+
_context.next = 8;
|
|
457
461
|
return response.text();
|
|
458
|
-
case
|
|
462
|
+
case 8:
|
|
459
463
|
text = _context.sent;
|
|
460
|
-
|
|
461
|
-
return _context.abrupt("return", JSON.parse(text));
|
|
462
|
-
case 15:
|
|
463
|
-
_context.prev = 15;
|
|
464
|
-
_context.t0 = _context["catch"](11);
|
|
465
|
-
return _context.abrupt("return", {
|
|
464
|
+
json = {
|
|
466
465
|
text: text
|
|
467
|
-
}
|
|
468
|
-
|
|
466
|
+
};
|
|
467
|
+
try {
|
|
468
|
+
json = JSON.parse(text);
|
|
469
|
+
} catch (e) {
|
|
470
|
+
json = {
|
|
471
|
+
text: text
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
// @see https://swr.vercel.app/docs/error-handling
|
|
475
|
+
// If the status code is not in the range 200-299,
|
|
476
|
+
// we still try to parse and throw it.
|
|
477
|
+
if (response.ok) {
|
|
478
|
+
_context.next = 16;
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
error = new Error(response.statusText); // Attach extra info to the error object.
|
|
482
|
+
error.info = json;
|
|
483
|
+
error.status = response.status;
|
|
484
|
+
throw error;
|
|
485
|
+
case 16:
|
|
486
|
+
return _context.abrupt("return", json);
|
|
487
|
+
case 17:
|
|
469
488
|
case "end":
|
|
470
489
|
return _context.stop();
|
|
471
490
|
}
|
|
472
|
-
}, _callee
|
|
491
|
+
}, _callee);
|
|
473
492
|
}));
|
|
474
493
|
return _performFetch.apply(this, arguments);
|
|
475
494
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-query.esm.js","sources":["../src/Fetcher.tsx"],"sourcesContent":["import { DataProvider, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ComponentMeta,\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 noLayout?: boolean;\n className?: string;\n}\n\ntype PropMetas<P> = ComponentMeta<P>[\"props\"];\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: \"Variable name\",\n defaultValue: \"fetchedData\",\n description: \"Variable name to store the fetched data 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 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 <>{errorDisplay ?? null}</>;\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 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 if (!response.ok) {\n throw new Error(response.statusText);\n }\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch (e) {\n return { text };\n }\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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<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","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","content","DataProvider","name","data","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","wrap","_callee$","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","ok","statusText","abrupt","parse","t0","stop","DataFetcher","props","queryKey","fetchProps","usePlasmicQueryData","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","variables","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_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 ComponentMeta,\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> = ComponentMeta<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 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 defaultValue: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\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: ComponentMeta<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?: ComponentMeta<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 const fetchProps: FetchProps = {\n body: { ...query, variables: { ...query?.variables, ...varOverrides } },\n url,\n method,\n headers,\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: ComponentMeta<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 MyQuery($name: String) {\n characters(filter: {name: $name}) {\n results {\n name\n species\n image\n }\n }\n}\n`,\n variables: {\n name: \"Rick Sanchez\",\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 defaultValue: {},\n },\n };\n // Reorder the props\n const { url, query, method, headers, queryKey, ...rest } = {\n ...mkFetchProps(\"https://rickandmortyapi.com/graphql\", \"POST\"),\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?: ComponentMeta<GraphqlFetcherProps>\n) {\n if (loader) {\n loader.registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n } else {\n registerComponent(\n GraphqlFetcher,\n customDataFetcherMeta ?? graphqlFetcherMeta\n );\n }\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n registerDataFetcher(loader);\n registerGraphqlFetcher(loader);\n}\n"],"names":["genericFetcherPropsMeta","children","loadingDisplay","type","defaultValue","errorDisplay","dataName","displayName","description","errorName","previewSpinner","previewErrorDisplay","noLayout","GenericFetcherShell","_ref","result","className","inEditor","usePlasmicCanvasContext","React","DataProvider","name","data","error","content","performFetch","_x","_performFetch","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","method","body","headers","response","text","json","wrap","_callee$","_context","prev","next","Error","fetch","undefined","JSON","stringify","sent","parse","e","ok","statusText","info","status","abrupt","stop","DataFetcher","props","queryKey","fetchProps","usePlasmicQueryData","_extends","mkFetchProps","defaultUrl","defaultMethod","options","Accept","invariantable","dataFetcherMeta","importName","importPath","providesData","defaultStyles","maxWidth","width","registerDataFetcher","loader","customDataFetcherMeta","registerComponent","GraphqlFetcher","query","varOverrides","variables","graphqlFetcherMeta","gqlMetas","lang","endpoint","_props$url","_mkFetchProps$gqlMeta","rest","_objectWithoutPropertiesLoose","_excluded","registerGraphqlFetcher","registerAll"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-query",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.205",
|
|
4
4
|
"description": "Plasmic components and registration calls for data fetching",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"analyze": "size-limit --why"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@plasmicapp/host": "1.0.
|
|
31
|
+
"@plasmicapp/host": "1.0.187",
|
|
32
32
|
"@plasmicapp/query": "0.1.77",
|
|
33
33
|
"@size-limit/preset-small-lib": "^4.11.0",
|
|
34
34
|
"@types/node": "^14.0.26",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"react": ">=16.8.0",
|
|
44
44
|
"react-dom": ">=16.8.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "bdd602e3d03202e9064cb1c84af30fd6c4a2b948"
|
|
47
47
|
}
|