synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
77 lines (76 loc) • 1.83 kB
JavaScript
import { BUNDLE_MASK_LAST_UPDATED_ON as l, BUNDLE_MASK_SUM_FILES_SIZE_BYTES as _, BUNDLE_MASK_QUERY_FACETS as c, BUNDLE_MASK_QUERY_COLUMN_MODELS as E, BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE as y, BUNDLE_MASK_QUERY_SELECT_COLUMNS as d, BUNDLE_MASK_QUERY_COUNT as S, BUNDLE_MASK_QUERY_RESULTS as a } from "../../../utils/SynapseConstants.js";
import { omit as U, cloneDeep as i } from "lodash-es";
import f from "../util/BasicMockedCrudService.js";
const m = {
[a]: "queryResult",
[S]: "queryCount",
[d]: "selectColumns",
[y]: "maxRowsPerPage",
[E]: "columnModels",
[c]: "facets",
[_]: "sumFileSizes",
[l]: "lastUpdatedOn"
}, s = new f({
idField: "id",
autoGenerateId: !0
});
function R(e, t) {
const r = i(e);
return Object.entries(m).forEach(([u, o]) => {
(t & parseInt(u)) === 0 && delete r[o];
}), r;
}
function M(e, t = 25, r = 0) {
const u = i(e);
return u.queryResult?.queryResults.rows && (u.queryResult.queryResults.rows = u.queryResult.queryResults.rows.slice(r, r + t)), u;
}
function L(e, t) {
let r = t;
return r = R(r, e.partMask), r = M(
r,
e.query.limit,
e.query.offset
), r;
}
function n(e) {
return U(i(e), ["limit", "offset"]);
}
function A(e) {
const t = s.getOneByField(
"query",
e.query
);
t ? s.update(t.id, {
...e,
id: t.id
}) : s.create(e);
}
function D(e) {
const t = n(
e.query
), r = s.getOneByField(
"query",
t
);
if (r == null)
throw new Error(
`mockTableQueryService does not have a query result for the given query:
${JSON.stringify(
e,
null,
2
)}`
);
return L(e, r.result);
}
function N(e, t) {
A({
query: n(e),
result: t
});
}
export {
D as getTableQueryResult,
N as registerTableQueryResult
};
//# sourceMappingURL=tableQueryService.js.map