Socket
Socket
Sign inDemoInstall

datom

Package Overview
Dependencies
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datom - npm Package Compare versions

Comparing version 2.3.1 to 2.4.0

lib/tests/xemitter.test.js

105

lib/xemitter.mixin.js

@@ -1,2 +0,1 @@

// Generated by CoffeeScript 2.4.1
(function() {

@@ -47,2 +46,3 @@ 'use strict';

this._has_contractors = {};
this._has_listener = {};
//---------------------------------------------------------------------------------------------------------

@@ -68,58 +68,17 @@ this._mark_as_primary = function(x) {

//---------------------------------------------------------------------------------------------------------
this._get_ksl = function(key, self, listener) {
var arity;
switch (arity = arguments.length) {
case 2:
[key, self, listener] = [key, null, self];
break;
case 3:
[key, self, listener] = [key, self, listener];
break;
default:
throw new Error(`µ67348 expected 2 or 3 arguments, got ${arity}`);
this._datom_from_emit_arguments = function(...P) {
var arity, d;
if (!((arity = P.length) > 0)) {
throw new Error("µ44422 expected one or more arguments, got none");
}
validate.nonempty_text(key);
return [key, self, listener];
};
//---------------------------------------------------------------------------------------------------------
this._get_sl = function(self, listener) {
var arity;
switch (arity = arguments.length) {
case 1:
[self, listener] = [null, self];
break;
case 2:
[self, listener] = [self, listener];
break;
default:
throw new Error(`µ68252 expected 1 or 2 arguments, got ${arity}`);
if (isa.text(P[0])) {
return DATOM.new_datom(P[0], ...P.slice(1));
}
return [self, listener];
};
//---------------------------------------------------------------------------------------------------------
this._get_kd = function(key, d) {
var arity, org_d, org_key;
org_key = key;
org_d = d;
switch (arity = arguments.length) {
case 1:
if (isa.text(key)) {
[key, d] = [key, key];
} else {
if (!DATOM.is_datom(key)) {
throw new Error(`µ44422 expected a text or a datom got a ${type_of(key)}`);
}
[key, d] = [key.$key, key];
}
break;
case 2:
null;
break;
default:
throw new Error(`µ69156 expected 1 or 2 arguments, got ${arity}`);
if ((arity = P.length) !== 1) {
throw new Error(`µ44422 expected single argument unless first is key, got ${arity}`);
}
if (key == null) {
throw new Error(`µ69608 expected a key, got ${rpr(key)} from ${rpr(org_key)}, ${rpr(org_d)}`);
if (!DATOM.is_datom(d = P[0])) {
throw new Error(`µ44422 expected a text or a datom got a ${type_of(key)}`);
}
return [key, d];
return d;
};

@@ -129,4 +88,5 @@ //=========================================================================================================

//---------------------------------------------------------------------------------------------------------
this.contract = function(key, self, listener) {
[key, self, listener] = this._get_ksl(...arguments);
this.contract = function(key, listener) {
validate.datom_key(key);
validate.callable(listener);
if (this._has_contractors[key]) {

@@ -136,20 +96,32 @@ throw new Error(`µ68704 key ${rpr(key)} already has a primary listener`);

this._has_contractors[key] = true;
this._has_listener[key] = true;
return this._emitter.on(key, async(d) => {
return this._mark_as_primary((await listener.call(self, d)));
return this._mark_as_primary((await listener(d)));
});
};
//---------------------------------------------------------------------------------------------------------
this.listen_to = function(key, self, listener) {
[key, self, listener] = this._get_ksl(...arguments);
return this._emitter.on(key, async function(d) {
return (await listener.call(self, d));
this.listen_to = function(key, listener) {
validate.datom_key(key);
validate.callable(listener);
this._has_listener[key] = true;
return this._emitter.on(key, async(d) => {
return (await listener(d));
});
};
//---------------------------------------------------------------------------------------------------------
this.listen_to_all = function(self, listener) {
[self, listener] = this._get_sl(...arguments);
return this._emitter.onAny(async function(key, d) {
return (await listener.call(self, key, d));
this.listen_to_all = function(listener) {
validate.callable(listener);
return this._emitter.onAny(async(key, d) => {
return (await listener(key, d));
});
};
//---------------------------------------------------------------------------------------------------------
this.listen_to_unheard = function(listener) {
validate.callable(listener);
return this._emitter.onAny(async(key, d) => {
if (!this._has_listener[key]) {
return (await listener(key, d));
}
});
};
//=========================================================================================================

@@ -159,3 +131,4 @@ // API / SENDING

this.emit = async function(key, d) {
return (await this._emitter.emit(...(this._get_kd(...arguments))));
d = this._datom_from_emit_arguments(...arguments);
return (await this._emitter.emit(d.$key, d));
};

@@ -193,3 +166,1 @@ //---------------------------------------------------------------------------------------------------------

}).call(this);
//# sourceMappingURL=xemitter.mixin.js.map
{
"name": "datom",
"version": "2.3.1",
"version": "2.4.0",
"description": "standardized immutable objects in the spirit of datomic, especially suited for use in data pipelines",

@@ -31,7 +31,7 @@ "main": "lib/main.js",

"dependencies": {
"cnd": "^4.6.0",
"cnd": "^4.7.3",
"emittery": "^0.5.1",
"intertype": "^2.5.0",
"intertype": "^2.7.0",
"letsfreezethat": "^2.2.5",
"multimix": "^2.1.0"
"multimix": "^2.1.1"
},

@@ -38,0 +38,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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