333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
{"version":3,"sources":["../browser/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":"../.."}