falcor
Version:
A JavaScript library for efficient data fetching.
23 lines (21 loc) • 729 B
JavaScript
var $ref = require("./../types/ref");
var splice = require("./../lru/splice");
var isObject = require("./../support/isObject");
var unlinkBackReferences = require("./../support/unlinkBackReferences");
var unlinkForwardReference = require("./../support/unlinkForwardReference");
module.exports = function removeNode(node, parent, key, lru) {
if (isObject(node)) {
var type = node.$type;
if (type) {
if (type === $ref) {
unlinkForwardReference(node);
}
splice(lru, node);
}
unlinkBackReferences(node);
// eslint-disable-next-line camelcase
parent[key] = node.$_parent = void 0;
return true;
}
return false;
};