UNPKG

map-transform-cjs

Version:
52 lines 1.45 kB
// src/utils/modifyOperationObject.ts var createTransformWithPath = ($transform, path, operator) => ({ $transform, path, ...operator && { operator } }); var createValueTransform = ({ $value, ...rest }) => ({ ...rest, $transform: "value", value: $value }); var createAndTransform = ({ $and, ...rest }) => ({ ...rest, ...createTransformWithPath("logical", $and, "AND") }); var createOrTransform = ({ $or, ...rest }) => ({ ...rest, ...createTransformWithPath("logical", $or, "OR") }); var createNotTransform = ({ $not, ...rest }) => ({ ...rest, ...createTransformWithPath("not", $not) }); var createMergeTransform = ({ $merge, ...rest }) => ({ ...rest, ...createTransformWithPath("merge", $merge) }); function modifyOperationObject(rawOperation, modify) { const operation = typeof modify === "function" ? modify(rawOperation) : rawOperation; if (operation.hasOwnProperty("$value")) { return createValueTransform(operation); } else if (operation.hasOwnProperty("$and")) { return createAndTransform(operation); } else if (operation.hasOwnProperty("$or")) { return createOrTransform(operation); } else if (operation.hasOwnProperty("$not")) { return createNotTransform(operation); } else if (operation.hasOwnProperty("$merge")) { return createMergeTransform(operation); } return operation; } export { modifyOperationObject as default }; //# sourceMappingURL=modifyOperationObject.js.map