From c172f78ab54fd8d399e1d472000d0bb70d706e0e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Mar 2015 16:06:38 -0800 Subject: [PATCH] Use consistent selector error --- src/command-registry.coffee | 5 ++--- src/context-menu-manager.coffee | 5 ++--- src/selector-parser.coffee | 7 +++++++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/command-registry.coffee b/src/command-registry.coffee index ac77bcc27..07ebcd812 100644 --- a/src/command-registry.coffee +++ b/src/command-registry.coffee @@ -2,7 +2,7 @@ {specificity} = require 'clear-cut' _ = require 'underscore-plus' {$} = require './space-pen-extensions' -{isSelectorValid} = require './selector-parser' +{validateSelector} = require './selector-parser' SequenceCount = 0 SpecificityCache = {} @@ -88,8 +88,7 @@ class CommandRegistry return disposable if typeof target is 'string' - unless isSelectorValid(target) - throw new Error("'#{target}' is not a valid selector") + validateSelector(target) @addSelectorBasedListener(target, commandName, callback) else @addInlineListener(target, commandName, callback) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index f6d2d7f96..0cc56079b 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -8,7 +8,7 @@ fs = require 'fs-plus' {Disposable} = require 'event-kit' Grim = require 'grim' MenuHelpers = require './menu-helpers' -{isSelectorValid} = require './selector-parser' +{validateSelector} = require './selector-parser' SpecificityCache = {} @@ -124,8 +124,7 @@ class ContextMenuManager addedItemSets = [] for selector, items of itemsBySelector - unless isSelectorValid(selector) - throw new Error("'#{selector}' is not a valid selector") + validateSelector(selector) itemSet = new ContextMenuItemSet(selector, items) addedItemSets.push(itemSet) diff --git a/src/selector-parser.coffee b/src/selector-parser.coffee index fc3744a1f..ddb7c337a 100644 --- a/src/selector-parser.coffee +++ b/src/selector-parser.coffee @@ -1,6 +1,13 @@ selectorCache = null testElement = null +exports.validateSelector = (selector) -> + return if exports.isSelectorValid(selector) + + error = new Error("'#{selector}' is not a valid selector") + error.code = 'EBADSELECTOR' + throw error + exports.isSelectorValid = (selector) -> selectorCache ?= {} cachedValue = selectorCache[selector]