HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //var/www/api.javaapp.co.uk_old/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
};