diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2022-05-22 11:26:49 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-22 11:26:49 -0400 |
commit | 259a3031ce436f86b33c4f361e2a9f919fa9db49 (patch) | |
tree | f3816f1e73da202c07f45d4f580a705cc47dc472 | |
parent | 9800ef5140f0138e252e07d0921834dfa68f576f (diff) |
Add apiReflect and apiExists to AnkiConnect (#2150)
-rw-r--r-- | ext/js/comm/anki.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ext/js/comm/anki.js b/ext/js/comm/anki.js index 83cb8221..7ffb747b 100644 --- a/ext/js/comm/anki.js +++ b/ext/js/comm/anki.js @@ -167,6 +167,26 @@ class AnkiConnect { return await this.findCards(`nid:${noteId}`); } + /** + * Gets information about the AnkiConnect APIs available. + * @param {string[]} scopes A list of scopes to get information about. + * @param {?string[]} actions A list of actions to check for + * @returns {object} Information about the APIs. + */ + async apiReflect(scopes, actions=null) { + return await this._invoke('apiReflect', {scopes, actions}); + } + + /** + * Checks whether a specific API action exists. + * @param {string} action The action to check for. + * @returns {boolean} Whether or not the action exists. + */ + async apiExists(action) { + const {actions} = await this.apiReflect(['actions'], [action]); + return actions.includes(action); + } + // Private async _checkVersion() { |