"use strict";
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CdmStandardsAdapter = void 0;
const StorageAdapterBase_1 = require("./StorageAdapterBase");
var cdmstandards;
/**
 * An adapter pre-configured to read the standard schema files published by CDM.
 */
class CdmStandardsAdapter extends StorageAdapterBase_1.StorageAdapterBase {
    constructor() {
        super();
        try {
            cdmstandards = require('cdm.objectmodel.cdmstandards');
        }
        catch (e) {
            throw new Error('Couldn\'t find package \'cdm.objectmodel.cdmstandards\', please install the package, and add it as dependency of the project.');
        }
    }
    canRead() {
        return true;
    }
    readAsync(corpusPath) {
        return __awaiter(this, void 0, void 0, function* () {
            return cdmstandards.readAsync(corpusPath);
        });
    }
    createAdapterPath(corpusPath) {
        return cdmstandards.createAdapterPath(corpusPath);
    }
    createCorpusPath(adapterPath) {
        return cdmstandards.createCorpusPath(adapterPath);
    }
}
exports.CdmStandardsAdapter = CdmStandardsAdapter;
//# sourceMappingURL=CdmStandardsAdapter.js.map