@contember/react-client 1.1.0-alpha.13 → 1.1.0-alpha.14
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/development/ClientError.js +3 -1
- package/dist/development/ClientError.js.map +1 -1
- package/dist/development/ContemberClient.js +49 -15
- package/dist/development/ContemberClient.js.map +1 -1
- package/dist/development/apiRequest/apiRequestReducer.js +3 -1
- package/dist/development/apiRequest/apiRequestReducer.js.map +1 -1
- package/dist/development/apiRequest/useApiRequest.js +33 -25
- package/dist/development/apiRequest/useApiRequest.js.map +1 -1
- package/dist/development/auth/SessionTokenContext.js +3 -1
- package/dist/development/auth/SessionTokenContext.js.map +1 -1
- package/dist/development/auth/SetSessionTokenContext.js +3 -1
- package/dist/development/auth/SetSessionTokenContext.js.map +1 -1
- package/dist/development/auth/useSessionToken.js +3 -1
- package/dist/development/auth/useSessionToken.js.map +1 -1
- package/dist/development/auth/useSetSessionToken.js +3 -1
- package/dist/development/auth/useSetSessionToken.js.map +1 -1
- package/dist/development/components/RichTextRenderer/ElementRenderer.js +18 -5
- package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/LeafRenderer.js +11 -3
- package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js +148 -50
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +65 -13
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js +4 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js +44 -32
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
- package/dist/development/components/RichTextRenderer/RichTextRendererError.js +3 -1
- package/dist/development/components/RichTextRenderer/RichTextRendererError.js.map +1 -1
- package/dist/development/components/RichTextRenderer/defaultDeserialize.js +3 -1
- package/dist/development/components/RichTextRenderer/defaultDeserialize.js.map +1 -1
- package/dist/development/components/RichTextRenderer/renderChildren.js +31 -19
- package/dist/development/components/RichTextRenderer/renderChildren.js.map +1 -1
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js +6 -2
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
- package/dist/development/config/ApiBaseUrlContext.js +3 -1
- package/dist/development/config/ApiBaseUrlContext.js.map +1 -1
- package/dist/development/config/LoginTokenContext.js +3 -1
- package/dist/development/config/LoginTokenContext.js.map +1 -1
- package/dist/development/config/useApiBaseUrl.js +3 -1
- package/dist/development/config/useApiBaseUrl.js.map +1 -1
- package/dist/development/config/useLoginToken.js +3 -1
- package/dist/development/config/useLoginToken.js.map +1 -1
- package/dist/development/content/useContentApiRequest.js +3 -1
- package/dist/development/content/useContentApiRequest.js.map +1 -1
- package/dist/development/content/useContentGraphQlClient.js +3 -1
- package/dist/development/content/useContentGraphQlClient.js.map +1 -1
- package/dist/development/content/useCurrentContentGraphQlClient.js +3 -1
- package/dist/development/content/useCurrentContentGraphQlClient.js.map +1 -1
- package/dist/development/index.js +58 -28
- package/dist/development/project/ProjectSlugContext.js +3 -1
- package/dist/development/project/ProjectSlugContext.js.map +1 -1
- package/dist/development/project/StageSlugContext.js +3 -1
- package/dist/development/project/StageSlugContext.js.map +1 -1
- package/dist/development/project/useProjectSlug.js +3 -1
- package/dist/development/project/useProjectSlug.js.map +1 -1
- package/dist/development/project/useStageSlug.js +3 -1
- package/dist/development/project/useStageSlug.js.map +1 -1
- package/dist/development/system/useCurrentSystemGraphQlClient.js +3 -1
- package/dist/development/system/useCurrentSystemGraphQlClient.js.map +1 -1
- package/dist/development/system/useSystemApiRequest.js +3 -1
- package/dist/development/system/useSystemApiRequest.js.map +1 -1
- package/dist/development/system/useSystemGraphQlClient.js +3 -1
- package/dist/development/system/useSystemGraphQlClient.js.map +1 -1
- package/dist/development/tenant/useTenantApiRequest.js +3 -1
- package/dist/development/tenant/useTenantApiRequest.js.map +1 -1
- package/dist/development/tenant/useTenantGraphQlClient.js +3 -1
- package/dist/development/tenant/useTenantGraphQlClient.js.map +1 -1
- package/dist/development/upload/fileUploadReducer.js +4 -1
- package/dist/development/upload/fileUploadReducer.js.map +1 -1
- package/dist/development/upload/toFileId.js +3 -1
- package/dist/development/upload/toFileId.js.map +1 -1
- package/dist/development/upload/useFileUpload.js +131 -115
- package/dist/development/upload/useFileUpload.js.map +1 -1
- package/dist/development/useGraphQlClient.js +3 -1
- package/dist/development/useGraphQlClient.js.map +1 -1
- package/dist/development/utils/assertNever.js +3 -1
- package/dist/development/utils/assertNever.js.map +1 -1
- package/dist/production/ClientError.js +3 -1
- package/dist/production/ClientError.js.map +1 -1
- package/dist/production/ContemberClient.js +24 -15
- package/dist/production/ContemberClient.js.map +1 -1
- package/dist/production/apiRequest/apiRequestReducer.js +3 -1
- package/dist/production/apiRequest/apiRequestReducer.js.map +1 -1
- package/dist/production/apiRequest/useApiRequest.js +33 -25
- package/dist/production/apiRequest/useApiRequest.js.map +1 -1
- package/dist/production/auth/SessionTokenContext.js +3 -1
- package/dist/production/auth/SessionTokenContext.js.map +1 -1
- package/dist/production/auth/SetSessionTokenContext.js +3 -1
- package/dist/production/auth/SetSessionTokenContext.js.map +1 -1
- package/dist/production/auth/useSessionToken.js +3 -1
- package/dist/production/auth/useSessionToken.js.map +1 -1
- package/dist/production/auth/useSetSessionToken.js +3 -1
- package/dist/production/auth/useSetSessionToken.js.map +1 -1
- package/dist/production/components/RichTextRenderer/ElementRenderer.js +13 -5
- package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/LeafRenderer.js +5 -2
- package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js +81 -48
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +32 -13
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js +4 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js +39 -32
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +1 -1
- package/dist/production/components/RichTextRenderer/RichTextRendererError.js +3 -1
- package/dist/production/components/RichTextRenderer/RichTextRendererError.js.map +1 -1
- package/dist/production/components/RichTextRenderer/defaultDeserialize.js +3 -1
- package/dist/production/components/RichTextRenderer/defaultDeserialize.js.map +1 -1
- package/dist/production/components/RichTextRenderer/renderChildren.js +22 -19
- package/dist/production/components/RichTextRenderer/renderChildren.js.map +1 -1
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js +6 -2
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +1 -1
- package/dist/production/config/ApiBaseUrlContext.js +3 -1
- package/dist/production/config/ApiBaseUrlContext.js.map +1 -1
- package/dist/production/config/LoginTokenContext.js +3 -1
- package/dist/production/config/LoginTokenContext.js.map +1 -1
- package/dist/production/config/useApiBaseUrl.js +3 -1
- package/dist/production/config/useApiBaseUrl.js.map +1 -1
- package/dist/production/config/useLoginToken.js +3 -1
- package/dist/production/config/useLoginToken.js.map +1 -1
- package/dist/production/content/useContentApiRequest.js +3 -1
- package/dist/production/content/useContentApiRequest.js.map +1 -1
- package/dist/production/content/useContentGraphQlClient.js +3 -1
- package/dist/production/content/useContentGraphQlClient.js.map +1 -1
- package/dist/production/content/useCurrentContentGraphQlClient.js +3 -1
- package/dist/production/content/useCurrentContentGraphQlClient.js.map +1 -1
- package/dist/production/index.js +58 -28
- package/dist/production/project/ProjectSlugContext.js +3 -1
- package/dist/production/project/ProjectSlugContext.js.map +1 -1
- package/dist/production/project/StageSlugContext.js +3 -1
- package/dist/production/project/StageSlugContext.js.map +1 -1
- package/dist/production/project/useProjectSlug.js +3 -1
- package/dist/production/project/useProjectSlug.js.map +1 -1
- package/dist/production/project/useStageSlug.js +3 -1
- package/dist/production/project/useStageSlug.js.map +1 -1
- package/dist/production/system/useCurrentSystemGraphQlClient.js +3 -1
- package/dist/production/system/useCurrentSystemGraphQlClient.js.map +1 -1
- package/dist/production/system/useSystemApiRequest.js +3 -1
- package/dist/production/system/useSystemApiRequest.js.map +1 -1
- package/dist/production/system/useSystemGraphQlClient.js +3 -1
- package/dist/production/system/useSystemGraphQlClient.js.map +1 -1
- package/dist/production/tenant/useTenantApiRequest.js +3 -1
- package/dist/production/tenant/useTenantApiRequest.js.map +1 -1
- package/dist/production/tenant/useTenantGraphQlClient.js +3 -1
- package/dist/production/tenant/useTenantGraphQlClient.js.map +1 -1
- package/dist/production/upload/fileUploadReducer.js +4 -1
- package/dist/production/upload/fileUploadReducer.js.map +1 -1
- package/dist/production/upload/toFileId.js +3 -1
- package/dist/production/upload/toFileId.js.map +1 -1
- package/dist/production/upload/useFileUpload.js +131 -115
- package/dist/production/upload/useFileUpload.js.map +1 -1
- package/dist/production/useGraphQlClient.js +3 -1
- package/dist/production/useGraphQlClient.js.map +1 -1
- package/dist/production/utils/assertNever.js +3 -1
- package/dist/production/utils/assertNever.js.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,27 +1,39 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
1
|
import { ElementRenderer } from "./ElementRenderer.js";
|
|
3
2
|
import { LeafRenderer } from "./LeafRenderer.js";
|
|
3
|
+
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
4
|
+
var _jsxFileName = "/__w/admin/admin/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx";
|
|
4
5
|
const renderChildren = (children, options) => {
|
|
5
6
|
if (!Array.isArray(children)) {
|
|
6
7
|
children = [children];
|
|
7
8
|
}
|
|
8
|
-
return /* @__PURE__ */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
return /* @__PURE__ */ jsxDEV(Fragment, {
|
|
10
|
+
children: children.map((child, i) => {
|
|
11
|
+
if ("text" in child) {
|
|
12
|
+
return /* @__PURE__ */ jsxDEV(LeafRenderer, {
|
|
13
|
+
leaf: child,
|
|
14
|
+
renderLeaf: options.renderLeaf
|
|
15
|
+
}, i, false, {
|
|
16
|
+
fileName: _jsxFileName,
|
|
17
|
+
lineNumber: 37,
|
|
18
|
+
columnNumber: 13
|
|
19
|
+
}, void 0);
|
|
20
|
+
}
|
|
21
|
+
if ("children" in child) {
|
|
22
|
+
return /* @__PURE__ */ jsxDEV(ElementRenderer, {
|
|
23
|
+
element: child,
|
|
24
|
+
options,
|
|
25
|
+
children: renderChildren(child.children, options)
|
|
26
|
+
}, i, false, {
|
|
27
|
+
fileName: _jsxFileName,
|
|
28
|
+
lineNumber: 41,
|
|
29
|
+
columnNumber: 7
|
|
30
|
+
}, void 0);
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
})
|
|
34
|
+
}, void 0, false);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
renderChildren
|
|
25
38
|
};
|
|
26
|
-
export { renderChildren };
|
|
27
39
|
//# sourceMappingURL=renderChildren.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.js","sources":["../../../../src/components/RichTextRenderer/renderChildren.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { ElementRenderer, RenderElement } from './ElementRenderer'\nimport { LeafRenderer, RenderLeaf } from './LeafRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\n\nexport interface RenderChildrenOptions<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n}\n\nexport const renderChildren = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tchildren:\n\t\t| CustomElements\n\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t| CustomLeaves\n\t\t| BuiltinLeaves\n\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n): ReactElement => {\n\tif (!Array.isArray(children)) {\n\t\tchildren = [children]\n\t}\n\treturn (\n\t\t<>\n\t\t\t{children.map((child, i) => {\n\t\t\t\tif ('text' in child) {\n\t\t\t\t\treturn <LeafRenderer<CustomLeaves> key={i} leaf={child} renderLeaf={options.renderLeaf} />\n\t\t\t\t}\n\t\t\t\tif ('children' in child) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ElementRenderer<CustomElements, CustomLeaves> key={i} element={child} options={options}>\n\t\t\t\t\t\t\t{renderChildren<CustomElements, CustomLeaves>(child.children as typeof children, options)}\n\t\t\t\t\t\t</ElementRenderer>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\treturn null // Throw?\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"renderChildren.js","sources":["../../../../src/components/RichTextRenderer/renderChildren.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { ElementRenderer, RenderElement } from './ElementRenderer'\nimport { LeafRenderer, RenderLeaf } from './LeafRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\n\nexport interface RenderChildrenOptions<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n}\n\nexport const renderChildren = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tchildren:\n\t\t| CustomElements\n\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t| CustomLeaves\n\t\t| BuiltinLeaves\n\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n): ReactElement => {\n\tif (!Array.isArray(children)) {\n\t\tchildren = [children]\n\t}\n\treturn (\n\t\t<>\n\t\t\t{children.map((child, i) => {\n\t\t\t\tif ('text' in child) {\n\t\t\t\t\treturn <LeafRenderer<CustomLeaves> key={i} leaf={child} renderLeaf={options.renderLeaf} />\n\t\t\t\t}\n\t\t\t\tif ('children' in child) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ElementRenderer<CustomElements, CustomLeaves> key={i} element={child} options={options}>\n\t\t\t\t\t\t\t{renderChildren<CustomElements, CustomLeaves>(child.children as typeof children, options)}\n\t\t\t\t\t\t</ElementRenderer>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\treturn null // Throw?\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["renderChildren","children","options","Array","isArray","_Fragment","map","child","i","renderLeaf"],"mappings":";;;;AAiBaA,MAAAA,iBAAiB,CAI7BC,UAMAC,YACkB;AAClB,MAAI,CAACC,MAAMC,QAAQH,QAAd,GAAyB;AAC7BA,eAAW,CAACA,QAAD;AAAA,EACX;AACD,gCACCI,UAAA;AAAA,IAAA,UACEJ,SAASK,IAAI,CAACC,OAAOC,MAAM;AAC3B,UAAI,UAAUD,OAAO;AACpB,sCAAQ,cAAD;AAAA,UAAoC,MAAMA;AAAAA,UAAO,YAAYL,QAAQO;AAAAA,QAAAA,GAApCD,GAAjC,OAAA;AAAA,UAAA,UAAA;AAAA,UAAA,YAAA;AAAA,UAAA,cAAA;AAAA,QAAA,GAAP,MAAA;AAAA,MACA;AACD,UAAI,cAAcD,OAAO;AACxB,sCACE,iBAAD;AAAA,UAAuD,SAASA;AAAAA,UAAO;AAAA,UAAvE,UACEP,eAA6CO,MAAMN,UAA6BC,OAAlE;AAAA,QAAA,GADoCM,GAApD,OAAA;AAAA,UAAA,UAAA;AAAA,UAAA,YAAA;AAAA,UAAA,cAAA;AAAA,QAAA,GADD,MAAA;AAAA,MAKA;AACM,aAAA;AAAA,IAAA,CAXP;AAAA,EAAA,GAFH,QAAA,KAAA;AAiBA;"}
|
|
@@ -4,7 +4,9 @@ const resolveRichTextElementMetadata = (element, metadata) => {
|
|
|
4
4
|
if ("referenceId" in element && typeof element["referenceId"] === "string") {
|
|
5
5
|
const resolved = metadata.references?.get(element["referenceId"]);
|
|
6
6
|
if (resolved === void 0) {
|
|
7
|
-
throw new RichTextRendererError(
|
|
7
|
+
throw new RichTextRendererError(
|
|
8
|
+
`Cannot find reference id '${element["referenceId"]}'` + (metadata.references === void 0 ? ` because its containing block's lacks the '${metadata.referencesField}' field. ` : `.`)
|
|
9
|
+
);
|
|
8
10
|
}
|
|
9
11
|
reference = resolved;
|
|
10
12
|
}
|
|
@@ -21,5 +23,7 @@ const resolveRichTextElementMetadata = (element, metadata) => {
|
|
|
21
23
|
referenceRenderer
|
|
22
24
|
};
|
|
23
25
|
};
|
|
24
|
-
export {
|
|
26
|
+
export {
|
|
27
|
+
resolveRichTextElementMetadata
|
|
28
|
+
};
|
|
25
29
|
//# sourceMappingURL=resolveRichTextElementMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRichTextElementMetadata.js","sources":["../../../../src/components/RichTextRenderer/resolveRichTextElementMetadata.ts"],"sourcesContent":["import type { BuiltinElements } from './BuiltinElements'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const resolveRichTextElementMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>(\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>,\n\tmetadata: RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>,\n): RichTextElementMetadata<CustomElements, CustomLeaves, Reference> => {\n\tlet reference: Reference | undefined = undefined\n\n\tif ('referenceId' in element && typeof element['referenceId'] === 'string') {\n\t\tconst resolved = metadata.references?.get(element['referenceId'])\n\n\t\tif (resolved === undefined) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`Cannot find reference id '${element['referenceId']}'` +\n\t\t\t\t\t(metadata.references === undefined\n\t\t\t\t\t\t? ` because its containing block's lacks the '${metadata.referencesField}' field. `\n\t\t\t\t\t\t: `.`),\n\t\t\t)\n\t\t}\n\t\treference = resolved as Reference\n\t}\n\n\tlet referenceRenderer: ReferenceRenderer<Reference, CustomElements, CustomLeaves> | undefined = undefined\n\tlet referenceType: string | undefined = undefined\n\n\tif (reference && metadata.referenceDiscriminationField) {\n\t\treferenceType = (reference as Reference & Record<typeof metadata.referenceDiscriminationField, string>)[\n\t\t\tmetadata.referenceDiscriminationField\n\t\t]\n\t\treferenceRenderer = metadata.referenceRenderers[referenceType]\n\t}\n\n\treturn {\n\t\tformatVersion: metadata.formatVersion,\n\t\treference,\n\t\treferenceType,\n\t\treferenceRenderer,\n\t}\n}\n"],"names":[],"mappings":";AASa,MAAA,iCAAiC,CAK7C,SACA,aACsE;AACtE,MAAI,YAAmC;AAEvC,MAAI,iBAAiB,WAAW,OAAO,QAAQ,mBAAmB,UAAU;AAC3E,UAAM,WAAW,SAAS,YAAY,IAAI,QAAQ,cAAc;AAEhE,QAAI,aAAa,QAAW;
|
|
1
|
+
{"version":3,"file":"resolveRichTextElementMetadata.js","sources":["../../../../src/components/RichTextRenderer/resolveRichTextElementMetadata.ts"],"sourcesContent":["import type { BuiltinElements } from './BuiltinElements'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const resolveRichTextElementMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>(\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>,\n\tmetadata: RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>,\n): RichTextElementMetadata<CustomElements, CustomLeaves, Reference> => {\n\tlet reference: Reference | undefined = undefined\n\n\tif ('referenceId' in element && typeof element['referenceId'] === 'string') {\n\t\tconst resolved = metadata.references?.get(element['referenceId'])\n\n\t\tif (resolved === undefined) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`Cannot find reference id '${element['referenceId']}'` +\n\t\t\t\t\t(metadata.references === undefined\n\t\t\t\t\t\t? ` because its containing block's lacks the '${metadata.referencesField}' field. `\n\t\t\t\t\t\t: `.`),\n\t\t\t)\n\t\t}\n\t\treference = resolved as Reference\n\t}\n\n\tlet referenceRenderer: ReferenceRenderer<Reference, CustomElements, CustomLeaves> | undefined = undefined\n\tlet referenceType: string | undefined = undefined\n\n\tif (reference && metadata.referenceDiscriminationField) {\n\t\treferenceType = (reference as Reference & Record<typeof metadata.referenceDiscriminationField, string>)[\n\t\t\tmetadata.referenceDiscriminationField\n\t\t]\n\t\treferenceRenderer = metadata.referenceRenderers[referenceType]\n\t}\n\n\treturn {\n\t\tformatVersion: metadata.formatVersion,\n\t\treference,\n\t\treferenceType,\n\t\treferenceRenderer,\n\t}\n}\n"],"names":[],"mappings":";AASa,MAAA,iCAAiC,CAK7C,SACA,aACsE;AACtE,MAAI,YAAmC;AAEvC,MAAI,iBAAiB,WAAW,OAAO,QAAQ,mBAAmB,UAAU;AAC3E,UAAM,WAAW,SAAS,YAAY,IAAI,QAAQ,cAAc;AAEhE,QAAI,aAAa,QAAW;AAC3B,YAAM,IAAI;AAAA,QACT,6BAA6B,QAAQ,qBACnC,SAAS,eAAe,SACtB,8CAA8C,SAAS,6BACvD;AAAA,MAAA;AAAA,IAEN;AACY,gBAAA;AAAA,EACb;AAEA,MAAI,oBAA4F;AAChG,MAAI,gBAAoC;AAEpC,MAAA,aAAa,SAAS,8BAA8B;AACvD,oBAAiB,UAChB,SAAS;AAEV,wBAAoB,SAAS,mBAAmB;AAAA,EACjD;AAEO,SAAA;AAAA,IACN,eAAe,SAAS;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiBaseUrlContext.js","sources":["../../../src/config/ApiBaseUrlContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const ApiBaseUrlContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,oBAAoB,cAAkC,MAAS
|
|
1
|
+
{"version":3,"file":"ApiBaseUrlContext.js","sources":["../../../src/config/ApiBaseUrlContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const ApiBaseUrlContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,oBAAoB,cAAkC,MAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginTokenContext.js","sources":["../../../src/config/LoginTokenContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const LoginTokenContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,oBAAoB,cAAkC,MAAS
|
|
1
|
+
{"version":3,"file":"LoginTokenContext.js","sources":["../../../src/config/LoginTokenContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const LoginTokenContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,oBAAoB,cAAkC,MAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApiBaseUrl.js","sources":["../../../src/config/useApiBaseUrl.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { ApiBaseUrlContext } from './ApiBaseUrlContext'\n\nexport const useApiBaseUrl = () => useContext(ApiBaseUrlContext)\n"],"names":[],"mappings":";;AAGa,MAAA,gBAAgB,MAAM,WAAW,iBAAiB
|
|
1
|
+
{"version":3,"file":"useApiBaseUrl.js","sources":["../../../src/config/useApiBaseUrl.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { ApiBaseUrlContext } from './ApiBaseUrlContext'\n\nexport const useApiBaseUrl = () => useContext(ApiBaseUrlContext)\n"],"names":[],"mappings":";;AAGa,MAAA,gBAAgB,MAAM,WAAW,iBAAiB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoginToken.js","sources":["../../../src/config/useLoginToken.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { LoginTokenContext } from './LoginTokenContext'\n\nexport const useLoginToken = () => useContext(LoginTokenContext)\n"],"names":[],"mappings":";;AAGa,MAAA,gBAAgB,MAAM,WAAW,iBAAiB
|
|
1
|
+
{"version":3,"file":"useLoginToken.js","sources":["../../../src/config/useLoginToken.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { LoginTokenContext } from './LoginTokenContext'\n\nexport const useLoginToken = () => useContext(LoginTokenContext)\n"],"names":[],"mappings":";;AAGa,MAAA,gBAAgB,MAAM,WAAW,iBAAiB;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useCurrentContentGraphQlClient } from "./useCurrentContentGraphQlClient.js";
|
|
2
2
|
import { useApiRequest } from "../apiRequest/useApiRequest.js";
|
|
3
3
|
const useContentApiRequest = () => useApiRequest(useCurrentContentGraphQlClient());
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useContentApiRequest
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useContentApiRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContentApiRequest.js","sources":["../../../src/content/useContentApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useCurrentContentGraphQlClient } from './useCurrentContentGraphQlClient'\n\nexport const useContentApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useCurrentContentGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,uBAAuB,MACnC,cAA2B,+BAAgC,CAAA
|
|
1
|
+
{"version":3,"file":"useContentApiRequest.js","sources":["../../../src/content/useContentApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useCurrentContentGraphQlClient } from './useCurrentContentGraphQlClient'\n\nexport const useContentApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useCurrentContentGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,uBAAuB,MACnC,cAA2B,+BAAgC,CAAA;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { formatContentApiRelativeUrl } from "@contember/client";
|
|
2
2
|
import { useGraphQlClient } from "../useGraphQlClient.js";
|
|
3
3
|
const useContentGraphQlClient = (projectSlug, stageSlug) => useGraphQlClient(formatContentApiRelativeUrl(projectSlug, stageSlug));
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useContentGraphQlClient
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useContentGraphQlClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContentGraphQlClient.js","sources":["../../../src/content/useContentGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { formatContentApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useContentGraphQlClient = (projectSlug: string, stageSlug: string): GraphQlClient =>\n\tuseGraphQlClient(formatContentApiRelativeUrl(projectSlug, stageSlug))\n"],"names":[],"mappings":";;AAIa,MAAA,0BAA0B,CAAC,aAAqB,cAC5D,iBAAiB,4BAA4B,aAAa,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"useContentGraphQlClient.js","sources":["../../../src/content/useContentGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { formatContentApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useContentGraphQlClient = (projectSlug: string, stageSlug: string): GraphQlClient =>\n\tuseGraphQlClient(formatContentApiRelativeUrl(projectSlug, stageSlug))\n"],"names":[],"mappings":";;AAIa,MAAA,0BAA0B,CAAC,aAAqB,cAC5D,iBAAiB,4BAA4B,aAAa,SAAS,CAAC;"}
|
|
@@ -13,5 +13,7 @@ const useCurrentContentGraphQlClient = () => {
|
|
|
13
13
|
}
|
|
14
14
|
return useContentGraphQlClient(projectSlug, stageSlug);
|
|
15
15
|
};
|
|
16
|
-
export {
|
|
16
|
+
export {
|
|
17
|
+
useCurrentContentGraphQlClient
|
|
18
|
+
};
|
|
17
19
|
//# sourceMappingURL=useCurrentContentGraphQlClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentContentGraphQlClient.js","sources":["../../../src/content/useCurrentContentGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { ClientError } from '../ClientError'\nimport { useProjectSlug, useStageSlug } from '../project'\nimport { useContentGraphQlClient } from './useContentGraphQlClient'\n\nexport const useCurrentContentGraphQlClient = (): GraphQlClient => {\n\tconst projectSlug = useProjectSlug()\n\tconst stageSlug = useStageSlug()\n\n\tif (projectSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the content API: undefined project slug.`)\n\t}\n\tif (stageSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the content API: undefined stage slug.`)\n\t}\n\treturn useContentGraphQlClient(projectSlug, stageSlug)\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,iCAAiC,MAAqB;AAClE,QAAM,cAAc;AACpB,QAAM,YAAY;AAElB,MAAI,gBAAgB,QAAW;AACxB,UAAA,IAAI,YAAY,yDAAyD;AAAA,EAChF;AACA,MAAI,cAAc,QAAW;AACtB,UAAA,IAAI,YAAY,uDAAuD;AAAA,EAC9E;AACO,SAAA,wBAAwB,aAAa,SAAS;AACtD
|
|
1
|
+
{"version":3,"file":"useCurrentContentGraphQlClient.js","sources":["../../../src/content/useCurrentContentGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { ClientError } from '../ClientError'\nimport { useProjectSlug, useStageSlug } from '../project'\nimport { useContentGraphQlClient } from './useContentGraphQlClient'\n\nexport const useCurrentContentGraphQlClient = (): GraphQlClient => {\n\tconst projectSlug = useProjectSlug()\n\tconst stageSlug = useStageSlug()\n\n\tif (projectSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the content API: undefined project slug.`)\n\t}\n\tif (stageSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the content API: undefined stage slug.`)\n\t}\n\treturn useContentGraphQlClient(projectSlug, stageSlug)\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,iCAAiC,MAAqB;AAClE,QAAM,cAAc;AACpB,QAAM,YAAY;AAElB,MAAI,gBAAgB,QAAW;AACxB,UAAA,IAAI,YAAY,yDAAyD;AAAA,EAChF;AACA,MAAI,cAAc,QAAW;AACtB,UAAA,IAAI,YAAY,uDAAuD;AAAA,EAC9E;AACO,SAAA,wBAAwB,aAAa,SAAS;AACtD;"}
|
|
@@ -1,30 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ContemberClient } from "./ContemberClient.js";
|
|
2
|
+
import { ClientError } from "./ClientError.js";
|
|
3
|
+
import { useGraphQlClient } from "./useGraphQlClient.js";
|
|
4
4
|
export * from "@contember/client";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
5
|
+
import { apiRequestReducer } from "./apiRequest/apiRequestReducer.js";
|
|
6
|
+
import { useApiRequest } from "./apiRequest/useApiRequest.js";
|
|
7
|
+
import { SessionTokenContext } from "./auth/SessionTokenContext.js";
|
|
8
|
+
import { SetSessionTokenContext } from "./auth/SetSessionTokenContext.js";
|
|
9
|
+
import { useSessionToken } from "./auth/useSessionToken.js";
|
|
10
|
+
import { useSetSessionToken } from "./auth/useSetSessionToken.js";
|
|
11
|
+
import { RichTextRenderer } from "./components/RichTextRenderer/RichTextRenderer.js";
|
|
12
|
+
import { RichTextRendererError } from "./components/RichTextRenderer/RichTextRendererError.js";
|
|
13
|
+
import { ApiBaseUrlContext } from "./config/ApiBaseUrlContext.js";
|
|
14
|
+
import { LoginTokenContext } from "./config/LoginTokenContext.js";
|
|
15
|
+
import { useApiBaseUrl } from "./config/useApiBaseUrl.js";
|
|
16
|
+
import { useLoginToken } from "./config/useLoginToken.js";
|
|
17
|
+
import { useContentApiRequest } from "./content/useContentApiRequest.js";
|
|
18
|
+
import { useContentGraphQlClient } from "./content/useContentGraphQlClient.js";
|
|
19
|
+
import { useCurrentContentGraphQlClient } from "./content/useCurrentContentGraphQlClient.js";
|
|
20
|
+
import { ProjectSlugContext } from "./project/ProjectSlugContext.js";
|
|
21
|
+
import { StageSlugContext } from "./project/StageSlugContext.js";
|
|
22
|
+
import { useProjectSlug } from "./project/useProjectSlug.js";
|
|
23
|
+
import { useStageSlug } from "./project/useStageSlug.js";
|
|
24
|
+
import { useCurrentSystemGraphQlClient } from "./system/useCurrentSystemGraphQlClient.js";
|
|
25
|
+
import { useSystemApiRequest } from "./system/useSystemApiRequest.js";
|
|
26
|
+
import { useSystemGraphQlClient } from "./system/useSystemGraphQlClient.js";
|
|
27
|
+
import { useTenantApiRequest } from "./tenant/useTenantApiRequest.js";
|
|
28
|
+
import { useTenantGraphQlClient } from "./tenant/useTenantGraphQlClient.js";
|
|
29
|
+
import { useFileUpload } from "./upload/useFileUpload.js";
|
|
30
|
+
export {
|
|
31
|
+
ApiBaseUrlContext,
|
|
32
|
+
ClientError,
|
|
33
|
+
ContemberClient,
|
|
34
|
+
LoginTokenContext,
|
|
35
|
+
ProjectSlugContext,
|
|
36
|
+
RichTextRenderer,
|
|
37
|
+
RichTextRendererError,
|
|
38
|
+
SessionTokenContext,
|
|
39
|
+
SetSessionTokenContext,
|
|
40
|
+
StageSlugContext,
|
|
41
|
+
apiRequestReducer,
|
|
42
|
+
useApiBaseUrl,
|
|
43
|
+
useApiRequest,
|
|
44
|
+
useContentApiRequest,
|
|
45
|
+
useContentGraphQlClient,
|
|
46
|
+
useCurrentContentGraphQlClient,
|
|
47
|
+
useCurrentSystemGraphQlClient,
|
|
48
|
+
useFileUpload,
|
|
49
|
+
useGraphQlClient,
|
|
50
|
+
useLoginToken,
|
|
51
|
+
useProjectSlug,
|
|
52
|
+
useSessionToken,
|
|
53
|
+
useSetSessionToken,
|
|
54
|
+
useStageSlug,
|
|
55
|
+
useSystemApiRequest,
|
|
56
|
+
useSystemGraphQlClient,
|
|
57
|
+
useTenantApiRequest,
|
|
58
|
+
useTenantGraphQlClient
|
|
59
|
+
};
|
|
30
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectSlugContext.js","sources":["../../../src/project/ProjectSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const ProjectSlugContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,qBAAqB,cAAkC,MAAS
|
|
1
|
+
{"version":3,"file":"ProjectSlugContext.js","sources":["../../../src/project/ProjectSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const ProjectSlugContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,qBAAqB,cAAkC,MAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageSlugContext.js","sources":["../../../src/project/StageSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const StageSlugContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,mBAAmB,cAAkC,MAAS
|
|
1
|
+
{"version":3,"file":"StageSlugContext.js","sources":["../../../src/project/StageSlugContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nexport const StageSlugContext = createContext<string | undefined>(undefined)\n"],"names":[],"mappings":";AAEa,MAAA,mBAAmB,cAAkC,MAAS;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useContext } from "react";
|
|
2
2
|
import { ProjectSlugContext } from "./ProjectSlugContext.js";
|
|
3
3
|
const useProjectSlug = () => useContext(ProjectSlugContext);
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useProjectSlug
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useProjectSlug.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectSlug.js","sources":["../../../src/project/useProjectSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { ProjectSlugContext } from './ProjectSlugContext'\n\nexport const useProjectSlug = () => useContext(ProjectSlugContext)\n"],"names":[],"mappings":";;AAGa,MAAA,iBAAiB,MAAM,WAAW,kBAAkB
|
|
1
|
+
{"version":3,"file":"useProjectSlug.js","sources":["../../../src/project/useProjectSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { ProjectSlugContext } from './ProjectSlugContext'\n\nexport const useProjectSlug = () => useContext(ProjectSlugContext)\n"],"names":[],"mappings":";;AAGa,MAAA,iBAAiB,MAAM,WAAW,kBAAkB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStageSlug.js","sources":["../../../src/project/useStageSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { StageSlugContext } from './StageSlugContext'\n\nexport const useStageSlug = () => useContext(StageSlugContext)\n"],"names":[],"mappings":";;AAGa,MAAA,eAAe,MAAM,WAAW,gBAAgB
|
|
1
|
+
{"version":3,"file":"useStageSlug.js","sources":["../../../src/project/useStageSlug.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { StageSlugContext } from './StageSlugContext'\n\nexport const useStageSlug = () => useContext(StageSlugContext)\n"],"names":[],"mappings":";;AAGa,MAAA,eAAe,MAAM,WAAW,gBAAgB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentSystemGraphQlClient.js","sources":["../../../src/system/useCurrentSystemGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { ClientError } from '../ClientError'\nimport { useProjectSlug } from '../project'\nimport { useSystemGraphQlClient } from './useSystemGraphQlClient'\n\nexport const useCurrentSystemGraphQlClient = (): GraphQlClient => {\n\tconst projectSlug = useProjectSlug()\n\n\tif (projectSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the system API: undefined project slug.`)\n\t}\n\treturn useSystemGraphQlClient(projectSlug)\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,gCAAgC,MAAqB;AACjE,QAAM,cAAc;AAEpB,MAAI,gBAAgB,QAAW;AACxB,UAAA,IAAI,YAAY,wDAAwD;AAAA,EAC/E;AACA,SAAO,uBAAuB,WAAW;AAC1C
|
|
1
|
+
{"version":3,"file":"useCurrentSystemGraphQlClient.js","sources":["../../../src/system/useCurrentSystemGraphQlClient.ts"],"sourcesContent":["import type { GraphQlClient } from '@contember/client'\nimport { ClientError } from '../ClientError'\nimport { useProjectSlug } from '../project'\nimport { useSystemGraphQlClient } from './useSystemGraphQlClient'\n\nexport const useCurrentSystemGraphQlClient = (): GraphQlClient => {\n\tconst projectSlug = useProjectSlug()\n\n\tif (projectSlug === undefined) {\n\t\tthrow new ClientError(`Cannot contact the system API: undefined project slug.`)\n\t}\n\treturn useSystemGraphQlClient(projectSlug)\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,gCAAgC,MAAqB;AACjE,QAAM,cAAc;AAEpB,MAAI,gBAAgB,QAAW;AACxB,UAAA,IAAI,YAAY,wDAAwD;AAAA,EAC/E;AACA,SAAO,uBAAuB,WAAW;AAC1C;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useCurrentSystemGraphQlClient } from "./useCurrentSystemGraphQlClient.js";
|
|
2
2
|
import { useApiRequest } from "../apiRequest/useApiRequest.js";
|
|
3
3
|
const useSystemApiRequest = () => useApiRequest(useCurrentSystemGraphQlClient());
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useSystemApiRequest
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useSystemApiRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSystemApiRequest.js","sources":["../../../src/system/useSystemApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useCurrentSystemGraphQlClient } from './useCurrentSystemGraphQlClient'\n\nexport const useSystemApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useCurrentSystemGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,sBAAsB,MAClC,cAA2B,8BAA+B,CAAA
|
|
1
|
+
{"version":3,"file":"useSystemApiRequest.js","sources":["../../../src/system/useSystemApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useCurrentSystemGraphQlClient } from './useCurrentSystemGraphQlClient'\n\nexport const useSystemApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useCurrentSystemGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,sBAAsB,MAClC,cAA2B,8BAA+B,CAAA;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { formatSystemApiRelativeUrl } from "@contember/client";
|
|
2
2
|
import { useGraphQlClient } from "../useGraphQlClient.js";
|
|
3
3
|
const useSystemGraphQlClient = (projectSlug) => useGraphQlClient(formatSystemApiRelativeUrl(projectSlug));
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useSystemGraphQlClient
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useSystemGraphQlClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSystemGraphQlClient.js","sources":["../../../src/system/useSystemGraphQlClient.ts"],"sourcesContent":["import { formatSystemApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useSystemGraphQlClient = (projectSlug: string) => useGraphQlClient(formatSystemApiRelativeUrl(projectSlug))\n"],"names":[],"mappings":";;AAGO,MAAM,yBAAyB,CAAC,gBAAwB,iBAAiB,2BAA2B,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"useSystemGraphQlClient.js","sources":["../../../src/system/useSystemGraphQlClient.ts"],"sourcesContent":["import { formatSystemApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useSystemGraphQlClient = (projectSlug: string) => useGraphQlClient(formatSystemApiRelativeUrl(projectSlug))\n"],"names":[],"mappings":";;AAGO,MAAM,yBAAyB,CAAC,gBAAwB,iBAAiB,2BAA2B,WAAW,CAAC;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useTenantGraphQlClient } from "./useTenantGraphQlClient.js";
|
|
2
2
|
import { useApiRequest } from "../apiRequest/useApiRequest.js";
|
|
3
3
|
const useTenantApiRequest = () => useApiRequest(useTenantGraphQlClient());
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useTenantApiRequest
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useTenantApiRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantApiRequest.js","sources":["../../../src/tenant/useTenantApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useTenantGraphQlClient } from './useTenantGraphQlClient'\n\nexport const useTenantApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useTenantGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,sBAAsB,MAClC,cAA2B,uBAAwB,CAAA
|
|
1
|
+
{"version":3,"file":"useTenantApiRequest.js","sources":["../../../src/tenant/useTenantApiRequest.ts"],"sourcesContent":["import type { UseApiRequestResult } from '../apiRequest'\nimport { useApiRequest } from '../apiRequest'\nimport { useTenantGraphQlClient } from './useTenantGraphQlClient'\n\nexport const useTenantApiRequest = <SuccessData>(): UseApiRequestResult<SuccessData> =>\n\tuseApiRequest<SuccessData>(useTenantGraphQlClient())\n"],"names":[],"mappings":";;AAIO,MAAM,sBAAsB,MAClC,cAA2B,uBAAwB,CAAA;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { tenantApiRelativeUrl } from "@contember/client";
|
|
2
2
|
import { useGraphQlClient } from "../useGraphQlClient.js";
|
|
3
3
|
const useTenantGraphQlClient = () => useGraphQlClient(tenantApiRelativeUrl);
|
|
4
|
-
export {
|
|
4
|
+
export {
|
|
5
|
+
useTenantGraphQlClient
|
|
6
|
+
};
|
|
5
7
|
//# sourceMappingURL=useTenantGraphQlClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantGraphQlClient.js","sources":["../../../src/tenant/useTenantGraphQlClient.ts"],"sourcesContent":["import { tenantApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useTenantGraphQlClient = () => useGraphQlClient(tenantApiRelativeUrl)\n"],"names":[],"mappings":";;AAGa,MAAA,yBAAyB,MAAM,iBAAiB,oBAAoB
|
|
1
|
+
{"version":3,"file":"useTenantGraphQlClient.js","sources":["../../../src/tenant/useTenantGraphQlClient.ts"],"sourcesContent":["import { tenantApiRelativeUrl } from '@contember/client'\nimport { useGraphQlClient } from '../useGraphQlClient'\n\nexport const useTenantGraphQlClient = () => useGraphQlClient(tenantApiRelativeUrl)\n"],"names":[],"mappings":";;AAGa,MAAA,yBAAyB,MAAM,iBAAiB,oBAAoB;"}
|
|
@@ -156,5 +156,8 @@ const fileUploadReducer = (previousState, action) => {
|
|
|
156
156
|
}
|
|
157
157
|
assertNever();
|
|
158
158
|
};
|
|
159
|
-
export {
|
|
159
|
+
export {
|
|
160
|
+
fileUploadReducer,
|
|
161
|
+
initializeFileUploadState
|
|
162
|
+
};
|
|
160
163
|
//# sourceMappingURL=fileUploadReducer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileUploadReducer.js","sources":["../../../src/upload/fileUploadReducer.ts"],"sourcesContent":["import { FileUploadError } from '@contember/client'\nimport { assertNever } from '../utils'\nimport type { FileId } from './FileId'\nimport type { FileUploadAction } from './FileUploadAction'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\nimport { toFileId } from './toFileId'\n\nexport const initializeFileUploadState = <Result = unknown, Metadata = undefined>(): FileUploadMultiTemporalState<\n\tResult,\n\tMetadata\n> => ({\n\tlastUpdateTime: 0,\n\tfileIdByFile: new WeakMap<File, FileId>(),\n\tliveState: new Map(),\n\tpublicState: new Map(),\n\tisLiveStateDirty: false,\n})\n\nexport const fileUploadReducer = <Result = unknown, Metadata = undefined>(\n\tpreviousState: FileUploadMultiTemporalState<Result, Metadata>,\n\taction: FileUploadAction<Result, Metadata>,\n): FileUploadMultiTemporalState<Result, Metadata> => {\n\tconst publishNewState = (): FileUploadMultiTemporalState<Result, Metadata> => ({\n\t\tpublicState: previousState.liveState,\n\t\tfileIdByFile: previousState.fileIdByFile,\n\t\tlastUpdateTime: previousState.lastUpdateTime,\n\t\tisLiveStateDirty: false,\n\n\t\t// Immediately make the live state referentially unequal so that this doesn't have to happen during each action\n\t\t// several times between two publishes.\n\t\tliveState: new Map(previousState.liveState),\n\t})\n\tconst getNewDirtyState = (): FileUploadMultiTemporalState<Result, Metadata> => ({\n\t\tfileIdByFile: previousState.fileIdByFile,\n\t\tliveState: previousState.liveState,\n\t\tpublicState: previousState.publicState,\n\t\tisLiveStateDirty: true,\n\t\tlastUpdateTime: Date.now(),\n\t})\n\tswitch (action.type) {\n\t\tcase 'publishNewestState': {\n\t\t\treturn publishNewState()\n\t\t}\n\t\tcase 'initialize': {\n\t\t\tfor (const [fileId, metadata] of action.files) {\n\t\t\t\t// Deliberately allowing starting a new upload with the same id\n\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'initializing',\n\t\t\t\t\tabortController: metadata.abortController,\n\t\t\t\t\tpreviewUrl: metadata.previewUrl,\n\t\t\t\t\tfile: metadata.file,\n\t\t\t\t})\n\t\t\t\tpreviousState.fileIdByFile.set(metadata.file, fileId)\n\t\t\t}\n\t\t\treturn publishNewState() /* Making the feedback about new files immediate*/\n\t\t}\n\t\tcase 'startUploading': {\n\t\t\tfor (const [fileOrId, metadata] of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = previousState.liveState.get(fileId)\n\n\t\t\t\tif (fileState === undefined || fileState.readyState !== 'initializing') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tabortController: fileState.abortController,\n\t\t\t\t\tfile: fileState.file,\n\t\t\t\t\tmetadata: metadata.metadata!, // If the user didn't supply the metadata, then that's on them.\n\t\t\t\t\tpreviewUrl: fileState.previewUrl,\n\t\t\t\t\tprogress: undefined,\n\t\t\t\t\tuploader: metadata.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn publishNewState() /* Making the feedback about started upload immediate*/\n\t\t}\n\t\tcase 'finishSuccessfully': {\n\t\t\tfor (const [fileOrId, result] of action.result) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'success',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tresult,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\t// return publishNewState() // Making the feedback about successful upload immediate.\n\t\t\treturn getNewDirtyState()\n\t\t}\n\t\tcase 'finishWithError': {\n\t\t\tfor (const errorSpec of action.error) {\n\t\t\t\tlet fileOrId: File | FileId\n\t\t\t\tlet rawError: unknown\n\n\t\t\t\tif (Array.isArray(errorSpec)) {\n\t\t\t\t\t[fileOrId, rawError] = errorSpec\n\t\t\t\t} else {\n\t\t\t\t\tfileOrId = errorSpec\n\t\t\t\t\trawError = undefined\n\t\t\t\t}\n\n\t\t\t\tconst errors: FileUploadError[] = []\n\n\t\t\t\tif (rawError instanceof FileUploadError) {\n\t\t\t\t\terrors.push(rawError)\n\t\t\t\t} else if (Array.isArray(rawError)) {\n\t\t\t\t\tfor (const error of rawError) {\n\t\t\t\t\t\tif (error instanceof FileUploadError) {\n\t\t\t\t\t\t\terrors.push(error)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (\n\t\t\t\t\tpreviousFileState === undefined ||\n\t\t\t\t\t(previousFileState.readyState !== 'initializing' && previousFileState.readyState !== 'uploading')\n\t\t\t\t) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst uploader = previousFileState.readyState === 'uploading' ? previousFileState.uploader : undefined\n\t\t\t\tconst metadata = previousFileState.readyState === 'uploading' ? previousFileState.metadata : undefined\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'error',\n\t\t\t\t\terrors: errors.length ? errors : undefined,\n\t\t\t\t\trawError,\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tmetadata,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tuploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn getNewDirtyState() // Bad news can wait.\n\t\t}\n\t\tcase 'purge': {\n\t\t\tlet atLeastOnePurged = false\n\t\t\tfor (const fileOrId of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = previousState.liveState.get(fileId)\n\n\t\t\t\tif (fileState === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tatLeastOnePurged = true\n\t\t\t\tif (fileState.readyState === 'initializing' || fileState.readyState === 'uploading') {\n\t\t\t\t\tfileState.abortController.abort() // This is a bit naughty… We shouldn't do this from here.\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.delete(fileId)\n\t\t\t}\n\t\t\tif (atLeastOnePurged) {\n\t\t\t\treturn getNewDirtyState()\n\t\t\t}\n\t\t\treturn previousState\n\t\t}\n\t\tcase 'updateUploadProgress': {\n\t\t\tfor (const [fileOrId, { progress }] of action.progress) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (progress === undefined || previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t\tabortController: previousFileState.abortController,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tprogress,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn getNewDirtyState()\n\t\t}\n\t}\n\tassertNever(action)\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fileUploadReducer.js","sources":["../../../src/upload/fileUploadReducer.ts"],"sourcesContent":["import { FileUploadError } from '@contember/client'\nimport { assertNever } from '../utils'\nimport type { FileId } from './FileId'\nimport type { FileUploadAction } from './FileUploadAction'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\nimport { toFileId } from './toFileId'\n\nexport const initializeFileUploadState = <Result = unknown, Metadata = undefined>(): FileUploadMultiTemporalState<\n\tResult,\n\tMetadata\n> => ({\n\tlastUpdateTime: 0,\n\tfileIdByFile: new WeakMap<File, FileId>(),\n\tliveState: new Map(),\n\tpublicState: new Map(),\n\tisLiveStateDirty: false,\n})\n\nexport const fileUploadReducer = <Result = unknown, Metadata = undefined>(\n\tpreviousState: FileUploadMultiTemporalState<Result, Metadata>,\n\taction: FileUploadAction<Result, Metadata>,\n): FileUploadMultiTemporalState<Result, Metadata> => {\n\tconst publishNewState = (): FileUploadMultiTemporalState<Result, Metadata> => ({\n\t\tpublicState: previousState.liveState,\n\t\tfileIdByFile: previousState.fileIdByFile,\n\t\tlastUpdateTime: previousState.lastUpdateTime,\n\t\tisLiveStateDirty: false,\n\n\t\t// Immediately make the live state referentially unequal so that this doesn't have to happen during each action\n\t\t// several times between two publishes.\n\t\tliveState: new Map(previousState.liveState),\n\t})\n\tconst getNewDirtyState = (): FileUploadMultiTemporalState<Result, Metadata> => ({\n\t\tfileIdByFile: previousState.fileIdByFile,\n\t\tliveState: previousState.liveState,\n\t\tpublicState: previousState.publicState,\n\t\tisLiveStateDirty: true,\n\t\tlastUpdateTime: Date.now(),\n\t})\n\tswitch (action.type) {\n\t\tcase 'publishNewestState': {\n\t\t\treturn publishNewState()\n\t\t}\n\t\tcase 'initialize': {\n\t\t\tfor (const [fileId, metadata] of action.files) {\n\t\t\t\t// Deliberately allowing starting a new upload with the same id\n\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'initializing',\n\t\t\t\t\tabortController: metadata.abortController,\n\t\t\t\t\tpreviewUrl: metadata.previewUrl,\n\t\t\t\t\tfile: metadata.file,\n\t\t\t\t})\n\t\t\t\tpreviousState.fileIdByFile.set(metadata.file, fileId)\n\t\t\t}\n\t\t\treturn publishNewState() /* Making the feedback about new files immediate*/\n\t\t}\n\t\tcase 'startUploading': {\n\t\t\tfor (const [fileOrId, metadata] of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = previousState.liveState.get(fileId)\n\n\t\t\t\tif (fileState === undefined || fileState.readyState !== 'initializing') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tabortController: fileState.abortController,\n\t\t\t\t\tfile: fileState.file,\n\t\t\t\t\tmetadata: metadata.metadata!, // If the user didn't supply the metadata, then that's on them.\n\t\t\t\t\tpreviewUrl: fileState.previewUrl,\n\t\t\t\t\tprogress: undefined,\n\t\t\t\t\tuploader: metadata.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn publishNewState() /* Making the feedback about started upload immediate*/\n\t\t}\n\t\tcase 'finishSuccessfully': {\n\t\t\tfor (const [fileOrId, result] of action.result) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'success',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tresult,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\t// return publishNewState() // Making the feedback about successful upload immediate.\n\t\t\treturn getNewDirtyState()\n\t\t}\n\t\tcase 'finishWithError': {\n\t\t\tfor (const errorSpec of action.error) {\n\t\t\t\tlet fileOrId: File | FileId\n\t\t\t\tlet rawError: unknown\n\n\t\t\t\tif (Array.isArray(errorSpec)) {\n\t\t\t\t\t[fileOrId, rawError] = errorSpec\n\t\t\t\t} else {\n\t\t\t\t\tfileOrId = errorSpec\n\t\t\t\t\trawError = undefined\n\t\t\t\t}\n\n\t\t\t\tconst errors: FileUploadError[] = []\n\n\t\t\t\tif (rawError instanceof FileUploadError) {\n\t\t\t\t\terrors.push(rawError)\n\t\t\t\t} else if (Array.isArray(rawError)) {\n\t\t\t\t\tfor (const error of rawError) {\n\t\t\t\t\t\tif (error instanceof FileUploadError) {\n\t\t\t\t\t\t\terrors.push(error)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (\n\t\t\t\t\tpreviousFileState === undefined ||\n\t\t\t\t\t(previousFileState.readyState !== 'initializing' && previousFileState.readyState !== 'uploading')\n\t\t\t\t) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst uploader = previousFileState.readyState === 'uploading' ? previousFileState.uploader : undefined\n\t\t\t\tconst metadata = previousFileState.readyState === 'uploading' ? previousFileState.metadata : undefined\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'error',\n\t\t\t\t\terrors: errors.length ? errors : undefined,\n\t\t\t\t\trawError,\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tmetadata,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tuploader,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn getNewDirtyState() // Bad news can wait.\n\t\t}\n\t\tcase 'purge': {\n\t\t\tlet atLeastOnePurged = false\n\t\t\tfor (const fileOrId of action.files) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst fileState = previousState.liveState.get(fileId)\n\n\t\t\t\tif (fileState === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tatLeastOnePurged = true\n\t\t\t\tif (fileState.readyState === 'initializing' || fileState.readyState === 'uploading') {\n\t\t\t\t\tfileState.abortController.abort() // This is a bit naughty… We shouldn't do this from here.\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.delete(fileId)\n\t\t\t}\n\t\t\tif (atLeastOnePurged) {\n\t\t\t\treturn getNewDirtyState()\n\t\t\t}\n\t\t\treturn previousState\n\t\t}\n\t\tcase 'updateUploadProgress': {\n\t\t\tfor (const [fileOrId, { progress }] of action.progress) {\n\t\t\t\tconst fileId = toFileId(previousState, fileOrId)\n\t\t\t\tconst previousFileState = previousState.liveState.get(fileId)\n\t\t\t\tif (progress === undefined || previousFileState === undefined || previousFileState.readyState !== 'uploading') {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tpreviousState.liveState.set(fileId, {\n\t\t\t\t\treadyState: 'uploading',\n\t\t\t\t\tfile: previousFileState.file,\n\t\t\t\t\tuploader: previousFileState.uploader,\n\t\t\t\t\tabortController: previousFileState.abortController,\n\t\t\t\t\tpreviewUrl: previousFileState.previewUrl,\n\t\t\t\t\tmetadata: previousFileState.metadata,\n\t\t\t\t\tprogress,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn getNewDirtyState()\n\t\t}\n\t}\n\tassertNever(action)\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toFileId.js","sources":["../../../src/upload/toFileId.ts"],"sourcesContent":["import type { FileId } from './FileId'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\n\nexport const toFileId = <Result = unknown, Metadata = undefined>(\n\tstate: FileUploadMultiTemporalState<Result, Metadata>,\n\tfileOrId: File | FileId,\n) => {\n\tif (fileOrId instanceof File) {\n\t\treturn state.fileIdByFile.get(fileOrId)! // Should we throw instead of the yolo \"!\"?\n\t}\n\treturn fileOrId\n}\n"],"names":[],"mappings":"AAGa,MAAA,WAAW,CACvB,OACA,aACI;AACJ,MAAI,oBAAoB,MAAM;AACtB,WAAA,MAAM,aAAa,IAAI,QAAQ;AAAA,EACvC;AACO,SAAA;AACR
|
|
1
|
+
{"version":3,"file":"toFileId.js","sources":["../../../src/upload/toFileId.ts"],"sourcesContent":["import type { FileId } from './FileId'\nimport type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'\n\nexport const toFileId = <Result = unknown, Metadata = undefined>(\n\tstate: FileUploadMultiTemporalState<Result, Metadata>,\n\tfileOrId: File | FileId,\n) => {\n\tif (fileOrId instanceof File) {\n\t\treturn state.fileIdByFile.get(fileOrId)! // Should we throw instead of the yolo \"!\"?\n\t}\n\treturn fileOrId\n}\n"],"names":[],"mappings":"AAGa,MAAA,WAAW,CACvB,OACA,aACI;AACJ,MAAI,oBAAoB,MAAM;AACtB,WAAA,MAAM,aAAa,IAAI,QAAQ;AAAA,EACvC;AACO,SAAA;AACR;"}
|