@methodus/testing
Advanced tools
+14
| # @methodus/testing | ||
| ## 7.0.0 | ||
| ### Major Changes | ||
| - 4b9c58e: This is the monorepo release. | ||
| ### Patch Changes | ||
| - Updated dependencies [4b9c58e] | ||
| - @methodus/framework-commons@7.0.0 | ||
| - @methodus/framework-decorators@7.0.0 | ||
| - @methodus/framework-injection@7.0.0 | ||
| - @methodus/server@7.0.0 |
| /// <reference types="node" /> | ||
| import 'reflect-metadata'; | ||
| import { ITransport } from '@methodus/framework-commons'; | ||
| import { EventEmitter } from 'events'; | ||
| export declare const sharedEmitter: EventEmitter; | ||
| export declare const resultEmitter: EventEmitter; | ||
| export declare class CustomMessageRouter { | ||
| prefix: string; | ||
| constructor(obj: any); | ||
| } | ||
| export declare class CustomMessageServer { | ||
| useClass(classType: any, methodType: any): CustomMessageRouter; | ||
| sendMessage(verb: any, route: any, params: any, paramsMap: any, securityContext: any): void; | ||
| } | ||
| export declare class EmitterPlugin implements ITransport { | ||
| name: string; | ||
| register(server: any, parentServer: any): void; | ||
| send(methodus: any, functionArgs: any, paramsMap: any, securityContext: any): Promise<any>; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.EmitterPlugin = exports.CustomMessageServer = exports.CustomMessageRouter = exports.resultEmitter = exports.sharedEmitter = void 0; | ||
| const tslib_1 = require("tslib"); | ||
| require("reflect-metadata"); | ||
| const server_1 = require("@methodus/server"); | ||
| const framework_commons_1 = require("@methodus/framework-commons"); | ||
| const events_1 = require("events"); | ||
| const metadataKey = 'methodus'; | ||
| exports.sharedEmitter = new events_1.EventEmitter(); | ||
| exports.resultEmitter = new events_1.EventEmitter(); | ||
| class CustomMessageRouter { | ||
| constructor(obj) { | ||
| this.prefix = ''; | ||
| const proto = framework_commons_1.default.util.maybeProto(obj); | ||
| const methodus = framework_commons_1.default.util.maybeMethodus(obj)[obj.name]; | ||
| const existingClassMetadata = Reflect.getOwnMetadata(metadataKey, proto) || {}; | ||
| existingClassMetadata.returnMessages = true; | ||
| Reflect.defineMetadata(metadataKey, existingClassMetadata, proto); | ||
| Object.keys(methodus._descriptors).forEach((itemKey) => { | ||
| const item = methodus._descriptors[itemKey]; | ||
| exports.sharedEmitter.on(item.verb + '_' + item.route, (data, callback) => tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| const functionArgs = []; | ||
| methodus._descriptors[itemKey].params.forEach((xitem) => { | ||
| functionArgs[xitem.index] = data.params[xitem.name]; | ||
| }); | ||
| try { | ||
| const result = yield proto[itemKey](...functionArgs, data.securityContext); | ||
| exports.resultEmitter.emit(itemKey, result); | ||
| } | ||
| catch (error) { | ||
| framework_commons_1.default.logger.error(error); | ||
| } | ||
| })); | ||
| }); | ||
| } | ||
| } | ||
| exports.CustomMessageRouter = CustomMessageRouter; | ||
| class CustomMessageServer { | ||
| useClass(classType, methodType) { | ||
| return new CustomMessageRouter(classType); | ||
| } | ||
| sendMessage(verb, route, params, paramsMap, securityContext) { | ||
| exports.sharedEmitter.emit(`${verb}_${route}`, { params, securityContext }); | ||
| } | ||
| } | ||
| exports.CustomMessageServer = CustomMessageServer; | ||
| class EmitterPlugin { | ||
| constructor() { | ||
| this.name = 'Plugin'; | ||
| } | ||
| register(server, parentServer) { | ||
| framework_commons_1.default.logger.info(`> Starting Custom ${server.type.name} server`); | ||
| const app = new CustomMessageServer(); | ||
| server_1.Servers.set(server.instanceId, server.type.name, app); | ||
| } | ||
| send(methodus, functionArgs, paramsMap, securityContext) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
| return messageServer.sendMessage(methodus.verb, methodus.route, functionArgs, paramsMap, securityContext); | ||
| }); | ||
| } | ||
| } | ||
| exports.EmitterPlugin = EmitterPlugin; | ||
| const messageServer = new CustomMessageServer(); | ||
| //# sourceMappingURL=emitter.plugin.js.map |
| {"version":3,"file":"emitter.plugin.js","sourceRoot":"","sources":["../src/emitter.plugin.ts"],"names":[],"mappings":";;;;AACA,4BAA0B;AAC1B,6CAA2C;AAC3C,mEAAkE;AAClE,mCAAsC;AAEtC,MAAM,WAAW,GAAG,UAAU,CAAC;AAIlB,QAAA,aAAa,GAAiB,IAAI,qBAAY,EAAE,CAAC;AACjD,QAAA,aAAa,GAAiB,IAAI,qBAAY,EAAE,CAAC;AAI9D,MAAa,mBAAmB;IAG5B,YAAY,GAAQ;QAFpB,WAAM,GAAW,EAAE,CAAC;QAGhB,MAAM,KAAK,GAAG,2BAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,2BAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3D,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/E,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAElE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE5C,qBAAa,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAO,IAAS,EAAE,QAAa,EAAE,EAAE;gBAC9E,MAAM,YAAY,GAAQ,EAAE,CAAC;gBAC7B,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;oBACzD,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC3E,qBAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;iBACvC;gBAAC,OAAO,KAAK,EAAE;oBACZ,2BAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC/B;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA5BD,kDA4BC;AAKD,MAAa,mBAAmB;IAC5B,QAAQ,CAAC,SAAc,EAAE,UAAe;QACpC,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,WAAW,CAAC,IAAS,EAAE,KAAU,EAAE,MAAW,EAAE,SAAc,EAAE,eAAoB;QAChF,qBAAa,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ;AAPD,kDAOC;AAED,MAAa,aAAa;IAA1B;QACI,SAAI,GAAW,QAAQ,CAAC;IAY5B,CAAC;IAVU,QAAQ,CAAC,MAAW,EAAE,YAAiB;QAC1C,2BAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QAEpE,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,gBAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACY,IAAI,CAAC,QAAa,EAAE,YAAiB,EAAE,SAAc,EAAE,eAAoB;;YACpF,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,EACxE,SAAS,EAAE,eAAe,CAAC,CAAC;QACpC,CAAC;KAAA;CACJ;AAbD,sCAaC;AAkBD,MAAM,aAAa,GAAwB,IAAI,mBAAmB,EAAE,CAAC"} |
+21
| MIT License | ||
| Copyright (c) 2019 Roi ben haim | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
+1
-0
| export * from './module'; | ||
| export * from './test-map'; | ||
| export * from './testing'; | ||
| export * from './emitter.plugin'; |
+1
-0
@@ -7,2 +7,3 @@ "use strict"; | ||
| tslib_1.__exportStar(require("./testing"), exports); | ||
| tslib_1.__exportStar(require("./emitter.plugin"), exports); | ||
| //# sourceMappingURL=index.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B;AAC1B,2DAAiC"} |
+2
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Module = void 0; | ||
| const server_1 = require("@methodus/server"); | ||
@@ -10,3 +11,3 @@ const test_map_1 = require("./test-map"); | ||
| get(name) { | ||
| return server_1.Injector.get(name); | ||
| return server_1.injectionModule.Injector.get(name); | ||
| } | ||
@@ -13,0 +14,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;AAAA,6CAA4C;AAC5C,yCAAqC;AACrC,MAAa,MAAM;IAGf,YAAY,OAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,kBAAO,EAAE,CAAC;IACvD,CAAC;IACD,GAAG,CAAI,IAAY;QACf,OAAO,iBAAQ,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;IACnC,CAAC;CACJ;AATD,wBASC"} | ||
| {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;AAAA,6CAAgE;AAChE,yCAAqC;AACrC,MAAa,MAAM;IAGf,YAAY,OAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,kBAAO,EAAE,CAAC;IACvD,CAAC;IACD,GAAG,CAAI,IAAY;QACf,OAAO,wBAAS,CAAC,QAAQ,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IAC3C,CAAC;CACJ;AATD,wBASC"} |
+1
-0
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.TestMap = void 0; | ||
| class TestMap { | ||
@@ -4,0 +5,0 @@ constructor(options) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"test-map.js","sourceRoot":"","sources":["../src/test-map.ts"],"names":[],"mappings":";;AAAA,MAAa,OAAO;IAEhB,YAAY,OAAiB;QACzB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;IAEL,CAAC;CAGJ;AAXD,0BAWC"} | ||
| {"version":3,"file":"test-map.js","sourceRoot":"","sources":["../src/test-map.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;IAEhB,YAAY,OAAiB;QACzB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;IAEL,CAAC;CAGJ;AAXD,0BAWC"} |
+1
-0
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Test = void 0; | ||
| const module_1 = require("./module"); | ||
@@ -4,0 +5,0 @@ class Test { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAIlC,MAAa,IAAI;IAEN,MAAM,CAAC,mBAAmB,CAAC,OAAiB;QAE/C,MAAM,EAAE,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,EAAE,CAAC;IAGd,CAAC;CACJ;AAVD,oBAUC"} | ||
| {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAIlC,MAAa,IAAI;IAEN,MAAM,CAAC,mBAAmB,CAAC,OAAiB;QAE/C,MAAM,EAAE,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,EAAE,CAAC;IAGd,CAAC;CACJ;AAVD,oBAUC"} |
+24
-22
| { | ||
| "name": "@methodus/testing", | ||
| "version": "0.0.3", | ||
| "description": "", | ||
| "main": "lib/index.js", | ||
| "types": "lib/index.d.ts", | ||
| "scripts": { | ||
| "test": "npm run build && jest", | ||
| "build": "rimraf lib && tsc" | ||
| }, | ||
| "author": "nodulusteam", | ||
| "license": "ISC", | ||
| "peerDependencies": { | ||
| "@methodus/server": "^5.0.13" | ||
| }, | ||
| "dependencies": {}, | ||
| "devDependencies": { | ||
| "@methodus/server": "^5.0.13", | ||
| "@types/jest": "^24.0.23", | ||
| "jest": "^24.9.0", | ||
| "rimraf": "^3.0.0", | ||
| "ts-jest": "^24.2.0" | ||
| } | ||
| "name": "@methodus/testing", | ||
| "version": "7.0.0", | ||
| "description": "", | ||
| "main": "lib/index.js", | ||
| "types": "lib/index.d.ts", | ||
| "scripts": { | ||
| "build": "rimraf ./lib && tsc", | ||
| "test": "jest && yarn coverage", | ||
| "coverage": "cp ./coverage/coverage-final.json ../../../coverage/coverage-testing.json" | ||
| }, | ||
| "author": "nodulusteam", | ||
| "license": "ISC", | ||
| "dependencies": { | ||
| "@methodus/framework-commons": "^7.0.0", | ||
| "@methodus/framework-decorators": "^7.0.0", | ||
| "@methodus/framework-injection": "^7.0.0", | ||
| "@methodus/server": "^7.0.0" | ||
| }, | ||
| "devDependencies": { | ||
| "jest": "^24.9.0", | ||
| "rimraf": "^3.0.0", | ||
| "ts-jest": "^24.2.0" | ||
| }, | ||
| "gitHead": "777f89d6185ed09f1a4b76b1d8d0fcbf68af79b1" | ||
| } |
Mixed license
LicensePackage contains multiple licenses.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
11713
215.54%3
-40%19
35.71%147
149.15%1
-50%4
300%1
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed