{"id":18600808,"url":"https://github.com/octet-stream/minuette","last_synced_at":"2025-06-29T07:37:44.770Z","repository":{"id":40790738,"uuid":"116872092","full_name":"octet-stream/minuette","owner":"octet-stream","description":"⏳A job scheduler with elegant syntax","archived":false,"fork":false,"pushed_at":"2023-01-03T17:54:21.000Z","size":698,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-14T09:03:24.236Z","etag":null,"topics":["chainable","chainable-interface","dependency-free","javascript","javascript-library","job-scheduler","library"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/minuette","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/octet-stream.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-09T21:20:54.000Z","updated_at":"2022-09-22T10:44:41.000Z","dependencies_parsed_at":"2023-02-01T08:31:20.935Z","dependency_job_id":null,"html_url":"https://github.com/octet-stream/minuette","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/octet-stream/minuette","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octet-stream%2Fminuette","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octet-stream%2Fminuette/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octet-stream%2Fminuette/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octet-stream%2Fminuette/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/octet-stream","download_url":"https://codeload.github.com/octet-stream/minuette/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octet-stream%2Fminuette/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262558527,"owners_count":23328549,"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","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":["chainable","chainable-interface","dependency-free","javascript","javascript-library","job-scheduler","library"],"created_at":"2024-11-07T02:05:43.507Z","updated_at":"2025-06-29T07:37:44.752Z","avatar_url":"https://github.com/octet-stream.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minuette\n\n⏳ A job scheduler with elegant syntax.\n\n🚧 Project currently is still in development. Documentation and more features will be delivered soon!\n\n[![devDependencies Status](https://david-dm.org/octet-stream/minuette/dev-status.svg)](https://david-dm.org/octet-stream/minuette?type=dev)\n[![Build Status](https://travis-ci.org/octet-stream/minuette.svg?branch=master)](https://travis-ci.org/octet-stream/minuette)\n[![Code Coverage](https://codecov.io/github/octet-stream/minuette/coverage.svg?branch=master)](https://codecov.io/github/octet-stream/minuette?branch=master)\n\n\n## Installation\n\nYou can install minuette using Yarn:\n\n```\nyarn add minuette\n```\n\nor NPM:\n\n```\nnpm i minuette\n```\n\n## API\n\n**Public**\n\n### `constructor Minuette()`\n\nCreates a new instance of minuette. Can be called as a regular function.\nNote that minuette sets date and time relative to your system date/time parameters.\n\n#### Instance methods\n\n##### `.once(dateOrDay) -\u003e {Minuette}`\n\nSets a Job destination date using given day of week or date.\n\n  * **{string}** dateOrDay – timer destination date or day of week\n\n##### `.at(time) -\u003e {Minuette}`\n\nSets a time to run action.\n\n  * **{string}** time – destination time in 24 or 12-hour format\n\n##### `.do(action, args, ctx) -\u003e {Job}`\n\n  * **{function}** action – function to execute\n  * **{any[]?}** [args = []] – arguments to call function with\n  * **{any?}** [ctx = null] – \"this\" context to set to the function\n\n#### Usage\n\nMinimal example of usage:\n\n```js\nimport minuette from \"minuette\"\n\n// Will execute given functinon at next nearest friday at 21 hour.\nminuette().once(\"friday\").at(\"9pm\").do(() =\u003e console.log(\"Hello, world!\"))\n```\n\nAn example with absolute date:\n\n```js\nimport minuette from \"minuette\"\n\n// Will execute given action at next 31 Oct, in 23:00\nminuette().once(\"31 Oct\").at(\"23:00\").do(() =\u003e console.log(\"Boooo!\"))\n```\n\nYou can optionally omit setting of a date or time. In this case, minuette will\nuse current date or time.\n\nFor example:\n\n```js\nimport minuette from \"minuette\"\n\n// Will execute this action in same day as `new Date()`\nminuette().at(\"10pm\").do(() =\u003e console.log(\"This message appears in 22 hour\"))\n```\n\n## Roadmap\n\n- [x] Parsers for days of week, date and time (both for 12h and 24h formats);\n- [x] `.once()`, `.at()` and `.do()` methods for proof-of-concept implementation;\n- [x] Minimal implementation for Job that supports big idle intervals for setTimeout;\n- [ ] `.repeat()` and `.each()` methods + supports of executing actions many times\n- [ ] Documentation (in progress)\n- [ ] Method `.in()` that will support alternative time or date setting relative to `Date.now()`\n- [ ] Additional public API for Job: Methods `.pause()`, `.resume()`, `.stop()` and `.reset()`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctet-stream%2Fminuette","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foctet-stream%2Fminuette","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctet-stream%2Fminuette/lists"}