diff options
Diffstat (limited to 'lib/utils.coffee')
| -rw-r--r-- | lib/utils.coffee | 23 | 
1 files changed, 10 insertions, 13 deletions
| diff --git a/lib/utils.coffee b/lib/utils.coffee index f8eb5457..c04bf417 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -152,19 +152,16 @@ Utils =    # locale-sensitive uppercase detection    hasUpperCase: (s) -> s.toLowerCase() != s -  # Allow a function call to be suppressed.  Use Utils.suppress.unlessSuppressed to call a function, unless it -  # is suppressed via the given key.  Use Utils.suppressor.suppress to call a function while suppressing the -  # given key. -  suppressor: do -> -    suppressed = {} - -    suppress: (key, func) -> -      suppressed[key] = if suppressed[key]? then suppressed[key] + 1 else 1 -      func() -      suppressed[key] -= 1 - -    unlessSuppressed: (key, func) -> -      func() unless suppressed[key]? and 0 < suppressed[key] +  # Give objects (including elements) distinct identities. +  getIdentity: do -> +    identities = [] + +    (obj) -> +      index = identities.indexOf obj +      if index < 0 +        index = identities.length +        identities.push obj +      "identity-" + index  # This creates a new function out of an existing function, where the new function takes fewer arguments. This  # allows us to pass around functions instead of functions + a partial list of arguments. | 
