@salesforce/source-deploy-retrieve
Version:
JavaScript library to run Salesforce metadata deploys and retrieves
24 lines • 1.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.DecompositionFinalizer = void 0;
const transactionFinalizer_1 = require("./transactionFinalizer");
/** DecompositionStateValue has all props as optional. The makes writeInfo and origin required */
const hasFullDecompositionInfo = (value) => Boolean(value[1].writeInfo) && Boolean(value[1].origin);
/**
* Creates write infos for any children that haven't been written yet. Children may
* delay being written in order to find potential existing children to merge
* with in the conversion pipeline.
*/
class DecompositionFinalizer extends transactionFinalizer_1.ConvertTransactionFinalizer {
transactionState = new Map();
// eslint-disable-next-line @typescript-eslint/require-await
async finalize() {
return (Array.from(this.transactionState.entries())
.filter(hasFullDecompositionInfo)
// return `false` and the undefined
.filter(([, value]) => !value.foundMerge)
.map(([, value]) => ({ component: value.origin?.parent ?? value.origin, writeInfos: [value.writeInfo] })));
}
}
exports.DecompositionFinalizer = DecompositionFinalizer;
//# sourceMappingURL=decompositionFinalizer.js.map
;