"use strict";
function __export(m) {
    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * @license
 * Copyright Google Inc. All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */
const interface_1 = require("./tree/interface");
const static_1 = require("./tree/static");
var exception_1 = require("./exception/exception");
exports.SchematicsException = exception_1.SchematicsException;
__export(require("./tree/action"));
__export(require("./engine/collection"));
__export(require("./engine/engine"));
__export(require("./exception/exception"));
__export(require("./tree/interface"));
__export(require("./rules/base"));
__export(require("./rules/move"));
__export(require("./rules/random"));
__export(require("./rules/schematic"));
__export(require("./rules/template"));
__export(require("./rules/url"));
__export(require("./tree/empty"));
__export(require("./tree/filesystem"));
__export(require("./tree/memory-host"));
__export(require("./tree/virtual"));
__export(require("./engine/schematic"));
__export(require("./sink/dryrun"));
var filesystem_1 = require("./sink/filesystem");
exports.FileSystemSink = filesystem_1.FileSystemSink;
exports.Tree = {
    empty() { return static_1.empty(); },
    branch(tree) { return static_1.branch(tree); },
    merge(tree, other, strategy = interface_1.MergeStrategy.Default) {
        return static_1.merge(tree, other, strategy);
    },
    partition(tree, predicate) {
        return static_1.partition(tree, predicate);
    },
    optimize(tree) { return static_1.optimize(tree); },
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxnREFBZ0U7QUFFaEUsMENBQTBFO0FBRzFFLG1EQUE0RDtBQUFuRCwwQ0FBQSxtQkFBbUIsQ0FBQTtBQUU1QixtQ0FBOEI7QUFDOUIseUNBQW9DO0FBQ3BDLHFDQUFnQztBQUVoQywyQ0FBc0M7QUFDdEMsc0NBQWlDO0FBQ2pDLGtDQUE2QjtBQUM3QixrQ0FBNkI7QUFDN0Isb0NBQStCO0FBQy9CLHVDQUFrQztBQUNsQyxzQ0FBaUM7QUFDakMsaUNBQTRCO0FBQzVCLGtDQUE2QjtBQUM3Qix1Q0FBa0M7QUFDbEMsd0NBQW1DO0FBQ25DLG9DQUErQjtBQUUvQix3Q0FBbUM7QUFDbkMsbUNBQThCO0FBQzlCLGdEQUFpRDtBQUF6QyxzQ0FBQSxjQUFjLENBQUE7QUFZVCxRQUFBLElBQUksR0FBb0I7SUFDbkMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxjQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLElBQW1CLElBQUksTUFBTSxDQUFDLGVBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsS0FBSyxDQUFDLElBQW1CLEVBQ25CLEtBQW9CLEVBQ3BCLFdBQTBCLHlCQUFhLENBQUMsT0FBTztRQUNuRCxNQUFNLENBQUMsY0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFtQixFQUFFLFNBQWlDO1FBQzlELE1BQU0sQ0FBQyxrQkFBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQW1CLElBQUksTUFBTSxDQUFDLGlCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBGaWxlUHJlZGljYXRlLCBNZXJnZVN0cmF0ZWd5IH0gZnJvbSAnLi90cmVlL2ludGVyZmFjZSc7XG5pbXBvcnQge1RyZWUgYXMgVHJlZUludGVyZmFjZSB9IGZyb20gJy4vdHJlZS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnJhbmNoLCBlbXB0eSwgbWVyZ2UsIG9wdGltaXplLCBwYXJ0aXRpb24gfSBmcm9tICcuL3RyZWUvc3RhdGljJztcblxuXG5leHBvcnQgeyBTY2hlbWF0aWNzRXhjZXB0aW9uIH0gZnJvbSAnLi9leGNlcHRpb24vZXhjZXB0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi90cmVlL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZS9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZW5naW5lL2VuZ2luZSc7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZS9pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9leGNlcHRpb24vZXhjZXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS9pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlcy9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZXMvbW92ZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVzL3JhbmRvbSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVzL3NjaGVtYXRpYyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVzL3RlbXBsYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZXMvdXJsJztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS9lbXB0eSc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUvZmlsZXN5c3RlbSc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUvbWVtb3J5LWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlL3ZpcnR1YWwnO1xuZXhwb3J0IHtVcGRhdGVSZWNvcmRlcn0gZnJvbSAnLi90cmVlL2ludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZS9zY2hlbWF0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaW5rL2RyeXJ1bic7XG5leHBvcnQge0ZpbGVTeXN0ZW1TaW5rfSBmcm9tICcuL3NpbmsvZmlsZXN5c3RlbSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29uc3RydWN0b3Ige1xuICBlbXB0eSgpOiBUcmVlSW50ZXJmYWNlO1xuICBicmFuY2godHJlZTogVHJlZUludGVyZmFjZSk6IFRyZWVJbnRlcmZhY2U7XG4gIG1lcmdlKHRyZWU6IFRyZWVJbnRlcmZhY2UsIG90aGVyOiBUcmVlSW50ZXJmYWNlLCBzdHJhdGVneT86IE1lcmdlU3RyYXRlZ3kpOiBUcmVlSW50ZXJmYWNlO1xuICBwYXJ0aXRpb24odHJlZTogVHJlZUludGVyZmFjZSwgcHJlZGljYXRlOiBGaWxlUHJlZGljYXRlPGJvb2xlYW4+KTogW1RyZWVJbnRlcmZhY2UsIFRyZWVJbnRlcmZhY2VdO1xuICBvcHRpbWl6ZSh0cmVlOiBUcmVlSW50ZXJmYWNlKTogVHJlZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IHR5cGUgVHJlZSA9IFRyZWVJbnRlcmZhY2U7XG5leHBvcnQgY29uc3QgVHJlZTogVHJlZUNvbnN0cnVjdG9yID0ge1xuICBlbXB0eSgpIHsgcmV0dXJuIGVtcHR5KCk7IH0sXG4gIGJyYW5jaCh0cmVlOiBUcmVlSW50ZXJmYWNlKSB7IHJldHVybiBicmFuY2godHJlZSk7IH0sXG4gIG1lcmdlKHRyZWU6IFRyZWVJbnRlcmZhY2UsXG4gICAgICAgIG90aGVyOiBUcmVlSW50ZXJmYWNlLFxuICAgICAgICBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCkge1xuICAgIHJldHVybiBtZXJnZSh0cmVlLCBvdGhlciwgc3RyYXRlZ3kpO1xuICB9LFxuICBwYXJ0aXRpb24odHJlZTogVHJlZUludGVyZmFjZSwgcHJlZGljYXRlOiBGaWxlUHJlZGljYXRlPGJvb2xlYW4+KSB7XG4gICAgcmV0dXJuIHBhcnRpdGlvbih0cmVlLCBwcmVkaWNhdGUpO1xuICB9LFxuICBvcHRpbWl6ZSh0cmVlOiBUcmVlSW50ZXJmYWNlKSB7IHJldHVybiBvcHRpbWl6ZSh0cmVlKTsgfSxcbn07XG4iXX0=