{"version":3,"sources":["../../src/metadata-builder/MetadataUtils.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH;IAAA;IAqCA,CAAC;IAnCG;;;;;OAKG;IACI,gCAAkB,GAAzB,UAA0B,MAAgB;QACtC,IAAM,IAAI,GAAe,CAAC,MAAM,CAAC,CAAC;QAClC,IAAM,cAAc,GAAG,UAAC,MAAgB;YACpC,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,cAAc,CAAC,KAAK,CAAC,CAAC;aACzB;QACL,CAAC,CAAC;QACF,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,yBAAW,GAAlB,UAAmB,OAAiB,EAAE,OAAiB;QACnD,OAAO,OAAO,CAAC,SAAS,YAAY,OAAO,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,4BAAc,GAArB,UAAkD,KAAU,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAlD,CAAkD,CAAC,CAAC;IACpF,CAAC;IAEL,oBAAC;AAAD,CArCA,AAqCC,IAAA;AArCY,sCAAa","file":"MetadataUtils.js","sourcesContent":["/**\n * Metadata args utility functions.\n */\nexport class MetadataUtils {\n\n /**\n * Gets given's entity all inherited classes.\n * Gives in order from parents to children.\n * For example Post extends ContentModel which extends Unit it will give\n * [Unit, ContentModel, Post]\n */\n static getInheritanceTree(entity: Function): Function[] {\n const tree: Function[] = [entity];\n const getPrototypeOf = (object: Function): void => {\n const proto = Object.getPrototypeOf(object);\n if (proto && proto.name) {\n tree.push(proto);\n getPrototypeOf(proto);\n }\n };\n getPrototypeOf(entity);\n return tree;\n }\n\n /**\n * Checks if this table is inherited from another table.\n */\n static isInherited(target1: Function, target2: Function) {\n return target1.prototype instanceof target2;\n }\n\n /**\n * Filters given array of targets by a given classes.\n * If classes are not given, then it returns array itself.\n */\n static filterByTarget<T extends { target?: any }>(array: T[], classes?: any[]): T[] {\n if (!classes) return array;\n return array.filter(item => item.target && classes.indexOf(item.target) !== -1);\n }\n\n}"],"sourceRoot":".."}
|