arnaucube
arnaucube/socketioMEANseedPublic Self-hosted repository
socketioMEANseed/server/node_modules/depd/lib/compat/index.js
server/node_modules/depd/lib/compat/index.jsRaw
 1/*!
 2 * depd
 3 * Copyright(c) 2014 Douglas Christopher Wilson
 4 * MIT Licensed
 5 */
 6
 7/**
 8 * Module exports.
 9 */
10
11lazyProperty(module.exports, 'bufferConcat', function bufferConcat() {
12  return Buffer.concat || require('./buffer-concat')
13})
14
15lazyProperty(module.exports, 'callSiteToString', function callSiteToString() {
16  var limit = Error.stackTraceLimit
17  var obj = {}
18  var prep = Error.prepareStackTrace
19
20  function prepareObjectStackTrace(obj, stack) {
21    return stack
22  }
23
24  Error.prepareStackTrace = prepareObjectStackTrace
25  Error.stackTraceLimit = 2
26
27  // capture the stack
28  Error.captureStackTrace(obj)
29
30  // slice the stack
31  var stack = obj.stack.slice()
32
33  Error.prepareStackTrace = prep
34  Error.stackTraceLimit = limit
35
36  return stack[0].toString ? toString : require('./callsite-tostring')
37})
38
39/**
40 * Define a lazy property.
41 */
42
43function lazyProperty(obj, prop, getter) {
44  function get() {
45    var val = getter()
46
47    Object.defineProperty(obj, prop, {
48      configurable: true,
49      enumerable: true,
50      value: val
51    })
52
53    return val
54  }
55
56  Object.defineProperty(obj, prop, {
57    configurable: true,
58    enumerable: true,
59    get: get
60  })
61}
62
63/**
64 * Call toString() on the obj
65 */
66
67function toString(obj) {
68  return obj.toString()
69}