lakutata
Version:
An IoC-based universal application framework.
59 lines (47 loc) • 1.64 kB
JavaScript
import { DI_TARGET_CONSTRUCTOR_INJECTS as t, DI_TARGET_CONSTRUCTOR_AUTOLOAD as e } from "../../../constants/DIMetadataKey.mjs";
import { ObjectConstructor as a } from "../../helpers/ObjectConstructor.mjs";
import { ObjectParentConstructors as r } from "../../helpers/ObjectParentConstructors.mjs";
import "../../../../vendor/Package.4.mjs";
import "../../../../vendor/Package.5.mjs";
import "../../helpers/As.mjs";
import "../../helpers/ObjectParentConstructor.mjs";
function n(e, n, f, o) {
let c;
if (Reflect.hasOwnMetadata(t, a(e))) {
c = Reflect.getOwnMetadata(t, a(e));
} else {
c = new Map;
const n = [];
r(a(e)).forEach((e => {
if (Reflect.hasOwnMetadata(t, e)) n.unshift(Reflect.getOwnMetadata(t, e));
}));
n.forEach((t => t.forEach(((t, e) => c.set(e, t)))));
}
c.set(n, {
name: f,
transform: o
});
Reflect.defineMetadata(t, c, a(e));
}
function f(e) {
const n = Reflect.getOwnMetadata(t, a(e)) || new Map;
r(a(e)).forEach((e => {
if (Reflect.hasOwnMetadata(t, e)) {
const a = Reflect.getOwnMetadata(t, e);
a.forEach(((t, e) => {
if (n.has(e)) return;
n.set(e, t);
}));
}
}));
if (n) return n;
return new Map;
}
function o(t) {
if (!Reflect.hasOwnMetadata(e, t)) Reflect.defineMetadata(e, true, t);
return t;
}
function c(t) {
return !!Reflect.getOwnMetadata(e, t);
}
export { f as GetObjectInjectItemsByPrototype, c as GetObjectIsAutoload, o as MarkObjectAsAutoload, n as SetObjectInjectItem };