/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { hashArray } from '@finos/legend-shared';
import { CORE_HASH_STRUCTURE } from '../../../../../../../graph/Core_HashUtils.js';
export class V1_DEPRECATED__MappingTest {
    name;
    /**
     * Studio does not process value specification, they are left in raw JSON form
     *
     * @discrepancy model
     */
    query;
    inputData = [];
    assert;
    get hashCode() {
        return hashArray([
            CORE_HASH_STRUCTURE.MAPPING_TEST_LEGACY,
            this.name,
            this.query,
            hashArray(this.inputData),
            this.assert,
        ]);
    }
}
export class V1_DEPRECATED__InputData {
}
export class V1_DEPRECATED__MappingTestAssert {
}
export class V1_DEPRECATED__ExpectedOutputMappingTestAssert extends V1_DEPRECATED__MappingTestAssert {
    expectedOutput;
    get hashCode() {
        return hashArray([
            CORE_HASH_STRUCTURE.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,
            this.expectedOutput,
        ]);
    }
}
export var V1_DEPRECATED__ObjectInputType;
(function (V1_DEPRECATED__ObjectInputType) {
    V1_DEPRECATED__ObjectInputType["JSON"] = "JSON";
    V1_DEPRECATED__ObjectInputType["XML"] = "XML";
})(V1_DEPRECATED__ObjectInputType || (V1_DEPRECATED__ObjectInputType = {}));
export class V1_DEPRECATED__ObjectInputData extends V1_DEPRECATED__InputData {
    /**
     * Value is set by default for backward compatibility
     * @backwardCompatibility
     */
    inputType = V1_DEPRECATED__ObjectInputType.JSON;
    sourceClass;
    data;
    get hashCode() {
        return hashArray([
            CORE_HASH_STRUCTURE.OBJECT_INPUT_DATA,
            this.sourceClass,
            this.inputType,
            this.data,
        ]);
    }
}
export class V1_DEPRECATED__FlatDataInputData extends V1_DEPRECATED__InputData {
    sourceFlatData;
    data;
    get hashCode() {
        return hashArray([
            CORE_HASH_STRUCTURE.FLAT_DATA_INPUT_DATA,
            this.sourceFlatData,
            this.data,
        ]);
    }
}
export class V1_DEPRECATED__RelationalInputData extends V1_DEPRECATED__InputData {
    database;
    data;
    inputType;
    get hashCode() {
        return hashArray([
            CORE_HASH_STRUCTURE.RELATIONAL_INPUT_DATA,
            this.database,
            this.data,
            this.inputType,
        ]);
    }
}
//# sourceMappingURL=V1_DEPRECATED__MappingTest.js.map