{"id":16070770,"url":"https://github.com/amoshydra/time-chainer","last_synced_at":"2025-04-05T10:15:15.390Z","repository":{"id":35084193,"uuid":"168687294","full_name":"amoshydra/time-chainer","owner":"amoshydra","description":"Create your milliseconds declaratively!","archived":false,"fork":false,"pushed_at":"2024-04-08T13:51:30.000Z","size":225,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-14T13:55:32.425Z","etag":null,"topics":["chaining","duration","milliseconds","time"],"latest_commit_sha":null,"homepage":"https://npm.runkit.com/time-chainer","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/amoshydra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-01T11:23:08.000Z","updated_at":"2024-04-07T15:31:41.000Z","dependencies_parsed_at":"2024-10-10T22:47:34.826Z","dependency_job_id":null,"html_url":"https://github.com/amoshydra/time-chainer","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshydra%2Ftime-chainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshydra%2Ftime-chainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshydra%2Ftime-chainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshydra%2Ftime-chainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amoshydra","download_url":"https://codeload.github.com/amoshydra/time-chainer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318746,"owners_count":20919483,"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":["chaining","duration","milliseconds","time"],"created_at":"2024-10-09T07:07:05.829Z","updated_at":"2025-04-05T10:15:15.363Z","avatar_url":"https://github.com/amoshydra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Time Chainer\nCreate your milliseconds declaratively!\n\n[![CircleCI](https://circleci.com/gh/amoshydra/time-chainer.svg?style=svg)](https://circleci.com/gh/amoshydra/time-chainer)\n[![Known Vulnerabilities](https://snyk.io/test/github/amoshydra/time-chainer/badge.svg?targetFile=package.json)](https://snyk.io/test/github/amoshydra/time-chainer?targetFile=package.json)\n[![Maintainability](https://api.codeclimate.com/v1/badges/da62ee9d8b8afac74f9d/maintainability)](https://codeclimate.com/github/amoshydra/time-chainer/maintainability)\n[![codecov](https://codecov.io/gh/amoshydra/time-chainer/branch/master/graph/badge.svg)](https://codecov.io/gh/amoshydra/time-chainer)\n\n[![npm](https://nodei.co/npm/time-chainer.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://www.npmjs.com/package/time-chainer)\n\n\n# Install\n```sh\nnpm install --save time-chainer\n```\n\nor\n\n```sh\nyarn add time-chainer\n```\n\n# Example\n\n```js\nimport Time from 'time-chainer';\n\n// Do something after 5 seconds\nsetTimeout(() =\u003e {\n  doSomething();\n\n}, +Time.seconds(5));\n\n// 3 Days and 12 hours later from now\nnew Date(\n  new Date() + (\n    Time\n      .days(3)\n      .hours(12)\n  )\n);\n\n// 1 week + 15 days + 12 hours + 30 minutes + 30 seconds + 500 milliseconds\nTime\n  .milliseconds(500)\n  .seconds(30)\n  .minutes(30)\n  .hours(12)\n  .days(15)\n  .weeks(1)\n; // 1,945,830,500\n```\n\n## `TimeChainer` extends `Number`\n\nTime Chainer extends `Number` object. In cases where a primitive number is strictly required, you will need to explicitly convert it to a primitive `number` by appending a `+` operator like this:\n\n```js\njest.advanceTimersByTime(+Time.days(30));\n```\n\nSee details:\n\n```js\nTime.seconds(5) instanceof Number // true\ntypeof Time.seconds(5) // \"object\"\ntypeof +Time.seconds(5) // \"number\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoshydra%2Ftime-chainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famoshydra%2Ftime-chainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoshydra%2Ftime-chainer/lists"}