vue-app-sdk
Version:
34 lines (33 loc) • 1.25 kB
JavaScript
"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _arrayMap = require("./_arrayMap.cjs");
const _baseClone = require("./_baseClone.cjs");
const _baseUnset = require("./_baseUnset.cjs");
const _castPath = require("./_castPath.cjs");
const _copyObject = require("./_copyObject.cjs");
const _customOmitClone = require("./_customOmitClone.cjs");
const _flatRest = require("./_flatRest.cjs");
const _getAllKeysIn = require("./_getAllKeysIn.cjs");
var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
var omit = _flatRest.default(function(object, paths) {
var result = {};
if (object == null) {
return result;
}
var isDeep = false;
paths = _arrayMap.default(paths, function(path) {
path = _castPath.default(path, object);
isDeep || (isDeep = path.length > 1);
return path;
});
_copyObject.default(object, _getAllKeysIn.default(object), result);
if (isDeep) {
result = _baseClone.default(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, _customOmitClone.default);
}
var length = paths.length;
while (length--) {
_baseUnset.default(result, paths[length]);
}
return result;
});
exports.default = omit;