"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const utility_1 = require("../lib/utility");
const document_require_by_1 = require("./document.require-by");
const document_schema_1 = require("./document.schema");
const navigation_directive_1 = require("./navigation.directive");
const navigation_enum_1 = require("./navigation.enum");
const navigation_input_1 = require("./navigation.input");
const navigation_interface_1 = require("./navigation.interface");
const navigation_object_1 = require("./navigation.object");
const navigation_scalar_1 = require("./navigation.scalar");
const navigation_schema_1 = require("./navigation.schema");
const navigation_union_1 = require("./navigation.union");
class NavigationDirectives extends utility_1.Plugin {
    constructor(document, graphidocsPackage, projectPackage) {
        super(document, graphidocsPackage, projectPackage);
        this.plugins = [
            new navigation_schema_1.default(document, graphidocsPackage, projectPackage),
            new navigation_scalar_1.default(document, graphidocsPackage, projectPackage),
            new navigation_enum_1.default(document, graphidocsPackage, projectPackage),
            new navigation_interface_1.default(document, graphidocsPackage, projectPackage),
            new navigation_union_1.default(document, graphidocsPackage, projectPackage),
            new navigation_object_1.default(document, graphidocsPackage, projectPackage),
            new navigation_input_1.default(document, graphidocsPackage, projectPackage),
            new navigation_directive_1.default(document, graphidocsPackage, projectPackage),
            new document_schema_1.default(document, graphidocsPackage, projectPackage),
            new document_require_by_1.default(document, graphidocsPackage, projectPackage),
        ];
    }
    getNavigations(buildForType) {
        return utility_1.Plugin.collectNavigations(this.plugins, buildForType);
    }
    getDocuments(buildForType) {
        return utility_1.Plugin.collectDocuments(this.plugins, buildForType);
    }
    getHeaders(buildForType) {
        return utility_1.Plugin.collectHeaders(this.plugins, buildForType);
    }
    getAssets() {
        return utility_1.Plugin.collectAssets(this.plugins);
    }
}
exports.default = NavigationDirectives;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSw0Q0FBd0M7QUFDeEMsK0RBQXNEO0FBQ3RELHVEQUErQztBQUMvQyxpRUFBeUQ7QUFDekQsdURBQStDO0FBQy9DLHlEQUFpRDtBQUNqRCxpRUFBeUQ7QUFDekQsMkRBQW1EO0FBQ25ELDJEQUFtRDtBQUNuRCwyREFBbUQ7QUFDbkQseURBQWlEO0FBRWpELE1BQXFCLG9CQUFxQixTQUFRLGdCQUFNO0lBR3RELFlBQVksUUFBZ0IsRUFBRSxpQkFBc0IsRUFBRSxjQUFtQjtRQUN2RSxLQUFLLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixJQUFJLDJCQUFnQixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUM7WUFDakUsSUFBSSwyQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO1lBQ2pFLElBQUkseUJBQWMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO1lBQy9ELElBQUksOEJBQW1CLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztZQUNwRSxJQUFJLDBCQUFlLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztZQUNoRSxJQUFJLDJCQUFnQixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUM7WUFDakUsSUFBSSwwQkFBZSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUM7WUFDaEUsSUFBSSw4QkFBbUIsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO1lBQ3BFLElBQUkseUJBQWMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO1lBQy9ELElBQUksNkJBQWlCLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztTQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWMsQ0FBQyxZQUFxQjtRQUN6QyxPQUFPLGdCQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQXFCO1FBQ3ZDLE9BQU8sZ0JBQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxVQUFVLENBQUMsWUFBcUI7UUFDckMsT0FBTyxnQkFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxnQkFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBbkNELHVDQW1DQyJ9