Socket
Socket
Sign inDemoInstall

re-reselect

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

re-reselect - npm Package Compare versions

Comparing version 5.0.0 to 5.1.0

45

dist/cjs/index.js

@@ -36,6 +36,30 @@ 'use strict';

};
function parseReselectArgs(reselectArgs) {
var args = [].concat(reselectArgs);
var lastArgument = args[args.length - 1];
var resultFunc;
var createSelectorOptions = undefined;
// Last argument is resultFunc
if (typeof lastArgument === 'function') {
resultFunc = args.pop();
} else {
// Last argument is createSelectorOptions object
createSelectorOptions = args.pop();
resultFunc = args.pop();
}
return {
inputSelectors: Array.isArray(args[0]) ? args[0] : [].concat(args),
resultFunc: resultFunc,
createSelectorOptions: createSelectorOptions
};
}
function createCachedSelector() {
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
for (var _len = arguments.length, reselectArgs = new Array(_len), _key = 0; _key < _len; _key++) {
reselectArgs[_key] = arguments[_key];
}
var _parseReselectArgs = parseReselectArgs(reselectArgs),
inputSelectors = _parseReselectArgs.inputSelectors,
resultFunc = _parseReselectArgs.resultFunc,
createSelectorOptions = _parseReselectArgs.createSelectorOptions;
return function (polymorphicOptions) {

@@ -48,4 +72,2 @@ var options = typeof polymorphicOptions === 'function' ? {

var recomputations = 0;
var resultFunc = funcs.pop();
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : [].concat(funcs);
var resultFuncWithRecomputations = function resultFuncWithRecomputations() {

@@ -55,3 +77,8 @@ recomputations++;

};
funcs.push(resultFuncWithRecomputations);
// Patch reselect call arguments with a custom resultFunc
var patchedReselectArgs = [inputSelectors, resultFuncWithRecomputations];
if (createSelectorOptions) {
patchedReselectArgs.push(createSelectorOptions);
}
var cache = options.cacheObject || new defaultCacheCreator();

@@ -63,3 +90,3 @@ var selectorCreator = options.selectorCreator || reselect.createSelector;

keySelector: options.keySelector,
inputSelectors: dependencies,
inputSelectors: inputSelectors,
resultFunc: resultFunc

@@ -69,3 +96,3 @@ });

// Application receives this function
// User receives this function
var selector = function selector() {

@@ -76,3 +103,3 @@ var cacheKey = options.keySelector.apply(options, arguments);

if (cacheResponse === undefined) {
cacheResponse = selectorCreator.apply(void 0, funcs);
cacheResponse = selectorCreator.apply(void 0, patchedReselectArgs);
cache.set(cacheKey, cacheResponse);

@@ -100,3 +127,3 @@ }

selector.resultFunc = resultFunc;
selector.dependencies = dependencies;
selector.dependencies = inputSelectors;
selector.cache = cache;

@@ -103,0 +130,0 @@ selector.recomputations = function () {

@@ -34,6 +34,30 @@ import { createSelector, createStructuredSelector } from 'reselect';

};
function parseReselectArgs(reselectArgs) {
var args = [].concat(reselectArgs);
var lastArgument = args[args.length - 1];
var resultFunc;
var createSelectorOptions = undefined;
// Last argument is resultFunc
if (typeof lastArgument === 'function') {
resultFunc = args.pop();
} else {
// Last argument is createSelectorOptions object
createSelectorOptions = args.pop();
resultFunc = args.pop();
}
return {
inputSelectors: Array.isArray(args[0]) ? args[0] : [].concat(args),
resultFunc: resultFunc,
createSelectorOptions: createSelectorOptions
};
}
function createCachedSelector() {
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
for (var _len = arguments.length, reselectArgs = new Array(_len), _key = 0; _key < _len; _key++) {
reselectArgs[_key] = arguments[_key];
}
var _parseReselectArgs = parseReselectArgs(reselectArgs),
inputSelectors = _parseReselectArgs.inputSelectors,
resultFunc = _parseReselectArgs.resultFunc,
createSelectorOptions = _parseReselectArgs.createSelectorOptions;
return function (polymorphicOptions) {

@@ -46,4 +70,2 @@ var options = typeof polymorphicOptions === 'function' ? {

var recomputations = 0;
var resultFunc = funcs.pop();
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : [].concat(funcs);
var resultFuncWithRecomputations = function resultFuncWithRecomputations() {

@@ -53,3 +75,8 @@ recomputations++;

};
funcs.push(resultFuncWithRecomputations);
// Patch reselect call arguments with a custom resultFunc
var patchedReselectArgs = [inputSelectors, resultFuncWithRecomputations];
if (createSelectorOptions) {
patchedReselectArgs.push(createSelectorOptions);
}
var cache = options.cacheObject || new defaultCacheCreator();

@@ -61,3 +88,3 @@ var selectorCreator = options.selectorCreator || createSelector;

keySelector: options.keySelector,
inputSelectors: dependencies,
inputSelectors: inputSelectors,
resultFunc: resultFunc

@@ -67,3 +94,3 @@ });

// Application receives this function
// User receives this function
var selector = function selector() {

@@ -74,3 +101,3 @@ var cacheKey = options.keySelector.apply(options, arguments);

if (cacheResponse === undefined) {
cacheResponse = selectorCreator.apply(void 0, funcs);
cacheResponse = selectorCreator.apply(void 0, patchedReselectArgs);
cache.set(cacheKey, cacheResponse);

@@ -98,3 +125,3 @@ }

selector.resultFunc = resultFunc;
selector.dependencies = dependencies;
selector.dependencies = inputSelectors;
selector.cache = cache;

@@ -101,0 +128,0 @@ selector.recomputations = function () {

@@ -38,6 +38,30 @@ (function (global, factory) {

};
function parseReselectArgs(reselectArgs) {
var args = [].concat(reselectArgs);
var lastArgument = args[args.length - 1];
var resultFunc;
var createSelectorOptions = undefined;
// Last argument is resultFunc
if (typeof lastArgument === 'function') {
resultFunc = args.pop();
} else {
// Last argument is createSelectorOptions object
createSelectorOptions = args.pop();
resultFunc = args.pop();
}
return {
inputSelectors: Array.isArray(args[0]) ? args[0] : [].concat(args),
resultFunc: resultFunc,
createSelectorOptions: createSelectorOptions
};
}
function createCachedSelector() {
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
for (var _len = arguments.length, reselectArgs = new Array(_len), _key = 0; _key < _len; _key++) {
reselectArgs[_key] = arguments[_key];
}
var _parseReselectArgs = parseReselectArgs(reselectArgs),
inputSelectors = _parseReselectArgs.inputSelectors,
resultFunc = _parseReselectArgs.resultFunc,
createSelectorOptions = _parseReselectArgs.createSelectorOptions;
return function (polymorphicOptions) {

@@ -50,4 +74,2 @@ var options = typeof polymorphicOptions === 'function' ? {

var recomputations = 0;
var resultFunc = funcs.pop();
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : [].concat(funcs);
var resultFuncWithRecomputations = function resultFuncWithRecomputations() {

@@ -57,3 +79,8 @@ recomputations++;

};
funcs.push(resultFuncWithRecomputations);
// Patch reselect call arguments with a custom resultFunc
var patchedReselectArgs = [inputSelectors, resultFuncWithRecomputations];
if (createSelectorOptions) {
patchedReselectArgs.push(createSelectorOptions);
}
var cache = options.cacheObject || new defaultCacheCreator();

@@ -65,3 +92,3 @@ var selectorCreator = options.selectorCreator || reselect.createSelector;

keySelector: options.keySelector,
inputSelectors: dependencies,
inputSelectors: inputSelectors,
resultFunc: resultFunc

@@ -71,3 +98,3 @@ });

// Application receives this function
// User receives this function
var selector = function selector() {

@@ -78,3 +105,3 @@ var cacheKey = options.keySelector.apply(options, arguments);

if (cacheResponse === undefined) {
cacheResponse = selectorCreator.apply(void 0, funcs);
cacheResponse = selectorCreator.apply(void 0, patchedReselectArgs);
cache.set(cacheKey, cacheResponse);

@@ -102,3 +129,3 @@ }

selector.resultFunc = resultFunc;
selector.dependencies = dependencies;
selector.dependencies = inputSelectors;
selector.cache = cache;

@@ -105,0 +132,0 @@ selector.recomputations = function () {

14

package.json
{
"name": "re-reselect",
"version": "5.0.0",
"version": "5.1.0",
"description": "Enhance Reselect selectors with deeper memoization and cache management",

@@ -49,4 +49,4 @@ "main": "dist/cjs/index.js",

"devDependencies": {
"@babel/core": "^7.23.5",
"@babel/preset-env": "^7.23.5",
"@babel/core": "^7.23.9",
"@babel/preset-env": "^7.23.9",
"@rollup/plugin-babel": "^6.0.4",

@@ -58,9 +58,9 @@ "@types/jest": "^29.5.11",

"lint-staged": "^13.3.0",
"prettier": "^3.1.0",
"reselect": "^5.0.0",
"prettier": "^3.2.4",
"reselect": "^5.0.1",
"rimraf": "^5.0.5",
"rollup": "^4.7.0",
"rollup": "^4.9.6",
"rollup-plugin-copy": "^3.5.0",
"simple-git-hooks": "^2.9.0",
"ts-jest": "^29.1.1",
"ts-jest": "^29.1.2",
"typescript": "^5.3.3"

@@ -67,0 +67,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

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