@@ -240,22 +240,29 @@ function parser(text, json){
240240 function ( ) { throwError ( "is not valid json" , { text :text , index :0 } ) ; } ;
241241 }
242242 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 )
252249 } ;
253250
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+
254261 ///////////////////////////////////
255262 function throwError ( msg , token ) {
256- throw Error ( "Parse Error: Token '" + token . text +
263+ throw Error ( "Syntax Error: Token '" + token . text +
257264 "' " + msg + " at column " +
258- ( token . index + 1 ) + " of expression [" +
265+ ( token . index + 1 ) + " of the expression [" +
259266 text + "] starting at [" + text . substring ( token . index ) + "]." ) ;
260267 }
261268
@@ -313,12 +320,6 @@ function parser(text, json){
313320 return tokens . length > 0 ;
314321 }
315322
316- function assertAllConsumed ( ) {
317- if ( tokens . length !== 0 ) {
318- throwError ( "is extra token not part of expression" , tokens [ 0 ] ) ;
319- }
320- }
321-
322323 function statements ( ) {
323324 var statements = [ ] ;
324325 while ( true ) {
@@ -639,24 +640,6 @@ function parser(text, json){
639640 } ;
640641 }
641642
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-
660643 function watchDecl ( ) {
661644 var anchorName = expect ( ) . text ;
662645 consume ( ":" ) ;
0 commit comments