"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.writeLocalizationResourcesAsync = writeLocalizationResourcesAsync;

function _fsExtra() {
  const data = _interopRequireDefault(require("fs-extra"));

  _fsExtra = function () {
    return data;
  };

  return data;
}

function _path() {
  const data = _interopRequireDefault(require("path"));

  _path = function () {
    return data;
  };

  return data;
}

function _ExponentTools() {
  const data = require("./ExponentTools");

  _ExponentTools = function () {
    return data;
  };

  return data;
}

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

async function writeLocalizationResourcesAsync({
  supportingDirectory,
  context
}) {
  let locales = {};

  if (context.type === 'user') {
    locales = await (0, _ExponentTools().getResolvedLocalesAsync)(context.config);
  } else if (context.type === 'service') {
    locales = context.config.locales !== undefined ? context.config.locales : {};
  }

  for (const [lang, localizationObj] of Object.entries(locales)) {
    const dir = _path().default.join(supportingDirectory, `${lang}.lproj`);

    _fsExtra().default.mkdirpSync(dir);

    const strings = _path().default.join(dir, 'InfoPlist.strings');

    const buffer = [];

    for (const [plistKey, localVersion] of Object.entries(localizationObj)) {
      buffer.push(`${plistKey} = "${localVersion}";`);
    }

    await _fsExtra().default.writeFile(strings, buffer.join('\n'));
  }
}
//# sourceMappingURL=../__sourcemaps__/detach/IosLocalization.js.map