lakutata
Version:
An IoC-based universal application framework.
147 lines (110 loc) • 4.25 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
const e = require("../../../../vendor/Package.2.cjs");
const r = require("node:util/types");
const t = require("../../../exceptions/dto/InvalidMethodAcceptException.cjs");
const n = require("../../../exceptions/dto/InvalidMethodReturnException.cjs");
const o = require("../../helpers/As.cjs");
require("../../../../vendor/Package.1.cjs");
require("./DataValidator.cjs");
require("../../../../vendor/Package.4.cjs");
require("../../../../vendor/Package.5.cjs");
require("../../validation/VLD.cjs");
require("../../../../vendor/Package.11.cjs");
require("url");
require("../../../../vendor/Package.10.cjs");
require("util");
require("../../../exceptions/dto/InvalidValueException.cjs");
require("../abstracts/Exception.cjs");
require("./BasicInfo.cjs");
require("../../../../vendor/Package.6.cjs");
require("../../../../vendor/Package.7.cjs");
require("./ThrowWarning.cjs");
require("../../helpers/Templating.cjs");
require("./CamelCase.cjs");
require("../../helpers/NoCase.cjs");
require("../../../../vendor/Package.9.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 a(n, a, c, s) {
const i = [];
s.forEach((r => i.push(e.IsDTO(o.As(r)) ? o.As(r).Schema() : o.As(r))));
c.writable = false;
const u = c.value;
const p = e.DTO.Array().ordered(...i);
const d = Array.isArray(i) ? i.length : 1;
if (r.isAsyncFunction(u)) {
c.value = async function(...r) {
const n = r.length - d;
try {
r = await e.DTO.validateAsync(r, p.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: a,
reason: e.message
});
}
return u.apply(this, r);
};
} else {
c.value = function(...r) {
const n = r.length - d;
try {
r = e.DTO.validate(r, p.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: a,
reason: e.message
});
}
return u.apply(this, r);
};
}
return c;
}
function c(t, a, c, s) {
const i = e.IsDTO(o.As(s)) ? o.As(s).Schema() : o.As(s);
c.writable = false;
const u = c.value;
if (r.isAsyncFunction(u)) {
c.value = async function(...r) {
const t = await u.apply(this, r);
if (t === undefined) throw new n.InvalidMethodReturnException("Method [{propertyKey}] return undefined", {
propertyKey: a
});
try {
return await e.DTO.validateAsync(t, i);
} catch (e) {
throw new n.InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
propertyKey: a,
reason: e.message
});
}
};
} else {
c.value = function(...r) {
const t = u.apply(this, r);
if (t === undefined) throw new n.InvalidMethodReturnException("Method [{propertyKey}] return undefined", {
propertyKey: a
});
try {
return e.DTO.validate(t, i);
} catch (e) {
throw new n.InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
propertyKey: a,
reason: e.message
});
}
};
}
return c;
}
exports.SetMethodAcceptArgumentsValidator = a;
exports.SetMethodReturnValueValidator = c;