"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var resolvers_exports = {};
__export(resolvers_exports, {
  fetchFontCollection: () => fetchFontCollection,
  fetchFontCollections: () => fetchFontCollections,
  fetchGetFontFamilyBySlug: () => fetchGetFontFamilyBySlug,
  fetchInstallFontFace: () => fetchInstallFontFace,
  fetchInstallFontFamily: () => fetchInstallFontFamily,
  fetchUninstallFontFamily: () => fetchUninstallFontFamily
});
module.exports = __toCommonJS(resolvers_exports);
var import_api_fetch = __toESM(require("@wordpress/api-fetch"));
const FONT_FAMILIES_URL = "/wp/v2/font-families";
const FONT_COLLECTIONS_URL = "/wp/v2/font-collections";
async function fetchInstallFontFamily(data) {
  const config = {
    path: FONT_FAMILIES_URL,
    method: "POST",
    body: data
  };
  const response = await (0, import_api_fetch.default)(config);
  return {
    id: response.id,
    ...response.font_family_settings,
    fontFace: []
  };
}
async function fetchInstallFontFace(fontFamilyId, data) {
  const config = {
    path: `${FONT_FAMILIES_URL}/${fontFamilyId}/font-faces`,
    method: "POST",
    body: data
  };
  const response = await (0, import_api_fetch.default)(config);
  return {
    id: response.id,
    ...response.font_face_settings
  };
}
async function fetchGetFontFamilyBySlug(slug) {
  const config = {
    path: `${FONT_FAMILIES_URL}?slug=${slug}&_embed=true`,
    method: "GET"
  };
  const response = await (0, import_api_fetch.default)(config);
  if (!response || response.length === 0) {
    return null;
  }
  const fontFamilyPost = response[0];
  return {
    id: fontFamilyPost.id,
    ...fontFamilyPost.font_family_settings,
    fontFace: fontFamilyPost?._embedded?.font_faces.map(
      (face) => face.font_face_settings
    ) || []
  };
}
async function fetchUninstallFontFamily(fontFamilyId) {
  const config = {
    path: `${FONT_FAMILIES_URL}/${fontFamilyId}?force=true`,
    method: "DELETE"
  };
  return await (0, import_api_fetch.default)(config);
}
async function fetchFontCollections() {
  const config = {
    path: `${FONT_COLLECTIONS_URL}?_fields=slug,name,description`,
    method: "GET"
  };
  return await (0, import_api_fetch.default)(config);
}
async function fetchFontCollection(id) {
  const config = {
    path: `${FONT_COLLECTIONS_URL}/${id}`,
    method: "GET"
  };
  return await (0, import_api_fetch.default)(config);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  fetchFontCollection,
  fetchFontCollections,
  fetchGetFontFamilyBySlug,
  fetchInstallFontFace,
  fetchInstallFontFamily,
  fetchUninstallFontFamily
});
//# sourceMappingURL=resolvers.js.map
