├── .vs
├── ProjectSettings.json
├── VSWorkspaceState.json
├── multiplayer-card-project
│ ├── config
│ │ └── applicationhost.config
│ └── v16
│ │ └── .suo
└── slnx.sqlite
├── client
├── .babelrc
├── .gitignore
├── LICENSE
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── src
│ ├── assets
│ │ ├── CyanCardBack.png
│ │ ├── CyanCardFront.png
│ │ ├── MagentaCardBack.png
│ │ └── MagentaCardFront.png
│ ├── helpers
│ │ ├── card.js
│ │ ├── dealer.js
│ │ └── zone.js
│ ├── index.js
│ └── scenes
│ │ └── game.js
└── webpack
│ ├── base.js
│ └── prod.js
├── node_modules
├── .bin
│ ├── is-ci
│ ├── is-ci.cmd
│ ├── is-ci.ps1
│ ├── mime
│ ├── mime.cmd
│ ├── mime.ps1
│ ├── nodemon
│ ├── nodemon.cmd
│ ├── nodemon.ps1
│ ├── nodetouch
│ ├── nodetouch.cmd
│ ├── nodetouch.ps1
│ ├── nopt
│ ├── nopt.cmd
│ ├── nopt.ps1
│ ├── rc
│ ├── rc.cmd
│ ├── rc.ps1
│ ├── semver
│ ├── semver.cmd
│ ├── semver.ps1
│ ├── which
│ ├── which.cmd
│ └── which.ps1
├── abbrev
│ ├── LICENSE
│ ├── README.md
│ ├── abbrev.js
│ └── package.json
├── accepts
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── after
│ ├── .npmignore
│ ├── .travis.yml
│ ├── LICENCE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── after-test.js
├── ansi-align
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── ansi-regex
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── ansi-styles
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── anymatch
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── array-flatten
│ ├── LICENSE
│ ├── README.md
│ ├── array-flatten.js
│ └── package.json
├── arraybuffer.slice
│ ├── .npmignore
│ ├── LICENCE
│ ├── Makefile
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── slice-buffer.js
├── async-limiter
│ ├── .eslintignore
│ ├── .nycrc
│ ├── .travis.yml
│ ├── LICENSE
│ ├── index.js
│ ├── package.json
│ └── readme.md
├── backo2
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── index.js
├── balanced-match
│ ├── .npmignore
│ ├── LICENSE.md
│ ├── README.md
│ ├── index.js
│ └── package.json
├── base64-arraybuffer
│ ├── .npmignore
│ ├── .travis.yml
│ ├── LICENSE-MIT
│ ├── README.md
│ ├── lib
│ │ └── base64-arraybuffer.js
│ └── package.json
├── base64id
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── lib
│ │ └── base64id.js
│ └── package.json
├── better-assert
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── example.js
│ ├── index.js
│ └── package.json
├── binary-extensions
│ ├── binary-extensions.json
│ ├── binary-extensions.json.d.ts
│ ├── index.d.ts
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── blob
│ ├── .idea
│ │ ├── blob.iml
│ │ ├── inspectionProfiles
│ │ │ └── profiles_settings.xml
│ │ ├── markdown-navigator.xml
│ │ ├── markdown-navigator
│ │ │ └── profiles_settings.xml
│ │ ├── modules.xml
│ │ ├── vcs.xml
│ │ └── workspace.xml
│ ├── .zuul.yml
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── component.json
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── index.js
├── body-parser
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── read.js
│ │ └── types
│ │ │ ├── json.js
│ │ │ ├── raw.js
│ │ │ ├── text.js
│ │ │ └── urlencoded.js
│ └── package.json
├── boxen
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── brace-expansion
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── braces
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── compile.js
│ │ ├── constants.js
│ │ ├── expand.js
│ │ ├── parse.js
│ │ ├── stringify.js
│ │ └── utils.js
│ └── package.json
├── bytes
│ ├── History.md
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── callsite
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── camelcase
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── capture-stack-trace
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── chalk
│ ├── index.js
│ ├── index.js.flow
│ ├── license
│ ├── package.json
│ ├── readme.md
│ ├── templates.js
│ └── types
│ │ └── index.d.ts
├── chokidar
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── constants.js
│ │ ├── fsevents-handler.js
│ │ └── nodefs-handler.js
│ ├── package.json
│ └── types
│ │ └── index.d.ts
├── ci-info
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── vendors.json
├── cli-boxes
│ ├── boxes.json
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── color-convert
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── conversions.js
│ ├── index.js
│ ├── package.json
│ └── route.js
├── color-name
│ ├── .eslintrc.json
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── test.js
├── component-bind
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ └── package.json
├── component-emitter
│ ├── History.md
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── component-inherit
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── inherit.js
├── concat-map
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.markdown
│ ├── example
│ │ └── map.js
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── map.js
├── configstore
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── content-disposition
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── content-type
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── cookie-signature
│ ├── .npmignore
│ ├── History.md
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── cookie
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── create-error-class
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── cross-spawn
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── enoent.js
│ │ ├── parse.js
│ │ └── util
│ │ │ ├── escapeArgument.js
│ │ │ ├── escapeCommand.js
│ │ │ ├── hasEmptyArgumentBug.js
│ │ │ ├── readShebang.js
│ │ │ └── resolveCommand.js
│ └── package.json
├── crypto-random-string
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── debug
│ ├── .coveralls.yml
│ ├── .eslintrc
│ ├── .npmignore
│ ├── .travis.yml
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── component.json
│ ├── karma.conf.js
│ ├── node.js
│ ├── package.json
│ └── src
│ │ ├── browser.js
│ │ ├── debug.js
│ │ ├── index.js
│ │ ├── inspector-log.js
│ │ └── node.js
├── deep-extend
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ └── deep-extend.js
│ └── package.json
├── depd
│ ├── History.md
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ ├── lib
│ │ ├── browser
│ │ │ └── index.js
│ │ └── compat
│ │ │ ├── callsite-tostring.js
│ │ │ ├── event-listener-count.js
│ │ │ └── index.js
│ └── package.json
├── destroy
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── dot-prop
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── duplexer3
│ ├── LICENSE.md
│ ├── README.md
│ ├── index.js
│ └── package.json
├── ee-first
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── encodeurl
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── engine.io-client
│ ├── LICENSE
│ ├── README.md
│ ├── engine.io.js
│ ├── lib
│ │ ├── index.js
│ │ ├── socket.js
│ │ ├── transport.js
│ │ ├── transports
│ │ │ ├── index.js
│ │ │ ├── polling-jsonp.js
│ │ │ ├── polling-xhr.js
│ │ │ ├── polling.js
│ │ │ └── websocket.js
│ │ └── xmlhttprequest.js
│ ├── node_modules
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ ├── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ │ └── ws
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── browser.js
│ │ │ ├── index.js
│ │ │ ├── lib
│ │ │ ├── buffer-util.js
│ │ │ ├── constants.js
│ │ │ ├── event-target.js
│ │ │ ├── extension.js
│ │ │ ├── permessage-deflate.js
│ │ │ ├── receiver.js
│ │ │ ├── sender.js
│ │ │ ├── validation.js
│ │ │ ├── websocket-server.js
│ │ │ └── websocket.js
│ │ │ └── package.json
│ └── package.json
├── engine.io-parser
│ ├── LICENSE
│ ├── Readme.md
│ ├── lib
│ │ ├── browser.js
│ │ ├── index.js
│ │ ├── keys.js
│ │ └── utf8.js
│ └── package.json
├── engine.io
│ ├── LICENSE
│ ├── README.md
│ ├── lib
│ │ ├── engine.io.js
│ │ ├── server.js
│ │ ├── socket.js
│ │ ├── transport.js
│ │ └── transports
│ │ │ ├── index.js
│ │ │ ├── polling-jsonp.js
│ │ │ ├── polling-xhr.js
│ │ │ ├── polling.js
│ │ │ └── websocket.js
│ ├── node_modules
│ │ ├── cookie
│ │ │ ├── HISTORY.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ └── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ └── package.json
├── escape-html
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── escape-string-regexp
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── etag
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── execa
│ ├── index.js
│ ├── lib
│ │ ├── errname.js
│ │ └── stdio.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── express
│ ├── History.md
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ ├── lib
│ │ ├── application.js
│ │ ├── express.js
│ │ ├── middleware
│ │ │ ├── init.js
│ │ │ └── query.js
│ │ ├── request.js
│ │ ├── response.js
│ │ ├── router
│ │ │ ├── index.js
│ │ │ ├── layer.js
│ │ │ └── route.js
│ │ ├── utils.js
│ │ └── view.js
│ └── package.json
├── fill-range
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── finalhandler
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── forwarded
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── fresh
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── get-stream
│ ├── buffer-stream.js
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── glob-parent
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── global-dirs
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── got
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── graceful-fs
│ ├── LICENSE
│ ├── README.md
│ ├── clone.js
│ ├── graceful-fs.js
│ ├── legacy-streams.js
│ ├── package.json
│ └── polyfills.js
├── has-binary2
│ ├── History.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── has-cors
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ ├── package.json
│ └── test.js
├── has-flag
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── http-errors
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── iconv-lite
│ ├── Changelog.md
│ ├── LICENSE
│ ├── README.md
│ ├── encodings
│ │ ├── dbcs-codec.js
│ │ ├── dbcs-data.js
│ │ ├── index.js
│ │ ├── internal.js
│ │ ├── sbcs-codec.js
│ │ ├── sbcs-data-generated.js
│ │ ├── sbcs-data.js
│ │ ├── tables
│ │ │ ├── big5-added.json
│ │ │ ├── cp936.json
│ │ │ ├── cp949.json
│ │ │ ├── cp950.json
│ │ │ ├── eucjp.json
│ │ │ ├── gb18030-ranges.json
│ │ │ ├── gbk-added.json
│ │ │ └── shiftjis.json
│ │ ├── utf16.js
│ │ └── utf7.js
│ ├── lib
│ │ ├── bom-handling.js
│ │ ├── extend-node.js
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ └── streams.js
│ └── package.json
├── ignore-by-default
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── import-lazy
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── imurmurhash
│ ├── README.md
│ ├── imurmurhash.js
│ ├── imurmurhash.min.js
│ └── package.json
├── indexof
│ ├── .npmignore
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ └── package.json
├── inherits
│ ├── LICENSE
│ ├── README.md
│ ├── inherits.js
│ ├── inherits_browser.js
│ └── package.json
├── ini
│ ├── LICENSE
│ ├── README.md
│ ├── ini.js
│ └── package.json
├── ipaddr.js
│ ├── LICENSE
│ ├── README.md
│ ├── ipaddr.min.js
│ ├── lib
│ │ ├── ipaddr.js
│ │ └── ipaddr.js.d.ts
│ └── package.json
├── is-binary-path
│ ├── index.d.ts
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-ci
│ ├── LICENSE
│ ├── README.md
│ ├── bin.js
│ ├── index.js
│ └── package.json
├── is-extglob
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── is-fullwidth-code-point
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-glob
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── is-installed-globally
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-npm
│ ├── index.js
│ ├── package.json
│ └── readme.md
├── is-number
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── is-obj
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-path-inside
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-redirect
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-retry-allowed
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── is-stream
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── isarray
│ ├── README.md
│ ├── index.js
│ └── package.json
├── isexe
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── mode.js
│ ├── package.json
│ ├── test
│ │ └── basic.js
│ └── windows.js
├── latest-version
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── lowercase-keys
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── lru-cache
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── make-dir
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── media-typer
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── merge-descriptors
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── methods
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── mime-db
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── db.json
│ ├── index.js
│ └── package.json
├── mime-types
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── mime
│ ├── .npmignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── cli.js
│ ├── mime.js
│ ├── package.json
│ ├── src
│ │ ├── build.js
│ │ └── test.js
│ └── types.json
├── minimatch
│ ├── LICENSE
│ ├── README.md
│ ├── minimatch.js
│ └── package.json
├── minimist
│ ├── .travis.yml
│ ├── LICENSE
│ ├── example
│ │ └── parse.js
│ ├── index.js
│ ├── package.json
│ ├── readme.markdown
│ └── test
│ │ ├── all_bool.js
│ │ ├── bool.js
│ │ ├── dash.js
│ │ ├── default_bool.js
│ │ ├── dotted.js
│ │ ├── kv_short.js
│ │ ├── long.js
│ │ ├── num.js
│ │ ├── parse.js
│ │ ├── parse_modified.js
│ │ ├── proto.js
│ │ ├── short.js
│ │ ├── stop_early.js
│ │ ├── unknown.js
│ │ └── whitespace.js
├── ms
│ ├── index.js
│ ├── license.md
│ ├── package.json
│ └── readme.md
├── negotiator
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── charset.js
│ │ ├── encoding.js
│ │ ├── language.js
│ │ └── mediaType.js
│ └── package.json
├── nodemon
│ ├── .jscsrc
│ ├── .jshintrc
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── nodemon.js
│ │ └── postinstall.js
│ ├── commitlint.config.js
│ ├── doc
│ │ └── cli
│ │ │ ├── authors.txt
│ │ │ ├── config.txt
│ │ │ ├── help.txt
│ │ │ ├── logo.txt
│ │ │ ├── options.txt
│ │ │ ├── topics.txt
│ │ │ ├── usage.txt
│ │ │ └── whoami.txt
│ ├── lib
│ │ ├── cli
│ │ │ ├── index.js
│ │ │ └── parse.js
│ │ ├── config
│ │ │ ├── command.js
│ │ │ ├── defaults.js
│ │ │ ├── exec.js
│ │ │ ├── index.js
│ │ │ └── load.js
│ │ ├── help
│ │ │ └── index.js
│ │ ├── index.js
│ │ ├── monitor
│ │ │ ├── index.js
│ │ │ ├── match.js
│ │ │ ├── run.js
│ │ │ ├── signals.js
│ │ │ └── watch.js
│ │ ├── nodemon.js
│ │ ├── rules
│ │ │ ├── add.js
│ │ │ ├── index.js
│ │ │ └── parse.js
│ │ ├── spawn.js
│ │ ├── utils
│ │ │ ├── bus.js
│ │ │ ├── clone.js
│ │ │ ├── colour.js
│ │ │ ├── index.js
│ │ │ ├── log.js
│ │ │ └── merge.js
│ │ └── version.js
│ ├── node_modules
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── node.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ └── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ └── package.json
├── nopt
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ └── nopt.js
│ ├── examples
│ │ └── my-program.js
│ ├── lib
│ │ └── nopt.js
│ └── package.json
├── normalize-path
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── npm-run-path
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── object-component
│ ├── .npmignore
│ ├── History.md
│ ├── Makefile
│ ├── Readme.md
│ ├── component.json
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── object.js
├── on-finished
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── p-finally
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── package-json
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── parseqs
│ ├── .npmignore
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── test.js
├── parseuri
│ ├── .npmignore
│ ├── History.md
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── test.js
├── parseurl
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── path-is-inside
│ ├── LICENSE.txt
│ ├── lib
│ │ └── path-is-inside.js
│ └── package.json
├── path-key
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── path-to-regexp
│ ├── History.md
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── picomatch
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── lib
│ │ ├── constants.js
│ │ ├── parse.js
│ │ ├── picomatch.js
│ │ ├── scan.js
│ │ └── utils.js
│ └── package.json
├── pify
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── prepend-http
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── proxy-addr
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── pseudomap
│ ├── LICENSE
│ ├── README.md
│ ├── map.js
│ ├── package.json
│ ├── pseudomap.js
│ └── test
│ │ └── basic.js
├── pstree.remy
│ ├── .travis.yml
│ ├── LICENSE
│ ├── lib
│ │ ├── index.js
│ │ ├── tree.js
│ │ └── utils.js
│ ├── package.json
│ └── tests
│ │ ├── fixtures
│ │ ├── index.js
│ │ ├── out1
│ │ └── out2
│ │ └── index.test.js
├── qs
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── dist
│ │ └── qs.js
│ ├── lib
│ │ ├── formats.js
│ │ ├── index.js
│ │ ├── parse.js
│ │ ├── stringify.js
│ │ └── utils.js
│ ├── package.json
│ └── test
│ │ ├── .eslintrc
│ │ ├── index.js
│ │ ├── parse.js
│ │ ├── stringify.js
│ │ └── utils.js
├── range-parser
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── raw-body
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── rc
│ ├── LICENSE.APACHE2
│ ├── LICENSE.BSD
│ ├── LICENSE.MIT
│ ├── README.md
│ ├── browser.js
│ ├── cli.js
│ ├── index.js
│ ├── lib
│ │ └── utils.js
│ ├── package.json
│ └── test
│ │ ├── ini.js
│ │ ├── nested-env-vars.js
│ │ └── test.js
├── readdirp
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── registry-auth-token
│ ├── .npmignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── base64.js
│ ├── index.js
│ ├── package.json
│ ├── registry-url.js
│ ├── test
│ │ ├── auth-token.test.js
│ │ └── registry-url.test.js
│ └── yarn.lock
├── registry-url
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── safe-buffer
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ └── package.json
├── safer-buffer
│ ├── LICENSE
│ ├── Porting-Buffer.md
│ ├── Readme.md
│ ├── dangerous.js
│ ├── package.json
│ ├── safer.js
│ └── tests.js
├── semver-diff
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── semver
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ └── semver
│ ├── package.json
│ ├── range.bnf
│ └── semver.js
├── send
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── node_modules
│ │ └── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ └── package.json
├── serve-static
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── setprototypeof
│ ├── LICENSE
│ ├── README.md
│ ├── index.d.ts
│ ├── index.js
│ ├── package.json
│ └── test
│ │ └── index.js
├── shebang-command
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── shebang-regex
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── signal-exit
│ ├── CHANGELOG.md
│ ├── LICENSE.txt
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ └── signals.js
├── socket.io-adapter
│ ├── .idea
│ │ ├── $CACHE_FILE$
│ │ ├── inspectionProfiles
│ │ │ └── profiles_settings.xml
│ │ ├── misc.xml
│ │ ├── modules.xml
│ │ ├── socket.io-adapter.iml
│ │ ├── vcs.xml
│ │ └── workspace.xml
│ ├── LICENSE
│ ├── Readme.md
│ ├── index.js
│ └── package.json
├── socket.io-client
│ ├── LICENSE
│ ├── README.md
│ ├── dist
│ │ ├── socket.io.dev.js
│ │ ├── socket.io.dev.js.map
│ │ ├── socket.io.js
│ │ ├── socket.io.js.map
│ │ ├── socket.io.slim.dev.js
│ │ ├── socket.io.slim.dev.js.map
│ │ ├── socket.io.slim.js
│ │ └── socket.io.slim.js.map
│ ├── lib
│ │ ├── index.js
│ │ ├── manager.js
│ │ ├── on.js
│ │ ├── socket.js
│ │ └── url.js
│ ├── node_modules
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ ├── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ │ └── socket.io-parser
│ │ │ ├── LICENSE
│ │ │ ├── Readme.md
│ │ │ ├── binary.js
│ │ │ ├── index.js
│ │ │ ├── is-buffer.js
│ │ │ ├── node_modules
│ │ │ ├── debug
│ │ │ │ ├── .coveralls.yml
│ │ │ │ ├── .eslintrc
│ │ │ │ ├── .npmignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.md
│ │ │ │ ├── karma.conf.js
│ │ │ │ ├── node.js
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ ├── browser.js
│ │ │ │ │ ├── debug.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── node.js
│ │ │ └── ms
│ │ │ │ ├── index.js
│ │ │ │ ├── license.md
│ │ │ │ ├── package.json
│ │ │ │ └── readme.md
│ │ │ └── package.json
│ └── package.json
├── socket.io-parser
│ ├── LICENSE
│ ├── Readme.md
│ ├── binary.js
│ ├── index.js
│ ├── is-buffer.js
│ ├── node_modules
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ └── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ └── package.json
├── socket.io
│ ├── LICENSE
│ ├── Readme.md
│ ├── lib
│ │ ├── client.js
│ │ ├── index.js
│ │ ├── namespace.js
│ │ ├── parent-namespace.js
│ │ └── socket.js
│ ├── node_modules
│ │ ├── debug
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dist
│ │ │ │ └── debug.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── browser.js
│ │ │ │ ├── common.js
│ │ │ │ ├── index.js
│ │ │ │ └── node.js
│ │ └── ms
│ │ │ ├── index.js
│ │ │ ├── license.md
│ │ │ ├── package.json
│ │ │ └── readme.md
│ └── package.json
├── statuses
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── codes.json
│ ├── index.js
│ └── package.json
├── string-width
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── strip-ansi
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── strip-eof
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── strip-json-comments
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── supports-color
│ ├── browser.js
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── term-size
│ ├── index.js
│ ├── license
│ ├── package.json
│ ├── readme.md
│ └── vendor
│ │ ├── macos
│ │ └── term-size
│ │ └── windows
│ │ └── term-size.exe
├── timed-out
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── to-array
│ ├── .npmignore
│ ├── LICENCE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── to-regex-range
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── toidentifier
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── touch
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ └── nodetouch.js
│ ├── index.js
│ └── package.json
├── type-is
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── undefsafe
│ ├── .jscsrc
│ ├── .jshintrc
│ ├── .npmignore
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── example.js
│ ├── lib
│ │ └── undefsafe.js
│ └── package.json
├── unique-string
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── unpipe
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── unzip-response
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── update-notifier
│ ├── check.js
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── url-parse-lax
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── utils-merge
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── vary
│ ├── HISTORY.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── which
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ └── which
│ ├── package.json
│ └── which.js
├── widest-line
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── write-file-atomic
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── ws
│ ├── LICENSE
│ ├── README.md
│ ├── browser.js
│ ├── index.js
│ ├── lib
│ │ ├── buffer-util.js
│ │ ├── constants.js
│ │ ├── event-target.js
│ │ ├── extension.js
│ │ ├── limiter.js
│ │ ├── permessage-deflate.js
│ │ ├── receiver.js
│ │ ├── sender.js
│ │ ├── stream.js
│ │ ├── validation.js
│ │ ├── websocket-server.js
│ │ └── websocket.js
│ └── package.json
├── xdg-basedir
│ ├── index.js
│ ├── license
│ ├── package.json
│ └── readme.md
├── xmlhttprequest-ssl
│ ├── LICENSE
│ ├── README.md
│ ├── autotest.watchr
│ ├── example
│ │ └── demo.js
│ ├── lib
│ │ └── XMLHttpRequest.js
│ ├── package.json
│ └── tests
│ │ ├── test-constants.js
│ │ ├── test-events.js
│ │ ├── test-exceptions.js
│ │ ├── test-headers.js
│ │ ├── test-redirect-302.js
│ │ ├── test-redirect-303.js
│ │ ├── test-redirect-307.js
│ │ ├── test-request-methods.js
│ │ ├── test-request-protocols.js
│ │ └── testdata.txt
├── yallist
│ ├── LICENSE
│ ├── README.md
│ ├── iterator.js
│ ├── package.json
│ └── yallist.js
└── yeast
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ └── package.json
├── package-lock.json
├── package.json
└── server.js
/.vs/ProjectSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "CurrentProjectSetting": null
3 | }
--------------------------------------------------------------------------------
/.vs/VSWorkspaceState.json:
--------------------------------------------------------------------------------
1 | {
2 | "ExpandedNodes": [
3 | "",
4 | "\\client",
5 | "\\client\\src",
6 | "\\client\\src\\helpers",
7 | "\\client\\src\\scenes"
8 | ],
9 | "SelectedNode": "\\client\\src\\scenes\\game.js",
10 | "PreviewInSolutionExplorer": false
11 | }
--------------------------------------------------------------------------------
/.vs/multiplayer-card-project/v16/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/.vs/multiplayer-card-project/v16/.suo
--------------------------------------------------------------------------------
/.vs/slnx.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/.vs/slnx.sqlite
--------------------------------------------------------------------------------
/client/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["@babel/env", {
4 | "targets": {
5 | "browsers": [
6 | ">0.25%",
7 | "not ie 11",
8 | "not op_mini all"
9 | ]
10 | },
11 | "modules": false
12 | }]
13 | ],
14 | }
15 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # System and IDE files
2 | Thumbs.db
3 | .DS_Store
4 | .idea
5 | *.suo
6 | *.sublime-project
7 | *.sublime-workspace
8 |
9 | # Vendors
10 | node_modules/
11 |
12 | # Build
13 | dist/
14 | /npm-debug.log
15 |
--------------------------------------------------------------------------------
/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/client/src/assets/CyanCardBack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/client/src/assets/CyanCardBack.png
--------------------------------------------------------------------------------
/client/src/assets/CyanCardFront.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/client/src/assets/CyanCardFront.png
--------------------------------------------------------------------------------
/client/src/assets/MagentaCardBack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/client/src/assets/MagentaCardBack.png
--------------------------------------------------------------------------------
/client/src/assets/MagentaCardFront.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/client/src/assets/MagentaCardFront.png
--------------------------------------------------------------------------------
/client/src/helpers/card.js:
--------------------------------------------------------------------------------
1 | export default class Card {
2 | constructor(scene) {
3 | this.render = (x, y, sprite) => {
4 | let card = scene.add.image(x, y, sprite).setScale(0.3, 0.3).setInteractive();
5 | scene.input.setDraggable(card);
6 | return card;
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/client/src/helpers/dealer.js:
--------------------------------------------------------------------------------
1 | import Card from './card'
2 |
3 | export default class Dealer {
4 | constructor(scene) {
5 | this.dealCards = () => {
6 | let playerSprite;
7 | let opponentSprite;
8 | if (scene.isPlayerA) {
9 | playerSprite = 'cyanCardFront';
10 | opponentSprite = 'magentaCardBack';
11 | } else {
12 | playerSprite = 'magentaCardFront';
13 | opponentSprite = 'cyanCardBack';
14 | };
15 | for (let i = 0; i < 5; i++) {
16 | let playerCard = new Card(scene);
17 | playerCard.render(475 + (i * 100), 650, playerSprite);
18 |
19 | let opponentCard = new Card(scene);
20 | scene.opponentCards.push(opponentCard.render(475 + (i * 100), 125, opponentSprite).disableInteractive());
21 | }
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/client/src/helpers/zone.js:
--------------------------------------------------------------------------------
1 | export default class Zone {
2 | constructor(scene) {
3 | this.renderZone = () => {
4 | let dropZone = scene.add.zone(700, 375, 900, 250).setRectangleDropZone(900, 250);
5 | dropZone.setData({ cards: 0 });
6 | return dropZone;
7 | };
8 | this.renderOutline = (dropZone) => {
9 | let dropZoneOutline = scene.add.graphics();
10 | dropZoneOutline.lineStyle(4, 0xff69b4);
11 | dropZoneOutline.strokeRect(dropZone.x - dropZone.input.hitArea.width / 2, dropZone.y - dropZone.input.hitArea.height / 2, dropZone.input.hitArea.width, dropZone.input.hitArea.height)
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/client/src/index.js:
--------------------------------------------------------------------------------
1 | import Phaser from "phaser";
2 | import Game from "./scenes/game"
3 |
4 | const config = {
5 | type: Phaser.AUTO,
6 | parent: "phaser-example",
7 | width: 1280,
8 | height: 780,
9 | scene: [
10 | Game
11 | ]
12 | };
13 |
14 | const game = new Phaser.Game(config);
--------------------------------------------------------------------------------
/client/webpack/base.js:
--------------------------------------------------------------------------------
1 | const webpack = require("webpack");
2 | const path = require("path");
3 | const HtmlWebpackPlugin = require("html-webpack-plugin");
4 | const { CleanWebpackPlugin } = require("clean-webpack-plugin");
5 |
6 | module.exports = {
7 | mode: "development",
8 | devtool: "eval-source-map",
9 | module: {
10 | rules: [
11 | {
12 | test: /\.js$/,
13 | exclude: /node_modules/,
14 | use: {
15 | loader: "babel-loader"
16 | }
17 | },
18 | {
19 | test: [/\.vert$/, /\.frag$/],
20 | use: "raw-loader"
21 | },
22 | {
23 | test: /\.(gif|png|jpe?g|svg|xml)$/i,
24 | use: "file-loader"
25 | }
26 | ]
27 | },
28 | plugins: [
29 | new CleanWebpackPlugin({
30 | root: path.resolve(__dirname, "../")
31 | }),
32 | new webpack.DefinePlugin({
33 | CANVAS_RENDERER: JSON.stringify(true),
34 | WEBGL_RENDERER: JSON.stringify(true)
35 | }),
36 | new HtmlWebpackPlugin({
37 | template: "./index.html"
38 | })
39 | ]
40 | };
41 |
--------------------------------------------------------------------------------
/client/webpack/prod.js:
--------------------------------------------------------------------------------
1 | const merge = require("webpack-merge");
2 | const path = require("path");
3 | const base = require("./base");
4 | const TerserPlugin = require("terser-webpack-plugin");
5 |
6 | module.exports = merge(base, {
7 | mode: "production",
8 | output: {
9 | filename: "bundle.min.js"
10 | },
11 | devtool: false,
12 | performance: {
13 | maxEntrypointSize: 900000,
14 | maxAssetSize: 900000
15 | },
16 | optimization: {
17 | minimizer: [
18 | new TerserPlugin({
19 | terserOptions: {
20 | output: {
21 | comments: false
22 | }
23 | }
24 | })
25 | ]
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/node_modules/.bin/is-ci:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../is-ci/bin.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../is-ci/bin.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/is-ci.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\is-ci\bin.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/is-ci.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../is-ci/bin.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../is-ci/bin.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/mime:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../mime/cli.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../mime/cli.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/mime.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\mime\cli.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/mime.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../mime/cli.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodemon:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../nodemon/bin/nodemon.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../nodemon/bin/nodemon.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodemon.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\nodemon\bin\nodemon.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodemon.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../nodemon/bin/nodemon.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../nodemon/bin/nodemon.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodetouch:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../touch/bin/nodetouch.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../touch/bin/nodetouch.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodetouch.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\touch\bin\nodetouch.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/nodetouch.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../touch/bin/nodetouch.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../touch/bin/nodetouch.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/nopt:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../nopt/bin/nopt.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/nopt.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\nopt\bin\nopt.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/nopt.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../nopt/bin/nopt.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../nopt/bin/nopt.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/rc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../rc/cli.js" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../rc/cli.js" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/rc.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\rc\cli.js" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/rc.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../rc/cli.js" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../rc/cli.js" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/semver:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../semver/bin/semver" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../semver/bin/semver" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/semver.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\semver\bin\semver" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/semver.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../semver/bin/semver" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../semver/bin/semver" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/.bin/which:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 |
4 | case `uname` in
5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 | esac
7 |
8 | if [ -x "$basedir/node" ]; then
9 | "$basedir/node" "$basedir/../which/bin/which" "$@"
10 | ret=$?
11 | else
12 | node "$basedir/../which/bin/which" "$@"
13 | ret=$?
14 | fi
15 | exit $ret
16 |
--------------------------------------------------------------------------------
/node_modules/.bin/which.cmd:
--------------------------------------------------------------------------------
1 | @ECHO off
2 | SETLOCAL
3 | CALL :find_dp0
4 |
5 | IF EXIST "%dp0%\node.exe" (
6 | SET "_prog=%dp0%\node.exe"
7 | ) ELSE (
8 | SET "_prog=node"
9 | SET PATHEXT=%PATHEXT:;.JS;=;%
10 | )
11 |
12 | "%_prog%" "%dp0%\..\which\bin\which" %*
13 | ENDLOCAL
14 | EXIT /b %errorlevel%
15 | :find_dp0
16 | SET dp0=%~dp0
17 | EXIT /b
18 |
--------------------------------------------------------------------------------
/node_modules/.bin/which.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 |
4 | $exe=""
5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 | # Fix case when both the Windows and Linux builds of Node
7 | # are installed in the same directory
8 | $exe=".exe"
9 | }
10 | $ret=0
11 | if (Test-Path "$basedir/node$exe") {
12 | & "$basedir/node$exe" "$basedir/../which/bin/which" $args
13 | $ret=$LASTEXITCODE
14 | } else {
15 | & "node$exe" "$basedir/../which/bin/which" $args
16 | $ret=$LASTEXITCODE
17 | }
18 | exit $ret
19 |
--------------------------------------------------------------------------------
/node_modules/abbrev/README.md:
--------------------------------------------------------------------------------
1 | # abbrev-js
2 |
3 | Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).
4 |
5 | Usage:
6 |
7 | var abbrev = require("abbrev");
8 | abbrev("foo", "fool", "folding", "flop");
9 |
10 | // returns:
11 | { fl: 'flop'
12 | , flo: 'flop'
13 | , flop: 'flop'
14 | , fol: 'folding'
15 | , fold: 'folding'
16 | , foldi: 'folding'
17 | , foldin: 'folding'
18 | , folding: 'folding'
19 | , foo: 'foo'
20 | , fool: 'fool'
21 | }
22 |
23 | This is handy for command-line scripts, or other cases where you want to be able to accept shorthands.
24 |
--------------------------------------------------------------------------------
/node_modules/after/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .monitor
3 |
--------------------------------------------------------------------------------
/node_modules/after/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.6
4 | - 0.8
5 | - 0.9
6 | - 0.10
7 | - 0.12
8 | - 4.2.4
9 | - 5.4.1
10 | - iojs-1
11 | - iojs-2
12 | - iojs-3
13 |
--------------------------------------------------------------------------------
/node_modules/after/LICENCE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011 Raynos.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
--------------------------------------------------------------------------------
/node_modules/after/index.js:
--------------------------------------------------------------------------------
1 | module.exports = after
2 |
3 | function after(count, callback, err_cb) {
4 | var bail = false
5 | err_cb = err_cb || noop
6 | proxy.count = count
7 |
8 | return (count === 0) ? callback() : proxy
9 |
10 | function proxy(err, result) {
11 | if (proxy.count <= 0) {
12 | throw new Error('after called too many times')
13 | }
14 | --proxy.count
15 |
16 | // after first error, rest are passed to err_cb
17 | if (err) {
18 | bail = true
19 | callback(err)
20 | // future error callbacks will go to error handler
21 | callback = err_cb
22 | } else if (proxy.count === 0 && !bail) {
23 | callback(null, result)
24 | }
25 | }
26 | }
27 |
28 | function noop() {}
29 |
--------------------------------------------------------------------------------
/node_modules/ansi-align/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016, Contributors
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any purpose
4 | with or without fee is hereby granted, provided that the above copyright notice
5 | and this permission notice appear in all copies.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13 | THIS SOFTWARE.
14 |
--------------------------------------------------------------------------------
/node_modules/ansi-regex/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = () => {
4 | const pattern = [
5 | '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
6 | '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))'
7 | ].join('|');
8 |
9 | return new RegExp(pattern, 'g');
10 | };
11 |
--------------------------------------------------------------------------------
/node_modules/anymatch/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/anymatch/index.d.ts:
--------------------------------------------------------------------------------
1 | type AnymatchFn = (testString: string) => boolean;
2 | type AnymatchPattern = string|RegExp|AnymatchFn;
3 | type AnymatchMatcher = AnymatchPattern|AnymatchPattern[]
4 | type AnymatchTester = {
5 | (testString: string|any[], returnIndex: true): number;
6 | (testString: string|any[]): boolean;
7 | }
8 |
9 | type PicomatchOptions = {dot: boolean};
10 |
11 | declare const anymatch: {
12 | (matchers: AnymatchMatcher): AnymatchTester;
13 | (matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number;
14 | (matchers: AnymatchMatcher, testString: string|any[]): boolean;
15 | }
16 |
17 | export {AnymatchMatcher as Matcher}
18 | export {AnymatchTester as Tester}
19 | export default anymatch
20 |
--------------------------------------------------------------------------------
/node_modules/arraybuffer.slice/.npmignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | lcov.info
3 | *.seed
4 | *.log
5 | *.csv
6 | *.dat
7 | *.out
8 | *.pid
9 | *.gz
10 |
11 | pids
12 | logs
13 | results
14 | build
15 | .grunt
16 |
17 | node_modules
18 |
--------------------------------------------------------------------------------
/node_modules/arraybuffer.slice/Makefile:
--------------------------------------------------------------------------------
1 |
2 | REPORTER = dot
3 |
4 | test:
5 | @./node_modules/.bin/mocha \
6 | --reporter $(REPORTER)
7 |
8 | .PHONY: test
9 |
--------------------------------------------------------------------------------
/node_modules/arraybuffer.slice/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * An abstraction for slicing an arraybuffer even when
3 | * ArrayBuffer.prototype.slice is not supported
4 | *
5 | * @api public
6 | */
7 |
8 | module.exports = function(arraybuffer, start, end) {
9 | var bytes = arraybuffer.byteLength;
10 | start = start || 0;
11 | end = end || bytes;
12 |
13 | if (arraybuffer.slice) { return arraybuffer.slice(start, end); }
14 |
15 | if (start < 0) { start += bytes; }
16 | if (end < 0) { end += bytes; }
17 | if (end > bytes) { end = bytes; }
18 |
19 | if (start >= bytes || start >= end || bytes === 0) {
20 | return new ArrayBuffer(0);
21 | }
22 |
23 | var abv = new Uint8Array(arraybuffer);
24 | var result = new Uint8Array(end - start);
25 | for (var i = start, ii = 0; i < end; i++, ii++) {
26 | result[ii] = abv[i];
27 | }
28 | return result.buffer;
29 | };
30 |
--------------------------------------------------------------------------------
/node_modules/async-limiter/.eslintignore:
--------------------------------------------------------------------------------
1 | coverage
2 | .nyc_output
--------------------------------------------------------------------------------
/node_modules/async-limiter/.nycrc:
--------------------------------------------------------------------------------
1 | {
2 | "check-coverage": false,
3 | "lines": 99,
4 | "statements": 99,
5 | "functions": 99,
6 | "branches": 99,
7 | "include": [
8 | "index.js"
9 | ]
10 | }
--------------------------------------------------------------------------------
/node_modules/async-limiter/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "6"
4 | - "8"
5 | - "10"
6 | - "node"
7 | script: npm run travis
8 | cache:
9 | yarn: true
10 |
--------------------------------------------------------------------------------
/node_modules/async-limiter/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 2017 Samuel Reed
3 |
4 | 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:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | 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.
9 |
--------------------------------------------------------------------------------
/node_modules/backo2/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
--------------------------------------------------------------------------------
/node_modules/backo2/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.1 / 2014-02-17
3 | ==================
4 |
5 | * go away decimal point
6 | * history
7 |
8 | 1.0.0 / 2014-02-17
9 | ==================
10 |
11 | * add jitter option
12 | * Initial commit
13 |
--------------------------------------------------------------------------------
/node_modules/backo2/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter dot \
6 | --bail
7 |
8 | .PHONY: test
--------------------------------------------------------------------------------
/node_modules/backo2/Readme.md:
--------------------------------------------------------------------------------
1 | # backo
2 |
3 | Simple exponential backoff because the others seem to have weird abstractions.
4 |
5 | ## Installation
6 |
7 | ```
8 | $ npm install backo
9 | ```
10 |
11 | ## Options
12 |
13 | - `min` initial timeout in milliseconds [100]
14 | - `max` max timeout [10000]
15 | - `jitter` [0]
16 | - `factor` [2]
17 |
18 | ## Example
19 |
20 | ```js
21 | var Backoff = require('backo');
22 | var backoff = new Backoff({ min: 100, max: 20000 });
23 |
24 | setTimeout(function(){
25 | something.reconnect();
26 | }, backoff.duration());
27 |
28 | // later when something works
29 | backoff.reset()
30 | ```
31 |
32 | # License
33 |
34 | MIT
35 |
--------------------------------------------------------------------------------
/node_modules/backo2/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backo",
3 | "repo": "segmentio/backo",
4 | "dependencies": {},
5 | "version": "1.0.1",
6 | "description": "simple backoff without the weird abstractions",
7 | "keywords": ["backoff"],
8 | "license": "MIT",
9 | "scripts": ["index.js"],
10 | "main": "index.js"
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/backo2/test/index.js:
--------------------------------------------------------------------------------
1 |
2 | var Backoff = require('..');
3 | var assert = require('assert');
4 |
5 | describe('.duration()', function(){
6 | it('should increase the backoff', function(){
7 | var b = new Backoff;
8 |
9 | assert(100 == b.duration());
10 | assert(200 == b.duration());
11 | assert(400 == b.duration());
12 | assert(800 == b.duration());
13 |
14 | b.reset();
15 | assert(100 == b.duration());
16 | assert(200 == b.duration());
17 | })
18 | })
--------------------------------------------------------------------------------
/node_modules/balanced-match/.npmignore:
--------------------------------------------------------------------------------
1 | test
2 | .gitignore
3 | .travis.yml
4 | Makefile
5 | example.js
6 |
--------------------------------------------------------------------------------
/node_modules/base64-arraybuffer/.npmignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | Gruntfile.js
3 | /test/
4 |
--------------------------------------------------------------------------------
/node_modules/base64-arraybuffer/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - '0.12'
4 | - iojs-1
5 | - iojs-2
6 | - iojs-3
7 | - '4.1'
8 | before_script:
9 | - npm install
10 | before_install: npm install -g npm@'>=2.13.5'
11 | deploy:
12 | provider: npm
13 | email: niklasvh@gmail.com
14 | api_key:
15 | secure: oHV9ArprTj5WOk7MP1UF7QMJ70huXw+y7xXb5wF4+V2H8Hyfa5TfE0DiOmqrube1WXTeH1FLgq54shp/sJWi47Hkg/GyeoB5NnsPhYEaJkaON9UG5blML+ODiNVsEnq/1kNBQ8e0+0JItMPLGySKyFmuZ3yflulXKS8O88mfINo=
16 | on:
17 | tags: true
18 | branch: master
19 | repo: niklasvh/base64-arraybuffer
20 |
--------------------------------------------------------------------------------
/node_modules/base64-arraybuffer/README.md:
--------------------------------------------------------------------------------
1 | # base64-arraybuffer
2 |
3 | [](https://travis-ci.org/niklasvh/base64-arraybuffer)
4 | [](https://www.npmjs.org/package/base64-arraybuffer)
5 | [](https://www.npmjs.org/package/base64-arraybuffer)
6 |
7 | Encode/decode base64 data into ArrayBuffers
8 |
9 | ## Getting Started
10 | Install the module with: `npm install base64-arraybuffer`
11 |
12 | ## API
13 | The library encodes and decodes base64 to and from ArrayBuffers
14 |
15 | - __encode(buffer)__ - Encodes `ArrayBuffer` into base64 string
16 | - __decode(str)__ - Decodes base64 string to `ArrayBuffer`
17 |
18 | ## License
19 | Copyright (c) 2012 Niklas von Hertzen
20 | Licensed under the MIT license.
21 |
--------------------------------------------------------------------------------
/node_modules/base64id/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # [2.0.0](https://github.com/faeldt/base64id/compare/1.0.0...2.0.0) (2019-05-27)
2 |
3 |
4 | ### Code Refactoring
5 |
6 | * **buffer:** replace deprecated Buffer constructor usage ([#11](https://github.com/faeldt/base64id/issues/11)) ([ccfba54](https://github.com/faeldt/base64id/commit/ccfba54))
7 |
8 |
9 | ### BREAKING CHANGES
10 |
11 | * **buffer:** drop support for Node.js ≤ 4.4.x and 5.0.0 - 5.9.x
12 |
13 | See: https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/node_modules/base64id/README.md:
--------------------------------------------------------------------------------
1 | base64id
2 | ========
3 |
4 | Node.js module that generates a base64 id.
5 |
6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4.
7 |
8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes.
9 |
10 | ## Installation
11 |
12 | $ npm install base64id
13 |
14 | ## Usage
15 |
16 | var base64id = require('base64id');
17 |
18 | var id = base64id.generateId();
19 |
--------------------------------------------------------------------------------
/node_modules/better-assert/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/node_modules/better-assert/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2013-02-03
3 | ==================
4 |
5 | * Stop using the removed magic __stack global getter
6 |
7 | 0.1.0 / 2012-10-04
8 | ==================
9 |
10 | * add throwing of AssertionError for test frameworks etc
11 |
12 | 0.0.1 / 2010-01-03
13 | ==================
14 |
15 | * Initial release
16 |
--------------------------------------------------------------------------------
/node_modules/better-assert/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @echo "populate me"
4 |
5 | .PHONY: test
--------------------------------------------------------------------------------
/node_modules/better-assert/example.js:
--------------------------------------------------------------------------------
1 |
2 | var assert = require('./');
3 |
4 | test();
5 |
6 | function test() {
7 | var user = { name: 'tobi' };
8 | assert('tobi' == user.name);
9 | assert('number' == typeof user.age);
10 | }
--------------------------------------------------------------------------------
/node_modules/better-assert/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Module dependencies.
3 | */
4 |
5 | var AssertionError = require('assert').AssertionError
6 | , callsite = require('callsite')
7 | , fs = require('fs')
8 |
9 | /**
10 | * Expose `assert`.
11 | */
12 |
13 | module.exports = process.env.NO_ASSERT
14 | ? function(){}
15 | : assert;
16 |
17 | /**
18 | * Assert the given `expr`.
19 | */
20 |
21 | function assert(expr) {
22 | if (expr) return;
23 |
24 | var stack = callsite();
25 | var call = stack[1];
26 | var file = call.getFileName();
27 | var lineno = call.getLineNumber();
28 | var src = fs.readFileSync(file, 'utf8');
29 | var line = src.split('\n')[lineno-1];
30 | var src = line.match(/assert\((.*)\)/)[1];
31 |
32 | var err = new AssertionError({
33 | message: src,
34 | stackStartFunction: stack[0].getFunction()
35 | });
36 |
37 | throw err;
38 | }
39 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/binary-extensions.json.d.ts:
--------------------------------------------------------------------------------
1 | declare const binaryExtensionsJson: readonly string[];
2 |
3 | export = binaryExtensionsJson;
4 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/index.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | List of binary file extensions.
3 |
4 | @example
5 | ```
6 | import binaryExtensions = require('binary-extensions');
7 |
8 | console.log(binaryExtensions);
9 | //=> ['3ds', '3g2', …]
10 | ```
11 | */
12 | declare const binaryExtensions: readonly string[];
13 |
14 | export = binaryExtensions;
15 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./binary-extensions.json');
2 |
--------------------------------------------------------------------------------
/node_modules/binary-extensions/readme.md:
--------------------------------------------------------------------------------
1 | # binary-extensions [](https://travis-ci.org/sindresorhus/binary-extensions)
2 |
3 | > List of binary file extensions
4 |
5 | The list is just a [JSON file](binary-extensions.json) and can be used anywhere.
6 |
7 |
8 | ## Install
9 |
10 | ```
11 | $ npm install binary-extensions
12 | ```
13 |
14 |
15 | ## Usage
16 |
17 | ```js
18 | const binaryExtensions = require('binary-extensions');
19 |
20 | console.log(binaryExtensions);
21 | //=> ['3ds', '3g2', …]
22 | ```
23 |
24 |
25 | ## Related
26 |
27 | - [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file
28 | - [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions
29 |
30 |
31 | ## License
32 |
33 | MIT © [Sindre Sorhus](https://sindresorhus.com), [Paul Miller](https://paulmillr.com)
34 |
--------------------------------------------------------------------------------
/node_modules/blob/.idea/blob.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/node_modules/blob/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/node_modules/blob/.idea/markdown-navigator/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/node_modules/blob/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/node_modules/blob/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/node_modules/blob/.zuul.yml:
--------------------------------------------------------------------------------
1 | ui: mocha-bdd
2 | browsers:
3 | - name: chrome
4 | version: 8..latest
5 | - name: firefox
6 | version: 7..latest
7 | - name: safari
8 | version: 6..latest
9 | - name: opera
10 | version: 12.1..latest
11 | - name: ie
12 | version: 10..latest
13 | - name: android
14 | version: latest
15 |
--------------------------------------------------------------------------------
/node_modules/blob/Makefile:
--------------------------------------------------------------------------------
1 | REPORTER = dot
2 |
3 | build: blob.js
4 |
5 | blob.js:
6 | @./node_modules/.bin/browserify --standalone blob index.js > blob.js
7 |
8 | test:
9 | @./node_modules/.bin/zuul -- test/index.js
10 |
11 | clean:
12 | rm blob.js
13 |
14 | .PHONY: test blob.js
15 |
--------------------------------------------------------------------------------
/node_modules/blob/README.md:
--------------------------------------------------------------------------------
1 | # Blob
2 |
3 | A cross-browser `Blob` that falls back to `BlobBuilder` when appropriate.
4 | If neither is available, it exports `undefined`.
5 |
6 | ## Installation
7 |
8 | ``` bash
9 | $ npm install blob
10 | ```
11 |
12 | ## Example
13 |
14 | ``` js
15 | var Blob = require('blob');
16 | var b = new Blob(['hi', 'constructing', 'a', 'blob']);
17 | ```
18 |
19 | ## License
20 |
21 | MIT
22 |
--------------------------------------------------------------------------------
/node_modules/blob/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "blob",
3 | "repo": "webmodules/blob",
4 | "description": "Abstracts out Blob and uses BlobBulder in cases where it is supported with any vendor prefix.",
5 | "version": "0.0.4",
6 | "license": "MIT",
7 | "dependencies": {},
8 | "scripts": [
9 | "index.js"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/braces/lib/stringify.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const utils = require('./utils');
4 |
5 | module.exports = (ast, options = {}) => {
6 | let stringify = (node, parent = {}) => {
7 | let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
8 | let invalidNode = node.invalid === true && options.escapeInvalid === true;
9 | let output = '';
10 |
11 | if (node.value) {
12 | if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
13 | return '\\' + node.value;
14 | }
15 | return node.value;
16 | }
17 |
18 | if (node.value) {
19 | return node.value;
20 | }
21 |
22 | if (node.nodes) {
23 | for (let child of node.nodes) {
24 | output += stringify(child);
25 | }
26 | }
27 | return output;
28 | };
29 |
30 | return stringify(ast);
31 | };
32 |
33 |
--------------------------------------------------------------------------------
/node_modules/callsite/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/node_modules/callsite/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2013-01-24
3 | ==================
4 |
5 | * remove lame magical getters
6 |
7 | 0.0.1 / 2010-01-03
8 | ==================
9 |
10 | * Initial release
11 |
--------------------------------------------------------------------------------
/node_modules/callsite/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should
5 |
6 | .PHONY: test
--------------------------------------------------------------------------------
/node_modules/callsite/Readme.md:
--------------------------------------------------------------------------------
1 | # callstack
2 |
3 | Access to v8's "raw" `CallSite`s.
4 |
5 | ## Installation
6 |
7 | $ npm install callsite
8 |
9 | ## Example
10 |
11 | ```js
12 | var stack = require('callsite');
13 |
14 | foo();
15 |
16 | function foo() {
17 | bar();
18 | }
19 |
20 | function bar() {
21 | baz();
22 | }
23 |
24 | function baz() {
25 | console.log();
26 | stack().forEach(function(site){
27 | console.log(' \033[36m%s\033[90m in %s:%d\033[0m'
28 | , site.getFunctionName() || 'anonymous'
29 | , site.getFileName()
30 | , site.getLineNumber());
31 | });
32 | console.log();
33 | }
34 | ```
35 |
36 | ## Why?
37 |
38 | Because you can do weird, stupid, clever, wacky things such as:
39 |
40 | - [better-assert](https://github.com/visionmedia/better-assert)
41 |
42 | ## License
43 |
44 | MIT
45 |
--------------------------------------------------------------------------------
/node_modules/callsite/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = function(){
3 | var orig = Error.prepareStackTrace;
4 | Error.prepareStackTrace = function(_, stack){ return stack; };
5 | var err = new Error;
6 | Error.captureStackTrace(err, arguments.callee);
7 | var stack = err.stack;
8 | Error.prepareStackTrace = orig;
9 | return stack;
10 | };
11 |
--------------------------------------------------------------------------------
/node_modules/capture-stack-trace/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = Error.captureStackTrace || function (error) {
4 | var container = new Error();
5 |
6 | Object.defineProperty(error, 'stack', {
7 | configurable: true,
8 | get: function getStack() {
9 | var stack = container.stack;
10 |
11 | Object.defineProperty(this, 'stack', {
12 | value: stack
13 | });
14 |
15 | return stack;
16 | }
17 | });
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/capture-stack-trace/readme.md:
--------------------------------------------------------------------------------
1 | # capture-stack-trace [](https://travis-ci.org/floatdrop/capture-stack-trace)
2 |
3 | > Ponyfill for Error.captureStackTrace
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save capture-stack-trace
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var captureStackTrace = require('capture-stack-trace');
17 |
18 | captureStackTrace({});
19 | // => {stack: ...}
20 | ```
21 |
22 |
23 | ## API
24 |
25 | ### captureStackTrace(error)
26 |
27 | #### error
28 |
29 | *Required*
30 | Type: `Object`
31 |
32 | Target Object, that will recieve stack property.
33 |
34 | ## License
35 |
36 | MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
37 |
--------------------------------------------------------------------------------
/node_modules/cli-boxes/boxes.json:
--------------------------------------------------------------------------------
1 | {
2 | "single": {
3 | "topLeft": "┌",
4 | "topRight": "┐",
5 | "bottomRight": "┘",
6 | "bottomLeft": "└",
7 | "vertical": "│",
8 | "horizontal": "─"
9 | },
10 | "double": {
11 | "topLeft": "╔",
12 | "topRight": "╗",
13 | "bottomRight": "╝",
14 | "bottomLeft": "╚",
15 | "vertical": "║",
16 | "horizontal": "═"
17 | },
18 | "round": {
19 | "topLeft": "╭",
20 | "topRight": "╮",
21 | "bottomRight": "╯",
22 | "bottomLeft": "╰",
23 | "vertical": "│",
24 | "horizontal": "─"
25 | },
26 | "single-double": {
27 | "topLeft": "╓",
28 | "topRight": "╖",
29 | "bottomRight": "╜",
30 | "bottomLeft": "╙",
31 | "vertical": "║",
32 | "horizontal": "─"
33 | },
34 | "double-single": {
35 | "topLeft": "╒",
36 | "topRight": "╕",
37 | "bottomRight": "╛",
38 | "bottomLeft": "╘",
39 | "vertical": "│",
40 | "horizontal": "═"
41 | },
42 | "classic": {
43 | "topLeft": "+",
44 | "topRight": "+",
45 | "bottomRight": "+",
46 | "bottomLeft": "+",
47 | "vertical": "|",
48 | "horizontal": "-"
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/node_modules/cli-boxes/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = require('./boxes.json');
3 |
--------------------------------------------------------------------------------
/node_modules/color-name/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 2015 Dmitry Ivanov
3 |
4 | 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:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | 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.
--------------------------------------------------------------------------------
/node_modules/color-name/README.md:
--------------------------------------------------------------------------------
1 | A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.
2 |
3 | [](https://nodei.co/npm/color-name/)
4 |
5 |
6 | ```js
7 | var colors = require('color-name');
8 | colors.red //[255,0,0]
9 | ```
10 |
11 |
12 |
--------------------------------------------------------------------------------
/node_modules/color-name/test.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 |
3 | var names = require('./');
4 | var assert = require('assert');
5 |
6 | assert.deepEqual(names.red, [255,0,0]);
7 | assert.deepEqual(names.aliceblue, [240,248,255]);
8 |
--------------------------------------------------------------------------------
/node_modules/component-bind/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/node_modules/component-bind/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.0.0 / 2014-05-27
3 | ==================
4 |
5 | * index: use slice ref (#7, @viatropos)
6 | * package: rename package to "component-bind"
7 | * package: add "repository" field (#6, @repoify)
8 | * package: add "component" section
9 |
10 | 0.0.1 / 2010-01-03
11 | ==================
12 |
13 | * Initial release
14 |
--------------------------------------------------------------------------------
/node_modules/component-bind/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha \
4 | --require should \
5 | --reporter spec
6 |
7 | .PHONY: test
--------------------------------------------------------------------------------
/node_modules/component-bind/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bind",
3 | "version": "1.0.0",
4 | "description": "function binding utility",
5 | "keywords": [
6 | "bind",
7 | "utility"
8 | ],
9 | "dependencies": {},
10 | "scripts": [
11 | "index.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/component-bind/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Slice reference.
3 | */
4 |
5 | var slice = [].slice;
6 |
7 | /**
8 | * Bind `obj` to `fn`.
9 | *
10 | * @param {Object} obj
11 | * @param {Function|String} fn or string
12 | * @return {Function}
13 | * @api public
14 | */
15 |
16 | module.exports = function(obj, fn){
17 | if ('string' == typeof fn) fn = obj[fn];
18 | if ('function' != typeof fn) throw new Error('bind() requires a function');
19 | var args = slice.call(arguments, 2);
20 | return function(){
21 | return fn.apply(obj, args.concat(slice.call(arguments)));
22 | }
23 | };
24 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | build
3 | node_modules
4 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/History.md:
--------------------------------------------------------------------------------
1 |
2 | 0.0.2 / 2012-09-03
3 | ==================
4 |
5 | * fix typo in package.json
6 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/Makefile:
--------------------------------------------------------------------------------
1 |
2 | build: components index.js
3 | @component build
4 |
5 | components:
6 | @Component install
7 |
8 | clean:
9 | rm -fr build components template.js
10 |
11 | test:
12 | @node_modules/.bin/mocha \
13 | --require should \
14 | --reporter spec
15 |
16 | .PHONY: clean test
17 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/Readme.md:
--------------------------------------------------------------------------------
1 | # inherit
2 |
3 | Prototype inheritance utility.
4 |
5 | ## Installation
6 |
7 | ```
8 | $ component install component/inherit
9 | ```
10 |
11 | ## Example
12 |
13 | ```js
14 | var inherit = require('inherit');
15 |
16 | function Human() {}
17 | function Woman() {}
18 |
19 | inherit(Woman, Human);
20 | ```
21 |
22 | ## License
23 |
24 | MIT
25 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "inherit",
3 | "description": "Prototype inheritance utility",
4 | "version": "0.0.3",
5 | "keywords": ["inherit", "utility"],
6 | "dependencies": {},
7 | "scripts": [
8 | "index.js"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/component-inherit/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = function(a, b){
3 | var fn = function(){};
4 | fn.prototype = b.prototype;
5 | a.prototype = new fn;
6 | a.prototype.constructor = a;
7 | };
--------------------------------------------------------------------------------
/node_modules/component-inherit/test/inherit.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Module dependencies.
4 | */
5 |
6 | var inherit = require('..');
7 |
8 | describe('inherit(a, b)', function(){
9 | it('should inherit b\'s prototype', function(){
10 | function Loki(){}
11 | function Animal(){}
12 |
13 | Animal.prototype.species = 'unknown';
14 |
15 | inherit(Loki, Animal);
16 |
17 | var loki = new Loki;
18 | loki.species.should.equal('unknown');
19 | loki.constructor.should.equal(Loki);
20 | })
21 | })
--------------------------------------------------------------------------------
/node_modules/concat-map/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.4
4 | - 0.6
5 |
--------------------------------------------------------------------------------
/node_modules/concat-map/example/map.js:
--------------------------------------------------------------------------------
1 | var concatMap = require('../');
2 | var xs = [ 1, 2, 3, 4, 5, 6 ];
3 | var ys = concatMap(xs, function (x) {
4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
5 | });
6 | console.dir(ys);
7 |
--------------------------------------------------------------------------------
/node_modules/concat-map/index.js:
--------------------------------------------------------------------------------
1 | module.exports = function (xs, fn) {
2 | var res = [];
3 | for (var i = 0; i < xs.length; i++) {
4 | var x = fn(xs[i], i);
5 | if (isArray(x)) res.push.apply(res, x);
6 | else res.push(x);
7 | }
8 | return res;
9 | };
10 |
11 | var isArray = Array.isArray || function (xs) {
12 | return Object.prototype.toString.call(xs) === '[object Array]';
13 | };
14 |
--------------------------------------------------------------------------------
/node_modules/content-type/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.0.4 / 2017-09-11
2 | ==================
3 |
4 | * perf: skip parameter parsing when no parameters
5 |
6 | 1.0.3 / 2017-09-10
7 | ==================
8 |
9 | * perf: remove argument reassignment
10 |
11 | 1.0.2 / 2016-05-09
12 | ==================
13 |
14 | * perf: enable strict mode
15 |
16 | 1.0.1 / 2015-02-13
17 | ==================
18 |
19 | * Improve missing `Content-Type` header error message
20 |
21 | 1.0.0 / 2015-02-01
22 | ==================
23 |
24 | * Initial implementation, derived from `media-typer@0.3.0`
25 |
--------------------------------------------------------------------------------
/node_modules/cookie-signature/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | *.sock
5 |
--------------------------------------------------------------------------------
/node_modules/cookie-signature/History.md:
--------------------------------------------------------------------------------
1 | 1.0.6 / 2015-02-03
2 | ==================
3 |
4 | * use `npm test` instead of `make test` to run tests
5 | * clearer assertion messages when checking input
6 |
7 |
8 | 1.0.5 / 2014-09-05
9 | ==================
10 |
11 | * add license to package.json
12 |
13 | 1.0.4 / 2014-06-25
14 | ==================
15 |
16 | * corrected avoidance of timing attacks (thanks @tenbits!)
17 |
18 | 1.0.3 / 2014-01-28
19 | ==================
20 |
21 | * [incorrect] fix for timing attacks
22 |
23 | 1.0.2 / 2014-01-28
24 | ==================
25 |
26 | * fix missing repository warning
27 | * fix typo in test
28 |
29 | 1.0.1 / 2013-04-15
30 | ==================
31 |
32 | * Revert "Changed underlying HMAC algo. to sha512."
33 | * Revert "Fix for timing attacks on MAC verification."
34 |
35 | 0.0.1 / 2010-01-03
36 | ==================
37 |
38 | * Initial release
39 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 5.0.0 - 2016-10-30
2 |
3 | - Add support for `options.shell`
4 | - Improve parsing of shebangs by using [`shebang-command`](https://github.com/kevva/shebang-command) module
5 | - Refactor some code to make it more clear
6 | - Update README caveats
7 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/lib/util/escapeArgument.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | function escapeArgument(arg, quote) {
4 | // Convert to string
5 | arg = '' + arg;
6 |
7 | // If we are not going to quote the argument,
8 | // escape shell metacharacters, including double and single quotes:
9 | if (!quote) {
10 | arg = arg.replace(/([()%!^<>&|;,"'\s])/g, '^$1');
11 | } else {
12 | // Sequence of backslashes followed by a double quote:
13 | // double up all the backslashes and escape the double quote
14 | arg = arg.replace(/(\\*)"/g, '$1$1\\"');
15 |
16 | // Sequence of backslashes followed by the end of the string
17 | // (which will become a double quote later):
18 | // double up all the backslashes
19 | arg = arg.replace(/(\\*)$/, '$1$1');
20 |
21 | // All other backslashes occur literally
22 |
23 | // Quote the whole thing:
24 | arg = '"' + arg + '"';
25 | }
26 |
27 | return arg;
28 | }
29 |
30 | module.exports = escapeArgument;
31 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/lib/util/escapeCommand.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var escapeArgument = require('./escapeArgument');
4 |
5 | function escapeCommand(command) {
6 | // Do not escape if this command is not dangerous..
7 | // We do this so that commands like "echo" or "ifconfig" work
8 | // Quoting them, will make them unaccessible
9 | return /^[a-z0-9_-]+$/i.test(command) ? command : escapeArgument(command, true);
10 | }
11 |
12 | module.exports = escapeCommand;
13 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // See: https://github.com/IndigoUnited/node-cross-spawn/pull/34#issuecomment-221623455
4 | function hasEmptyArgumentBug() {
5 | var nodeVer;
6 |
7 | if (process.platform !== 'win32') {
8 | return false;
9 | }
10 |
11 | nodeVer = process.version.substr(1).split('.').map(function (num) {
12 | return parseInt(num, 10);
13 | });
14 |
15 | return (nodeVer[0] === 0 && nodeVer[1] < 12);
16 | }
17 |
18 | module.exports = hasEmptyArgumentBug();
19 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/lib/util/readShebang.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var fs = require('fs');
4 | var LRU = require('lru-cache');
5 | var shebangCommand = require('shebang-command');
6 |
7 | var shebangCache = new LRU({ max: 50, maxAge: 30 * 1000 }); // Cache just for 30sec
8 |
9 | function readShebang(command) {
10 | var buffer;
11 | var fd;
12 | var shebang;
13 |
14 | // Check if it is in the cache first
15 | if (shebangCache.has(command)) {
16 | return shebangCache.get(command);
17 | }
18 |
19 | // Read the first 150 bytes from the file
20 | buffer = new Buffer(150);
21 |
22 | try {
23 | fd = fs.openSync(command, 'r');
24 | fs.readSync(fd, buffer, 0, 150, 0);
25 | fs.closeSync(fd);
26 | } catch (e) { /* empty */ }
27 |
28 | // Attempt to extract shebang (null is returned if not a shebang)
29 | shebang = shebangCommand(buffer.toString());
30 |
31 | // Store the shebang in the cache
32 | shebangCache.set(command, shebang);
33 |
34 | return shebang;
35 | }
36 |
37 | module.exports = readShebang;
38 |
--------------------------------------------------------------------------------
/node_modules/cross-spawn/lib/util/resolveCommand.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var path = require('path');
4 | var which = require('which');
5 | var LRU = require('lru-cache');
6 |
7 | var commandCache = new LRU({ max: 50, maxAge: 30 * 1000 }); // Cache just for 30sec
8 |
9 | function resolveCommand(command, noExtension) {
10 | var resolved;
11 |
12 | noExtension = !!noExtension;
13 | resolved = commandCache.get(command + '!' + noExtension);
14 |
15 | // Check if its resolved in the cache
16 | if (commandCache.has(command)) {
17 | return commandCache.get(command);
18 | }
19 |
20 | try {
21 | resolved = !noExtension ?
22 | which.sync(command) :
23 | which.sync(command, { pathExt: path.delimiter + (process.env.PATHEXT || '') });
24 | } catch (e) { /* empty */ }
25 |
26 | commandCache.set(command + '!' + noExtension, resolved);
27 |
28 | return resolved;
29 | }
30 |
31 | module.exports = resolveCommand;
32 |
--------------------------------------------------------------------------------
/node_modules/crypto-random-string/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const crypto = require('crypto');
3 |
4 | module.exports = len => {
5 | if (!Number.isFinite(len)) {
6 | throw new TypeError('Expected a finite number');
7 | }
8 |
9 | return crypto.randomBytes(Math.ceil(len / 2)).toString('hex').slice(0, len);
10 | };
11 |
--------------------------------------------------------------------------------
/node_modules/debug/.coveralls.yml:
--------------------------------------------------------------------------------
1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve
2 |
--------------------------------------------------------------------------------
/node_modules/debug/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "node": true
5 | },
6 | "rules": {
7 | "no-console": 0,
8 | "no-empty": [1, { "allowEmptyCatch": true }]
9 | },
10 | "extends": "eslint:recommended"
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/debug/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | example
5 | *.sock
6 | dist
7 | yarn.lock
8 | coverage
9 | bower.json
10 |
--------------------------------------------------------------------------------
/node_modules/debug/.travis.yml:
--------------------------------------------------------------------------------
1 |
2 | language: node_js
3 | node_js:
4 | - "6"
5 | - "5"
6 | - "4"
7 |
8 | install:
9 | - make node_modules
10 |
11 | script:
12 | - make lint
13 | - make test
14 | - make coveralls
15 |
--------------------------------------------------------------------------------
/node_modules/debug/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "debug",
3 | "repo": "visionmedia/debug",
4 | "description": "small debugging utility",
5 | "version": "2.6.9",
6 | "keywords": [
7 | "debug",
8 | "log",
9 | "debugger"
10 | ],
11 | "main": "src/browser.js",
12 | "scripts": [
13 | "src/browser.js",
14 | "src/debug.js"
15 | ],
16 | "dependencies": {
17 | "rauchg/ms.js": "0.7.1"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/debug/node.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./src/node');
2 |
--------------------------------------------------------------------------------
/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process !== 'undefined' && process.type === 'renderer') {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/debug/src/inspector-log.js:
--------------------------------------------------------------------------------
1 | module.exports = inspectorLog;
2 |
3 | // black hole
4 | const nullStream = new (require('stream').Writable)();
5 | nullStream._write = () => {};
6 |
7 | /**
8 | * Outputs a `console.log()` to the Node.js Inspector console *only*.
9 | */
10 | function inspectorLog() {
11 | const stdout = console._stdout;
12 | console._stdout = nullStream;
13 | console.log.apply(console, arguments);
14 | console._stdout = stdout;
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/deep-extend/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./lib/deep-extend');
2 |
--------------------------------------------------------------------------------
/node_modules/depd/lib/compat/event-listener-count.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * depd
3 | * Copyright(c) 2015 Douglas Christopher Wilson
4 | * MIT Licensed
5 | */
6 |
7 | 'use strict'
8 |
9 | /**
10 | * Module exports.
11 | * @public
12 | */
13 |
14 | module.exports = eventListenerCount
15 |
16 | /**
17 | * Get the count of listeners on an event emitter of a specific type.
18 | */
19 |
20 | function eventListenerCount (emitter, type) {
21 | return emitter.listeners(type).length
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/encodeurl/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.0.2 / 2018-01-21
2 | ==================
3 |
4 | * Fix encoding `%` as last character
5 |
6 | 1.0.1 / 2016-06-09
7 | ==================
8 |
9 | * Fix encoding unpaired surrogates at start/end of string
10 |
11 | 1.0.0 / 2016-06-08
12 | ==================
13 |
14 | * Initial release
15 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/lib/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = require('./socket');
3 |
4 | /**
5 | * Exports parser
6 | *
7 | * @api public
8 | *
9 | */
10 | module.exports.parser = require('engine.io-parser');
11 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer / nwjs process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/node_modules/ws/browser.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = function() {
4 | throw new Error(
5 | 'ws does not work in the browser. Browser clients must use the native ' +
6 | 'WebSocket object'
7 | );
8 | };
9 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/node_modules/ws/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const WebSocket = require('./lib/websocket');
4 |
5 | WebSocket.Server = require('./lib/websocket-server');
6 | WebSocket.Receiver = require('./lib/receiver');
7 | WebSocket.Sender = require('./lib/sender');
8 |
9 | module.exports = WebSocket;
10 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/node_modules/ws/lib/constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = {
4 | BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],
5 | GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',
6 | kStatusCode: Symbol('status-code'),
7 | kWebSocket: Symbol('websocket'),
8 | EMPTY_BUFFER: Buffer.alloc(0),
9 | NOOP: () => {}
10 | };
11 |
--------------------------------------------------------------------------------
/node_modules/engine.io-client/node_modules/ws/lib/validation.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | try {
4 | const isValidUTF8 = require('utf-8-validate');
5 |
6 | exports.isValidUTF8 =
7 | typeof isValidUTF8 === 'object'
8 | ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0
9 | : isValidUTF8;
10 | } catch (e) /* istanbul ignore next */ {
11 | exports.isValidUTF8 = () => true;
12 | }
13 |
14 | /**
15 | * Checks if a status code is allowed in a close frame.
16 | *
17 | * @param {Number} code The status code
18 | * @return {Boolean} `true` if the status code is valid, else `false`
19 | * @public
20 | */
21 | exports.isValidStatusCode = (code) => {
22 | return (
23 | (code >= 1000 &&
24 | code <= 1013 &&
25 | code !== 1004 &&
26 | code !== 1005 &&
27 | code !== 1006) ||
28 | (code >= 3000 && code <= 4999)
29 | );
30 | };
31 |
--------------------------------------------------------------------------------
/node_modules/engine.io-parser/lib/keys.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Gets the keys for an object.
4 | *
5 | * @return {Array} keys
6 | * @api private
7 | */
8 |
9 | module.exports = Object.keys || function keys (obj){
10 | var arr = [];
11 | var has = Object.prototype.hasOwnProperty;
12 |
13 | for (var i in obj) {
14 | if (has.call(obj, i)) {
15 | arr.push(i);
16 | }
17 | }
18 | return arr;
19 | };
20 |
--------------------------------------------------------------------------------
/node_modules/engine.io/lib/transports/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Module dependencies.
4 | */
5 |
6 | var XHR = require('./polling-xhr');
7 | var JSONP = require('./polling-jsonp');
8 |
9 | /**
10 | * Export transports.
11 | */
12 |
13 | module.exports = exports = {
14 | polling: polling,
15 | websocket: require('./websocket')
16 | };
17 |
18 | /**
19 | * Export upgrades map.
20 | */
21 |
22 | exports.polling.upgradesTo = ['websocket'];
23 |
24 | /**
25 | * Polling polymorphic constructor.
26 | *
27 | * @api private
28 | */
29 |
30 | function polling (req) {
31 | if ('string' === typeof req._query.j) {
32 | return new JSONP(req);
33 | } else {
34 | return new XHR(req);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/node_modules/engine.io/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer / nwjs process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/escape-html/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # escape-html
3 |
4 | Escape string for use in HTML
5 |
6 | ## Example
7 |
8 | ```js
9 | var escape = require('escape-html');
10 | var html = escape('foo & bar');
11 | // -> foo & bar
12 | ```
13 |
14 | ## Benchmark
15 |
16 | ```
17 | $ npm run-script bench
18 |
19 | > escape-html@1.0.3 bench nodejs-escape-html
20 | > node benchmark/index.js
21 |
22 |
23 | http_parser@1.0
24 | node@0.10.33
25 | v8@3.14.5.9
26 | ares@1.9.0-DEV
27 | uv@0.10.29
28 | zlib@1.2.3
29 | modules@11
30 | openssl@1.0.1j
31 |
32 | 1 test completed.
33 | 2 tests completed.
34 | 3 tests completed.
35 |
36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled)
37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled)
38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled)
39 | ```
40 |
41 | ## License
42 |
43 | MIT
--------------------------------------------------------------------------------
/node_modules/escape-string-regexp/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
4 |
5 | module.exports = function (str) {
6 | if (typeof str !== 'string') {
7 | throw new TypeError('Expected a string');
8 | }
9 |
10 | return str.replace(matchOperatorsRe, '\\$&');
11 | };
12 |
--------------------------------------------------------------------------------
/node_modules/escape-string-regexp/readme.md:
--------------------------------------------------------------------------------
1 | # escape-string-regexp [](https://travis-ci.org/sindresorhus/escape-string-regexp)
2 |
3 | > Escape RegExp special characters
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save escape-string-regexp
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const escapeStringRegexp = require('escape-string-regexp');
17 |
18 | const escapedString = escapeStringRegexp('how much $ for a unicorn?');
19 | //=> 'how much \$ for a unicorn\?'
20 |
21 | new RegExp(escapedString);
22 | ```
23 |
24 |
25 | ## License
26 |
27 | MIT © [Sindre Sorhus](http://sindresorhus.com)
28 |
--------------------------------------------------------------------------------
/node_modules/execa/lib/stdio.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const alias = ['stdin', 'stdout', 'stderr'];
3 |
4 | const hasAlias = opts => alias.some(x => Boolean(opts[x]));
5 |
6 | module.exports = opts => {
7 | if (!opts) {
8 | return null;
9 | }
10 |
11 | if (opts.stdio && hasAlias(opts)) {
12 | throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`);
13 | }
14 |
15 | if (typeof opts.stdio === 'string') {
16 | return opts.stdio;
17 | }
18 |
19 | const stdio = opts.stdio || [];
20 |
21 | if (!Array.isArray(stdio)) {
22 | throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
23 | }
24 |
25 | const result = [];
26 | const len = Math.max(stdio.length, alias.length);
27 |
28 | for (let i = 0; i < len; i++) {
29 | let value = null;
30 |
31 | if (stdio[i] !== undefined) {
32 | value = stdio[i];
33 | } else if (opts[alias[i]] !== undefined) {
34 | value = opts[alias[i]];
35 | }
36 |
37 | result[i] = value;
38 | }
39 |
40 | return result;
41 | };
42 |
--------------------------------------------------------------------------------
/node_modules/express/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * express
3 | * Copyright(c) 2009-2013 TJ Holowaychuk
4 | * Copyright(c) 2013 Roman Shtylman
5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson
6 | * MIT Licensed
7 | */
8 |
9 | 'use strict';
10 |
11 | module.exports = require('./lib/express');
12 |
--------------------------------------------------------------------------------
/node_modules/express/lib/middleware/init.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * express
3 | * Copyright(c) 2009-2013 TJ Holowaychuk
4 | * Copyright(c) 2013 Roman Shtylman
5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson
6 | * MIT Licensed
7 | */
8 |
9 | 'use strict';
10 |
11 | /**
12 | * Module dependencies.
13 | * @private
14 | */
15 |
16 | var setPrototypeOf = require('setprototypeof')
17 |
18 | /**
19 | * Initialization middleware, exposing the
20 | * request and response to each other, as well
21 | * as defaulting the X-Powered-By header field.
22 | *
23 | * @param {Function} app
24 | * @return {Function}
25 | * @api private
26 | */
27 |
28 | exports.init = function(app){
29 | return function expressInit(req, res, next){
30 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
31 | req.res = res;
32 | res.req = req;
33 | req.next = next;
34 |
35 | setPrototypeOf(req, app.request)
36 | setPrototypeOf(res, app.response)
37 |
38 | res.locals = res.locals || Object.create(null);
39 |
40 | next();
41 | };
42 | };
43 |
44 |
--------------------------------------------------------------------------------
/node_modules/express/lib/middleware/query.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * express
3 | * Copyright(c) 2009-2013 TJ Holowaychuk
4 | * Copyright(c) 2013 Roman Shtylman
5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson
6 | * MIT Licensed
7 | */
8 |
9 | 'use strict';
10 |
11 | /**
12 | * Module dependencies.
13 | */
14 |
15 | var merge = require('utils-merge')
16 | var parseUrl = require('parseurl');
17 | var qs = require('qs');
18 |
19 | /**
20 | * @param {Object} options
21 | * @return {Function}
22 | * @api public
23 | */
24 |
25 | module.exports = function query(options) {
26 | var opts = merge({}, options)
27 | var queryparse = qs.parse;
28 |
29 | if (typeof options === 'function') {
30 | queryparse = options;
31 | opts = undefined;
32 | }
33 |
34 | if (opts !== undefined && opts.allowPrototypes === undefined) {
35 | // back-compat for qs module
36 | opts.allowPrototypes = true;
37 | }
38 |
39 | return function query(req, res, next){
40 | if (!req.query) {
41 | var val = parseUrl(req).query;
42 | req.query = queryparse(val, opts);
43 | }
44 |
45 | next();
46 | };
47 | };
48 |
--------------------------------------------------------------------------------
/node_modules/forwarded/HISTORY.md:
--------------------------------------------------------------------------------
1 | 0.1.2 / 2017-09-14
2 | ==================
3 |
4 | * perf: improve header parsing
5 | * perf: reduce overhead when no `X-Forwarded-For` header
6 |
7 | 0.1.1 / 2017-09-10
8 | ==================
9 |
10 | * Fix trimming leading / trailing OWS
11 | * perf: hoist regular expression
12 |
13 | 0.1.0 / 2014-09-21
14 | ==================
15 |
16 | * Initial release
17 |
--------------------------------------------------------------------------------
/node_modules/get-stream/buffer-stream.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const PassThrough = require('stream').PassThrough;
3 |
4 | module.exports = opts => {
5 | opts = Object.assign({}, opts);
6 |
7 | const array = opts.array;
8 | let encoding = opts.encoding;
9 | const buffer = encoding === 'buffer';
10 | let objectMode = false;
11 |
12 | if (array) {
13 | objectMode = !(encoding || buffer);
14 | } else {
15 | encoding = encoding || 'utf8';
16 | }
17 |
18 | if (buffer) {
19 | encoding = null;
20 | }
21 |
22 | let len = 0;
23 | const ret = [];
24 | const stream = new PassThrough({objectMode});
25 |
26 | if (encoding) {
27 | stream.setEncoding(encoding);
28 | }
29 |
30 | stream.on('data', chunk => {
31 | ret.push(chunk);
32 |
33 | if (objectMode) {
34 | len = ret.length;
35 | } else {
36 | len += chunk.length;
37 | }
38 | });
39 |
40 | stream.getBufferedValue = () => {
41 | if (array) {
42 | return ret;
43 | }
44 |
45 | return buffer ? Buffer.concat(ret, len) : ret.join('');
46 | };
47 |
48 | stream.getBufferedLength = () => len;
49 |
50 | return stream;
51 | };
52 |
--------------------------------------------------------------------------------
/node_modules/glob-parent/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) 2015, 2019 Elan Shanker
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/graceful-fs/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/graceful-fs/clone.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 |
3 | module.exports = clone
4 |
5 | function clone (obj) {
6 | if (obj === null || typeof obj !== 'object')
7 | return obj
8 |
9 | if (obj instanceof Object)
10 | var copy = { __proto__: obj.__proto__ }
11 | else
12 | var copy = Object.create(null)
13 |
14 | Object.getOwnPropertyNames(obj).forEach(function (key) {
15 | Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))
16 | })
17 |
18 | return copy
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/has-binary2/README.md:
--------------------------------------------------------------------------------
1 | has-binarydata.js
2 | =================
3 |
4 | Simple module to test if an object contains binary data
5 |
--------------------------------------------------------------------------------
/node_modules/has-cors/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | build
3 | node_modules
4 |
--------------------------------------------------------------------------------
/node_modules/has-cors/History.md:
--------------------------------------------------------------------------------
1 |
2 | 1.1.0 / 2014-11-12
3 | ==================
4 |
5 | * remove "global" module dependency (#2, @achingbrain)
6 |
7 | 1.0.2 / 2013-08-27
8 | ==================
9 |
10 | * explicitly use `global` instead of being implicit
11 | * pin "component/global" to v2.0.1
12 |
13 | 1.0.1 / 2013-08-23
14 | ==================
15 |
16 | * package: add "component" section
17 |
18 | 1.0.0 / 2013-08-22
19 | ==================
20 |
21 | * Initial release
22 |
--------------------------------------------------------------------------------
/node_modules/has-cors/Makefile:
--------------------------------------------------------------------------------
1 |
2 | build: components index.js
3 | @component build --dev
4 |
5 | components: component.json
6 | @component install --dev
7 |
8 | clean:
9 | rm -fr build components template.js
10 |
11 | .PHONY: clean
12 |
--------------------------------------------------------------------------------
/node_modules/has-cors/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # has-cors
3 |
4 | Detects support for Cross-Origin Resource Sharing
5 |
6 | ## Installation
7 |
8 | Install with [component(1)](http://component.io):
9 |
10 | $ component install component/has-cors
11 |
12 | ## API
13 |
14 | Exports `true` if the user-agent supports CORS, or `false` otherwise.
15 |
16 | ``` js
17 | var hasCORS = require('has-cors');
18 | console.log(hasCORS);
19 | // true
20 | ```
21 |
22 | ## License
23 |
24 | MIT
25 |
--------------------------------------------------------------------------------
/node_modules/has-cors/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "has-cors",
3 | "repo": "component/has-cors",
4 | "description": "Detects support for Cross-Origin Resource Sharing",
5 | "version": "1.1.0",
6 | "keywords": [],
7 | "development": {},
8 | "license": "MIT",
9 | "main": "index.js",
10 | "scripts": [
11 | "index.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/has-cors/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Module exports.
4 | *
5 | * Logic borrowed from Modernizr:
6 | *
7 | * - https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cors.js
8 | */
9 |
10 | try {
11 | module.exports = typeof XMLHttpRequest !== 'undefined' &&
12 | 'withCredentials' in new XMLHttpRequest();
13 | } catch (err) {
14 | // if XMLHttp support is disabled in IE then it will throw
15 | // when trying to create
16 | module.exports = false;
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/has-cors/test.js:
--------------------------------------------------------------------------------
1 | var expect = require('chai').expect;
2 |
3 | describe('has-cors', function() {
4 | beforeEach(function() {
5 | // make sure result is not cached
6 | delete require.cache[require.resolve('./')];
7 | });
8 |
9 | it('should not have cors', function() {
10 | var hasCors = require('./');
11 |
12 | expect(hasCors).to.be.false;
13 | });
14 |
15 | it('should have cors', function() {
16 | global.XMLHttpRequest = function() {
17 | this.withCredentials = true;
18 | };
19 |
20 | var hasCors = require('./');
21 |
22 | expect(hasCors).to.be.true;
23 | });
24 | });
25 |
--------------------------------------------------------------------------------
/node_modules/has-flag/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = (flag, argv) => {
3 | argv = argv || process.argv;
4 | const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
5 | const pos = argv.indexOf(prefix + flag);
6 | const terminatorPos = argv.indexOf('--');
7 | return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
8 | };
9 |
--------------------------------------------------------------------------------
/node_modules/iconv-lite/encodings/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | // Update this array if you add/rename/remove files in this directory.
4 | // We support Browserify by skipping automatic module discovery and requiring modules directly.
5 | var modules = [
6 | require("./internal"),
7 | require("./utf16"),
8 | require("./utf7"),
9 | require("./sbcs-codec"),
10 | require("./sbcs-data"),
11 | require("./sbcs-data-generated"),
12 | require("./dbcs-codec"),
13 | require("./dbcs-data"),
14 | ];
15 |
16 | // Put all encoding/alias/codec definitions to single object and export it.
17 | for (var i = 0; i < modules.length; i++) {
18 | var module = modules[i];
19 | for (var enc in module)
20 | if (Object.prototype.hasOwnProperty.call(module, enc))
21 | exports[enc] = module[enc];
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/iconv-lite/lib/index.d.ts:
--------------------------------------------------------------------------------
1 | /*---------------------------------------------------------------------------------------------
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | * REQUIREMENT: This definition is dependent on the @types/node definition.
5 | * Install with `npm install @types/node --save-dev`
6 | *--------------------------------------------------------------------------------------------*/
7 |
8 | declare module 'iconv-lite' {
9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string;
10 |
11 | export function encode(content: string, encoding: string, options?: Options): Buffer;
12 |
13 | export function encodingExists(encoding: string): boolean;
14 |
15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
16 |
17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
18 | }
19 |
20 | export interface Options {
21 | stripBOM?: boolean;
22 | addBOM?: boolean;
23 | defaultEncoding?: string;
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/ignore-by-default/LICENSE:
--------------------------------------------------------------------------------
1 | ISC License (ISC)
2 | Copyright (c) 2016, Mark Wubben
3 |
4 | Permission to use, copy, modify, and/or distribute this software for any purpose
5 | with or without fee is hereby granted, provided that the above copyright notice
6 | and this permission notice appear in all copies.
7 |
8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
10 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
12 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
13 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
14 | THIS SOFTWARE.
15 |
--------------------------------------------------------------------------------
/node_modules/ignore-by-default/README.md:
--------------------------------------------------------------------------------
1 | # ignore-by-default
2 |
3 | This is a package aimed at Node.js development tools. It provides a list of
4 | directories that should probably be ignored by such tools, e.g. when watching
5 | for file changes.
6 |
7 | It's used by [AVA](https://www.npmjs.com/package/ava) and
8 | [nodemon](https://www.npmjs.com/package/nodemon).
9 |
10 | [Please contribute!](./CONTRIBUTING.md)
11 |
12 | ## Installation
13 |
14 | ```
15 | npm install --save ignore-by-default
16 | ```
17 |
18 | ## Usage
19 |
20 | The `ignore-by-default` module exports a `directories()` function, which will
21 | return an array of directory names. These are the ones you should ignore.
22 |
23 | ```js
24 | // ['.git', '.sass_cache', …]
25 | var ignoredDirectories = require('ignore-by-default').directories()
26 | ```
27 |
--------------------------------------------------------------------------------
/node_modules/ignore-by-default/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 |
3 | exports.directories = function () {
4 | return [
5 | '.git', // Git repository files, see
6 | '.nyc_output', // Temporary directory where nyc stores coverage data, see
7 | '.sass-cache', // Cache folder for node-sass, see
8 | 'bower_components', // Where Bower packages are installed, see
9 | 'coverage', // Standard output directory for code coverage reports, see
10 | 'node_modules' // Where Node modules are installed, see
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/indexof/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | build
3 |
--------------------------------------------------------------------------------
/node_modules/indexof/Makefile:
--------------------------------------------------------------------------------
1 |
2 | build: components index.js
3 | @component build
4 |
5 | components:
6 | @Component install
7 |
8 | clean:
9 | rm -fr build components template.js
10 |
11 | .PHONY: clean
12 |
--------------------------------------------------------------------------------
/node_modules/indexof/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # indexOf
3 |
4 | Lame indexOf thing, thanks microsoft
5 |
6 | ## Example
7 |
8 | ```js
9 | var index = require('indexof');
10 | index(arr, obj);
11 | ```
12 |
13 | ## License
14 |
15 | MIT
--------------------------------------------------------------------------------
/node_modules/indexof/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "indexof",
3 | "description": "Microsoft sucks",
4 | "version": "0.0.1",
5 | "keywords": ["index", "array", "indexOf"],
6 | "dependencies": {},
7 | "scripts": [
8 | "index.js"
9 | ]
10 | }
--------------------------------------------------------------------------------
/node_modules/indexof/index.js:
--------------------------------------------------------------------------------
1 |
2 | var indexOf = [].indexOf;
3 |
4 | module.exports = function(arr, obj){
5 | if (indexOf) return arr.indexOf(obj);
6 | for (var i = 0; i < arr.length; ++i) {
7 | if (arr[i] === obj) return i;
8 | }
9 | return -1;
10 | };
--------------------------------------------------------------------------------
/node_modules/inherits/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 | PERFORMANCE OF THIS SOFTWARE.
16 |
17 |
--------------------------------------------------------------------------------
/node_modules/inherits/inherits.js:
--------------------------------------------------------------------------------
1 | try {
2 | var util = require('util');
3 | if (typeof util.inherits !== 'function') throw '';
4 | module.exports = util.inherits;
5 | } catch (e) {
6 | module.exports = require('./inherits_browser.js');
7 | }
8 |
--------------------------------------------------------------------------------
/node_modules/inherits/inherits_browser.js:
--------------------------------------------------------------------------------
1 | if (typeof Object.create === 'function') {
2 | // implementation from standard node.js 'util' module
3 | module.exports = function inherits(ctor, superCtor) {
4 | ctor.super_ = superCtor
5 | ctor.prototype = Object.create(superCtor.prototype, {
6 | constructor: {
7 | value: ctor,
8 | enumerable: false,
9 | writable: true,
10 | configurable: true
11 | }
12 | });
13 | };
14 | } else {
15 | // old school shim for old browsers
16 | module.exports = function inherits(ctor, superCtor) {
17 | ctor.super_ = superCtor
18 | var TempCtor = function () {}
19 | TempCtor.prototype = superCtor.prototype
20 | ctor.prototype = new TempCtor()
21 | ctor.prototype.constructor = ctor
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/node_modules/ini/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/index.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | Check if a file path is a binary file.
3 |
4 | @example
5 | ```
6 | import isBinaryPath = require('is-binary-path');
7 |
8 | isBinaryPath('source/unicorn.png');
9 | //=> true
10 |
11 | isBinaryPath('source/unicorn.txt');
12 | //=> false
13 | ```
14 | */
15 | declare function isBinaryPath(filePath: string): boolean;
16 |
17 | export = isBinaryPath;
18 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const path = require('path');
3 | const binaryExtensions = require('binary-extensions');
4 |
5 | const extensions = new Set(binaryExtensions);
6 |
7 | module.exports = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase());
8 |
--------------------------------------------------------------------------------
/node_modules/is-binary-path/readme.md:
--------------------------------------------------------------------------------
1 | # is-binary-path [](https://travis-ci.org/sindresorhus/is-binary-path)
2 |
3 | > Check if a file path is a binary file
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install is-binary-path
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const isBinaryPath = require('is-binary-path');
17 |
18 | isBinaryPath('source/unicorn.png');
19 | //=> true
20 |
21 | isBinaryPath('source/unicorn.txt');
22 | //=> false
23 | ```
24 |
25 |
26 | ## Related
27 |
28 | - [binary-extensions](https://github.com/sindresorhus/binary-extensions) - List of binary file extensions
29 | - [is-text-path](https://github.com/sindresorhus/is-text-path) - Check if a filepath is a text file
30 |
31 |
32 | ## License
33 |
34 | MIT © [Sindre Sorhus](https://sindresorhus.com), [Paul Miller](https://paulmillr.com)
35 |
--------------------------------------------------------------------------------
/node_modules/is-ci/bin.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 'use strict'
3 |
4 | process.exit(require('./') ? 0 : 1)
5 |
--------------------------------------------------------------------------------
/node_modules/is-ci/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 |
3 | module.exports = require('ci-info').isCI
4 |
--------------------------------------------------------------------------------
/node_modules/is-extglob/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * is-extglob
3 | *
4 | * Copyright (c) 2014-2016, Jon Schlinkert.
5 | * Licensed under the MIT License.
6 | */
7 |
8 | module.exports = function isExtglob(str) {
9 | if (typeof str !== 'string' || str === '') {
10 | return false;
11 | }
12 |
13 | var match;
14 | while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) {
15 | if (match[2]) return true;
16 | str = str.slice(match.index + match[0].length);
17 | }
18 |
19 | return false;
20 | };
21 |
--------------------------------------------------------------------------------
/node_modules/is-fullwidth-code-point/readme.md:
--------------------------------------------------------------------------------
1 | # is-fullwidth-code-point [](https://travis-ci.org/sindresorhus/is-fullwidth-code-point)
2 |
3 | > Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms)
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save is-fullwidth-code-point
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const isFullwidthCodePoint = require('is-fullwidth-code-point');
17 |
18 | isFullwidthCodePoint('谢'.codePointAt());
19 | //=> true
20 |
21 | isFullwidthCodePoint('a'.codePointAt());
22 | //=> false
23 | ```
24 |
25 |
26 | ## API
27 |
28 | ### isFullwidthCodePoint(input)
29 |
30 | #### input
31 |
32 | Type: `number`
33 |
34 | [Code point](https://en.wikipedia.org/wiki/Code_point) of a character.
35 |
36 |
37 | ## License
38 |
39 | MIT © [Sindre Sorhus](https://sindresorhus.com)
40 |
--------------------------------------------------------------------------------
/node_modules/is-installed-globally/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const globalDirs = require('global-dirs');
3 | const isPathInside = require('is-path-inside');
4 |
5 | module.exports = isPathInside(__dirname, globalDirs.yarn.packages) || isPathInside(__dirname, globalDirs.npm.packages);
6 |
--------------------------------------------------------------------------------
/node_modules/is-npm/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = 'npm_config_username' in process.env ||
3 | 'npm_package_name' in process.env ||
4 | 'npm_config_heading' in process.env;
5 |
--------------------------------------------------------------------------------
/node_modules/is-npm/readme.md:
--------------------------------------------------------------------------------
1 | # is-npm [](https://travis-ci.org/sindresorhus/is-npm)
2 |
3 | > Check if your code is running as an [npm script](https://www.npmjs.org/doc/misc/npm-scripts.html)
4 |
5 |
6 | ## Install
7 |
8 | ```sh
9 | $ npm install --save is-npm
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var isNpm = require('is-npm');
17 | console.log(isNpm);
18 | ```
19 |
20 | ```sh
21 | $ node foo.js
22 | #=> false
23 | $ npm run foo
24 | #=> true
25 | ```
26 |
27 |
28 | ## License
29 |
30 | MIT © [Sindre Sorhus](http://sindresorhus.com)
31 |
--------------------------------------------------------------------------------
/node_modules/is-number/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * is-number
3 | *
4 | * Copyright (c) 2014-present, Jon Schlinkert.
5 | * Released under the MIT License.
6 | */
7 |
8 | 'use strict';
9 |
10 | module.exports = function(num) {
11 | if (typeof num === 'number') {
12 | return num - num === 0;
13 | }
14 | if (typeof num === 'string' && num.trim() !== '') {
15 | return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
16 | }
17 | return false;
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/is-obj/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (x) {
3 | var type = typeof x;
4 | return x !== null && (type === 'object' || type === 'function');
5 | };
6 |
--------------------------------------------------------------------------------
/node_modules/is-obj/readme.md:
--------------------------------------------------------------------------------
1 | # is-obj [](https://travis-ci.org/sindresorhus/is-obj)
2 |
3 | > Check if a value is an object
4 |
5 | Keep in mind that array, function, regexp, etc, are objects in JavaScript.
6 | See [`is-plain-obj`](https://github.com/sindresorhus/is-plain-obj) if you want to check for plain objects.
7 |
8 |
9 | ## Install
10 |
11 | ```
12 | $ npm install --save is-obj
13 | ```
14 |
15 |
16 | ## Usage
17 |
18 | ```js
19 | const isObj = require('is-obj');
20 |
21 | isObj({foo: 'bar'});
22 | //=> true
23 |
24 | isObj([1, 2, 3]);
25 | //=> true
26 |
27 | isObj('foo');
28 | //=> false
29 | ```
30 |
31 |
32 | ## License
33 |
34 | MIT © [Sindre Sorhus](https://sindresorhus.com)
35 |
--------------------------------------------------------------------------------
/node_modules/is-path-inside/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | var path = require('path');
3 | var pathIsInside = require('path-is-inside');
4 |
5 | module.exports = function (a, b) {
6 | a = path.resolve(a);
7 | b = path.resolve(b);
8 |
9 | if (a === b) {
10 | return false;
11 | }
12 |
13 | return pathIsInside(a, b);
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/is-path-inside/readme.md:
--------------------------------------------------------------------------------
1 | # is-path-inside [](https://travis-ci.org/sindresorhus/is-path-inside)
2 |
3 | > Check if a path is inside another path
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save is-path-inside
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var isPathInside = require('is-path-inside');
17 |
18 | isPathInside('a/b/c', 'a/b');
19 | //=> true
20 |
21 | isPathInside('a/b/c', 'x/y');
22 | //=> false
23 |
24 | isPathInside('a/b/c', 'a/b/c');
25 | //=> false
26 |
27 | isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus');
28 | //=> true
29 | ```
30 |
31 |
32 | ## License
33 |
34 | MIT © [Sindre Sorhus](http://sindresorhus.com)
35 |
--------------------------------------------------------------------------------
/node_modules/is-redirect/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (x) {
3 | if (typeof x !== 'number') {
4 | throw new TypeError('Expected a number');
5 | }
6 |
7 | return x === 300 ||
8 | x === 301 ||
9 | x === 302 ||
10 | x === 303 ||
11 | x === 305 ||
12 | x === 307 ||
13 | x === 308;
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/is-redirect/readme.md:
--------------------------------------------------------------------------------
1 | # is-redirect [](https://travis-ci.org/sindresorhus/is-redirect)
2 |
3 | > Check if a number is a [redirect HTTP status code](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection)
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save is-redirect
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var isRedirect = require('is-redirect');
17 |
18 | isRedirect(302);
19 | //=> true
20 |
21 | isRedirect(200);
22 | //=> false
23 | ```
24 |
25 |
26 | ## License
27 |
28 | MIT © [Sindre Sorhus](http://sindresorhus.com)
29 |
--------------------------------------------------------------------------------
/node_modules/is-retry-allowed/readme.md:
--------------------------------------------------------------------------------
1 | # is-retry-allowed [](https://travis-ci.org/floatdrop/is-retry-allowed)
2 |
3 | Is retry allowed for Error?
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save is-retry-allowed
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const isRetryAllowed = require('is-retry-allowed');
17 |
18 | isRetryAllowed({code: 'ETIMEDOUT'});
19 | //=> true
20 |
21 | isRetryAllowed({code: 'ENOTFOUND'});
22 | //=> false
23 |
24 | isRetryAllowed({});
25 | //=> true
26 | ```
27 |
28 |
29 | ## API
30 |
31 | ### isRetryAllowed(error)
32 |
33 | #### error
34 |
35 | Type: `object`
36 |
37 | Object with `code` property, which will be used to determine retry.
38 |
39 |
40 | ## License
41 |
42 | MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
43 |
--------------------------------------------------------------------------------
/node_modules/is-stream/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var isStream = module.exports = function (stream) {
4 | return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';
5 | };
6 |
7 | isStream.writable = function (stream) {
8 | return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';
9 | };
10 |
11 | isStream.readable = function (stream) {
12 | return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';
13 | };
14 |
15 | isStream.duplex = function (stream) {
16 | return isStream.writable(stream) && isStream.readable(stream);
17 | };
18 |
19 | isStream.transform = function (stream) {
20 | return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';
21 | };
22 |
--------------------------------------------------------------------------------
/node_modules/is-stream/readme.md:
--------------------------------------------------------------------------------
1 | # is-stream [](https://travis-ci.org/sindresorhus/is-stream)
2 |
3 | > Check if something is a [Node.js stream](https://nodejs.org/api/stream.html)
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save is-stream
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const fs = require('fs');
17 | const isStream = require('is-stream');
18 |
19 | isStream(fs.createReadStream('unicorn.png'));
20 | //=> true
21 |
22 | isStream({});
23 | //=> false
24 | ```
25 |
26 |
27 | ## API
28 |
29 | ### isStream(stream)
30 |
31 | #### isStream.writable(stream)
32 |
33 | #### isStream.readable(stream)
34 |
35 | #### isStream.duplex(stream)
36 |
37 | #### isStream.transform(stream)
38 |
39 |
40 | ## License
41 |
42 | MIT © [Sindre Sorhus](https://sindresorhus.com)
43 |
--------------------------------------------------------------------------------
/node_modules/isarray/index.js:
--------------------------------------------------------------------------------
1 | var toString = {}.toString;
2 |
3 | module.exports = Array.isArray || function (arr) {
4 | return toString.call(arr) == '[object Array]';
5 | };
6 |
--------------------------------------------------------------------------------
/node_modules/isexe/.npmignore:
--------------------------------------------------------------------------------
1 | .nyc_output/
2 | coverage/
3 |
--------------------------------------------------------------------------------
/node_modules/isexe/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/isexe/mode.js:
--------------------------------------------------------------------------------
1 | module.exports = isexe
2 | isexe.sync = sync
3 |
4 | var fs = require('fs')
5 |
6 | function isexe (path, options, cb) {
7 | fs.stat(path, function (er, stat) {
8 | cb(er, er ? false : checkStat(stat, options))
9 | })
10 | }
11 |
12 | function sync (path, options) {
13 | return checkStat(fs.statSync(path), options)
14 | }
15 |
16 | function checkStat (stat, options) {
17 | return stat.isFile() && checkMode(stat, options)
18 | }
19 |
20 | function checkMode (stat, options) {
21 | var mod = stat.mode
22 | var uid = stat.uid
23 | var gid = stat.gid
24 |
25 | var myUid = options.uid !== undefined ?
26 | options.uid : process.getuid && process.getuid()
27 | var myGid = options.gid !== undefined ?
28 | options.gid : process.getgid && process.getgid()
29 |
30 | var u = parseInt('100', 8)
31 | var g = parseInt('010', 8)
32 | var o = parseInt('001', 8)
33 | var ug = u | g
34 |
35 | var ret = (mod & o) ||
36 | (mod & g) && gid === myGid ||
37 | (mod & u) && uid === myUid ||
38 | (mod & ug) && myUid === 0
39 |
40 | return ret
41 | }
42 |
--------------------------------------------------------------------------------
/node_modules/isexe/windows.js:
--------------------------------------------------------------------------------
1 | module.exports = isexe
2 | isexe.sync = sync
3 |
4 | var fs = require('fs')
5 |
6 | function checkPathExt (path, options) {
7 | var pathext = options.pathExt !== undefined ?
8 | options.pathExt : process.env.PATHEXT
9 |
10 | if (!pathext) {
11 | return true
12 | }
13 |
14 | pathext = pathext.split(';')
15 | if (pathext.indexOf('') !== -1) {
16 | return true
17 | }
18 | for (var i = 0; i < pathext.length; i++) {
19 | var p = pathext[i].toLowerCase()
20 | if (p && path.substr(-p.length).toLowerCase() === p) {
21 | return true
22 | }
23 | }
24 | return false
25 | }
26 |
27 | function checkStat (stat, path, options) {
28 | if (!stat.isSymbolicLink() && !stat.isFile()) {
29 | return false
30 | }
31 | return checkPathExt(path, options)
32 | }
33 |
34 | function isexe (path, options, cb) {
35 | fs.stat(path, function (er, stat) {
36 | cb(er, er ? false : checkStat(stat, path, options))
37 | })
38 | }
39 |
40 | function sync (path, options) {
41 | return checkStat(fs.statSync(path), path, options)
42 | }
43 |
--------------------------------------------------------------------------------
/node_modules/latest-version/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const packageJson = require('package-json');
3 |
4 | module.exports = name => packageJson(name.toLowerCase()).then(data => data.version);
5 |
--------------------------------------------------------------------------------
/node_modules/lowercase-keys/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (obj) {
3 | var ret = {};
4 | var keys = Object.keys(Object(obj));
5 |
6 | for (var i = 0; i < keys.length; i++) {
7 | ret[keys[i].toLowerCase()] = obj[keys[i]];
8 | }
9 |
10 | return ret;
11 | };
12 |
--------------------------------------------------------------------------------
/node_modules/lowercase-keys/readme.md:
--------------------------------------------------------------------------------
1 | # lowercase-keys [](https://travis-ci.org/sindresorhus/lowercase-keys)
2 |
3 | > Lowercase the keys of an object
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save lowercase-keys
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var lowercaseKeys = require('lowercase-keys');
17 |
18 | lowercaseKeys({FOO: true, bAr: false});
19 | //=> {foo: true, bar: false}
20 | ```
21 |
22 |
23 | ## API
24 |
25 | ### lowercaseKeys(object)
26 |
27 | Lowercases the keys and returns a new object.
28 |
29 |
30 |
31 | ## License
32 |
33 | MIT © [Sindre Sorhus](http://sindresorhus.com)
34 |
--------------------------------------------------------------------------------
/node_modules/lru-cache/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/media-typer/HISTORY.md:
--------------------------------------------------------------------------------
1 | 0.3.0 / 2014-09-07
2 | ==================
3 |
4 | * Support Node.js 0.6
5 | * Throw error when parameter format invalid on parse
6 |
7 | 0.2.0 / 2014-06-18
8 | ==================
9 |
10 | * Add `typer.format()` to format media types
11 |
12 | 0.1.0 / 2014-06-17
13 | ==================
14 |
15 | * Accept `req` as argument to `parse`
16 | * Accept `res` as argument to `parse`
17 | * Parse media type with extra LWS between type and first parameter
18 |
19 | 0.0.0 / 2014-06-13
20 | ==================
21 |
22 | * Initial implementation
23 |
--------------------------------------------------------------------------------
/node_modules/merge-descriptors/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.0.1 / 2016-01-17
2 | ==================
3 |
4 | * perf: enable strict mode
5 |
6 | 1.0.0 / 2015-03-01
7 | ==================
8 |
9 | * Add option to only add new descriptors
10 | * Add simple argument validation
11 | * Add jsdoc to source file
12 |
13 | 0.0.2 / 2013-12-14
14 | ==================
15 |
16 | * Move repository to `component` organization
17 |
18 | 0.0.1 / 2013-10-29
19 | ==================
20 |
21 | * Initial release
22 |
--------------------------------------------------------------------------------
/node_modules/methods/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.1.2 / 2016-01-17
2 | ==================
3 |
4 | * perf: enable strict mode
5 |
6 | 1.1.1 / 2014-12-30
7 | ==================
8 |
9 | * Improve `browserify` support
10 |
11 | 1.1.0 / 2014-07-05
12 | ==================
13 |
14 | * Add `CONNECT` method
15 |
16 | 1.0.1 / 2014-06-02
17 | ==================
18 |
19 | * Fix module to work with harmony transform
20 |
21 | 1.0.0 / 2014-05-08
22 | ==================
23 |
24 | * Add `PURGE` method
25 |
26 | 0.1.0 / 2013-10-28
27 | ==================
28 |
29 | * Add `http.METHODS` support
30 |
--------------------------------------------------------------------------------
/node_modules/mime-db/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * mime-db
3 | * Copyright(c) 2014 Jonathan Ong
4 | * MIT Licensed
5 | */
6 |
7 | /**
8 | * Module exports.
9 | */
10 |
11 | module.exports = require('./db.json')
12 |
--------------------------------------------------------------------------------
/node_modules/mime/.npmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/node_modules/mime/.npmignore
--------------------------------------------------------------------------------
/node_modules/mime/cli.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var mime = require('./mime.js');
4 | var file = process.argv[2];
5 | var type = mime.lookup(file);
6 |
7 | process.stdout.write(type + '\n');
8 |
9 |
--------------------------------------------------------------------------------
/node_modules/minimatch/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/minimist/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.8"
4 | - "0.10"
5 | - "0.12"
6 | - "iojs"
7 | before_install:
8 | - npm install -g npm@~1.4.6
9 |
--------------------------------------------------------------------------------
/node_modules/minimist/example/parse.js:
--------------------------------------------------------------------------------
1 | var argv = require('../')(process.argv.slice(2));
2 | console.log(argv);
3 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/all_bool.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('flag boolean true (default all --args to boolean)', function (t) {
5 | var argv = parse(['moo', '--honk', 'cow'], {
6 | boolean: true
7 | });
8 |
9 | t.deepEqual(argv, {
10 | honk: true,
11 | _: ['moo', 'cow']
12 | });
13 |
14 | t.deepEqual(typeof argv.honk, 'boolean');
15 | t.end();
16 | });
17 |
18 | test('flag boolean true only affects double hyphen arguments without equals signs', function (t) {
19 | var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], {
20 | boolean: true
21 | });
22 |
23 | t.deepEqual(argv, {
24 | honk: true,
25 | tacos: 'good',
26 | p: 55,
27 | _: ['moo', 'cow']
28 | });
29 |
30 | t.deepEqual(typeof argv.honk, 'boolean');
31 | t.end();
32 | });
33 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/dash.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('-', function (t) {
5 | t.plan(5);
6 | t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] });
7 | t.deepEqual(parse([ '-' ]), { _: [ '-' ] });
8 | t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] });
9 | t.deepEqual(
10 | parse([ '-b', '-' ], { boolean: 'b' }),
11 | { b: true, _: [ '-' ] }
12 | );
13 | t.deepEqual(
14 | parse([ '-s', '-' ], { string: 's' }),
15 | { s: '-', _: [] }
16 | );
17 | });
18 |
19 | test('-a -- b', function (t) {
20 | t.plan(3);
21 | t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] });
22 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] });
23 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] });
24 | });
25 |
26 | test('move arguments after the -- into their own `--` array', function(t) {
27 | t.plan(1);
28 | t.deepEqual(
29 | parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }),
30 | { name: 'John', _: [ 'before' ], '--': [ 'after' ] });
31 | });
32 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/default_bool.js:
--------------------------------------------------------------------------------
1 | var test = require('tape');
2 | var parse = require('../');
3 |
4 | test('boolean default true', function (t) {
5 | var argv = parse([], {
6 | boolean: 'sometrue',
7 | default: { sometrue: true }
8 | });
9 | t.equal(argv.sometrue, true);
10 | t.end();
11 | });
12 |
13 | test('boolean default false', function (t) {
14 | var argv = parse([], {
15 | boolean: 'somefalse',
16 | default: { somefalse: false }
17 | });
18 | t.equal(argv.somefalse, false);
19 | t.end();
20 | });
21 |
22 | test('boolean default to null', function (t) {
23 | var argv = parse([], {
24 | boolean: 'maybe',
25 | default: { maybe: null }
26 | });
27 | t.equal(argv.maybe, null);
28 | var argv = parse(['--maybe'], {
29 | boolean: 'maybe',
30 | default: { maybe: null }
31 | });
32 | t.equal(argv.maybe, true);
33 | t.end();
34 |
35 | })
36 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/dotted.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('dotted alias', function (t) {
5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}});
6 | t.equal(argv.a.b, 22);
7 | t.equal(argv.aa.bb, 22);
8 | t.end();
9 | });
10 |
11 | test('dotted default', function (t) {
12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}});
13 | t.equal(argv.a.b, 11);
14 | t.equal(argv.aa.bb, 11);
15 | t.end();
16 | });
17 |
18 | test('dotted default with no alias', function (t) {
19 | var argv = parse('', {default: {'a.b': 11}});
20 | t.equal(argv.a.b, 11);
21 | t.end();
22 | });
23 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/kv_short.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('short -k=v' , function (t) {
5 | t.plan(1);
6 |
7 | var argv = parse([ '-b=123' ]);
8 | t.deepEqual(argv, { b: 123, _: [] });
9 | });
10 |
11 | test('multi short -k=v' , function (t) {
12 | t.plan(1);
13 |
14 | var argv = parse([ '-a=whatever', '-b=robots' ]);
15 | t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] });
16 | });
17 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/long.js:
--------------------------------------------------------------------------------
1 | var test = require('tape');
2 | var parse = require('../');
3 |
4 | test('long opts', function (t) {
5 | t.deepEqual(
6 | parse([ '--bool' ]),
7 | { bool : true, _ : [] },
8 | 'long boolean'
9 | );
10 | t.deepEqual(
11 | parse([ '--pow', 'xixxle' ]),
12 | { pow : 'xixxle', _ : [] },
13 | 'long capture sp'
14 | );
15 | t.deepEqual(
16 | parse([ '--pow=xixxle' ]),
17 | { pow : 'xixxle', _ : [] },
18 | 'long capture eq'
19 | );
20 | t.deepEqual(
21 | parse([ '--host', 'localhost', '--port', '555' ]),
22 | { host : 'localhost', port : 555, _ : [] },
23 | 'long captures sp'
24 | );
25 | t.deepEqual(
26 | parse([ '--host=localhost', '--port=555' ]),
27 | { host : 'localhost', port : 555, _ : [] },
28 | 'long captures eq'
29 | );
30 | t.end();
31 | });
32 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/num.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('nums', function (t) {
5 | var argv = parse([
6 | '-x', '1234',
7 | '-y', '5.67',
8 | '-z', '1e7',
9 | '-w', '10f',
10 | '--hex', '0xdeadbeef',
11 | '789'
12 | ]);
13 | t.deepEqual(argv, {
14 | x : 1234,
15 | y : 5.67,
16 | z : 1e7,
17 | w : '10f',
18 | hex : 0xdeadbeef,
19 | _ : [ 789 ]
20 | });
21 | t.deepEqual(typeof argv.x, 'number');
22 | t.deepEqual(typeof argv.y, 'number');
23 | t.deepEqual(typeof argv.z, 'number');
24 | t.deepEqual(typeof argv.w, 'string');
25 | t.deepEqual(typeof argv.hex, 'number');
26 | t.deepEqual(typeof argv._[0], 'number');
27 | t.end();
28 | });
29 |
30 | test('already a number', function (t) {
31 | var argv = parse([ '-x', 1234, 789 ]);
32 | t.deepEqual(argv, { x : 1234, _ : [ 789 ] });
33 | t.deepEqual(typeof argv.x, 'number');
34 | t.deepEqual(typeof argv._[0], 'number');
35 | t.end();
36 | });
37 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/parse_modified.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('parse with modifier functions' , function (t) {
5 | t.plan(1);
6 |
7 | var argv = parse([ '-b', '123' ], { boolean: 'b' });
8 | t.deepEqual(argv, { b: true, _: [123] });
9 | });
10 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/stop_early.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('stops parsing on the first non-option when stopEarly is set', function (t) {
5 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], {
6 | stopEarly: true
7 | });
8 |
9 | t.deepEqual(argv, {
10 | aaa: 'bbb',
11 | _: ['ccc', '--ddd']
12 | });
13 |
14 | t.end();
15 | });
16 |
--------------------------------------------------------------------------------
/node_modules/minimist/test/whitespace.js:
--------------------------------------------------------------------------------
1 | var parse = require('../');
2 | var test = require('tape');
3 |
4 | test('whitespace should be whitespace' , function (t) {
5 | t.plan(1);
6 | var x = parse([ '-x', '\t' ]).x;
7 | t.equal(x, '\t');
8 | });
9 |
--------------------------------------------------------------------------------
/node_modules/nodemon/.jscsrc:
--------------------------------------------------------------------------------
1 | {
2 | "preset": "node-style-guide",
3 | "requireCapitalizedComments": null,
4 | "requireSpacesInAnonymousFunctionExpression": {
5 | "beforeOpeningCurlyBrace": true,
6 | "beforeOpeningRoundBrace": true
7 | },
8 | "disallowSpacesInNamedFunctionExpression": {
9 | "beforeOpeningRoundBrace": true
10 | },
11 | "excludeFiles": ["node_modules/**"],
12 | "disallowSpacesInFunction": null
13 | }
--------------------------------------------------------------------------------
/node_modules/nodemon/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "browser": true,
3 | "camelcase": true,
4 | "curly": true,
5 | "devel": true,
6 | "eqeqeq": true,
7 | "forin": true,
8 | "indent": 2,
9 | "noarg": true,
10 | "node": true,
11 | "quotmark": "single",
12 | "undef": true,
13 | "strict": false,
14 | "unused": true
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/node_modules/nodemon/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | cache:
3 | directories:
4 | - ~/.npm
5 | notifications:
6 | email: false
7 | node_js:
8 | - '12'
9 | - '11'
10 | - '10'
11 | - '8'
12 | before_install:
13 | - if [ "$TRAVIS_PULL_REQUEST_BRANCH" == "" ]; then echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" >> .npmrc; fi
14 | after_success:
15 | - npm run semantic-release
16 | branches:
17 | except:
18 | - /^v\d+\.\d+\.\d+$/
19 |
--------------------------------------------------------------------------------
/node_modules/nodemon/bin/nodemon.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | const cli = require('../lib/cli');
4 | const nodemon = require('../lib/');
5 | const options = cli.parse(process.argv);
6 |
7 | nodemon(options);
8 |
9 | const fs = require('fs');
10 |
11 | // checks for available update and returns an instance
12 | const pkg = JSON.parse(fs.readFileSync(__dirname + '/../package.json'));
13 |
14 | if (pkg.version.indexOf('0.0.0') !== 0 && options.noUpdateNotifier !== true) {
15 | require('update-notifier')({ pkg }).notify();
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/nodemon/bin/postinstall.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | function main() {
4 | if (process.env.SUPPRESS_SUPPORT) {
5 | return;
6 | }
7 |
8 | try {
9 | const Configstore = require('configstore');
10 | const pkg = require(__dirname + '/../package.json');
11 | const now = Date.now();
12 |
13 | var week = 1000 * 60 * 60 * 24 * 7;
14 |
15 | // create a Configstore instance with an unique ID e.g.
16 | // Package name and optionally some default values
17 | const conf = new Configstore(pkg.name);
18 | const last = conf.get('lastCheck');
19 |
20 | if (!last || now - week > last) {
21 | console.log('\u001b[32mLove nodemon? You can now support the project via the open collective:\u001b[22m\u001b[39m\n > \u001b[96m\u001b[1mhttps://opencollective.com/nodemon/donate\u001b[0m\n');
22 | conf.set('lastCheck', now);
23 | }
24 | } catch (e) {
25 | console.log('\u001b[32mLove nodemon? You can now support the project via the open collective:\u001b[22m\u001b[39m\n > \u001b[96m\u001b[1mhttps://opencollective.com/nodemon/donate\u001b[0m\n');
26 | }
27 | }
28 |
29 | main();
30 |
--------------------------------------------------------------------------------
/node_modules/nodemon/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | rules: {
3 | 'body-tense': [0, 'never', 0],
4 | lang: 'eng',
5 | },
6 | extends: ['@commitlint/config-angular'],
7 | };
8 |
--------------------------------------------------------------------------------
/node_modules/nodemon/doc/cli/authors.txt:
--------------------------------------------------------------------------------
1 |
2 | Remy Sharp - author and maintainer
3 | https://github.com/remy
4 | https://twitter.com/rem
5 |
6 | Contributors: https://github.com/remy/nodemon/graphs/contributors ❤︎
7 |
8 | Please help make nodemon better: https://github.com/remy/nodemon/
9 |
--------------------------------------------------------------------------------
/node_modules/nodemon/doc/cli/logo.txt:
--------------------------------------------------------------------------------
1 | ; ;
2 | kO. x0
3 | KMX, .:x0kc. 'KMN
4 | 0MMM0: 'oKMMMMMMMXd, ;OMMMX
5 | oMMMMMWKOONMMMMMMMMMMMMMWOOKWMMMMMx
6 | OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK.
7 | .oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd.
8 | KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN
9 | KMMMMMMMMMMMMMMW0k0WMMMMMMMMMMMMMMW
10 | KMMMMMMMMMMMNk:. :xNMMMMMMMMMMMW
11 | KMMMMMMMMMMK OMMMMMMMMMMW
12 | KMMMMMMMMMMO xMMMMMMMMMMN
13 | KMMMMMMMMMMO xMMMMMMMMMMN
14 | KMMMMMMMMMMO xMMMMMMMMMMN
15 | KMMMMMMMMMMO xMMMMMMMMMMN
16 | KMMMMMMMMMMO xMMMMMMMMMMN
17 | KMMMMMMMMMNc ;NMMMMMMMMMN
18 | KMMMMMW0o' .lOWMMMMMN
19 | KMMKd; ,oKMMN
20 | kX: ,K0
--------------------------------------------------------------------------------
/node_modules/nodemon/doc/cli/topics.txt:
--------------------------------------------------------------------------------
1 |
2 | options .................. show all available nodemon options
3 | config ................... default config options using nodemon.json
4 | authors .................. contributors to this project
5 | logo ..................... <3
6 | whoami ................... I, AM, NODEMON \o/
7 |
8 | Please support https://github.com/remy/nodemon/
9 |
--------------------------------------------------------------------------------
/node_modules/nodemon/doc/cli/usage.txt:
--------------------------------------------------------------------------------
1 | Usage: nodemon [nodemon options] [script.js] [args]
2 |
3 | See "nodemon --help" for more.
4 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/config/defaults.js:
--------------------------------------------------------------------------------
1 | var ignoreRoot = require('ignore-by-default').directories();
2 |
3 | // default options for config.options
4 | module.exports = {
5 | restartable: 'rs',
6 | colours: true,
7 | execMap: {
8 | py: 'python',
9 | rb: 'ruby',
10 | ts: 'ts-node',
11 | // more can be added here such as ls: lsc - but please ensure it's cross
12 | // compatible with linux, mac and windows, or make the default.js
13 | // dynamically append the `.cmd` for node based utilities
14 | },
15 | ignoreRoot: ignoreRoot.map(_ => `**/${_}/**`),
16 | watch: ['*.*'],
17 | stdin: true,
18 | runOnChangeOnly: false,
19 | verbose: false,
20 | signal: 'SIGUSR2',
21 | // 'stdout' refers to the default behaviour of a required nodemon's child,
22 | // but also includes stderr. If this is false, data is still dispatched via
23 | // nodemon.on('stdout/stderr')
24 | stdout: true,
25 | watchOptions: {
26 |
27 | },
28 | };
29 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/help/index.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs');
2 | var path = require('path');
3 | const supportsColor = require('supports-color');
4 |
5 | module.exports = help;
6 |
7 | const highlight = supportsColor.stdout ? '\x1B\[$1m' : '';
8 |
9 | function help(item) {
10 | if (!item) {
11 | item = 'help';
12 | } else if (item === true) { // if used with -h or --help and no args
13 | item = 'help';
14 | }
15 |
16 | // cleanse the filename to only contain letters
17 | // aka: /\W/g but figured this was eaiser to read
18 | item = item.replace(/[^a-z]/gi, '');
19 |
20 | try {
21 | var dir = path.join(__dirname, '..', '..', 'doc', 'cli', item + '.txt');
22 | var body = fs.readFileSync(dir, 'utf8');
23 | return body.replace(/\\x1B\[(.)m/g, highlight);
24 | } catch (e) {
25 | return '"' + item + '" help can\'t be found';
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./nodemon');
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/monitor/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | run: require('./run'),
3 | watch: require('./watch').watch,
4 | };
5 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/monitor/signals.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | SIGHUP: 1,
3 | SIGINT: 2,
4 | SIGQUIT: 3,
5 | SIGILL: 4,
6 | SIGTRAP: 5,
7 | SIGABRT: 6,
8 | SIGBUS: 7,
9 | SIGFPE: 8,
10 | SIGKILL: 9,
11 | SIGUSR1: 10,
12 | SIGSEGV: 11,
13 | SIGUSR2: 12,
14 | SIGPIPE: 13,
15 | SIGALRM: 14,
16 | SIGTERM: 15,
17 | SIGSTKFLT: 16,
18 | SIGCHLD: 17,
19 | SIGCONT: 18,
20 | SIGSTOP: 19,
21 | SIGTSTP: 20,
22 | SIGTTIN: 21,
23 | SIGTTOU: 22,
24 | SIGURG: 23,
25 | SIGXCPU: 24,
26 | SIGXFSZ: 25,
27 | SIGVTALRM: 26,
28 | SIGPROF: 27,
29 | SIGWINCH: 28,
30 | SIGIO: 29,
31 | SIGPWR: 30,
32 | SIGSYS: 31,
33 | SIGRTMIN: 35,
34 | }
35 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/rules/parse.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | var fs = require('fs');
3 |
4 | /**
5 | * Parse the nodemon config file, supporting both old style
6 | * plain text config file, and JSON version of the config
7 | *
8 | * @param {String} filename
9 | * @param {Function} callback
10 | */
11 | function parse(filename, callback) {
12 | var rules = {
13 | ignore: [],
14 | watch: [],
15 | };
16 |
17 | fs.readFile(filename, 'utf8', function (err, content) {
18 |
19 | if (err) {
20 | return callback(err);
21 | }
22 |
23 | var json = null;
24 | try {
25 | json = JSON.parse(content);
26 | } catch (e) {}
27 |
28 | if (json !== null) {
29 | rules = {
30 | ignore: json.ignore || [],
31 | watch: json.watch || [],
32 | };
33 |
34 | return callback(null, rules);
35 | }
36 |
37 | // otherwise return the raw file
38 | return callback(null, { raw: content.split(/\n/) });
39 | });
40 | }
41 |
42 | module.exports = parse;
43 |
44 |
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/utils/clone.js:
--------------------------------------------------------------------------------
1 | module.exports = clone;
2 |
3 | // via http://stackoverflow.com/a/728694/22617
4 | function clone(obj) {
5 | // Handle the 3 simple types, and null or undefined
6 | if (null === obj || 'object' !== typeof obj) {
7 | return obj;
8 | }
9 |
10 | var copy;
11 |
12 | // Handle Date
13 | if (obj instanceof Date) {
14 | copy = new Date();
15 | copy.setTime(obj.getTime());
16 | return copy;
17 | }
18 |
19 | // Handle Array
20 | if (obj instanceof Array) {
21 | copy = [];
22 | for (var i = 0, len = obj.length; i < len; i++) {
23 | copy[i] = clone(obj[i]);
24 | }
25 | return copy;
26 | }
27 |
28 | // Handle Object
29 | if (obj instanceof Object) {
30 | copy = {};
31 | for (var attr in obj) {
32 | if (obj.hasOwnProperty && obj.hasOwnProperty(attr)) {
33 | copy[attr] = clone(obj[attr]);
34 | }
35 | }
36 | return copy;
37 | }
38 |
39 | throw new Error('Unable to copy obj! Its type isn\'t supported.');
40 | }
--------------------------------------------------------------------------------
/node_modules/nodemon/lib/utils/colour.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Encodes a string in a colour: red, yellow or green
3 | * @param {String} c colour to highlight in
4 | * @param {String} str the string to encode
5 | * @return {String} coloured string for terminal printing
6 | */
7 | function colour(c, str) {
8 | return (colour[c] || colour.black) + str + colour.black;
9 | }
10 |
11 | function strip(str) {
12 | re.lastIndex = 0; // reset position
13 | return str.replace(re, '');
14 | }
15 |
16 | colour.red = '\x1B[31m';
17 | colour.yellow = '\x1B[33m';
18 | colour.green = '\x1B[32m';
19 | colour.black = '\x1B[39m';
20 |
21 | var reStr = Object.keys(colour).map(key => colour[key]).join('|');
22 | var re = new RegExp(('(' + reStr + ')').replace(/\[/g, '\\['), 'g');
23 |
24 | colour.strip = strip;
25 |
26 | module.exports = colour;
27 |
--------------------------------------------------------------------------------
/node_modules/nodemon/node_modules/debug/node.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./src/node');
2 |
--------------------------------------------------------------------------------
/node_modules/nodemon/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | /**
4 | * Detect Electron renderer / nwjs process, which is node, but we should
5 | * treat as a browser.
6 | */
7 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
8 | module.exports = require('./browser.js');
9 | } else {
10 | module.exports = require('./node.js');
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/node_modules/nopt/.npmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/node_modules/nopt/.npmignore
--------------------------------------------------------------------------------
/node_modules/npm-run-path/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const path = require('path');
3 | const pathKey = require('path-key');
4 |
5 | module.exports = opts => {
6 | opts = Object.assign({
7 | cwd: process.cwd(),
8 | path: process.env[pathKey()]
9 | }, opts);
10 |
11 | let prev;
12 | let pth = path.resolve(opts.cwd);
13 | const ret = [];
14 |
15 | while (prev !== pth) {
16 | ret.push(path.join(pth, 'node_modules/.bin'));
17 | prev = pth;
18 | pth = path.resolve(pth, '..');
19 | }
20 |
21 | // ensure the running `node` binary is used
22 | ret.push(path.dirname(process.execPath));
23 |
24 | return ret.concat(opts.path).join(path.delimiter);
25 | };
26 |
27 | module.exports.env = opts => {
28 | opts = Object.assign({
29 | env: process.env
30 | }, opts);
31 |
32 | const env = Object.assign({}, opts.env);
33 | const path = pathKey({env});
34 |
35 | opts.path = env[path];
36 | env[path] = module.exports(opts);
37 |
38 | return env;
39 | };
40 |
--------------------------------------------------------------------------------
/node_modules/object-component/.npmignore:
--------------------------------------------------------------------------------
1 | components
2 | build
3 | node_modules
4 |
--------------------------------------------------------------------------------
/node_modules/object-component/History.md:
--------------------------------------------------------------------------------
1 |
2 | 0.0.3 / 2012-10-15
3 | ==================
4 |
5 | * package: added `component` namespace (fixes #1)
6 |
7 | 0.0.2 / 2012-09-20
8 | ==================
9 |
10 | * add code smell to `.merge()`
11 |
--------------------------------------------------------------------------------
/node_modules/object-component/Makefile:
--------------------------------------------------------------------------------
1 |
2 | build: components index.js
3 | @component build
4 |
5 | components:
6 | @Component install
7 |
8 | clean:
9 | rm -fr build components template.js
10 |
11 | test:
12 | @./node_modules/.bin/mocha \
13 | --require should \
14 | --reporter spec
15 |
16 | .PHONY: clean test
17 |
--------------------------------------------------------------------------------
/node_modules/object-component/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # object
3 |
4 | Object utils.
5 |
6 | ## API
7 |
8 | ### .keys(obj)
9 |
10 | Return the keys for `obj`.
11 |
12 | ### .values(obj)
13 |
14 | Return the values for `obj`.
15 |
16 | ### .length(obj)
17 |
18 | Return the number of keys for `obj`.
19 |
20 | ### .isEmpty(obj)
21 |
22 | Check if `obj` is empty.
23 |
24 | ### .merge(a, b)
25 |
26 | Merge object `b` into `a`, returns `a`.
27 | Precedence is given to `b`.
28 |
29 | ## License
30 |
31 | MIT
--------------------------------------------------------------------------------
/node_modules/object-component/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "object",
3 | "description": "Object keys / values / length",
4 | "version": "0.0.3",
5 | "keywords": ["object", "keys", "utility"],
6 | "dependencies": {},
7 | "scripts": [
8 | "index.js"
9 | ]
10 | }
--------------------------------------------------------------------------------
/node_modules/p-finally/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = (promise, onFinally) => {
3 | onFinally = onFinally || (() => {});
4 |
5 | return promise.then(
6 | val => new Promise(resolve => {
7 | resolve(onFinally());
8 | }).then(() => val),
9 | err => new Promise(resolve => {
10 | resolve(onFinally());
11 | }).then(() => {
12 | throw err;
13 | })
14 | );
15 | };
16 |
--------------------------------------------------------------------------------
/node_modules/parseqs/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | npm-debug.log
--------------------------------------------------------------------------------
/node_modules/parseqs/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha test.js
4 |
--------------------------------------------------------------------------------
/node_modules/parseqs/README.md:
--------------------------------------------------------------------------------
1 | Provides methods for converting an object into string representation, and vice versa.
2 |
--------------------------------------------------------------------------------
/node_modules/parseqs/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Compiles a querystring
3 | * Returns string representation of the object
4 | *
5 | * @param {Object}
6 | * @api private
7 | */
8 |
9 | exports.encode = function (obj) {
10 | var str = '';
11 |
12 | for (var i in obj) {
13 | if (obj.hasOwnProperty(i)) {
14 | if (str.length) str += '&';
15 | str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);
16 | }
17 | }
18 |
19 | return str;
20 | };
21 |
22 | /**
23 | * Parses a simple querystring into an object
24 | *
25 | * @param {String} qs
26 | * @api private
27 | */
28 |
29 | exports.decode = function(qs){
30 | var qry = {};
31 | var pairs = qs.split('&');
32 | for (var i = 0, l = pairs.length; i < l; i++) {
33 | var pair = pairs[i].split('=');
34 | qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
35 | }
36 | return qry;
37 | };
38 |
--------------------------------------------------------------------------------
/node_modules/parseqs/test.js:
--------------------------------------------------------------------------------
1 | var assert = require('better-assert');
2 | var expect = require('expect.js');
3 | var util = require('./index.js');
4 |
5 | describe('querystring test suite', function(){
6 | it('should parse a querystring and return an object', function () {
7 |
8 | // Single assignment
9 | var queryObj = util.decode("foo=bar");
10 | expect(queryObj.foo).to.be("bar");
11 |
12 | // Multiple assignments
13 | queryObj = util.decode("france=paris&germany=berlin");
14 | expect(queryObj.france).to.be("paris");
15 | expect(queryObj.germany).to.be("berlin");
16 |
17 | // Assignments containing non-alphanumeric characters
18 | queryObj = util.decode("india=new%20delhi");
19 | expect(queryObj.india).to.be("new delhi");
20 | });
21 |
22 | it('should construct a query string from an object', function () {
23 | expect(util.encode({ a: 'b' })).to.be('a=b');
24 | expect(util.encode({ a: 'b', c: 'd' })).to.be('a=b&c=d');
25 | expect(util.encode({ a: 'b', c: 'tobi rocks' })).to.be('a=b&c=tobi%20rocks');
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/node_modules/parseuri/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .node_modules/*
--------------------------------------------------------------------------------
/node_modules/parseuri/History.md:
--------------------------------------------------------------------------------
1 |
2 | n.n.n / 2014-02-09
3 | ==================
4 |
5 | * parseuri first commit
6 |
--------------------------------------------------------------------------------
/node_modules/parseuri/Makefile:
--------------------------------------------------------------------------------
1 |
2 | test:
3 | @./node_modules/.bin/mocha test.js
4 |
--------------------------------------------------------------------------------
/node_modules/parseuri/README.md:
--------------------------------------------------------------------------------
1 | # parseuri
2 | Module for parsing URI's in engine.io-client
3 |
--------------------------------------------------------------------------------
/node_modules/path-is-inside/lib/path-is-inside.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var path = require("path");
4 |
5 | module.exports = function (thePath, potentialParent) {
6 | // For inside-directory checking, we want to allow trailing slashes, so normalize.
7 | thePath = stripTrailingSep(thePath);
8 | potentialParent = stripTrailingSep(potentialParent);
9 |
10 | // Node treats only Windows as case-insensitive in its path module; we follow those conventions.
11 | if (process.platform === "win32") {
12 | thePath = thePath.toLowerCase();
13 | potentialParent = potentialParent.toLowerCase();
14 | }
15 |
16 | return thePath.lastIndexOf(potentialParent, 0) === 0 &&
17 | (
18 | thePath[potentialParent.length] === path.sep ||
19 | thePath[potentialParent.length] === undefined
20 | );
21 | };
22 |
23 | function stripTrailingSep(thePath) {
24 | if (thePath[thePath.length - 1] === path.sep) {
25 | return thePath.slice(0, -1);
26 | }
27 | return thePath;
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/path-key/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = opts => {
3 | opts = opts || {};
4 |
5 | const env = opts.env || process.env;
6 | const platform = opts.platform || process.platform;
7 |
8 | if (platform !== 'win32') {
9 | return 'PATH';
10 | }
11 |
12 | return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';
13 | };
14 |
--------------------------------------------------------------------------------
/node_modules/path-to-regexp/History.md:
--------------------------------------------------------------------------------
1 | 0.1.7 / 2015-07-28
2 | ==================
3 |
4 | * Fixed regression with escaped round brackets and matching groups.
5 |
6 | 0.1.6 / 2015-06-19
7 | ==================
8 |
9 | * Replace `index` feature by outputting all parameters, unnamed and named.
10 |
11 | 0.1.5 / 2015-05-08
12 | ==================
13 |
14 | * Add an index property for position in match result.
15 |
16 | 0.1.4 / 2015-03-05
17 | ==================
18 |
19 | * Add license information
20 |
21 | 0.1.3 / 2014-07-06
22 | ==================
23 |
24 | * Better array support
25 | * Improved support for trailing slash in non-ending mode
26 |
27 | 0.1.0 / 2014-03-06
28 | ==================
29 |
30 | * add options.end
31 |
32 | 0.0.2 / 2013-02-10
33 | ==================
34 |
35 | * Update to match current express
36 | * add .license property to component.json
37 |
--------------------------------------------------------------------------------
/node_modules/picomatch/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = require('./lib/picomatch');
4 |
--------------------------------------------------------------------------------
/node_modules/prepend-http/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (url) {
3 | if (typeof url !== 'string') {
4 | throw new TypeError('Expected a string, got ' + typeof url);
5 | }
6 |
7 | url = url.trim();
8 |
9 | if (/^\.*\/|^(?!localhost)\w+:/.test(url)) {
10 | return url;
11 | }
12 |
13 | return url.replace(/^(?!(?:\w+:)?\/\/)/, 'http://');
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/prepend-http/readme.md:
--------------------------------------------------------------------------------
1 | # prepend-http [](https://travis-ci.org/sindresorhus/prepend-http)
2 |
3 | > Prepend `http://` to humanized URLs like `todomvc.com` and `localhost`
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save prepend-http
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const prependHttp = require('prepend-http');
17 |
18 | prependHttp('todomvc.com');
19 | //=> 'http://todomvc.com'
20 |
21 | prependHttp('localhost');
22 | //=> 'http://localhost'
23 |
24 | prependHttp('http://todomvc.com');
25 | //=> 'http://todomvc.com'
26 | ```
27 |
28 |
29 | ## License
30 |
31 | MIT © [Sindre Sorhus](https://sindresorhus.com)
32 |
--------------------------------------------------------------------------------
/node_modules/pseudomap/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/pseudomap/map.js:
--------------------------------------------------------------------------------
1 | if (process.env.npm_package_name === 'pseudomap' &&
2 | process.env.npm_lifecycle_script === 'test')
3 | process.env.TEST_PSEUDOMAP = 'true'
4 |
5 | if (typeof Map === 'function' && !process.env.TEST_PSEUDOMAP) {
6 | module.exports = Map
7 | } else {
8 | module.exports = require('./pseudomap')
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/pstree.remy/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | cache:
3 | directories:
4 | - ~/.npm
5 | notifications:
6 | email: false
7 | node_js:
8 | - '8'
9 |
--------------------------------------------------------------------------------
/node_modules/pstree.remy/lib/index.js:
--------------------------------------------------------------------------------
1 | const exec = require('child_process').exec;
2 | const tree = require('./tree');
3 | const utils = require('./utils');
4 | var hasPS = true;
5 |
6 | // discover if the OS has `ps`, and therefore can use psTree
7 | exec('ps', error => {
8 | module.exports.hasPS = hasPS = !error;
9 | });
10 |
11 | module.exports = function main(pid, callback) {
12 | if (typeof pid === 'number') {
13 | pid = pid.toString();
14 | }
15 |
16 | if (hasPS && !process.env.NO_PS) {
17 | return tree(pid, callback);
18 | }
19 |
20 | utils
21 | .getStat()
22 | .then(utils.tree)
23 | .then(tree => utils.pidsForTree(tree, pid))
24 | .then(res => callback(null, res.map(p => p.PID)))
25 | .catch(error => callback(error));
26 | };
27 |
28 | if (!module.parent) {
29 | module.exports(process.argv[2], (e, pids) => console.log(pids));
30 | }
31 |
32 | module.exports.hasPS = hasPS;
33 |
--------------------------------------------------------------------------------
/node_modules/pstree.remy/lib/tree.js:
--------------------------------------------------------------------------------
1 | const spawn = require('child_process').spawn;
2 |
3 | module.exports = function(rootPid, callback) {
4 | const tree = {};
5 | var output = '';
6 |
7 | // *nix
8 | const ps = spawn('ps', ['-A', '-o', 'ppid,pid']);
9 | ps.stdout.on('data', data => {
10 | output += data.toString('ascii');
11 | });
12 |
13 | ps.on('close', () => {
14 | try {
15 | const res = output
16 | .split('\n')
17 | .slice(1)
18 | .map(_ => _.trim())
19 | .reduce((acc, line) => {
20 | if (line.indexOf(rootPid + ' ') === 0) {
21 | const pid = line.split(/\s+/).pop();
22 | acc.push(parseInt(pid, 10));
23 | rootPid = pid;
24 | }
25 |
26 | return acc;
27 | }, []);
28 |
29 | callback(null, res);
30 | } catch (e) {
31 | callback(e, null);
32 | }
33 | });
34 | };
35 |
--------------------------------------------------------------------------------
/node_modules/pstree.remy/tests/fixtures/index.js:
--------------------------------------------------------------------------------
1 | const spawn = require('child_process').spawn;
2 | const sub = spawn(
3 | 'sh',
4 | ['-c', 'node -e "setInterval(() => console.log(`running`), 200)"'],
5 | {
6 | stdio: 'pipe',
7 | }
8 | );
9 |
--------------------------------------------------------------------------------
/node_modules/qs/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 | max_line_length = 160
11 |
12 | [test/*]
13 | max_line_length = off
14 |
15 | [*.md]
16 | max_line_length = off
17 |
18 | [*.json]
19 | max_line_length = off
20 |
21 | [Makefile]
22 | max_line_length = off
23 |
24 | [CHANGELOG.md]
25 | indent_style = space
26 | indent_size = 2
27 |
28 | [LICENSE]
29 | indent_size = 2
30 | max_line_length = off
31 |
--------------------------------------------------------------------------------
/node_modules/qs/.eslintignore:
--------------------------------------------------------------------------------
1 | dist
2 |
--------------------------------------------------------------------------------
/node_modules/qs/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 |
4 | "extends": "@ljharb",
5 |
6 | "rules": {
7 | "complexity": 0,
8 | "consistent-return": 1,
9 | "func-name-matching": 0,
10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
11 | "indent": [2, 4],
12 | "max-lines-per-function": [2, { "max": 150 }],
13 | "max-params": [2, 14],
14 | "max-statements": [2, 52],
15 | "multiline-comment-style": 0,
16 | "no-continue": 1,
17 | "no-magic-numbers": 0,
18 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
19 | "operator-linebreak": [2, "before"],
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/qs/lib/formats.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var replace = String.prototype.replace;
4 | var percentTwenties = /%20/g;
5 |
6 | module.exports = {
7 | 'default': 'RFC3986',
8 | formatters: {
9 | RFC1738: function (value) {
10 | return replace.call(value, percentTwenties, '+');
11 | },
12 | RFC3986: function (value) {
13 | return value;
14 | }
15 | },
16 | RFC1738: 'RFC1738',
17 | RFC3986: 'RFC3986'
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/qs/lib/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var stringify = require('./stringify');
4 | var parse = require('./parse');
5 | var formats = require('./formats');
6 |
7 | module.exports = {
8 | formats: formats,
9 | parse: parse,
10 | stringify: stringify
11 | };
12 |
--------------------------------------------------------------------------------
/node_modules/qs/test/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "array-bracket-newline": 0,
4 | "array-element-newline": 0,
5 | "consistent-return": 2,
6 | "function-paren-newline": 0,
7 | "max-lines": 0,
8 | "max-lines-per-function": 0,
9 | "max-nested-callbacks": [2, 3],
10 | "max-statements": 0,
11 | "no-buffer-constructor": 0,
12 | "no-extend-native": 0,
13 | "no-magic-numbers": 0,
14 | "object-curly-newline": 0,
15 | "sort-keys": 0
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/qs/test/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | require('./parse');
4 |
5 | require('./stringify');
6 |
7 | require('./utils');
8 |
--------------------------------------------------------------------------------
/node_modules/rc/LICENSE.APACHE2:
--------------------------------------------------------------------------------
1 | Apache License, Version 2.0
2 |
3 | Copyright (c) 2011 Dominic Tarr
4 |
5 | Licensed under the Apache License, Version 2.0 (the "License");
6 | you may not use this file except in compliance with the License.
7 | You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 |
--------------------------------------------------------------------------------
/node_modules/rc/browser.js:
--------------------------------------------------------------------------------
1 |
2 | // when this is loaded into the browser,
3 | // just use the defaults...
4 |
5 | module.exports = function (name, defaults) {
6 | return defaults
7 | }
8 |
--------------------------------------------------------------------------------
/node_modules/rc/cli.js:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env node
2 | var rc = require('./index')
3 |
4 | console.log(JSON.stringify(rc(process.argv[2]), false, 2))
5 |
--------------------------------------------------------------------------------
/node_modules/rc/test/ini.js:
--------------------------------------------------------------------------------
1 | var cc =require('../lib/utils')
2 | var INI = require('ini')
3 | var assert = require('assert')
4 |
5 | function test(obj) {
6 |
7 | var _json, _ini
8 | var json = cc.parse (_json = JSON.stringify(obj))
9 | var ini = cc.parse (_ini = INI.stringify(obj))
10 | console.log(_ini, _json)
11 | assert.deepEqual(json, ini)
12 | }
13 |
14 |
15 | test({hello: true})
16 |
17 |
--------------------------------------------------------------------------------
/node_modules/registry-auth-token/.npmignore:
--------------------------------------------------------------------------------
1 | .editorconfig
2 | .eslintignore
3 | .eslintrc
4 | .travis.yml
5 | npm-debug.log
6 | coverage
7 |
--------------------------------------------------------------------------------
/node_modules/registry-auth-token/base64.js:
--------------------------------------------------------------------------------
1 | const safeBuffer = require('safe-buffer').Buffer
2 |
3 | function decodeBase64 (base64) {
4 | return safeBuffer.from(base64, 'base64').toString('utf8')
5 | }
6 |
7 | function encodeBase64 (string) {
8 | return safeBuffer.from(string, 'utf8').toString('base64')
9 | }
10 |
11 | module.exports = {
12 | decodeBase64: decodeBase64,
13 | encodeBase64: encodeBase64
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/registry-auth-token/registry-url.js:
--------------------------------------------------------------------------------
1 | module.exports = function (scope, npmrc) {
2 | var rc = npmrc || require('rc')('npm', {registry: 'https://registry.npmjs.org/'})
3 | var url = rc[scope + ':registry'] || rc.registry
4 | return url.slice(-1) === '/' ? url : url + '/'
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/registry-url/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (scope) {
3 | var rc = require('rc')('npm', {registry: 'https://registry.npmjs.org/'});
4 | var url = rc[scope + ':registry'] || rc.registry;
5 | return url.slice(-1) === '/' ? url : url + '/';
6 | };
7 |
--------------------------------------------------------------------------------
/node_modules/semver-diff/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | var semver = require('semver');
3 |
4 | module.exports = function (a, b) {
5 | if (semver.gt(a, b)) {
6 | return null;
7 | }
8 |
9 | a = semver.parse(a);
10 | b = semver.parse(b);
11 |
12 | for (var key in a) {
13 | if (key === 'major' || key === 'minor' || key === 'patch') {
14 | if (a[key] !== b[key]) {
15 | return key;
16 | }
17 | }
18 |
19 | if (key === 'prerelease' || key === 'build') {
20 | if (JSON.stringify(a[key]) !== JSON.stringify(b[key])) {
21 | return key;
22 | }
23 | }
24 | }
25 |
26 | return null;
27 | };
28 |
--------------------------------------------------------------------------------
/node_modules/semver/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # changes log
2 |
3 | ## 5.7
4 |
5 | * Add `minVersion` method
6 |
7 | ## 5.6
8 |
9 | * Move boolean `loose` param to an options object, with
10 | backwards-compatibility protection.
11 | * Add ability to opt out of special prerelease version handling with
12 | the `includePrerelease` option flag.
13 |
14 | ## 5.5
15 |
16 | * Add version coercion capabilities
17 |
18 | ## 5.4
19 |
20 | * Add intersection checking
21 |
22 | ## 5.3
23 |
24 | * Add `minSatisfying` method
25 |
26 | ## 5.2
27 |
28 | * Add `prerelease(v)` that returns prerelease components
29 |
30 | ## 5.1
31 |
32 | * Add Backus-Naur for ranges
33 | * Remove excessively cute inspection methods
34 |
35 | ## 5.0
36 |
37 | * Remove AMD/Browserified build artifacts
38 | * Fix ltr and gtr when using the `*` range
39 | * Fix for range `*` with a prerelease identifier
40 |
--------------------------------------------------------------------------------
/node_modules/semver/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/semver/range.bnf:
--------------------------------------------------------------------------------
1 | range-set ::= range ( logical-or range ) *
2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) *
3 | range ::= hyphen | simple ( ' ' simple ) * | ''
4 | hyphen ::= partial ' - ' partial
5 | simple ::= primitive | partial | tilde | caret
6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
8 | xr ::= 'x' | 'X' | '*' | nr
9 | nr ::= '0' | [1-9] ( [0-9] ) *
10 | tilde ::= '~' partial
11 | caret ::= '^' partial
12 | qualifier ::= ( '-' pre )? ( '+' build )?
13 | pre ::= parts
14 | build ::= parts
15 | parts ::= part ( '.' part ) *
16 | part ::= nr | [-0-9A-Za-z]+
17 |
--------------------------------------------------------------------------------
/node_modules/setprototypeof/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015, Wes Todd
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any
4 | purpose with or without fee is hereby granted, provided that the above
5 | copyright notice and this permission notice appear in all copies.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 |
--------------------------------------------------------------------------------
/node_modules/setprototypeof/README.md:
--------------------------------------------------------------------------------
1 | # Polyfill for `Object.setPrototypeOf`
2 |
3 | [](https://npmjs.org/package/setprototypeof)
4 | [](https://npmjs.org/package/setprototypeof)
5 | [](https://github.com/standard/standard)
6 |
7 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8.
8 |
9 | ## Usage:
10 |
11 | ```
12 | $ npm install --save setprototypeof
13 | ```
14 |
15 | ```javascript
16 | var setPrototypeOf = require('setprototypeof')
17 |
18 | var obj = {}
19 | setPrototypeOf(obj, {
20 | foo: function () {
21 | return 'bar'
22 | }
23 | })
24 | obj.foo() // bar
25 | ```
26 |
27 | TypeScript is also supported:
28 |
29 | ```typescript
30 | import setPrototypeOf = require('setprototypeof')
31 | ```
32 |
--------------------------------------------------------------------------------
/node_modules/setprototypeof/index.d.ts:
--------------------------------------------------------------------------------
1 | declare function setPrototypeOf(o: any, proto: object | null): any;
2 | export = setPrototypeOf;
3 |
--------------------------------------------------------------------------------
/node_modules/setprototypeof/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | /* eslint no-proto: 0 */
3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)
4 |
5 | function setProtoOf (obj, proto) {
6 | obj.__proto__ = proto
7 | return obj
8 | }
9 |
10 | function mixinProperties (obj, proto) {
11 | for (var prop in proto) {
12 | if (!obj.hasOwnProperty(prop)) {
13 | obj[prop] = proto[prop]
14 | }
15 | }
16 | return obj
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/setprototypeof/test/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | /* eslint-env mocha */
3 | /* eslint no-proto: 0 */
4 | var assert = require('assert')
5 | var setPrototypeOf = require('..')
6 |
7 | describe('setProtoOf(obj, proto)', function () {
8 | it('should merge objects', function () {
9 | var obj = { a: 1, b: 2 }
10 | var proto = { b: 3, c: 4 }
11 | var mergeObj = setPrototypeOf(obj, proto)
12 |
13 | if (Object.getPrototypeOf) {
14 | assert.strictEqual(Object.getPrototypeOf(obj), proto)
15 | } else if ({ __proto__: [] } instanceof Array) {
16 | assert.strictEqual(obj.__proto__, proto)
17 | } else {
18 | assert.strictEqual(obj.a, 1)
19 | assert.strictEqual(obj.b, 2)
20 | assert.strictEqual(obj.c, 4)
21 | }
22 | assert.strictEqual(mergeObj, obj)
23 | })
24 | })
25 |
--------------------------------------------------------------------------------
/node_modules/shebang-command/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | var shebangRegex = require('shebang-regex');
3 |
4 | module.exports = function (str) {
5 | var match = str.match(shebangRegex);
6 |
7 | if (!match) {
8 | return null;
9 | }
10 |
11 | var arr = match[0].replace(/#! ?/, '').split(' ');
12 | var bin = arr[0].split('/').pop();
13 | var arg = arr[1];
14 |
15 | return (bin === 'env' ?
16 | arg :
17 | bin + (arg ? ' ' + arg : '')
18 | );
19 | };
20 |
--------------------------------------------------------------------------------
/node_modules/shebang-command/readme.md:
--------------------------------------------------------------------------------
1 | # shebang-command [](https://travis-ci.org/kevva/shebang-command)
2 |
3 | > Get the command from a shebang
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save shebang-command
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const shebangCommand = require('shebang-command');
17 |
18 | shebangCommand('#!/usr/bin/env node');
19 | //=> 'node'
20 |
21 | shebangCommand('#!/bin/bash');
22 | //=> 'bash'
23 | ```
24 |
25 |
26 | ## API
27 |
28 | ### shebangCommand(string)
29 |
30 | #### string
31 |
32 | Type: `string`
33 |
34 | String containing a shebang.
35 |
36 |
37 | ## License
38 |
39 | MIT © [Kevin Martensson](http://github.com/kevva)
40 |
--------------------------------------------------------------------------------
/node_modules/shebang-regex/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = /^#!.*/;
3 |
--------------------------------------------------------------------------------
/node_modules/shebang-regex/readme.md:
--------------------------------------------------------------------------------
1 | # shebang-regex [](https://travis-ci.org/sindresorhus/shebang-regex)
2 |
3 | > Regular expression for matching a [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix))
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save shebang-regex
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | var shebangRegex = require('shebang-regex');
17 | var str = '#!/usr/bin/env node\nconsole.log("unicorns");';
18 |
19 | shebangRegex.test(str);
20 | //=> true
21 |
22 | shebangRegex.exec(str)[0];
23 | //=> '#!/usr/bin/env node'
24 | ```
25 |
26 |
27 | ## License
28 |
29 | MIT © [Sindre Sorhus](http://sindresorhus.com)
30 |
--------------------------------------------------------------------------------
/node_modules/signal-exit/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) 2015, Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software
6 | for any purpose with or without fee is hereby granted, provided
7 | that the above copyright notice and this permission notice
8 | appear in all copies.
9 |
10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
12 | OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
13 | LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
14 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
15 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
16 | ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/$CACHE_FILE$:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | General
12 |
13 |
14 | XPath
15 |
16 |
17 |
18 |
19 | AngularJS
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/socket.io-adapter.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/node_modules/socket.io-adapter/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # socket.io-adapter
3 |
4 | Default socket.io in-memory adapter class.
5 |
6 | ## How to use
7 |
8 | This module is not intended for end-user usage, but can be used as an
9 | interface to inherit from other adapters you might want to build.
10 |
11 | As an example of an adapter that builds on top of this, please take a look
12 | at [socket.io-redis](https://github.com/learnboost/socket.io-redis).
13 |
14 | ## License
15 |
16 | MIT
17 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/lib/on.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Module exports.
4 | */
5 |
6 | module.exports = on;
7 |
8 | /**
9 | * Helper for subscriptions.
10 | *
11 | * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter`
12 | * @param {String} event name
13 | * @param {Function} callback
14 | * @api public
15 | */
16 |
17 | function on (obj, ev, fn) {
18 | obj.on(ev, fn);
19 | return {
20 | destroy: function () {
21 | obj.removeListener(ev, fn);
22 | }
23 | };
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer / nwjs process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/is-buffer.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = isBuf;
3 |
4 | var withNativeBuffer = typeof Buffer === 'function' && typeof Buffer.isBuffer === 'function';
5 | var withNativeArrayBuffer = typeof ArrayBuffer === 'function';
6 |
7 | var isView = function (obj) {
8 | return typeof ArrayBuffer.isView === 'function' ? ArrayBuffer.isView(obj) : (obj.buffer instanceof ArrayBuffer);
9 | };
10 |
11 | /**
12 | * Returns true if obj is a buffer or an arraybuffer.
13 | *
14 | * @api private
15 | */
16 |
17 | function isBuf(obj) {
18 | return (withNativeBuffer && Buffer.isBuffer(obj)) ||
19 | (withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj)));
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/.coveralls.yml:
--------------------------------------------------------------------------------
1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve
2 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "node": true
5 | },
6 | "globals": {
7 | "chrome": true
8 | },
9 | "rules": {
10 | "no-console": 0,
11 | "no-empty": [1, { "allowEmptyCatch": true }]
12 | },
13 | "extends": "eslint:recommended"
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/.npmignore:
--------------------------------------------------------------------------------
1 | support
2 | test
3 | examples
4 | example
5 | *.sock
6 | dist
7 | yarn.lock
8 | coverage
9 | bower.json
10 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 |
3 | language: node_js
4 |
5 | node_js:
6 | - "4"
7 | - "6"
8 | - "8"
9 |
10 | install:
11 | - make install
12 |
13 | script:
14 | - make lint
15 | - make test
16 |
17 | matrix:
18 | include:
19 | - node_js: '8'
20 | env: BROWSER=1
21 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/node.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./src/node');
2 |
--------------------------------------------------------------------------------
/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer') {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/socket.io-parser/is-buffer.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = isBuf;
3 |
4 | var withNativeBuffer = typeof Buffer === 'function' && typeof Buffer.isBuffer === 'function';
5 | var withNativeArrayBuffer = typeof ArrayBuffer === 'function';
6 |
7 | var isView = function (obj) {
8 | return typeof ArrayBuffer.isView === 'function' ? ArrayBuffer.isView(obj) : (obj.buffer instanceof ArrayBuffer);
9 | };
10 |
11 | /**
12 | * Returns true if obj is a buffer or an arraybuffer.
13 | *
14 | * @api private
15 | */
16 |
17 | function isBuf(obj) {
18 | return (withNativeBuffer && Buffer.isBuffer(obj)) ||
19 | (withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj)));
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/socket.io-parser/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer / nwjs process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/socket.io/lib/parent-namespace.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const Namespace = require('./namespace');
4 |
5 | let count = 0;
6 |
7 | class ParentNamespace extends Namespace {
8 |
9 | constructor(server) {
10 | super(server, '/_' + (count++));
11 | this.children = new Set();
12 | }
13 |
14 | initAdapter() {}
15 |
16 | emit() {
17 | const args = Array.prototype.slice.call(arguments);
18 |
19 | this.children.forEach(nsp => {
20 | nsp.rooms = this.rooms;
21 | nsp.flags = this.flags;
22 | nsp.emit.apply(nsp, args);
23 | });
24 | this.rooms = [];
25 | this.flags = {};
26 | }
27 |
28 | createChild(name) {
29 | const namespace = new Namespace(this.server, name);
30 | namespace.fns = this.fns.slice(0);
31 | this.listeners('connect').forEach(listener => namespace.on('connect', listener));
32 | this.listeners('connection').forEach(listener => namespace.on('connection', listener));
33 | this.children.add(namespace);
34 | this.server.nsps[name] = namespace;
35 | return namespace;
36 | }
37 | }
38 |
39 | module.exports = ParentNamespace;
40 |
--------------------------------------------------------------------------------
/node_modules/socket.io/node_modules/debug/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Detect Electron renderer / nwjs process, which is node, but we should
3 | * treat as a browser.
4 | */
5 |
6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7 | module.exports = require('./browser.js');
8 | } else {
9 | module.exports = require('./node.js');
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/string-width/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const stripAnsi = require('strip-ansi');
3 | const isFullwidthCodePoint = require('is-fullwidth-code-point');
4 |
5 | module.exports = str => {
6 | if (typeof str !== 'string' || str.length === 0) {
7 | return 0;
8 | }
9 |
10 | str = stripAnsi(str);
11 |
12 | let width = 0;
13 |
14 | for (let i = 0; i < str.length; i++) {
15 | const code = str.codePointAt(i);
16 |
17 | // Ignore control characters
18 | if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
19 | continue;
20 | }
21 |
22 | // Ignore combining characters
23 | if (code >= 0x300 && code <= 0x36F) {
24 | continue;
25 | }
26 |
27 | // Surrogates
28 | if (code > 0xFFFF) {
29 | i++;
30 | }
31 |
32 | width += isFullwidthCodePoint(code) ? 2 : 1;
33 | }
34 |
35 | return width;
36 | };
37 |
--------------------------------------------------------------------------------
/node_modules/strip-ansi/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const ansiRegex = require('ansi-regex');
3 |
4 | module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
5 |
--------------------------------------------------------------------------------
/node_modules/strip-ansi/readme.md:
--------------------------------------------------------------------------------
1 | # strip-ansi [](https://travis-ci.org/chalk/strip-ansi)
2 |
3 | > Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install strip-ansi
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const stripAnsi = require('strip-ansi');
17 |
18 | stripAnsi('\u001B[4mUnicorn\u001B[0m');
19 | //=> 'Unicorn'
20 | ```
21 |
22 |
23 | ## Related
24 |
25 | - [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
26 | - [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
27 | - [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
28 | - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
29 |
30 |
31 | ## Maintainers
32 |
33 | - [Sindre Sorhus](https://github.com/sindresorhus)
34 | - [Josh Junon](https://github.com/qix-)
35 |
36 |
37 | ## License
38 |
39 | MIT
40 |
--------------------------------------------------------------------------------
/node_modules/strip-eof/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (x) {
3 | var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt();
4 | var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt();
5 |
6 | if (x[x.length - 1] === lf) {
7 | x = x.slice(0, x.length - 1);
8 | }
9 |
10 | if (x[x.length - 1] === cr) {
11 | x = x.slice(0, x.length - 1);
12 | }
13 |
14 | return x;
15 | };
16 |
--------------------------------------------------------------------------------
/node_modules/strip-eof/readme.md:
--------------------------------------------------------------------------------
1 | # strip-eof [](https://travis-ci.org/sindresorhus/strip-eof)
2 |
3 | > Strip the [End-Of-File](https://en.wikipedia.org/wiki/End-of-file) (EOF) character from a string/buffer
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save strip-eof
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const stripEof = require('strip-eof');
17 |
18 | stripEof('foo\nbar\n\n');
19 | //=> 'foo\nbar\n'
20 |
21 | stripEof(new Buffer('foo\nbar\n\n')).toString();
22 | //=> 'foo\nbar\n'
23 | ```
24 |
25 |
26 | ## License
27 |
28 | MIT © [Sindre Sorhus](http://sindresorhus.com)
29 |
--------------------------------------------------------------------------------
/node_modules/supports-color/browser.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = {
3 | stdout: false,
4 | stderr: false
5 | };
6 |
--------------------------------------------------------------------------------
/node_modules/term-size/vendor/macos/term-size:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/node_modules/term-size/vendor/macos/term-size
--------------------------------------------------------------------------------
/node_modules/term-size/vendor/windows/term-size.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sominator/multiplayer-card-project/7376519535afa3aec60f64b058964fefbf24e7c0/node_modules/term-size/vendor/windows/term-size.exe
--------------------------------------------------------------------------------
/node_modules/to-array/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | *.err
--------------------------------------------------------------------------------
/node_modules/to-array/README.md:
--------------------------------------------------------------------------------
1 | # to-array
2 |
3 | Turn an array like into an array
4 |
5 | ## Example
6 |
7 | ``` js
8 | var toArray = require("to-array")
9 | , elems = document.links
10 |
11 | var array = toArray(elems)
12 | ```
13 |
14 | ## Installation
15 |
16 | `npm install to-array`
17 |
18 | ## Contributors
19 |
20 | - Raynos
21 |
22 | ## MIT Licenced
23 |
--------------------------------------------------------------------------------
/node_modules/to-array/index.js:
--------------------------------------------------------------------------------
1 | module.exports = toArray
2 |
3 | function toArray(list, index) {
4 | var array = []
5 |
6 | index = index || 0
7 |
8 | for (var i = index || 0; i < list.length; i++) {
9 | array[i - index] = list[i]
10 | }
11 |
12 | return array
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/toidentifier/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * toidentifier
3 | * Copyright(c) 2016 Douglas Christopher Wilson
4 | * MIT Licensed
5 | */
6 |
7 | /**
8 | * Module exports.
9 | * @public
10 | */
11 |
12 | module.exports = toIdentifier
13 |
14 | /**
15 | * Trasform the given string into a JavaScript identifier
16 | *
17 | * @param {string} str
18 | * @returns {string}
19 | * @public
20 | */
21 |
22 | function toIdentifier (str) {
23 | return str
24 | .split(' ')
25 | .map(function (token) {
26 | return token.slice(0, 1).toUpperCase() + token.slice(1)
27 | })
28 | .join('')
29 | .replace(/[^ _0-9a-z]/gi, '')
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/touch/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/undefsafe/.jscsrc:
--------------------------------------------------------------------------------
1 | {
2 | "preset": "node-style-guide",
3 | "requireCapitalizedComments": null,
4 | "requireSpacesInAnonymousFunctionExpression": {
5 | "beforeOpeningCurlyBrace": true,
6 | "beforeOpeningRoundBrace": true
7 | },
8 | "disallowSpacesInNamedFunctionExpression": {
9 | "beforeOpeningRoundBrace": true
10 | },
11 | "excludeFiles": ["node_modules/**"],
12 | "disallowSpacesInFunction": null
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/undefsafe/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "browser": false,
3 | "camelcase": true,
4 | "curly": true,
5 | "devel": true,
6 | "eqeqeq": true,
7 | "forin": true,
8 | "indent": 2,
9 | "noarg": true,
10 | "node": true,
11 | "quotmark": "single",
12 | "undef": true,
13 | "strict": false,
14 | "unused": true
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/node_modules/undefsafe/.npmignore:
--------------------------------------------------------------------------------
1 | # .npmignore file
2 | test/
3 |
--------------------------------------------------------------------------------
/node_modules/undefsafe/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: node_js
3 | cache:
4 | directories:
5 | - node_modules
6 | notifications:
7 | email: false
8 | node_js:
9 | - '4'
10 | before_install:
11 | - npm i -g npm@^2.0.0
12 | before_script:
13 | - npm prune
14 | after_success:
15 | - npm run semantic-release
16 | branches:
17 | except:
18 | - "/^v\\d+\\.\\d+\\.\\d+$/"
19 |
--------------------------------------------------------------------------------
/node_modules/undefsafe/example.js:
--------------------------------------------------------------------------------
1 | var undefsafe = require('undefsafe');
2 |
3 | var object = {
4 | a: {
5 | b: {
6 | c: 1,
7 | d: [1, 2, 3],
8 | e: 'remy'
9 | }
10 | }
11 | };
12 |
13 | console.log(undefsafe(object, 'a.b.e')); // "remy"
14 | console.log(undefsafe(object, 'a.b.not.found')); // undefined
15 |
--------------------------------------------------------------------------------
/node_modules/unique-string/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const cryptoRandomString = require('crypto-random-string');
3 |
4 | module.exports = () => cryptoRandomString(32);
5 |
--------------------------------------------------------------------------------
/node_modules/unique-string/readme.md:
--------------------------------------------------------------------------------
1 | # unique-string [](https://travis-ci.org/sindresorhus/unique-string)
2 |
3 | > Generate a unique random string
4 |
5 |
6 | ## Install
7 |
8 | ```
9 | $ npm install --save unique-string
10 | ```
11 |
12 |
13 | ## Usage
14 |
15 | ```js
16 | const uniqueString = require('unique-string');
17 |
18 | uniqueString();
19 | //=> 'b4de2a49c8ffa3fbee04446f045483b2'
20 | ```
21 |
22 |
23 | ## API
24 |
25 | ### uniqueString()
26 |
27 | Returns a 32 character unique string. Matches the length of MD5, which is [unique enough](http://stackoverflow.com/a/2444336/64949) for non-crypto purposes.
28 |
29 |
30 | ## License
31 |
32 | MIT © [Sindre Sorhus](https://sindresorhus.com)
33 |
--------------------------------------------------------------------------------
/node_modules/unpipe/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.0.0 / 2015-06-14
2 | ==================
3 |
4 | * Initial release
5 |
--------------------------------------------------------------------------------
/node_modules/unzip-response/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const PassThrough = require('stream').PassThrough;
3 | const zlib = require('zlib');
4 |
5 | module.exports = res => {
6 | // TODO: use Array#includes when targeting Node.js 6
7 | if (['gzip', 'deflate'].indexOf(res.headers['content-encoding']) === -1) {
8 | return res;
9 | }
10 |
11 | const unzip = zlib.createUnzip();
12 | const stream = new PassThrough();
13 |
14 | stream.httpVersion = res.httpVersion;
15 | stream.headers = res.headers;
16 | stream.rawHeaders = res.rawHeaders;
17 | stream.trailers = res.trailers;
18 | stream.rawTrailers = res.rawTrailers;
19 | stream.setTimeout = res.setTimeout.bind(res);
20 | stream.statusCode = res.statusCode;
21 | stream.statusMessage = res.statusMessage;
22 | stream.socket = res.socket;
23 |
24 | unzip.on('error', err => {
25 | if (err.code === 'Z_BUF_ERROR') {
26 | stream.end();
27 | return;
28 | }
29 |
30 | stream.emit('error', err);
31 | });
32 |
33 | res.pipe(unzip).pipe(stream);
34 |
35 | return stream;
36 | };
37 |
--------------------------------------------------------------------------------
/node_modules/unzip-response/readme.md:
--------------------------------------------------------------------------------
1 | # unzip-response [](https://travis-ci.org/sindresorhus/unzip-response)
2 |
3 | > Unzip a HTTP response if needed
4 |
5 | Unzips the response from [`http.request`](https://nodejs.org/api/http.html#http_http_request_options_callback) if it's gzipped/deflated, otherwise just passes it through.
6 |
7 |
8 | ## Install
9 |
10 | ```
11 | $ npm install --save unzip-response
12 | ```
13 |
14 |
15 | ## Usage
16 |
17 | ```js
18 | const http = require('http');
19 | const unzipResponse = require('unzip-response');
20 |
21 | http.get('http://sindresorhus.com', res => {
22 | res = unzipResponse(res);
23 | });
24 | ```
25 |
26 |
27 | ## License
28 |
29 | MIT © [Sindre Sorhus](https://sindresorhus.com)
30 |
--------------------------------------------------------------------------------
/node_modules/update-notifier/check.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable unicorn/no-process-exit */
2 | 'use strict';
3 | let updateNotifier = require('.');
4 |
5 | const options = JSON.parse(process.argv[2]);
6 |
7 | updateNotifier = new updateNotifier.UpdateNotifier(options);
8 |
9 | updateNotifier.checkNpm().then(update => {
10 | // Only update the last update check time on success
11 | updateNotifier.config.set('lastUpdateCheck', Date.now());
12 |
13 | if (update.type && update.type !== 'latest') {
14 | updateNotifier.config.set('update', update);
15 | }
16 |
17 | // Call process exit explicitly to terminate the child process
18 | // Otherwise the child process will run forever, according to the Node.js docs
19 | process.exit();
20 | }).catch(() => {
21 | process.exit(1);
22 | });
23 |
--------------------------------------------------------------------------------
/node_modules/url-parse-lax/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | var url = require('url');
3 | var prependHttp = require('prepend-http');
4 |
5 | module.exports = function (x) {
6 | var withProtocol = prependHttp(x);
7 | var parsed = url.parse(withProtocol);
8 |
9 | if (withProtocol !== x) {
10 | parsed.protocol = null;
11 | }
12 |
13 | return parsed;
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/utils-merge/.npmignore:
--------------------------------------------------------------------------------
1 | CONTRIBUTING.md
2 | Makefile
3 | docs/
4 | examples/
5 | reports/
6 | test/
7 |
8 | .jshintrc
9 | .travis.yml
10 |
--------------------------------------------------------------------------------
/node_modules/utils-merge/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Merge object b with object a.
3 | *
4 | * var a = { foo: 'bar' }
5 | * , b = { bar: 'baz' };
6 | *
7 | * merge(a, b);
8 | * // => { foo: 'bar', bar: 'baz' }
9 | *
10 | * @param {Object} a
11 | * @param {Object} b
12 | * @return {Object}
13 | * @api public
14 | */
15 |
16 | exports = module.exports = function(a, b){
17 | if (a && b) {
18 | for (var key in b) {
19 | a[key] = b[key];
20 | }
21 | }
22 | return a;
23 | };
24 |
--------------------------------------------------------------------------------
/node_modules/vary/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.1.2 / 2017-09-23
2 | ==================
3 |
4 | * perf: improve header token parsing speed
5 |
6 | 1.1.1 / 2017-03-20
7 | ==================
8 |
9 | * perf: hoist regular expression
10 |
11 | 1.1.0 / 2015-09-29
12 | ==================
13 |
14 | * Only accept valid field names in the `field` argument
15 | - Ensures the resulting string is a valid HTTP header value
16 |
17 | 1.0.1 / 2015-07-08
18 | ==================
19 |
20 | * Fix setting empty header from empty `field`
21 | * perf: enable strict mode
22 | * perf: remove argument reassignments
23 |
24 | 1.0.0 / 2014-08-10
25 | ==================
26 |
27 | * Accept valid `Vary` header string as `field`
28 | * Add `vary.append` for low-level string manipulation
29 | * Move to `jshttp` orgainzation
30 |
31 | 0.1.0 / 2014-06-05
32 | ==================
33 |
34 | * Support array of fields to set
35 |
36 | 0.0.0 / 2014-06-04
37 | ==================
38 |
39 | * Initial release
40 |
--------------------------------------------------------------------------------
/node_modules/which/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/widest-line/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const stringWidth = require('string-width');
3 |
4 | module.exports = input => {
5 | let max = 0;
6 | for (const s of input.split('\n')) max = Math.max(max, stringWidth(s));
7 | return max;
8 | };
9 |
--------------------------------------------------------------------------------
/node_modules/widest-line/readme.md:
--------------------------------------------------------------------------------
1 | # widest-line [](https://travis-ci.org/sindresorhus/widest-line)
2 |
3 | > Get the visual width of the widest line in a string - the number of columns required to display it
4 |
5 | Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
6 |
7 | Useful to be able to know the maximum width a string will take up in the terminal.
8 |
9 |
10 | ## Install
11 |
12 | ```
13 | $ npm install widest-line
14 | ```
15 |
16 |
17 | ## Usage
18 |
19 | ```js
20 | const widestLine = require('widest-line');
21 |
22 | widestLine('古\n\u001B[1m@\u001B[22m');
23 | //=> 2
24 | ```
25 |
26 |
27 | ## Related
28 |
29 | - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string
30 |
31 |
32 | ## License
33 |
34 | MIT © [Sindre Sorhus](https://sindresorhus.com)
35 |
--------------------------------------------------------------------------------
/node_modules/write-file-atomic/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # 2.4.3
2 |
3 | * Ignore errors raised by `fs.closeSync` when cleaning up after a write
4 | error.
5 |
6 | # 2.4.2
7 |
8 | * A pair of patches to fix some fd leaks. We would leak fds with sync use
9 | when errors occured and with async use any time fsync was not in use. (#34)
10 |
11 | # 2.4.1
12 |
13 | * Fix a bug where `signal-exit` instances would be leaked. This was fixed when addressing #35.
14 |
15 | # 2.4.0
16 |
17 | ## Features
18 |
19 | * Allow chown and mode options to be set to false to disable the defaulting behavior. (#20)
20 | * Support passing encoding strings in options slot for compat with Node.js API. (#31)
21 | * Add support for running inside of worker threads (#37)
22 |
23 | ## Fixes
24 |
25 | * Remove unneeded call when returning success (#36)
26 |
--------------------------------------------------------------------------------
/node_modules/write-file-atomic/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015, Rebecca Turner
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4 |
5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6 |
7 |
--------------------------------------------------------------------------------
/node_modules/ws/browser.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = function() {
4 | throw new Error(
5 | 'ws does not work in the browser. Browser clients must use the native ' +
6 | 'WebSocket object'
7 | );
8 | };
9 |
--------------------------------------------------------------------------------
/node_modules/ws/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const WebSocket = require('./lib/websocket');
4 |
5 | WebSocket.createWebSocketStream = require('./lib/stream');
6 | WebSocket.Server = require('./lib/websocket-server');
7 | WebSocket.Receiver = require('./lib/receiver');
8 | WebSocket.Sender = require('./lib/sender');
9 |
10 | module.exports = WebSocket;
11 |
--------------------------------------------------------------------------------
/node_modules/ws/lib/constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = {
4 | BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],
5 | GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',
6 | kStatusCode: Symbol('status-code'),
7 | kWebSocket: Symbol('websocket'),
8 | EMPTY_BUFFER: Buffer.alloc(0),
9 | NOOP: () => {}
10 | };
11 |
--------------------------------------------------------------------------------
/node_modules/ws/lib/validation.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | try {
4 | const isValidUTF8 = require('utf-8-validate');
5 |
6 | exports.isValidUTF8 =
7 | typeof isValidUTF8 === 'object'
8 | ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0
9 | : isValidUTF8;
10 | } catch (e) /* istanbul ignore next */ {
11 | exports.isValidUTF8 = () => true;
12 | }
13 |
14 | /**
15 | * Checks if a status code is allowed in a close frame.
16 | *
17 | * @param {Number} code The status code
18 | * @return {Boolean} `true` if the status code is valid, else `false`
19 | * @public
20 | */
21 | exports.isValidStatusCode = (code) => {
22 | return (
23 | (code >= 1000 &&
24 | code <= 1014 &&
25 | code !== 1004 &&
26 | code !== 1005 &&
27 | code !== 1006) ||
28 | (code >= 3000 && code <= 4999)
29 | );
30 | };
31 |
--------------------------------------------------------------------------------
/node_modules/xdg-basedir/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const os = require('os');
3 | const path = require('path');
4 |
5 | const home = os.homedir();
6 | const env = process.env;
7 |
8 | exports.data = env.XDG_DATA_HOME ||
9 | (home ? path.join(home, '.local', 'share') : null);
10 |
11 | exports.config = env.XDG_CONFIG_HOME ||
12 | (home ? path.join(home, '.config') : null);
13 |
14 | exports.cache = env.XDG_CACHE_HOME || (home ? path.join(home, '.cache') : null);
15 |
16 | exports.runtime = env.XDG_RUNTIME_DIR || null;
17 |
18 | exports.dataDirs = (env.XDG_DATA_DIRS || '/usr/local/share/:/usr/share/').split(':');
19 |
20 | if (exports.data) {
21 | exports.dataDirs.unshift(exports.data);
22 | }
23 |
24 | exports.configDirs = (env.XDG_CONFIG_DIRS || '/etc/xdg').split(':');
25 |
26 | if (exports.config) {
27 | exports.configDirs.unshift(exports.config);
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/xmlhttprequest-ssl/autotest.watchr:
--------------------------------------------------------------------------------
1 | def run_all_tests
2 | puts `clear`
3 | puts `node tests/test-constants.js`
4 | puts `node tests/test-headers.js`
5 | puts `node tests/test-request.js`
6 | end
7 | watch('.*.js') { run_all_tests }
8 | run_all_tests
9 |
--------------------------------------------------------------------------------
/node_modules/xmlhttprequest-ssl/example/demo.js:
--------------------------------------------------------------------------------
1 | var sys = require('util');
2 | var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
3 |
4 | var xhr = new XMLHttpRequest();
5 |
6 | xhr.onreadystatechange = function() {
7 | sys.puts("State: " + this.readyState);
8 |
9 | if (this.readyState == 4) {
10 | sys.puts("Complete.\nBody length: " + this.responseText.length);
11 | sys.puts("Body:\n" + this.responseText);
12 | }
13 | };
14 |
15 | xhr.open("GET", "http://driverdan.com");
16 | xhr.send();
17 |
--------------------------------------------------------------------------------
/node_modules/xmlhttprequest-ssl/tests/test-constants.js:
--------------------------------------------------------------------------------
1 | var sys = require("util")
2 | , assert = require("assert")
3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
4 | , xhr = new XMLHttpRequest();
5 |
6 | // Test constant values
7 | assert.equal(0, xhr.UNSENT);
8 | assert.equal(1, xhr.OPENED);
9 | assert.equal(2, xhr.HEADERS_RECEIVED);
10 | assert.equal(3, xhr.LOADING);
11 | assert.equal(4, xhr.DONE);
12 |
13 | sys.puts("done");
14 |
--------------------------------------------------------------------------------
/node_modules/xmlhttprequest-ssl/tests/test-request-protocols.js:
--------------------------------------------------------------------------------
1 | var sys = require("util")
2 | , assert = require("assert")
3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
4 | , xhr;
5 |
6 | xhr = new XMLHttpRequest();
7 |
8 | xhr.onreadystatechange = function() {
9 | if (this.readyState == 4) {
10 | assert.equal("Hello World", this.responseText);
11 | runSync();
12 | }
13 | };
14 |
15 | // Async
16 | var url = "file://" + __dirname + "/testdata.txt";
17 | xhr.open("GET", url);
18 | xhr.send();
19 |
20 | // Sync
21 | var runSync = function() {
22 | xhr = new XMLHttpRequest();
23 |
24 | xhr.onreadystatechange = function() {
25 | if (this.readyState == 4) {
26 | assert.equal("Hello World", this.responseText);
27 | sys.puts("done");
28 | }
29 | };
30 | xhr.open("GET", url, false);
31 | xhr.send();
32 | }
33 |
--------------------------------------------------------------------------------
/node_modules/xmlhttprequest-ssl/tests/testdata.txt:
--------------------------------------------------------------------------------
1 | Hello World
--------------------------------------------------------------------------------
/node_modules/yallist/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter and Contributors
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
--------------------------------------------------------------------------------
/node_modules/yallist/iterator.js:
--------------------------------------------------------------------------------
1 | var Yallist = require('./yallist.js')
2 |
3 | Yallist.prototype[Symbol.iterator] = function* () {
4 | for (let walker = this.head; walker; walker = walker.next) {
5 | yield walker.value
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "multiplayer-card-project",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "nodemon server.js"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "express": "^4.17.1",
13 | "nodemon": "^2.0.2",
14 | "socket.io": "^2.3.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | const server = require('express')();
2 | const http = require('http').createServer(server);
3 | const io = require('socket.io')(http);
4 | let players = [];
5 |
6 | io.on('connection', function (socket) {
7 | console.log('A user connected: ' + socket.id);
8 |
9 | players.push(socket.id);
10 |
11 | if (players.length === 1) {
12 | io.emit('isPlayerA');
13 | };
14 |
15 | socket.on('dealCards', function () {
16 | io.emit('dealCards');
17 | });
18 |
19 | socket.on('cardPlayed', function (gameObject, isPlayerA) {
20 | io.emit('cardPlayed', gameObject, isPlayerA);
21 | });
22 |
23 | socket.on('disconnect', function () {
24 | console.log('A user disconnected: ' + socket.id);
25 | players = players.filter(player => player !== socket.id);
26 | });
27 | });
28 |
29 | http.listen(3000, function () {
30 | console.log('Server started!');
31 | });
--------------------------------------------------------------------------------