UNPKG

lakutata

Version:

An IoC-based universal application framework.

144 lines (109 loc) 4.3 kB
/* Build Date: Mon Jan 05 2026 23:52:23 GMT+0800 (China Standard Time) */ "use strict"; 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;