@proofkit/fmodata
Version:
FileMaker OData API client
55 lines (54 loc) • 1.82 kB
JavaScript
function createInitialQueryReadBuilderState() {
return {
queryOptions: {},
expandConfigs: [],
singleMode: false,
isCountMode: false,
includeCountMode: false
};
}
function cloneQueryReadBuilderState(state, changes) {
let fieldMapping = state.fieldMapping ? { ...state.fieldMapping } : void 0;
if ("fieldMapping" in (changes ?? {})) {
fieldMapping = (changes == null ? void 0 : changes.fieldMapping) ? { ...changes.fieldMapping } : void 0;
}
return {
...state,
...changes,
queryOptions: {
...state.queryOptions,
...(changes == null ? void 0 : changes.queryOptions) ?? {}
},
expandConfigs: (changes == null ? void 0 : changes.expandConfigs) ? [...changes.expandConfigs] : [...state.expandConfigs],
fieldMapping
};
}
function createInitialRecordReadBuilderState() {
return {
expandConfigs: []
};
}
function cloneRecordReadBuilderState(state, changes) {
let selectedFields = state.selectedFields ? [...state.selectedFields] : void 0;
if ("selectedFields" in (changes ?? {})) {
selectedFields = (changes == null ? void 0 : changes.selectedFields) ? [...changes.selectedFields] : void 0;
}
let fieldMapping = state.fieldMapping ? { ...state.fieldMapping } : void 0;
if ("fieldMapping" in (changes ?? {})) {
fieldMapping = (changes == null ? void 0 : changes.fieldMapping) ? { ...changes.fieldMapping } : void 0;
}
return {
...state,
...changes,
selectedFields,
expandConfigs: (changes == null ? void 0 : changes.expandConfigs) ? [...changes.expandConfigs] : [...state.expandConfigs],
fieldMapping
};
}
export {
cloneQueryReadBuilderState,
cloneRecordReadBuilderState,
createInitialQueryReadBuilderState,
createInitialRecordReadBuilderState
};
//# sourceMappingURL=read-builder-state.js.map