This commit is contained in:
80
wwwroot/js/app.util.js
Normal file
80
wwwroot/js/app.util.js
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* app.util.js
|
||||
* General JavaScript utilities
|
||||
*
|
||||
* Michael S. Mikowski - mmikowski at gmail dot com
|
||||
* These are routines I have created, compiled, and updated
|
||||
* since 1998, with inspiration from around the web.
|
||||
*
|
||||
* MIT License
|
||||
*
|
||||
*/
|
||||
|
||||
/*jslint browser : true, continue : true,
|
||||
devel : true, indent : 2, maxerr : 50,
|
||||
newcap : true, nomen : true, plusplus : true,
|
||||
regexp : true, sloppy : true, vars : false,
|
||||
white : true
|
||||
*/
|
||||
/*global $, app */
|
||||
|
||||
app.util = (function () {
|
||||
var makeError, setConfigMap;
|
||||
|
||||
// Begin Public constructor /makeError/
|
||||
// Purpose: a convenience wrapper to create an error object
|
||||
// Arguments:
|
||||
// * name_text - the error name
|
||||
// * msg_text - long error message
|
||||
// * data - optional data attached to error object
|
||||
// Returns : newly constructed error object
|
||||
// Throws : none
|
||||
//
|
||||
makeError = function ( name_text, msg_text, data ) {
|
||||
var error = new Error();
|
||||
error.name = name_text;
|
||||
error.message = msg_text;
|
||||
|
||||
if ( data ){ error.data = data; }
|
||||
|
||||
return error;
|
||||
};
|
||||
// End Public constructor /makeError/
|
||||
|
||||
// Begin Public method /setConfigMap/
|
||||
// Purpose: Common code to set configs in feature modules
|
||||
// Arguments:
|
||||
// * input_map - map of key-values to set in config
|
||||
// * settable_map - map of allowable keys to set
|
||||
// * config_map - map to apply settings to
|
||||
// Returns: true
|
||||
// Throws : Exception if input key not allowed
|
||||
//
|
||||
setConfigMap = function ( arg_map ){
|
||||
var
|
||||
input_map = arg_map.input_map,
|
||||
settable_map = arg_map.settable_map,
|
||||
config_map = arg_map.config_map,
|
||||
key_name, error;
|
||||
|
||||
for ( key_name in input_map ){
|
||||
if ( input_map.hasOwnProperty( key_name ) ){
|
||||
if ( settable_map.hasOwnProperty( key_name ) ){
|
||||
config_map[key_name] = input_map[key_name];
|
||||
}
|
||||
else {
|
||||
error = makeError( 'Bad Input',
|
||||
'Setting config key |' + key_name + '| is not supported'
|
||||
);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
// End Public method /setConfigMap/
|
||||
|
||||
return {
|
||||
makeError : makeError,
|
||||
setConfigMap : setConfigMap
|
||||
};
|
||||
}());
|
||||
Reference in New Issue
Block a user