Use consistent selector error

This commit is contained in:
Kevin Sawicki
2015-03-03 16:06:38 -08:00
parent a7bd20f08f
commit c172f78ab5
3 changed files with 11 additions and 6 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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]