@allgemein/base 1.6.8 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/base",
3
- "version": "1.6.8",
3
+ "version": "1.6.9",
4
4
  "description": "Library for commons moduls.",
5
5
  "main": "./index.js",
6
6
  "private": false,
@@ -94,6 +94,8 @@ class ClassLoader {
94
94
  return cls;
95
95
  }
96
96
  catch (e) {
97
+ console.error('Error occured on file ' + file);
98
+ console.error(e);
97
99
  return null;
98
100
  }
99
101
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/ClassLoader.ts"],"names":[],"mappings":"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","file":"ClassLoader.js","sourcesContent":["/**\n *\n * @see https://github.com/typeorm/typeorm/blob/master/src/util/DirectoryExportedClassesLoader.ts\n *\n */\n\nimport {concat, isArray, isNull, isString, keys} from 'lodash';\nimport {PlatformUtils} from './PlatformUtils';\nimport {StringOrFunction} from '../Constants';\nimport {FileUtils} from './FileUtils';\nimport {ClassUtils} from './ClassUtils';\n\n\nconst __SOURCE__ = '__SOURCE__';\n\n/**\n * Loads all exported classes from the given directory.\n */\nexport class ClassLoader {\n\n static importClassesFromAny(o: StringOrFunction[]): Function[] {\n let klasses: Function[] = [];\n o.forEach(x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n const exported = ClassLoader.importClassesFromDirectories([_x]);\n klasses = klasses.concat.apply(klasses, exported);\n } else if (x instanceof Function) {\n klasses.push(x);\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n });\n return klasses;\n }\n\n static importClassesFromAnyAsync(o: StringOrFunction[]): Promise<Function[]> {\n return Promise.all(o.map(async x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n return ClassLoader.importClassesFromDirectoriesAsync([_x]);\n } else if (x instanceof Function) {\n return [x];\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n })).then(x => {\n return concat([], ...x);\n });\n }\n\n\n static importClassesFromDirectories(directories: string[], formats = ['.js', '.ts']): Function[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n const x = PlatformUtils.pathNormilize(dir);\n const y = PlatformUtils.load('glob').sync(x);\n return allDirs.concat(y);\n }, [] as string[]);\n\n const dirs: { loaded: any, source: string }[] = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => {\n const cls = {\n source: file,\n loaded: PlatformUtils.load(PlatformUtils.pathResolve(file))\n };\n return cls;\n });\n\n return this.filterClasses(dirs, []); // this.loadFileClasses(dirs, []);\n }\n\n\n static async importClassesFromDirectoriesAsync(directories: string[], formats = ['.js', '.ts']): Promise<Function[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n const dirs: { loaded: any, source: string }[] = await Promise.all(allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => PlatformUtils.pathResolve(file))\n .filter(file => PlatformUtils.fileExist(file))\n .map(async file => {\n try {\n const cls = {\n source: file,\n loaded: await PlatformUtils.loadAsync(file)\n };\n return cls;\n } catch (e) {\n return null;\n }\n }));\n return this.filterClasses(dirs.filter(x => !isNull(x)), []); // this.loadFileClasses(dirs, []);\n }\n\n\n /**\n * Loads all json files from the given directory.\n */\n static importJsonsFromDirectories(directories: string[], format = '.json'): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(PlatformUtils.load('glob').sync(PlatformUtils.pathNormilize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n /**\n * Loads all json files from the given directory.\n */\n static async importJsonsFromDirectoriesAsync(directories: string[], format = '.json'): Promise<any[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n\n static getSource(cls: Function): string {\n return ClassUtils.getSource(cls);\n }\n\n\n static getClassName(klass: string | Function) {\n return ClassUtils.getClassName(klass);\n }\n\n\n static getFunction(klass: string | Function) {\n return ClassUtils.getFunction(klass);\n }\n\n\n private static filterClasses(exported: { loaded: any, source: string } | { loaded: any, source: string }[], allLoaded: Function[]) {\n if (isArray(exported)) {\n exported.forEach(e => this.filterClasses(e, allLoaded));\n } else {\n if (exported.loaded instanceof Function) {\n if (Reflect && Reflect['getOwnMetadata']) {\n Reflect['defineMetadata'](__SOURCE__, exported.source, exported.loaded);\n } else {\n exported.loaded.__SOURCE__ = exported.source;\n }\n allLoaded.push(exported.loaded);\n } else if (exported.loaded instanceof Object) {\n keys(exported.loaded).forEach(key => this.filterClasses({\n loaded: exported.loaded[key],\n source: exported.source\n }, allLoaded));\n } else if (exported.loaded instanceof Array) {\n exported.loaded.forEach((i: any) => this.filterClasses({\n loaded: i,\n source: exported.source\n }, allLoaded));\n }\n }\n\n return allLoaded;\n }\n\n\n private static loadFileClasses(exported: any, allLoaded: Function[]) {\n if (exported instanceof Function) {\n allLoaded.push(exported);\n } else if (exported instanceof Object) {\n Object.keys(exported).forEach(key => this.loadFileClasses(exported[key], allLoaded));\n\n } else if (exported instanceof Array) {\n exported.forEach((i: any) => this.loadFileClasses(i, allLoaded));\n }\n\n return allLoaded;\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/utils/ClassLoader.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAA+D;AAC/D,mDAA8C;AAE9C,2CAAsC;AACtC,6CAAwC;AAGxC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC;;GAEG;AACH,MAAa,WAAW;IAEtB,MAAM,CAAC,oBAAoB,CAAC,CAAqB;QAC/C,IAAI,OAAO,GAAe,EAAE,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACZ,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;gBACf,MAAM,EAAE,GAAG,6BAAa,CAAC,aAAa,CAAC,6BAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACnD;iBAAM,IAAI,CAAC,YAAY,QAAQ,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,CAAqB;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACjC,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;gBACf,MAAM,EAAE,GAAG,6BAAa,CAAC,aAAa,CAAC,6BAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,OAAO,WAAW,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;iBAAM,IAAI,CAAC,YAAY,QAAQ,EAAE;gBAChC,OAAO,CAAC,CAAC,CAAC,CAAC;aACZ;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,IAAA,eAAM,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,MAAM,CAAC,4BAA4B,CAAC,WAAqB,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAEjF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,6BAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,6BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,EAAE,EAAc,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAsC,QAAQ;aACrD,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,OAAO,CAAC;QAC7F,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,GAAG,GAAG;gBACV,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,6BAAa,CAAC,IAAI,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5D,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;IACzE,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,WAAqB,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAC5F,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,MAAM,CAAC,GAAG,6BAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAsC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ;aACvE,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,OAAO,CAAC;QAC7F,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC7C,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAChB,IAAI;gBACF,MAAM,GAAG,GAAG;oBACV,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,MAAM,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC5C,CAAC;gBACF,OAAO,GAAG,CAAC;aACZ;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC,CAAC;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;IACjG,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,WAAqB,EAAE,MAAM,GAAG,OAAO;QAEvE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACnD,OAAO,OAAO,CAAC,MAAM,CAAC,6BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,6BAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC,EAAE,EAAc,CAAC,CAAC;QAEnB,OAAO,QAAQ;aACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;aAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,IAAI,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,WAAqB,EAAE,MAAM,GAAG,OAAO;QAClF,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,MAAM,CAAC,GAAG,6BAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ;aACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;aAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAAa,CAAC,IAAI,CAAC,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAGD,MAAM,CAAC,SAAS,CAAC,GAAa;QAC5B,OAAO,uBAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAGD,MAAM,CAAC,YAAY,CAAC,KAAwB;QAC1C,OAAO,uBAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAGD,MAAM,CAAC,WAAW,CAAC,KAAwB;QACzC,OAAO,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAGO,MAAM,CAAC,aAAa,CAAC,QAA6E,EAAE,SAAqB;QAC/H,IAAI,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE;YACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SACzD;aAAM;YACL,IAAI,QAAQ,CAAC,MAAM,YAAY,QAAQ,EAAE;gBACvC,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE;oBACxC,OAAO,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;iBACzE;qBAAM;oBACL,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;iBAC9C;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACjC;iBAAM,IAAI,QAAQ,CAAC,MAAM,YAAY,MAAM,EAAE;gBAC5C,IAAA,aAAI,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;oBACtD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,EAAE,SAAS,CAAC,CAAC,CAAC;aAChB;iBAAM,IAAI,QAAQ,CAAC,MAAM,YAAY,KAAK,EAAE;gBAC3C,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;oBACrD,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,EAAE,SAAS,CAAC,CAAC,CAAC;aAChB;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAGO,MAAM,CAAC,eAAe,CAAC,QAAa,EAAE,SAAqB;QACjE,IAAI,QAAQ,YAAY,QAAQ,EAAE;YAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1B;aAAM,IAAI,QAAQ,YAAY,MAAM,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SAEtF;aAAM,IAAI,QAAQ,YAAY,KAAK,EAAE;YACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SAClE;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAvLD,kCAuLC","file":"ClassLoader.js","sourcesContent":["/**\n *\n * @see https://github.com/typeorm/typeorm/blob/master/src/util/DirectoryExportedClassesLoader.ts\n *\n */\n\nimport {concat, isArray, isNull, isString, keys} from 'lodash';\nimport {PlatformUtils} from './PlatformUtils';\nimport {StringOrFunction} from '../Constants';\nimport {FileUtils} from './FileUtils';\nimport {ClassUtils} from './ClassUtils';\n\n\nconst __SOURCE__ = '__SOURCE__';\n\n/**\n * Loads all exported classes from the given directory.\n */\nexport class ClassLoader {\n\n static importClassesFromAny(o: StringOrFunction[]): Function[] {\n let klasses: Function[] = [];\n o.forEach(x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n const exported = ClassLoader.importClassesFromDirectories([_x]);\n klasses = klasses.concat.apply(klasses, exported);\n } else if (x instanceof Function) {\n klasses.push(x);\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n });\n return klasses;\n }\n\n static importClassesFromAnyAsync(o: StringOrFunction[]): Promise<Function[]> {\n return Promise.all(o.map(async x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n return ClassLoader.importClassesFromDirectoriesAsync([_x]);\n } else if (x instanceof Function) {\n return [x];\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n })).then(x => {\n return concat([], ...x);\n });\n }\n\n\n static importClassesFromDirectories(directories: string[], formats = ['.js', '.ts']): Function[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n const x = PlatformUtils.pathNormilize(dir);\n const y = PlatformUtils.load('glob').sync(x);\n return allDirs.concat(y);\n }, [] as string[]);\n\n const dirs: { loaded: any, source: string }[] = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => {\n const cls = {\n source: file,\n loaded: PlatformUtils.load(PlatformUtils.pathResolve(file))\n };\n return cls;\n });\n\n return this.filterClasses(dirs, []); // this.loadFileClasses(dirs, []);\n }\n\n\n static async importClassesFromDirectoriesAsync(directories: string[], formats = ['.js', '.ts']): Promise<Function[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n const dirs: { loaded: any, source: string }[] = await Promise.all(allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => PlatformUtils.pathResolve(file))\n .filter(file => PlatformUtils.fileExist(file))\n .map(async file => {\n try {\n const cls = {\n source: file,\n loaded: await PlatformUtils.loadAsync(file)\n };\n return cls;\n } catch (e) {\n console.error('Error occured on file ' + file);\n console.error(e);\n return null;\n }\n }));\n return this.filterClasses(dirs.filter(x => !isNull(x)), []); // this.loadFileClasses(dirs, []);\n }\n\n\n /**\n * Loads all json files from the given directory.\n */\n static importJsonsFromDirectories(directories: string[], format = '.json'): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(PlatformUtils.load('glob').sync(PlatformUtils.pathNormilize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n /**\n * Loads all json files from the given directory.\n */\n static async importJsonsFromDirectoriesAsync(directories: string[], format = '.json'): Promise<any[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n\n static getSource(cls: Function): string {\n return ClassUtils.getSource(cls);\n }\n\n\n static getClassName(klass: string | Function) {\n return ClassUtils.getClassName(klass);\n }\n\n\n static getFunction(klass: string | Function) {\n return ClassUtils.getFunction(klass);\n }\n\n\n private static filterClasses(exported: { loaded: any, source: string } | { loaded: any, source: string }[], allLoaded: Function[]) {\n if (isArray(exported)) {\n exported.forEach(e => this.filterClasses(e, allLoaded));\n } else {\n if (exported.loaded instanceof Function) {\n if (Reflect && Reflect['getOwnMetadata']) {\n Reflect['defineMetadata'](__SOURCE__, exported.source, exported.loaded);\n } else {\n exported.loaded.__SOURCE__ = exported.source;\n }\n allLoaded.push(exported.loaded);\n } else if (exported.loaded instanceof Object) {\n keys(exported.loaded).forEach(key => this.filterClasses({\n loaded: exported.loaded[key],\n source: exported.source\n }, allLoaded));\n } else if (exported.loaded instanceof Array) {\n exported.loaded.forEach((i: any) => this.filterClasses({\n loaded: i,\n source: exported.source\n }, allLoaded));\n }\n }\n\n return allLoaded;\n }\n\n\n private static loadFileClasses(exported: any, allLoaded: Function[]) {\n if (exported instanceof Function) {\n allLoaded.push(exported);\n } else if (exported instanceof Object) {\n Object.keys(exported).forEach(key => this.loadFileClasses(exported[key], allLoaded));\n\n } else if (exported instanceof Array) {\n exported.forEach((i: any) => this.loadFileClasses(i, allLoaded));\n }\n\n return allLoaded;\n }\n}\n"],"sourceRoot":".."}