SILENT KILLERPanel

Current Path: > > lib > node_modules > npm > node_modules > libnpmteam >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //lib/node_modules/npm/node_modules/libnpmteam/

NameTypeSizeLast ModifiedActions
.travis.yml File 72 bytes March 10 2021 14:36:38.
CHANGELOG.md File 855 bytes March 10 2021 14:36:38.
LICENSE File 717 bytes March 10 2021 14:36:38.
PULL_REQUEST_TEMPLATE File 183 bytes March 10 2021 14:36:38.
README.md File 5501 bytes March 10 2021 14:36:38.
appveyor.yml File 334 bytes March 10 2021 14:36:38.
index.js File 2767 bytes March 10 2021 14:36:38.
package.json File 1987 bytes March 10 2021 14:36:38.

Reading File: //lib/node_modules/npm/node_modules/libnpmteam//index.js

'use strict'

const eu = encodeURIComponent
const figgyPudding = require('figgy-pudding')
const getStream = require('get-stream')
const npmFetch = require('npm-registry-fetch')
const validate = require('aproba')

const TeamConfig = figgyPudding({
  description: {},
  Promise: { default: () => Promise }
})

const cmd = module.exports = {}

cmd.create = (entity, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => {
    const { scope, team } = splitEntity(entity)
    validate('SSO', [scope, team, opts])
    return npmFetch.json(`/-/org/${eu(scope)}/team`, opts.concat({
      method: 'PUT',
      scope,
      body: { name: team, description: opts.description }
    }))
  })
}

cmd.destroy = (entity, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => {
    const { scope, team } = splitEntity(entity)
    validate('SSO', [scope, team, opts])
    return npmFetch.json(`/-/team/${eu(scope)}/${eu(team)}`, opts.concat({
      method: 'DELETE',
      scope
    }))
  })
}

cmd.add = (user, entity, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => {
    const { scope, team } = splitEntity(entity)
    validate('SSO', [scope, team, opts])
    return npmFetch.json(`/-/team/${eu(scope)}/${eu(team)}/user`, opts.concat({
      method: 'PUT',
      scope,
      body: { user }
    }))
  })
}

cmd.rm = (user, entity, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => {
    const { scope, team } = splitEntity(entity)
    validate('SSO', [scope, team, opts])
    return npmFetch.json(`/-/team/${eu(scope)}/${eu(team)}/user`, opts.concat({
      method: 'DELETE',
      scope,
      body: { user }
    }))
  })
}

cmd.lsTeams = (scope, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => getStream.array(cmd.lsTeams.stream(scope, opts)))
}
cmd.lsTeams.stream = (scope, opts) => {
  opts = TeamConfig(opts)
  validate('SO', [scope, opts])
  return npmFetch.json.stream(`/-/org/${eu(scope)}/team`, '.*', opts.concat({
    query: { format: 'cli' }
  }))
}

cmd.lsUsers = (entity, opts) => {
  opts = TeamConfig(opts)
  return pwrap(opts, () => getStream.array(cmd.lsUsers.stream(entity, opts)))
}
cmd.lsUsers.stream = (entity, opts) => {
  opts = TeamConfig(opts)
  const { scope, team } = splitEntity(entity)
  validate('SSO', [scope, team, opts])
  const uri = `/-/team/${eu(scope)}/${eu(team)}/user`
  return npmFetch.json.stream(uri, '.*', opts.concat({
    query: { format: 'cli' }
  }))
}

cmd.edit = () => {
  throw new Error('edit is not implemented yet')
}

function splitEntity (entity = '') {
  let [, scope, team] = entity.match(/^@?([^:]+):(.*)$/) || []
  return { scope, team }
}

function pwrap (opts, fn) {
  return new opts.Promise((resolve, reject) => {
    fn().then(resolve, reject)
  })
}

SILENT KILLER Tool