UNPKG

sketch-clean-document

Version:

A Sketch plugin to automagically organise and clean up your Sketch document

30 lines (28 loc) 845 B
import { getLayersOnAllPages, iterateChildLayers } from 'sketch-plugin-helper' export default function deleteUnusedSymbols () { const symbolsToDelete = {} iterateChildLayers(getLayersOnAllPages(), function (layer) { if (layer.type === 'SymbolMaster' || layer.type === 'SymbolInstance') { if ( layer.type === 'SymbolMaster' && layer.getAllInstances().length === 0 && symbolsToDelete[layer.symbolId] !== null ) { symbolsToDelete[layer.symbolId] = layer } layer.overrides.forEach(function (override) { if (override.symbolOverride) { symbolsToDelete[override.value] = null } }) } }) let count = 0 Object.values(symbolsToDelete) .filter(Boolean) .forEach(function (symbol) { symbol.remove() count++ }) return count }