Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jsdom/tr46
An implementation of the Unicode UTS #46: Unicode IDNA Compatibility Processing.
https://github.com/jsdom/tr46
Last synced: 3 days ago
JSON representation
An implementation of the Unicode UTS #46: Unicode IDNA Compatibility Processing.
- Host: GitHub
- URL: https://github.com/jsdom/tr46
- Owner: jsdom
- License: mit
- Created: 2015-06-06T02:18:05.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-07-25T07:45:24.000Z (4 months ago)
- Last Synced: 2024-10-25T07:28:34.470Z (15 days ago)
- Language: JavaScript
- Homepage:
- Size: 165 KB
- Stars: 32
- Watchers: 7
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# tr46
An JavaScript implementation of [Unicode Technical Standard #46: Unicode IDNA Compatibility Processing](https://unicode.org/reports/tr46/).
## API
### `toASCII(domainName[, options])`
Converts a string of Unicode symbols to a case-folded Punycode string of ASCII symbols.
Available options:
* [`checkBidi`](#checkbidi)
* [`checkHyphens`](#checkhyphens)
* [`checkJoiners`](#checkjoiners)
* [`ignoreInvalidPunycode`](#ignoreinvalidpunycode)
* [`transitionalProcessing`](#transitionalprocessing)
* [`useSTD3ASCIIRules`](#usestd3asciirules)
* [`verifyDNSLength`](#verifydnslength)### `toUnicode(domainName[, options])`
Converts a case-folded Punycode string of ASCII symbols to a string of Unicode symbols.
Available options:
* [`checkBidi`](#checkbidi)
* [`checkHyphens`](#checkhyphens)
* [`checkJoiners`](#checkjoiners)
* [`ignoreInvalidPunycode`](#ignoreinvalidpunycode)
* [`transitionalProcessing`](#transitionalprocessing)
* [`useSTD3ASCIIRules`](#usestd3asciirules)## Options
### `checkBidi`
Type: `boolean`
Default value: `false`
When set to `true`, any bi-directional text within the input will be checked for validation.### `checkHyphens`
Type: `boolean`
Default value: `false`
When set to `true`, the positions of any hyphen characters within the input will be checked for validation.### `checkJoiners`
Type: `boolean`
Default value: `false`
When set to `true`, any word joiner characters within the input will be checked for validation.### `ignoreInvalidPunycode`
Type: `boolean`
Default value: `false`
When set to `true`, invalid Punycode strings within the input will be allowed.### `transitionalProcessing`
Type: `boolean`
Default value: `false`
When set to `true`, uses [transitional (compatibility) processing](https://unicode.org/reports/tr46/#Compatibility_Processing) of the deviation characters.### `useSTD3ASCIIRules`
Type: `boolean`
Default value: `false`
When set to `true`, input will be validated according to [STD3 Rules](http://unicode.org/reports/tr46/#STD3_Rules).### `verifyDNSLength`
Type: `boolean`
Default value: `false`
When set to `true`, the length of each DNS label within the input will be checked for validation.