HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/home/arjun/projects/good-life-be/node_modules/aws-sdk/scripts/lib/prune-shapes.js
var getOperationShapeNames = require('./get-operation-shape-names').getOperationShapeNames;
var visitRelatedShapeNames = require('./visit-related-shape-names').visitRelatedShapeNames;

function pruneShapes(model) {

    // start by grabbing the input/output shapes on all operations
    var operationShapeNames = getOperationShapeNames(model);
    var shapeMap = model.shapes;

    for (operationShape of operationShapeNames) {
        // traverse the tree and store visited shapes
        visitRelatedShapeNames(operationShape, shapeMap);
    }

    // iterate over the shapeMap and remove any shape that wasn't visited
    var shapeNames = Object.keys(shapeMap);
    for (var name of shapeNames) {
        if (!shapeMap[name].visited) {
            delete shapeMap[name];
        }
    }

};

module.exports = {
    pruneShapes: pruneShapes
};