import {ServerAddress} from "tc-shared/ui/server"; import * as loader from "tc-loader"; import {AddressTarget, ResolveOptions} from "tc-shared/dns"; import * as dns_handler from "tc-native/dns"; export function supported() { return true; } export async function resolve_address(address: ServerAddress, _options?: ResolveOptions) : Promise { /* backwards compatibility */ if(typeof(address) === "string") { address = { host: address, port: 9987 } } return new Promise((resolve, reject) => { dns_handler.resolve_cr(address.host, address.port, result => { if(typeof(result) === "string") reject(result); else resolve({ target_ip: result.host, target_port: result.port }); }); }) } loader.register_task(loader.Stage.JAVASCRIPT_INITIALIZING, { name: "Native DNS initialized", function: async () => { dns_handler.initialize(); }, priority: 10 });