cca72da708
* WIP * Minor fixes * Added TODO * Fix post merge * Fix * Fixed warnings * Fixed comments * Fixed comments * Fixed naming * Removed comment * WIP * WIP 2 * Finished working version * Fixes * Fixed typing * Fixes * Fixes * Fixes * Naming fixes * WIP * Fix import * WIP * Working version on title * Fixed create record id overwrite * Removed unecessary callback * Masterpiece * Fixed delete on click outside drawer or delete * Cleaned * Cleaned * Cleaned * Minor fixes * Fixes * Fixed naming * WIP * Fix * Fixed create from target inline cell * Removed console.log * Fixed delete activity optimistic effect * Fixed no title * Fixed debounce and title body creation --------- Co-authored-by: Charles Bochet <charles@twenty.com>
28 lines
830 B
TypeScript
28 lines
830 B
TypeScript
// There is a feature request for receiving variables in `cache.modify`:
|
|
// @see https://github.com/apollographql/apollo-feature-requests/issues/259
|
|
// @see https://github.com/apollographql/apollo-client/issues/7129
|
|
|
|
// For now we need to parse `storeFieldName` to retrieve the variables.
|
|
export const parseApolloStoreFieldName = <
|
|
Variables extends Record<string, unknown>,
|
|
>(
|
|
storeFieldName: string,
|
|
) => {
|
|
const matches = storeFieldName.match(/([a-zA-Z][a-zA-Z0-9 ]*)\((.*)\)/);
|
|
|
|
if (!matches?.[1]) return {};
|
|
|
|
const [, , stringifiedVariables] = matches;
|
|
const fieldName = matches[1] as string;
|
|
|
|
try {
|
|
const fieldArguments = stringifiedVariables
|
|
? (JSON.parse(stringifiedVariables) as Variables)
|
|
: undefined;
|
|
|
|
return { fieldName, fieldArguments };
|
|
} catch {
|
|
return { fieldName };
|
|
}
|
|
};
|