diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..3409cbb --- /dev/null +++ b/index.d.ts @@ -0,0 +1,15 @@ +/** +Decodes a Uniform Resource Identifier (URI) component previously created by `encodeURIComponent()` +or by a similar routine. + +@param encodedURI - An encoded component of a URI. + +@returns The decoded URI component. + +@example +``` +decodeUriComponent('st%C3%A5le') +//=> 'ståle' +``` +*/ +export default function decodeUriComponent(encodedURI: string): string; diff --git a/index.test-d.ts b/index.test-d.ts new file mode 100644 index 0000000..4c5935c --- /dev/null +++ b/index.test-d.ts @@ -0,0 +1,4 @@ +import {expectType} from 'tsd'; +import decodeUriComponent from './index.js'; + +expectType(decodeUriComponent('st%C3%A5le')); diff --git a/package.json b/package.json index 2de867f..6d6b325 100644 --- a/package.json +++ b/package.json @@ -9,19 +9,21 @@ "email": "sam.verschueren@gmail.com", "url": "github.com/SamVerschueren" }, + "type": "module", + "exports": { + "types": "./index.d.ts", + "default": "./index.js" + }, "engines": { "node": ">=14.16" }, "scripts": { - "test": "xo && nyc ava", + "test": "xo && nyc ava && tsd", "coveralls": "nyc report --reporter=text-lcov | coveralls" }, - "type": "module", - "exports": { - "default": "./index.js" - }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "keywords": [ "decode", @@ -36,6 +38,12 @@ "ava": "^5.1.0", "coveralls": "^3.1.1", "nyc": "^15.1.0", + "tsd": "^0.25.0", "xo": "^0.53.1" + }, + "tsd": { + "compilerOptions": { + "module": "node16" + } } }