Skip to content

Commit eac1e77

Browse files
committed
add types
1 parent 5f68ba1 commit eac1e77

File tree

5 files changed

+75
-2
lines changed

5 files changed

+75
-2
lines changed

index.d.ts

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
type TypedArray =
2+
| Int8Array
3+
| Uint8Array
4+
| Uint8ClampedArray
5+
| Int16Array
6+
| Uint16Array
7+
| Int32Array
8+
| Uint32Array
9+
| Float32Array
10+
| Float64Array
11+
| BigInt64Array
12+
| BigUint64Array;
13+
14+
declare function typedArrayBuffer(x: TypedArray): ArrayBuffer;
15+
16+
export = typedArrayBuffer;

index.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ var $typedArrayBuffer = callBound('TypedArray.prototype.buffer', true);
88

99
var isTypedArray = require('is-typed-array');
1010

11+
/** @type {import('.')} */
1112
// node <= 0.10, < 0.11.4 has a nonconfigurable own property instead of a prototype getter
1213
module.exports = $typedArrayBuffer || function typedArrayBuffer(x) {
1314
if (!isTypedArray(x)) {

package.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@
4242
},
4343
"devDependencies": {
4444
"@ljharb/eslint-config": "^21.1.0",
45+
"@types/call-bind": "^1.0.5",
46+
"@types/es-value-fixtures": "^1.4.4",
47+
"@types/for-each": "^0.3.3",
48+
"@types/object-inspect": "^1.8.4",
49+
"@types/tape": "^5.6.4",
4550
"aud": "^2.0.4",
4651
"auto-changelog": "^2.4.0",
4752
"available-typed-arrays": "^1.0.7",
@@ -53,7 +58,8 @@
5358
"nyc": "^10.3.2",
5459
"object-inspect": "^1.13.1",
5560
"safe-publish-latest": "^2.0.0",
56-
"tape": "^5.7.5"
61+
"tape": "^5.7.5",
62+
"typescript": "next"
5763
},
5864
"engines": {
5965
"node": ">= 0.4"

test/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ var inspect = require('object-inspect');
99
var typedArrayBuffer = require('../');
1010

1111
test('typedArrayBuffer', function (t) {
12-
forEach(v.primitives.concat(v.objects), function (nonTA) {
12+
// @ts-expect-error TS sucks at concat
13+
forEach([].concat(v.primitives, v.objects), function (nonTA) {
1314
t['throws'](function () { typedArrayBuffer(nonTA); }, TypeError, inspect(nonTA) + ' is not a Typed Array');
1415
});
1516

tsconfig.json

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"compilerOptions": {
3+
/* Visit https://aka.ms/tsconfig.json to read more about this file */
4+
5+
/* Projects */
6+
7+
/* Language and Environment */
8+
"target": "es2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
9+
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
10+
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
11+
"useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
12+
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
13+
14+
/* Modules */
15+
"module": "commonjs", /* Specify what module code is generated. */
16+
// "rootDir": "./", /* Specify the root folder within your source files. */
17+
// "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
18+
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
19+
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
20+
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
21+
// "typeRoots": ["types"], /* Specify multiple folders that act like `./node_modules/@types`. */
22+
"resolveJsonModule": true, /* Enable importing .json files. */
23+
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
24+
25+
/* JavaScript Support */
26+
"allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */
27+
"checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
28+
"maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */
29+
30+
/* Emit */
31+
"declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
32+
"declarationMap": true, /* Create sourcemaps for d.ts files. */
33+
"noEmit": true, /* Disable emitting files from a compilation. */
34+
35+
/* Interop Constraints */
36+
"allowSyntheticDefaultImports": true, /* Allow `import x from y` when a module doesn't have a default export. */
37+
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */
38+
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
39+
40+
/* Type Checking */
41+
"strict": true, /* Enable all strict type-checking options. */
42+
43+
/* Completeness */
44+
// "skipLibCheck": true /* Skip type checking all .d.ts files. */
45+
},
46+
"exclude": [
47+
"coverage",
48+
],
49+
}

0 commit comments

Comments
 (0)