Sha256: 943abc7f129e5877c002d445e0af01be56d2e0de5267c2ecd4bcc3c07ca652ac

Contents?: true

Size: 810 Bytes

Versions: 4

Compression:

Stored size: 810 Bytes

Contents

Trix.extend
  arraysAreEqual: (a = [], b = []) ->
    return false unless a.length is b.length
    for value, index in a
      return false unless value is b[index]
    true

  arrayStartsWith: (a = [], b = []) ->
    Trix.arraysAreEqual(a.slice(0, b.length), b)

  spliceArray: (array, args...) ->
    result = array.slice(0)
    result.splice(args...)
    result

  summarizeArrayChange: (oldArray = [], newArray = []) ->
    added = []
    removed = []

    existingValues = new Set
    for value in oldArray
      existingValues.add(value)

    currentValues = new Set
    for value in newArray
      currentValues.add(value)
      unless existingValues.has(value)
        added.push(value)

    for value in oldArray
      unless currentValues.has(value)
        removed.push(value)

    {added, removed}

Version data entries

4 entries across 4 versions & 1 rubygems

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