map-transform-cjs
Version:
MapTransform with CJS support
73 lines (72 loc) • 2.39 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/utils/modifyOperationObject.ts
var modifyOperationObject_exports = {};
__export(modifyOperationObject_exports, {
default: () => modifyOperationObject
});
module.exports = __toCommonJS(modifyOperationObject_exports);
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;
}
//# sourceMappingURL=modifyOperationObject.cjs.map