Socket
Socket
Sign inDemoInstall

@prefresh/core

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@prefresh/core - npm Package Compare versions

Comparing version 1.1.0 to 1.1.1

6

CHANGELOG.md
# @prefresh/core
## 1.1.1
### Patch Changes
- [`b8678d0`](https://github.com/JoviDeCroock/prefresh/commit/b8678d036cb02c7b3b9901b2057ba04a4f4c1041) [#206](https://github.com/JoviDeCroock/prefresh/pull/206) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Improve cleanup detection
## 1.1.0

@@ -4,0 +10,0 @@

2

package.json
{
"name": "@prefresh/core",
"version": "1.1.0",
"version": "1.1.1",
"main": "src/index.js",

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

@@ -11,1 +11,4 @@ export const VNODE_COMPONENT = '__c';

export const VNODE_CHILDREN = '__k';
export const HOOK_VALUE = '__';
export const HOOK_ARGS = '__H';
export const HOOK_CLEANUP = '__c';

@@ -16,3 +16,6 @@ // Options for Preact.

VNODE_DOM,
VNODE_CHILDREN
VNODE_CHILDREN,
HOOK_ARGS,
HOOK_VALUE,
HOOK_CLEANUP
} from './constants';

@@ -26,4 +29,2 @@ import { computeKey } from './computeKey';

const forbiddenEffectFields = ['__', '__H'];
function sign(type, key, forceReset, getCustomHooks, status) {

@@ -104,12 +105,26 @@ if (type) {

vnode[VNODE_COMPONENT][COMPONENT_HOOKS] &&
vnode[VNODE_COMPONENT][COMPONENT_HOOKS][EFFECTS_LIST]
vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST] &&
vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].length
) {
vnode[VNODE_COMPONENT][COMPONENT_HOOKS][EFFECTS_LIST].forEach(
effect => {
const possibleCleanupKeys = Object.keys(effect).filter(
key => !forbiddenEffectFields.includes(key)
);
possibleCleanupKeys.forEach(key => {
if (typeof effect[key] == 'function') effect[key]();
});
vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].forEach(
possibleEffect => {
if (
possibleEffect[HOOK_CLEANUP] &&
typeof possibleEffect[HOOK_CLEANUP] === 'function'
) {
possibleEffect[HOOK_CLEANUP]();
} else if (
possibleEffect[HOOK_ARGS] &&
possibleEffect[HOOK_VALUE] &&
Object.keys(possibleEffect).length === 3
) {
const cleanupKey = Object.keys(possibleEffect).find(
key => key !== HOOK_ARGS && key !== HOOK_VALUE
);
if (
cleanupKey &&
typeof possibleEffect[cleanupKey] == 'function'
)
possibleEffect[cleanupKey]();
}
}

@@ -119,16 +134,2 @@ );

if (vnode[VNODE_COMPONENT].__h) {
vnode[VNODE_COMPONENT].__h.forEach(possibleEffect => {
if (typeof possibleEffect === 'object') {
const possibleCleanupKeys = Object.keys(possibleEffect).filter(
key => !forbiddenEffectFields.includes(key)
);
possibleCleanupKeys.forEach(key => {
if (typeof possibleEffect[key] == 'function')
possibleEffect[key]();
});
}
});
}
vnode[VNODE_COMPONENT][COMPONENT_HOOKS] = {

@@ -135,0 +136,0 @@ [HOOKS_LIST]: [],

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