zent
Version:
一套前端设计语言和基于React的实现
47 lines (36 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = stripUUID;
var _has = require('lodash/has');
var _has2 = _interopRequireDefault(_has);
var _isPlainObject = require('lodash/isPlainObject');
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _isArray = require('lodash/isArray');
var _isArray2 = _interopRequireDefault(_isArray);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var UUID_KEY_PATTERN = /__.+uuid__/i;
function stripUUID(value) {
if ((0, _isPlainObject2['default'])(value)) {
// eslint-disable-next-line
for (var key in value) {
if ((0, _has2['default'])(value, key)) {
if (UUID_KEY_PATTERN.test(key)) {
delete value[key];
} else {
var oldValue = value[key];
var newValue = stripUUID(oldValue);
if (newValue !== oldValue) {
value[key] = newValue;
}
}
}
}
} else if ((0, _isArray2['default'])(value)) {
value.forEach(function (v) {
return stripUUID(v);
});
}
return value;
}