Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
vague-time
Advanced tools
A tiny library that formats precise time differences as a vague/fuzzy time, e.g. '3 months ago', 'just now' or 'in 2 hours'.
A tiny JavaScript library that formats precise time differences as a vague/fuzzy time, e.g. '3 months ago', 'just now' or 'in 2 hours'.
If this project isn't quite what your'e looking for, you may be interested in vagueTime's big sister, vagueDate.js. Or if you would like to parse vague time strings rather than generate them, you should try Matthew Mueller's date or Tim Wood's moment.
npm install vague-time
jam install vague-time
git clone git@github.com:philbooth/vagueTime.js.git
Both
CommonJS
(e.g.
if you're running on Node.js
or if you're in the browser with Browserify)
and AMD
(e.g. if you're using Require.js)
loading styles are supported.
If neither system is detected,
the library defaults to
exporting it's interface globally
as vagueTime
.
vagueTime.js exports a single public function, get
,
which returns a vague time string
based on the argument(s) that you pass it.
The arguments are passed as properties on a single options object.
The optional property from
is a timestamp or Date
instance
denoting the origin point from which the vague time will be calculated,
defaulting to Date.now()
if undefined.
The optional property to
is a timestamp or Date
instance
denoting the target point to which the vague time will be calculated,
defaulting to Date.now()
if undefined.
The optional property units
is a string,
denoting the units that the from
and to
timestamps are specified in,
either 's'
for seconds or 'ms'
for milliseconds,
defaulting to 'ms'
if undefined.
This property has no effect
when from
and to
are Date
instances
rather than timestamps.
Essentially, if to
is less than from
the returned vague time will
indicate some point in the past. If to
is greater than from
it will
indicate some point in the future.
vagueTime.get({
from: 60,
to: 0,
units: 's'
}); // returns '1 minute ago'
vagueTime.get({
from: 0,
to: 60,
units: 's'
}); // returns 'in 1 minute'
vagueTime.get({
from: 7200,
to: 0,
units: 's'
}); // returns '2 hours ago'
vagueTime.get({
from: 0,
to: 7200,
units: 's'
}); // returns 'in 2 hours'
vagueTime.get({
from: new Date(2013, 0, 1)
to: new Date(2012, 11, 31)
}); // returns '1 day ago'
The build environment relies on
Node.js,
NPM,
Jake,
JSHint,
Mocha,
Chai and
UglifyJS.
Assuming that you already have Node.js and NPM set up,
you just need to run npm install
to install all of the dependencies as listed in package.json
.
The unit tests are in test/vagueTime.js
.
You can run them with the command npm test
or jake test
.
To run the tests in a web browser,
open test/vagueTime.html
.
FAQs
A tiny library that formats precise time differences as a vague/fuzzy time.
The npm package vague-time receives a total of 97 weekly downloads. As such, vague-time popularity was classified as not popular.
We found that vague-time demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.