UNPKG

qcobjects

Version:

QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.

27 lines (25 loc) 798 B
import { isQCObjects_Class } from "./isQCObjects"; import { Package } from "./Package"; /** * Declare Namespace * * @param {String} packageName * @param {Object} package */ export const NamespaceRef = function (namespace:string):any { const packageInstance = Package(namespace) || []; const classes = packageInstance.filter((c:any) => isQCObjects_Class(c)).map((c:any) => { return { [c.__definition.__classType]: c }; // eslint-disable-next-line @typescript-eslint/no-unsafe-return }).reduce((a:any, b:any):any => {return Object.assign(a, b);}); return namespace.split(".").map(c => { return { [c]: classes }; }).reverse().reduce((a, b) => { b[Object.keys(b).join(".")] = a; return b; }); };