{"_id":"calendarize","_rev":"4-0d30ad99a39d16adc6595b47412c747d","name":"calendarize","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.0":{"version":"0.0.0","name":"calendarize","repository":{"type":"git","url":"git+https://github.com/lukeed/calendarize.git"},"description":"WIP","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"keywords":[],"scripts":{"build":"bundt","test":"tape -r esm test/*.js | tap-spec"},"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"bugs":{"url":"https://github.com/lukeed/calendarize/issues"},"homepage":"https://github.com/lukeed/calendarize#readme","_id":"calendarize@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-84QS7dLGzg1s0JE1WwdbT2jk/MhUAMov/FR8aqX5sIiTxehVEu7GthCnfEgcmimmVCc/QJuGCiOBRh5xvEXbXA==","shasum":"56c39bdc581d8840ae391bf369a6dce72c59a084","tarball":"https://registry.npmjs.org/calendarize/-/calendarize-0.0.0.tgz","fileCount":4,"unpackedSize":5243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJnOWCRA9TVsSAnZWagAAs9YP/2yYkc5rW2g438Y3v8jr\n9TqmlNUd5cPsOOycrGd7ZcgE1ZsjLQUw36O3Iunnz/nyD/2gFeo0B3LshQDi\n0dx6X+rTJk7EpIfq6wQTDONKrxuZZ92pznryntWv1HXu4MF3Sq1h6rjls4Wc\nq2arMwRPVfBVAHBTV0XrWG/T+n5BnUJazvORv4jqgSwPrS20QRSlsYokwDCO\nrmKGfUxfHR7c9eB9mP0GDIlamlMXm3bw4DZY5OVPXN5sCQTpO+eAW/352m/A\nOTGdbQ3zW86PLWToHYRdRrmSVYsykGKm0SC1EMblpuv/yUiaHhVU7i4oSOZv\nStaRgwmaOSXxalkgmDOti10gfZR8w9TumgGb2XqVdA7ZqK4uMiQLidcXD+E5\njD3s6hFd0Gzu+cGvu0wWsnFISEQhutUs0/0FLoDbGrMlLIhU3BVy/AB8ODTp\nrqWfdlpFf234b31S/Ahdhu0EeL0g4bHHa6pm6MqFPBJm/hvv/teWJLcTlIbo\nmTux5dICE6PVW+Xd7k4KaJHA7AkGEYw4+uuutTw6XkjdZqmx6rXxOrID39JH\nP9//x8mMCE/X76Bv7Nw7znyeHJH9LGYgI6DNIVseXXSz8auBx+ATxqScgzzJ\nnGqG1gJjKAadJy8vGzWmSa8jkG7Q1YaD7aq8DIdmWZwKjJ4pz8LeQnrWUrkO\nBOWq\r\n=+5iD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDrqi4I7EiawsPT1ouY059ey6931PoAac/iGNWcC1LcoAiEAs0LvlWl9Xsr432JOnHA2ctzKSsw4W/CVs+ea0VZy/w8="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/calendarize_0.0.0_1579578261710_0.9580762834983212"},"_hasShrinkwrap":false},"1.0.0":{"version":"1.0.0","name":"calendarize","repository":{"type":"git","url":"git+https://github.com/lukeed/calendarize.git"},"description":"A tiny (196B) utility to generate calendar views","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"keywords":["calendar","utils","date"],"scripts":{"build":"bundt","test":"tape -r esm test/*.js | tap-spec"},"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"b0ac11b25278674b7ecc2f21ee94bfe6d69f9ac4","bugs":{"url":"https://github.com/lukeed/calendarize/issues"},"homepage":"https://github.com/lukeed/calendarize#readme","_id":"calendarize@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-YzFTv5+xwNVsj4XH8ZzaDc8fM9rZhqhb4ZXa1ZJDEUWPNkXzYgIZjFrOiMSwQ54rv05ejP6kAqJxdyqK4dtRKw==","shasum":"6de2b28c1e4d97a19ef7b2b371d676986fbc5c53","tarball":"https://registry.npmjs.org/calendarize/-/calendarize-1.0.0.tgz","fileCount":7,"unpackedSize":5466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJop4CRA9TVsSAnZWagAAgAUP/RmwtrWe/wSnLiDHEn8c\nx/lc6o7O/7SF2r1S9iuZUu9tZJYoUvrGmWnxInpx/L3ylXu4Y8aMT3L2NO0n\nEvqFe06bidlswQ5/dXbpEvX2NYh7GzPZNnI7ZO8+MILKkrNqnGGIhSCeHLhz\nRMxh3Fcibn3eRF7jPSAkOezFe8HRtL07NbPJN+HDQwt2ytnuvpZPZFnlgEy5\nJa9ouxbE8XXWWH6JRu7us+3UJojtr7P4Jeh47LBIX39+Cc7BGPVruEt6/68f\nR5Fwait42Brq7bEvyBhpeZIJAWIFfUBxaI9VtgilunYWjZA17wBwdq1J+Ea/\nVZFbSH2bPlFJ2Nrr9pFfCN1342w/IJlqJvOU4VkUuSILK61YQElTTvb52SCU\nAQfv7UeblyJlq0j+OyYv5se+gBMfBAx/oUK9nY4/HZ6xZAL4+BbK6MaX1e4w\n3JstFgzK5U4p8erOijZNIHO1kkChmWkJfIG1YeOA6xIPZ7sh/aXeJfahXZ1N\ndqzyT3YumNOpBwbon1C14WjkrczmEzthKj601h9N83cRV3OtKfSbT0ofYLz8\nOb3HHzKeShecgwhUK9ruhoe0M3pZLASYtN6pWgD+gxymfEBpXs4Vuo2TP7Pl\neWHLpYpp0z0Xfjf8Ims7jJoPCDCZqnbqI9tW4JTnZeTIIzlSUEFUDD8+QKHr\noHg8\r\n=Isav\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDV8O+YSgbgJ4XsgF6wdr8js4PkRe8HmzFKOg9KZLVaUgIgWX95+NcAgY9jhITFkXPtzd2TwuVtQaRftrpOQo9qXyQ="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/calendarize_1.0.0_1579584119945_0.13815390757471468"},"_hasShrinkwrap":false},"1.1.0":{"version":"1.1.0","name":"calendarize","repository":{"type":"git","url":"git+https://github.com/lukeed/calendarize.git"},"description":"A tiny (204B) utility to generate calendar views","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"keywords":["calendar","utils","date"],"scripts":{"build":"bundt","test":"tape -r esm test/*.js | tap-spec"},"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"96789d7d849057a61f7222c25480be15211c3899","bugs":{"url":"https://github.com/lukeed/calendarize/issues"},"homepage":"https://github.com/lukeed/calendarize#readme","_id":"calendarize@1.1.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-6O8VvFhVdl0UoKMMTAwVWY6TfOjVqNuIz/QnA2FUuXiqOjKEQYhL+J7LEJaqIgq0GT5Px671OX6bPJjczbIrXg==","shasum":"03760d1a9d5bd80c0056feaa2cf50302a7cbbf13","tarball":"https://registry.npmjs.org/calendarize/-/calendarize-1.1.0.tgz","fileCount":7,"unpackedSize":7497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ3aeCRA9TVsSAnZWagAA0b4P/i0toZ9nmbtvxp3tQFpd\nCIDgYicIi85ln3YILBkLQpAGVPfKlfCG0xtemIBAq4esa4bHFGJSxKisEO1Z\nnNIa+kIhnBjDua3dTbT98CvT5RDDRGMMZHkbV7vARJBkZhyN5ab9EXtwIIiw\nu/h2u3NEK9CyjmCwwjUHI6N54vl+PW9RsOP3cZvlIxz3Zx/XwVM28Lwi5pA+\n3qPaThABTJiGFWo8vUSKizbe63KuCMbq7hjwD2dY7mIy8CUJveY3Bmh+nNVT\nYK6xwSs0Y+J8zRpnnan97srrEHpw4FKOePHrxxuqUPw5Rp+3qJ8AtgvKu2KL\nco9N1GkESCv93IM1YZHt0B8UXUi9y7HGJWVdOaKu+t3PmO6kKgPo6bLAwrDi\nFOJq0l54fXvObpPstz3fJDaM2LfiOzHRjiLOMaEDTw4C4U+84IJeZ8dxnTgD\n8PqHyDUpzKyNip4lGZwcvoWJzsHCl7IMgfxgcABCgCvtj6bdxR6kW0CDKrcm\n3+SiQOy+TnjgTcqHSkmuvY7X9GHCEv2NtVvN4FdNAgEaL9S62LISvrHTCgVc\nSvk9qHV+aArOJpppNeJw01IwfURmbBLz7DwlBYJXO14nH79HiwPEkb+GjEKf\nUBVp8LRUwA96bpdhYD57Oo1kVoioVjmTsyGtCyhjWwmRaYaRciVu4yFmW49y\nj4wg\r\n=VSif\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGClL2LsaqRfFwzJohuVtHh65kbAlYSLRKvetLd7dt7xAiAlhZDl+hS782k+4m3gXdxmR2g1tKM5jbD6QtHyanlbqw=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/calendarize_1.1.0_1579644574384_0.4523892735042363"},"_hasShrinkwrap":false},"1.1.1":{"version":"1.1.1","name":"calendarize","repository":{"type":"git","url":"git+https://github.com/lukeed/calendarize.git"},"description":"A tiny (202B) utility to generate calendar views","module":"dist/index.mjs","unpkg":"dist/index.min.js","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"keywords":["calendar","utils","date"],"scripts":{"build":"bundt","test":"tape -r esm test/*.js | tap-spec"},"devDependencies":{"bundt":"0.4.0","esm":"3.2.25","tap-spec":"5.0.0","tape":"4.13.0"},"gitHead":"659764e53107d923b8219b0b7a8c4b71f763a1a8","bugs":{"url":"https://github.com/lukeed/calendarize/issues"},"homepage":"https://github.com/lukeed/calendarize#readme","_id":"calendarize@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-C2JyBAtNp2NG4DX4fA1EILggLt/5PlYzvQR0crHktoAPBc9TlIfdhzg7tWekCbe+pH6+9qoK+FhPbi+vYJJlqw==","shasum":"0fa8b8de6b5e6ff9f9fbb89cc3a8c01aace291c2","tarball":"https://registry.npmjs.org/calendarize/-/calendarize-1.1.1.tgz","fileCount":7,"unpackedSize":7485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKdwiCRA9TVsSAnZWagAAI9IP/iT/12cEroxh9T6a9Wbj\nUTiELzRVm9ptlsXzdextjcgbpV2erTiKwiMHMFWYQRIeppT2WbiAne2CIOQQ\nvbcd6rZ0p/iqYFUF+jd33Vr7x+yFHGEkBTUk2fy+BulLKnXxJ4rl97Twc83V\nJoY7uumJ9G/gVUDVNeARfR6L5KjEAZthdjHJtzJ4Ho/434hNMKP6V6eHYe+y\ny6fj2SPxYQuHvghmryaWYgT7Z13igm0z7wRPlqMiHuFDZeRXDTZFpKSbEYXW\n8jiulFYONliLhOf6Xv9LQykaWgIvY0XEryMKNS4bDqi/iRjLTUtpU3aMkKXW\n9E/9mQ0ERsFZDbc9ZjF3vDMhNaQ5dEiwvcPq1o/QbEYO4C3YqfJBy+NgUMq8\ngfBA7ZZU3N6vBd+QZtv0D/iMy6qB/SQwA/UgQrlz2SBic5egab8FPseLpeBr\nEPiFOe7D4BbO7T5WYNrpebDHIrXhqPY2uaR0l0lcFwLwaebkM+D8XXrRJJIt\nYyVec8rFg1aXYYuUGwHGGJ5iW7H/BbZeqHfxpj1oJFifg3nr/eehbTmz+Qpt\nXRuTpFDPv+C3O8KuScODNhkg9qfB+9VX9q0RAOFcXpgBt6MWM0r/jF99fVyV\nWFggA1ZJjejptLRLxTtsLcMkavFtTxnWSOHcGtN8F51JT8hkAxwn7JP19qA1\nm+XV\r\n=DhHa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuYaqF8t+xZ8Gsc1H6dEwqt8Y426P0w86HvUfVPTfoJQIgc1zmX41jAUnj+dgFLLjmbePXcpLwsq9dGz+xPVG1iho="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/calendarize_1.1.1_1579801633734_0.6083481389250371"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-21T03:44:21.710Z","0.0.0":"2020-01-21T03:44:21.881Z","modified":"2022-04-12T05:04:59.169Z","1.0.0":"2020-01-21T05:22:00.086Z","1.1.0":"2020-01-21T22:09:34.559Z","1.1.1":"2020-01-23T17:47:13.836Z"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"description":"A tiny (202B) utility to generate calendar views","homepage":"https://github.com/lukeed/calendarize#readme","keywords":["calendar","utils","date"],"repository":{"type":"git","url":"git+https://github.com/lukeed/calendarize.git"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"bugs":{"url":"https://github.com/lukeed/calendarize/issues"},"license":"MIT","readme":"# calendarize [![build status](https://badgen.net/github/status/lukeed/calendarize)](https://github.com/lukeed/calendarize/actions) [![codecov](https://badgen.now.sh/codecov/c/github/lukeed/calendarize)](https://codecov.io/gh/lukeed/calendarize)\n\n> A tiny (202B) utility to generate calendar views.\n\nThis function (optionally) accepts a date in exchange for a calendar view of that date's month.\n\n**The output contains no labels!** This is ideal for calendar generator because it allows the developer to easily customize their labels, including full i18n/internationalization support! ([Demo](https://codepen.io/lukeed/pen/KKwrLRz))\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/calendarize.mjs`](https://unpkg.com/calendarize/dist/index.mjs)\n* **CommonJS**: [`dist/calendarize.js`](https://unpkg.com/calendarize/dist/index.js)\n* **UMD**: [`dist/calendarize.min.js`](https://unpkg.com/calendarize)\n\n\n## Install\n\n```\n$ npm install --save calendarize\n```\n\n\n## Usage\n\n***via Date Instance***\n\n```js\nimport calendarize from 'calendarize';\n\n// Week = [Sun, Mon, Tue, Wed, Thu, Fri, Sat]\nconst view = calendarize(new Date('2019-12-20'));\n//=> [\n//=>   [ 1,  2,  3,  4,  5,  6,  7],\n//=>   [ 8,  9, 10, 11, 12, 13, 14],\n//=>   [15, 16, 17, 18, 19, 20, 21],\n//=>   [22, 23, 24, 25, 26, 27, 28],\n//=>   [29, 30, 31,  0,  0,  0,  0],\n//=> ]\n```\n\n***via Date String***\n\n```js\nimport calendarize from 'calendarize';\n\n// Week = [Sun, Mon, Tue, Wed, Thu, Fri, Sat]\nconst view = calendarize('Nov 01, 2019');\n//=> [\n//=>   [ 0,  0,  0,  0,  0,  1,  2],\n//=>   [ 3,  4,  5,  6,  7,  8,  9],\n//=>   [10, 11, 12, 13, 14, 15, 16],\n//=>   [17, 18, 19, 20, 21, 22, 23],\n//=>   [24, 25, 26, 27, 28, 29, 30],\n//=> ]\n```\n\n\n***with Weeks starting on Monday***\n\n> **Note:** Uses the [`offset`](#offset) parameter.\n\n```js\nimport calendarize from 'calendarize';\n\n// Week = [Mon, Tue, Wed, Thu, Fri, Sat, Sun]\nconst view = calendarize('Nov 01, 2019', 1);\n//=> [\n//=>   [ 0,  0,  0,  0,  1,  2,  3],\n//=>   [ 4,  5,  6,  7,  8,  9, 10],\n//=>   [11, 12, 13, 14, 15, 16, 17],\n//=>   [18, 19, 20, 21, 22, 23, 24],\n//=>   [25, 26, 27, 28, 29, 30,  0],\n//=> ]\n```\n\n\n## API\n\n### calendarize(date?, offset?)\nReturns: `Array<Week>`\n\nAn Array of `Week` Arrays is returned.\n\nEach `Week` is an Array of 7 numbers, wherein each **index** is the `Day` of the week and each **value** is the numerical date. <br>The index is forwarded from [`Date.getDay`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay), which means that **index: 0** is Sunday.\n\n> **Important:** A **value** of zero (`0`) represents a date that exists beyond the current month view.\n\n#### date\nType: `string` | `number` | `Date`<br>\nDefault: `new Date()` – aka, today\n\nThe date you want to process.\n\n> **Important**: Your `string|number` value will be cast to a `Date` object, which means Node.js may apply incorrect timezone!\n\n#### offset\nType: `number`<br>\nDefault: `0`\n\nA positive or negative day offset to modify which day of the week the calendar should start.<br>\nThis offset is ***relative to Sunday*** – so, by default, an offset of `0` will mean that your Weeks will start on Sundays.\n\n> **Note:** Some parts of the globe expect calendars to start on Sunday, Saturday, or Monday: [see map](https://i.redd.it/qcz8nu53lk231.png)\n\n***Example Offsets***\n\n* Monday: `1`\n* Tuesday: `2`\n* ...\n* Friday: `5` or `-2`\n* Saturday: `6` or `-1`\n\nIf you use `offset: 1`, this means you want the `Week`s to start on Monday. In turn, the 0th value of each `Week` array will be Monday's date.\n\n```js\n// The first week of Jan 2020:\n\n// start = Sunday (default)\ncalendarize('Jan 01, 2020');\n// =>    [[0, 0, 0, 1, 2, 3, 4], ...]\n// (days: [S, M, T, W, T, F, S])\n\n// start = Monday (offset: 1)\ncalendarize('Jan 01, 2020', 1);\n// =>    [[0, 0, 1, 2, 3, 4, 5], ...]\n// (days: [M, T, W, T, F, S, S])\n```\n\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md"}