diff --git a/build.config.js b/build.config.js
index 6ad5e9d..210e364 100644
--- a/build.config.js
+++ b/build.config.js
@@ -1,6 +1,7 @@
export default {
- entries: ["./index.js"],
- rollup: {
- emitCJS: true,
- },
-};
\ No newline at end of file
+ entries: ['./index.js'],
+ rollup: {
+ emitCJS: true,
+ },
+ failOnWarn: false,
+};
diff --git a/index.d.ts b/index.d.ts
new file mode 100644
index 0000000..890c396
--- /dev/null
+++ b/index.d.ts
@@ -0,0 +1,56 @@
+///
+
+/**
+ * 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); // ->
+ *
+ * // will cast to buffer if given a string, so you can
+ * // directly use foreign characters safely
+ * crc32('自動販売機'); // ->
+ *
+ * // 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); // ->
+ */
+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;
+}
diff --git a/package.json b/package.json
index 5023474..4ee918e 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"author": "Brian J. Brennan ",
"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",
@@ -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}\""
},
@@ -36,6 +36,7 @@
"node": ">=8.0.0"
},
"license": "MIT",
+ "type": "commonjs",
"exports": {
".": {
"import": "./dist/index.mjs",
@@ -43,7 +44,11 @@
}
},
"main": "./dist/index.cjs",
+ "types": "./index.d.ts",
"files": [
- "dist"
+ "dist",
+ "index.d.ts",
+ "LICENSE",
+ "README.md"
]
}