66 * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
77 * @license Licensed under MIT license
88 * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9- * @version 2.10.0-beta.3
9+ * @version 2.10.0
1010 */
1111
12- var enifed, requireModule, require, Ember;
12+ var enifed, requireModule, Ember;
1313var mainContext = this;
1414
1515(function() {
@@ -40,14 +40,14 @@ var mainContext = this;
4040 registry[name] = value;
4141 };
4242
43- require = requireModule = function(name) {
43+ requireModule = function(name) {
4444 return internalRequire(name, null);
4545 };
4646
4747 // setup `require` module
48- require ['default'] = require ;
48+ requireModule ['default'] = requireModule ;
4949
50- require .has = function registryHas(moduleName) {
50+ requireModule .has = function registryHas(moduleName) {
5151 return !!registry[moduleName] || !!registry[moduleName + '/index'];
5252 };
5353
@@ -88,7 +88,7 @@ var mainContext = this;
8888 if (deps[i] === 'exports') {
8989 reified[i] = exports;
9090 } else if (deps[i] === 'require') {
91- reified[i] = require ;
91+ reified[i] = requireModule ;
9292 } else {
9393 reified[i] = internalRequire(deps[i], name);
9494 }
@@ -103,12 +103,12 @@ var mainContext = this;
103103
104104 Ember.__loader = {
105105 define: enifed,
106- require: require ,
106+ require: requireModule ,
107107 registry: registry
108108 };
109109 } else {
110110 enifed = Ember.__loader.define;
111- require = requireModule = Ember.__loader.require;
111+ requireModule = Ember.__loader.require;
112112 }
113113})();
114114
@@ -4018,7 +4018,7 @@ enifed('ember-metal/computed', ['exports', 'ember-utils', 'ember-metal/debug', '
40184018 var args = [];
40194019
40204020 function addArg(property) {
4021- _emberMetalDebug.warn('Dependent keys containing @each only work one level deep. ' + 'You cannot use nested forms like todos.@each.owner.name or todos.@each.owner.@each.name. ' + 'Please create an intermediary computed property.', DEEP_EACH_REGEX.test(property) === false, { id: 'ember-metal.computed-deep-each' });
4021+ _emberMetalDebug.warn('Dependent keys containing @each only work one level deep. ' + ( 'You used the key "' + property + '" which is invalid. ') + 'Please create an intermediary computed property.', DEEP_EACH_REGEX.test(property) === false, { id: 'ember-metal.computed-deep-each' });
40224022 args.push(property);
40234023 }
40244024
@@ -5092,6 +5092,25 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/debug'], functi
50925092 function expandProperties(pattern, callback) {
50935093 _emberMetalDebug.assert('A computed property key must be a string', typeof pattern === 'string');
50945094 _emberMetalDebug.assert('Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"', pattern.indexOf(' ') === -1);
5095+ _emberMetalDebug.assert('Brace expanded properties have to be balanced and cannot be nested, pattern: ' + pattern, (function (str) {
5096+ var inBrace = 0;
5097+ var char = undefined;
5098+ for (var i = 0; i < str.length; i++) {
5099+ char = str.charAt(i);
5100+
5101+ if (char === '{') {
5102+ inBrace++;
5103+ } else if (char === '}') {
5104+ inBrace--;
5105+ }
5106+
5107+ if (inBrace > 1 || inBrace < 0) {
5108+ return false;
5109+ }
5110+ }
5111+
5112+ return true;
5113+ })(pattern));
50955114
50965115 var parts = pattern.split(SPLIT_REGEX);
50975116 var properties = [parts];
@@ -8975,6 +8994,7 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/debug', 'ember-metal
89758994 _emberMetalDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
89768995 _emberMetalDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
89778996 _emberMetalDebug.assert('\'this\' in paths is not supported', !_emberMetalPath_cache.hasThis(keyName));
8997+ _emberMetalDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
89788998
89798999 var value = obj[keyName];
89809000 var desc = value !== null && typeof value === 'object' && value.isDescriptor ? value : undefined;
@@ -16342,16 +16362,20 @@ enifed('ember-runtime/mixins/promise_proxy', ['exports', 'ember-metal', 'ember-r
1634216362 });
1634316363
1634416364 return promise.then(function (value) {
16345- _emberMetal.setProperties(proxy, {
16346- content: value,
16347- isFulfilled: true
16348- });
16365+ if (!proxy.isDestroyed && !proxy.isDestroying) {
16366+ _emberMetal.setProperties(proxy, {
16367+ content: value,
16368+ isFulfilled: true
16369+ });
16370+ }
1634916371 return value;
1635016372 }, function (reason) {
16351- _emberMetal.setProperties(proxy, {
16352- reason: reason,
16353- isRejected: true
16354- });
16373+ if (!proxy.isDestroyed && !proxy.isDestroying) {
16374+ _emberMetal.setProperties(proxy, {
16375+ reason: reason,
16376+ isRejected: true
16377+ });
16378+ }
1635516379 throw reason;
1635616380 }, 'Ember: PromiseProxy');
1635716381 }
@@ -19243,7 +19267,8 @@ enifed('ember-runtime/utils', ['exports', 'ember-runtime/mixins/array', 'ember-r
1924319267 '[object Array]': 'array',
1924419268 '[object Date]': 'date',
1924519269 '[object RegExp]': 'regexp',
19246- '[object Object]': 'object'
19270+ '[object Object]': 'object',
19271+ '[object FileList]': 'filelist'
1924719272 };
1924819273
1924919274 var toString = Object.prototype.toString;
@@ -19312,6 +19337,7 @@ enifed('ember-runtime/utils', ['exports', 'ember-runtime/mixins/array', 'ember-r
1931219337 | 'array' | An instance of Array |
1931319338 | 'regexp' | An instance of RegExp |
1931419339 | 'date' | An instance of Date |
19340+ | 'filelist' | An instance of FileList |
1931519341 | 'class' | An Ember class (created using Ember.Object.extend()) |
1931619342 | 'instance' | An Ember object instance |
1931719343 | 'error' | An instance of the Error object |
@@ -19333,6 +19359,7 @@ enifed('ember-runtime/utils', ['exports', 'ember-runtime/mixins/array', 'ember-r
1933319359 Ember.typeOf([1, 2, 90]); // 'array'
1933419360 Ember.typeOf(/abc/); // 'regexp'
1933519361 Ember.typeOf(new Date()); // 'date'
19362+ Ember.typeOf(event.target.files); // 'filelist'
1933619363 Ember.typeOf(Ember.Object.extend()); // 'class'
1933719364 Ember.typeOf(Ember.Object.create()); // 'instance'
1933819365 Ember.typeOf(new Error('teamocil')); // 'error'
@@ -19382,7 +19409,7 @@ enifed("ember/features", ["exports"], function (exports) {
1938219409enifed("ember/version", ["exports"], function (exports) {
1938319410 "use strict";
1938419411
19385- exports.default = "2.10.0-beta.3 ";
19412+ exports.default = "2.10.0";
1938619413});
1938719414/*!
1938819415 * @overview RSVP - a tiny implementation of Promises/A+.
0 commit comments