Skip to content

Commit

Permalink
Make arethetypeswrong happy
Browse files Browse the repository at this point in the history
  • Loading branch information
kibertoad committed Feb 3, 2024
1 parent 78060e0 commit 5807b36
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 8 deletions.
11 changes: 6 additions & 5 deletions build.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export default {
entries: ["./index.js"],
rollup: {
emitCJS: true,
},
};
entries: ['./index.js'],
rollup: {
emitCJS: true,
},
failOnWarn: false,
};
56 changes: 56 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/// <reference types="node" />

/**
* These definitions were written by BendingBender (https://github.com/BendingBender)
*/

export = crc32;

/**
* crc32 that works with binary data and fancy character sets.
*
* @example
* import crc32 = require('buffer-crc32');
*
* // works with buffers
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]);
* crc32(buf); // -> <Buffer 94 5a ab 4a>
*
* // will cast to buffer if given a string, so you can
* // directly use foreign characters safely
* crc32('自動販売機'); // -> <Buffer cb 03 1a c5>
*
* // and works in append mode too
* let partialCrc = crc32('hey');
* partialCrc = crc32(' ', partialCrc);
* partialCrc = crc32('sup', partialCrc);
* partialCrc = crc32(' ', partialCrc);
* const finalCrc = crc32('bros', partialCrc); // -> <Buffer 47 fa 55 70>
*/
declare function crc32(input: string | Buffer, partialCrc?: Buffer | number): Buffer;

declare namespace crc32 {
/**
* Convenience method that returns a signed int instead of a `Buffer`.
*
* @example
* import crc32 = require('buffer-crc32');
*
* // works with buffers
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]);
* crc32.signed(buf); // -> -1805997238
*/
function signed(buffer: string | Buffer, partialCrc?: Buffer | number): number;

/**
* Convenience method that returns an unsigned int instead of a `Buffer`.
*
* @example
* import crc32 = require('buffer-crc32');
*
* // works with buffers
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]);
* crc32.unsigned(buf); // -> 2488970058
*/
function unsigned(buffer: string | Buffer, partialCrc?: Buffer | number): number;
}
11 changes: 8 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"author": "Brian J. Brennan <brianloveswords@gmail.com>",
"name": "buffer-crc32",
"description": "A pure javascript CRC32 algorithm that plays nice with binary data",
"version": "0.2.13",
"version": "1.0.0-RC9",
"licenses": [
{
"type": "MIT",
Expand All @@ -22,7 +22,7 @@
},
"scripts": {
"test": "tap tests/*.test.js --reporter classic",
"build": "npx unbuild@2.0.0",
"build": "npx unbuild@2.0.0 && npx cpy-cli index.d.ts dist --rename=index.d.cts && npx cpy-cli index.d.ts dist --rename=index.d.mts",
"prepublishOnly": "npm run build",
"format": "prettier --write --log-level warn \"**/*.{json,md,js}\""
},
Expand All @@ -36,14 +36,19 @@
"node": ">=8.0.0"
},
"license": "MIT",
"type": "commonjs",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
},
"main": "./dist/index.cjs",
"types": "./index.d.ts",
"files": [
"dist"
"dist",
"index.d.ts",
"LICENSE",
"README.md"
]
}

0 comments on commit 5807b36

Please sign in to comment.