Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
psd.js
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
regiostart
psd.js
Commits
f5a5bd8c
Commit
f5a5bd8c
authored
Jul 21, 2014
by
Ryan LeFevre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RGB shim no longer required
parent
5eda9ee0
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
670 additions
and
552 deletions
+670
-552
Cakefile
Cakefile
+1
-2
psd.js
dist/psd.js
+669
-530
rgb.coffee
shims/rgb.coffee
+0
-20
No files found.
Cakefile
View file @
f5a5bd8c
...
...
@@ -9,7 +9,6 @@ task 'compile', 'Compile with browserify for the web', ->
.
transform
(
'coffeeify'
)
.
require
(
'./shims/png.coffee'
,
expose
:
'./image_exports/png.coffee'
)
.
require
(
'./shims/init.coffee'
,
expose
:
'./psd/init.coffee'
)
.
require
(
'./shims/rgb.coffee'
,
expose
:
'./image_modes/rgb.coffee'
)
.
require
(
'./lib/psd.coffee'
,
expose
:
'psd'
)
.
bundle
(
err
,
src
)
->
return
console
.
log
(
err
)
if
err
?
...
...
dist/psd.js
View file @
f5a5bd8c
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
,
R
SVP
,
R
esources
,
__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
;
};
RSVP
=
require
(
'rsvp'
);
Module
=
require
(
'coffeescript-module'
).
Module
;
File
=
require
(
'./psd/file.coffee'
);
...
...
@@ -35,6 +37,9 @@ module.exports = PSD = (function(_super) {
return
this
.
layerMask
.
layers
;
}
});
RSVP
.
on
(
'error'
,
function
(
reason
)
{
return
console
.
error
(
reason
);
});
}
PSD
.
prototype
.
parse
=
function
()
{
...
...
@@ -80,7 +85,7 @@ module.exports = PSD = (function(_super) {
})(
Module
);
},{
"./psd/file.coffee"
:
5
,
"./psd/header.coffee"
:
6
,
"./psd/image.coffee"
:
7
,
"./psd/init.coffee"
:
"/ioUh4"
,
"./psd/layer_mask.coffee"
:
3
3
,
"./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"
:
3
4
,
"./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'
);
},{}],
3
:[
function
(
require
,
module
,
exports
){
var
BlendMode
,
Module
,
...
...
@@ -157,7 +162,7 @@ module.exports = BlendMode = (function(_super) {
})(
Module
);
},{
"coffeescript-module"
:
4
8
}],
4
:[
function
(
require
,
module
,
exports
){
},{
"coffeescript-module"
:
4
9
}],
4
:[
function
(
require
,
module
,
exports
){
var
Descriptor
;
module
.
exports
=
Descriptor
=
(
function
()
{
...
...
@@ -550,7 +555,7 @@ module.exports = File = (function() {
})();
},{
"./util.coffee"
:
4
6
,
"jspack"
:
50
}],
6
:[
function
(
require
,
module
,
exports
){
},{
"./util.coffee"
:
4
7
,
"jspack"
:
51
}],
6
:[
function
(
require
,
module
,
exports
){
var
Header
;
module
.
exports
=
Header
=
(
function
()
{
...
...
@@ -738,7 +743,7 @@ module.exports = Image = (function(_super) {
})(
Module
);
},{
"./image_export.coffee"
:
8
,
"./image_format.coffee"
:
9
,
"./image_mode.coffee"
:
12
,
"coffeescript-module"
:
4
8
}],
8
:[
function
(
require
,
module
,
exports
){
},{
"./image_export.coffee"
:
8
,
"./image_format.coffee"
:
9
,
"./image_mode.coffee"
:
12
,
"coffeescript-module"
:
4
9
}],
8
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
PNG
:
require
(
'./image_exports/png.coffee'
)
};
...
...
@@ -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
,
__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
;
};
...
...
@@ -911,7 +953,7 @@ module.exports = Layer = (function(_super) {
})(
Module
);
},{
"./layer/blend_modes.coffee"
:
1
4
,
"./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"
:
1
5
,
"./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
;
BlendMode
=
require
(
'../blend_mode.coffee'
);
...
...
@@ -933,7 +975,7 @@ module.exports = {
};
},{
"../blend_mode.coffee"
:
3
}],
1
5
:[
function
(
require
,
module
,
exports
){
},{
"../blend_mode.coffee"
:
3
}],
1
6
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
parseBlendingRanges
:
function
()
{
var
i
,
length
,
numChannels
,
_i
,
_results
;
...
...
@@ -968,7 +1010,7 @@ module.exports = {
};
},{}],
1
6
:[
function
(
require
,
module
,
exports
){
},{}],
1
7
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
isFolder
:
function
()
{
if
(
this
.
adjustments
[
'sectionDivider'
]
!=
null
)
{
...
...
@@ -991,7 +1033,7 @@ module.exports = {
};
},{}],
1
7
:[
function
(
require
,
module
,
exports
){
},{}],
1
8
:[
function
(
require
,
module
,
exports
){
var
LAYER_INFO
,
LazyExecute
,
Util
,
__hasProp
=
{}.
hasOwnProperty
;
...
...
@@ -1054,7 +1096,7 @@ module.exports = {
};
},{
"../layer_info/blend_clipping_elements.coffee"
:
2
2
,
"../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"
:
2
3
,
"../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
;
Mask
=
require
(
'../mask.coffee'
);
...
...
@@ -1066,7 +1108,7 @@ module.exports = {
};
},{
"../mask.coffee"
:
3
5
}],
19
:[
function
(
require
,
module
,
exports
){
},{
"../mask.coffee"
:
3
6
}],
20
:[
function
(
require
,
module
,
exports
){
var
Util
;
Util
=
require
(
'../util.coffee'
);
...
...
@@ -1080,7 +1122,7 @@ module.exports = {
};
},{
"../util.coffee"
:
4
6
}],
20
:[
function
(
require
,
module
,
exports
){
},{
"../util.coffee"
:
4
7
}],
21
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
parsePositionAndChannels
:
function
()
{
var
i
,
id
,
length
,
_i
,
_ref
,
_results
;
...
...
@@ -1105,7 +1147,7 @@ module.exports = {
};
},{}],
2
1
:[
function
(
require
,
module
,
exports
){
},{}],
2
2
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
;
module
.
exports
=
LayerInfo
=
(
function
()
{
...
...
@@ -1130,7 +1172,7 @@ module.exports = LayerInfo = (function() {
})();
},{}],
2
2
:[
function
(
require
,
module
,
exports
){
},{}],
2
3
:[
function
(
require
,
module
,
exports
){
var
BlendClippingElements
,
LayerInfo
,
__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
;
};
...
...
@@ -1158,7 +1200,7 @@ module.exports = BlendClippingElements = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
23
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
24
:[
function
(
require
,
module
,
exports
){
var
BlendInteriorElements
,
LayerInfo
,
__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
;
};
...
...
@@ -1186,7 +1228,7 @@ module.exports = BlendInteriorElements = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
24
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
25
:[
function
(
require
,
module
,
exports
){
var
FillOpacity
,
LayerInfo
,
__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
;
};
...
...
@@ -1213,7 +1255,7 @@ module.exports = FillOpacity = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
25
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
26
:[
function
(
require
,
module
,
exports
){
var
Descriptor
,
GradientFill
,
LayerInfo
,
__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
;
};
...
...
@@ -1243,7 +1285,7 @@ module.exports = GradientFill = (function(_super) {
})(
LayerInfo
);
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
2
1
}],
26
:[
function
(
require
,
module
,
exports
){
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
2
2
}],
27
:[
function
(
require
,
module
,
exports
){
var
LayerId
,
LayerInfo
,
__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
;
};
...
...
@@ -1270,7 +1312,7 @@ module.exports = LayerId = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
27
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
28
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
,
LayerNameSource
,
__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
;
};
...
...
@@ -1297,7 +1339,7 @@ module.exports = LayerNameSource = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
28
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
29
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
,
Locked
,
__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
;
};
...
...
@@ -1307,14 +1349,18 @@ LayerInfo = require('../layer_info.coffee');
module
.
exports
=
Locked
=
(
function
(
_super
)
{
__extends
(
Locked
,
_super
);
function
Locked
()
{
return
Locked
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
Locked
.
shouldParse
=
function
(
key
)
{
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
()
{
var
locked
;
locked
=
this
.
file
.
readInt
();
...
...
@@ -1329,7 +1375,7 @@ module.exports = Locked = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
29
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
30
:[
function
(
require
,
module
,
exports
){
var
Descriptor
,
LayerInfo
,
Metadata
,
__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
;
};
...
...
@@ -1378,7 +1424,7 @@ module.exports = Metadata = (function(_super) {
})(
LayerInfo
);
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
2
1
}],
30
:[
function
(
require
,
module
,
exports
){
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
2
2
}],
31
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
,
NestedSectionDivider
,
__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
;
};
...
...
@@ -1415,7 +1461,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
31
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
32
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
,
NestedSectionDivider
,
__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
;
};
...
...
@@ -1470,7 +1516,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
32
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
33
:[
function
(
require
,
module
,
exports
){
var
LayerInfo
,
UnicodeName
,
__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
;
};
...
...
@@ -1501,7 +1547,7 @@ module.exports = UnicodeName = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
2
1
}],
33
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
2
2
}],
34
:[
function
(
require
,
module
,
exports
){
var
Layer
,
LayerMask
,
Util
,
_
;
_
=
require
(
'lodash'
);
...
...
@@ -1576,7 +1622,7 @@ module.exports = LayerMask = (function() {
})();
},{
"./layer.coffee"
:
1
3
,
"./util.coffee"
:
46
,
"lodash"
:
51
}],
34
:[
function
(
require
,
module
,
exports
){
},{
"./layer.coffee"
:
1
4
,
"./util.coffee"
:
47
,
"lodash"
:
52
}],
35
:[
function
(
require
,
module
,
exports
){
var
LazyExecute
,
__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
;
};
...
...
@@ -1653,7 +1699,7 @@ module.exports = LazyExecute = (function() {
})();
},{}],
3
5
:[
function
(
require
,
module
,
exports
){
},{}],
3
6
:[
function
(
require
,
module
,
exports
){
var
Mask
;
module
.
exports
=
Mask
=
(
function
()
{
...
...
@@ -1710,7 +1756,7 @@ module.exports = Mask = (function() {
})();
},{}],
3
6
:[
function
(
require
,
module
,
exports
){
},{}],
3
7
:[
function
(
require
,
module
,
exports
){
var
Module
,
Node
,
_
,
__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
;
};
...
...
@@ -1899,7 +1945,7 @@ module.exports = Node = (function(_super) {
})(
Module
);
},{
"./nodes/ancestry.coffee"
:
3
7
,
"./nodes/search.coffee"
:
41
,
"coffeescript-module"
:
48
,
"lodash"
:
51
}],
37
:[
function
(
require
,
module
,
exports
){
},{
"./nodes/ancestry.coffee"
:
3
8
,
"./nodes/search.coffee"
:
42
,
"coffeescript-module"
:
49
,
"lodash"
:
52
}],
38
:[
function
(
require
,
module
,
exports
){
var
_
;
_
=
require
(
'lodash'
);
...
...
@@ -1985,7 +2031,7 @@ module.exports = {
};
},{
"lodash"
:
5
1
}],
38
:[
function
(
require
,
module
,
exports
){
},{
"lodash"
:
5
2
}],
39
:[
function
(
require
,
module
,
exports
){
var
Group
,
Node
,
_
,
__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
;
};
...
...
@@ -2037,7 +2083,7 @@ module.exports = Group = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
3
6
,
"lodash"
:
51
}],
39
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
3
7
,
"lodash"
:
52
}],
40
:[
function
(
require
,
module
,
exports
){
var
Layer
,
Node
,
_
,
__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
;
};
...
...
@@ -2072,7 +2118,7 @@ module.exports = Layer = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
3
6
,
"lodash"
:
51
}],
40
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
3
7
,
"lodash"
:
52
}],
41
:[
function
(
require
,
module
,
exports
){
var
Group
,
Layer
,
Node
,
Root
,
_
,
__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
;
};
...
...
@@ -2128,6 +2174,7 @@ module.exports = Root = (function(_super) {
};
Root
.
prototype
[
"export"
]
=
function
()
{
var
_ref
;
return
{
children
:
this
.
_children
.
map
(
function
(
c
)
{
return
c
[
"export"
]();
...
...
@@ -2136,7 +2183,7 @@ module.exports = Root = (function(_super) {
width
:
this
.
width
,
height
:
this
.
height
,
resources
:
{
layerComps
:
this
.
psd
.
resources
.
resource
(
'layerComps'
)[
"export"
]()
,
layerComps
:
((
_ref
=
this
.
psd
.
resources
.
resource
(
'layerComps'
))
!=
null
?
_ref
[
"export"
]()
:
void
0
)
||
[]
,
guides
:
[],
slices
:
[]
}
...
...
@@ -2170,7 +2217,7 @@ module.exports = Root = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
3
6
,
"./group.coffee"
:
38
,
"./layer.coffee"
:
39
,
"lodash"
:
51
}],
41
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
3
7
,
"./group.coffee"
:
39
,
"./layer.coffee"
:
40
,
"lodash"
:
52
}],
42
:[
function
(
require
,
module
,
exports
){
var
_
;
_
=
require
(
'lodash'
);
...
...
@@ -2206,7 +2253,7 @@ module.exports = {
};
},{
"lodash"
:
5
1
}],
42
:[
function
(
require
,
module
,
exports
){
},{
"lodash"
:
5
2
}],
43
:[
function
(
require
,
module
,
exports
){
var
Resource
,
Util
;
Util
=
require
(
'./util.coffee'
);
...
...
@@ -2235,7 +2282,7 @@ module.exports = Resource = (function() {
})();
},{
"./resource_section.coffee"
:
4
3
,
"./util.coffee"
:
46
}],
43
:[
function
(
require
,
module
,
exports
){
},{
"./resource_section.coffee"
:
4
4
,
"./util.coffee"
:
47
}],
44
:[
function
(
require
,
module
,
exports
){
var
ResourceSection
,
_
;
_
=
require
(
'lodash'
);
...
...
@@ -2266,7 +2313,7 @@ module.exports = ResourceSection = (function() {
})();
},{
"./resources/layer_comps.coffee"
:
4
5
,
"lodash"
:
51
}],
44
:[
function
(
require
,
module
,
exports
){
},{
"./resources/layer_comps.coffee"
:
4
6
,
"lodash"
:
52
}],
45
:[
function
(
require
,
module
,
exports
){
var
Resource
,
Resources
;
Resource
=
require
(
'./resource.coffee'
);
...
...
@@ -2323,7 +2370,7 @@ module.exports = Resources = (function() {
})();
},{
"./resource.coffee"
:
4
2
}],
45
:[
function
(
require
,
module
,
exports
){
},{
"./resource.coffee"
:
4
3
}],
46
:[
function
(
require
,
module
,
exports
){
var
Descriptor
,
LayerComps
;
Descriptor
=
require
(
'../descriptor.coffee'
);
...
...
@@ -2376,7 +2423,7 @@ module.exports = LayerComps = (function() {
})();
},{
"../descriptor.coffee"
:
4
}],
4
6
:[
function
(
require
,
module
,
exports
){
},{
"../descriptor.coffee"
:
4
}],
4
7
:[
function
(
require
,
module
,
exports
){
var
Util
;
module
.
exports
=
Util
=
(
function
()
{
...
...
@@ -2407,7 +2454,7 @@ module.exports = Util = (function() {
})();
},{}],
4
7
:[
function
(
require
,
module
,
exports
){
},{}],
4
8
:[
function
(
require
,
module
,
exports
){
// shim for using process in browser
var
process
=
module
.
exports
=
{};
...
...
@@ -2455,8 +2502,11 @@ process.argv = [];
function
noop
()
{}
process
.
on
=
noop
;
process
.
addListener
=
noop
;
process
.
once
=
noop
;
process
.
off
=
noop
;
process
.
removeListener
=
noop
;
process
.
removeAllListeners
=
noop
;
process
.
emit
=
noop
;
process
.
binding
=
function
(
name
)
{
...
...
@@ -2469,9 +2519,9 @@ process.chdir = function (dir) {
throw
new
Error
(
'process.chdir is not supported'
);
};
},{}],
4
8
:[
function
(
require
,
module
,
exports
){
},{}],
4
9
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'./module'
);
},{
"./module"
:
49
}],
49
:[
function
(
require
,
module
,
exports
){
},{
"./module"
:
50
}],
50
:[
function
(
require
,
module
,
exports
){
// Generated by CoffeeScript 1.7.1
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
;
},
...
...
@@ -2551,7 +2601,7 @@ exports.Module = Module = (function() {
})();
},{}],
5
0
:[
function
(
require
,
module
,
exports
){
},{}],
5
1
:[
function
(
require
,
module
,
exports
){
/*!
* Copyright © 2008 Fair Oaks Labs, Inc.
* All rights reserved.
...
...
@@ -2807,7 +2857,7 @@ function JSPack()
exports
.
jspack
=
new
JSPack
();
},{}],
5
1
:[
function
(
require
,
module
,
exports
){
},{}],
5
2
:[
function
(
require
,
module
,
exports
){
(
function
(
global
){
/**
* @license
...
...
@@ -9596,7 +9646,7 @@ exports.jspack = new JSPack();
}.
call
(
this
));
}).
call
(
this
,
typeof
self
!==
"undefined"
?
self
:
typeof
window
!==
"undefined"
?
window
:
{})
},{}],
5
2
:[
function
(
require
,
module
,
exports
){
},{}],
5
3
:[
function
(
require
,
module
,
exports
){
"use strict"
;
var
Promise
=
require
(
"./rsvp/promise"
)[
"default"
];
var
EventTarget
=
require
(
"./rsvp/events"
)[
"default"
];
...
...
@@ -9659,11 +9709,243 @@ exports.reject = reject;
exports
.
async
=
async
;
exports
.
map
=
map
;
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'
;
var
Enumerator
=
require
(
'./enumerator'
)[
'default'
];
var
makeSettledResult
=
require
(
'./enumerator'
).
makeSettledResult
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isArray
=
require
(
'./utils'
).
isArray
;
var
isNonThenable
=
require
(
'./utils'
).
isNonThenable
;
var
o_create
=
require
(
'./utils'
).
o_create
;
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
a fail-fast method, it waits until all the promises have returned and
...
...
@@ -9716,56 +9998,9 @@ var isNonThenable = require('./utils').isNonThenable;
states of the constituent promises.
*/
exports
[
'default'
]
=
function
allSettled
(
entries
,
label
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
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
);
return
new
AllSettled
(
Promise
,
entries
,
label
).
promise
;
};
function
fulfilled
(
value
)
{
return
{
state
:
'fulfilled'
,
value
:
value
};
}
function
rejected
(
reason
)
{
return
{
state
:
'rejected'
,
reason
:
reason
};
}
},{
"./promise"
:
65
,
"./utils"
:
75
}],
54
:[
function
(
require
,
module
,
exports
){
},{
"./enumerator"
:
60
,
"./promise"
:
69
,
"./utils"
:
79
}],
56
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -9781,15 +10016,15 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
all
(
array
,
label
)
{
return
Promise
.
all
(
array
,
label
);
};
},{
"./promise"
:
6
5
}],
55
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
}],
57
:[
function
(
require
,
module
,
exports
){
(
function
(
process
){
'use strict'
;
var
length
=
0
;
exports
[
'default'
]
=
function
asap
(
callback
,
arg
)
{
var
length
=
queue
.
push
([
callback
,
arg
]);
if
(
length
===
1
)
{
queue
[
length
]
=
callback
;
queue
[
length
+
1
]
=
arg
;
length
+=
2
;
if
(
length
===
2
)
{
// 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
// will be processed by this flush that we are scheduling.
...
...
@@ -9798,6 +10033,8 @@ exports['default'] = function asap(callback, arg) {
};
var
browserGlobal
=
typeof
window
!==
'undefined'
?
window
:
{};
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
function
useNextTick
()
{
return
function
()
{
...
...
@@ -9813,19 +10050,29 @@ function useMutationObserver() {
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
()
{
return
function
()
{
setTimeout
(
flush
,
1
);
};
}
var
queue
=
[]
;
var
queue
=
new
Array
(
1000
)
;
function
flush
()
{
for
(
var
i
=
0
;
i
<
queue
.
length
;
i
++
)
{
var
tuple
=
queue
[
i
];
var
callback
=
tuple
[
0
],
arg
=
tuple
[
1
];
for
(
var
i
=
0
;
i
<
length
;
i
+=
2
)
{
var
callback
=
queue
[
i
];
var
arg
=
queue
[
i
+
1
];
callback
(
arg
);
queue
[
i
]
=
undefined
;
queue
[
i
+
1
]
=
undefined
;
}
queue
.
length
=
0
;
length
=
0
;
}
var
scheduleFlush
;
// 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
scheduleFlush
=
useNextTick
();
}
else
if
(
BrowserMutationObserver
)
{
scheduleFlush
=
useMutationObserver
();
}
else
if
(
isWorker
)
{
scheduleFlush
=
useMessageChannel
();
}
else
{
scheduleFlush
=
useSetTimeout
();
}
}).
call
(
this
,
require
(
"
/Users/ryanlefevre/Repositories/psd.js/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js
"
))
},{
"
/Users/ryanlefevre/Repositories/psd.js/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"
:
47
}],
56
:[
function
(
require
,
module
,
exports
){
}).
call
(
this
,
require
(
"
FWaASH
"
))
},{
"
FWaASH"
:
48
}],
58
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
EventTarget
=
require
(
'./events'
)[
'default'
];
var
config
=
{
instrument
:
false
};
...
...
@@ -9858,7 +10107,7 @@ function configure(name, value) {
}
exports
.
config
=
config
;
exports
.
configure
=
configure
;
},{
"./events"
:
58
}],
57
:[
function
(
require
,
module
,
exports
){
},{
"./events"
:
61
}],
59
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -9901,7 +10150,113 @@ exports['default'] = function defer(label) {
},
label
);
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'
;
function
indexOf
(
callbacks
,
callback
)
{
for
(
var
i
=
0
,
l
=
callbacks
.
length
;
i
<
l
;
i
++
)
{
...
...
@@ -9962,10 +10317,11 @@ exports['default'] = {
}
}
};
},{}],
59
:[
function
(
require
,
module
,
exports
){
},{}],
62
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isFunction
=
require
(
'./utils'
).
isFunction
;
var
isMaybeThenable
=
require
(
'./utils'
).
isMaybeThenable
;
/**
`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
...
...
@@ -9981,6 +10337,8 @@ var isFunction = require('./utils').isFunction;
var promise2 = RSVP.resolve(2);
var promise3 = RSVP.resolve(3);
var promises = [promise1, promise2, promise3];
var filterFn = function(item){
return item > 1;
};
...
...
@@ -10063,7 +10421,7 @@ exports['default'] = function filter(promises, filterFn, label) {
var
results
=
new
Array
(
length
);
var
newLength
=
0
;
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
];
newLength
++
;
}
...
...
@@ -10073,11 +10431,22 @@ exports['default'] = function filter(promises, filterFn, label) {
});
});
};
},{
"./promise"
:
6
5
,
"./utils"
:
75
}],
60
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
,
"./utils"
:
79
}],
63
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isNonThenable
=
require
(
'./utils'
).
isNonThenable
;
var
keysOf
=
require
(
'./utils'
).
keysOf
;
var
makeSettledResult
=
require
(
'./enumerator'
).
makeSettledResult
;
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
instead of an array for its `promises` argument.
...
...
@@ -10180,59 +10549,13 @@ var keysOf = require('./utils').keysOf;
@static
*/
exports
[
'default'
]
=
function
hashSettled
(
object
,
label
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
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
));
}
}
});
return
new
HashSettled
(
Promise
,
object
,
label
).
promise
;
};
function
fulfilled
(
value
)
{
return
{
state
:
'fulfilled'
,
value
:
value
};
}
function
rejected
(
reason
)
{
return
{
state
:
'rejected'
,
reason
:
reason
};
}
},{
"./promise"
:
65
,
"./utils"
:
75
}],
61
:[
function
(
require
,
module
,
exports
){
},{
"./enumerator"
:
60
,
"./promise"
:
69
,
"./promise-hash"
:
68
,
"./utils"
:
79
}],
64
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isNonThenable
=
require
(
'./utils'
).
isNonThenable
;
var
keysOf
=
require
(
'./utils'
).
keysOf
;
var
PromiseHash
=
require
(
'./promise-hash'
)[
'default'
]
;
var
ABORT_ON_REJECTION
=
require
(
'./enumerator'
).
ABORT_ON_REJECTION
;
/**
`RSVP.hash` is similar to `RSVP.all`, but takes an object instead of an array
for its `promises` argument.
...
...
@@ -10322,64 +10645,37 @@ var keysOf = require('./utils').keysOf;
have been fulfilled, or rejected if any of them become rejected.
*/
exports
[
'default'
]
=
function
hash
(
object
,
label
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
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
);
}
}
});
return
new
PromiseHash
(
Promise
,
object
,
label
).
promise
;
};
},{
"./
promise"
:
65
,
"./utils"
:
75
}],
62
:[
function
(
require
,
module
,
exports
){
},{
"./
enumerator"
:
60
,
"./promise"
:
69
,
"./promise-hash"
:
68
}],
65
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
config
=
require
(
'./config'
).
config
;
var
now
=
require
(
'./utils'
).
now
;
var
queue
=
[];
exports
[
'default'
]
=
function
instrument
(
eventName
,
promise
,
child
)
{
// instrumentation should not disrupt normal usage.
try
{
config
.
trigger
(
eventName
,
{
if
(
1
===
queue
.
push
({
name
:
eventName
,
payload
:
{
guid
:
promise
.
_guidKey
+
promise
.
_id
,
eventName
:
eventName
,
detail
:
promise
.
_detail
,
detail
:
promise
.
_result
,
childGuid
:
child
&&
promise
.
_guidKey
+
child
.
_id
,
label
:
promise
.
_label
,
timeStamp
:
now
(),
stack
:
new
Error
(
promise
.
_label
).
stack
});
}
catch
(
error
)
{
}
})
)
{
setTimeout
(
function
()
{
throw
error
;
},
0
);
var
entry
;
for
(
var
i
=
0
;
i
<
queue
.
length
;
i
++
)
{
entry
=
queue
[
i
];
config
.
trigger
(
entry
.
name
,
entry
.
payload
);
}
queue
.
length
=
0
;
},
50
);
}
};
},{
"./config"
:
5
6
,
"./utils"
:
75
}],
63
:[
function
(
require
,
module
,
exports
){
},{
"./config"
:
5
8
,
"./utils"
:
79
}],
66
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isArray
=
require
(
'./utils'
).
isArray
;
...
...
@@ -10432,7 +10728,7 @@ var isFunction = require('./utils').isFunction;
`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
the blog posts first bec
ua
se they contain a url to those comments.
the blog posts first bec
au
se they contain a url to those comments.
```javscript
...
...
@@ -10475,7 +10771,7 @@ exports['default'] = function map(promises, mapFn, label) {
return
Promise
.
all
(
results
,
label
);
});
};
},{
"./promise"
:
6
5
,
"./utils"
:
75
}],
64
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
,
"./utils"
:
79
}],
67
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/* global arraySlice */
var
Promise
=
require
(
'./promise'
)[
'default'
];
...
...
@@ -10619,7 +10915,9 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) {
}
var
thisArg
;
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.'
);
}
thisArg
=
argumentNames
;
}
else
{
thisArg
=
this
;
...
...
@@ -10663,7 +10961,48 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) {
denodeifiedFunction
.
__proto__
=
nodeFunc
;
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'
;
var
config
=
require
(
'./config'
).
config
;
var
EventTarget
=
require
(
'./events'
)[
'default'
];
...
...
@@ -10671,6 +11010,15 @@ var instrument = require('./instrument')['default'];
var
objectOrFunction
=
require
(
'./utils'
).
objectOrFunction
;
var
isFunction
=
require
(
'./utils'
).
isFunction
;
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
all
=
require
(
'./promise/all'
)[
'default'
];
var
race
=
require
(
'./promise/race'
)[
'default'
];
...
...
@@ -10678,7 +11026,11 @@ var Resolve = require('./promise/resolve')['default'];
var
Reject
=
require
(
'./promise/reject'
)[
'default'
];
var
guidKey
=
'rsvp_'
+
now
()
+
'-'
;
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
;
/**
...
...
@@ -10751,7 +11103,7 @@ exports['default'] = Promise;
if (this.status === 200) {
resolve(this.response);
} 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;
```
@class RSVP.Promise
@param {function}
@param {function}
resolver
@param {String} label optional string for labeling the promise.
Useful for tooling.
@constructor
*/
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
.
_label
=
label
;
this
.
_subscribers
=
[];
...
...
@@ -10799,20 +11145,13 @@ function Promise(resolver, label) {
instrument
(
'created'
,
this
);
}
if
(
noop
!==
resolver
)
{
invokeResolver
(
resolver
,
this
);
}
}
function
invokeResolver
(
resolver
,
promise
)
{
function
resolvePromise
(
value
)
{
resolve
(
promise
,
value
);
if
(
!
isFunction
(
resolver
))
{
needsResolver
();
}
function
rejectPromise
(
reason
)
{
reject
(
promise
,
reason
);
if
(
!
(
this
instanceof
Promise
)
)
{
needsNew
(
);
}
try
{
resolver
(
resolvePromise
,
rejectPromise
);
}
catch
(
e
)
{
rejectPromise
(
e
);
initializePromise
(
this
,
resolver
);
}
}
Promise
.
cast
=
cast
;
...
...
@@ -10820,56 +11159,41 @@ Promise.all = all;
Promise
.
race
=
race
;
Promise
.
resolve
=
Resolve
;
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
=
{
constructor
:
Promise
,
_id
:
undefined
,
_guidKey
:
guidKey
,
_label
:
undefined
,
_state
:
undefined
,
_
detail
:
undefined
,
_
result
:
undefined
,
_subscribers
:
undefined
,
_onerror
:
function
(
reason
)
{
config
.
trigger
(
'error'
,
reason
);
},
then
:
function
(
onFulfillment
,
onRejection
,
label
)
{
var
promise
=
this
;
this
.
_onerror
=
null
;
var
thenPromise
=
new
this
.
constructor
(
noop
,
label
);
if
(
this
.
_state
)
{
var
callbacks
=
arguments
;
config
.
async
(
function
invokePromiseCallback
()
{
invokeCallback
(
promise
.
_state
,
thenPromise
,
callbacks
[
promise
.
_state
-
1
],
promise
.
_detail
);
});
}
else
{
subscribe
(
this
,
thenPromise
,
onFulfillment
,
onRejection
);
var
parent
=
this
;
var
state
=
parent
.
_state
;
if
(
state
===
FULFILLED
&&
!
onFulfillment
||
state
===
REJECTED
&&
!
onRejection
)
{
if
(
config
.
instrument
)
{
instrument
(
'chained'
,
this
,
this
);
}
return
this
;
}
parent
.
_onerror
=
null
;
var
child
=
new
this
.
constructor
(
noop
,
label
);
var
result
=
parent
.
_result
;
if
(
config
.
instrument
)
{
instrument
(
'chained'
,
p
romise
,
thenPromise
);
instrument
(
'chained'
,
p
arent
,
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
)
{
return
this
.
then
(
null
,
onRejection
,
label
);
...
...
@@ -10887,106 +11211,9 @@ Promise.prototype = {
},
label
);
}
};
function
invokeCallback
(
settled
,
promise
,
callback
,
detail
)
{
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
){
},{
"./-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
){
'use strict'
;
var
isArray
=
require
(
'../utils'
).
isArray
;
var
isNonThenable
=
require
(
'../utils'
).
isNonThenable
;
var
Enumerator
=
require
(
'../enumerator'
)[
'default'
];
/**
`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
...
...
@@ -11035,46 +11262,11 @@ var isNonThenable = require('../utils').isNonThenable;
@static
*/
exports
[
'default'
]
=
function
all
(
entries
,
label
)
{
/*jshint validthis:true */
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
);
return
new
Enumerator
(
this
,
entries
,
true
,
label
).
promise
;
};
},{
"../
utils"
:
75
}],
67
:[
function
(
require
,
module
,
exports
){
},{
"../
enumerator"
:
60
}],
71
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
resolve
=
require
(
'./resolve'
)[
'default'
];
/**
@deprecated
...
...
@@ -11143,22 +11335,17 @@ exports['default'] = function all(entries, label) {
Useful for tooling.
@return {Promise} promise
*/
exports
[
'default'
]
=
function
cast
(
object
,
label
)
{
/*jshint validthis:true */
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
){
exports
[
'default'
]
=
resolve
;
},{
"./resolve"
:
74
}],
72
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/* global toString */
var
isArray
=
require
(
'../utils'
).
isArray
;
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
first passed promise to settle.
...
...
@@ -11206,7 +11393,7 @@ var isNonThenable = require('../utils').isNonThenable;
RSVP.Promise.race([promise1, promise2]).then(function(result){
// Code here never runs
}, 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
});
```
...
...
@@ -11228,37 +11415,27 @@ var isNonThenable = require('../utils').isNonThenable;
exports
[
'default'
]
=
function
race
(
entries
,
label
)
{
/*jshint validthis:true */
var
Constructor
=
this
,
entry
;
return
new
Constructor
(
function
(
resolve
,
reject
)
{
var
promise
=
new
Constructor
(
noop
,
label
);
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
)
{
if
(
pending
)
{
pending
=
false
;
resolve
(
value
);
}
resolve
(
promise
,
value
);
}
function
onRejection
(
reason
)
{
if
(
pending
)
{
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
);
reject
(
promise
,
reason
);
}
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'
;
var
noop
=
require
(
'../-internal'
).
noop
;
var
_reject
=
require
(
'../-internal'
).
reject
;
/**
`RSVP.Promise.reject` returns a promise rejected with the passed `reason`.
It is shorthand for the following:
...
...
@@ -11297,12 +11474,14 @@ exports['default'] = function race(entries, label) {
exports
[
'default'
]
=
function
reject
(
reason
,
label
)
{
/*jshint validthis:true */
var
Constructor
=
this
;
return
new
Constructor
(
function
(
resolve
,
reject$2
)
{
reject$2
(
reason
);
},
label
)
;
var
promise
=
new
Constructor
(
noop
,
label
);
_reject
(
promise
,
reason
);
return
promise
;
};
},{
}],
70
:[
function
(
require
,
module
,
exports
){
},{
"../-internal"
:
54
}],
74
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
noop
=
require
(
'../-internal'
).
noop
;
var
_resolve
=
require
(
'../-internal'
).
resolve
;
/**
`RSVP.Promise.resolve` returns a promise that will become resolved with the
passed `value`. It is shorthand for the following:
...
...
@@ -11341,11 +11520,11 @@ exports['default'] = function resolve(object, label) {
if
(
object
&&
typeof
object
===
'object'
&&
object
.
constructor
===
Constructor
)
{
return
object
;
}
return
new
Constructor
(
function
(
resolve$2
)
{
resolve$2
(
object
);
},
label
)
;
var
promise
=
new
Constructor
(
noop
,
label
);
_resolve
(
promise
,
object
);
return
promise
;
};
},{
}],
71
:[
function
(
require
,
module
,
exports
){
},{
"../-internal"
:
54
}],
75
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11361,7 +11540,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
race
(
array
,
label
)
{
return
Promise
.
race
(
array
,
label
);
};
},{
"./promise"
:
6
5
}],
72
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
}],
76
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11378,7 +11557,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
reject
(
reason
,
label
)
{
return
Promise
.
reject
(
reason
,
label
);
};
},{
"./promise"
:
6
5
}],
73
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
}],
77
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11396,7 +11575,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
resolve
(
value
,
label
)
{
return
Promise
.
resolve
(
value
,
label
);
};
},{
"./promise"
:
6
5
}],
74
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
6
9
}],
78
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/**
`RSVP.rethrow` will rethrow an error on the next turn of the JavaScript event
...
...
@@ -11444,7 +11623,7 @@ exports['default'] = function rethrow(reason) {
});
throw
reason
;
};
},{}],
7
5
:[
function
(
require
,
module
,
exports
){
},{}],
7
9
:[
function
(
require
,
module
,
exports
){
'use strict'
;
function
objectOrFunction
(
x
)
{
return
typeof
x
===
'function'
||
typeof
x
===
'object'
&&
x
!==
null
;
...
...
@@ -11454,10 +11633,10 @@ function isFunction(x) {
return
typeof
x
===
'function'
;
}
exports
.
isFunction
=
isFunction
;
function
is
Non
Thenable
(
x
)
{
return
!
objectOrFunction
(
x
)
;
function
is
Maybe
Thenable
(
x
)
{
return
typeof
x
===
'object'
&&
x
!==
null
;
}
exports
.
is
NonThenable
=
isNon
Thenable
;
exports
.
is
MaybeThenable
=
isMaybe
Thenable
;
var
_isArray
;
if
(
!
Array
.
isArray
)
{
_isArray
=
function
(
x
)
{
...
...
@@ -11474,16 +11653,13 @@ var now = Date.now || function () {
return
new
Date
().
getTime
();
};
exports
.
now
=
now
;
var
keysOf
=
Object
.
keys
||
function
(
object
)
{
var
result
=
[];
for
(
var
prop
in
object
)
{
result
.
push
(
prop
);
}
return
result
;
var
o_create
=
Object
.
create
||
function
(
object
)
{
var
o
=
function
()
{
};
exports
.
keysOf
=
keysOf
;
},{}],
"./psd/init.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'/ioUh4'
);
o
.
prototype
=
object
;
return
o
;
};
exports
.
o_create
=
o_create
;
},{}],
"/ioUh4"
:[
function
(
require
,
module
,
exports
){
var
RSVP
;
...
...
@@ -11526,8 +11702,8 @@ module.exports = {
};
},{
"rsvp"
:
5
2
}],
"./image_exports/png
.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'
bZ5QlH
'
);
},{
"rsvp"
:
5
3
}],
"./psd/init
.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'
/ioUh4
'
);
},{}],
"bZ5QlH"
:[
function
(
require
,
module
,
exports
){
var
RSVP
;
...
...
@@ -11564,43 +11740,6 @@ module.exports = {
};
},{
"rsvp"
:
52
}],
"./image_modes/rgb.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'DhO9gV'
);
},{}],
"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
;
}
};
},{
"rsvp"
:
53
}],
"./image_exports/png.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'bZ5QlH'
);
},{}]},{},[])
\ No newline at end of file
shims/rgb.coffee
deleted
100644 → 0
View file @
5eda9ee0
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment