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
000d034a
Commit
000d034a
authored
May 23, 2014
by
Ryan LeFevre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix parsing of files without layer comps
parent
71635fa6
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
327 additions
and
65 deletions
+327
-65
psd.js
dist/psd.js
+319
-61
tree.js
examples/node/tree.js
+4
-3
psd.coffee
lib/psd.coffee
+3
-0
root.coffee
lib/psd/nodes/root.coffee
+1
-1
No files found.
dist/psd.js
View file @
000d034a
...
...
@@ -80,7 +80,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"
:
25
,
"./psd/lazy_execute.coffee"
:
26
,
"./psd/nodes/root.coffee"
:
32
,
"./psd/resources.coffee"
:
36
,
"coffeescript-module"
:
40
}],
"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"
:
33
,
"./psd/lazy_execute.coffee"
:
34
,
"./psd/nodes/root.coffee"
:
40
,
"./psd/resources.coffee"
:
44
,
"coffeescript-module"
:
48
}],
"psd"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'aS3ana'
);
},{}],
3
:[
function
(
require
,
module
,
exports
){
var
BlendMode
,
Module
,
...
...
@@ -157,7 +157,7 @@ module.exports = BlendMode = (function(_super) {
})(
Module
);
},{
"coffeescript-module"
:
4
0
}],
4
:[
function
(
require
,
module
,
exports
){
},{
"coffeescript-module"
:
4
8
}],
4
:[
function
(
require
,
module
,
exports
){
var
Descriptor
;
module
.
exports
=
Descriptor
=
(
function
()
{
...
...
@@ -542,7 +542,7 @@ module.exports = File = (function() {
};
File
.
prototype
.
readBoolean
=
function
()
{
return
readByte
()
!==
0
;
return
this
.
readByte
()
!==
0
;
};
return
File
;
...
...
@@ -550,7 +550,7 @@ module.exports = File = (function() {
})();
},{
"./util.coffee"
:
38
,
"jspack"
:
42
}],
6
:[
function
(
require
,
module
,
exports
){
},{
"./util.coffee"
:
46
,
"jspack"
:
50
}],
6
:[
function
(
require
,
module
,
exports
){
var
Header
;
module
.
exports
=
Header
=
(
function
()
{
...
...
@@ -738,7 +738,7 @@ module.exports = Image = (function(_super) {
})(
Module
);
},{
"./image_export.coffee"
:
8
,
"./image_format.coffee"
:
9
,
"./image_mode.coffee"
:
12
,
"coffeescript-module"
:
4
0
}],
8
:[
function
(
require
,
module
,
exports
){
},{
"./image_export.coffee"
:
8
,
"./image_format.coffee"
:
9
,
"./image_mode.coffee"
:
12
,
"coffeescript-module"
:
4
8
}],
8
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
PNG
:
require
(
'./image_exports/png.coffee'
)
};
...
...
@@ -911,7 +911,7 @@ module.exports = Layer = (function(_super) {
})(
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"
:
4
0
}],
14
:[
function
(
require
,
module
,
exports
){
},{
"./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"
:
4
8
}],
14
:[
function
(
require
,
module
,
exports
){
var
BlendMode
;
BlendMode
=
require
(
'../blend_mode.coffee'
);
...
...
@@ -1000,6 +1000,14 @@ LazyExecute = require('../lazy_execute.coffee');
Util
=
require
(
'../util.coffee'
);
LAYER_INFO
=
{
blendClippingElements
:
require
(
'../layer_info/blend_clipping_elements.coffee'
),
blendInteriorElements
:
require
(
'../layer_info/blend_interior_elements.coffee'
),
fillOpacity
:
require
(
'../layer_info/fill_opacity.coffee'
),
gradientFill
:
require
(
'../layer_info/gradient_fill.coffee'
),
layerId
:
require
(
'../layer_info/layer_id.coffee'
),
layerNameSource
:
require
(
'../layer_info/layer_name_source.coffee'
),
locked
:
require
(
'../layer_info/locked.coffee'
),
metadata
:
require
(
'../layer_info/metadata.coffee'
),
name
:
require
(
'../layer_info/unicode_name.coffee'
),
nestedSectionDivider
:
require
(
'../layer_info/nested_section_divider.coffee'
),
sectionDivider
:
require
(
'../layer_info/section_divider.coffee'
)
...
...
@@ -1027,7 +1035,7 @@ module.exports = {
(
function
(
_this
)
{
return
(
function
(
name
)
{
return
_this
[
name
]
=
function
()
{
return
this
.
adjustments
[
name
];
return
_
this
.
adjustments
[
name
];
};
});
})(
this
)(
name
);
...
...
@@ -1046,7 +1054,7 @@ module.exports = {
};
},{
"../layer_info/
nested_section_divider.coffee"
:
22
,
"../layer_info/section_divider.coffee"
:
23
,
"../layer_info/unicode_name.coffee"
:
24
,
"../lazy_execute.coffee"
:
26
,
"../util.coffee"
:
38
}],
18
:[
function
(
require
,
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
){
var
Mask
;
Mask
=
require
(
'../mask.coffee'
);
...
...
@@ -1058,7 +1066,7 @@ module.exports = {
};
},{
"../mask.coffee"
:
27
}],
19
:[
function
(
require
,
module
,
exports
){
},{
"../mask.coffee"
:
35
}],
19
:[
function
(
require
,
module
,
exports
){
var
Util
;
Util
=
require
(
'../util.coffee'
);
...
...
@@ -1072,7 +1080,7 @@ module.exports = {
};
},{
"../util.coffee"
:
38
}],
20
:[
function
(
require
,
module
,
exports
){
},{
"../util.coffee"
:
46
}],
20
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
parsePositionAndChannels
:
function
()
{
var
i
,
id
,
length
,
_i
,
_ref
,
_results
;
...
...
@@ -1123,6 +1131,254 @@ module.exports = LayerInfo = (function() {
},{}],
22
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
module
.
exports
=
BlendClippingElements
=
(
function
(
_super
)
{
__extends
(
BlendClippingElements
,
_super
);
function
BlendClippingElements
()
{
return
BlendClippingElements
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
BlendClippingElements
.
shouldParse
=
function
(
key
)
{
return
key
===
'clbl'
;
};
BlendClippingElements
.
prototype
.
parse
=
function
()
{
this
.
enabled
=
this
.
file
.
readBoolean
();
return
this
.
file
.
seek
(
3
,
true
);
};
return
BlendClippingElements
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
23
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
module
.
exports
=
BlendInteriorElements
=
(
function
(
_super
)
{
__extends
(
BlendInteriorElements
,
_super
);
function
BlendInteriorElements
()
{
return
BlendInteriorElements
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
BlendInteriorElements
.
shouldParse
=
function
(
key
)
{
return
key
===
'infx'
;
};
BlendInteriorElements
.
prototype
.
parse
=
function
()
{
this
.
enabled
=
this
.
file
.
readBoolean
();
return
this
.
file
.
seek
(
3
,
true
);
};
return
BlendInteriorElements
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
24
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
module
.
exports
=
FillOpacity
=
(
function
(
_super
)
{
__extends
(
FillOpacity
,
_super
);
function
FillOpacity
()
{
return
FillOpacity
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
FillOpacity
.
shouldParse
=
function
(
key
)
{
return
key
===
'iOpa'
;
};
FillOpacity
.
prototype
.
parse
=
function
()
{
return
this
.
value
=
this
.
file
.
readByte
();
};
return
FillOpacity
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
25
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
Descriptor
=
require
(
'../descriptor.coffee'
);
module
.
exports
=
GradientFill
=
(
function
(
_super
)
{
__extends
(
GradientFill
,
_super
);
function
GradientFill
()
{
return
GradientFill
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
GradientFill
.
shouldParse
=
function
(
key
)
{
return
key
===
'GdFl'
;
};
GradientFill
.
prototype
.
parse
=
function
()
{
this
.
file
.
seek
(
4
,
true
);
return
this
.
data
=
new
Descriptor
(
this
.
file
).
parse
();
};
return
GradientFill
;
})(
LayerInfo
);
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
21
}],
26
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
module
.
exports
=
LayerId
=
(
function
(
_super
)
{
__extends
(
LayerId
,
_super
);
function
LayerId
()
{
return
LayerId
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
LayerId
.
shouldParse
=
function
(
key
)
{
return
key
===
'lyid'
;
};
LayerId
.
prototype
.
parse
=
function
()
{
return
this
.
id
=
this
.
file
.
readInt
();
};
return
LayerId
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
27
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
module
.
exports
=
LayerNameSource
=
(
function
(
_super
)
{
__extends
(
LayerNameSource
,
_super
);
function
LayerNameSource
()
{
return
LayerNameSource
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
LayerNameSource
.
shouldParse
=
function
(
key
)
{
return
key
===
'lnsr'
;
};
LayerNameSource
.
prototype
.
parse
=
function
()
{
return
this
.
id
=
this
.
file
.
readString
(
4
);
};
return
LayerNameSource
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
28
:[
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
;
};
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'
;
};
Locked
.
prototype
.
parse
=
function
()
{
var
locked
;
locked
=
this
.
file
.
readInt
();
this
.
transparencyLocked
=
(
locked
&
(
0x01
<<
0
))
>
0
||
locked
===
-
2147483648
;
this
.
compositeLocked
=
(
locked
&
(
0x01
<<
1
))
>
0
||
locked
===
-
2147483648
;
this
.
positionLocked
=
(
locked
&
(
0x01
<<
2
))
>
0
||
locked
===
-
2147483648
;
return
this
.
allLocked
=
this
.
transparencyLocked
&&
this
.
compositeLocked
&&
this
.
positionLocked
;
};
return
Locked
;
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
29
:[
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
;
};
LayerInfo
=
require
(
'../layer_info.coffee'
);
Descriptor
=
require
(
'../descriptor.coffee'
);
module
.
exports
=
Metadata
=
(
function
(
_super
)
{
__extends
(
Metadata
,
_super
);
function
Metadata
()
{
return
Metadata
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
Metadata
.
shouldParse
=
function
(
key
)
{
return
key
===
'shmd'
;
};
Metadata
.
prototype
.
parse
=
function
()
{
var
copyOnSheetDup
,
count
,
end
,
i
,
key
,
len
,
_i
,
_results
;
count
=
this
.
file
.
readInt
();
_results
=
[];
for
(
i
=
_i
=
0
;
0
<=
count
?
_i
<
count
:
_i
>
count
;
i
=
0
<=
count
?
++
_i
:
--
_i
)
{
this
.
file
.
seek
(
4
,
true
);
key
=
this
.
file
.
readString
(
4
);
copyOnSheetDup
=
this
.
file
.
readByte
();
this
.
file
.
seek
(
3
,
true
);
len
=
this
.
file
.
readInt
();
end
=
this
.
file
.
tell
()
+
len
;
if
(
key
===
'cmls'
)
{
this
.
parseLayerComps
();
}
_results
.
push
(
this
.
file
.
seek
(
end
));
}
return
_results
;
};
Metadata
.
prototype
.
parseLayerComps
=
function
()
{
this
.
file
.
seek
(
4
,
true
);
return
this
.
data
.
layerComp
=
new
Descriptor
(
this
.
file
).
parse
();
};
return
Metadata
;
})(
LayerInfo
);
},{
"../descriptor.coffee"
:
4
,
"../layer_info.coffee"
:
21
}],
30
:[
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
;
};
...
...
@@ -1159,7 +1415,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
23
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
21
}],
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
;
};
...
...
@@ -1214,7 +1470,7 @@ module.exports = NestedSectionDivider = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
24
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
21
}],
32
:[
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
;
};
...
...
@@ -1245,7 +1501,7 @@ module.exports = UnicodeName = (function(_super) {
})(
LayerInfo
);
},{
"../layer_info.coffee"
:
21
}],
25
:[
function
(
require
,
module
,
exports
){
},{
"../layer_info.coffee"
:
21
}],
33
:[
function
(
require
,
module
,
exports
){
var
Layer
,
LayerMask
,
Util
,
_
;
_
=
require
(
'lodash'
);
...
...
@@ -1320,7 +1576,7 @@ module.exports = LayerMask = (function() {
})();
},{
"./layer.coffee"
:
13
,
"./util.coffee"
:
38
,
"lodash"
:
43
}],
26
:[
function
(
require
,
module
,
exports
){
},{
"./layer.coffee"
:
13
,
"./util.coffee"
:
46
,
"lodash"
:
51
}],
34
:[
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
;
};
...
...
@@ -1397,7 +1653,7 @@ module.exports = LazyExecute = (function() {
})();
},{}],
27
:[
function
(
require
,
module
,
exports
){
},{}],
35
:[
function
(
require
,
module
,
exports
){
var
Mask
;
module
.
exports
=
Mask
=
(
function
()
{
...
...
@@ -1454,7 +1710,7 @@ module.exports = Mask = (function() {
})();
},{}],
28
:[
function
(
require
,
module
,
exports
){
},{}],
36
:[
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
;
};
...
...
@@ -1538,10 +1794,12 @@ module.exports = Node = (function(_super) {
};
Node
.
prototype
.
get
=
function
(
prop
)
{
if
(
this
[
prop
]
!=
null
)
{
return
this
[
prop
];
var
value
;
value
=
this
[
prop
]
!=
null
?
this
[
prop
]
:
this
.
layer
[
prop
];
if
(
typeof
value
===
'function'
)
{
return
value
();
}
else
{
return
this
.
layer
[
prop
]
;
return
value
;
}
};
...
...
@@ -1641,7 +1899,7 @@ module.exports = Node = (function(_super) {
})(
Module
);
},{
"./nodes/ancestry.coffee"
:
29
,
"./nodes/search.coffee"
:
33
,
"coffeescript-module"
:
40
,
"lodash"
:
43
}],
29
:[
function
(
require
,
module
,
exports
){
},{
"./nodes/ancestry.coffee"
:
37
,
"./nodes/search.coffee"
:
41
,
"coffeescript-module"
:
48
,
"lodash"
:
51
}],
37
:[
function
(
require
,
module
,
exports
){
var
_
;
_
=
require
(
'lodash'
);
...
...
@@ -1727,7 +1985,7 @@ module.exports = {
};
},{
"lodash"
:
43
}],
30
:[
function
(
require
,
module
,
exports
){
},{
"lodash"
:
51
}],
38
:[
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
;
};
...
...
@@ -1779,7 +2037,7 @@ module.exports = Group = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
28
,
"lodash"
:
43
}],
31
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
36
,
"lodash"
:
51
}],
39
:[
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
;
};
...
...
@@ -1814,7 +2072,7 @@ module.exports = Layer = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
28
,
"lodash"
:
43
}],
32
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
36
,
"lodash"
:
51
}],
40
:[
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
;
};
...
...
@@ -1878,7 +2136,7 @@ module.exports = Root = (function(_super) {
width
:
this
.
width
,
height
:
this
.
height
,
resources
:
{
layerComps
:
[]
,
layerComps
:
this
.
psd
.
resources
.
resource
(
'layerComps'
)[
"export"
]()
,
guides
:
[],
slices
:
[]
}
...
...
@@ -1912,7 +2170,7 @@ module.exports = Root = (function(_super) {
})(
Node
);
},{
"../node.coffee"
:
28
,
"./group.coffee"
:
30
,
"./layer.coffee"
:
31
,
"lodash"
:
43
}],
33
:[
function
(
require
,
module
,
exports
){
},{
"../node.coffee"
:
36
,
"./group.coffee"
:
38
,
"./layer.coffee"
:
39
,
"lodash"
:
51
}],
41
:[
function
(
require
,
module
,
exports
){
var
_
;
_
=
require
(
'lodash'
);
...
...
@@ -1948,7 +2206,7 @@ module.exports = {
};
},{
"lodash"
:
43
}],
34
:[
function
(
require
,
module
,
exports
){
},{
"lodash"
:
51
}],
42
:[
function
(
require
,
module
,
exports
){
var
Resource
,
Util
;
Util
=
require
(
'./util.coffee'
);
...
...
@@ -1977,7 +2235,7 @@ module.exports = Resource = (function() {
})();
},{
"./resource_section.coffee"
:
35
,
"./util.coffee"
:
38
}],
35
:[
function
(
require
,
module
,
exports
){
},{
"./resource_section.coffee"
:
43
,
"./util.coffee"
:
46
}],
43
:[
function
(
require
,
module
,
exports
){
var
ResourceSection
,
_
;
_
=
require
(
'lodash'
);
...
...
@@ -2008,7 +2266,7 @@ module.exports = ResourceSection = (function() {
})();
},{
"./resources/layer_comps.coffee"
:
37
,
"lodash"
:
43
}],
36
:[
function
(
require
,
module
,
exports
){
},{
"./resources/layer_comps.coffee"
:
45
,
"lodash"
:
51
}],
44
:[
function
(
require
,
module
,
exports
){
var
Resource
,
Resources
;
Resource
=
require
(
'./resource.coffee'
);
...
...
@@ -2065,7 +2323,7 @@ module.exports = Resources = (function() {
})();
},{
"./resource.coffee"
:
34
}],
37
:[
function
(
require
,
module
,
exports
){
},{
"./resource.coffee"
:
42
}],
45
:[
function
(
require
,
module
,
exports
){
var
Descriptor
,
LayerComps
;
Descriptor
=
require
(
'../descriptor.coffee'
);
...
...
@@ -2118,7 +2376,7 @@ module.exports = LayerComps = (function() {
})();
},{
"../descriptor.coffee"
:
4
}],
38
:[
function
(
require
,
module
,
exports
){
},{
"../descriptor.coffee"
:
4
}],
46
:[
function
(
require
,
module
,
exports
){
var
Util
;
module
.
exports
=
Util
=
(
function
()
{
...
...
@@ -2149,7 +2407,7 @@ module.exports = Util = (function() {
})();
},{}],
39
:[
function
(
require
,
module
,
exports
){
},{}],
47
:[
function
(
require
,
module
,
exports
){
// shim for using process in browser
var
process
=
module
.
exports
=
{};
...
...
@@ -2211,9 +2469,9 @@ process.chdir = function (dir) {
throw
new
Error
(
'process.chdir is not supported'
);
};
},{}],
4
0
:[
function
(
require
,
module
,
exports
){
},{}],
4
8
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'./module'
);
},{
"./module"
:
4
1
}],
41
:[
function
(
require
,
module
,
exports
){
},{
"./module"
:
4
9
}],
49
:[
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
;
},
...
...
@@ -2293,7 +2551,7 @@ exports.Module = Module = (function() {
})();
},{}],
42
:[
function
(
require
,
module
,
exports
){
},{}],
50
:[
function
(
require
,
module
,
exports
){
/*!
* Copyright © 2008 Fair Oaks Labs, Inc.
* All rights reserved.
...
...
@@ -2549,7 +2807,7 @@ function JSPack()
exports
.
jspack
=
new
JSPack
();
},{}],
43
:[
function
(
require
,
module
,
exports
){
},{}],
51
:[
function
(
require
,
module
,
exports
){
(
function
(
global
){
/**
* @license
...
...
@@ -9338,7 +9596,7 @@ exports.jspack = new JSPack();
}.
call
(
this
));
}).
call
(
this
,
typeof
self
!==
"undefined"
?
self
:
typeof
window
!==
"undefined"
?
window
:
{})
},{}],
44
:[
function
(
require
,
module
,
exports
){
},{}],
52
:[
function
(
require
,
module
,
exports
){
"use strict"
;
var
Promise
=
require
(
"./rsvp/promise"
)[
"default"
];
var
EventTarget
=
require
(
"./rsvp/events"
)[
"default"
];
...
...
@@ -9401,7 +9659,7 @@ exports.reject = reject;
exports
.
async
=
async
;
exports
.
map
=
map
;
exports
.
filter
=
filter
;
},{
"./rsvp/all"
:
46
,
"./rsvp/all-settled"
:
45
,
"./rsvp/asap"
:
47
,
"./rsvp/config"
:
48
,
"./rsvp/defer"
:
49
,
"./rsvp/events"
:
50
,
"./rsvp/filter"
:
51
,
"./rsvp/hash"
:
53
,
"./rsvp/hash-settled"
:
52
,
"./rsvp/map"
:
55
,
"./rsvp/node"
:
56
,
"./rsvp/promise"
:
57
,
"./rsvp/race"
:
63
,
"./rsvp/reject"
:
64
,
"./rsvp/resolve"
:
65
,
"./rsvp/rethrow"
:
66
}],
45
:[
function
(
require
,
module
,
exports
){
},{
"./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
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isArray
=
require
(
'./utils'
).
isArray
;
...
...
@@ -9507,7 +9765,7 @@ function rejected(reason) {
reason
:
reason
};
}
},{
"./promise"
:
57
,
"./utils"
:
67
}],
46
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
54
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -9523,7 +9781,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
all
(
array
,
label
)
{
return
Promise
.
all
(
array
,
label
);
};
},{
"./promise"
:
57
}],
47
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
}],
55
:[
function
(
require
,
module
,
exports
){
(
function
(
process
){
'use strict'
;
exports
[
'default'
]
=
function
asap
(
callback
,
arg
)
{
...
...
@@ -9579,7 +9837,7 @@ if (typeof process !== 'undefined' && {}.toString.call(process) === '[object pro
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"
:
39
}],
48
:[
function
(
require
,
module
,
exports
){
},{
"/Users/ryanlefevre/Repositories/psd.js/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"
:
47
}],
56
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
EventTarget
=
require
(
'./events'
)[
'default'
];
var
config
=
{
instrument
:
false
};
...
...
@@ -9600,7 +9858,7 @@ function configure(name, value) {
}
exports
.
config
=
config
;
exports
.
configure
=
configure
;
},{
"./events"
:
5
0
}],
49
:[
function
(
require
,
module
,
exports
){
},{
"./events"
:
5
8
}],
57
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -9643,7 +9901,7 @@ exports['default'] = function defer(label) {
},
label
);
return
deferred
;
};
},{
"./promise"
:
57
}],
50
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
}],
58
:[
function
(
require
,
module
,
exports
){
'use strict'
;
function
indexOf
(
callbacks
,
callback
)
{
for
(
var
i
=
0
,
l
=
callbacks
.
length
;
i
<
l
;
i
++
)
{
...
...
@@ -9704,7 +9962,7 @@ exports['default'] = {
}
}
};
},{}],
5
1
:[
function
(
require
,
module
,
exports
){
},{}],
5
9
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isFunction
=
require
(
'./utils'
).
isFunction
;
...
...
@@ -9815,7 +10073,7 @@ exports['default'] = function filter(promises, filterFn, label) {
});
});
};
},{
"./promise"
:
57
,
"./utils"
:
67
}],
52
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
60
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isNonThenable
=
require
(
'./utils'
).
isNonThenable
;
...
...
@@ -9970,7 +10228,7 @@ function rejected(reason) {
reason
:
reason
};
}
},{
"./promise"
:
57
,
"./utils"
:
67
}],
53
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
61
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isNonThenable
=
require
(
'./utils'
).
isNonThenable
;
...
...
@@ -10099,7 +10357,7 @@ exports['default'] = function hash(object, label) {
}
});
};
},{
"./promise"
:
57
,
"./utils"
:
67
}],
54
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
62
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
config
=
require
(
'./config'
).
config
;
var
now
=
require
(
'./utils'
).
now
;
...
...
@@ -10121,7 +10379,7 @@ exports['default'] = function instrument(eventName, promise, child) {
},
0
);
}
};
},{
"./config"
:
48
,
"./utils"
:
67
}],
55
:[
function
(
require
,
module
,
exports
){
},{
"./config"
:
56
,
"./utils"
:
75
}],
63
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
var
isArray
=
require
(
'./utils'
).
isArray
;
...
...
@@ -10217,7 +10475,7 @@ exports['default'] = function map(promises, mapFn, label) {
return
Promise
.
all
(
results
,
label
);
});
};
},{
"./promise"
:
57
,
"./utils"
:
67
}],
56
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
64
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/* global arraySlice */
var
Promise
=
require
(
'./promise'
)[
'default'
];
...
...
@@ -10405,7 +10663,7 @@ exports['default'] = function denodeify(nodeFunc, argumentNames) {
denodeifiedFunction
.
__proto__
=
nodeFunc
;
return
denodeifiedFunction
;
};
},{
"./promise"
:
57
,
"./utils"
:
67
}],
57
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
,
"./utils"
:
75
}],
65
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
config
=
require
(
'./config'
).
config
;
var
EventTarget
=
require
(
'./events'
)[
'default'
];
...
...
@@ -10725,7 +10983,7 @@ function publishRejection(promise) {
}
publish
(
promise
,
promise
.
_state
=
REJECTED
);
}
},{
"./config"
:
48
,
"./events"
:
50
,
"./instrument"
:
54
,
"./promise/all"
:
58
,
"./promise/cast"
:
59
,
"./promise/race"
:
60
,
"./promise/reject"
:
61
,
"./promise/resolve"
:
62
,
"./utils"
:
67
}],
58
:[
function
(
require
,
module
,
exports
){
},{
"./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'
;
var
isArray
=
require
(
'../utils'
).
isArray
;
var
isNonThenable
=
require
(
'../utils'
).
isNonThenable
;
...
...
@@ -10815,7 +11073,7 @@ exports['default'] = function all(entries, label) {
}
},
label
);
};
},{
"../utils"
:
67
}],
59
:[
function
(
require
,
module
,
exports
){
},{
"../utils"
:
75
}],
67
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/**
@deprecated
...
...
@@ -10895,7 +11153,7 @@ exports['default'] = function cast(object, label) {
resolve
(
object
);
},
label
);
};
},{}],
6
0
:[
function
(
require
,
module
,
exports
){
},{}],
6
8
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/* global toString */
var
isArray
=
require
(
'../utils'
).
isArray
;
...
...
@@ -10999,7 +11257,7 @@ exports['default'] = function race(entries, label) {
}
},
label
);
};
},{
"../utils"
:
67
}],
61
:[
function
(
require
,
module
,
exports
){
},{
"../utils"
:
75
}],
69
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/**
`RSVP.Promise.reject` returns a promise rejected with the passed `reason`.
...
...
@@ -11043,7 +11301,7 @@ exports['default'] = function reject(reason, label) {
reject$2
(
reason
);
},
label
);
};
},{}],
62
:[
function
(
require
,
module
,
exports
){
},{}],
70
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/**
`RSVP.Promise.resolve` returns a promise that will become resolved with the
...
...
@@ -11087,7 +11345,7 @@ exports['default'] = function resolve(object, label) {
resolve$2
(
object
);
},
label
);
};
},{}],
63
:[
function
(
require
,
module
,
exports
){
},{}],
71
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11103,7 +11361,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
race
(
array
,
label
)
{
return
Promise
.
race
(
array
,
label
);
};
},{
"./promise"
:
57
}],
64
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
}],
72
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11120,7 +11378,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
reject
(
reason
,
label
)
{
return
Promise
.
reject
(
reason
,
label
);
};
},{
"./promise"
:
57
}],
65
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
}],
73
:[
function
(
require
,
module
,
exports
){
'use strict'
;
var
Promise
=
require
(
'./promise'
)[
'default'
];
/**
...
...
@@ -11138,7 +11396,7 @@ var Promise = require('./promise')['default'];
exports
[
'default'
]
=
function
resolve
(
value
,
label
)
{
return
Promise
.
resolve
(
value
,
label
);
};
},{
"./promise"
:
57
}],
66
:[
function
(
require
,
module
,
exports
){
},{
"./promise"
:
65
}],
74
:[
function
(
require
,
module
,
exports
){
'use strict'
;
/**
`RSVP.rethrow` will rethrow an error on the next turn of the JavaScript event
...
...
@@ -11186,7 +11444,7 @@ exports['default'] = function rethrow(reason) {
});
throw
reason
;
};
},{}],
67
:[
function
(
require
,
module
,
exports
){
},{}],
75
:[
function
(
require
,
module
,
exports
){
'use strict'
;
function
objectOrFunction
(
x
)
{
return
typeof
x
===
'function'
||
typeof
x
===
'object'
&&
x
!==
null
;
...
...
@@ -11268,7 +11526,7 @@ module.exports = {
};
},{
"rsvp"
:
44
}],
"./image_exports/png.coffee"
:[
function
(
require
,
module
,
exports
){
},{
"rsvp"
:
52
}],
"./image_exports/png.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'bZ5QlH'
);
},{}],
"bZ5QlH"
:[
function
(
require
,
module
,
exports
){
var
RSVP
;
...
...
@@ -11306,7 +11564,7 @@ module.exports = {
};
},{
"rsvp"
:
44
}],
"./image_modes/rgb.coffee"
:[
function
(
require
,
module
,
exports
){
},{
"rsvp"
:
52
}],
"./image_modes/rgb.coffee"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
require
(
'DhO9gV'
);
},{}],
"DhO9gV"
:[
function
(
require
,
module
,
exports
){
module
.
exports
=
{
...
...
examples/node/tree.js
View file @
000d034a
...
...
@@ -2,6 +2,7 @@ var PSD = require('../../');
var
file
=
process
.
argv
[
2
]
||
'./examples/images/example.psd'
;
PSD
.
open
(
file
).
then
(
function
(
psd
)
{
console
.
log
(
psd
.
tree
().
export
());
});
\ No newline at end of file
var
psd
=
PSD
.
fromFile
(
file
);
psd
.
parse
();
console
.
log
(
psd
.
tree
().
export
());
\ No newline at end of file
lib/psd.coffee
View file @
000d034a
RSVP
=
require
'rsvp'
{
Module
}
=
require
'coffeescript-module'
File
=
require
'./psd/file.coffee'
...
...
@@ -22,6 +23,8 @@ module.exports = class PSD extends Module
Object
.
defineProperty
@
,
'layers'
,
get
:
->
@
layerMask
.
layers
RSVP
.
on
'error'
,
(
reason
)
->
console
.
error
(
reason
)
parse
:
->
return
if
@
parsed
...
...
lib/psd/nodes/root.coffee
View file @
000d034a
...
...
@@ -35,7 +35,7 @@ module.exports = class Root extends Node
width
:
@
width
height
:
@
height
resources
:
layerComps
:
@
psd
.
resources
.
resource
(
'layerComps'
)
.
export
()
layerComps
:
@
psd
.
resources
.
resource
(
'layerComps'
)
?
.
export
()
or
[]
guides
:
[]
slices
:
[]
...
...
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