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}