/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@krds/labels@1.2.2/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";const request=require("request"),config=require("./configure"),path=require("path"),assert=require("assert"),renderKite=require("./lib/kite"),renderLumen=require("./lib/lumen"),renderJson=require("./lib/json"),unityApi=request.defaults({baseUrl:config.unityUrl,qs:{access_token:config.unityToken}});function parseBool(e){if(e.match(/^true$/i))return!0;if(e.match(/^false$/i))return!1;throw Error("Failed to parse "+e+" to boolean value")}function validate(e,t){let r=0,a=0,s=null;for(let o of e)s=o.locale,o.is_enabled=parseBool(o.is_enabled),o.is_default=parseBool(o.is_default),assert(s.match(/^[a-z]{2}_[a-z]{2}$/i),"Invalid locale: "+s),assert(t[s],"No labels for "+s),o.is_default&&(r+=1),o.is_enabled&&(a+=1);assert(r>0,"No default locale"),assert(1==r,"Only one default locale is allowed"),assert(a>0,"No locale enabled")}const defaults=Object.freeze({outpath:".",format:"kite"});function processLabels(e,t,r){const a=e.locales,s=e.labels;try{validate(a,s)}catch(e){return r(e)}switch(t.format){case"kite":case"kite08":renderKite(a,s,{path:t.outpath},r);break;case"kite09":case"kilex":renderKite(a,s,{path:t.outpath,className:"Locale"},r);break;case"lumen":renderLumen(a,s,{path:t.outpath},r);break;case"json":renderJson(a,s,{path:t.outpath},r);break;default:r(Error("Unsupported output format: "+t.format))}}function parseResponseBody(e,t){const r=JSON.parse(e);if(r.error)throw Error("Unity: "+r.error.message);return r}module.exports=function(e,t,r){"function"==typeof t&&(r=t,t={});const a=Object.assign({},defaults,t),s={db_name:e};unityApi.post("/api/v.1/locales",{form:s},((e,t,s)=>{if(e)return r(e);try{processLabels(parseResponseBody(s),a,r)}catch(e){r(e)}}))};
//# sourceMappingURL=/sm/877dc2c864f2a6d1aceb4bbfacc17de76890c08935ed01171a17f2c282e03a88.map