convert.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.convert = void 0;
  4. const index_js_1 = require("../bytes/index.js");
  5. const index_js_2 = require("../encoding/index.js");
  6. const defaults_js_1 = require("./defaults.js");
  7. function encode(name, data, ...args) {
  8. return defaults_js_1.defaultConverterRegistry.encode(name, data, ...args);
  9. }
  10. function decode(name, text, ...args) {
  11. return defaults_js_1.defaultConverterRegistry.decode(name, text, ...args);
  12. }
  13. function tryDecode(name, text, ...args) {
  14. return defaults_js_1.defaultConverterRegistry.tryDecode(name, text, ...args);
  15. }
  16. function normalize(name, text, ...args) {
  17. return defaults_js_1.defaultConverterRegistry.normalize(name, text, ...args);
  18. }
  19. function parse(name, text, ...args) {
  20. return defaults_js_1.defaultConverterRegistry.parse(name, text, ...args);
  21. }
  22. function format(name, data, value) {
  23. return defaults_js_1.defaultConverterRegistry.format(name, data, value);
  24. }
  25. function transcode(text, options) {
  26. return defaults_js_1.defaultConverterRegistry.transcode(text, options);
  27. }
  28. function detect(text, options) {
  29. return defaults_js_1.defaultConverterRegistry.detect(text, options);
  30. }
  31. function normalizeEncodingName(encoding) {
  32. return encoding.toLowerCase();
  33. }
  34. exports.convert = {
  35. encode,
  36. decode,
  37. tryDecode,
  38. normalize,
  39. parse,
  40. format,
  41. transcode,
  42. detect,
  43. to(format, data, ...args) {
  44. return encode(format, data, ...args);
  45. },
  46. from(format, text, ...args) {
  47. return decode(format, text, ...args);
  48. },
  49. toString(data, encoding = "utf8") {
  50. return encode(encoding, data);
  51. },
  52. fromString(text, encoding = "utf8") {
  53. if (normalizeEncodingName(encoding) === "hex") {
  54. return (0, index_js_1.toArrayBuffer)(index_js_2.hex.decode(text, { allowOddLength: true }));
  55. }
  56. return (0, index_js_1.toArrayBuffer)(decode(encoding, text));
  57. },
  58. toBase64: index_js_2.base64.encode,
  59. fromBase64: (text) => (0, index_js_1.toArrayBuffer)(index_js_2.base64.decode(text)),
  60. toBase64Url: index_js_2.base64url.encode,
  61. fromBase64Url: (text) => (0, index_js_1.toArrayBuffer)(index_js_2.base64url.decode(text)),
  62. toHex: index_js_2.hex.encode,
  63. fromHex: (text) => (0, index_js_1.toArrayBuffer)(index_js_2.hex.decode(text, { allowOddLength: true })),
  64. toBinary: index_js_2.binary.encode,
  65. fromBinary: (text) => (0, index_js_1.toArrayBuffer)(index_js_2.binary.decode(text)),
  66. toUtf8String: index_js_2.utf8.decode,
  67. fromUtf8String: (text) => (0, index_js_1.toArrayBuffer)(index_js_2.utf8.encode(text)),
  68. toUtf16String: (data, littleEndian = false) => index_js_2.utf16.decode(data, { littleEndian }),
  69. fromUtf16String: (text, littleEndian = false) => (0, index_js_1.toArrayBuffer)(index_js_2.utf16.encode(text, { littleEndian })),
  70. isHex: index_js_2.hex.is,
  71. isBase64: index_js_2.base64.is,
  72. isBase64Url: index_js_2.base64url.is,
  73. formatString: index_js_2.base64.normalize,
  74. };