salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
40 lines (38 loc) • 2.63 kB
JavaScript
;
/*
* Copyright (c) 2020, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DecompositionConfigFactory = void 0;
const inFolderDecompositionConfig_1 = require("./inFolderDecompositionConfig");
const customObjectTranslationDecompositionConfig_1 = require("./customObjectTranslationDecompositionConfig");
const describeMetadataDecompositionConfig_1 = require("./describeMetadataDecompositionConfig");
const nonDecomposedContentAndMetadataDecompositionConfig_1 = require("./nonDecomposedContentAndMetadataDecompositionConfig");
const staticResourceDecompositionConfig_1 = require("./staticResourceDecompositionConfig");
const experienceBundleDecompositionStrategyConfig_1 = require("./experienceBundleDecompositionStrategyConfig");
class DecompositionConfigFactory {
static getDecompositionConfig(typeDefObj) {
if (typeDefObj.inFolder) {
return new inFolderDecompositionConfig_1.InFolderDecompositionConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer);
}
switch (typeDefObj.metadataName) {
case 'CustomObjectTranslation':
return new customObjectTranslationDecompositionConfig_1.CustomObjectTranslationDecompositionConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer);
case 'Bot':
case 'CustomObject':
case 'DataMappingObjectDefinition':
return new describeMetadataDecompositionConfig_1.DescribeMetadataDecompositionConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer, true);
case 'StaticResource':
return new staticResourceDecompositionConfig_1.StaticResourceDecompositionConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer);
case 'ExperienceBundle':
return new experienceBundleDecompositionStrategyConfig_1.ExperienceBundleDecompositionStrategyConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer);
default:
return new nonDecomposedContentAndMetadataDecompositionConfig_1.NonDecomposedContentAndMetadataDecompositionConfig(typeDefObj.metadataName, typeDefObj.isGlobal, typeDefObj.isEmptyContainer);
}
}
}
exports.DecompositionConfigFactory = DecompositionConfigFactory;
//# sourceMappingURL=decompositionConfigFactory.js.map