@@ -20,7 +20,7 @@ import { Slot } from "./Slot";
2020 * Project home: <a target="_top" href="http://github.com/robertpenner/as3-signals/">http://github.com/robertpenner/as3-signals/</a>
2121 */
2222export class OnceSignal implements IOnceSignal {
23- protected _valueClasses : any [ ] ; // of Class
23+ protected _valueClasses : any [ ] ; // of Class
2424 protected slots : SlotList = SlotList . NIL ;
2525
2626 /**
@@ -36,7 +36,10 @@ export class OnceSignal implements IOnceSignal {
3636 */
3737 constructor ( ...valueClasses ) {
3838 // Cannot use super.apply(null, valueClasses), so allow the subclass to call super(valueClasses).
39- this . valueClasses = ( valueClasses . length === 1 && valueClasses [ 0 ] instanceof Array ) ? valueClasses [ 0 ] : valueClasses ;
39+ this . valueClasses =
40+ valueClasses . length === 1 && valueClasses [ 0 ] instanceof Array
41+ ? valueClasses [ 0 ]
42+ : valueClasses ;
4043 }
4144
4245 /**
@@ -51,11 +54,17 @@ export class OnceSignal implements IOnceSignal {
5154 public set valueClasses ( value : any [ ] ) {
5255 // Clone so the Array cannot be affected from outside.
5356 this . _valueClasses = value ? value . slice ( ) : [ ] ;
54- for ( let i : number = this . _valueClasses . length ; i -- ; ) {
57+ for ( let i : number = this . _valueClasses . length ; i -- ; ) {
5558 if ( ! ( this . _valueClasses [ i ] instanceof Object ) ) {
56- throw new Error ( "Invalid valueClasses argument: " +
57- "item at index " + i + " should be a Class but was:<" +
58- this . _valueClasses [ i ] + ">." + this . _valueClasses [ i ] ) ; // @CHANGED - temp replacement for getQualifiedClassByName()
59+ throw new Error (
60+ "Invalid valueClasses argument: " +
61+ "item at index " +
62+ i +
63+ " should be a Class but was:<" +
64+ this . _valueClasses [ i ] +
65+ ">." +
66+ this . _valueClasses [ i ]
67+ ) ; // @CHANGED - temp replacement for getQualifiedClassByName()
5968 }
6069 }
6170 }
@@ -96,30 +105,40 @@ export class OnceSignal implements IOnceSignal {
96105 * @throws ArgumentError <code>ArgumentError</code>: Value object is not an instance of the appropriate valueClasses Class.
97106 */
98107 public dispatch ( ...valueObjects ) : void {
99-
100108 // If valueClasses is empty, value objects are not type-checked.
101109 let numValueClasses : number = this . _valueClasses . length ;
102110 let numValueObjects : number = valueObjects . length ;
103111
104112 // Cannot dispatch fewer objects than declared classes.
105113 if ( numValueObjects < numValueClasses ) {
106- throw new Error ( "Incorrect number of arguments. " +
107- "Expected at least " + numValueClasses + " but received " +
108- numValueObjects + "." ) ;
114+ throw new Error (
115+ "Incorrect number of arguments. " +
116+ "Expected at least " +
117+ numValueClasses +
118+ " but received " +
119+ numValueObjects +
120+ "."
121+ ) ;
109122 }
110123
111124 // Cannot dispatch differently typed objects than declared classes.
112125 for ( let i : number = 0 ; i < numValueClasses ; i ++ ) {
113126 // Optimized for the optimistic case that values are correct.
114127 if (
115128 valueObjects [ i ] === null ||
116- ( valueObjects [ i ] instanceof this . _valueClasses [ i ] || valueObjects [ i ] . constructor === this . _valueClasses [ i ] )
129+ ( valueObjects [ i ] instanceof this . _valueClasses [ i ] ||
130+ valueObjects [ i ] . constructor === this . _valueClasses [ i ] )
117131 ) {
118132 continue ;
119133 }
120134
121- throw new Error ( "Value object <" + valueObjects [ i ]
122- + "> is not an instance of <" + this . _valueClasses [ i ] + ">." ) ;
135+ throw new Error (
136+ "Value object <" +
137+ valueObjects [ i ] +
138+ "> is not an instance of <" +
139+ this . _valueClasses [ i ] +
140+ ">."
141+ ) ;
123142 }
124143
125144 // Broadcast to listeners.
@@ -132,7 +151,10 @@ export class OnceSignal implements IOnceSignal {
132151 }
133152 }
134153
135- protected registerListener ( listener : Function , once : boolean = false ) : ISlot {
154+ protected registerListener (
155+ listener : Function ,
156+ once : boolean = false
157+ ) : ISlot {
136158 if ( this . registrationPossible ( listener , once ) ) {
137159 let newSlot : ISlot = new Slot ( listener , this , once ) ;
138160 this . slots = this . slots . prepend ( newSlot ) ;
@@ -155,7 +177,9 @@ export class OnceSignal implements IOnceSignal {
155177 if ( existingSlot . once !== once ) {
156178 // If the listener was previously added, definitely don't add it again.
157179 // But throw an exception if their once values differ.
158- throw new Error ( "You cannot addOnce() then add() the same listener without removing the relationship first." ) ;
180+ throw new Error (
181+ "You cannot addOnce() then add() the same listener without removing the relationship first."
182+ ) ;
159183 }
160184
161185 return false ; // Listener was already registered.
0 commit comments