@nocobase/resourcer 0.13.0-alpha.3 → 0.13.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/action.js +99 -99
- package/lib/index.d.ts +0 -2
- package/lib/index.js +28 -70
- package/lib/middleware.js +64 -52
- package/lib/resource.d.ts +1 -1
- package/lib/resource.js +57 -57
- package/lib/resourcer.js +126 -147
- package/lib/utils.js +120 -125
- package/package.json +3 -3
package/lib/action.js
CHANGED
|
@@ -1,67 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var action_exports = {};
|
|
30
|
+
__export(action_exports, {
|
|
31
|
+
Action: () => Action,
|
|
32
|
+
default: () => action_default
|
|
5
33
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const data = _interopRequireDefault(require("lodash"));
|
|
23
|
-
_lodash = function _lodash() {
|
|
24
|
-
return data;
|
|
25
|
-
};
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
var _middleware = _interopRequireDefault(require("./middleware"));
|
|
29
|
-
const _excluded = ["middleware", "middlewares", "handler"];
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
32
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
33
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
36
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
37
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
38
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
39
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
40
|
-
class Action {
|
|
34
|
+
module.exports = __toCommonJS(action_exports);
|
|
35
|
+
var import_utils = require("@nocobase/utils");
|
|
36
|
+
var import_koa_compose = __toESM(require("koa-compose"));
|
|
37
|
+
var import_lodash = __toESM(require("lodash"));
|
|
38
|
+
var import_middleware = __toESM(require("./middleware"));
|
|
39
|
+
const _Action = class _Action {
|
|
40
|
+
handler;
|
|
41
|
+
resource;
|
|
42
|
+
name;
|
|
43
|
+
options;
|
|
44
|
+
context = {};
|
|
45
|
+
params = {};
|
|
46
|
+
actionName;
|
|
47
|
+
resourceName;
|
|
48
|
+
resourceOf;
|
|
49
|
+
middlewares = [];
|
|
41
50
|
constructor(options) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.options = void 0;
|
|
46
|
-
this.context = {};
|
|
47
|
-
this.params = {};
|
|
48
|
-
this.actionName = void 0;
|
|
49
|
-
this.resourceName = void 0;
|
|
50
|
-
this.resourceOf = void 0;
|
|
51
|
-
this.middlewares = [];
|
|
52
|
-
options = (0, _utils().requireModule)(options);
|
|
53
|
-
if (typeof options === 'function') {
|
|
54
|
-
options = {
|
|
55
|
-
handler: options
|
|
56
|
-
};
|
|
51
|
+
options = (0, import_utils.requireModule)(options);
|
|
52
|
+
if (typeof options === "function") {
|
|
53
|
+
options = { handler: options };
|
|
57
54
|
}
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
_options$middlewares = _options.middlewares,
|
|
61
|
-
middlewares = _options$middlewares === void 0 ? [] : _options$middlewares,
|
|
62
|
-
handler = _options.handler,
|
|
63
|
-
params = _objectWithoutProperties(_options, _excluded);
|
|
64
|
-
this.middlewares = _middleware.default.toInstanceArray(middleware || middlewares);
|
|
55
|
+
const { middleware, middlewares = [], handler, ...params } = options;
|
|
56
|
+
this.middlewares = import_middleware.default.toInstanceArray(middleware || middlewares);
|
|
65
57
|
this.handler = handler;
|
|
66
58
|
this.options = options;
|
|
67
59
|
this.mergeParams(params);
|
|
@@ -75,10 +67,10 @@ class Action {
|
|
|
75
67
|
};
|
|
76
68
|
}
|
|
77
69
|
clone() {
|
|
78
|
-
const options =
|
|
70
|
+
const options = import_lodash.default.cloneDeep(this.options);
|
|
79
71
|
delete options.middleware;
|
|
80
72
|
delete options.middlewares;
|
|
81
|
-
const action = new
|
|
73
|
+
const action = new _Action(options);
|
|
82
74
|
action.setName(this.name);
|
|
83
75
|
action.setResource(this.resource);
|
|
84
76
|
action.middlewares.push(...this.middlewares);
|
|
@@ -94,15 +86,16 @@ class Action {
|
|
|
94
86
|
if (!params) {
|
|
95
87
|
return;
|
|
96
88
|
}
|
|
97
|
-
(0,
|
|
98
|
-
filter:
|
|
99
|
-
fields:
|
|
100
|
-
appends:
|
|
101
|
-
except:
|
|
102
|
-
whitelist:
|
|
103
|
-
blacklist:
|
|
104
|
-
sort:
|
|
105
|
-
|
|
89
|
+
(0, import_utils.assign)(this.params, params, {
|
|
90
|
+
filter: "andMerge",
|
|
91
|
+
fields: "intersect",
|
|
92
|
+
appends: "union",
|
|
93
|
+
except: "union",
|
|
94
|
+
whitelist: "intersect",
|
|
95
|
+
blacklist: "intersect",
|
|
96
|
+
sort: "overwrite",
|
|
97
|
+
...strategies
|
|
98
|
+
});
|
|
106
99
|
}
|
|
107
100
|
setResource(resource) {
|
|
108
101
|
this.resource = resource;
|
|
@@ -122,40 +115,47 @@ class Action {
|
|
|
122
115
|
return this.name;
|
|
123
116
|
}
|
|
124
117
|
getMiddlewareHandlers() {
|
|
125
|
-
return this.middlewares.filter(middleware => middleware.canAccess(this.name)).map(middleware => middleware.getHandler());
|
|
118
|
+
return this.middlewares.filter((middleware) => middleware.canAccess(this.name)).map((middleware) => middleware.getHandler());
|
|
126
119
|
}
|
|
127
120
|
getHandler() {
|
|
128
|
-
const handler = (0,
|
|
129
|
-
if (typeof handler !==
|
|
130
|
-
throw new Error(
|
|
121
|
+
const handler = (0, import_utils.requireModule)(this.handler || this.resource.resourcer.getRegisteredHandler(this.name));
|
|
122
|
+
if (typeof handler !== "function") {
|
|
123
|
+
throw new Error("Handler must be a function!");
|
|
131
124
|
}
|
|
132
125
|
return handler;
|
|
133
126
|
}
|
|
134
127
|
getHandlers() {
|
|
135
|
-
const handlers = [
|
|
128
|
+
const handlers = [
|
|
129
|
+
...this.resource.resourcer.getMiddlewares(),
|
|
130
|
+
...this.getMiddlewareHandlers(),
|
|
131
|
+
this.getHandler()
|
|
132
|
+
].filter(Boolean);
|
|
136
133
|
return handlers;
|
|
137
134
|
}
|
|
138
|
-
execute(context, next) {
|
|
139
|
-
|
|
140
|
-
return _asyncToGenerator(function* () {
|
|
141
|
-
return yield (0, _koaCompose().default)(_this.getHandlers())(context, next);
|
|
142
|
-
})();
|
|
135
|
+
async execute(context, next) {
|
|
136
|
+
return await (0, import_koa_compose.default)(this.getHandlers())(context, next);
|
|
143
137
|
}
|
|
144
138
|
static toInstanceMap(actions, resource) {
|
|
145
|
-
return new Map(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
139
|
+
return new Map(
|
|
140
|
+
Object.entries(actions).map(([key, options]) => {
|
|
141
|
+
let action;
|
|
142
|
+
if (options instanceof _Action) {
|
|
143
|
+
action = options;
|
|
144
|
+
} else {
|
|
145
|
+
action = new _Action(options);
|
|
146
|
+
}
|
|
147
|
+
action.setName(key);
|
|
148
|
+
action.setResource(resource);
|
|
149
|
+
resource && action.middlewares.unshift(...resource.middlewares);
|
|
150
|
+
return [key, action];
|
|
151
|
+
})
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
__name(_Action, "Action");
|
|
156
|
+
let Action = _Action;
|
|
157
|
+
var action_default = Action;
|
|
158
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
159
|
+
0 && (module.exports = {
|
|
160
|
+
Action
|
|
161
|
+
});
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,71 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var src_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(src_exports);
|
|
17
|
+
__reExport(src_exports, require("./utils"), module.exports);
|
|
18
|
+
__reExport(src_exports, require("./middleware"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./action"), module.exports);
|
|
20
|
+
__reExport(src_exports, require("./resource"), module.exports);
|
|
21
|
+
__reExport(src_exports, require("./resourcer"), module.exports);
|
|
22
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
+
0 && (module.exports = {
|
|
24
|
+
...require("./utils"),
|
|
25
|
+
...require("./middleware"),
|
|
26
|
+
...require("./action"),
|
|
27
|
+
...require("./resource"),
|
|
28
|
+
...require("./resourcer")
|
|
5
29
|
});
|
|
6
|
-
var _exportNames = {};
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _resourcer = _interopRequireWildcard(require("./resourcer"));
|
|
9
|
-
Object.keys(_resourcer).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
12
|
-
if (key in exports && exports[key] === _resourcer[key]) return;
|
|
13
|
-
Object.defineProperty(exports, key, {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function get() {
|
|
16
|
-
return _resourcer[key];
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
var _utils = require("./utils");
|
|
21
|
-
Object.keys(_utils).forEach(function (key) {
|
|
22
|
-
if (key === "default" || key === "__esModule") return;
|
|
23
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
24
|
-
if (key in exports && exports[key] === _utils[key]) return;
|
|
25
|
-
Object.defineProperty(exports, key, {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _utils[key];
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
var _middleware = require("./middleware");
|
|
33
|
-
Object.keys(_middleware).forEach(function (key) {
|
|
34
|
-
if (key === "default" || key === "__esModule") return;
|
|
35
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
36
|
-
if (key in exports && exports[key] === _middleware[key]) return;
|
|
37
|
-
Object.defineProperty(exports, key, {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
get: function get() {
|
|
40
|
-
return _middleware[key];
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
var _action = require("./action");
|
|
45
|
-
Object.keys(_action).forEach(function (key) {
|
|
46
|
-
if (key === "default" || key === "__esModule") return;
|
|
47
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
48
|
-
if (key in exports && exports[key] === _action[key]) return;
|
|
49
|
-
Object.defineProperty(exports, key, {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function get() {
|
|
52
|
-
return _action[key];
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
var _resource = require("./resource");
|
|
57
|
-
Object.keys(_resource).forEach(function (key) {
|
|
58
|
-
if (key === "default" || key === "__esModule") return;
|
|
59
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
60
|
-
if (key in exports && exports[key] === _resource[key]) return;
|
|
61
|
-
Object.defineProperty(exports, key, {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
get: function get() {
|
|
64
|
-
return _resource[key];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
69
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
70
|
-
var _default = _resourcer.default;
|
|
71
|
-
exports.default = _default;
|
package/lib/middleware.js
CHANGED
|
@@ -1,45 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var middleware_exports = {};
|
|
30
|
+
__export(middleware_exports, {
|
|
31
|
+
Middleware: () => Middleware,
|
|
32
|
+
branch: () => branch,
|
|
33
|
+
default: () => middleware_default
|
|
5
34
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return data;
|
|
13
|
-
};
|
|
14
|
-
return data;
|
|
15
|
-
}
|
|
16
|
-
function _utils() {
|
|
17
|
-
const data = require("@nocobase/utils");
|
|
18
|
-
_utils = function _utils() {
|
|
19
|
-
return data;
|
|
20
|
-
};
|
|
21
|
-
return data;
|
|
22
|
-
}
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
-
class Middleware {
|
|
35
|
+
module.exports = __toCommonJS(middleware_exports);
|
|
36
|
+
var import_koa_compose = __toESM(require("koa-compose"));
|
|
37
|
+
var import_utils = require("@nocobase/utils");
|
|
38
|
+
const _Middleware = class _Middleware {
|
|
39
|
+
options;
|
|
40
|
+
middlewares = [];
|
|
25
41
|
constructor(options) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (typeof options === 'function') {
|
|
30
|
-
this.options = {
|
|
31
|
-
handler: options
|
|
32
|
-
};
|
|
42
|
+
options = (0, import_utils.requireModule)(options);
|
|
43
|
+
if (typeof options === "function") {
|
|
44
|
+
this.options = { handler: options };
|
|
33
45
|
} else {
|
|
34
46
|
this.options = options;
|
|
35
47
|
}
|
|
36
48
|
}
|
|
37
49
|
getHandler() {
|
|
38
|
-
const handler = (0,
|
|
39
|
-
if (typeof handler !==
|
|
40
|
-
throw new Error(
|
|
50
|
+
const handler = (0, import_utils.requireModule)(this.options.handler);
|
|
51
|
+
if (typeof handler !== "function") {
|
|
52
|
+
throw new Error("Handler must be a function!");
|
|
41
53
|
}
|
|
42
|
-
return (ctx, next) => (0,
|
|
54
|
+
return (ctx, next) => (0, import_koa_compose.default)([handler, ...this.middlewares])(ctx, next);
|
|
43
55
|
}
|
|
44
56
|
use(middleware) {
|
|
45
57
|
this.middlewares.push(middleware);
|
|
@@ -48,11 +60,7 @@ class Middleware {
|
|
|
48
60
|
this.middlewares.splice(this.middlewares.indexOf(middleware), 1);
|
|
49
61
|
}
|
|
50
62
|
canAccess(name) {
|
|
51
|
-
const
|
|
52
|
-
_this$options$only = _this$options.only,
|
|
53
|
-
only = _this$options$only === void 0 ? [] : _this$options$only,
|
|
54
|
-
_this$options$except = _this$options.except,
|
|
55
|
-
except = _this$options$except === void 0 ? [] : _this$options$except;
|
|
63
|
+
const { only = [], except = [] } = this.options;
|
|
56
64
|
if (only.length > 0) {
|
|
57
65
|
return only.includes(name);
|
|
58
66
|
}
|
|
@@ -68,24 +76,22 @@ class Middleware {
|
|
|
68
76
|
if (!Array.isArray(middlewares)) {
|
|
69
77
|
middlewares = [middlewares];
|
|
70
78
|
}
|
|
71
|
-
return middlewares.map(middleware => {
|
|
72
|
-
if (middleware instanceof
|
|
79
|
+
return middlewares.map((middleware) => {
|
|
80
|
+
if (middleware instanceof _Middleware) {
|
|
73
81
|
return middleware;
|
|
74
82
|
}
|
|
75
|
-
if (typeof middleware ===
|
|
76
|
-
return new
|
|
83
|
+
if (typeof middleware === "object") {
|
|
84
|
+
return new _Middleware(middleware);
|
|
77
85
|
}
|
|
78
|
-
if (typeof middleware ===
|
|
79
|
-
return new
|
|
80
|
-
handler: middleware
|
|
81
|
-
});
|
|
86
|
+
if (typeof middleware === "function") {
|
|
87
|
+
return new _Middleware({ handler: middleware });
|
|
82
88
|
}
|
|
83
89
|
});
|
|
84
90
|
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
91
|
+
};
|
|
92
|
+
__name(_Middleware, "Middleware");
|
|
93
|
+
let Middleware = _Middleware;
|
|
94
|
+
var middleware_default = Middleware;
|
|
89
95
|
function branch(map = {}, reducer, options = {}) {
|
|
90
96
|
return (ctx, next) => {
|
|
91
97
|
const key = reducer(ctx);
|
|
@@ -98,4 +104,10 @@ function branch(map = {}, reducer, options = {}) {
|
|
|
98
104
|
}
|
|
99
105
|
return handler(ctx, next);
|
|
100
106
|
};
|
|
101
|
-
}
|
|
107
|
+
}
|
|
108
|
+
__name(branch, "branch");
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
Middleware,
|
|
112
|
+
branch
|
|
113
|
+
});
|
package/lib/resource.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Action, { ActionName, ActionType } from './action';
|
|
2
2
|
import Middleware, { MiddlewareType } from './middleware';
|
|
3
|
-
import Resourcer from './resourcer';
|
|
3
|
+
import { Resourcer } from './resourcer';
|
|
4
4
|
export type ResourceType = 'single' | 'hasOne' | 'hasMany' | 'belongsTo' | 'belongsToMany';
|
|
5
5
|
export interface ResourceOptions {
|
|
6
6
|
/**
|
package/lib/resource.js
CHANGED
|
@@ -1,68 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var resource_exports = {};
|
|
30
|
+
__export(resource_exports, {
|
|
31
|
+
Resource: () => Resource,
|
|
32
|
+
default: () => resource_default
|
|
5
33
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
20
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
22
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
24
|
-
class Resource {
|
|
34
|
+
module.exports = __toCommonJS(resource_exports);
|
|
35
|
+
var import_lodash = __toESM(require("lodash"));
|
|
36
|
+
var import_action = __toESM(require("./action"));
|
|
37
|
+
var import_middleware = __toESM(require("./middleware"));
|
|
38
|
+
const _Resource = class _Resource {
|
|
39
|
+
resourcer;
|
|
40
|
+
middlewares;
|
|
41
|
+
actions = /* @__PURE__ */ new Map();
|
|
42
|
+
options;
|
|
43
|
+
except;
|
|
25
44
|
constructor(options, resourcer) {
|
|
26
|
-
|
|
27
|
-
this.middlewares = void 0;
|
|
28
|
-
this.actions = new Map();
|
|
29
|
-
this.options = void 0;
|
|
30
|
-
this.except = void 0;
|
|
31
|
-
const middleware = options.middleware,
|
|
32
|
-
middlewares = options.middlewares,
|
|
33
|
-
_options$actions = options.actions,
|
|
34
|
-
actions = _options$actions === void 0 ? {} : _options$actions,
|
|
35
|
-
_options$only = options.only,
|
|
36
|
-
only = _options$only === void 0 ? [] : _options$only,
|
|
37
|
-
_options$except = options.except,
|
|
38
|
-
except = _options$except === void 0 ? [] : _options$except;
|
|
45
|
+
const { middleware, middlewares, actions = {}, only = [], except = [] } = options;
|
|
39
46
|
this.options = options;
|
|
40
47
|
this.resourcer = resourcer;
|
|
41
|
-
this.middlewares =
|
|
48
|
+
this.middlewares = import_middleware.default.toInstanceArray(middleware || middlewares);
|
|
42
49
|
let excludes = [];
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
47
|
-
const _step$value = _slicedToArray(_step.value, 2),
|
|
48
|
-
name = _step$value[0],
|
|
49
|
-
handler = _step$value[1];
|
|
50
|
-
if (!actions[name]) {
|
|
51
|
-
actions[name] = handler;
|
|
52
|
-
}
|
|
50
|
+
for (const [name, handler] of resourcer.getRegisteredHandlers()) {
|
|
51
|
+
if (!actions[name]) {
|
|
52
|
+
actions[name] = handler;
|
|
53
53
|
}
|
|
54
|
-
} catch (err) {
|
|
55
|
-
_iterator.e(err);
|
|
56
|
-
} finally {
|
|
57
|
-
_iterator.f();
|
|
58
54
|
}
|
|
59
55
|
if (except.length > 0) {
|
|
60
56
|
excludes = except;
|
|
61
57
|
} else if (only.length > 0) {
|
|
62
|
-
excludes = Object.keys(actions).filter(name => !only.includes(name));
|
|
58
|
+
excludes = Object.keys(actions).filter((name) => !only.includes(name));
|
|
63
59
|
}
|
|
64
60
|
this.except = excludes;
|
|
65
|
-
this.actions =
|
|
61
|
+
this.actions = import_action.default.toInstanceMap(import_lodash.default.omit(actions, excludes), this);
|
|
66
62
|
}
|
|
67
63
|
getName() {
|
|
68
64
|
return this.options.name;
|
|
@@ -79,7 +75,11 @@ class Resource {
|
|
|
79
75
|
}
|
|
80
76
|
return this.actions.get(action);
|
|
81
77
|
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
};
|
|
79
|
+
__name(_Resource, "Resource");
|
|
80
|
+
let Resource = _Resource;
|
|
81
|
+
var resource_default = Resource;
|
|
82
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
83
|
+
0 && (module.exports = {
|
|
84
|
+
Resource
|
|
85
|
+
});
|