Napoleon's Penguin Mascot
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    datifypublic

    datify

    datify your objects.

    Build Status

    Browser Build Status

    how

    > npm install datify

    Datify = rquire('datify');
     
    Datify('2011-09-13T17:09:30.909Z').should.eql(new Date('2011-09-13T17:09:30.909Z'));
     
    Datify("not a date").should.eql("not a date");
     
    Datify({a: {b: '2011-09-13T17:09:30.909Z'}, c:32})
    .should.eql({a: {b: new Date('2011-09-13T17:09:30.909Z')}, c:32});

    non-conservative

    Datify, by default, will parse only simple ISO strings ('2011-09-13T17:09:30.909Z', '2011-09-13T17:09:30Z'), it has a mode where everything that can be parsed to Date is parsed to date. Just:

    Datify.options.conservative = false

    And then:

    Datify("2000").toISOString().should.eql('2000-01-01T00:00:00.000Z');

    why

    Suppose you are building an API, and you receive a JSON. You want to parse & save that JSON to the DB - but your dates are strings (the JSON way). So what you do is store the datifyed version. You might:

    collection.insert(datify(JSON.parse(payload)), function(){ /* do something*/ });

    Suppose you are using an API (from the browser, for example), that have dates in it, as strings (it is JSON, after all) - you just datify it.

    apiResult = datify(apiResult);

    test

    > npm install
    > make test

    test on your favorite browser

    > npm install
    > make browserify-test

    open browserTest.html in your favorite browser, for example:

    > firefox ./browserTest.html 

    Keywords

    install

    npm i datify

    Downloadsweekly downloads

    24

    version

    0.1.0

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar