2024-01-01 14:58:21 -05:00
|
|
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2023-02-14 11:38:45 -05:00
|
|
|
|
2024-01-10 17:37:25 -05:00
|
|
|
import { core } from "ext:core/mod.js";
|
|
|
|
const {
|
|
|
|
op_node_idna_domain_to_unicode,
|
|
|
|
op_node_idna_punycode_decode,
|
|
|
|
op_node_idna_punycode_encode,
|
|
|
|
op_node_idna_domain_to_ascii,
|
|
|
|
} = core.ensureFastOps();
|
2023-02-20 12:47:42 -05:00
|
|
|
|
2024-01-10 17:37:25 -05:00
|
|
|
import { ucs2 } from "ext:deno_node/internal/idna.ts";
|
2023-02-20 12:47:42 -05:00
|
|
|
|
|
|
|
function toASCII(domain) {
|
2024-01-10 17:37:25 -05:00
|
|
|
return op_node_idna_domain_to_ascii(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function toUnicode(domain) {
|
2024-01-10 17:37:25 -05:00
|
|
|
return op_node_idna_domain_to_unicode(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function decode(domain) {
|
2024-01-10 17:37:25 -05:00
|
|
|
return op_node_idna_punycode_decode(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function encode(domain) {
|
2024-01-10 17:37:25 -05:00
|
|
|
return op_node_idna_punycode_encode(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
2023-02-14 11:38:45 -05:00
|
|
|
|
|
|
|
export { decode, encode, toASCII, toUnicode, ucs2 };
|
|
|
|
|
|
|
|
export default {
|
|
|
|
decode,
|
|
|
|
encode,
|
|
|
|
toASCII,
|
|
|
|
toUnicode,
|
|
|
|
ucs2,
|
|
|
|
};
|