{"_id":"@ashirbad/js-core","_rev":"7-7237ea0c0c3957795199ff36332b9cb5","name":"@ashirbad/js-core","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@ashirbad/js-core","version":"1.0.0","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.0","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"fd29d354308fe15e14e0f0985aa75ddbbf3d636c","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.0.tgz","fileCount":3,"integrity":"sha512-McRpbv/v3g6wUxQiw3zmeV/QKWM5Yd//8/YTIlSsRgUU+e+9zHHC+aQAcQMnAvetdk2/YiWxqDj97DMCJYdrdg==","signatures":[{"sig":"MEUCIDxoOT05lqSG0NBqUfeDu2TdWtu/L2VAcFmWOUUX6UOpAiEA62r9+Qml0F/kL25T/VbjUvU23LPghvBFUUhAf8VMHGk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1491},"main":"index.js","gitHead":"09284a7ddeb911d4a78e3a433ead85d595a540c5","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"7.18.1","description":"A set of js core utility functions","directories":{},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.0_1633656518487_0.5000282150767155","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@ashirbad/js-core","version":"1.0.1","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.1","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"5b9a45742bc218d0e97db181f012358e750c1f29","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.1.tgz","fileCount":3,"integrity":"sha512-Q8HGQHjsIfqaO2Cz9Tx3E7mWvJxqZSQCMnrd9OO+lXVi6osXAiF03edSSLijo+BYg7JuWJfL5MDChWd17a/EwQ==","signatures":[{"sig":"MEUCIC26n/tn4wYmxhqG3QDtyztQYdT8GyVbED0ZU6T/d25dAiEA+kfXa//KqmPhQ8qZrKPxeII2CRteXDHN0ko8lWNKXzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3117},"main":"index.js","gitHead":"631d58a5cca955d5cbe557e737167a3bf12acde0","scripts":{"start":"node ."},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"7.18.1","description":"A set of js core utility functions","directories":{},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.1_1633795008761_0.7761822706690149","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@ashirbad/js-core","version":"1.0.2","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.2","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"ae903290c0760ad3dcf8c93903f6c7cc70cfbf4c","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.2.tgz","fileCount":4,"integrity":"sha512-NfPGjvcKmBR2GWD64dGh9goQ05noElVbAH9/2AkChR/XVahpJYJOqqVqLXBCBYPQYMV7mIrxpOClAH2xL5h9Fg==","signatures":[{"sig":"MEQCIDgXUAsdZFzrSELEXrje8FP1rmregoV9SGGPJpeWjW06AiAbx70F+CgYOomTTZPIedKQXrOzh6b4sFkpbNwKOPyO9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4307},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5ea5472d32b331d122821f3c3318bd5b46ecf5b9","scripts":{"build":"tsc","start":"node ."},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"7.18.1","description":"A set of js core utility functions","directories":{},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.2_1633873965979_0.43468408002748227","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@ashirbad/js-core","version":"1.0.3","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.3","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"32593d035f0124622ac39d7d84c5f74afd694953","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.3.tgz","fileCount":6,"integrity":"sha512-VatydZaJ0sqeGzca4S1mdygaK3bsz13yo4pGZilepqoKCxfCY88/gS2vDoGF+R9A4UxsyD2AMX9ih005rMnOxQ==","signatures":[{"sig":"MEQCIEcrWf4EW50xX7tysxMbMUy5/XTO1e6gH/qotRDm8yR3AiA4OXQ7iXKtGqaXy/ARDgitFVCQz0ETqT+6W/1zY9ckWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6173},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"75c84efa4b70a48e75a03d91a26e515be0ab2a4f","scripts":{"build":"tsc","start":"node ."},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"7.18.1","description":"A set of js core utility functions","directories":{},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.3_1635215026582_0.9118452312608143","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@ashirbad/js-core","version":"1.0.4","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.4","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"c7960dde7e91a8e39f31bbb30fbb8f8d7618ac02","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.4.tgz","fileCount":6,"integrity":"sha512-D9Blbg7QR3wNKHUGoELefNbm2uxxUAMgjUfh959qTQx2Jj8PjZTmMXNF3KLPJY5QRB/kdCeO+MBLZry4KLwS8w==","signatures":[{"sig":"MEQCIGimBnnC6r8DzDtvgJx0rrJPrz8FNJ3808gv23QK2Wg6AiBZOlzb2GoL/OExCMTS8CXAWxxXJ05EZkdCR+k9H1lyCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm3OqCRA9TVsSAnZWagAAXF4QAJc4T/1hgyNnJyUA8BVt\nHW7e+ECaaxP9F6+71s+7MYXBQJnQ/oqRCb64MURramt75yNEYiECbKTMg2oE\nMgiYrVCZtmU4hqvZNW2O8KH+kh9bGfRjD+4WiP2NZ7iBXVXwuQB2BVlPJdc0\nhcV2b4xO7kgY9Ju2UEoM4zMqMuLH0gjnLKEN5/tO1aEEuTDcJ9uc+Ieqkleo\nFUHpDCWk//kCReRrzBmtN3YOrcEzLoS7Lqs2S+gCUuipOs01CAwEcLN1Qmz6\nnHxBHSKA8QVslaFqVfuNwwAomzlQ7kWkz2wa5EkpECjtjrgxVqe3Ycmn8kTf\nK0R7kILuRP7NaaQwIUhkRWm3jRUceXbE+GWsio3zZljGrxhrB0VTYB8a5g4/\nPFdenv95BIRTH9Smaw9kJwiyuh1c75y8tdTsRlvHuzEqHrW872/sg+Hm0bth\n36VtbS3qI02iw1m70ntReOWQLUogGshD8PNC1/nJ5qOfeI9zMwHe607MYhWb\nTQvkq0rV+hiej/RKmU2Pu7zGliwTWmvOF03rmOH3s8eYcG3B9caHcaD/tvHW\nOEUISEteG4j2X8/lXvTDzl937CMmWrf7B/yrya4VPrC43EdZbWG8Pfs+8js1\nY7tN6fQHcGTpcD1jA7LdCnu8B2Binf2G4FYyTGmxziXLKLxUSob+aPqo8L9o\n09Yn\r\n=lFSV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"30baae7847d7cb3c7d87904d01bddde54d1e9fb3","scripts":{"build":"tsc","start":"node ."},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"7.18.1","description":"A set of js core utility functions","directories":{},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.4_1637577642615_0.5256303910185651","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@ashirbad/js-core","version":"1.0.5","keywords":["js","javascript","js-core","utility","helper","functions"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","_id":"@ashirbad/js-core@1.0.5","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"homepage":"https://github.com/AshirbadGudu/js-core#readme","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"dist":{"shasum":"ba77b7f21e9df9ddde3f5d040dff9ec138ef498e","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.5.tgz","fileCount":6,"integrity":"sha512-z6xcs/mDYoI4d9g2Y3JOicxl11HLUSTX1lZ/bxWgP6BSK1IMf1AYZ1uSVcDsmc0q0DwBQ7AzsaLiV6q9LCeyNg==","signatures":[{"sig":"MEUCIQDRQcg136ssVOIDgHknsHCgXkPbyr8V1MRp4MycGrxWugIgXsuiC3VjNaxlwRGn/Fdp1QlIU1RwP7RfGBozRkNLZbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0M2UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrc3w//eWKaMQZ3cTU7Jgm6vM6zXgKaVTT4gOT8VbnGhS1aMZD3ccFs\r\nk+8AxFdEZAmV55n3vHRVRylkmkz4Di6ec5z6TrcBFukBvREL2r7N14hvagzR\r\nXOV+rfhD08wkIiIUSAgncAnTcdpO7fdHJB3AuqKo03798xSqOFuthN0rabqx\r\nLRSv4f30JpnckLioGcwykvLseo+Rdri2RovEFdPXoD3Vu/Dw5j7uxr+MeLAy\r\nb2vCdo1yD2g7EkgR7oxjkFbVhmvQmBCZ2rzwIDHtED7pZ0/GqKmjjtfhX09d\r\n4p7/Sy+C+lDPNtXg+F9VGe4jbm49MwXYXYJ+OmaB8asgacHbwMx2tOiONhkR\r\n/2KvpyvIPIwRziCMom8JkcCsKsbFPo4C9w8ppXc0g1fBGF8Vy+m6zAF+GmGf\r\noIxm/vdrb5yiBHp63CA+1zGx++33pHNE2iixRwdJ6qFmYg3QtAhwfPmNKdQO\r\n9cLRwXonVV7/sLfsR0g80rWpgT0j3f5Qo8LBDr27ZvXVKLLLXf7NTOAr/NdV\r\nWBhThWlrisANsGCkGPZRlbqPvFCR6mtqlTIUJzqDhuwV8/RQEc8v38QrZc5N\r\n87h9Bvn4dF7tlrTWCO1jJYKnflJZpMfWiIiCs5MnGvG45K3oaKDXnv2O/OMw\r\nCtvu5vDEEoIqm/GoB9qsSCEyKU/NGMNmyrM=\r\n=Me/u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f7355a1acb6910ddc4c62476545dd7e95dc948a1","scripts":{"build":"tsc","start":"node ."},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"repository":{"url":"git+https://github.com/AshirbadGudu/js-core.git","type":"git"},"_npmVersion":"8.5.5","description":"A set of js core utility functions","directories":{},"_nodeVersion":"16.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/js-core_1.0.5_1657851283849_0.32964459451564343","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@ashirbad/js-core","version":"1.0.6","description":"A set of js core utility functions","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"start":"node .","clean":"rm -rf dist coverage __tests__/**/*.js __tests__/**/*.d.ts __tests__/*.js __tests__/*.d.ts","build":"npm run clean && tsc -p tsconfig.json","test":"jest","test:watch":"jest --watch","lint":"eslint . --ext .ts","format":"prettier --write \"**/*.{ts,json}\"","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/AshirbadGudu/js-core.git"},"keywords":["js","javascript","js-core","utility","helper","firebase","firebase-utils","firebase-realtime-database","array","typescript"],"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"homepage":"https://github.com/AshirbadGudu/js-core#readme","devDependencies":{"@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^7.1.0","@typescript-eslint/parser":"^7.1.0","eslint":"^8.57.0","jest":"^29.7.0","prettier":"^3.2.5","ts-jest":"^29.1.2","typescript":"^5.3.3"},"_id":"@ashirbad/js-core@1.0.6","gitHead":"305e9f5e127b743135349db8b2940d9f2c220c9d","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-HXOH61TPaX5kbnKF00ZRGtqUXAcqY+xELRg0lwMm+EEgWFNfENOQ3wuH3X4u6dblgxo+eSmDHcBjJ5y1r/Q3oA==","shasum":"b8fe62866ceaf0351b786f093da24e103c7d7d08","tarball":"https://registry.npmjs.org/@ashirbad/js-core/-/js-core-1.0.6.tgz","fileCount":16,"unpackedSize":27865,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAbJH7CyPnOLf142eDqKxY9sZalX89hxecXhpqwCmNWzAiBrR6Nr1FMmoxvB46/FIGr40e+q4uLjCQiH2oit9N1Eog=="}]},"_npmUser":{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"},"directories":{},"maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js-core_1.0.6_1739010979518_0.38101123420836824"},"_hasShrinkwrap":false}},"time":{"created":"2021-10-08T01:28:38.431Z","modified":"2025-02-08T10:36:19.902Z","1.0.0":"2021-10-08T01:28:38.845Z","1.0.1":"2021-10-09T15:56:48.893Z","1.0.2":"2021-10-10T13:52:46.312Z","1.0.3":"2021-10-26T02:23:46.779Z","1.0.4":"2021-11-22T10:40:42.787Z","1.0.5":"2022-07-15T02:14:44.044Z","1.0.6":"2025-02-08T10:36:19.712Z"},"bugs":{"url":"https://github.com/AshirbadGudu/js-core/issues"},"author":{"name":"Ashirbad Panigrahi"},"license":"ISC","homepage":"https://github.com/AshirbadGudu/js-core#readme","keywords":["js","javascript","js-core","utility","helper","firebase","firebase-utils","firebase-realtime-database","array","typescript"],"repository":{"type":"git","url":"git+https://github.com/AshirbadGudu/js-core.git"},"description":"A set of js core utility functions","maintainers":[{"name":"ashirbad","email":"ashirbadapanigrahi@gmail.com"}],"readme":"# @ashirbad/js-core\n\n<div align=\"center\">\n  <h1>\n    <code>@ashirbad/js-core</code>\n  </h1>\n\n  <div>A lightweight, type-safe JavaScript utility library with zero dependencies.</div>\n\n  <br />\n\n  <!-- Badges -->\n\n[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/AshirbadGudu/js-core/issues)\n[![Maintained](https://badgen.net/badge/Maintained%20%3F/Yes%21/blue?icon=github)](https://github.com/AshirbadGudu/js-core/issues)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/@ashirbad/js-core)\n![npm](https://img.shields.io/npm/v/@ashirbad/js-core)\n![Downloads](https://img.shields.io/npm/dt/@ashirbad/js-core)\n![Test Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)\n![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue)\n\n  <br />\n\n  <pre>npm i <a href=\"https://www.npmjs.com/package/@ashirbad/js-core\">@ashirbad/js-core</a></pre>\n\n  <br />\n</div>\n\n## Features\n\n- 🚀 **Zero Dependencies** - Lightweight and efficient\n- 💪 **Type Safe** - Written in TypeScript with full type definitions\n- 🔥 **Firebase Ready** - Built-in Firebase utilities\n- 💰 **Currency Formatting** - Support for 160+ currencies\n- 📅 **Date Utilities** - Comprehensive date manipulation tools\n- ✨ **Modern** - ES6+ ready\n- 🧪 **Well Tested** - 100% test coverage\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [API Reference](#api-reference)\n  - [Array Utilities](#array-utilities)\n  - [Currency Utilities](#currency-utilities)\n  - [Date Utilities](#date-utilities)\n- [Examples](#examples)\n- [TypeScript Support](#typescript-support)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\n### npm\n\n```bash\nnpm install @ashirbad/js-core\n```\n\n### yarn\n\n```bash\nyarn add @ashirbad/js-core\n```\n\n### pnpm\n\n```bash\npnpm add @ashirbad/js-core\n```\n\n## Usage\n\nImport the functions you need:\n\n```typescript\nimport { formatCurrency, getDatesBetween } from '@ashirbad/js-core';\n```\n\n## API Reference\n\n### Array Utilities\n\n#### `getArrFromObj(object: Record<string, any>, key?: string): Array<any>`\n\nConverts an object to an array with customizable ID field.\n\n```typescript\nconst obj = { '1': { name: 'John' }, '2': { name: 'Jane' } };\nconst arr = getArrFromObj(obj); // [{ id: \"1\", name: \"John\" }, { id: \"2\", name: \"Jane\" }]\n```\n\n#### `getArrFromSnap(snapshot: FirebaseSnapshot, key?: string): Array<any>`\n\nConverts a Firebase snapshot to an array.\n\n```typescript\nconst arr = getArrFromSnap(snapshot); // [{ id: \"doc1\", ...data }]\n```\n\n#### `getArrFromNestedSnap(snapshot: FirebaseSnapshot, primaryKey?: string, secondaryKey?: string): Array<any>`\n\nFlattens a nested Firebase snapshot into a single array. Useful for handling nested collections in Firebase.\n\n```typescript\n// Example Firebase nested data\nconst snapshot = {\n  val: () => ({\n    store1: {\n      order1: { product: 'A', quantity: 1 },\n      order2: { product: 'B', quantity: 2 },\n    },\n    store2: {\n      order3: { product: 'C', quantity: 3 },\n    },\n  }),\n  exists: () => true,\n};\n\n// Default keys\nconst result1 = getArrFromNestedSnap(snapshot);\n/* Output:\n[\n  { id: 'order1', _id: 'store1', product: 'A', quantity: 1 },\n  { id: 'order2', _id: 'store1', product: 'B', quantity: 2 },\n  { id: 'order3', _id: 'store2', product: 'C', quantity: 3 }\n]\n*/\n\n// Custom keys\nconst result2 = getArrFromNestedSnap(snapshot, 'orderId', 'storeId');\n/* Output:\n[\n  { orderId: 'order1', storeId: 'store1', product: 'A', quantity: 1 },\n  { orderId: 'order2', storeId: 'store1', product: 'B', quantity: 2 },\n  { orderId: 'order3', storeId: 'store2', product: 'C', quantity: 3 }\n]\n*/\n```\n\n### Currency Utilities\n\n#### `formatCurrency(amount: number, currency?: currency): string`\n\nFormats a number as currency with proper localization.\n\n```typescript\nformatCurrency(1000); // \"₹1,000.00\"\nformatCurrency(1000, 'USD'); // \"$1,000.00\"\nformatCurrency(1000, 'EUR'); // \"€1,000.00\"\n```\n\nSupports 160+ currencies including:\n\n- USD (US Dollar)\n- EUR (Euro)\n- GBP (British Pound)\n- JPY (Japanese Yen)\n- And many more...\n\n### Date Utilities\n\n#### `getFutureDays(numberOfDays?: number): Date[]`\n\nReturns an array of future dates.\n\n```typescript\ngetFutureDays(3); // Next 3 days as Date objects\n```\n\n#### `getDayName(dayIndex?: number): string`\n\nGets the name of a day by index (0-6).\n\n```typescript\ngetDayName(1); // \"Monday\"\ngetDayName(); // Current day name\n```\n\n#### `getDatesBetween(startDate: Date, endDate: Date, includeEndDate?: boolean): Date[]`\n\nReturns an array of dates between two dates.\n\n```typescript\nconst dates = getDatesBetween(new Date('2024-01-01'), new Date('2024-01-05'));\n```\n\n## TypeScript Support\n\nThis library is written in TypeScript and includes type definitions. Types are automatically imported when using TypeScript.\n\n```typescript\nimport { currency } from '@ashirbad/js-core';\n\nconst price: number = 1000;\nconst formattedPrice: string = formatCurrency(price, 'USD');\n```\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n1. Fork the repository\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\n\nThis project is licensed under the ISC License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- Star this repository\n- Report issues\n- Submit Pull Requests\n- Spread the word\n\n---\n\nMade with ❤️ by [Ashirbad Panigrahi](https://github.com/AshirbadGudu)\n","readmeFilename":"README.md"}