Commit f5a5bd8c authored by Ryan LeFevre's avatar Ryan LeFevre

RGB shim no longer required

parent 5eda9ee0
...@@ -9,7 +9,6 @@ task 'compile', 'Compile with browserify for the web', -> ...@@ -9,7 +9,6 @@ task 'compile', 'Compile with browserify for the web', ->
.transform('coffeeify') .transform('coffeeify')
.require('./shims/png.coffee', expose: './image_exports/png.coffee') .require('./shims/png.coffee', expose: './image_exports/png.coffee')
.require('./shims/init.coffee', expose: './psd/init.coffee') .require('./shims/init.coffee', expose: './psd/init.coffee')
.require('./shims/rgb.coffee', expose: './image_modes/rgb.coffee')
.require('./lib/psd.coffee', expose: 'psd') .require('./lib/psd.coffee', expose: 'psd')
.bundle (err, src) -> .bundle (err, src) ->
return console.log(err) if err? return console.log(err) if err?
......
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"aS3ana":[function(require,module,exports){ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"aS3ana":[function(require,module,exports){
var File, Header, Image, LayerMask, LazyExecute, Module, PSD, Resources, var File, Header, Image, LayerMask, LazyExecute, Module, PSD, RSVP, Resources,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
RSVP = require('rsvp');
Module = require('coffeescript-module').Module; Module = require('coffeescript-module').Module;
File = require('./psd/file.coffee'); File = require('./psd/file.coffee');
...@@ -35,6 +37,9 @@ module.exports = PSD = (function(_super) { ...@@ -35,6 +37,9 @@ module.exports = PSD = (function(_super) {
return this.layerMask.layers; return this.layerMask.layers;
} }
}); });
RSVP.on('error', function(reason) {
return console.error(reason);
});
} }
PSD.prototype.parse = function() { PSD.prototype.parse = function() {
...@@ -80,7 +85,7 @@ module.exports = PSD = (function(_super) { ...@@ -80,7 +85,7 @@ module.exports = PSD = (function(_super) {
})(Module); })(Module);
},{"./psd/file.coffee":5,"./psd/header.coffee":6,"./psd/image.coffee":7,"./psd/init.coffee":"/ioUh4","./psd/layer_mask.coffee":33,"./psd/lazy_execute.coffee":34,"./psd/nodes/root.coffee":40,"./psd/resources.coffee":44,"coffeescript-module":48}],"psd":[function(require,module,exports){ },{"./psd/file.coffee":5,"./psd/header.coffee":6,"./psd/image.coffee":7,"./psd/init.coffee":"/ioUh4","./psd/layer_mask.coffee":34,"./psd/lazy_execute.coffee":35,"./psd/nodes/root.coffee":41,"./psd/resources.coffee":45,"coffeescript-module":49,"rsvp":53}],"psd":[function(require,module,exports){
module.exports=require('aS3ana'); module.exports=require('aS3ana');
},{}],3:[function(require,module,exports){ },{}],3:[function(require,module,exports){
var BlendMode, Module, var BlendMode, Module,
...@@ -157,7 +162,7 @@ module.exports = BlendMode = (function(_super) { ...@@ -157,7 +162,7 @@ module.exports = BlendMode = (function(_super) {
})(Module); })(Module);
},{"coffeescript-module":48}],4:[function(require,module,exports){ },{"coffeescript-module":49}],4:[function(require,module,exports){
var Descriptor; var Descriptor;
module.exports = Descriptor = (function() { module.exports = Descriptor = (function() {
...@@ -550,7 +555,7 @@ module.exports = File = (function() { ...@@ -550,7 +555,7 @@ module.exports = File = (function() {
})(); })();
},{"./util.coffee":46,"jspack":50}],6:[function(require,module,exports){ },{"./util.coffee":47,"jspack":51}],6:[function(require,module,exports){
var Header; var Header;
module.exports = Header = (function() { module.exports = Header = (function() {
...@@ -738,7 +743,7 @@ module.exports = Image = (function(_super) { ...@@ -738,7 +743,7 @@ module.exports = Image = (function(_super) {
})(Module); })(Module);
},{"./image_export.coffee":8,"./image_format.coffee":9,"./image_mode.coffee":12,"coffeescript-module":48}],8:[function(require,module,exports){ },{"./image_export.coffee":8,"./image_format.coffee":9,"./image_mode.coffee":12,"coffeescript-module":49}],8:[function(require,module,exports){
module.exports = { module.exports = {
PNG: require('./image_exports/png.coffee') PNG: require('./image_exports/png.coffee')
}; };
...@@ -831,7 +836,44 @@ module.exports = { ...@@ -831,7 +836,44 @@ module.exports = {
}; };
},{"./image_modes/rgb.coffee":"DhO9gV"}],13:[function(require,module,exports){ },{"./image_modes/rgb.coffee":13}],13:[function(require,module,exports){
module.exports = {
combineRgbChannel: function() {
var a, b, chan, g, i, index, r, rgbChannels, val, _i, _j, _len, _ref, _results;
rgbChannels = this.channelsInfo.map(function(ch) {
return ch.id;
}).filter(function(ch) {
return ch >= -1;
});
_results = [];
for (i = _i = 0, _ref = this.numPixels; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
r = g = b = 0;
a = 255;
for (index = _j = 0, _len = rgbChannels.length; _j < _len; index = ++_j) {
chan = rgbChannels[index];
val = this.channelData[i + (this.channelLength * index)];
switch (chan) {
case -1:
a = val;
break;
case 0:
r = val;
break;
case 1:
g = val;
break;
case 2:
b = val;
}
}
_results.push(this.pixelData.push(r, g, b, a));
}
return _results;
}
};
},{}],14:[function(require,module,exports){
var Layer, Module, var Layer, Module,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -911,7 +953,7 @@ module.exports = Layer = (function(_super) { ...@@ -911,7 +953,7 @@ module.exports = Layer = (function(_super) {
})(Module); })(Module);
},{"./layer/blend_modes.coffee":14,"./layer/blending_ranges.coffee":15,"./layer/helpers.coffee":16,"./layer/info.coffee":17,"./layer/mask.coffee":18,"./layer/name.coffee":19,"./layer/position_channels.coffee":20,"coffeescript-module":48}],14:[function(require,module,exports){ },{"./layer/blend_modes.coffee":15,"./layer/blending_ranges.coffee":16,"./layer/helpers.coffee":17,"./layer/info.coffee":18,"./layer/mask.coffee":19,"./layer/name.coffee":20,"./layer/position_channels.coffee":21,"coffeescript-module":49}],15:[function(require,module,exports){
var BlendMode; var BlendMode;
BlendMode = require('../blend_mode.coffee'); BlendMode = require('../blend_mode.coffee');
...@@ -933,7 +975,7 @@ module.exports = { ...@@ -933,7 +975,7 @@ module.exports = {
}; };
},{"../blend_mode.coffee":3}],15:[function(require,module,exports){ },{"../blend_mode.coffee":3}],16:[function(require,module,exports){
module.exports = { module.exports = {
parseBlendingRanges: function() { parseBlendingRanges: function() {
var i, length, numChannels, _i, _results; var i, length, numChannels, _i, _results;
...@@ -968,7 +1010,7 @@ module.exports = { ...@@ -968,7 +1010,7 @@ module.exports = {
}; };
},{}],16:[function(require,module,exports){ },{}],17:[function(require,module,exports){
module.exports = { module.exports = {
isFolder: function() { isFolder: function() {
if (this.adjustments['sectionDivider'] != null) { if (this.adjustments['sectionDivider'] != null) {
...@@ -991,7 +1033,7 @@ module.exports = { ...@@ -991,7 +1033,7 @@ module.exports = {
}; };
},{}],17:[function(require,module,exports){ },{}],18:[function(require,module,exports){
var LAYER_INFO, LazyExecute, Util, var LAYER_INFO, LazyExecute, Util,
__hasProp = {}.hasOwnProperty; __hasProp = {}.hasOwnProperty;
...@@ -1054,7 +1096,7 @@ module.exports = { ...@@ -1054,7 +1096,7 @@ module.exports = {
}; };
},{"../layer_info/blend_clipping_elements.coffee":22,"../layer_info/blend_interior_elements.coffee":23,"../layer_info/fill_opacity.coffee":24,"../layer_info/gradient_fill.coffee":25,"../layer_info/layer_id.coffee":26,"../layer_info/layer_name_source.coffee":27,"../layer_info/locked.coffee":28,"../layer_info/metadata.coffee":29,"../layer_info/nested_section_divider.coffee":30,"../layer_info/section_divider.coffee":31,"../layer_info/unicode_name.coffee":32,"../lazy_execute.coffee":34,"../util.coffee":46}],18:[function(require,module,exports){ },{"../layer_info/blend_clipping_elements.coffee":23,"../layer_info/blend_interior_elements.coffee":24,"../layer_info/fill_opacity.coffee":25,"../layer_info/gradient_fill.coffee":26,"../layer_info/layer_id.coffee":27,"../layer_info/layer_name_source.coffee":28,"../layer_info/locked.coffee":29,"../layer_info/metadata.coffee":30,"../layer_info/nested_section_divider.coffee":31,"../layer_info/section_divider.coffee":32,"../layer_info/unicode_name.coffee":33,"../lazy_execute.coffee":35,"../util.coffee":47}],19:[function(require,module,exports){
var Mask; var Mask;
Mask = require('../mask.coffee'); Mask = require('../mask.coffee');
...@@ -1066,7 +1108,7 @@ module.exports = { ...@@ -1066,7 +1108,7 @@ module.exports = {
}; };
},{"../mask.coffee":35}],19:[function(require,module,exports){ },{"../mask.coffee":36}],20:[function(require,module,exports){
var Util; var Util;
Util = require('../util.coffee'); Util = require('../util.coffee');
...@@ -1080,7 +1122,7 @@ module.exports = { ...@@ -1080,7 +1122,7 @@ module.exports = {
}; };
},{"../util.coffee":46}],20:[function(require,module,exports){ },{"../util.coffee":47}],21:[function(require,module,exports){
module.exports = { module.exports = {
parsePositionAndChannels: function() { parsePositionAndChannels: function() {
var i, id, length, _i, _ref, _results; var i, id, length, _i, _ref, _results;
...@@ -1105,7 +1147,7 @@ module.exports = { ...@@ -1105,7 +1147,7 @@ module.exports = {
}; };
},{}],21:[function(require,module,exports){ },{}],22:[function(require,module,exports){
var LayerInfo; var LayerInfo;
module.exports = LayerInfo = (function() { module.exports = LayerInfo = (function() {
...@@ -1130,7 +1172,7 @@ module.exports = LayerInfo = (function() { ...@@ -1130,7 +1172,7 @@ module.exports = LayerInfo = (function() {
})(); })();
},{}],22:[function(require,module,exports){ },{}],23:[function(require,module,exports){
var BlendClippingElements, LayerInfo, var BlendClippingElements, LayerInfo,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1158,7 +1200,7 @@ module.exports = BlendClippingElements = (function(_super) { ...@@ -1158,7 +1200,7 @@ module.exports = BlendClippingElements = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],23:[function(require,module,exports){ },{"../layer_info.coffee":22}],24:[function(require,module,exports){
var BlendInteriorElements, LayerInfo, var BlendInteriorElements, LayerInfo,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1186,7 +1228,7 @@ module.exports = BlendInteriorElements = (function(_super) { ...@@ -1186,7 +1228,7 @@ module.exports = BlendInteriorElements = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],24:[function(require,module,exports){ },{"../layer_info.coffee":22}],25:[function(require,module,exports){
var FillOpacity, LayerInfo, var FillOpacity, LayerInfo,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1213,7 +1255,7 @@ module.exports = FillOpacity = (function(_super) { ...@@ -1213,7 +1255,7 @@ module.exports = FillOpacity = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],25:[function(require,module,exports){ },{"../layer_info.coffee":22}],26:[function(require,module,exports){
var Descriptor, GradientFill, LayerInfo, var Descriptor, GradientFill, LayerInfo,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1243,7 +1285,7 @@ module.exports = GradientFill = (function(_super) { ...@@ -1243,7 +1285,7 @@ module.exports = GradientFill = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../descriptor.coffee":4,"../layer_info.coffee":21}],26:[function(require,module,exports){ },{"../descriptor.coffee":4,"../layer_info.coffee":22}],27:[function(require,module,exports){
var LayerId, LayerInfo, var LayerId, LayerInfo,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1270,7 +1312,7 @@ module.exports = LayerId = (function(_super) { ...@@ -1270,7 +1312,7 @@ module.exports = LayerId = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],27:[function(require,module,exports){ },{"../layer_info.coffee":22}],28:[function(require,module,exports){
var LayerInfo, LayerNameSource, var LayerInfo, LayerNameSource,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1297,7 +1339,7 @@ module.exports = LayerNameSource = (function(_super) { ...@@ -1297,7 +1339,7 @@ module.exports = LayerNameSource = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],28:[function(require,module,exports){ },{"../layer_info.coffee":22}],29:[function(require,module,exports){
var LayerInfo, Locked, var LayerInfo, Locked,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1307,14 +1349,18 @@ LayerInfo = require('../layer_info.coffee'); ...@@ -1307,14 +1349,18 @@ LayerInfo = require('../layer_info.coffee');
module.exports = Locked = (function(_super) { module.exports = Locked = (function(_super) {
__extends(Locked, _super); __extends(Locked, _super);
function Locked() {
return Locked.__super__.constructor.apply(this, arguments);
}
Locked.shouldParse = function(key) { Locked.shouldParse = function(key) {
return key === 'lspf'; return key === 'lspf';
}; };
function Locked(layer, length) {
Locked.__super__.constructor.call(this, layer, length);
this.transparencyLocked = false;
this.compositeLocked = false;
this.positionLocked = false;
this.allLocked = false;
}
Locked.prototype.parse = function() { Locked.prototype.parse = function() {
var locked; var locked;
locked = this.file.readInt(); locked = this.file.readInt();
...@@ -1329,7 +1375,7 @@ module.exports = Locked = (function(_super) { ...@@ -1329,7 +1375,7 @@ module.exports = Locked = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],29:[function(require,module,exports){ },{"../layer_info.coffee":22}],30:[function(require,module,exports){
var Descriptor, LayerInfo, Metadata, var Descriptor, LayerInfo, Metadata,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1378,7 +1424,7 @@ module.exports = Metadata = (function(_super) { ...@@ -1378,7 +1424,7 @@ module.exports = Metadata = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../descriptor.coffee":4,"../layer_info.coffee":21}],30:[function(require,module,exports){ },{"../descriptor.coffee":4,"../layer_info.coffee":22}],31:[function(require,module,exports){
var LayerInfo, NestedSectionDivider, var LayerInfo, NestedSectionDivider,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1415,7 +1461,7 @@ module.exports = NestedSectionDivider = (function(_super) { ...@@ -1415,7 +1461,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],31:[function(require,module,exports){ },{"../layer_info.coffee":22}],32:[function(require,module,exports){
var LayerInfo, NestedSectionDivider, var LayerInfo, NestedSectionDivider,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1470,7 +1516,7 @@ module.exports = NestedSectionDivider = (function(_super) { ...@@ -1470,7 +1516,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],32:[function(require,module,exports){ },{"../layer_info.coffee":22}],33:[function(require,module,exports){
var LayerInfo, UnicodeName, var LayerInfo, UnicodeName,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1501,7 +1547,7 @@ module.exports = UnicodeName = (function(_super) { ...@@ -1501,7 +1547,7 @@ module.exports = UnicodeName = (function(_super) {
})(LayerInfo); })(LayerInfo);
},{"../layer_info.coffee":21}],33:[function(require,module,exports){ },{"../layer_info.coffee":22}],34:[function(require,module,exports){
var Layer, LayerMask, Util, _; var Layer, LayerMask, Util, _;
_ = require('lodash'); _ = require('lodash');
...@@ -1576,7 +1622,7 @@ module.exports = LayerMask = (function() { ...@@ -1576,7 +1622,7 @@ module.exports = LayerMask = (function() {
})(); })();
},{"./layer.coffee":13,"./util.coffee":46,"lodash":51}],34:[function(require,module,exports){ },{"./layer.coffee":14,"./util.coffee":47,"lodash":52}],35:[function(require,module,exports){
var LazyExecute, var LazyExecute,
__slice = [].slice, __slice = [].slice,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
...@@ -1653,7 +1699,7 @@ module.exports = LazyExecute = (function() { ...@@ -1653,7 +1699,7 @@ module.exports = LazyExecute = (function() {
})(); })();
},{}],35:[function(require,module,exports){ },{}],36:[function(require,module,exports){
var Mask; var Mask;
module.exports = Mask = (function() { module.exports = Mask = (function() {
...@@ -1710,7 +1756,7 @@ module.exports = Mask = (function() { ...@@ -1710,7 +1756,7 @@ module.exports = Mask = (function() {
})(); })();
},{}],36:[function(require,module,exports){ },{}],37:[function(require,module,exports){
var Module, Node, _, var Module, Node, _,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -1899,7 +1945,7 @@ module.exports = Node = (function(_super) { ...@@ -1899,7 +1945,7 @@ module.exports = Node = (function(_super) {
})(Module); })(Module);
},{"./nodes/ancestry.coffee":37,"./nodes/search.coffee":41,"coffeescript-module":48,"lodash":51}],37:[function(require,module,exports){ },{"./nodes/ancestry.coffee":38,"./nodes/search.coffee":42,"coffeescript-module":49,"lodash":52}],38:[function(require,module,exports){
var _; var _;
_ = require('lodash'); _ = require('lodash');
...@@ -1985,7 +2031,7 @@ module.exports = { ...@@ -1985,7 +2031,7 @@ module.exports = {
}; };
},{"lodash":51}],38:[function(require,module,exports){ },{"lodash":52}],39:[function(require,module,exports){
var Group, Node, _, var Group, Node, _,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -2037,7 +2083,7 @@ module.exports = Group = (function(_super) { ...@@ -2037,7 +2083,7 @@ module.exports = Group = (function(_super) {
})(Node); })(Node);
},{"../node.coffee":36,"lodash":51}],39:[function(require,module,exports){ },{"../node.coffee":37,"lodash":52}],40:[function(require,module,exports){
var Layer, Node, _, var Layer, Node, _,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -2072,7 +2118,7 @@ module.exports = Layer = (function(_super) { ...@@ -2072,7 +2118,7 @@ module.exports = Layer = (function(_super) {
})(Node); })(Node);
},{"../node.coffee":36,"lodash":51}],40:[function(require,module,exports){ },{"../node.coffee":37,"lodash":52}],41:[function(require,module,exports){
var Group, Layer, Node, Root, _, var Group, Layer, Node, Root, _,
__hasProp = {}.hasOwnProperty, __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
...@@ -2128,6 +2174,7 @@ module.exports = Root = (function(_super) { ...@@ -2128,6 +2174,7 @@ module.exports = Root = (function(_super) {
}; };
Root.prototype["export"] = function() { Root.prototype["export"] = function() {
var _ref;
return { return {
children: this._children.map(function(c) { children: this._children.map(function(c) {
return c["export"](); return c["export"]();
...@@ -2136,7 +2183,7 @@ module.exports = Root = (function(_super) { ...@@ -2136,7 +2183,7 @@ module.exports = Root = (function(_super) {
width: this.width, width: this.width,
height: this.height, height: this.height,
resources: { resources: {
layerComps: this.psd.resources.resource('layerComps')["export"](), layerComps: ((_ref = this.psd.resources.resource('layerComps')) != null ? _ref["export"]() : void 0) || [],
guides: [], guides: [],
slices: [] slices: []
} }
...@@ -2170,7 +2217,7 @@ module.exports = Root = (function(_super) { ...@@ -2170,7 +2217,7 @@ module.exports = Root = (function(_super) {
})(Node); })(Node);
},{"../node.coffee":36,"./group.coffee":38,"./layer.coffee":39,"lodash":51}],41:[function(require,module,exports){ },{"../node.coffee":37,"./group.coffee":39,"./layer.coffee":40,"lodash":52}],42:[function(require,module,exports){
var _; var _;
_ = require('lodash'); _ = require('lodash');
...@@ -2206,7 +2253,7 @@ module.exports = { ...@@ -2206,7 +2253,7 @@ module.exports = {
}; };
},{"lodash":51}],42:[function(require,module,exports){ },{"lodash":52}],43:[function(require,module,exports){
var Resource, Util; var Resource, Util;
Util = require('./util.coffee'); Util = require('./util.coffee');
...@@ -2235,7 +2282,7 @@ module.exports = Resource = (function() { ...@@ -2235,7 +2282,7 @@ module.exports = Resource = (function() {
})(); })();
},{"./resource_section.coffee":43,"./util.coffee":46}],43:[function(require,module,exports){ },{"./resource_section.coffee":44,"./util.coffee":47}],44:[function(require,module,exports){
var ResourceSection, _; var ResourceSection, _;
_ = require('lodash'); _ = require('lodash');
...@@ -2266,7 +2313,7 @@ module.exports = ResourceSection = (function() { ...@@ -2266,7 +2313,7 @@ module.exports = ResourceSection = (function() {
})(); })();
},{"./resources/layer_comps.coffee":45,"lodash":51}],44:[function(require,module,exports){ },{"./resources/layer_comps.coffee":46,"lodash":52}],45:[function(require,module,exports){
var Resource, Resources; var Resource, Resources;
Resource = require('./resource.coffee'); Resource = require('./resource.coffee');
...@@ -2323,7 +2370,7 @@ module.exports = Resources = (function() { ...@@ -2323,7 +2370,7 @@ module.exports = Resources = (function() {
})(); })();
},{"./resource.coffee":42}],45:[function(require,module,exports){ },{"./resource.coffee":43}],46:[function(require,module,exports){
var Descriptor, LayerComps; var Descriptor, LayerComps;
Descriptor = require('../descriptor.coffee'); Descriptor = require('../descriptor.coffee');
...@@ -2376,7 +2423,7 @@ module.exports = LayerComps = (function() { ...@@ -2376,7 +2423,7 @@ module.exports = LayerComps = (function() {
})(); })();
},{"../descriptor.coffee":4}],46:[function(require,module,exports){ },{"../descriptor.coffee":4}],47:[function(require,module,exports){
var Util; var Util;
module.exports = Util = (function() { module.exports = Util = (function() {
...@@ -2407,7 +2454,7 @@ module.exports = Util = (function() { ...@@ -2407,7 +2454,7 @@ module.exports = Util = (function() {
})(); })();
},{}],47:[function(require,module,exports){ },{}],48:[function(require,module,exports){
// shim for using process in browser // shim for using process in browser
var process = module.exports = {}; var process = module.exports = {};
...@@ -2455,8 +2502,11 @@ process.argv = []; ...@@ -2455,8 +2502,11 @@ process.argv = [];
function noop() {} function noop() {}
process.on = noop; process.on = noop;
process.addListener = noop;
process.once = noop; process.once = noop;
process.off = noop; process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop; process.emit = noop;
process.binding = function (name) { process.binding = function (name) {
...@@ -2469,9 +2519,9 @@ process.chdir = function (dir) { ...@@ -2469,9 +2519,9 @@ process.chdir = function (dir) {
throw new Error('process.chdir is not supported'); throw new Error('process.chdir is not supported');
}; };
},{}],48:[function(require,module,exports){ },{}],49:[function(require,module,exports){
module.exports = require('./module'); module.exports = require('./module');
},{"./module":49}],49:[function(require,module,exports){ },{"./module":50}],50:[function(require,module,exports){
// Generated by CoffeeScript 1.7.1 // Generated by CoffeeScript 1.7.1
var Module, moduleKeywords, var Module, moduleKeywords,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
...@@ -2551,7 +2601,7 @@ exports.Module = Module = (function() { ...@@ -2551,7 +2601,7 @@ exports.Module = Module = (function() {
})(); })();
},{}],50:[function(require,module,exports){ },{}],51:[function(require,module,exports){
/*! /*!
* Copyright © 2008 Fair Oaks Labs, Inc. * Copyright © 2008 Fair Oaks Labs, Inc.
* All rights reserved. * All rights reserved.
...@@ -2807,7 +2857,7 @@ function JSPack() ...@@ -2807,7 +2857,7 @@ function JSPack()
exports.jspack = new JSPack(); exports.jspack = new JSPack();
},{}],51:[function(require,module,exports){ },{}],52:[function(require,module,exports){
(function (global){ (function (global){
/** /**
* @license * @license
...@@ -9596,7 +9646,7 @@ exports.jspack = new JSPack(); ...@@ -9596,7 +9646,7 @@ exports.jspack = new JSPack();
}.call(this)); }.call(this));
}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],52:[function(require,module,exports){ },{}],53:[function(require,module,exports){
"use strict"; "use strict";
var Promise = require("./rsvp/promise")["default"]; var Promise = require("./rsvp/promise")["default"];
var EventTarget = require("./rsvp/events")["default"]; var EventTarget = require("./rsvp/events")["default"];
...@@ -9659,11 +9709,243 @@ exports.reject = reject; ...@@ -9659,11 +9709,243 @@ exports.reject = reject;
exports.async = async; exports.async = async;
exports.map = map; exports.map = map;
exports.filter = filter; exports.filter = filter;
},{"./rsvp/all":54,"./rsvp/all-settled":53,"./rsvp/asap":55,"./rsvp/config":56,"./rsvp/defer":57,"./rsvp/events":58,"./rsvp/filter":59,"./rsvp/hash":61,"./rsvp/hash-settled":60,"./rsvp/map":63,"./rsvp/node":64,"./rsvp/promise":65,"./rsvp/race":71,"./rsvp/reject":72,"./rsvp/resolve":73,"./rsvp/rethrow":74}],53:[function(require,module,exports){ },{"./rsvp/all":56,"./rsvp/all-settled":55,"./rsvp/asap":57,"./rsvp/config":58,"./rsvp/defer":59,"./rsvp/events":61,"./rsvp/filter":62,"./rsvp/hash":64,"./rsvp/hash-settled":63,"./rsvp/map":66,"./rsvp/node":67,"./rsvp/promise":69,"./rsvp/race":75,"./rsvp/reject":76,"./rsvp/resolve":77,"./rsvp/rethrow":78}],54:[function(require,module,exports){
'use strict';
var objectOrFunction = require('./utils').objectOrFunction;
var isFunction = require('./utils').isFunction;
var now = require('./utils').now;
var instrument = require('./instrument')['default'];
var config = require('./config').config;
function noop() {
}
var PENDING = void 0;
var FULFILLED = 1;
var REJECTED = 2;
var GET_THEN_ERROR = new ErrorObject();
function getThen(promise) {
try {
return promise.then;
} catch (error) {
GET_THEN_ERROR.error = error;
return GET_THEN_ERROR;
}
}
function tryThen(then, value, fulfillmentHandler, rejectionHandler) {
try {
then.call(value, fulfillmentHandler, rejectionHandler);
} catch (e) {
return e;
}
}
function handleForeignThenable(promise, thenable, then) {
config.async(function (promise$2) {
var sealed = false;
var error = tryThen(then, thenable, function (value) {
if (sealed) {
return;
}
sealed = true;
if (thenable !== value) {
resolve(promise$2, value);
} else {
fulfill(promise$2, value);
}
}, function (reason) {
if (sealed) {
return;
}
sealed = true;
reject(promise$2, reason);
}, 'Settle: ' + (promise$2._label || ' unknown promise'));
if (!sealed && error) {
sealed = true;
reject(promise$2, error);
}
}, promise);
}
function handleOwnThenable(promise, thenable) {
promise._onerror = null;
if (thenable._state === FULFILLED) {
fulfill(promise, thenable._result);
} else if (promise._state === REJECTED) {
reject(promise, thenable._result);
} else {
subscribe(thenable, undefined, function (value) {
if (thenable !== value) {
resolve(promise, value);
} else {
fulfill(promise, value);
}
}, function (reason) {
reject(promise, reason);
});
}
}
function handleMaybeThenable(promise, maybeThenable) {
if (maybeThenable instanceof promise.constructor) {
handleOwnThenable(promise, maybeThenable);
} else {
var then = getThen(maybeThenable);
if (then === GET_THEN_ERROR) {
reject(promise, GET_THEN_ERROR.error);
} else if (then === undefined) {
fulfill(promise, maybeThenable);
} else if (isFunction(then)) {
handleForeignThenable(promise, maybeThenable, then);
} else {
fulfill(promise, maybeThenable);
}
}
}
function resolve(promise, value) {
if (promise === value) {
fulfill(promise, value);
} else if (objectOrFunction(value)) {
handleMaybeThenable(promise, value);
} else {
fulfill(promise, value);
}
}
function publishRejection(promise) {
if (promise._onerror) {
promise._onerror(promise._result);
}
publish(promise);
}
function fulfill(promise, value) {
if (promise._state !== PENDING) {
return;
}
promise._result = value;
promise._state = FULFILLED;
if (promise._subscribers.length === 0) {
if (config.instrument) {
instrument('fulfilled', promise);
}
} else {
config.async(publish, promise);
}
}
function reject(promise, reason) {
if (promise._state !== PENDING) {
return;
}
promise._state = REJECTED;
promise._result = reason;
config.async(publishRejection, promise);
}
function subscribe(parent, child, onFulfillment, onRejection) {
var subscribers = parent._subscribers;
var length = subscribers.length;
parent._onerror = null;
subscribers[length] = child;
subscribers[length + FULFILLED] = onFulfillment;
subscribers[length + REJECTED] = onRejection;
if (length === 0 && parent._state) {
config.async(publish, parent);
}
}
function publish(promise) {
var subscribers = promise._subscribers;
var settled = promise._state;
if (config.instrument) {
instrument(settled === FULFILLED ? 'fulfilled' : 'rejected', promise);
}
if (subscribers.length === 0) {
return;
}
var child, callback, detail = promise._result;
for (var i = 0; i < subscribers.length; i += 3) {
child = subscribers[i];
callback = subscribers[i + settled];
if (child) {
invokeCallback(settled, child, callback, detail);
} else {
callback(detail);
}
}
promise._subscribers.length = 0;
}
function ErrorObject() {
this.error = null;
}
var TRY_CATCH_ERROR = new ErrorObject();
function tryCatch(callback, detail) {
try {
return callback(detail);
} catch (e) {
TRY_CATCH_ERROR.error = e;
return TRY_CATCH_ERROR;
}
}
function invokeCallback(settled, promise, callback, detail) {
var hasCallback = isFunction(callback), value, error, succeeded, failed;
if (hasCallback) {
value = tryCatch(callback, detail);
if (value === TRY_CATCH_ERROR) {
failed = true;
error = value.error;
value = null;
} else {
succeeded = true;
}
if (promise === value) {
reject(promise, new TypeError('A promises callback cannot return that same promise.'));
return;
}
} else {
value = detail;
succeeded = true;
}
if (promise._state !== PENDING) {
} // noop
else if (hasCallback && succeeded) {
resolve(promise, value);
} else if (failed) {
reject(promise, error);
} else if (settled === FULFILLED) {
fulfill(promise, value);
} else if (settled === REJECTED) {
reject(promise, value);
}
}
function initializePromise(promise, resolver) {
try {
resolver(function resolvePromise(value) {
resolve(promise, value);
}, function rejectPromise(reason) {
reject(promise, reason);
});
} catch (e) {
reject(promise, e);
}
}
exports.noop = noop;
exports.resolve = resolve;
exports.reject = reject;
exports.fulfill = fulfill;
exports.subscribe = subscribe;
exports.publish = publish;
exports.publishRejection = publishRejection;
exports.initializePromise = initializePromise;
exports.invokeCallback = invokeCallback;
exports.FULFILLED = FULFILLED;
exports.REJECTED = REJECTED;
},{"./config":58,"./instrument":65,"./utils":79}],55:[function(require,module,exports){
'use strict'; 'use strict';
var Enumerator = require('./enumerator')['default'];
var makeSettledResult = require('./enumerator').makeSettledResult;
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
var isArray = require('./utils').isArray; var o_create = require('./utils').o_create;
var isNonThenable = require('./utils').isNonThenable; function AllSettled(Constructor, entries, label) {
this._superConstructor(Constructor, entries, false, label);
}
AllSettled.prototype = o_create(Enumerator.prototype);
AllSettled.prototype._superConstructor = Enumerator;
AllSettled.prototype._makeResult = makeSettledResult;
AllSettled.prototype._validationError = function () {
return new Error('allSettled must be called with an array');
};
/** /**
`RSVP.allSettled` is similar to `RSVP.all`, but instead of implementing `RSVP.allSettled` is similar to `RSVP.all`, but instead of implementing
a fail-fast method, it waits until all the promises have returned and a fail-fast method, it waits until all the promises have returned and
...@@ -9716,56 +9998,9 @@ var isNonThenable = require('./utils').isNonThenable; ...@@ -9716,56 +9998,9 @@ var isNonThenable = require('./utils').isNonThenable;
states of the constituent promises. states of the constituent promises.
*/ */
exports['default'] = function allSettled(entries, label) { exports['default'] = function allSettled(entries, label) {
return new Promise(function (resolve, reject) { return new AllSettled(Promise, entries, label).promise;
if (!isArray(entries)) {
throw new TypeError('You must pass an array to allSettled.');
}
var remaining = entries.length;
var entry;
if (remaining === 0) {
resolve([]);
return;
}
var results = new Array(remaining);
function fulfilledResolver(index$2) {
return function (value) {
resolveAll(index$2, fulfilled(value));
};
}
function rejectedResolver(index$2) {
return function (reason) {
resolveAll(index$2, rejected(reason));
};
}
function resolveAll(index$2, value) {
results[index$2] = value;
if (--remaining === 0) {
resolve(results);
}
}
for (var index = 0; index < entries.length; index++) {
entry = entries[index];
if (isNonThenable(entry)) {
resolveAll(index, fulfilled(entry));
} else {
Promise.resolve(entry).then(fulfilledResolver(index), rejectedResolver(index));
}
}
}, label);
}; };
function fulfilled(value) { },{"./enumerator":60,"./promise":69,"./utils":79}],56:[function(require,module,exports){
return {
state: 'fulfilled',
value: value
};
}
function rejected(reason) {
return {
state: 'rejected',
reason: reason
};
}
},{"./promise":65,"./utils":75}],54:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
/** /**
...@@ -9781,15 +10016,15 @@ var Promise = require('./promise')['default']; ...@@ -9781,15 +10016,15 @@ var Promise = require('./promise')['default'];
exports['default'] = function all(array, label) { exports['default'] = function all(array, label) {
return Promise.all(array, label); return Promise.all(array, label);
}; };
},{"./promise":65}],55:[function(require,module,exports){ },{"./promise":69}],57:[function(require,module,exports){
(function (process){ (function (process){
'use strict'; 'use strict';
var length = 0;
exports['default'] = function asap(callback, arg) { exports['default'] = function asap(callback, arg) {
var length = queue.push([ queue[length] = callback;
callback, queue[length + 1] = arg;
arg length += 2;
]); if (length === 2) {
if (length === 1) {
// If length is 1, that means that we need to schedule an async flush. // If length is 1, that means that we need to schedule an async flush.
// If additional callbacks are queued before the queue is flushed, they // If additional callbacks are queued before the queue is flushed, they
// will be processed by this flush that we are scheduling. // will be processed by this flush that we are scheduling.
...@@ -9798,6 +10033,8 @@ exports['default'] = function asap(callback, arg) { ...@@ -9798,6 +10033,8 @@ exports['default'] = function asap(callback, arg) {
}; };
var browserGlobal = typeof window !== 'undefined' ? window : {}; var browserGlobal = typeof window !== 'undefined' ? window : {};
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
// test for web worker but not in IE10
var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';
// node // node
function useNextTick() { function useNextTick() {
return function () { return function () {
...@@ -9813,19 +10050,29 @@ function useMutationObserver() { ...@@ -9813,19 +10050,29 @@ function useMutationObserver() {
node.data = iterations = ++iterations % 2; node.data = iterations = ++iterations % 2;
}; };
} }
// web worker
function useMessageChannel() {
var channel = new MessageChannel();
channel.port1.onmessage = flush;
return function () {
channel.port2.postMessage(0);
};
}
function useSetTimeout() { function useSetTimeout() {
return function () { return function () {
setTimeout(flush, 1); setTimeout(flush, 1);
}; };
} }
var queue = []; var queue = new Array(1000);
function flush() { function flush() {
for (var i = 0; i < queue.length; i++) { for (var i = 0; i < length; i += 2) {
var tuple = queue[i]; var callback = queue[i];
var callback = tuple[0], arg = tuple[1]; var arg = queue[i + 1];
callback(arg); callback(arg);
queue[i] = undefined;
queue[i + 1] = undefined;
} }
queue.length = 0; length = 0;
} }
var scheduleFlush; var scheduleFlush;
// Decide what async method to use to triggering processing of queued callbacks: // Decide what async method to use to triggering processing of queued callbacks:
...@@ -9833,11 +10080,13 @@ if (typeof process !== 'undefined' && {}.toString.call(process) === '[object pro ...@@ -9833,11 +10080,13 @@ if (typeof process !== 'undefined' && {}.toString.call(process) === '[object pro
scheduleFlush = useNextTick(); scheduleFlush = useNextTick();
} else if (BrowserMutationObserver) { } else if (BrowserMutationObserver) {
scheduleFlush = useMutationObserver(); scheduleFlush = useMutationObserver();
} else if (isWorker) {
scheduleFlush = useMessageChannel();
} else { } else {
scheduleFlush = useSetTimeout(); scheduleFlush = useSetTimeout();
} }
}).call(this,require("/Users/ryanlefevre/Repositories/psd.js/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js")) }).call(this,require("FWaASH"))
},{"/Users/ryanlefevre/Repositories/psd.js/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":47}],56:[function(require,module,exports){ },{"FWaASH":48}],58:[function(require,module,exports){
'use strict'; 'use strict';
var EventTarget = require('./events')['default']; var EventTarget = require('./events')['default'];
var config = { instrument: false }; var config = { instrument: false };
...@@ -9858,7 +10107,7 @@ function configure(name, value) { ...@@ -9858,7 +10107,7 @@ function configure(name, value) {
} }
exports.config = config; exports.config = config;
exports.configure = configure; exports.configure = configure;
},{"./events":58}],57:[function(require,module,exports){ },{"./events":61}],59:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
/** /**
...@@ -9901,7 +10150,113 @@ exports['default'] = function defer(label) { ...@@ -9901,7 +10150,113 @@ exports['default'] = function defer(label) {
}, label); }, label);
return deferred; return deferred;
}; };
},{"./promise":65}],58:[function(require,module,exports){ },{"./promise":69}],60:[function(require,module,exports){
'use strict';
var isArray = require('./utils').isArray;
var isMaybeThenable = require('./utils').isMaybeThenable;
var noop = require('./-internal').noop;
var reject = require('./-internal').reject;
var fulfill = require('./-internal').fulfill;
var subscribe = require('./-internal').subscribe;
var FULFILLED = require('./-internal').FULFILLED;
var REJECTED = require('./-internal').REJECTED;
var PENDING = require('./-internal').PENDING;
var ABORT_ON_REJECTION = true;
exports.ABORT_ON_REJECTION = ABORT_ON_REJECTION;
function makeSettledResult(state, position, value) {
if (state === FULFILLED) {
return {
state: 'fulfilled',
value: value
};
} else {
return {
state: 'rejected',
reason: value
};
}
}
exports.makeSettledResult = makeSettledResult;
function Enumerator(Constructor, input, abortOnReject, label) {
this._instanceConstructor = Constructor;
this.promise = new Constructor(noop, label);
this._abortOnReject = abortOnReject;
if (this._validateInput(input)) {
this._input = input;
this.length = input.length;
this._remaining = input.length;
this._init();
if (this.length === 0) {
fulfill(this.promise, this._result);
} else {
this.length = this.length || 0;
this._enumerate();
if (this._remaining === 0) {
fulfill(this.promise, this._result);
}
}
} else {
reject(this.promise, this._validationError());
}
}
Enumerator.prototype._validateInput = function (input) {
return isArray(input);
};
Enumerator.prototype._validationError = function () {
return new Error('Array Methods must be provided an Array');
};
Enumerator.prototype._init = function () {
this._result = new Array(this.length);
};
exports['default'] = Enumerator;
Enumerator.prototype._enumerate = function () {
var length = this.length;
var promise = this.promise;
var input = this._input;
for (var i = 0; promise._state === PENDING && i < length; i++) {
this._eachEntry(input[i], i);
}
};
Enumerator.prototype._eachEntry = function (entry, i) {
var c = this._instanceConstructor;
if (isMaybeThenable(entry)) {
if (entry.constructor === c && entry._state !== PENDING) {
entry._onerror = null;
this._settledAt(entry._state, i, entry._result);
} else {
this._willSettleAt(c.resolve(entry), i);
}
} else {
this._remaining--;
this._result[i] = this._makeResult(FULFILLED, i, entry);
}
};
Enumerator.prototype._settledAt = function (state, i, value) {
var promise = this.promise;
if (promise._state === PENDING) {
this._remaining--;
if (this._abortOnReject && state === REJECTED) {
reject(promise, value);
} else {
this._result[i] = this._makeResult(state, i, value);
}
}
if (this._remaining === 0) {
fulfill(promise, this._result);
}
};
Enumerator.prototype._makeResult = function (state, i, value) {
return value;
};
Enumerator.prototype._willSettleAt = function (promise, i) {
var enumerator = this;
subscribe(promise, undefined, function (value) {
enumerator._settledAt(FULFILLED, i, value);
}, function (reason) {
enumerator._settledAt(REJECTED, i, reason);
});
};
},{"./-internal":54,"./utils":79}],61:[function(require,module,exports){
'use strict'; 'use strict';
function indexOf(callbacks, callback) { function indexOf(callbacks, callback) {
for (var i = 0, l = callbacks.length; i < l; i++) { for (var i = 0, l = callbacks.length; i < l; i++) {
...@@ -9962,10 +10317,11 @@ exports['default'] = { ...@@ -9962,10 +10317,11 @@ exports['default'] = {
} }
} }
}; };
},{}],59:[function(require,module,exports){ },{}],62:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
var isFunction = require('./utils').isFunction; var isFunction = require('./utils').isFunction;
var isMaybeThenable = require('./utils').isMaybeThenable;
/** /**
`RSVP.filter` is similar to JavaScript's native `filter` method, except that it `RSVP.filter` is similar to JavaScript's native `filter` method, except that it
waits for all promises to become fulfilled before running the `filterFn` on waits for all promises to become fulfilled before running the `filterFn` on
...@@ -9981,6 +10337,8 @@ var isFunction = require('./utils').isFunction; ...@@ -9981,6 +10337,8 @@ var isFunction = require('./utils').isFunction;
var promise2 = RSVP.resolve(2); var promise2 = RSVP.resolve(2);
var promise3 = RSVP.resolve(3); var promise3 = RSVP.resolve(3);
var promises = [promise1, promise2, promise3];
var filterFn = function(item){ var filterFn = function(item){
return item > 1; return item > 1;
}; };
...@@ -10063,7 +10421,7 @@ exports['default'] = function filter(promises, filterFn, label) { ...@@ -10063,7 +10421,7 @@ exports['default'] = function filter(promises, filterFn, label) {
var results = new Array(length); var results = new Array(length);
var newLength = 0; var newLength = 0;
for (var i$2 = 0; i$2 < length; i$2++) { for (var i$2 = 0; i$2 < length; i$2++) {
if (filtered$2[i$2] === true) { if (filtered$2[i$2]) {
results[newLength] = values[i$2]; results[newLength] = values[i$2];
newLength++; newLength++;
} }
...@@ -10073,11 +10431,22 @@ exports['default'] = function filter(promises, filterFn, label) { ...@@ -10073,11 +10431,22 @@ exports['default'] = function filter(promises, filterFn, label) {
}); });
}); });
}; };
},{"./promise":65,"./utils":75}],60:[function(require,module,exports){ },{"./promise":69,"./utils":79}],63:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
var isNonThenable = require('./utils').isNonThenable; var makeSettledResult = require('./enumerator').makeSettledResult;
var keysOf = require('./utils').keysOf; var PromiseHash = require('./promise-hash')['default'];
var Enumerator = require('./enumerator')['default'];
var o_create = require('./utils').o_create;
function HashSettled(Constructor, object, label) {
this._superConstructor(Constructor, object, false, label);
}
HashSettled.prototype = o_create(PromiseHash.prototype);
HashSettled.prototype._superConstructor = Enumerator;
HashSettled.prototype._makeResult = makeSettledResult;
HashSettled.prototype._validationError = function () {
return new Error('hashSettled must be called with an object');
};
/** /**
`RSVP.hashSettled` is similar to `RSVP.allSettled`, but takes an object `RSVP.hashSettled` is similar to `RSVP.allSettled`, but takes an object
instead of an array for its `promises` argument. instead of an array for its `promises` argument.
...@@ -10180,59 +10549,13 @@ var keysOf = require('./utils').keysOf; ...@@ -10180,59 +10549,13 @@ var keysOf = require('./utils').keysOf;
@static @static
*/ */
exports['default'] = function hashSettled(object, label) { exports['default'] = function hashSettled(object, label) {
return new Promise(function (resolve, reject) { return new HashSettled(Promise, object, label).promise;
var results = {};
var keys = keysOf(object);
var remaining = keys.length;
var entry, property;
if (remaining === 0) {
resolve(results);
return;
}
function fulfilledResolver(property$2) {
return function (value) {
resolveAll(property$2, fulfilled(value));
};
}
function rejectedResolver(property$2) {
return function (reason) {
resolveAll(property$2, rejected(reason));
};
}
function resolveAll(property$2, value) {
results[property$2] = value;
if (--remaining === 0) {
resolve(results);
}
}
for (var i = 0; i < keys.length; i++) {
property = keys[i];
entry = object[property];
if (isNonThenable(entry)) {
resolveAll(property, fulfilled(entry));
} else {
Promise.resolve(entry).then(fulfilledResolver(property), rejectedResolver(property));
}
}
});
}; };
function fulfilled(value) { },{"./enumerator":60,"./promise":69,"./promise-hash":68,"./utils":79}],64:[function(require,module,exports){
return {
state: 'fulfilled',
value: value
};
}
function rejected(reason) {
return {
state: 'rejected',
reason: reason
};
}
},{"./promise":65,"./utils":75}],61:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
var isNonThenable = require('./utils').isNonThenable; var PromiseHash = require('./promise-hash')['default'];
var keysOf = require('./utils').keysOf; var ABORT_ON_REJECTION = require('./enumerator').ABORT_ON_REJECTION;
/** /**
`RSVP.hash` is similar to `RSVP.all`, but takes an object instead of an array `RSVP.hash` is similar to `RSVP.all`, but takes an object instead of an array
for its `promises` argument. for its `promises` argument.
...@@ -10322,64 +10645,37 @@ var keysOf = require('./utils').keysOf; ...@@ -10322,64 +10645,37 @@ var keysOf = require('./utils').keysOf;
have been fulfilled, or rejected if any of them become rejected. have been fulfilled, or rejected if any of them become rejected.
*/ */
exports['default'] = function hash(object, label) { exports['default'] = function hash(object, label) {
return new Promise(function (resolve, reject) { return new PromiseHash(Promise, object, label).promise;
var results = {};
var keys = keysOf(object);
var remaining = keys.length;
var entry, property;
if (remaining === 0) {
resolve(results);
return;
}
function fulfilledTo(property$2) {
return function (value) {
results[property$2] = value;
if (--remaining === 0) {
resolve(results);
}
};
}
function onRejection(reason) {
remaining = 0;
reject(reason);
}
for (var i = 0; i < keys.length; i++) {
property = keys[i];
entry = object[property];
if (isNonThenable(entry)) {
results[property] = entry;
if (--remaining === 0) {
resolve(results);
}
} else {
Promise.resolve(entry).then(fulfilledTo(property), onRejection);
}
}
});
}; };
},{"./promise":65,"./utils":75}],62:[function(require,module,exports){ },{"./enumerator":60,"./promise":69,"./promise-hash":68}],65:[function(require,module,exports){
'use strict'; 'use strict';
var config = require('./config').config; var config = require('./config').config;
var now = require('./utils').now; var now = require('./utils').now;
var queue = [];
exports['default'] = function instrument(eventName, promise, child) { exports['default'] = function instrument(eventName, promise, child) {
// instrumentation should not disrupt normal usage. if (1 === queue.push({
try { name: eventName,
config.trigger(eventName, { payload: {
guid: promise._guidKey + promise._id, guid: promise._guidKey + promise._id,
eventName: eventName, eventName: eventName,
detail: promise._detail, detail: promise._result,
childGuid: child && promise._guidKey + child._id, childGuid: child && promise._guidKey + child._id,
label: promise._label, label: promise._label,
timeStamp: now(), timeStamp: now(),
stack: new Error(promise._label).stack stack: new Error(promise._label).stack
}); }
} catch (error) { })) {
setTimeout(function () { setTimeout(function () {
throw error; var entry;
}, 0); for (var i = 0; i < queue.length; i++) {
entry = queue[i];
config.trigger(entry.name, entry.payload);
}
queue.length = 0;
}, 50);
} }
}; };
},{"./config":56,"./utils":75}],63:[function(require,module,exports){ },{"./config":58,"./utils":79}],66:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
var isArray = require('./utils').isArray; var isArray = require('./utils').isArray;
...@@ -10432,7 +10728,7 @@ var isFunction = require('./utils').isFunction; ...@@ -10432,7 +10728,7 @@ var isFunction = require('./utils').isFunction;
`RSVP.map` will also wait if a promise is returned from `mapFn`. For example, `RSVP.map` will also wait if a promise is returned from `mapFn`. For example,
say you want to get all comments from a set of blog posts, but you need say you want to get all comments from a set of blog posts, but you need
the blog posts first becuase they contain a url to those comments. the blog posts first because they contain a url to those comments.
```javscript ```javscript
...@@ -10475,7 +10771,7 @@ exports['default'] = function map(promises, mapFn, label) { ...@@ -10475,7 +10771,7 @@ exports['default'] = function map(promises, mapFn, label) {
return Promise.all(results, label); return Promise.all(results, label);
}); });
}; };
},{"./promise":65,"./utils":75}],64:[function(require,module,exports){ },{"./promise":69,"./utils":79}],67:[function(require,module,exports){
'use strict'; 'use strict';
/* global arraySlice */ /* global arraySlice */
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
...@@ -10619,7 +10915,9 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) { ...@@ -10619,7 +10915,9 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) {
} }
var thisArg; var thisArg;
if (!asArray && !asHash && argumentNames) { if (!asArray && !asHash && argumentNames) {
if (typeof console === 'object') {
console.warn('Deprecation: RSVP.denodeify() doesn\'t allow setting the ' + '"this" binding anymore. Use yourFunction.bind(yourThis) instead.'); console.warn('Deprecation: RSVP.denodeify() doesn\'t allow setting the ' + '"this" binding anymore. Use yourFunction.bind(yourThis) instead.');
}
thisArg = argumentNames; thisArg = argumentNames;
} else { } else {
thisArg = this; thisArg = this;
...@@ -10663,7 +10961,48 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) { ...@@ -10663,7 +10961,48 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) {
denodeifiedFunction.__proto__ = nodeFunc; denodeifiedFunction.__proto__ = nodeFunc;
return denodeifiedFunction; return denodeifiedFunction;
}; };
},{"./promise":65,"./utils":75}],65:[function(require,module,exports){ },{"./promise":69,"./utils":79}],68:[function(require,module,exports){
'use strict';
var Enumerator = require('./enumerator')['default'];
var PENDING = require('./-internal').PENDING;
var FULFILLED = require('./-internal').FULFILLED;
var o_create = require('./utils').o_create;
function PromiseHash(Constructor, object, label) {
this._superConstructor(Constructor, object, true, label);
}
exports['default'] = PromiseHash;
PromiseHash.prototype = o_create(Enumerator.prototype);
PromiseHash.prototype._superConstructor = Enumerator;
PromiseHash.prototype._init = function () {
this._result = {};
};
PromiseHash.prototype._validateInput = function (input) {
return input && typeof input === 'object';
};
PromiseHash.prototype._validationError = function () {
return new Error('Promise.hash must be called with an object');
};
PromiseHash.prototype._enumerate = function () {
var promise = this.promise;
var input = this._input;
var results = [];
for (var key in input) {
if (promise._state === PENDING && input.hasOwnProperty(key)) {
results.push({
position: key,
entry: input[key]
});
}
}
var length = results.length;
this._remaining = length;
var result;
for (var i = 0; promise._state === PENDING && i < length; i++) {
result = results[i];
this._eachEntry(result.entry, result.position);
}
};
},{"./-internal":54,"./enumerator":60,"./utils":79}],69:[function(require,module,exports){
'use strict'; 'use strict';
var config = require('./config').config; var config = require('./config').config;
var EventTarget = require('./events')['default']; var EventTarget = require('./events')['default'];
...@@ -10671,6 +11010,15 @@ var instrument = require('./instrument')['default']; ...@@ -10671,6 +11010,15 @@ var instrument = require('./instrument')['default'];
var objectOrFunction = require('./utils').objectOrFunction; var objectOrFunction = require('./utils').objectOrFunction;
var isFunction = require('./utils').isFunction; var isFunction = require('./utils').isFunction;
var now = require('./utils').now; var now = require('./utils').now;
var noop = require('./-internal').noop;
var resolve = require('./-internal').resolve;
var reject = require('./-internal').reject;
var fulfill = require('./-internal').fulfill;
var subscribe = require('./-internal').subscribe;
var initializePromise = require('./-internal').initializePromise;
var invokeCallback = require('./-internal').invokeCallback;
var FULFILLED = require('./-internal').FULFILLED;
var REJECTED = require('./-internal').REJECTED;
var cast = require('./promise/cast')['default']; var cast = require('./promise/cast')['default'];
var all = require('./promise/all')['default']; var all = require('./promise/all')['default'];
var race = require('./promise/race')['default']; var race = require('./promise/race')['default'];
...@@ -10678,7 +11026,11 @@ var Resolve = require('./promise/resolve')['default']; ...@@ -10678,7 +11026,11 @@ var Resolve = require('./promise/resolve')['default'];
var Reject = require('./promise/reject')['default']; var Reject = require('./promise/reject')['default'];
var guidKey = 'rsvp_' + now() + '-'; var guidKey = 'rsvp_' + now() + '-';
var counter = 0; var counter = 0;
function noop() { function needsResolver() {
throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
}
function needsNew() {
throw new TypeError('Failed to construct \'Promise\': Please use the \'new\' operator, this object constructor cannot be called as a function.');
} }
exports['default'] = Promise; exports['default'] = Promise;
/** /**
...@@ -10751,7 +11103,7 @@ exports['default'] = Promise; ...@@ -10751,7 +11103,7 @@ exports['default'] = Promise;
if (this.status === 200) { if (this.status === 200) {
resolve(this.response); resolve(this.response);
} else { } else {
reject(new Error("getJSON: `" + url + "` failed with status: [" + this.status + "]"); reject(new Error("getJSON: `" + url + "` failed with status: [" + this.status + "]"));
} }
} }
}; };
...@@ -10780,18 +11132,12 @@ exports['default'] = Promise; ...@@ -10780,18 +11132,12 @@ exports['default'] = Promise;
``` ```
@class RSVP.Promise @class RSVP.Promise
@param {function} @param {function} resolver
@param {String} label optional string for labeling the promise. @param {String} label optional string for labeling the promise.
Useful for tooling. Useful for tooling.
@constructor @constructor
*/ */
function Promise(resolver, label) { function Promise(resolver, label) {
if (!isFunction(resolver)) {
throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
}
if (!(this instanceof Promise)) {
throw new TypeError('Failed to construct \'Promise\': Please use the \'new\' operator, this object constructor cannot be called as a function.');
}
this._id = counter++; this._id = counter++;
this._label = label; this._label = label;
this._subscribers = []; this._subscribers = [];
...@@ -10799,20 +11145,13 @@ function Promise(resolver, label) { ...@@ -10799,20 +11145,13 @@ function Promise(resolver, label) {
instrument('created', this); instrument('created', this);
} }
if (noop !== resolver) { if (noop !== resolver) {
invokeResolver(resolver, this); if (!isFunction(resolver)) {
} needsResolver();
}
function invokeResolver(resolver, promise) {
function resolvePromise(value) {
resolve(promise, value);
} }
function rejectPromise(reason) { if (!(this instanceof Promise)) {
reject(promise, reason); needsNew();
} }
try { initializePromise(this, resolver);
resolver(resolvePromise, rejectPromise);
} catch (e) {
rejectPromise(e);
} }
} }
Promise.cast = cast; Promise.cast = cast;
...@@ -10820,56 +11159,41 @@ Promise.all = all; ...@@ -10820,56 +11159,41 @@ Promise.all = all;
Promise.race = race; Promise.race = race;
Promise.resolve = Resolve; Promise.resolve = Resolve;
Promise.reject = Reject; Promise.reject = Reject;
var PENDING = void 0;
var SEALED = 0;
var FULFILLED = 1;
var REJECTED = 2;
function subscribe(parent, child, onFulfillment, onRejection) {
var subscribers = parent._subscribers;
var length = subscribers.length;
subscribers[length] = child;
subscribers[length + FULFILLED] = onFulfillment;
subscribers[length + REJECTED] = onRejection;
}
function publish(promise, settled) {
var child, callback, subscribers = promise._subscribers, detail = promise._detail;
if (config.instrument) {
instrument(settled === FULFILLED ? 'fulfilled' : 'rejected', promise);
}
for (var i = 0; i < subscribers.length; i += 3) {
child = subscribers[i];
callback = subscribers[i + settled];
invokeCallback(settled, child, callback, detail);
}
promise._subscribers = null;
}
Promise.prototype = { Promise.prototype = {
constructor: Promise, constructor: Promise,
_id: undefined, _id: undefined,
_guidKey: guidKey, _guidKey: guidKey,
_label: undefined, _label: undefined,
_state: undefined, _state: undefined,
_detail: undefined, _result: undefined,
_subscribers: undefined, _subscribers: undefined,
_onerror: function (reason) { _onerror: function (reason) {
config.trigger('error', reason); config.trigger('error', reason);
}, },
then: function (onFulfillment, onRejection, label) { then: function (onFulfillment, onRejection, label) {
var promise = this; var parent = this;
this._onerror = null; var state = parent._state;
var thenPromise = new this.constructor(noop, label); if (state === FULFILLED && !onFulfillment || state === REJECTED && !onRejection) {
if (this._state) { if (config.instrument) {
var callbacks = arguments; instrument('chained', this, this);
config.async(function invokePromiseCallback() {
invokeCallback(promise._state, thenPromise, callbacks[promise._state - 1], promise._detail);
});
} else {
subscribe(this, thenPromise, onFulfillment, onRejection);
} }
return this;
}
parent._onerror = null;
var child = new this.constructor(noop, label);
var result = parent._result;
if (config.instrument) { if (config.instrument) {
instrument('chained', promise, thenPromise); instrument('chained', parent, child);
} }
return thenPromise; if (state) {
var callback = arguments[state - 1];
config.async(function () {
invokeCallback(state, child, callback, result);
});
} else {
subscribe(parent, child, onFulfillment, onRejection);
}
return child;
}, },
'catch': function (onRejection, label) { 'catch': function (onRejection, label) {
return this.then(null, onRejection, label); return this.then(null, onRejection, label);
...@@ -10887,106 +11211,9 @@ Promise.prototype = { ...@@ -10887,106 +11211,9 @@ Promise.prototype = {
}, label); }, label);
} }
}; };
function invokeCallback(settled, promise, callback, detail) { },{"./-internal":54,"./config":58,"./events":61,"./instrument":65,"./promise/all":70,"./promise/cast":71,"./promise/race":72,"./promise/reject":73,"./promise/resolve":74,"./utils":79}],70:[function(require,module,exports){
var hasCallback = isFunction(callback), value, error, succeeded, failed;
if (hasCallback) {
try {
value = callback(detail);
succeeded = true;
} catch (e) {
failed = true;
error = e;
}
} else {
value = detail;
succeeded = true;
}
if (handleThenable(promise, value)) {
return;
} else if (hasCallback && succeeded) {
resolve(promise, value);
} else if (failed) {
reject(promise, error);
} else if (settled === FULFILLED) {
resolve(promise, value);
} else if (settled === REJECTED) {
reject(promise, value);
}
}
function handleThenable(promise, value) {
var then = null, resolved;
try {
if (promise === value) {
throw new TypeError('A promises callback cannot return that same promise.');
}
if (objectOrFunction(value)) {
then = value.then;
if (isFunction(then)) {
then.call(value, function (val) {
if (resolved) {
return true;
}
resolved = true;
if (value !== val) {
resolve(promise, val);
} else {
fulfill(promise, val);
}
}, function (val) {
if (resolved) {
return true;
}
resolved = true;
reject(promise, val);
}, 'Settle: ' + (promise._label || ' unknown promise'));
return true;
}
}
} catch (error) {
if (resolved) {
return true;
}
reject(promise, error);
return true;
}
return false;
}
function resolve(promise, value) {
if (promise === value) {
fulfill(promise, value);
} else if (!handleThenable(promise, value)) {
fulfill(promise, value);
}
}
function fulfill(promise, value) {
if (promise._state !== PENDING) {
return;
}
promise._state = SEALED;
promise._detail = value;
config.async(publishFulfillment, promise);
}
function reject(promise, reason) {
if (promise._state !== PENDING) {
return;
}
promise._state = SEALED;
promise._detail = reason;
config.async(publishRejection, promise);
}
function publishFulfillment(promise) {
publish(promise, promise._state = FULFILLED);
}
function publishRejection(promise) {
if (promise._onerror) {
promise._onerror(promise._detail);
}
publish(promise, promise._state = REJECTED);
}
},{"./config":56,"./events":58,"./instrument":62,"./promise/all":66,"./promise/cast":67,"./promise/race":68,"./promise/reject":69,"./promise/resolve":70,"./utils":75}],66:[function(require,module,exports){
'use strict'; 'use strict';
var isArray = require('../utils').isArray; var Enumerator = require('../enumerator')['default'];
var isNonThenable = require('../utils').isNonThenable;
/** /**
`RSVP.Promise.all` accepts an array of promises, and returns a new promise which `RSVP.Promise.all` accepts an array of promises, and returns a new promise which
is fulfilled with an array of fulfillment values for the passed promises, or is fulfilled with an array of fulfillment values for the passed promises, or
...@@ -11035,46 +11262,11 @@ var isNonThenable = require('../utils').isNonThenable; ...@@ -11035,46 +11262,11 @@ var isNonThenable = require('../utils').isNonThenable;
@static @static
*/ */
exports['default'] = function all(entries, label) { exports['default'] = function all(entries, label) {
/*jshint validthis:true */ return new Enumerator(this, entries, true, label).promise;
var Constructor = this;
return new Constructor(function (resolve, reject) {
if (!isArray(entries)) {
throw new TypeError('You must pass an array to all.');
}
var remaining = entries.length;
var results = new Array(remaining);
var entry, pending = true;
if (remaining === 0) {
resolve(results);
return;
}
function fulfillmentAt(index$2) {
return function (value) {
results[index$2] = value;
if (--remaining === 0) {
resolve(results);
}
};
}
function onRejection(reason) {
remaining = 0;
reject(reason);
}
for (var index = 0; index < entries.length; index++) {
entry = entries[index];
if (isNonThenable(entry)) {
results[index] = entry;
if (--remaining === 0) {
resolve(results);
}
} else {
Constructor.resolve(entry).then(fulfillmentAt(index), onRejection);
}
}
}, label);
}; };
},{"../utils":75}],67:[function(require,module,exports){ },{"../enumerator":60}],71:[function(require,module,exports){
'use strict'; 'use strict';
var resolve = require('./resolve')['default'];
/** /**
@deprecated @deprecated
...@@ -11143,22 +11335,17 @@ exports['default'] = function all(entries, label) { ...@@ -11143,22 +11335,17 @@ exports['default'] = function all(entries, label) {
Useful for tooling. Useful for tooling.
@return {Promise} promise @return {Promise} promise
*/ */
exports['default'] = function cast(object, label) { exports['default'] = resolve;
/*jshint validthis:true */ },{"./resolve":74}],72:[function(require,module,exports){
var Constructor = this;
if (object && typeof object === 'object' && object.constructor === Constructor) {
return object;
}
return new Constructor(function (resolve) {
resolve(object);
}, label);
};
},{}],68:[function(require,module,exports){
'use strict'; 'use strict';
/* global toString */
var isArray = require('../utils').isArray; var isArray = require('../utils').isArray;
var isFunction = require('../utils').isFunction; var isFunction = require('../utils').isFunction;
var isNonThenable = require('../utils').isNonThenable; var isMaybeThenable = require('../utils').isMaybeThenable;
var noop = require('../-internal').noop;
var resolve = require('../-internal').resolve;
var reject = require('../-internal').reject;
var subscribe = require('../-internal').subscribe;
var PENDING = require('../-internal').PENDING;
/** /**
`RSVP.Promise.race` returns a new promise which is settled in the same way as the `RSVP.Promise.race` returns a new promise which is settled in the same way as the
first passed promise to settle. first passed promise to settle.
...@@ -11206,7 +11393,7 @@ var isNonThenable = require('../utils').isNonThenable; ...@@ -11206,7 +11393,7 @@ var isNonThenable = require('../utils').isNonThenable;
RSVP.Promise.race([promise1, promise2]).then(function(result){ RSVP.Promise.race([promise1, promise2]).then(function(result){
// Code here never runs // Code here never runs
}, function(reason){ }, function(reason){
// reason.message === "promise2" because promise 2 became rejected before // reason.message === "promise 2" because promise 2 became rejected before
// promise 1 became fulfilled // promise 1 became fulfilled
}); });
``` ```
...@@ -11228,37 +11415,27 @@ var isNonThenable = require('../utils').isNonThenable; ...@@ -11228,37 +11415,27 @@ var isNonThenable = require('../utils').isNonThenable;
exports['default'] = function race(entries, label) { exports['default'] = function race(entries, label) {
/*jshint validthis:true */ /*jshint validthis:true */
var Constructor = this, entry; var Constructor = this, entry;
return new Constructor(function (resolve, reject) { var promise = new Constructor(noop, label);
if (!isArray(entries)) { if (!isArray(entries)) {
throw new TypeError('You must pass an array to race.'); reject(promise, new TypeError('You must pass an array to race.'));
return promise;
} }
var pending = true; var length = entries.length;
function onFulfillment(value) { function onFulfillment(value) {
if (pending) { resolve(promise, value);
pending = false;
resolve(value);
}
} }
function onRejection(reason) { function onRejection(reason) {
if (pending) { reject(promise, reason);
pending = false;
reject(reason);
}
}
for (var i = 0; i < entries.length; i++) {
entry = entries[i];
if (isNonThenable(entry)) {
pending = false;
resolve(entry);
return;
} else {
Constructor.resolve(entry).then(onFulfillment, onRejection);
} }
for (var i = 0; promise._state === PENDING && i < length; i++) {
subscribe(Constructor.resolve(entries[i]), undefined, onFulfillment, onRejection);
} }
}, label); return promise;
}; };
},{"../utils":75}],69:[function(require,module,exports){ },{"../-internal":54,"../utils":79}],73:[function(require,module,exports){
'use strict'; 'use strict';
var noop = require('../-internal').noop;
var _reject = require('../-internal').reject;
/** /**
`RSVP.Promise.reject` returns a promise rejected with the passed `reason`. `RSVP.Promise.reject` returns a promise rejected with the passed `reason`.
It is shorthand for the following: It is shorthand for the following:
...@@ -11297,12 +11474,14 @@ exports['default'] = function race(entries, label) { ...@@ -11297,12 +11474,14 @@ exports['default'] = function race(entries, label) {
exports['default'] = function reject(reason, label) { exports['default'] = function reject(reason, label) {
/*jshint validthis:true */ /*jshint validthis:true */
var Constructor = this; var Constructor = this;
return new Constructor(function (resolve, reject$2) { var promise = new Constructor(noop, label);
reject$2(reason); _reject(promise, reason);
}, label); return promise;
}; };
},{}],70:[function(require,module,exports){ },{"../-internal":54}],74:[function(require,module,exports){
'use strict'; 'use strict';
var noop = require('../-internal').noop;
var _resolve = require('../-internal').resolve;
/** /**
`RSVP.Promise.resolve` returns a promise that will become resolved with the `RSVP.Promise.resolve` returns a promise that will become resolved with the
passed `value`. It is shorthand for the following: passed `value`. It is shorthand for the following:
...@@ -11341,11 +11520,11 @@ exports['default'] = function resolve(object, label) { ...@@ -11341,11 +11520,11 @@ exports['default'] = function resolve(object, label) {
if (object && typeof object === 'object' && object.constructor === Constructor) { if (object && typeof object === 'object' && object.constructor === Constructor) {
return object; return object;
} }
return new Constructor(function (resolve$2) { var promise = new Constructor(noop, label);
resolve$2(object); _resolve(promise, object);
}, label); return promise;
}; };
},{}],71:[function(require,module,exports){ },{"../-internal":54}],75:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
/** /**
...@@ -11361,7 +11540,7 @@ var Promise = require('./promise')['default']; ...@@ -11361,7 +11540,7 @@ var Promise = require('./promise')['default'];
exports['default'] = function race(array, label) { exports['default'] = function race(array, label) {
return Promise.race(array, label); return Promise.race(array, label);
}; };
},{"./promise":65}],72:[function(require,module,exports){ },{"./promise":69}],76:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
/** /**
...@@ -11378,7 +11557,7 @@ var Promise = require('./promise')['default']; ...@@ -11378,7 +11557,7 @@ var Promise = require('./promise')['default'];
exports['default'] = function reject(reason, label) { exports['default'] = function reject(reason, label) {
return Promise.reject(reason, label); return Promise.reject(reason, label);
}; };
},{"./promise":65}],73:[function(require,module,exports){ },{"./promise":69}],77:[function(require,module,exports){
'use strict'; 'use strict';
var Promise = require('./promise')['default']; var Promise = require('./promise')['default'];
/** /**
...@@ -11396,7 +11575,7 @@ var Promise = require('./promise')['default']; ...@@ -11396,7 +11575,7 @@ var Promise = require('./promise')['default'];
exports['default'] = function resolve(value, label) { exports['default'] = function resolve(value, label) {
return Promise.resolve(value, label); return Promise.resolve(value, label);
}; };
},{"./promise":65}],74:[function(require,module,exports){ },{"./promise":69}],78:[function(require,module,exports){
'use strict'; 'use strict';
/** /**
`RSVP.rethrow` will rethrow an error on the next turn of the JavaScript event `RSVP.rethrow` will rethrow an error on the next turn of the JavaScript event
...@@ -11444,7 +11623,7 @@ exports['default'] = function rethrow(reason) { ...@@ -11444,7 +11623,7 @@ exports['default'] = function rethrow(reason) {
}); });
throw reason; throw reason;
}; };
},{}],75:[function(require,module,exports){ },{}],79:[function(require,module,exports){
'use strict'; 'use strict';
function objectOrFunction(x) { function objectOrFunction(x) {
return typeof x === 'function' || typeof x === 'object' && x !== null; return typeof x === 'function' || typeof x === 'object' && x !== null;
...@@ -11454,10 +11633,10 @@ function isFunction(x) { ...@@ -11454,10 +11633,10 @@ function isFunction(x) {
return typeof x === 'function'; return typeof x === 'function';
} }
exports.isFunction = isFunction; exports.isFunction = isFunction;
function isNonThenable(x) { function isMaybeThenable(x) {
return !objectOrFunction(x); return typeof x === 'object' && x !== null;
} }
exports.isNonThenable = isNonThenable; exports.isMaybeThenable = isMaybeThenable;
var _isArray; var _isArray;
if (!Array.isArray) { if (!Array.isArray) {
_isArray = function (x) { _isArray = function (x) {
...@@ -11474,16 +11653,13 @@ var now = Date.now || function () { ...@@ -11474,16 +11653,13 @@ var now = Date.now || function () {
return new Date().getTime(); return new Date().getTime();
}; };
exports.now = now; exports.now = now;
var keysOf = Object.keys || function (object) { var o_create = Object.create || function (object) {
var result = []; var o = function () {
for (var prop in object) {
result.push(prop);
}
return result;
}; };
exports.keysOf = keysOf; o.prototype = object;
},{}],"./psd/init.coffee":[function(require,module,exports){ return o;
module.exports=require('/ioUh4'); };
exports.o_create = o_create;
},{}],"/ioUh4":[function(require,module,exports){ },{}],"/ioUh4":[function(require,module,exports){
var RSVP; var RSVP;
...@@ -11526,8 +11702,8 @@ module.exports = { ...@@ -11526,8 +11702,8 @@ module.exports = {
}; };
},{"rsvp":52}],"./image_exports/png.coffee":[function(require,module,exports){ },{"rsvp":53}],"./psd/init.coffee":[function(require,module,exports){
module.exports=require('bZ5QlH'); module.exports=require('/ioUh4');
},{}],"bZ5QlH":[function(require,module,exports){ },{}],"bZ5QlH":[function(require,module,exports){
var RSVP; var RSVP;
...@@ -11564,43 +11740,6 @@ module.exports = { ...@@ -11564,43 +11740,6 @@ module.exports = {
}; };
},{"rsvp":52}],"./image_modes/rgb.coffee":[function(require,module,exports){ },{"rsvp":53}],"./image_exports/png.coffee":[function(require,module,exports){
module.exports=require('DhO9gV'); module.exports=require('bZ5QlH');
},{}],"DhO9gV":[function(require,module,exports){
module.exports = {
combineRgbChannel: function() {
var a, b, chan, g, i, index, r, rgbChannels, val, _i, _j, _len, _ref, _results;
rgbChannels = this.channelsInfo.map(function(ch) {
return ch.id;
}).filter(function(ch) {
return ch >= -1;
});
_results = [];
for (i = _i = 0, _ref = this.numPixels; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
r = g = b = 0;
a = 255;
for (index = _j = 0, _len = rgbChannels.length; _j < _len; index = ++_j) {
chan = rgbChannels[index];
val = this.channelData[i + (this.channelLength * index)];
switch (chan) {
case -1:
a = val;
break;
case 0:
r = val;
break;
case 1:
g = val;
break;
case 2:
b = val;
}
}
_results.push(this.pixelData.push(r, g, b, a));
}
return _results;
}
};
},{}]},{},[]) },{}]},{},[])
\ No newline at end of file
module.exports =
combineRgbChannel: ->
rgbChannels = @channelsInfo
.map (ch) -> ch.id
.filter (ch) -> ch >= -1
for i in [0...@numPixels]
r = g = b = 0
a = 255
for chan, index in rgbChannels
val = @channelData[i + (@channelLength * index)]
switch chan
when -1 then a = val
when 0 then r = val
when 1 then g = val
when 2 then b = val
@pixelData.push r, g, b, a
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment