{"_id":"@adraffy/cid","_rev":"5-aa2b54df7ad14dc7622ca2198119f2c8","name":"@adraffy/cid","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@adraffy/cid","version":"0.0.1","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/Multibase.js && node test/RFC4648.js && node test/Base58BTC.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.1","gitHead":"5ba74e7fba11994fe9aa349923c059226ba63964","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-EmOlVCBmiDb2ScPEdO2bU2JA+KTe+U6QHVqkIJZdOekJenZej8zaF1Rnh4W/35YoLd93hl9NdSB6jSTAzxC3XA==","shasum":"f1bc86637ed99e767140358f0f3ee74118ae44ea","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.1.tgz","fileCount":7,"unpackedSize":34001,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgOsFF4oSpemc928IyfI3+L9iDiM+3r3mbv6NrPF82CAiEAjCGa/4ifulPcvtnGGwukLSkkG++odpfx2iMHe7I9DxI="}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.1_1704865149398_0.009776214848991938"},"_hasShrinkwrap":false},"0.0.2":{"name":"@adraffy/cid","version":"0.0.2","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/Multibase.js && node test/RFC4648.js && node test/Base58BTC.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.2","gitHead":"3ef149d8b403d34d3064971ed5d021d1c106d099","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-2LrgJYtFCCk2hxLVRvvB9DYIosMSgVuNdVSUmVZpURRk3P+ksmsESzumS50i0x5KP13yFVHae2R9RlGD8NdQbw==","shasum":"d701247e187a2596934b2d5a61652d664a0c0fe3","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.2.tgz","fileCount":7,"unpackedSize":34697,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw80R3QkOarXRAb1Ng7zneO9s3xzLzYDAtxstIW/4tGgIgajvqXYY/72NN+de6sGEM56l6T02PKK8xLdpjxDtIBYQ="}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.2_1705031773134_0.8128470008552868"},"_hasShrinkwrap":false},"0.0.3":{"name":"@adraffy/cid","version":"0.0.3","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base32","Bech32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/all.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.3","gitHead":"1dfe559848d6bc4bf5a7e095a6ab5297d4db39e5","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-RC0NI18AM2E8/3tLK/2mV2eYWsTT5AGcUmYEbEj0tnUG+M1ZIP6AmeVYpHhQ7fhDURLAlnfrDYfVH8j4n1dhEw==","shasum":"6488bfb67de561eea9ec986e8011fdb80dce8706","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.3.tgz","fileCount":8,"unpackedSize":44774,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDthnQFGabVSO45TLCMFh4GPdidZppaMJQs7zoWUf4WAAiEAw0qyD0WY3Prf6E0bMWpEYHVnfNs2aPt46ko5y3ib2Mg="}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.3_1705564274640_0.7455620915485313"},"_hasShrinkwrap":false},"0.0.4":{"name":"@adraffy/cid","version":"0.0.4","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base32","Bech32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/all.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.4","gitHead":"501ff647b63d5d079b72bc95abdafa728ee79c67","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-/FuSIXMsNl3+6+lOioMQFXa5tpvQpQWF6gCuIl2Wma5hMzN3PfN5WwQCOcCnQIPV4N+NlQZHqsdQWIy345d/qw==","shasum":"f4eabde6ecfecec9add2526dc43d4f197a3d65c8","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.4.tgz","fileCount":8,"unpackedSize":45486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmdbGGkbggLAXVVpBAF1E9wlIaKXDbNa796SyQoJis7QIgN9gBrLplpcna0dwlog23pXW44ZQvs+9ZRyhVjeOvq8k="}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.4_1705650698755_0.19164951341347147"},"_hasShrinkwrap":false},"0.0.5":{"name":"@adraffy/cid","version":"0.0.5","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base36","Base32","Bech32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/all.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.5","gitHead":"9638657cad070cf743a4fdb5f513aa7fe33b983b","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-xzuacH6zChKMfomqjYsvuyERGYLCXwRmR52AsnY5YIzcdLagNy9hSL4FUqLIFbdO8bCU56Z79CsIQwd5vIjzlg==","shasum":"0e4f8641bfb0ea58544fa7147c197eb44394ccec","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.5.tgz","fileCount":8,"unpackedSize":47635,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCiLB7oDGwkKBhYDe5aYjkd6NTilwgM4H99VyxZi1YxAIhAMhyLafxIRjm3NEMp6+vdbm89KfbShK49u+5qHvXgx8H"}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.5_1706073018303_0.6146276810509232"},"_hasShrinkwrap":false},"0.0.6":{"name":"@adraffy/cid","version":"0.0.6","description":"Multiformat CID","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base36","Base32","Bech32"],"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs"},"types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"main":"./dist/index.cjs","module":"./dist/index.mjs","repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"license":"MIT","bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"homepage":"https://github.com/adraffy/cid.js#readme","author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"type":"module","scripts":{"test":"node test/all.js","build":"rollup -c"},"devDependencies":{"@rollup/plugin-terser":"^0.4.4","rollup":"^4.9.4"},"_id":"@adraffy/cid@0.0.6","gitHead":"fba949053911550fcad81a2d92aead2cb5537645","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-LPVCM0/JvJ0nYDPfLzEt60Xo7AAAvbbbt7wmgpcUeqUoR3dQVr4oth9m5aX4r+7TkfMEyGx3/ap9aHFe7/30Eg==","shasum":"df7c27ebc5d1213de2e9b1f735c119b9085d8467","tarball":"https://registry.npmjs.org/@adraffy/cid/-/cid-0.0.6.tgz","fileCount":8,"unpackedSize":47674,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEvE3jHV9th0KkHUZcCJRqouQVpzocSRsZYYhEUG+aO6AiEA9uDH+F4O5XqqmkTlu2+ERZGl+n9bkZARYmJuJwSdiyU="}]},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"directories":{},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cid_0.0.6_1706511655171_0.6504474365956554"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-10T05:39:09.289Z","0.0.1":"2024-01-10T05:39:09.537Z","modified":"2024-01-29T07:00:55.504Z","0.0.2":"2024-01-12T03:56:13.271Z","0.0.3":"2024-01-18T07:51:14.856Z","0.0.4":"2024-01-19T07:51:38.904Z","0.0.5":"2024-01-24T05:10:18.474Z","0.0.6":"2024-01-29T07:00:55.334Z"},"maintainers":[{"name":"adraffy","email":"raffy@me.com"}],"description":"Multiformat CID","homepage":"https://github.com/adraffy/cid.js#readme","keywords":["CID","Multiformat","Multihash","Multibase","uvarint","Base64","Base58","Base36","Base32","Bech32"],"repository":{"type":"git","url":"git+https://github.com/adraffy/cid.js.git"},"author":{"name":"raffy.eth","email":"raffy@me.com","url":"http://raffy.antistupid.com"},"bugs":{"url":"https://github.com/adraffy/cid.js/issues"},"license":"MIT","readme":"# cid.js\n0-dependancy [Multiformat CID](https://github.com/multiformats/cid/blob/master/README.md) with related bases and coders.\n\n* [`7KB`](./dist/index.min.js) **Default** — full library\n* [`1KB`](./dist/uvarint.min.js) — just [uvarint.js](./src/uvarint.js)\n\n[**Demo**](https://adraffy.github.io/cid.js/test/demo.html) ⭐\n\n```js\nimport {CID} from '@adraffy/cid'; // or require()\n// npm i @adraffy/cid\n// browser: https://cdn.jsdelivr.net/npm/@adraffy/cid@latest/dist/index.min.js\n\nlet cid = CID.from('QmQ7D7QqcAhFdrFfquiz7B5RWZiJ6e9Ast1LzpXZEdZWF5');\n// CID {\n//   version: number,\n//   codec: number,\n//   hash: Multihash { ... },\n//   base?: Multibase { ... }\n// }\ncid.version; // 0\ncid.codec;   // 0x70 (since version = 0)\ncid.base;    // remembers source base if possible\ncid.hash;\n// Multihash {\n//   codec: number,\n//   data: Uint8Array() [ ... ]\n// }\ncid.bytes; // encoded bytes => Uint8Array(34) [ ... ]\ncid.toString();\n// \"QmQ7D7QqcAhFdrFfquiz7B5RWZiJ6e9Ast1LzpXZEdZWF5\"\n\nlet cid1 = cid.upgrade(); // copy with version >= 1\ncid1.toString(); // default base is \"k\" => base36\n// \"k2jmtxs0omsxbtzexbx41py6k7akdtllisuuumrorlmyo2tixbx59rj8\"\ncid1.toString('z'); // use different base, by prefix (base58btc)\n// \"zdj7WXCTUquTeArWZZbaegbyYuz8mujpBZJkCQsfcvE458QR1\" \ncid1.toString(Multibase.for('b')); // provide Multibase, by prefix (base32)\n// \"bafybeia2ixqr5fda7cw5vem65xtirm6puhde3vrehkv4zqxxicwc6gbmuq\" \ncid2.toString(Multibase.for('base32upper')); // by name\n// \"BAFYBEIA2IXQR5FDA7CW5VEM65XTIRM6PUHDE3VREHKV4ZQXXICWC6GBMUQ\" \n```\nAvailable [bases](./src/bases.js#L69):\n```js\nimport {Multibase} from '@adraffy/cid';\n\n// auto-registers during Multibase() constructor\n[...Multibase].map(x => `${x.prefix}:${name}`); // Iterable<Multibase>\n// [\n//   0:base2,             7:base8,             9:base10,           \n//   f:base16,            F:base16upper,       v:base32hex,        \n//   V:base32hexupper,    t:base32hexpad,      T:base32hexpadupper,\n//   b:base32,            B:base32upper,       c:base32pad,        \n//   C:base32padupper,    h:base32z,           k:base36,           \n//   K:base36upper,       z:base58btc,         Z:base58flickr,     \n//   m:base64,            M:base64pad,         u:base64url,        \n//   U:base64urlpad,     \n// ]\n```\nAvailable coders:\n```js\nimport {\n  Base2, Base8, Base16, Base32, Base32Hex, Base32Z, Base64, Base64URL, // RFC4648\n  Base10, Base36, Base58BTC, Base58Flickr, // Prefix0\n  Bech32,\n} from '@adraffy/cid';\n\nBase2.encode([128+1]);    // \"10000001\"\nBase2.decode('10000001'); // 129\n\nBase58BTC.encode([1, 2, 255]); // \"LiA\"\nBase58BTC.decode('LiA');       // [1, 2, 255]\n\nlet bech = Bech32.decode('bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4');\nbech.hrp;  // string, human-readable part, eg. \"bc\"\nbech.type; // number: 1, Bech32.M, etc. (note: this is the checksum)\nbech.v32;  // array of base32 numbers\n```\n\nArbitrary-precision [uvarint](./src/uvarint.js):\n```js\nimport {uvarint} from '@adraffy/cid'; // also: dist/uvarint.min.js\n\nlet v = []; // output buffer (Array or Uint8Array)\nlet p = 0;  // write position\np = uvarint.write(v, 69, p);       // Number\np = uvarint.write(v, '0x420', p);  // HexString\np = uvarint.write(v, 1337n, p);    // BigInt\nlet u;\n[u, p] = uvarint.readHex(v, 0);    // \"0x45\" => 69\n[u, p] = uvarint.readBigInt(v, p); //  1056n => 0x420\n[u, p] = uvarint.read(v, p);       //  1337\nlet [u0, u1, u2] = uvarint.read(v, 0, 3); // at position 0, read 3x\n// [69, 1056, 1337]\n```\n\n### Build\n\n* `git clone` this repo, then `npm install` \n* `npm run test`\n* `npm run build` — create [/dist/](./dist/)\n","readmeFilename":"README.md"}