UNPKG

edifice-facade

Version:

Create facades to separate modules in your application

1 lines 29.7 kB
{"filter":false,"title":"facade.js","tooltip":"/lib/facade.js","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":52,"column":30},"end":{"row":52,"column":31},"action":"insert","lines":["t"],"id":1713}],[{"start":{"row":52,"column":31},"end":{"row":52,"column":32},"action":"insert","lines":[" "],"id":1714}],[{"start":{"row":52,"column":32},"end":{"row":52,"column":33},"action":"insert","lines":["t"],"id":1715}],[{"start":{"row":52,"column":33},"end":{"row":52,"column":34},"action":"insert","lines":["h"],"id":1716}],[{"start":{"row":52,"column":34},"end":{"row":52,"column":35},"action":"insert","lines":["i"],"id":1717}],[{"start":{"row":52,"column":35},"end":{"row":52,"column":36},"action":"insert","lines":["s"],"id":1718}],[{"start":{"row":52,"column":36},"end":{"row":52,"column":37},"action":"insert","lines":[" "],"id":1719}],[{"start":{"row":52,"column":37},"end":{"row":52,"column":38},"action":"insert","lines":["f"],"id":1720}],[{"start":{"row":52,"column":38},"end":{"row":52,"column":39},"action":"insert","lines":["a"],"id":1721}],[{"start":{"row":52,"column":39},"end":{"row":52,"column":40},"action":"insert","lines":["c"],"id":1722}],[{"start":{"row":52,"column":40},"end":{"row":52,"column":41},"action":"insert","lines":["a"],"id":1723}],[{"start":{"row":52,"column":41},"end":{"row":52,"column":42},"action":"insert","lines":["d"],"id":1724}],[{"start":{"row":52,"column":42},"end":{"row":52,"column":43},"action":"insert","lines":["e"],"id":1725}],[{"start":{"row":52,"column":43},"end":{"row":52,"column":44},"action":"insert","lines":[" "],"id":1726}],[{"start":{"row":52,"column":44},"end":{"row":52,"column":45},"action":"insert","lines":["c"],"id":1727}],[{"start":{"row":52,"column":45},"end":{"row":52,"column":46},"action":"insert","lines":["a"],"id":1728}],[{"start":{"row":52,"column":46},"end":{"row":52,"column":47},"action":"insert","lines":["n"],"id":1729}],[{"start":{"row":52,"column":47},"end":{"row":52,"column":48},"action":"insert","lines":[" "],"id":1730}],[{"start":{"row":52,"column":48},"end":{"row":52,"column":49},"action":"insert","lines":["i"],"id":1731}],[{"start":{"row":52,"column":49},"end":{"row":52,"column":50},"action":"insert","lines":["d"],"id":1732}],[{"start":{"row":52,"column":50},"end":{"row":52,"column":51},"action":"insert","lines":["e"],"id":1733}],[{"start":{"row":52,"column":51},"end":{"row":52,"column":52},"action":"insert","lines":["n"],"id":1734}],[{"start":{"row":52,"column":52},"end":{"row":52,"column":53},"action":"insert","lines":["t"],"id":1735}],[{"start":{"row":52,"column":53},"end":{"row":52,"column":54},"action":"insert","lines":["i"],"id":1736}],[{"start":{"row":52,"column":54},"end":{"row":52,"column":55},"action":"insert","lines":["f"],"id":1737}],[{"start":{"row":52,"column":55},"end":{"row":52,"column":56},"action":"insert","lines":["y"],"id":1738}],[{"start":{"row":52,"column":56},"end":{"row":52,"column":57},"action":"insert","lines":[" "],"id":1739}],[{"start":{"row":52,"column":57},"end":{"row":52,"column":58},"action":"insert","lines":["i"],"id":1740}],[{"start":{"row":52,"column":58},"end":{"row":52,"column":59},"action":"insert","lines":["t"],"id":1741}],[{"start":{"row":52,"column":59},"end":{"row":52,"column":60},"action":"insert","lines":["'"],"id":1742}],[{"start":{"row":52,"column":60},"end":{"row":52,"column":61},"action":"insert","lines":["s"],"id":1743}],[{"start":{"row":52,"column":61},"end":{"row":52,"column":62},"action":"insert","lines":[" "],"id":1744}],[{"start":{"row":52,"column":62},"end":{"row":52,"column":63},"action":"insert","lines":["o"],"id":1745}],[{"start":{"row":52,"column":63},"end":{"row":52,"column":64},"action":"insert","lines":["w"],"id":1746}],[{"start":{"row":52,"column":64},"end":{"row":52,"column":65},"action":"insert","lines":["n"],"id":1747}],[{"start":{"row":52,"column":65},"end":{"row":52,"column":66},"action":"insert","lines":[" "],"id":1748}],[{"start":{"row":52,"column":66},"end":{"row":52,"column":67},"action":"insert","lines":["e"],"id":1749}],[{"start":{"row":52,"column":67},"end":{"row":52,"column":68},"action":"insert","lines":["v"],"id":1750}],[{"start":{"row":52,"column":68},"end":{"row":52,"column":69},"action":"insert","lines":["e"],"id":1751}],[{"start":{"row":52,"column":69},"end":{"row":52,"column":70},"action":"insert","lines":["n"],"id":1752}],[{"start":{"row":52,"column":70},"end":{"row":52,"column":71},"action":"insert","lines":["t"],"id":1753}],[{"start":{"row":52,"column":71},"end":{"row":52,"column":72},"action":"insert","lines":["s"],"id":1754}],[{"start":{"row":53,"column":49},"end":{"row":54,"column":0},"action":"insert","lines":["",""],"id":1755},{"start":{"row":54,"column":0},"end":{"row":54,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":54,"column":2},"end":{"row":54,"column":4},"action":"remove","lines":[" "],"id":1756}],[{"start":{"row":54,"column":0},"end":{"row":54,"column":2},"action":"remove","lines":[" "],"id":1757}],[{"start":{"row":52,"column":7},"end":{"row":52,"column":25},"action":"remove","lines":["Add the facadeID s"],"id":1758},{"start":{"row":52,"column":7},"end":{"row":52,"column":8},"action":"insert","lines":["T"]}],[{"start":{"row":52,"column":8},"end":{"row":52,"column":9},"action":"insert","lines":["h"],"id":1759}],[{"start":{"row":52,"column":9},"end":{"row":52,"column":10},"action":"insert","lines":["i"],"id":1760}],[{"start":{"row":52,"column":10},"end":{"row":52,"column":11},"action":"insert","lines":["s"],"id":1761}],[{"start":{"row":52,"column":11},"end":{"row":52,"column":12},"action":"insert","lines":[" "],"id":1762}],[{"start":{"row":52,"column":12},"end":{"row":52,"column":13},"action":"insert","lines":["i"],"id":1763}],[{"start":{"row":52,"column":13},"end":{"row":52,"column":14},"action":"insert","lines":["s"],"id":1764}],[{"start":{"row":52,"column":14},"end":{"row":52,"column":15},"action":"insert","lines":[" "],"id":1765}],[{"start":{"row":52,"column":15},"end":{"row":52,"column":16},"action":"insert","lines":["s"],"id":1766}],[{"start":{"row":52,"column":63},"end":{"row":52,"column":64},"action":"insert","lines":["/"],"id":1767}],[{"start":{"row":52,"column":63},"end":{"row":52,"column":64},"action":"remove","lines":["/"],"id":1768}],[{"start":{"row":52,"column":63},"end":{"row":52,"column":64},"action":"insert","lines":["."],"id":1769}],[{"start":{"row":51,"column":2},"end":{"row":51,"column":4},"action":"remove","lines":[" "],"id":1770}],[{"start":{"row":51,"column":0},"end":{"row":51,"column":2},"action":"remove","lines":[" "],"id":1771}],[{"start":{"row":52,"column":7},"end":{"row":52,"column":8},"action":"remove","lines":["T"],"id":1772},{"start":{"row":52,"column":7},"end":{"row":52,"column":8},"action":"insert","lines":["A"]}],[{"start":{"row":52,"column":8},"end":{"row":52,"column":9},"action":"insert","lines":["d"],"id":1773}],[{"start":{"row":52,"column":9},"end":{"row":52,"column":10},"action":"insert","lines":["d"],"id":1774}],[{"start":{"row":52,"column":10},"end":{"row":52,"column":11},"action":"insert","lines":[" "],"id":1775}],[{"start":{"row":52,"column":11},"end":{"row":52,"column":12},"action":"insert","lines":["a"],"id":1776}],[{"start":{"row":52,"column":12},"end":{"row":52,"column":13},"action":"insert","lines":["n"],"id":1777}],[{"start":{"row":52,"column":13},"end":{"row":52,"column":14},"action":"insert","lines":[" "],"id":1778}],[{"start":{"row":52,"column":14},"end":{"row":52,"column":15},"action":"insert","lines":["e"],"id":1779}],[{"start":{"row":52,"column":15},"end":{"row":52,"column":16},"action":"insert","lines":["x"],"id":1780}],[{"start":{"row":52,"column":16},"end":{"row":52,"column":17},"action":"insert","lines":["t"],"id":1781}],[{"start":{"row":52,"column":17},"end":{"row":52,"column":18},"action":"insert","lines":["r"],"id":1782}],[{"start":{"row":52,"column":18},"end":{"row":52,"column":19},"action":"insert","lines":["a"],"id":1783}],[{"start":{"row":52,"column":19},"end":{"row":52,"column":20},"action":"insert","lines":[" "],"id":1784}],[{"start":{"row":52,"column":20},"end":{"row":52,"column":21},"action":"insert","lines":["a"],"id":1785}],[{"start":{"row":52,"column":21},"end":{"row":52,"column":22},"action":"insert","lines":["r"],"id":1786}],[{"start":{"row":52,"column":22},"end":{"row":52,"column":23},"action":"insert","lines":["g"],"id":1787}],[{"start":{"row":52,"column":23},"end":{"row":52,"column":24},"action":"insert","lines":["u"],"id":1788}],[{"start":{"row":52,"column":24},"end":{"row":52,"column":25},"action":"insert","lines":["m"],"id":1789}],[{"start":{"row":52,"column":25},"end":{"row":52,"column":26},"action":"insert","lines":["e"],"id":1790}],[{"start":{"row":52,"column":26},"end":{"row":52,"column":27},"action":"insert","lines":["n"],"id":1791}],[{"start":{"row":52,"column":27},"end":{"row":52,"column":28},"action":"insert","lines":["t"],"id":1792}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":["h"],"id":1793}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":["i"],"id":1794}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":["s"],"id":1795}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":[" "],"id":1796}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":["i"],"id":1797}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":["s"],"id":1798}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"remove","lines":[" "],"id":1799}],[{"start":{"row":52,"column":28},"end":{"row":52,"column":29},"action":"insert","lines":[" "],"id":1800}],[{"start":{"row":52,"column":64},"end":{"row":52,"column":65},"action":"remove","lines":["'"],"id":1801}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":37},"action":"remove","lines":["facadeID = new FacadeIdentifier()"],"id":1802,"ignore":true},{"start":{"row":13,"column":4},"end":{"row":13,"column":23},"action":"insert","lines":["suspendedFor = null"]},{"start":{"row":26,"column":0},"end":{"row":27,"column":0},"action":"insert","lines":["",""]},{"start":{"row":27,"column":6},"end":{"row":35,"column":59},"action":"remove","lines":["var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event was fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier"]},{"start":{"row":27,"column":6},"end":{"row":30,"column":32},"action":"insert","lines":["// The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters always are)."," if (suspendedFor === event"]},{"start":{"row":31,"column":8},"end":{"row":31,"column":18},"action":"remove","lines":["args.pop()"]},{"start":{"row":31,"column":8},"end":{"row":31,"column":14},"action":"insert","lines":["return"]},{"start":{"row":33,"column":0},"end":{"row":34,"column":0},"action":"remove","lines":["",""]},{"start":{"row":33,"column":44},"end":{"row":33,"column":48},"action":"remove","lines":["args"]},{"start":{"row":33,"column":44},"end":{"row":33,"column":65},"action":"insert","lines":["Array.from(arguments)"]},{"start":{"row":37,"column":32},"end":{"row":38,"column":37},"action":"remove","lines":[""," var args = Array.from(arguments);"]},{"start":{"row":45,"column":0},"end":{"row":46,"column":0},"action":"remove","lines":["",""]},{"start":{"row":45,"column":4},"end":{"row":45,"column":69},"action":"remove","lines":["// Add an extra argument so that this facade can identify its own"]},{"start":{"row":45,"column":4},"end":{"row":45,"column":18},"action":"insert","lines":["suspendedFor ="]},{"start":{"row":45,"column":24},"end":{"row":45,"column":26},"action":"remove","lines":["s."]},{"start":{"row":45,"column":24},"end":{"row":45,"column":25},"action":"insert","lines":[";"]},{"start":{"row":46,"column":29},"end":{"row":47,"column":0},"action":"remove","lines":["s.concat(facadeID));",""]},{"start":{"row":46,"column":29},"end":{"row":47,"column":24},"action":"insert","lines":["uments);"," suspendedFor = null;"]},{"start":{"row":61,"column":0},"end":{"row":62,"column":0},"action":"remove","lines":["function FacadeIdentifier() {}",""]}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":23},"action":"remove","lines":["suspendedFor = null"],"id":1803,"ignore":true},{"start":{"row":13,"column":4},"end":{"row":13,"column":37},"action":"insert","lines":["facadeID = new FacadeIdentifier()"]},{"start":{"row":26,"column":0},"end":{"row":27,"column":0},"action":"remove","lines":["",""]},{"start":{"row":26,"column":6},"end":{"row":28,"column":59},"action":"remove","lines":["// The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters al"]},{"start":{"row":26,"column":6},"end":{"row":33,"column":48},"action":"insert","lines":["var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event "]},{"start":{"row":33,"column":50},"end":{"row":33,"column":51},"action":"remove","lines":["y"]},{"start":{"row":33,"column":52},"end":{"row":34,"column":32},"action":"remove","lines":["are)."," if (suspendedFor === event"]},{"start":{"row":33,"column":52},"end":{"row":34,"column":59},"action":"insert","lines":["fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier"]},{"start":{"row":35,"column":8},"end":{"row":35,"column":14},"action":"remove","lines":["return"]},{"start":{"row":35,"column":8},"end":{"row":35,"column":18},"action":"insert","lines":["args.pop()"]},{"start":{"row":37,"column":0},"end":{"row":38,"column":0},"action":"insert","lines":["",""]},{"start":{"row":38,"column":44},"end":{"row":38,"column":65},"action":"remove","lines":["Array.from(arguments)"]},{"start":{"row":38,"column":44},"end":{"row":38,"column":48},"action":"insert","lines":["args"]},{"start":{"row":42,"column":32},"end":{"row":43,"column":37},"action":"insert","lines":[""," var args = Array.from(arguments);"]},{"start":{"row":51,"column":0},"end":{"row":52,"column":0},"action":"insert","lines":["",""]},{"start":{"row":52,"column":4},"end":{"row":52,"column":18},"action":"remove","lines":["suspendedFor ="]},{"start":{"row":52,"column":4},"end":{"row":52,"column":69},"action":"insert","lines":["// Add an extra argument so that this facade can identify its own"]},{"start":{"row":52,"column":75},"end":{"row":52,"column":76},"action":"remove","lines":[";"]},{"start":{"row":52,"column":75},"end":{"row":52,"column":77},"action":"insert","lines":["s."]},{"start":{"row":53,"column":29},"end":{"row":54,"column":24},"action":"remove","lines":["uments);"," suspendedFor = null;"]},{"start":{"row":53,"column":29},"end":{"row":54,"column":0},"action":"insert","lines":["s.concat(facadeID));",""]},{"start":{"row":68,"column":0},"end":{"row":69,"column":0},"action":"insert","lines":["function FacadeIdentifier() {}",""]}],[{"start":{"row":0,"column":0},"end":{"row":69,"column":0},"action":"remove","lines":["var"," EventEmitter = require(\"events\").EventEmitter,"," util = require(\"util\");","","module.exports = Facade;","Facade.Facade = Facade;","","util.inherits(Facade, EventEmitter);","","function Facade(core, permissions) {"," var"," addedListeners = [],"," facade = this,"," facadeID = new FacadeIdentifier();"," permissions = permissions || {};",""," this.on(\"newListener\", function (event) {"," checkPermissible(event, \"on\");",""," // Don't add this listener to core more than once."," if (addedListeners.indexOf(event) !== -1) {"," return;"," }"," addedListeners.push(event);",""," core.on(event, function () {"," var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event was fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier) {"," args.pop();"," }",""," nativeEmit.apply(null, [event].concat(args));"," });"," });",""," this.emit = function (event) {"," var args = Array.from(arguments);",""," // This is called internally by node's events module."," if (event === \"newListener\") {"," return nativeEmit.apply(null, arguments);"," }",""," checkPermissible(event, \"emit\");",""," // Add an extra argument so that this facade can identify its own events."," core.emit.apply(core, args.concat(facadeID));",""," return this;"," };",""," function checkPermissible(eventName, type) {"," if (permissions[type] && permissions[type].indexOf(eventName) === -1) {"," throw new Error(\"Event '\" + eventName + \"' not permitted by this facade.\""," );"," }"," }"," function nativeEmit() {"," return EventEmitter.prototype.emit.apply(facade, arguments);"," }","}","function FacadeIdentifier() {}",""],"id":1804},{"start":{"row":0,"column":0},"end":{"row":61,"column":0},"action":"insert","lines":["var"," EventEmitter = require(\"events\").EventEmitter,"," util = require(\"util\");","","module.exports = Facade;","Facade.Facade = Facade;","","util.inherits(Facade, EventEmitter);","","function Facade(core, permissions) {"," var"," addedListeners = [],"," facade = this,"," suspendedFor = null;"," permissions = permissions || {};",""," this.on(\"newListener\", function (event) {"," checkPermissible(event, \"on\");",""," // Don't add this listener to core more than once."," if (addedListeners.indexOf(event) !== -1) {"," return;"," }"," addedListeners.push(event);",""," core.on(event, function () {",""," // The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters always are)."," if (suspendedFor === event) {"," return;"," }"," nativeEmit.apply(null, [event].concat(Array.from(arguments)));"," });"," });",""," this.emit = function (event) {",""," // This is called internally by node's events module."," if (event === \"newListener\") {"," return nativeEmit.apply(null, arguments);"," }",""," checkPermissible(event, \"emit\");"," suspendedFor = event;"," core.emit.apply(core, arguments);"," suspendedFor = null;"," return this;"," };",""," function checkPermissible(eventName, type) {"," if (permissions[type] && permissions[type].indexOf(eventName) === -1) {"," throw new Error(\"Event '\" + eventName + \"' not permitted by this facade.\""," );"," }"," }"," function nativeEmit() {"," return EventEmitter.prototype.emit.apply(facade, arguments);"," }","}",""]}],[{"start":{"row":61,"column":0},"end":{"row":61,"column":1},"action":"insert","lines":["g"],"id":1805}],[{"start":{"row":61,"column":1},"end":{"row":61,"column":2},"action":"insert","lines":["i"],"id":1806}],[{"start":{"row":61,"column":2},"end":{"row":61,"column":3},"action":"insert","lines":["t"],"id":1807}],[{"start":{"row":61,"column":2},"end":{"row":61,"column":3},"action":"remove","lines":["t"],"id":1808}],[{"start":{"row":61,"column":1},"end":{"row":61,"column":2},"action":"remove","lines":["i"],"id":1809}],[{"start":{"row":61,"column":0},"end":{"row":61,"column":1},"action":"remove","lines":["g"],"id":1810}],[{"start":{"row":0,"column":0},"end":{"row":61,"column":0},"action":"remove","lines":["var"," EventEmitter = require(\"events\").EventEmitter,"," util = require(\"util\");","","module.exports = Facade;","Facade.Facade = Facade;","","util.inherits(Facade, EventEmitter);","","function Facade(core, permissions) {"," var"," addedListeners = [],"," facade = this,"," suspendedFor = null;"," permissions = permissions || {};",""," this.on(\"newListener\", function (event) {"," checkPermissible(event, \"on\");",""," // Don't add this listener to core more than once."," if (addedListeners.indexOf(event) !== -1) {"," return;"," }"," addedListeners.push(event);",""," core.on(event, function () {",""," // The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters always are)."," if (suspendedFor === event) {"," return;"," }"," nativeEmit.apply(null, [event].concat(Array.from(arguments)));"," });"," });",""," this.emit = function (event) {",""," // This is called internally by node's events module."," if (event === \"newListener\") {"," return nativeEmit.apply(null, arguments);"," }",""," checkPermissible(event, \"emit\");"," suspendedFor = event;"," core.emit.apply(core, arguments);"," suspendedFor = null;"," return this;"," };",""," function checkPermissible(eventName, type) {"," if (permissions[type] && permissions[type].indexOf(eventName) === -1) {"," throw new Error(\"Event '\" + eventName + \"' not permitted by this facade.\""," );"," }"," }"," function nativeEmit() {"," return EventEmitter.prototype.emit.apply(facade, arguments);"," }","}",""],"id":1812},{"start":{"row":0,"column":0},"end":{"row":69,"column":0},"action":"insert","lines":["var"," EventEmitter = require(\"events\").EventEmitter,"," util = require(\"util\");","","module.exports = Facade;","Facade.Facade = Facade;","","util.inherits(Facade, EventEmitter);","","function Facade(core, permissions) {"," var"," addedListeners = [],"," facade = this,"," facadeID = new FacadeIdentifier();"," permissions = permissions || {};",""," this.on(\"newListener\", function (event) {"," checkPermissible(event, \"on\");",""," // Don't add this listener to core more than once."," if (addedListeners.indexOf(event) !== -1) {"," return;"," }"," addedListeners.push(event);",""," core.on(event, function () {"," var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event was fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier) {"," args.pop();"," }",""," nativeEmit.apply(null, [event].concat(args));"," });"," });",""," this.emit = function (event) {"," var args = Array.from(arguments);",""," // This is called internally by node's events module."," if (event === \"newListener\") {"," return nativeEmit.apply(null, arguments);"," }",""," checkPermissible(event, \"emit\");",""," // Add an extra argument so that this facade can identify its own events."," core.emit.apply(core, args.concat(facadeID));",""," return this;"," };",""," function checkPermissible(eventName, type) {"," if (permissions[type] && permissions[type].indexOf(eventName) === -1) {"," throw new Error(\"Event '\" + eventName + \"' not permitted by this facade.\""," );"," }"," }"," function nativeEmit() {"," return EventEmitter.prototype.emit.apply(facade, arguments);"," }","}","function FacadeIdentifier() {}",""]}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":37},"action":"remove","lines":["facadeID = new FacadeIdentifier()"],"id":1813,"ignore":true},{"start":{"row":13,"column":4},"end":{"row":13,"column":23},"action":"insert","lines":["suspendedFor = null"]},{"start":{"row":26,"column":0},"end":{"row":27,"column":0},"action":"insert","lines":["",""]},{"start":{"row":27,"column":6},"end":{"row":35,"column":59},"action":"remove","lines":["var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event was fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier"]},{"start":{"row":27,"column":6},"end":{"row":30,"column":32},"action":"insert","lines":["// The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters always are)."," if (suspendedFor === event"]},{"start":{"row":31,"column":8},"end":{"row":31,"column":18},"action":"remove","lines":["args.pop()"]},{"start":{"row":31,"column":8},"end":{"row":31,"column":14},"action":"insert","lines":["return"]},{"start":{"row":33,"column":0},"end":{"row":34,"column":0},"action":"remove","lines":["",""]},{"start":{"row":33,"column":44},"end":{"row":33,"column":48},"action":"remove","lines":["args"]},{"start":{"row":33,"column":44},"end":{"row":33,"column":65},"action":"insert","lines":["Array.from(arguments)"]},{"start":{"row":37,"column":32},"end":{"row":38,"column":37},"action":"remove","lines":[""," var args = Array.from(arguments);"]},{"start":{"row":45,"column":0},"end":{"row":46,"column":0},"action":"remove","lines":["",""]},{"start":{"row":45,"column":4},"end":{"row":45,"column":69},"action":"remove","lines":["// Add an extra argument so that this facade can identify its own"]},{"start":{"row":45,"column":4},"end":{"row":45,"column":18},"action":"insert","lines":["suspendedFor ="]},{"start":{"row":45,"column":24},"end":{"row":45,"column":26},"action":"remove","lines":["s."]},{"start":{"row":45,"column":24},"end":{"row":45,"column":25},"action":"insert","lines":[";"]},{"start":{"row":46,"column":29},"end":{"row":47,"column":0},"action":"remove","lines":["s.concat(facadeID));",""]},{"start":{"row":46,"column":29},"end":{"row":47,"column":24},"action":"insert","lines":["uments);"," suspendedFor = null;"]},{"start":{"row":61,"column":0},"end":{"row":62,"column":0},"action":"remove","lines":["function FacadeIdentifier() {}",""]}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":23},"action":"remove","lines":["suspendedFor = null"],"id":1814,"ignore":true},{"start":{"row":13,"column":4},"end":{"row":13,"column":37},"action":"insert","lines":["facadeID = new FacadeIdentifier()"]},{"start":{"row":26,"column":0},"end":{"row":27,"column":0},"action":"remove","lines":["",""]},{"start":{"row":26,"column":6},"end":{"row":28,"column":59},"action":"remove","lines":["// The event will be suspended if our overwritten emit method called it."," // This stops listeners firing for this facade's own events. It relies on"," // the core being synchronous (which EventEmitters al"]},{"start":{"row":26,"column":6},"end":{"row":33,"column":48},"action":"insert","lines":["var args = Array.from(arguments);",""," // Check if the event was fired by this facade"," if (args[args.length - 1] === facadeID) {"," return;"," }",""," // Remove the extra argument if the event "]},{"start":{"row":33,"column":50},"end":{"row":33,"column":51},"action":"remove","lines":["y"]},{"start":{"row":33,"column":52},"end":{"row":34,"column":32},"action":"remove","lines":["are)."," if (suspendedFor === event"]},{"start":{"row":33,"column":52},"end":{"row":34,"column":59},"action":"insert","lines":["fired by another facade"," if (args[args.length - 1] instanceof FacadeIdentifier"]},{"start":{"row":35,"column":8},"end":{"row":35,"column":14},"action":"remove","lines":["return"]},{"start":{"row":35,"column":8},"end":{"row":35,"column":18},"action":"insert","lines":["args.pop()"]},{"start":{"row":37,"column":0},"end":{"row":38,"column":0},"action":"insert","lines":["",""]},{"start":{"row":38,"column":44},"end":{"row":38,"column":65},"action":"remove","lines":["Array.from(arguments)"]},{"start":{"row":38,"column":44},"end":{"row":38,"column":48},"action":"insert","lines":["args"]},{"start":{"row":42,"column":32},"end":{"row":43,"column":37},"action":"insert","lines":[""," var args = Array.from(arguments);"]},{"start":{"row":51,"column":0},"end":{"row":52,"column":0},"action":"insert","lines":["",""]},{"start":{"row":52,"column":4},"end":{"row":52,"column":18},"action":"remove","lines":["suspendedFor ="]},{"start":{"row":52,"column":4},"end":{"row":52,"column":69},"action":"insert","lines":["// Add an extra argument so that this facade can identify its own"]},{"start":{"row":52,"column":75},"end":{"row":52,"column":76},"action":"remove","lines":[";"]},{"start":{"row":52,"column":75},"end":{"row":52,"column":77},"action":"insert","lines":["s."]},{"start":{"row":53,"column":29},"end":{"row":54,"column":24},"action":"remove","lines":["uments);"," suspendedFor = null;"]},{"start":{"row":53,"column":29},"end":{"row":54,"column":0},"action":"insert","lines":["s.concat(facadeID));",""]},{"start":{"row":68,"column":0},"end":{"row":69,"column":0},"action":"insert","lines":["function FacadeIdentifier() {}",""]}]]},"ace":{"folds":[],"scrolltop":785.5,"scrollleft":0,"selection":{"start":{"row":69,"column":0},"end":{"row":69,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":186,"mode":"ace/mode/javascript"}},"timestamp":1518091416396,"hash":"8bb5be6a94cf3945831ca5853b6f941844e2f87f"}