Identify layer types by properties
masterSince layers are part of a polymorphic tree, you can determine a layer's specific type by checking for the existence of certain unique properties:
- Group: Has a
childrenproperty. - Text Layer: Has a
textproperty. - Adjustment Layer: Has an
adjustmentproperty. - Smart Object Layer: Has a
placedLayerproperty. - Vector Layer: Has a
vectorMaskproperty. - Bitmap Layer: A regular layer that has a
canvasorimageDataproperty (and lacks the above).
Note: Many properties are shared across types. For example, almost any layer can have a mask property.
// Complex parsing to identify specific layer types
function parseLayer(layer) {
if ('children' in layer) {
// group
layer.children.forEach(parseLayer);
} else if ('text' in layer) {
// text layer
} else if ('adjustment' in layer) {
// adjustment layer
} else if ('placedLayer' in layer) {
// smart object layer
} else if ('vectorMask' in layer) {
// vector layer
} else {
// bitmap layer
}
}