1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00
denoland-deno/ext/node/polyfills/punycode.ts

51 lines
1.1 KiB
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import {
op_node_idna_punycode_decode,
op_node_idna_punycode_encode,
op_node_idna_punycode_to_ascii,
op_node_idna_punycode_to_unicode,
} from "ext:core/ops";
import { deprecate } from "node:util";
import { ucs2 } from "ext:deno_node/internal/idna.ts";
const version = "2.1.0";
// 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",
);
}
function toASCII(domain) {
return punyDeprecated(op_node_idna_punycode_to_ascii)(domain);
}
function toUnicode(domain) {
return punyDeprecated(op_node_idna_punycode_to_unicode)(domain);
}
function decode(domain) {
return punyDeprecated(op_node_idna_punycode_decode)(domain);
}
function encode(domain) {
return punyDeprecated(op_node_idna_punycode_encode)(domain);
}
export { decode, encode, toASCII, toUnicode, ucs2, version };
export default {
decode,
encode,
toASCII,
toUnicode,
ucs2,
version,
};