@nocobase/resourcer
Advanced tools
Comparing version 0.7.4-alpha.7 to 0.7.5-alpha.1
@@ -185,3 +185,3 @@ import Resource from './resource'; | ||
getName(): ActionName; | ||
getMiddlewareHandlers(): any[]; | ||
getMiddlewareHandlers(): ((ctx: any, next: any) => Promise<void>)[]; | ||
getHandler(): any; | ||
@@ -188,0 +188,0 @@ getHandlers(): any[]; |
@@ -28,4 +28,12 @@ "use strict"; | ||
var _utils = require("./utils"); | ||
function _utils() { | ||
const data = require("@nocobase/utils"); | ||
_utils = function _utils() { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
var _middleware = _interopRequireDefault(require("./middleware")); | ||
@@ -65,3 +73,3 @@ | ||
this.middlewares = []; | ||
options = (0, _utils.requireModule)(options); | ||
options = (0, _utils().requireModule)(options); | ||
@@ -142,3 +150,3 @@ if (typeof options === 'function') { | ||
getHandler() { | ||
const handler = (0, _utils.requireModule)(this.handler || this.resource.resourcer.getRegisteredHandler(this.name)); | ||
const handler = (0, _utils().requireModule)(this.handler || this.resource.resourcer.getRegisteredHandler(this.name)); | ||
@@ -145,0 +153,0 @@ if (typeof handler !== 'function') { |
@@ -52,2 +52,6 @@ "use strict"; | ||
mergeStrategies.set('overwrite', (_, y) => { | ||
if (typeof y === 'string') { | ||
y = y.split(','); | ||
} | ||
return y; | ||
@@ -54,0 +58,0 @@ }); |
@@ -18,4 +18,7 @@ import { ActionName } from './action'; | ||
protected options: MiddlewareOptions; | ||
private middlewares; | ||
constructor(options: MiddlewareOptions | Function); | ||
getHandler(): any; | ||
getHandler(): (ctx: any, next: any) => Promise<void>; | ||
use(middleware: HandlerType): void; | ||
disuse(middleware: HandlerType): void; | ||
canAccess(name: ActionName): boolean; | ||
@@ -25,7 +28,7 @@ static toInstanceArray(middlewares: any): Middleware[]; | ||
export default Middleware; | ||
export declare class MiddlewareManager { | ||
protected middlewares: HandlerType[]; | ||
compose(): (ctx: any, next: any) => Promise<void>; | ||
use(middleware: HandlerType): void; | ||
unuse(middleware: HandlerType): void; | ||
} | ||
export declare function branch(map: { | ||
[key: string]: HandlerType; | ||
}, reducer: (ctx: any) => string, options?: { | ||
keyNotFound?(ctx: any, next: any): void; | ||
handlerNotSet?(ctx: any, next: any): void; | ||
}): HandlerType; |
@@ -6,3 +6,5 @@ "use strict"; | ||
}); | ||
exports.default = exports.MiddlewareManager = exports.Middleware = void 0; | ||
exports.Middleware = void 0; | ||
exports.branch = branch; | ||
exports.default = void 0; | ||
@@ -19,4 +21,12 @@ function _koaCompose() { | ||
var _utils = require("./utils"); | ||
function _utils() { | ||
const data = require("@nocobase/utils"); | ||
_utils = function _utils() { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -27,3 +37,4 @@ | ||
this.options = void 0; | ||
options = (0, _utils.requireModule)(options); | ||
this.middlewares = []; | ||
options = (0, _utils().requireModule)(options); | ||
@@ -40,3 +51,3 @@ if (typeof options === 'function') { | ||
getHandler() { | ||
const handler = (0, _utils.requireModule)(this.options.handler); | ||
const handler = (0, _utils().requireModule)(this.options.handler); | ||
@@ -47,5 +58,13 @@ if (typeof handler !== 'function') { | ||
return handler; | ||
return (ctx, next) => (0, _koaCompose().default)([handler, ...this.middlewares])(ctx, next); | ||
} | ||
use(middleware) { | ||
this.middlewares.push(middleware); | ||
} | ||
disuse(middleware) { | ||
this.middlewares.splice(this.middlewares.indexOf(middleware), 1); | ||
} | ||
canAccess(name) { | ||
@@ -101,21 +120,18 @@ const _this$options = this.options, | ||
class MiddlewareManager { | ||
constructor() { | ||
this.middlewares = []; | ||
} | ||
function branch(map = {}, reducer, options = {}) { | ||
return (ctx, next) => { | ||
const key = reducer(ctx); | ||
compose() { | ||
return (ctx, next) => (0, _koaCompose().default)(this.middlewares)(ctx, next); | ||
} | ||
if (!key) { | ||
return options.keyNotFound ? options.keyNotFound(ctx, next) : ctx.throw(404); | ||
} | ||
use(middleware) { | ||
this.middlewares.push(middleware); | ||
} | ||
const handler = map[key]; | ||
unuse(middleware) { | ||
this.middlewares.splice(this.middlewares.indexOf(middleware), 1); | ||
} | ||
if (!handler) { | ||
return options.handlerNotSet ? options.handlerNotSet(ctx, next) : ctx.throw(404); | ||
} | ||
} | ||
exports.MiddlewareManager = MiddlewareManager; | ||
return handler(ctx, next); | ||
}; | ||
} |
@@ -48,5 +48,15 @@ "use strict"; | ||
function _utils() { | ||
const data = require("@nocobase/utils"); | ||
_utils = function _utils() { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
var _resource = _interopRequireDefault(require("./resource")); | ||
var _utils = require("./utils"); | ||
var _utils2 = require("./utils"); | ||
@@ -113,3 +123,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
files.forEach(file => { | ||
const options = (0, _utils.requireModule)(file); | ||
const options = (0, _utils().requireModule)(file); | ||
const table = this.define(typeof options === 'function' ? options(this) : options); | ||
@@ -213,3 +223,3 @@ resources.set(table.getName(), table); | ||
ctx.resourcer = _this; | ||
let params = (0, _utils.parseRequest)({ | ||
let params = (0, _utils2.parseRequest)({ | ||
path: ctx.request.path, | ||
@@ -227,7 +237,7 @@ method: ctx.request.method | ||
try { | ||
const resource = _this.getResource((0, _utils.getNameByParams)(params)); // 为关系资源时,暂时需要再执行一遍 parseRequest | ||
const resource = _this.getResource((0, _utils2.getNameByParams)(params)); // 为关系资源时,暂时需要再执行一遍 parseRequest | ||
if (resource.options.type && resource.options.type !== 'single') { | ||
params = (0, _utils.parseRequest)({ | ||
params = (0, _utils2.parseRequest)({ | ||
path: ctx.request.path, | ||
@@ -247,3 +257,3 @@ method: ctx.request.method, | ||
ctx.action = _this.getAction((0, _utils.getNameByParams)(params), params.actionName).clone(); | ||
ctx.action = _this.getAction((0, _utils2.getNameByParams)(params), params.actionName).clone(); | ||
ctx.action.setContext(ctx); | ||
@@ -254,3 +264,3 @@ ctx.action.actionName = params.actionName; | ||
ctx.action.params.filterByTk = params.resourceIndex; | ||
const query = (0, _utils.parseQuery)(ctx.request.querystring); | ||
const query = (0, _utils2.parseQuery)(ctx.request.querystring); | ||
@@ -257,0 +267,0 @@ if ((0, _pathToRegexp().pathToRegexp)('/resourcer/{:associatedName.}?:resourceName{\\::actionName}').test(ctx.request.path)) { |
@@ -28,5 +28,4 @@ import { ResourceType } from './resource'; | ||
export declare function parseRequest(request: ParseRequest, options?: ParseOptions): ParsedParams | false; | ||
export declare function requireModule(module: any): any; | ||
export declare function parseQuery(input: string): any; | ||
export declare function parseFields(fields: any): any; | ||
export declare function mergeFields(defaults: any, inputs: any): any; |
@@ -11,3 +11,2 @@ "use strict"; | ||
exports.parseRequest = parseRequest; | ||
exports.requireModule = requireModule; | ||
@@ -220,14 +219,2 @@ function _lodash() { | ||
function requireModule(module) { | ||
if (typeof module === 'string') { | ||
module = require(module); | ||
} | ||
if (typeof module !== 'object') { | ||
return module; | ||
} | ||
return module.__esModule ? module.default : module; | ||
} | ||
function parseQuery(input) { | ||
@@ -234,0 +221,0 @@ // 自带 query 处理的不太给力,需要用 qs 转一下 |
{ | ||
"name": "@nocobase/resourcer", | ||
"version": "0.7.4-alpha.7", | ||
"version": "0.7.5-alpha.1", | ||
"description": "", | ||
@@ -15,2 +15,3 @@ "main": "./lib/index.js", | ||
"dependencies": { | ||
"@nocobase/utils": "0.7.5-alpha.1", | ||
"deepmerge": "^4.2.2", | ||
@@ -27,3 +28,3 @@ "koa-compose": "^4.1.0", | ||
}, | ||
"gitHead": "77f22e6da464d19be111835316faf4b94cd80413" | ||
"gitHead": "f6eb27b68185bb0c0b4c2cfca1df84205a9b9173" | ||
} |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
67923
1532
0
6
+ Added@babel/runtime@7.26.7(transitive)
+ Added@nocobase/utils@0.7.5-alpha.1(transitive)
+ Added@rc-component/mini-decimal@1.1.0(transitive)
+ Addedclassnames@2.5.1(transitive)
+ Addedflat-to-nested@1.1.1(transitive)
+ Addedmoment@2.30.1(transitive)
+ Addedrc-input-number@7.4.2(transitive)
+ Addedrc-util@5.44.3(transitive)
+ Addedreact@19.0.0(transitive)
+ Addedreact-dom@19.0.0(transitive)
+ Addedreact-is@18.3.1(transitive)
+ Addedregenerator-runtime@0.14.1(transitive)
+ Addedscheduler@0.25.0(transitive)