New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@mmckegg/mutant

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mmckegg/mutant - npm Package Compare versions

Comparing version 3.11.0 to 3.11.1

45

array.js

@@ -14,5 +14,6 @@ var Value = require('./value')

var sources = []
var releases = []
var objectReleases = []
var fixedIndexing = opts && opts.fixedIndexing || false
var releases = []
var comparer = opts && opts.comparer || null

@@ -59,4 +60,4 @@

if (binder.live) {
tryInvoke(releases[index])
releases[index] = bind(valueOrObs)
tryInvoke(objectReleases[index])
objectReleases[index] = bind(valueOrObs)
}

@@ -70,3 +71,3 @@ binder.broadcast()

sources.splice(at, 0, valueOrObs)
if (binder.live) releases.splice(at, 0, bind(valueOrObs))
if (binder.live) objectReleases.splice(at, 0, bind(valueOrObs))
object.splice(at, 0, resolve(valueOrObs))

@@ -79,3 +80,3 @@ binder.broadcast()

var result = sources.pop()
if (binder.live) tryInvoke(releases.pop())
if (binder.live) tryInvoke(objectReleases.pop())
object.pop()

@@ -88,3 +89,3 @@ binder.broadcast()

var result = sources.shift()
if (binder.live) tryInvoke(releases.shift())
if (binder.live) tryInvoke(objectReleases.shift())
object.shift()

@@ -96,5 +97,5 @@ binder.broadcast()

observable.clear = function () {
releases.forEach(tryInvoke)
objectReleases.forEach(tryInvoke)
sources.length = 0
releases.length = 0
objectReleases.length = 0
object.length = 0

@@ -111,3 +112,3 @@ binder.broadcast()

sources.splice(index, 1)
if (binder.live) releases.splice(index, 1).forEach(tryInvoke)
if (binder.live) objectReleases.splice(index, 1).forEach(tryInvoke)
object.splice(index, 1)

@@ -129,7 +130,7 @@ binder.broadcast()

if (values[i] !== sources[i]) {
tryInvoke(releases[index])
tryInvoke(objectReleases[index])
sources[i] = values[i]
changed = true
if (binder.live) {
releases[i] = bind(sources[i])
objectReleases[i] = bind(sources[i])
}

@@ -143,7 +144,7 @@ }

} else {
tryInvoke(releases[index])
tryInvoke(objectReleases[index])
sources[i] = getObsValue(values[i])
changed = true
if (binder.live) {
releases[i] = bind(sources[i])
objectReleases[i] = bind(sources[i])
}

@@ -153,3 +154,3 @@ }

for (var index = length; index < sources.length; index++) {
tryInvoke(releases[index])
tryInvoke(objectReleases[index])
changed = true

@@ -159,3 +160,3 @@ }

if (changed) {
releases.length = length
objectReleases.length = length
sources.length = length

@@ -168,3 +169,3 @@ object.length = length

sources.length = 0
releases.length = 0
objectReleases.length = 0
object.length = 0

@@ -196,3 +197,3 @@ forEach(values, add)

if (binder.live) {
releases.push(bind(valueOrObs))
objectReleases.push(bind(valueOrObs))
}

@@ -208,3 +209,3 @@ return valueOrObs

sources.forEach(function (obs, i) {
releases[i] = bind(obs)
objectReleases[i] = bind(obs)
})

@@ -221,5 +222,9 @@

function unlisten () {
releases.forEach(tryInvoke)
releases.length = 0
objectReleases.forEach(tryInvoke)
objectReleases.length = 0
while (releases.length) {
tryInvoke(releases.pop())
}
if (opts && opts.onUnlisten) {

@@ -226,0 +231,0 @@ opts.onUnlisten()

@@ -14,5 +14,6 @@ var Value = require('./value')

var sources = {}
var releases = {}
var objectReleases = {}
var fixedIndexing = opts && opts.fixedIndexing || false
var releases = []
var comparer = opts && opts.comparer || null

@@ -48,5 +49,5 @@

Object.keys(sources).forEach(function (key) {
tryInvoke(releases[key])
tryInvoke(objectReleases[key])
delete sources[key]
delete releases[key]
delete objectReleases[key]
delete object[key]

@@ -58,5 +59,5 @@ })

observable.delete = function (key) {
tryInvoke(releases[key])
tryInvoke(objectReleases[key])
delete sources[key]
delete releases[key]
delete objectReleases[key]
delete object[key]

@@ -85,5 +86,5 @@ binder.broadcast()

if (!keys.includes(key)) {
tryInvoke(releases[key])
tryInvoke(objectReleases[key])
delete sources[key]
delete releases[key]
delete objectReleases[key]
delete object[key]

@@ -94,5 +95,5 @@ }

Object.keys(sources).forEach(function (key) {
tryInvoke(releases[key])
tryInvoke(objectReleases[key])
delete sources[key]
delete releases[key]
delete objectReleases[key]
delete object[key]

@@ -118,6 +119,6 @@ })

function put (key, valueOrObs) {
tryInvoke(releases[key])
tryInvoke(objectReleases[key])
sources[key] = valueOrObs
if (binder.live) {
releases[key] = bind(key, valueOrObs)
objectReleases[key] = bind(key, valueOrObs)
}

@@ -138,3 +139,3 @@ object[key] = resolve(valueOrObs)

Object.keys(sources).forEach(function (key) {
releases[key] = bind(sources[key])
objectReleases[key] = bind(key, sources[key])
})

@@ -152,6 +153,10 @@

Object.keys(sources).forEach(function (key) {
tryInvoke(releases[key])
delete releases[key]
tryInvoke(objectReleases[key])
delete objectReleases[key]
})
while (releases.length) {
tryInvoke(releases.pop())
}
if (opts && opts.onUnlisten) {

@@ -158,0 +163,0 @@ opts.onUnlisten()

{
"name": "@mmckegg/mutant",
"version": "3.11.0",
"version": "3.11.1",
"description": "Create observables and map them to DOM elements. Massively inspired by hyperscript and observ-*. No virtual dom, just direct observable bindings. Unnecessary garbage collection is avoided by using mutable objects instead of blasting immutable junk all over the place.",

@@ -5,0 +5,0 @@ "scripts": {

@@ -25,2 +25,3 @@ var test = require('tape')

var onUnlistenCount = 0
var onListenReleaseCount = 0

@@ -30,2 +31,5 @@ var obs = ctor({

onListenCount += 1
return () => {
onListenReleaseCount += 1
}
},

@@ -50,2 +54,3 @@ onUnlisten: () => {

t.equal(onUnlistenCount, 1)
t.equal(onListenReleaseCount, 1)

@@ -57,2 +62,3 @@ var unlisten3 = obs(() => {})

t.equal(onUnlistenCount, 2)
t.equal(onListenReleaseCount, 2)

@@ -59,0 +65,0 @@ t.end()

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc