New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

hookpoint

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

hookpoint - npm Package Compare versions

Comparing version
4.0.1
to
4.1.0
+5
-0
CHANGELOG.md

@@ -0,1 +1,6 @@

## 4.1.0 (2024-08-03)
### Feature
- add error to onError handler
## 4.0.1 (2024-05-01)

@@ -2,0 +7,0 @@

+1
-1

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

"use strict";var g=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var x=(n,e)=>{for(var t in e)g(n,t,{get:e[t],enumerable:!0})},R=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of h(e))!A.call(n,o)&&o!==t&&g(n,o,{get:()=>e[o],enumerable:!(r=l(e,o))||r.enumerable});return n};var I=n=>R(g({},"__esModule",{value:!0}),n);var b={};x(b,{Hook:()=>i,HookCancel:()=>d,LastOutHook:()=>T,SeriesHook:()=>c,WaterfallHook:()=>p});module.exports=I(b);var d=Symbol.for("HookCancel");var u=class{constructor(){this.items=new Set}hasItem(e){return Array.from(this.items).some(t=>t.id===e)}add(...e){for(let t of e)this.ensureUniqueId(t),this.items.add(t);this.sortedItems=void 0}ensureUniqueId(e){e.id||(e.id="unknown");let t=e.id,r=1;for(;Array.from(this.items).some(o=>o.id===e.id&&o!==e);)e.id=`${t}#${r++}`}addSortSet(e){for(let t of e.items)this.ensureUniqueId(t),this.items.add(t);this.sortedItems=void 0}remove(e){let t=Array.from(this.items).find(r=>r.id===e);return t?(this.items.delete(t),this.sortedItems=void 0,!0):!1}get sorted(){if(!this.sortedItems){let e=this.calculateIndex(this.prepareSortItems());this.sortedItems=e.sort((t,r)=>t.index<r.index?-1:t.index>r.index?1:0).map(t=>t.item)}return this.sortedItems}prepareSortItems(){let e=[],t=new Map(Array.from(this.items).map(o=>[o.id,{id:o.id,after:[],item:o}])),r=[];for(let o of this.items){let s=t.get(o.id);if(s){if(o.after)for(let f of o.after){let a=t.get(f);a&&s.after.push(a)}o.before?r.push(s):e.push(s)}}for(let o of r){let s=[];if(o.item.before)for(let f of o.item.before){let a=t.get(f);a&&(a.after.splice(0,0,o),s.push(e.findIndex(m=>m.id===f)))}e.splice(Math.min(...s),0,o)}return e}calculateIndex(e){let t=[];for(let r of e)t.push({...r,index:this.getIndex(r,e)});return t}getIndex(e,t){if(typeof e.index>"u")if(e.after.length===0)e.index=t.indexOf(e)*2;else{e.index=-1;let r=e.after.map(o=>this.getIndex(o,t)).filter(o=>o>=0);r.length>0&&(e.index=Math.max(...r)+1)}return e.index}};var i=class{constructor(e){this.bailOut=e;this.id=this.constructor.name,this.#e=new u,this.#t=new u}#e;#t;get interceptors(){return[...this.#t.sorted]}get items(){return[...this.#e.sorted]}hasHook(e){return this.#e.hasItem(e)}addHook(e,t,r){let o={...r,id:e,action:t};this.#e.add(o)}addObjHook(e,...t){this.#e.add(...t.map(r=>({...r,id:r.id,action:(...o)=>e(r).call(r,...o)})))}removeHook(e){return this.#e.remove(e)}addInterceptor(e){this.#t.add(e)}removeInterceptor(e){return this.#t.remove(e)}async trigger(...e){let t=[],r={index:0,length:this.#e.sorted.length,args:e,results:t,hook:this};try{if(await this.intercept(o=>o.beforeLoop,r)===!1)return d;if(!r.bail)for(;r.index<r.length;){if(r.hookItem=this.#e.sorted[r.index],await this.intercept(s=>s.beforeTrigger,r)===!1)return d;if(r.bail){r.bail=!0;break}let o=await r.hookItem.action(...r.args);if(o===d)return d;if(t.push(o),r.args=this.getNextArgs(o,r.args),await this.intercept(s=>s.afterTrigger,r)===!1)return d;if(r.bail||this.bailOut&&this.bailOut(o)){r.bail=!0;break}r.index++}return await this.intercept(o=>o.afterLoop,r)===!1?d:this.getMergedResults(t,r.args)}catch(o){throw await this.intercept(s=>s.onError,r),o}}async intercept(e,t){for(let r of this.#t.sorted){let o=e(r);if(o&&!await o.apply(r,[t]))return!1}return!0}add(...e){for(let t of e)this.#e.addSortSet(t.#e),this.#t.addSortSet(t.#t)}merge(...e){let t=this.initNew();return t.#e.addSortSet(this.#e),t.#t.addSortSet(this.#t),t.add(...e),t}};var T=class n extends i{constructor(e){super(e)}getNextArgs(e,t){return t}getMergedResults(e){return e.pop()}initNew(){return new n(this.bailOut)}};var c=class n extends i{constructor(e){super(e)}getNextArgs(e,t){return t}getMergedResults(e){return e}initNew(){return new n(this.bailOut)}};var p=class n extends i{constructor(e){super(e)}getNextArgs(e,t){return t[0]=e,t}getMergedResults(e,t){return e.length>0?e.pop():t[0]}initNew(){return new n(this.bailOut)}};0&&(module.exports={Hook,HookCancel,LastOutHook,SeriesHook,WaterfallHook});
"use strict";var g=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var x=(o,e)=>{for(var t in e)g(o,t,{get:e[t],enumerable:!0})},R=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of h(e))!A.call(o,n)&&n!==t&&g(o,n,{get:()=>e[n],enumerable:!(r=l(e,n))||r.enumerable});return o};var I=o=>R(g({},"__esModule",{value:!0}),o);var b={};x(b,{Hook:()=>i,HookCancel:()=>d,LastOutHook:()=>T,SeriesHook:()=>c,WaterfallHook:()=>p});module.exports=I(b);var d=Symbol.for("HookCancel");var u=class{constructor(){this.items=new Set}hasItem(e){return Array.from(this.items).some(t=>t.id===e)}add(...e){for(let t of e)this.ensureUniqueId(t),this.items.add(t);this.sortedItems=void 0}ensureUniqueId(e){e.id||(e.id="unknown");let t=e.id,r=1;for(;Array.from(this.items).some(n=>n.id===e.id&&n!==e);)e.id=`${t}#${r++}`}addSortSet(e){for(let t of e.items)this.ensureUniqueId(t),this.items.add(t);this.sortedItems=void 0}remove(e){let t=Array.from(this.items).find(r=>r.id===e);return t?(this.items.delete(t),this.sortedItems=void 0,!0):!1}get sorted(){if(!this.sortedItems){let e=this.calculateIndex(this.prepareSortItems());this.sortedItems=e.sort((t,r)=>t.index<r.index?-1:t.index>r.index?1:0).map(t=>t.item)}return this.sortedItems}prepareSortItems(){let e=[],t=new Map(Array.from(this.items).map(n=>[n.id,{id:n.id,after:[],item:n}])),r=[];for(let n of this.items){let s=t.get(n.id);if(s){if(n.after)for(let f of n.after){let a=t.get(f);a&&s.after.push(a)}n.before?r.push(s):e.push(s)}}for(let n of r){let s=[];if(n.item.before)for(let f of n.item.before){let a=t.get(f);a&&(a.after.splice(0,0,n),s.push(e.findIndex(m=>m.id===f)))}e.splice(Math.min(...s),0,n)}return e}calculateIndex(e){let t=[];for(let r of e)t.push({...r,index:this.getIndex(r,e)});return t}getIndex(e,t){if(typeof e.index>"u")if(e.after.length===0)e.index=t.indexOf(e)*2;else{e.index=-1;let r=e.after.map(n=>this.getIndex(n,t)).filter(n=>n>=0);r.length>0&&(e.index=Math.max(...r)+1)}return e.index}};var i=class{constructor(e){this.bailOut=e;this.id=this.constructor.name,this.#e=new u,this.#t=new u}#e;#t;get interceptors(){return[...this.#t.sorted]}get items(){return[...this.#e.sorted]}hasHook(e){return this.#e.hasItem(e)}addHook(e,t,r){let n={...r,id:e,action:t};this.#e.add(n)}addObjHook(e,...t){this.#e.add(...t.map(r=>({...r,id:r.id,action:(...n)=>e(r).call(r,...n)})))}removeHook(e){return this.#e.remove(e)}addInterceptor(e){this.#t.add(e)}removeInterceptor(e){return this.#t.remove(e)}async trigger(...e){let t=[],r={index:0,length:this.#e.sorted.length,args:e,results:t,hook:this};try{if(await this.intercept(n=>n.beforeLoop,r)===!1)return d;if(!r.bail)for(;r.index<r.length;){if(r.hookItem=this.#e.sorted[r.index],await this.intercept(s=>s.beforeTrigger,r)===!1)return d;if(r.bail){r.bail=!0;break}let n=await r.hookItem.action(...r.args);if(n===d)return d;if(t.push(n),r.args=this.getNextArgs(n,r.args),await this.intercept(s=>s.afterTrigger,r)===!1)return d;if(r.bail||this.bailOut&&this.bailOut(n)){r.bail=!0;break}r.index++}return await this.intercept(n=>n.afterLoop,r)===!1?d:this.getMergedResults(t,r.args)}catch(n){throw await this.intercept(s=>s.onError,n,r),n}}async intercept(e,...t){for(let r of this.#t.sorted){let n=e(r);if(n&&!await n.apply(r,t))return!1}return!0}add(...e){for(let t of e)this.#e.addSortSet(t.#e),this.#t.addSortSet(t.#t)}merge(...e){let t=this.initNew();return t.#e.addSortSet(this.#e),t.#t.addSortSet(this.#t),t.add(...e),t}};var T=class o extends i{constructor(e){super(e)}getNextArgs(e,t){return t}getMergedResults(e){return e.pop()}initNew(){return new o(this.bailOut)}};var c=class o extends i{constructor(e){super(e)}getNextArgs(e,t){return t}getMergedResults(e){return e}initNew(){return new o(this.bailOut)}};var p=class o extends i{constructor(e){super(e)}getNextArgs(e,t){return t[0]=e,t}getMergedResults(e,t){return e.length>0?e.pop():t[0]}initNew(){return new o(this.bailOut)}};0&&(module.exports={Hook,HookCancel,LastOutHook,SeriesHook,WaterfallHook});
//# sourceMappingURL=index.js.map

@@ -13,3 +13,3 @@ import { HookItem } from './hookItem';

afterLoop?(context: HookTriggerContext<TArgs, TReturn>): Promise<boolean | undefined>;
onError?(context: HookTriggerContext<TArgs, TReturn>): Promise<boolean | undefined>;
onError?(err: unknown, context: HookTriggerContext<TArgs, TReturn>): Promise<boolean | undefined>;
}
{
"name": "hookpoint",
"version": "4.0.1",
"version": "4.1.0",
"description": "hooks system for custom plugins",

@@ -32,3 +32,3 @@ "main": "./dist/index.js",

"lockfile-lint": "lockfile-lint --path package-lock.json --validate-https --allowed-hosts npm --validate-checksum --validate-integrity",
"eslint": "eslint src --ext ts",
"eslint": "eslint .",
"lint": "npm run format && npm run eslint && npm run lockfile-lint",

@@ -53,13 +53,13 @@ "prepare": "husky install",

"concurrently": "^8.2.2",
"esbuild": "^0.20.2",
"esbuild": "^0.23.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-node": "^11.1.0",
"eslint": "^8.57.0",
"husky": "^9.0.11",
"husky": "^9.1.4",
"jest": "^29.7.0",
"lint-staged": "^15.2.2",
"lockfile-lint": "^4.13.2",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
"lint-staged": "^15.2.8",
"lockfile-lint": "^4.14.0",
"prettier": "^3.3.3",
"typescript": "^5.5.4"
}
}

Sorry, the diff of this file is not supported yet