@@ -572,8 +572,20 @@ var update = (function(){
572572return data ;
573573} ;
574574
575- var _update_3270 = function ( data ) {
576- data . version = "3.27.0" ;
575+ // This associative array contains all the updates. Add
576+ // a new entry if you need to modify data.
577+ //
578+ // Example, this assumes the previous version is less than
579+ // 3.28.0, so 3.27.0 would be upgraded in this case.
580+ // versionUpdates["3.28.0"] = function(data){
581+ // return data;
582+ // };
583+ //
584+ // Always add the version in increasing order so the
585+ // most recent version is last.
586+ var versionUpdates = { } ;
587+
588+ versionUpdates [ "3.27.0" ] = function ( data ) {
577589data . state . header . area . alignment = data . state . header . area . alignment . horizontal ;
578590data . state . header . item . alignment = data . state . header . item . alignment . horizontal ;
579591data . state . header . search . text . alignment = data . state . header . search . text . align ;
@@ -584,46 +596,50 @@ var update = (function(){
584596return data ;
585597} ;
586598
587- // var _update_300 = function(data){
588- // data.version = 3.00;
589- // return data;
590- // };
599+ // Add Bing as a option for the search engines.
600+ versionUpdates [ "3.28.0" ] = function ( data ) {
601+ data . state . header . search . engine . bing = {
602+ url : "https://www.bing.com/search?q=" ,
603+ name : "Bing"
604+ } ;
605+ return data ;
606+ } ;
591607
592608function run ( data ) {
593609if ( ! ( "version" in data ) ) {
594610console . log ( "\t= running update" , "1.0.0" ) ;
595611data = _update_100 ( data ) ;
596612} ;
597613if ( typeof data . version == "number" ) {
598- if ( data . version < 2.00 ) {
614+ if ( data . version < 2.0 ) {
599615console . log ( "\t= running update 2.0.0" ) ;
600616data = _update_200 ( data ) ;
601617} ;
602- if ( data . version < 2.10 ) {
618+ if ( data . version < 2.1 ) {
603619console . log ( "\t= running update 2.1.0" ) ;
604620data = _update_210 ( data ) ;
605621} ;
606- if ( data . version < 2.30 ) {
622+ if ( data . version < 2.3 ) {
607623console . log ( "\t= running update 2.3.0" ) ;
608624data = _update_230 ( data ) ;
609625} ;
610- if ( data . version < 2.40 ) {
626+ if ( data . version < 2.4 ) {
611627console . log ( "\t= running update 2.4.0" ) ;
612628data = _update_240 ( data ) ;
613629} ;
614- if ( data . version < 2.50 ) {
630+ if ( data . version < 2.5 ) {
615631console . log ( "\t= running update 2.5.0" ) ;
616632data = _update_250 ( data ) ;
617633} ;
618- if ( data . version < 2.70 ) {
634+ if ( data . version < 2.7 ) {
619635console . log ( "\t= running update 2.7.0" ) ;
620636data = _update_270 ( data ) ;
621637} ;
622- if ( data . version < 2.80 ) {
638+ if ( data . version < 2.8 ) {
623639console . log ( "\t= running update 2.8.0" ) ;
624640data = _update_280 ( data ) ;
625641} ;
626- if ( data . version < 2.90 ) {
642+ if ( data . version < 2.9 ) {
627643console . log ( "\t= running update 2.9.0" ) ;
628644data = _update_290 ( data ) ;
629645} ;
@@ -730,17 +746,24 @@ var update = (function(){
730746console . log ( "\t= running update 3.21.0" ) ;
731747data = _update_3210 ( data ) ;
732748} ;
733- if ( version . compare ( data . version , "3.27.0" ) == - 1 ) {
734- console . log ( "\t= running update 3.27.0" ) ;
735- data = _update_3270 ( data ) ;
749+ // Shift to a associate array for the configuration update as
750+ // there less code to maintain.
751+ for ( var key in versionUpdates ) {
752+ if ( version . compare ( data . version , key ) == - 1 ) {
753+ console . log ( "\t= running update" , key ) ;
754+ data = versionUpdates [ key ] ( data ) ;
755+ data . version = key ;
756+ } ;
736757} ;
737758} ;
759+
738760// if no update is needed
739761// version bump
740762if ( version . compare ( data . version , version . get ( ) ) == - 1 ) {
741763console . log ( "\t= nothing to update, version bump to" , version . get ( ) ) ;
742764data . version = version . get ( ) ;
743765} ;
766+
744767return data ;
745768} ;
746769
0 commit comments