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-29 08:58:08 -05:00
|
|
|
import {
|
2024-01-10 17:37:25 -05:00
|
|
|
op_node_idna_punycode_decode,
|
|
|
|
op_node_idna_punycode_encode,
|
2024-03-11 18:49:43 -04:00
|
|
|
op_node_idna_punycode_to_ascii,
|
|
|
|
op_node_idna_punycode_to_unicode,
|
2024-01-29 08:58:08 -05:00
|
|
|
} from "ext:core/ops";
|
2023-02-20 12:47:42 -05:00
|
|
|
|
2024-03-11 18:49:43 -04:00
|
|
|
import { deprecate } from "node:util";
|
|
|
|
|
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
|
|
|
|
2024-03-11 18:49:43 -04:00
|
|
|
// deno-lint-ignore no-explicit-any
|
|
|
|
function punyDeprecated(fn: any) {
|
|
|
|
return deprecate(
|
|
|
|
fn,
|
|
|
|
"The `punycode` module is deprecated. Please use a userland " +
|
|
|
|
"alternative instead.",
|
|
|
|
"DEP0040",
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2023-02-20 12:47:42 -05:00
|
|
|
function toASCII(domain) {
|
2024-03-11 18:49:43 -04:00
|
|
|
return punyDeprecated(op_node_idna_punycode_to_ascii)(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function toUnicode(domain) {
|
2024-03-11 18:49:43 -04:00
|
|
|
return punyDeprecated(op_node_idna_punycode_to_unicode)(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function decode(domain) {
|
2024-03-11 18:49:43 -04:00
|
|
|
return punyDeprecated(op_node_idna_punycode_decode)(domain);
|
2023-02-20 12:47:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function encode(domain) {
|
2024-03-11 18:49:43 -04:00
|
|
|
return punyDeprecated(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,
|
|
|
|
};
|