"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBuildPlatformInjectConfig = void 0;
const bdzn_platform_1 = require("./bd/bdzn-platform");
const bdzn_transform_1 = require("./bd/bdzn.transform");
const dd_platform_1 = require("./dd/dd-platform");
const dd_transform_1 = require("./dd/dd.transform");
const jd_platform_1 = require("./jd/jd-platform");
const jd_transform_1 = require("./jd/jd.transform");
const library_platform_1 = require("./library/library-platform");
const library_transform_1 = require("./library/library.transform");
const platform_1 = require("./platform");
const qq_platform_1 = require("./qq/qq-platform");
const qq_transform_1 = require("./qq/qq.transform");
const wx_platform_1 = require("./wx/wx-platform");
const wx_transform_1 = require("./wx/wx.transform");
const zfb_platform_1 = require("./zfb/zfb-platform");
const zfb_transform_1 = require("./zfb/zfb.transform");
const zj_platform_1 = require("./zjtd/zj-platform");
const zj_transform_1 = require("./zjtd/zj.transform");
function getBuildPlatformInjectConfig(platform) {
    switch (platform) {
        case platform_1.PlatformType.wx:
            return [
                { provide: wx_transform_1.WxTransform },
                { provide: wx_platform_1.WxBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: wx_platform_1.WxBuildPlatform },
            ];
        case platform_1.PlatformType.zj:
            return [
                { provide: zj_transform_1.ZjTransform },
                { provide: zj_platform_1.ZjBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: zj_platform_1.ZjBuildPlatform },
            ];
        case platform_1.PlatformType.jd:
            return [
                { provide: jd_transform_1.JdTransform },
                { provide: jd_platform_1.JdBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: jd_platform_1.JdBuildPlatform },
            ];
        case platform_1.PlatformType.bdzn:
            return [
                { provide: bdzn_transform_1.BdZnTransform },
                { provide: bdzn_platform_1.BdZnBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: bdzn_platform_1.BdZnBuildPlatform },
            ];
        case platform_1.PlatformType.zfb:
            return [
                { provide: zfb_transform_1.ZfbTransform },
                { provide: zfb_platform_1.ZfbBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: zfb_platform_1.ZfbBuildPlatform },
            ];
        case platform_1.PlatformType.qq:
            return [
                { provide: qq_transform_1.QqTransform },
                { provide: qq_platform_1.QqBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: qq_platform_1.QqBuildPlatform },
            ];
        case platform_1.PlatformType.dd:
            return [
                { provide: dd_transform_1.DdTransform },
                { provide: dd_platform_1.DdBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: dd_platform_1.DdBuildPlatform },
            ];
        case platform_1.PlatformType.library:
            return [
                { provide: library_transform_1.LibraryTransform },
                { provide: library_platform_1.LibraryBuildPlatform },
                { provide: platform_1.BuildPlatform, useClass: library_platform_1.LibraryBuildPlatform },
            ];
        default:
            throw new Error('未能匹配到相关平台');
    }
}
exports.getBuildPlatformInjectConfig = getBuildPlatformInjectConfig;
