{"version":3,"sources":["../../src/connection/options-reader/ConnectionOptionsXmlReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsXmlReader.js","sourcesContent":["import {PlatformTools} from \"../../platform/PlatformTools\";\nimport {ConnectionOptions} from \"../ConnectionOptions\";\n\n/**\n * Reads connection options defined in the xml file.\n */\nexport class ConnectionOptionsXmlReader {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from given xml file.\n */\n async read(path: string): Promise<ConnectionOptions[]> {\n const xml = await this.readXml(path);\n return (xml.connection as any[]).map(connection => {\n return {\n name: connection.$.name,\n type: connection.$.type,\n url: connection.url ? connection.url[0] : undefined,\n host: connection.host ? connection.host[0] : undefined,\n port: connection.port && connection.port[0] ? parseInt(connection.port[0]) : undefined,\n username: connection.username ? connection.username[0] : undefined,\n password: connection.password ? connection.password[0] : undefined,\n database: connection.database ? connection.database[0] : undefined,\n sid: connection.sid ? connection.sid[0] : undefined,\n extra: connection.extra ? connection.extra[0] : undefined,\n synchronize: connection.synchronize ? connection.synchronize[0] : undefined,\n entities: connection.entities ? connection.entities[0].entity : [],\n subscribers: connection.subscribers ? connection.subscribers[0].entity : [],\n logging: connection.logging[0] ? connection.logging[0].split(\",\") : undefined,\n };\n });\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads xml file contents and returns them in a promise.\n */\n protected readXml(path: string): Promise<any> {\n const xmlParser = PlatformTools.load(\"xml2js\").parseString;\n const xmlOptions = { trim: true, explicitRoot: false };\n return new Promise((ok, fail) => {\n xmlParser(PlatformTools.readFileSync(path), xmlOptions, (err: any, result: any) => err ? fail(err) : ok(result));\n });\n }\n\n}"],"sourceRoot":"../.."}
|