@@ -240,22 +240,29 @@ function parser(text, json){
240
240
function ( ) { throwError ( "is not valid json" , { text :text , index :0 } ) ; } ;
241
241
}
242
242
return {
243
- assertAllConsumed : assertAllConsumed ,
244
- assignable : assignable ,
245
- primary : primary ,
246
- statements : statements ,
247
- validator : validator ,
248
- formatter : formatter ,
249
- filter : filter ,
250
- //TODO: delete me, since having watch in UI is logic in UI. (leftover form getangular)
251
- watch : watch
243
+ assignable : assertConsumed ( assignable ) ,
244
+ primary : assertConsumed ( primary ) ,
245
+ statements : assertConsumed ( statements ) ,
246
+ validator : assertConsumed ( validator ) ,
247
+ formatter : assertConsumed ( formatter ) ,
248
+ filter : assertConsumed ( filter )
252
249
} ;
253
250
251
+ function assertConsumed ( fn ) {
252
+ return function ( ) {
253
+ var value = fn ( ) ;
254
+ if ( tokens . length !== 0 ) {
255
+ throwError ( "is an unexpected token" , tokens [ 0 ] ) ;
256
+ }
257
+ return value ;
258
+ } ;
259
+ }
260
+
254
261
///////////////////////////////////
255
262
function throwError ( msg , token ) {
256
- throw Error ( "Parse Error: Token '" + token . text +
263
+ throw Error ( "Syntax Error: Token '" + token . text +
257
264
"' " + msg + " at column " +
258
- ( token . index + 1 ) + " of expression [" +
265
+ ( token . index + 1 ) + " of the expression [" +
259
266
text + "] starting at [" + text . substring ( token . index ) + "]." ) ;
260
267
}
261
268
@@ -313,12 +320,6 @@ function parser(text, json){
313
320
return tokens . length > 0 ;
314
321
}
315
322
316
- function assertAllConsumed ( ) {
317
- if ( tokens . length !== 0 ) {
318
- throwError ( "is extra token not part of expression" , tokens [ 0 ] ) ;
319
- }
320
- }
321
-
322
323
function statements ( ) {
323
324
var statements = [ ] ;
324
325
while ( true ) {
@@ -639,24 +640,6 @@ function parser(text, json){
639
640
} ;
640
641
}
641
642
642
- //TODO: delete me, since having watch in UI is logic in UI. (leftover form getangular)
643
- function watch ( ) {
644
- var decl = [ ] ;
645
- while ( hasTokens ( ) ) {
646
- decl . push ( watchDecl ( ) ) ;
647
- if ( ! expect ( ';' ) ) {
648
- assertAllConsumed ( ) ;
649
- }
650
- }
651
- assertAllConsumed ( ) ;
652
- return function ( self ) {
653
- for ( var i = 0 ; i < decl . length ; i ++ ) {
654
- var d = decl [ i ] ( self ) ;
655
- self . addListener ( d . name , d . fn ) ;
656
- }
657
- } ;
658
- }
659
-
660
643
function watchDecl ( ) {
661
644
var anchorName = expect ( ) . text ;
662
645
consume ( ":" ) ;
0 commit comments