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

geheugen

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

geheugen - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

8

lib/Memo.js

@@ -20,2 +20,4 @@ 'use strict';

var _ref$Q = _ref.Q;
var Q = _ref$Q === undefined ? Promise : _ref$Q;
var _ref$dependencies = _ref.dependencies;

@@ -34,3 +36,3 @@ var dependencies = _ref$dependencies === undefined ? [] : _ref$dependencies;

return Object.assign(this, { dependencies: dependencies, factory: factory, promise: promise, value: value, dependants: [] });
return Object.assign(this, { Q: Q, dependencies: dependencies, factory: factory, promise: promise, value: value, dependants: [] });
}

@@ -44,7 +46,7 @@

if (this.value !== undefined) {
return Promise.resolve(this.value);
return this.Q.resolve(this.value);
} else if (this.promise !== undefined) {
return this.promise;
} else {
this.promise = Promise.all(this.dependencies.map(function (dependency) {
this.promise = this.Q.all(this.dependencies.map(function (dependency) {
return dependency.resolve();

@@ -51,0 +53,0 @@ })).then(this.factory).then(function (value) {

{
"name": "geheugen",
"version": "1.0.0",
"version": "1.1.0",
"description": "A memoisation toolkit",

@@ -17,4 +17,6 @@ "main": "lib/index.js",

"memo",
"memoise", "memoize",
"memoisation", "memoization"
"memoise",
"memoize",
"memoisation",
"memoization"
],

@@ -21,0 +23,0 @@ "author": "Karl Juri Ots <kjots@kjots.org>",

# geheugen
[![Build Status](https://travis-ci.org/kjots/geheugen.svg?branch=master)](https://travis-ci.org/kjots/geheugen)
[![npm version](https://badge.fury.io/js/geheugen.svg)](https://www.npmjs.com/package/geheugen)

@@ -32,4 +33,16 @@ > A memoisation toolkit.

##### new Memo({ dependencies, factory, promise, value })
##### new Memo({ Q, dependencies, factory, promise, value })
###### Q
Type: `Class`
Default: `Promise`
The promise implementation.
The promise implementation should at a minimum implement the following methods:
* `Promise.resolve()`
* `Promise.all()`
###### dependencies

@@ -91,2 +104,7 @@ Type: `Array<Memo>`

###### Q
Type: `Class`
The promise implementation.
#### dependencies

@@ -93,0 +111,0 @@ Type: `Array<Memo>`

@@ -5,2 +5,3 @@ import 'promise.prototype.finally';

constructor({
Q = Promise,
dependencies = [],

@@ -15,3 +16,3 @@ factory = () => {},

return Object.assign(this, { dependencies, factory, promise, value, dependants: [] });
return Object.assign(this, { Q, dependencies, factory, promise, value, dependants: [] });
}

@@ -21,3 +22,3 @@

if (this.value !== undefined) {
return Promise.resolve(this.value);
return this.Q.resolve(this.value);
}

@@ -28,3 +29,3 @@ else if (this.promise !== undefined) {

else {
this.promise = Promise.all(this.dependencies.map(dependency => dependency.resolve()))
this.promise = this.Q.all(this.dependencies.map(dependency => dependency.resolve()))
.then(this.factory)

@@ -31,0 +32,0 @@ .then(value => {

@@ -9,2 +9,3 @@ import sinon from 'sinon';

// Given
let Q = {};
let dependencies = [];

@@ -16,5 +17,6 @@ let factory = () => {};

// When
let memo = new Memo({ dependencies, factory, promise, value });
let memo = new Memo({ Q, dependencies, factory, promise, value });
// Then
expect(memo.Q).to.equal(Q);
expect(memo.dependencies).to.equal(dependencies);

@@ -21,0 +23,0 @@ expect(memo.factory).to.equal(factory);

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