arml
Version:
Enjoy unlimited and free translation with our API.
2 lines • 2.79 kB
JavaScript
;var w=Object.create;var o=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var E=(e,r)=>{for(var t in r)o(e,t,{get:r[t],enumerable:!0})},p=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of f(r))!x.call(e,a)&&a!==t&&o(e,a,{get:()=>r[a],enumerable:!(n=R(r,a))||n.enumerable});return e};var A=(e,r,t)=>(t=e!=null?w(P(e)):{},p(r||!e||!e.__esModule?o(t,"default",{value:e,enumerable:!0}):t,e)),B=e=>p(o({},"__esModule",{value:!0}),e);var _={};E(_,{Translator:()=>y});module.exports=B(_);var T=A(require("axios"));var u="https://api.translate.arml.trymagic.xyz/v1";var d=e=>{let{status:r,data:t}=e;throw r===401?new Error(`Unauthorized: ${t.detail?.msg||"Invalid API key."}`):r===400?new Error(`Bad Request: ${t.detail?.msg||"You may have sent an incorrect or missing value."}`):r===403?new Error("Forbidden: Access is denied."):r===500?new Error("Server error: Please try again later."):r===404?new Error("Not Found: The requested resource could not be found."):new Error(`Unexpected error: ${t.detail?.msg||"An unknown error occurred."}`)};var k=T.default.create({baseURL:u,headers:{"Content-Type":"application/json"}}),i=async(e,r,t)=>{try{let n=await k.post(e,r,{params:t});if(n.status===200)return n.data}catch(n){if(n.response)d(n.response);else throw new Error("An unknown error occurred")}return null};var h=async(e,r,t,n="auto",a=3)=>{let s="/translate",l={api_key:e,text:r,source:n,target:t,retry_count:a.toString()};return await i(s,{},l)},m=async(e,r,t,n="auto",a=3)=>{let s="/batch_translate",l={texts:r,source:n,target:t,retry_count:a.toString()};return await i(s,l,{api_key:e})},g=async(e,r)=>await i("/detect",{},{text:r,api_key:e});var c=class e{apiKey;constructor(r){if(!r)throw new Error("API key is required to create a Translate instance.");this.apiKey=r}async translate(r,{source:t="auto",target:n="en"}){if(!r||!n)throw new Error("Both text and target language are required.");try{return await h(this.apiKey,r,n,t)}catch(a){return console.error("Translation API error:",a),null}}async batchTranslate(r,{source:t="auto",target:n="en"}){if(!r||!n)throw new Error("Both texts and target language are required.");try{return await m(this.apiKey,r,n,t)}catch(a){return console.error("Translation API error:",a),null}}async detect(r){if(!r)throw new Error("Text is required to detect language.");try{return await g(this.apiKey,r)}catch(t){return console.error("Translation API error:",t),null}}static async quick({text:r,apiKey:t,options:n}){try{return(await new e(t).translate(r,n))?.translated_text}catch(a){console.error("Quick translation error:",a);return}}},y=c;0&&(module.exports={Translator});
//# sourceMappingURL=index.js.map