🚀. Socket Launch Week Day 3:Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions.Learn more
Sign In

@testring/pluggable-module

Package Overview
Dependencies
Maintainers
1
Versions
161
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@testring/pluggable-module - npm Package Compare versions

Comparing version
0.7.6
to
0.8.0
+9
dist/hook.d.ts
export declare class Hook {
private writeHooks;
private readHooks;
private generateError;
writeHook(pluginName: string, modifier: Function): void;
readHook(pluginName: string, reader: Function): void;
callHooks(...data: Array<any>): Promise<any>;
}
//# sourceMappingURL=hook.d.ts.map
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,qBAAa,IAAI;IACb,OAAO,CAAC,UAAU,CAAoC;IAEtD,OAAO,CAAC,SAAS,CAAoC;IAErD,OAAO,CAAC,aAAa;IAUd,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAIhD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;IAIvC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;CA0B7C"}
export * from './pluggable-module';
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
import { IPluggableModule } from '@testring/types';
import { Hook } from './hook';
type HookDescriptor = string;
export declare class PluggableModule implements IPluggableModule<Hook> {
private pluginHooks;
constructor(hooks?: Array<HookDescriptor>);
private createHooks;
protected callHook<T = any>(name: string, ...args: any[]): Promise<T>;
getHook(name: string): Hook | undefined;
}
export {};
//# sourceMappingURL=pluggable-module.d.ts.map
{"version":3,"file":"pluggable-module.d.ts","sourceRoot":"","sources":["../src/pluggable-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,qBAAa,eAAgB,YAAW,gBAAgB,CAAC,IAAI,CAAC;IAC1D,OAAO,CAAC,WAAW,CAAgC;gBAEvC,KAAK,GAAE,KAAK,CAAC,cAAc,CAAM;IAI7C,OAAO,CAAC,WAAW;cAYH,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpE,OAAO,CAAC,IAAI,EAAE,MAAM;CAG9B"}
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"noEmit": false,
"composite": true
},
"exclude": ["test"]
}
+23
-33
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -19,4 +10,5 @@ exports.Hook = void 0;

generateError(pluginName, error) {
var _a;
const generatedError = new Error(`Plugin ${pluginName} failed: ${error.message}`);
generatedError.stack = error.stack;
generatedError.stack = (_a = error.stack) !== null && _a !== void 0 ? _a : 'No stack trace available';
return error;

@@ -30,27 +22,25 @@ }

}
callHooks(...data) {
return __awaiter(this, void 0, void 0, function* () {
const { writeHooks, readHooks } = this;
let dataArguments = data;
for (const [key, hook] of writeHooks) {
try {
dataArguments = [
yield hook(...dataArguments),
...dataArguments.slice(1),
];
}
catch (error) {
throw this.generateError(key, error);
}
async callHooks(...data) {
const { writeHooks, readHooks } = this;
let dataArguments = data;
for (const [key, hook] of writeHooks) {
try {
dataArguments = [
await hook(...dataArguments),
...dataArguments.slice(1),
];
}
for (const [key, hook] of readHooks) {
try {
yield hook(...dataArguments);
}
catch (error) {
throw this.generateError(key, error);
}
catch (error) {
throw this.generateError(key, error);
}
return dataArguments[0];
});
}
for (const [key, hook] of readHooks) {
try {
await hook(...dataArguments);
}
catch (error) {
throw this.generateError(key, error);
}
}
return dataArguments[0];
}

@@ -57,0 +47,0 @@ }

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

{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAa,IAAI;IAAjB;QACY,eAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;QAE9C,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IA8CzD,CAAC;IA5CW,aAAa,CAAC,UAAkB,EAAE,KAAY;QAClD,MAAM,cAAc,GAAG,IAAI,KAAK,CAC5B,UAAU,UAAU,YAAY,KAAK,CAAC,OAAO,EAAE,CAClD,CAAC;QAEF,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAEnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS,CAAC,UAAkB,EAAE,QAAkB;QACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,QAAQ,CAAC,UAAkB,EAAE,MAAgB;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEY,SAAS,CAAC,GAAG,IAAgB;;YACtC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;YAErC,IAAI,aAAa,GAAG,IAAI,CAAC;YAEzB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACD,aAAa,GAAG;wBACZ,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC;wBAC5B,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC5B,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;KAAA;CACJ;AAjDD,oBAiDC"}
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IAAjB;QACY,eAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;QAE9C,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IA8CzD,CAAC;IA5CW,aAAa,CAAC,UAAkB,EAAE,KAAY;;QAClD,MAAM,cAAc,GAAG,IAAI,KAAK,CAC5B,UAAU,UAAU,YAAY,KAAK,CAAC,OAAO,EAAE,CAClD,CAAC;QAEF,cAAc,CAAC,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,0BAA0B,CAAC;QAEjE,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS,CAAC,UAAkB,EAAE,QAAkB;QACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,QAAQ,CAAC,UAAkB,EAAE,MAAgB;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAG,IAAgB;QACtC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;QAErC,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,aAAa,GAAG;oBACZ,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC;oBAC5B,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC5B,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAc,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAc,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ;AAjDD,oBAiDC"}
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -23,13 +14,13 @@ exports.PluggableModule = void 0;

hookName = hooks[index];
this.pluginHooks.set(hookName, new hook_1.Hook());
if (hookName !== undefined) {
this.pluginHooks.set(hookName, new hook_1.Hook());
}
}
}
callHook(name, ...args) {
return __awaiter(this, void 0, void 0, function* () {
const pluginHook = this.pluginHooks.get(name);
if (pluginHook === undefined) {
throw new ReferenceError(`There is no plugin called ${name}.`);
}
return pluginHook.callHooks(...args);
});
async callHook(name, ...args) {
const pluginHook = this.pluginHooks.get(name);
if (pluginHook === undefined) {
throw new ReferenceError(`There is no plugin called ${name}.`);
}
return pluginHook.callHooks(...args);
}

@@ -36,0 +27,0 @@ getHook(name) {

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

{"version":3,"file":"pluggable-module.js","sourceRoot":"","sources":["../src/pluggable-module.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iCAA4B;AAI5B,MAAa,eAAe;IAGxB,YAAY,QAA+B,EAAE;QAFrC,gBAAW,GAAsB,IAAI,GAAG,EAAE,CAAC;QAG/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,QAA+B,EAAE;QACjD,IAAI,QAAQ,CAAC;QAEb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,WAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAEe,QAAQ,CAAU,IAAY,EAAE,GAAG,IAAI;;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,cAAc,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,OAAO,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;AA9BD,0CA8BC"}
{"version":3,"file":"pluggable-module.js","sourceRoot":"","sources":["../src/pluggable-module.ts"],"names":[],"mappings":";;;AACA,iCAA4B;AAI5B,MAAa,eAAe;IAGxB,YAAY,QAA+B,EAAE;QAFrC,gBAAW,GAAsB,IAAI,GAAG,EAAE,CAAC;QAG/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,QAA+B,EAAE;QACjD,IAAI,QAAQ,CAAC;QAEb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,WAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,QAAQ,CAAU,IAAY,EAAE,GAAG,IAAW;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;AAhCD,0CAgCC"}
{
"name": "@testring/pluggable-module",
"version": "0.7.6",
"version": "0.8.0",
"main": "./dist/index.js",

@@ -13,4 +13,4 @@ "types": "./src/index.ts",

"dependencies": {
"@testring/types": "0.7.6"
"@testring/types": "0.8.0"
}
}

@@ -11,3 +11,3 @@ export class Hook {

generatedError.stack = error.stack;
generatedError.stack = error.stack ?? 'No stack trace available';

@@ -37,3 +37,3 @@ return error;

} catch (error) {
throw this.generateError(key, error);
throw this.generateError(key, error as Error);
}

@@ -46,3 +46,3 @@ }

} catch (error) {
throw this.generateError(key, error);
throw this.generateError(key, error as Error);
}

@@ -49,0 +49,0 @@ }

@@ -19,7 +19,9 @@ import {IPluggableModule} from '@testring/types';

this.pluginHooks.set(hookName, new Hook());
if (hookName !== undefined) {
this.pluginHooks.set(hookName, new Hook());
}
}
}
protected async callHook<T = any>(name: string, ...args): Promise<T> {
protected async callHook<T = any>(name: string, ...args: any[]): Promise<T> {
const pluginHook = this.pluginHooks.get(name);

@@ -26,0 +28,0 @@