Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 1.2 KB

data-structures.md

File metadata and controls

36 lines (32 loc) · 1.2 KB

Data Structures

App Shortcut List

This data structure represents a list of shortcuts by url pattern. It is possible for multiple lists to be loaded at the same time (global vs feature specific), in this case the most specific reference ought to win. The events property should be ordered based on the steps required to activate a particular shortcut.

This structure may need a way to differentiate a set of shortcuts based on another DOM identifier. The thought behind this is that some apps may not use URLs to differentiate a set of shortcuts.

{
  "urlPattern": "string|regex",
  "shortcuts": [
    {
      "label": "string",
      "events": [{
        "type": "string[KeyboardEvent|Event]",
        "name": "string",
        "options": {}
      }]
    } 
  ]
}

Navigation Map

This data structure serves as a reference to corresponding shortcut map files. It is generated by taking the url patterns from a collection of shortcut maps and mapping those patterns to the corresponding files. If there is a collision then the most specific pattern should win.

{
    "string|regex": "string"
}

Example:

{
  "http*://sheets.google.com*": "/shortcuts/google-sheets-global.json"
}