lakutata
Version:
An IoC-based universal application framework.
144 lines (109 loc) • 4.3 kB
JavaScript
/* Build Date: Mon Jan 05 2026 23:52:23 GMT+0800 (China Standard Time) */
;
Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
const e = require("../../../../vendor/Package.internal.7.cjs");
const r = require("node:util/types");
const t = require("../../../exceptions/dto/InvalidMethodAcceptException.cjs");
const n = require("../../../exceptions/dto/InvalidMethodReturnException.cjs");
const a = require("../../helpers/As.cjs");
require("../../../../vendor/Package.internal.3.cjs");
require("./DataValidator.cjs");
require("../../../../vendor/Package.internal.1.cjs");
require("../../../../vendor/Package.internal.2.cjs");
require("../../validation/VLD.cjs");
require("url");
require("util");
require("../../../exceptions/dto/InvalidValueException.cjs");
require("../abstracts/Exception.cjs");
require("../../../../vendor/Package.internal.5.cjs");
require("../../../../vendor/Package.internal.6.cjs");
require("./ThrowWarning.cjs");
require("../../helpers/Templating.cjs");
require("./CamelCase.cjs");
require("../../helpers/NoCase.cjs");
require("../../helpers/DevNull.cjs");
require("../../../../vendor/Package.internal.8.cjs");
require("../../helpers/IsHtml.cjs");
require("../../helpers/IsXML.cjs");
require("../../../constants/DTOMetadataKey.cjs");
require("../../helpers/ObjectConstructor.cjs");
require("../../helpers/ObjectParentConstructors.cjs");
require("../../helpers/ObjectParentConstructor.cjs");
require("../../helpers/ObjectPrototype.cjs");
function o(n, o, s, c) {
const i = [];
c.forEach(r => i.push(e.IsDTO(a.As(r)) ? a.As(r).Schema() : a.As(r)));
s.writable = false;
const u = s.value;
const l = e.DTO.Array().ordered(...i);
const p = Array.isArray(i) ? i.length : 1;
if (r.isAsyncFunction(u)) {
s.value = async function(...r) {
const n = r.length - p;
try {
r = await e.DTO.validateAsync(r, l.concat(e.DTO.Array().ordered(...new Array(n >= 0 ? n : 0).fill(e.DTO.Any()))));
} catch (e) {
throw new t.InvalidMethodAcceptException("Method [{propertyKey}] accept argument {reason}", {
propertyKey: o,
reason: e.message
});
}
return u.apply(this, r);
};
} else {
s.value = function(...r) {
const n = r.length - p;
try {
r = e.DTO.validate(r, l.concat(e.DTO.Array().ordered(...new Array(n >= 0 ? n : 0).fill(e.DTO.Any()))));
} catch (e) {
throw new t.InvalidMethodAcceptException("Method [{propertyKey}] accept argument {reason}", {
propertyKey: o,
reason: e.message
});
}
return u.apply(this, r);
};
}
return s;
}
function s(t, o, s, c) {
const i = e.IsDTO(a.As(c)) ? a.As(c).Schema() : a.As(c);
s.writable = false;
const u = s.value;
if (r.isAsyncFunction(u)) {
s.value = async function(...r) {
const t = await u.apply(this, r);
if (t === undefined) throw new n.InvalidMethodReturnException("Method [{propertyKey}] return undefined", {
propertyKey: o
});
try {
return await e.DTO.validateAsync(t, i);
} catch (e) {
throw new n.InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
propertyKey: o,
reason: e.message
});
}
};
} else {
s.value = function(...r) {
const t = u.apply(this, r);
if (t === undefined) throw new n.InvalidMethodReturnException("Method [{propertyKey}] return undefined", {
propertyKey: o
});
try {
return e.DTO.validate(t, i);
} catch (e) {
throw new n.InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
propertyKey: o,
reason: e.message
});
}
};
}
return s;
}
exports.SetMethodAcceptArgumentsValidator = o;
exports.SetMethodReturnValueValidator = s;