"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.SchemaFactoryBeta = void 0;
const schemaFactory_js_1 = require("./schemaFactory.js");
/**
 * {@link SchemaFactory} with additional beta APIs.
 * @beta
 * @privateRemarks
 */
class SchemaFactoryBeta extends schemaFactory_js_1.SchemaFactory {
    /**
     * Create a {@link SchemaFactory} with a {@link SchemaFactory.scope|scope} which is a combination of this factory's scope and the provided name.
     * @remarks
     * The main use-case for this is when creating a collection of related schema (for example using a function that creates multiple schema).
     * Creating such related schema using a sub-scope helps ensure they won't collide with other schema in the parent scope.
     */
    scopedFactory(name) {
        return new SchemaFactoryBeta((0, schemaFactory_js_1.scoped)(this, name));
    }
}
exports.SchemaFactoryBeta = SchemaFactoryBeta;
//# sourceMappingURL=schemaFactoryBeta.js.map