Sha256: 46cdfe0cbefcb3ea62fbdfc5871fde096dea8ac265bdb481d390e2d5f1cef0e0
Contents?: true
Size: 950 Bytes
Versions: 3
Compression:
Stored size: 950 Bytes
Contents
"use strict"; exports.__esModule = true; exports.JSXElement = JSXElement; var metadata = { optional: true }; exports.metadata = metadata; var immutabilityVisitor = { enter: function enter(node, parent, scope, state) { var _this = this; var stop = function stop() { state.isImmutable = false; _this.stop(); }; if (this.isJSXClosingElement()) { this.skip(); return; } if (this.isJSXIdentifier({ name: "ref" }) && this.parentPath.isJSXAttribute({ name: node })) { return stop(); } if (this.isJSXIdentifier() || this.isIdentifier() || this.isJSXMemberExpression()) { return; } if (!this.isImmutable()) stop(); } }; function JSXElement(node, parent, scope, file) { if (node._hoisted) return; var state = { isImmutable: true }; this.traverse(immutabilityVisitor, state); if (state.isImmutable) { this.hoist(); } else { node._hoisted = true; } }
Version data entries
3 entries across 3 versions & 1 rubygems