All pastes #619745 Raw Edit

Someone

public javascript v1 · immutable
·published 2007-07-15 00:00 UTC
rendered paste body
class Event{...	// --- Event custom Linked list ---	var lastHandler : Bubble<HandlerSig>;		function newBubble( listener, handler, next : Bubble<HandlerSig> )	{		var b : Bubble<HandlerSig> = {			l : listener,			h : handler,			n : next,			p : null,			enable  : null,			disable : null		}		b.enable  = callback(enableBubble,  b);		b.disable = callback(disableBubble, b);						if(next != null) next.p = b;		return b;	}		function enableBubble( b : Bubble<HandlerSig> )	{		if( b.p != null )			b.p.n = b;		// Bubble.parentNode.nextNode = this Node	}		function disableBubble( b : Bubble<HandlerSig> )	{		if( b.p == null ) 			b.p = untyped { n : this.n };		else			b.p.n = b.n;	// Bubble.parentNode.nextNode = Bubble.nextNode	}	}typedef Bubble<HandlerSig>{	/** Listener object **/	public var l : Dynamic;	/** Handler function **/	public var h : HandlerSig;	/** Next EventBubble object **/	public var n : EventBubble<HandlerSig>;	/** Previous EventBubble in the chain **/	public var p : EventBubble<HandlerSig>;		public var disable : Void -> Void;	public var enable  : Void -> Void;}