dvStudioAppShortcutsOf function

List<DVShortcut> dvStudioAppShortcutsOf(
  1. DVPageDocument? document
)

The shortcuts in document, leaving out any that do not parse.

Implementation

List<DVShortcut> dvStudioAppShortcutsOf(DVPageDocument? document) {
  final Object? raw = document?.root.properties['shortcuts'];
  if (raw is! List) return const <DVShortcut>[];
  final List<DVShortcut> out = <DVShortcut>[];
  for (final Object? entry in raw) {
    if (entry is! Map) continue;
    try {
      out.add(DVShortcut.fromJson(entry.cast<String, Object?>()));
    } on Object {
      // Written by hand, or by an older Studio: skipped, not fatal.
    }
  }
  return out;
}