Your IP : 216.73.216.86


Current Path : /home/emeraadmin/public_html/4d695/
Upload File :
Current File : /home/emeraadmin/public_html/4d695/performance-now.tar

src/performance-now.coffee000064400000001051151676726670011632 0ustar00if performance? and performance.now
  module.exports = -> performance.now()
else if process? and process.hrtime
  module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6
  hrtime = process.hrtime
  getNanoSeconds = ->
    hr = hrtime()
    hr[0] * 1e9 + hr[1]
  moduleLoadTime = getNanoSeconds()
  upTime = process.uptime() * 1e9
  nodeLoadTime = moduleLoadTime - upTime
else if Date.now
  module.exports = -> Date.now() - loadTime
  loadTime = Date.now()
else
  module.exports = -> new Date().getTime() - loadTime
  loadTime = new Date().getTime()
src/index.d.ts000064400000000332151676726670007261 0ustar00// This file describes the package to typescript.

/**
 * Returns the number of milliseconds since the page was loaded (if browser)
 * or the node process was started.
 */
declare function now(): number;
export = now;
package.json000064400000003660151676726670007066 0ustar00{
  "_from": "performance-now@^2.1.0",
  "_id": "performance-now@2.1.0",
  "_inBundle": false,
  "_integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
  "_location": "/performance-now",
  "_phantomChildren": {},
  "_requested": {
    "type": "range",
    "registry": true,
    "raw": "performance-now@^2.1.0",
    "name": "performance-now",
    "escapedName": "performance-now",
    "rawSpec": "^2.1.0",
    "saveSpec": null,
    "fetchSpec": "^2.1.0"
  },
  "_requiredBy": [
    "/raf"
  ],
  "_resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
  "_shasum": "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b",
  "_spec": "performance-now@^2.1.0",
  "_where": "C:\\xampp\\htdocs\\emeraltd\\node_modules\\raf",
  "author": {
    "name": "Braveg1rl",
    "email": "braveg1rl@outlook.com"
  },
  "bugs": {
    "url": "https://github.com/braveg1rl/performance-now/issues"
  },
  "bundleDependencies": false,
  "dependencies": {},
  "deprecated": false,
  "description": "Implements performance.now (based on process.hrtime).",
  "devDependencies": {
    "bluebird": "^3.4.7",
    "call-delayed": "^1.0.0",
    "chai": "^3.5.0",
    "chai-increasing": "^1.2.0",
    "coffee-script": "~1.12.2",
    "mocha": "~3.2.0",
    "pre-commit": "^1.2.2"
  },
  "homepage": "https://github.com/braveg1rl/performance-now",
  "keywords": [],
  "license": "MIT",
  "main": "lib/performance-now.js",
  "name": "performance-now",
  "optionalDependencies": {},
  "private": false,
  "repository": {
    "type": "git",
    "url": "git://github.com/braveg1rl/performance-now.git"
  },
  "scripts": {
    "build": "mkdir -p lib && rm -rf lib/* && node_modules/.bin/coffee --compile -m --output lib/ src/",
    "prepublish": "npm test",
    "pretest": "npm run build",
    "test": "mocha",
    "watch": "coffee --watch --compile --output lib/ src/"
  },
  "typings": "src/index.d.ts",
  "version": "2.1.0"
}
lib/performance-now.js000064400000002045151676726670011002 0ustar00// Generated by CoffeeScript 1.12.2
(function() {
  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;

  if ((typeof performance !== "undefined" && performance !== null) && performance.now) {
    module.exports = function() {
      return performance.now();
    };
  } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) {
    module.exports = function() {
      return (getNanoSeconds() - nodeLoadTime) / 1e6;
    };
    hrtime = process.hrtime;
    getNanoSeconds = function() {
      var hr;
      hr = hrtime();
      return hr[0] * 1e9 + hr[1];
    };
    moduleLoadTime = getNanoSeconds();
    upTime = process.uptime() * 1e9;
    nodeLoadTime = moduleLoadTime - upTime;
  } else if (Date.now) {
    module.exports = function() {
      return Date.now() - loadTime;
    };
    loadTime = Date.now();
  } else {
    module.exports = function() {
      return new Date().getTime() - loadTime;
    };
    loadTime = new Date().getTime();
  }

}).call(this);

//# sourceMappingURL=performance-now.js.map
lib/performance-now.js.map000064400000001677151676726670011570 0ustar00{
  "version": 3,
  "file": "performance-now.js",
  "sourceRoot": "..",
  "sources": [
    "src/performance-now.coffee"
  ],
  "names": [],
  "mappings": ";AAAA;AAAA,MAAA;;EAAA,IAAG,4DAAA,IAAiB,WAAW,CAAC,GAAhC;IACE,MAAM,CAAC,OAAP,GAAiB,SAAA;aAAG,WAAW,CAAC,GAAZ,CAAA;IAAH,EADnB;GAAA,MAEK,IAAG,oDAAA,IAAa,OAAO,CAAC,MAAxB;IACH,MAAM,CAAC,OAAP,GAAiB,SAAA;aAAG,CAAC,cAAA,CAAA,CAAA,GAAmB,YAApB,CAAA,GAAoC;IAAvC;IACjB,MAAA,GAAS,OAAO,CAAC;IACjB,cAAA,GAAiB,SAAA;AACf,UAAA;MAAA,EAAA,GAAK,MAAA,CAAA;aACL,EAAG,CAAA,CAAA,CAAH,GAAQ,GAAR,GAAc,EAAG,CAAA,CAAA;IAFF;IAGjB,cAAA,GAAiB,cAAA,CAAA;IACjB,MAAA,GAAS,OAAO,CAAC,MAAR,CAAA,CAAA,GAAmB;IAC5B,YAAA,GAAe,cAAA,GAAiB,OAR7B;GAAA,MASA,IAAG,IAAI,CAAC,GAAR;IACH,MAAM,CAAC,OAAP,GAAiB,SAAA;aAAG,IAAI,CAAC,GAAL,CAAA,CAAA,GAAa;IAAhB;IACjB,QAAA,GAAW,IAAI,CAAC,GAAL,CAAA,EAFR;GAAA,MAAA;IAIH,MAAM,CAAC,OAAP,GAAiB,SAAA;aAAO,IAAA,IAAA,CAAA,CAAM,CAAC,OAAP,CAAA,CAAJ,GAAuB;IAA1B;IACjB,QAAA,GAAe,IAAA,IAAA,CAAA,CAAM,CAAC,OAAP,CAAA,EALZ;;AAXL"
}.travis.yml000064400000000101151676726670006674 0ustar00language: node_js
node_js:
  - "node"
  - "6"
  - "4"
  - "0.12"
test/scripts.coffee000064400000002441151676726670010413 0ustar00Bluebird = require "bluebird"
exec = require("child_process").execSync
{assert} = require "chai"

describe "scripts/initital-value.coffee (module.uptime(), expressed in milliseconds)", ->
  result = exec("./test/scripts/initial-value.coffee").toString().trim()
  it "printed #{result}", ->
  it "printed a value above 100", -> assert.isAbove result, 100
  it "printed a value below 350", -> assert.isBelow result, 350

describe "scripts/delayed-require.coffee (sum of uptime and 250 ms delay`)", ->
  result = exec("./test/scripts/delayed-require.coffee").toString().trim()
  it "printed #{result}", ->
  it "printed a value above 350", -> assert.isAbove result, 350
  it "printed a value below 600", -> assert.isBelow result, 600

describe "scripts/delayed-call.coffee (sum of uptime and 250 ms delay`)", ->
  result = exec("./test/scripts/delayed-call.coffee").toString().trim()
  it "printed #{result}", ->
  it "printed a value above 350", -> assert.isAbove result, 350
  it "printed a value below 600", -> assert.isBelow result, 600

describe "scripts/difference.coffee", ->
  result = exec("./test/scripts/difference.coffee").toString().trim()
  it "printed #{result}", ->
  it "printed a value above 0.005", -> assert.isAbove result, 0.005
  it "printed a value below 0.07", -> assert.isBelow result, 0.07
test/performance-now.coffee000064400000002731151676726670012030 0ustar00chai = require "chai"
chai.use(require "chai-increasing")
{assert,expect} = chai
Bluebird = require "bluebird"

now = require "../"

getUptime = -> process.uptime() * 1e3

describe "now", ->
  it "reported time differs at most 1ms from a freshly reported uptime", ->
    assert.isAtMost Math.abs(now()-getUptime()), 1

  it "two subsequent calls return an increasing number", ->
    assert.isBelow now(), now()

  it "has less than 10 microseconds overhead", ->
    assert.isBelow Math.abs(now() - now()), 0.010

  it "can be called 1 million times in under 1 second (averaging under 1 microsecond per call)", ->
    @timeout 1000
    now() for [0...1e6]
    undefined

  it "for 10,000 numbers, number n is never bigger than number n-1", ->
    stamps = (now() for [1...10000])
    expect(stamps).to.be.increasing

  it "shows that at least 0.2 ms has passed after a timeout of 1 ms", ->
    earlier = now()
    Bluebird.resolve().delay(1).then -> assert.isAbove (now()-earlier), 0.2

  it "shows that at most 3 ms has passed after a timeout of 1 ms", ->
    earlier = now()
    Bluebird.resolve().delay(1).then -> assert.isBelow (now()-earlier), 3

  it "shows that at least 190ms ms has passed after a timeout of 200ms", ->
    earlier = now()
    Bluebird.resolve().delay(200).then -> assert.isAbove (now()-earlier), 190

  it "shows that at most 220 ms has passed after a timeout of 200ms", ->
    earlier = now()
    Bluebird.resolve().delay(200).then -> assert.isBelow (now()-earlier), 220
test/mocha.opts000064400000000132151676726670007544 0ustar00--require coffee-script/register
--compilers coffee:coffee-script/register
--reporter spectest/scripts/delayed-call.coffee000064400000000546151676726670012737 0ustar00#!/usr/bin/env ./node_modules/.bin/coffee

###
Expected output is a number above 350 and below 600.
The time reported is relative to the time the node.js process was started
this is approximately at `(Date.now() process.uptime() * 1000)`
###

delay = require "call-delayed"
now = require "../../lib/performance-now"
delay 250, -> console.log now().toFixed 3
test/scripts/initial-value.coffee000064400000000471151676726670013157 0ustar00#!/usr/bin/env ./node_modules/.bin/coffee

###
Expected output is a number above 100 and below 350.
The time reported is relative to the time the node.js process was started
this is approximately at `(Date.now() process.uptime() * 1000)`
###

now = require '../../lib/performance-now'
console.log now().toFixed 3
test/scripts/delayed-require.coffee000064400000000552151676726670013475 0ustar00#!/usr/bin/env ./node_modules/.bin/coffee

###
Expected output is a number above 350 and below 600.
The time reported is relative to the time the node.js process was started
this is approximately at `(Date.now() process.uptime() * 1000)`
###

delay = require "call-delayed"
delay 250, ->
  now = require "../../lib/performance-now"
  console.log now().toFixed 3
test/scripts/difference.coffee000064400000000257151676726670012510 0ustar00#!/usr/bin/env ./node_modules/.bin/coffee

# Expected output is above 0.005 and below 0.07.

now = require('../../lib/performance-now')
console.log -(now() - now()).toFixed 3
.npmignore000064400000000011151676726670006562 0ustar00.DS_StoreREADME.md000064400000003745151676726670006063 0ustar00# performance-now [![Build Status](https://travis-ci.org/braveg1rl/performance-now.png?branch=master)](https://travis-ci.org/braveg1rl/performance-now) [![Dependency Status](https://david-dm.org/braveg1rl/performance-now.png)](https://david-dm.org/braveg1rl/performance-now)

Implements a function similar to `performance.now` (based on `process.hrtime`).

Modern browsers have a `window.performance` object with - among others - a `now` method which gives time in milliseconds, but with sub-millisecond precision. This module offers the same function based on the Node.js native `process.hrtime` function.

Using `process.hrtime` means that the reported time will be monotonically increasing, and not subject to clock-drift.

According to the [High Resolution Time specification](http://www.w3.org/TR/hr-time/), the number of milliseconds reported by `performance.now` should be relative to the value of `performance.timing.navigationStart`.

In the current version of the module (2.0) the reported time is relative to the time the current Node process has started (inferred from `process.uptime()`).

Version 1.0 reported a different time. The reported time was relative to the time the module was loaded (i.e. the time it was first `require`d). If you need this functionality, version 1.0 is still available on NPM.

## Example usage

```javascript
var now = require("performance-now")
var start = now()
var end = now()
console.log(start.toFixed(3)) // the number of milliseconds the current node process is running
console.log((start-end).toFixed(3)) // ~ 0.002 on my system
```

Running the now function two times right after each other yields a time difference of a few microseconds. Given this overhead, I think it's best to assume that the precision of intervals computed with this method is not higher than 10 microseconds, if you don't know the exact overhead on your own system.

## License

performance-now is released under the [MIT License](http://opensource.org/licenses/MIT).
Copyright (c) 2017 Braveg1rl
.tm_properties000064400000000301151676726670007462 0ustar00excludeDirectories = "{.git,node_modules}"
excludeInFolderSearch = "{excludeDirectories,lib}"

includeFiles = "{.gitignore,.npmignore,.travis.yml}"

[ attr.untitled ]
fileType = 'source.coffee'license.txt000064400000002034151676726670006755 0ustar00Copyright (c) 2013 Braveg1rl

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.