{"id":31063888,"url":"https://github.com/hugoalh/blake-es","last_synced_at":"2025-10-18T07:09:45.214Z","repository":{"id":305862572,"uuid":"1024182263","full_name":"hugoalh/blake-es","owner":"hugoalh","description":"An ECMAScript (JavaScript \u0026 TypeScript) module to get the non-cryptographic hash of the data with algorithm Blake.","archived":false,"fork":false,"pushed_at":"2025-08-29T09:47:51.000Z","size":450,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T12:55:13.432Z","etag":null,"topics":["blake","blake2b","blake2s","ecmascript","ecmascript-module","es","es-module","esm","esmodule","hash","javascript","js","ts","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hugoalh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-22T09:57:00.000Z","updated_at":"2025-08-29T09:47:54.000Z","dependencies_parsed_at":"2025-07-22T12:16:50.873Z","dependency_job_id":"88990275-b94c-46c9-8400-a1b56fad2933","html_url":"https://github.com/hugoalh/blake-es","commit_stats":null,"previous_names":["hugoalh/blake-es"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hugoalh/blake-es","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugoalh%2Fblake-es","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugoalh%2Fblake-es/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugoalh%2Fblake-es/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugoalh%2Fblake-es/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hugoalh","download_url":"https://codeload.github.com/hugoalh/blake-es/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugoalh%2Fblake-es/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275267362,"owners_count":25434612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blake","blake2b","blake2s","ecmascript","ecmascript-module","es","es-module","esm","esmodule","hash","javascript","js","ts","typescript"],"created_at":"2025-09-15T13:55:31.746Z","updated_at":"2025-10-18T07:09:45.206Z","avatar_url":"https://github.com/hugoalh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blake (ES)\n\n[**⚖️** MIT](./LICENSE.md)\n\n[![GitHub: hugoalh/blake-es](https://img.shields.io/github/v/release/hugoalh/blake-es?label=hugoalh/blake-es\u0026labelColor=181717\u0026logo=github\u0026logoColor=ffffff\u0026sort=semver\u0026style=flat \"GitHub: hugoalh/blake-es\")](https://github.com/hugoalh/blake-es)\n[![JSR: @hugoalh/blake](https://img.shields.io/jsr/v/@hugoalh/blake?label=@hugoalh/blake\u0026labelColor=F7DF1E\u0026logo=jsr\u0026logoColor=000000\u0026style=flat \"JSR: @hugoalh/blake\")](https://jsr.io/@hugoalh/blake)\n[![NPM: @hugoalh/blake](https://img.shields.io/npm/v/@hugoalh/blake?label=@hugoalh/blake\u0026labelColor=CB3837\u0026logo=npm\u0026logoColor=ffffff\u0026style=flat \"NPM: @hugoalh/blake\")](https://www.npmjs.com/package/@hugoalh/blake)\n\nAn ECMAScript module to get the non-cryptographic hash of the data with algorithm Blake.\n\n## 🌟 Features\n\n- Support custom output length.\n- Support variants of 2B and 2S.\n\n## 🎯 Targets\n\n| **Runtime \\\\ Source** | **GitHub Raw** | **JSR** | **NPM** |\n|:--|:-:|:-:|:-:|\n| **[Bun](https://bun.sh/)** \u003e= v1.1.0 | ❌ | ✔️ | ✔️ |\n| **[Deno](https://deno.land/)** \u003e= v2.1.0 | ✔️ | ✔️ | ✔️ |\n| **[NodeJS](https://nodejs.org/)** \u003e= v20.9.0 | ❌ | ✔️ | ✔️ |\n\n## 🛡️ Runtime Permissions\n\nThis does not request any runtime permission.\n\n## #️⃣ Sources\n\n- GitHub Raw\n  ```\n  https://raw.githubusercontent.com/hugoalh/blake-es/{Tag}/mod.ts\n  ```\n- JSR\n  ```\n  jsr:@hugoalh/blake[@{Tag}]\n  ```\n- NPM\n  ```\n  npm:@hugoalh/blake[@{Tag}]\n  ```\n\n\u003e [!NOTE]\n\u003e - It is recommended to include tag for immutability.\n\u003e - These are not part of the public APIs hence should not be used:\n\u003e   - Benchmark/Test file (e.g.: `example.bench.ts`, `example.test.ts`).\n\u003e   - Entrypoint name or path include any underscore prefix (e.g.: `_example.ts`, `foo/_example.ts`).\n\u003e   - Identifier/Namespace/Symbol include any underscore prefix (e.g.: `_example`, `Foo._example`).\n\n## ⤵️ Entrypoints\n\n| **Name** | **Path** | **Description** |\n|:--|:--|:--|\n| `.` | `./mod.ts` | Default. |\n| `./2b` | `./2b.ts` | Variant of 2B. |\n| `./2s` | `./2s.ts` | Variant of 2S. |\n\n## 🧩 APIs\n\n- ```ts\n  class Blake2B {\n    constructor(input?: Blake2BOptions);\n    get freezed(): boolean;\n    get length(): number;\n    freeze(): this;\n    hash(): Uint8Array;\n    hashHex(): string;\n    update(data: Blake2AcceptDataType): this;\n    updateFromStream(stream: ReadableStream\u003cBlake2AcceptDataType\u003e): Promise\u003cthis\u003e;\n  }\n  ```\n- ```ts\n  class Blake2S {\n    constructor(input?: Blake2Options);\n    get freezed(): boolean;\n    get length(): number;\n    freeze(): this;\n    hash(): Uint8Array;\n    hashHex(): string;\n    update(data: Blake2AcceptDataType): this;\n    updateFromStream(stream: ReadableStream\u003cBlake2AcceptDataType\u003e): Promise\u003cthis\u003e;\n  }\n  ```\n- ```ts\n  interface Blake2Options {\n    data?: Blake2AcceptDataType;\n    key?: Uint8Array;\n    length?: number;\n  }\n  ```\n- ```ts\n  interface Blake2BOptions extends Blake2Options {\n    personal?: string | Uint8Array;\n    salt?: string | Uint8Array;\n  }\n  ```\n- ```ts\n  type Blake2AcceptDataType =\n    | string\n    | Uint8Array;\n  ```\n\n\u003e [!NOTE]\n\u003e - For the full or prettier documentation, can visit via:\n\u003e   - [Deno CLI `deno doc`](https://docs.deno.com/runtime/reference/cli/doc/)\n\u003e   - [JSR](https://jsr.io/@hugoalh/blake)\n\n## ✍️ Examples\n\n- ```ts\n  new Blake2B(\"The quick brown fox jumps over the lazy dog\").hashHex();\n  //=\u003e \"A8ADD4BDDDFD93E4877D2746E62817B116364A1FA7BC148D95090BC7333B3673F82401CF7AA2E4CB1ECD90296E3F14CB5413F8ED77BE73045B13914CDCD6A918\"\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugoalh%2Fblake-es","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhugoalh%2Fblake-es","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugoalh%2Fblake-es/lists"}