"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.convertModelVersionBackwardConversionSchema = void 0;
var _configSchema = require("@kbn/config-schema");
/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0 and the Server Side Public License, v 1; you may not use this file except
 * in compliance with, at your election, the Elastic License 2.0 or the Server
 * Side Public License, v 1.
 */

function isObjectType(schema) {
  return (0, _configSchema.isConfigSchema)(schema);
}
const convertModelVersionBackwardConversionSchema = schema => {
  if (isObjectType(schema)) {
    return doc => {
      const attrs = schema.validate(doc.attributes, {});
      return {
        ...doc,
        attributes: attrs
      };
    };
  } else {
    return doc => {
      const attrs = schema(doc.attributes);
      return {
        ...doc,
        attributes: attrs
      };
    };
  }
};
exports.convertModelVersionBackwardConversionSchema = convertModelVersionBackwardConversionSchema;