MCPcopy
hub / github.com/angular-ui/ui-router / setter

Function setter

test/angular/1.2/angular.js:11034–11066  ·  view source on GitHub ↗
(obj, path, setValue, fullExp, options)

Source from the content-addressed store, hash-verified

11032//////////////////////////////////////////////////
11033
11034function setter(obj, path, setValue, fullExp, options) {
11035 ensureSafeObject(obj, fullExp);
11036
11037 //needed?
11038 options = options || {};
11039
11040 var element = path.split('.'), key;
11041 for (var i = 0; element.length > 1; i++) {
11042 key = ensureSafeMemberName(element.shift(), fullExp);
11043 var propertyObj = ensureSafeObject(obj[key], fullExp);
11044 if (!propertyObj) {
11045 propertyObj = {};
11046 obj[key] = propertyObj;
11047 }
11048 obj = propertyObj;
11049 if (obj.then && options.unwrapPromises) {
11050 promiseWarning(fullExp);
11051 if (!("$$v" in obj)) {
11052 (function(promise) {
11053 promise.then(function(val) { promise.$$v = val; }); }
11054 )(obj);
11055 }
11056 if (obj.$$v === undefined) {
11057 obj.$$v = {};
11058 }
11059 obj = obj.$$v;
11060 }
11061 }
11062 key = ensureSafeMemberName(element.shift(), fullExp);
11063 ensureSafeObject(obj[key], fullExp);
11064 obj[key] = setValue;
11065 return setValue;
11066}
11067
11068var getterFnCacheDefault = {};
11069var getterFnCacheExpensive = {};

Callers 7

angular.jsFile · 0.70
formDirectiveFactoryFunction · 0.70
formDirectiveFactoryFunction · 0.50
formDirectiveFactoryFunction · 0.50
formDirectiveFactoryFunction · 0.50
angular.jsFile · 0.50
formDirectiveFactoryFunction · 0.50

Calls 2

ensureSafeObjectFunction · 0.70
ensureSafeMemberNameFunction · 0.70

Tested by

no test coverage detected