Files
klz-cables.com/.pnpm-store/v10/files/bb/600094d8cf3750e52ef04d21848732e6290334e698626ff228c436f9309a7dc3b7ecf44263156c15b12c49497e90ec38f26fafe7aa4525efd0dbdf04fdfce5
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

196 lines
5.1 KiB
Plaintext

import { jsx as _jsx } from "react/jsx-runtime";
import React, { createContext, useCallback } from 'react';
export const ServerFunctionsContext = /*#__PURE__*/createContext(undefined);
export const useServerFunctions = () => {
const context = React.use(ServerFunctionsContext);
if (context === undefined) {
throw new Error('useServerFunctions must be used within a ServerFunctionsProvider');
}
return context;
};
export const ServerFunctionsProvider = ({
children,
serverFunction
}) => {
if (!serverFunction) {
throw new Error('ServerFunctionsProvider requires a serverFunction prop');
}
const getDocumentSlots = useCallback(async args => await serverFunction({
name: 'render-document-slots',
args
}), [serverFunction]);
const schedulePublish = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args;
try {
if (!remoteSignal?.aborted) {
const result = await serverFunction({
name: 'schedule-publish',
args: {
...rest
}
});
if (!remoteSignal?.aborted) {
return result;
}
}
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
let error = `Error scheduling ${rest.type}`;
if (rest.doc) {
error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`;
}
return {
error
};
}, [serverFunction]);
const getFormState = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
try {
if (!remoteSignal?.aborted) {
const result = await serverFunction({
name: 'form-state',
args: {
fallbackLocale: false,
...rest
}
});
// TODO: infer this type when `strictNullChecks` is enabled
if (!remoteSignal?.aborted) {
return result;
}
}
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
return {
state: null
};
}, [serverFunction]);
const getTableState = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
try {
if (!remoteSignal?.aborted) {
const result = await serverFunction({
name: 'table-state',
args: {
fallbackLocale: false,
...rest
}
});
// TODO: infer this type when `strictNullChecks` is enabled
if (!remoteSignal?.aborted) {
return result;
}
}
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
// return { state: args.formState }
}, [serverFunction]);
const renderDocument = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
try {
const result = await serverFunction({
name: 'render-document',
args: {
fallbackLocale: false,
...rest
}
});
// TODO: infer this type when `strictNullChecks` is enabled
return result;
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
}, [serverFunction]);
const copyDataFromLocale = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
const result = await serverFunction({
name: 'copy-data-from-locale',
args: rest
});
if (!remoteSignal?.aborted) {
return {
data: result
};
}
}, [serverFunction]);
const getFolderResultsComponentAndData = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
try {
const result = await serverFunction({
name: 'get-folder-results-component-and-data',
args: rest
});
if (!remoteSignal?.aborted) {
return result;
}
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
}, [serverFunction]);
const _internal_renderField = useCallback(async args => {
try {
const result = await serverFunction({
name: 'render-field',
args
});
return result;
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
}, [serverFunction]);
const slugify = useCallback(async args => {
const {
signal: remoteSignal,
...rest
} = args || {};
try {
const result = await serverFunction({
name: 'slugify',
args: {
...rest
}
});
// TODO: infer this type when `strictNullChecks` is enabled
return result;
} catch (_err) {
console.error(_err); // eslint-disable-line no-console
}
}, [serverFunction]);
return /*#__PURE__*/_jsx(ServerFunctionsContext, {
value: {
_internal_renderField,
copyDataFromLocale,
getDocumentSlots,
getFolderResultsComponentAndData,
getFormState,
getTableState,
renderDocument,
schedulePublish,
serverFunction,
slugify
},
children: children
});
};
//# sourceMappingURL=index.js.map