absoluteInfluenceRect()
is dead, long live influenceRectForBoundsInDocument()
:
function MSLayerAbsoluteInfluenceRectShim(layer) {
const document = layer.documentData();
const immutable = layer.immutableModelObject();
if (layer.respondsToSelector_(NSSelectorFromString("absoluteInfluenceRect"))) {
// Sketch < 96
return layer.absoluteInfluenceRect();
}
// Sketch >= 96
// TODO: guard API availability for influenceRectForBoundsInDocument()
const relativeInfluenceRect = immutable.influenceRectForBoundsInDocument(document);
return layer.convertRect_toLayer_(relativeInfluenceRect, /* to absolute/page coordinates */null)
}
// Usage
let layer = context.selection[0]
log(MSLayerAbsoluteInfluenceRectShim(layer))