UNPKG

authbase

Version:

AuthBase client library

65 lines (55 loc) 1.64 kB
var _ = require('lodash'); var errors = { invalidToken: { message: 'AuthBase: token was either missing or invalid', code: 'invalid_token' }, invalidAction: { message: 'AuthBase: unrecognized return action', code: 'invalid_action' }, missingAppId: { message: 'AuthBase: app ID (i.e. { appId : <your app id> }) is a required argument', code: 'missing_app_id' }, missingAppSecret: { message: 'AuthBase: app secret (i.e. { appSecret : <your app secret> }) is a required argument', code: 'missing_app_secret' }, missingOnAuthenticated: { message: 'AuthBase: app secret (i.e. { onAuthenticated : function(req, res) {...} }) is a required argument', code: 'missing_on_authenticated' }, missingOnError: { message: 'AuthBase: onError (i.e. { onError : function(err, req, res, next) {...} }) is a required argument', code: 'missing_on_error' }, serviceError: { status: 500, message: 'AuthBase: service error', code: 'service_error' } }; // Converts an object's keys to all getters to either clones or auto clones // Makes it so that when a value is retrieved, it is a cloned value automatically. // Modifying it won't affect the prototype. var deepAutoClone = function(obj){ var result = {}; _.forIn(obj, function(val, key){ if(!_.isObject(val)){ result[key] = _.cloneDeep(val); return; } else{ Object.defineProperty(result, key, { get: function(){ return deepAutoClone(val); }, enumerable: true } ); } }); return result; }; module.exports = deepAutoClone(errors);