Sha256: 4324e43b0cc2330051b5910a25e32e1219ac1875dec3eab947a3934e616be861

Contents?: true

Size: 922 Bytes

Versions: 4

Compression:

Stored size: 922 Bytes

Contents

#= require trix/core/helpers/objects

{copyObject, objectsAreEqual} = Trix

Trix.extend
  normalizeRange: normalizeRange = (range) ->
    return unless range?
    range = [range, range] unless Array.isArray(range)
    [copyValue(range[0]), copyValue(range[1] ? range[0])]

  rangeIsCollapsed: (range) ->
    return unless range?
    [start, end] = normalizeRange(range)
    rangeValuesAreEqual(start, end)

  rangesAreEqual: (leftRange, rightRange) ->
    return unless leftRange? and rightRange?
    [leftStart, leftEnd] = normalizeRange(leftRange)
    [rightStart, rightEnd] = normalizeRange(rightRange)
    rangeValuesAreEqual(leftStart, rightStart) and
      rangeValuesAreEqual(leftEnd, rightEnd)

copyValue = (value) ->
  if typeof value is "number"
    value
  else
    copyObject(value)

rangeValuesAreEqual = (left, right) ->
  if typeof left is "number"
    left is right
  else
    objectsAreEqual(left, right)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vapid-0.1.3 lib/vapid/vendor/trix/src/trix/core/helpers/ranges.coffee
vapid-0.1.2 lib/vapid/vendor/trix/src/trix/core/helpers/ranges.coffee
vapid-0.1.1 lib/vapid/vendor/trix/src/trix/core/helpers/ranges.coffee
vapid-0.1.0 lib/vapid/vendor/trix/src/trix/core/helpers/ranges.coffee