UNPKG

magic-oopjs

Version:

新增了 多线程的异常日志输出

37 lines (33 loc) 1.61 kB
const { Worker, MessageChannel, MessagePort, isMainThread, parentPort } = require('worker_threads'); const { getDataType, objectDeepCompare } = require("./utils/function"); const { isFunction, validate, isAsyncFunction, isArray, isObject } = getDataType(); const {_inner} = require("./main") const _inner_checkinner = _inner._inner_checkinner; const _inner_checkinner_keywords = _inner._inner_checkinner_keywords; function Thread(target, name, descriptor) { _inner_checkinner(target); if (_inner_checkinner_keywords(name)) { errorMsg = `@Thread 修饰异常:定义方法异常,${name}者方法 为内部保留方法,不可重新定义` throw new Error(errorMsg); } if (isFunction(target[name])) { // if ((!target.$inner.PublicMethods || !target.$inner.PublicMethods.has(name)) && (!target.$inner.ProtectedMethods || !target.$inner.ProtectedMethods.has(name))) { // errorMsg = `@Thread 修饰报错:${name}方法必须是被@Public或者@Protected修饰` // throw new Error(errorMsg); // } if (!target.$inner.ThreadMethods || target.$inner.ThreadMethods.size == 0) { target.$inner.ThreadMethods = new Set(); } target.$inner.ThreadMethods.add(name); //console.log("设置方法的公有访问权限", name,target.$inner.PublicMethods) } else { errorMsg = `@Thread 修饰报错:${name}应该为方法,不能为属性,因为 @Thread 只能修饰方法` throw new Error(errorMsg); } } module.exports = { Thread }