"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.create = create; exports.initialize = initialize; const tslib_1 = require("tslib"); const lodash_1 = require("oak-domain/lib/utils/lodash"); const features_1 = require("oak-general-business/es/features"); const Pay_1 = tslib_1.__importDefault(require("./Pay")); const application_1 = require("../utils/application"); function create(features) { const pay = new Pay_1.default(features.application, features.locales); return { pay, }; } async function initialize(features, access, config, clazzes) { await (0, features_1.initialize)(features, access, config ? { dontAutoLoginInWechatmp: config.dontAutoLoginInWechatmp, applicationExtraProjection: (0, lodash_1.merge)(application_1.applicationProjection, config.applicationExtraProjection || {}), } : { applicationExtraProjection: application_1.applicationProjection, }, clazzes); }