403Webshell
Server IP : 159.203.156.69  /  Your IP : 216.73.216.28
Web Server : nginx/1.24.0
System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/node_modules/pm2/modules/pm2-io-bpm/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/node_modules/pm2/modules/pm2-io-bpm/utils/autocast.js
'use strict'

class Autocast {
  constructor () {
    this.commonStrings = {
      'true': true,
      'false': false,
      'undefined': undefined,
      'null': null,
      'NaN': NaN
    }
  }

  process (key, value, o) {
    if (typeof(value) === 'object') return
    o[key] = this._cast(value)
  }

  traverse (o, func) {
    for (let i in o) {
      func.apply(this, [i, o[i], o])
      if (o[i] !== null && typeof(o[i]) === 'object') {
        // going on step down in the object tree!!
        this.traverse(o[i], func)
      }
    }
  }

  /**
   * Given a value, try and cast it
   */
  autocast (s) {
    if (typeof(s) === 'object') {
      this.traverse(s, this.process)
      return s
    }

    return this._cast(s)
  }

  _cast (s) {
    let key

    // Don't cast Date objects
    if (s instanceof Date) return s
    if (typeof s === 'boolean') return s

    // Try to cast it to a number
    if (!isNaN(s)) return Number(s)

    // Try to make it a common string
    for (key in this.commonStrings) {
      if (s === key) return this.commonStrings[key]
    }

    // Give up
    return s
  }
}

module.exports = Autocast

Youez - 2016 - github.com/yon3zu
LinuXploit