├── .angulardoc.json ├── LICENSE ├── README.md ├── app.js ├── bin └── www ├── client ├── .editorconfig ├── .gitignore ├── angular.json ├── browserslist ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.json ├── karma.conf.js ├── package-lock.json ├── package.json ├── src │ ├── app │ │ ├── add-sales │ │ │ ├── add-sales.component.html │ │ │ ├── add-sales.component.scss │ │ │ ├── add-sales.component.spec.ts │ │ │ └── add-sales.component.ts │ │ ├── api.service.spec.ts │ │ ├── api.service.ts │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── chart.ts │ │ ├── edit-sales │ │ │ ├── edit-sales.component.html │ │ │ ├── edit-sales.component.scss │ │ │ ├── edit-sales.component.spec.ts │ │ │ └── edit-sales.component.ts │ │ ├── sales-details │ │ │ ├── sales-details.component.html │ │ │ ├── sales-details.component.scss │ │ │ ├── sales-details.component.spec.ts │ │ │ └── sales-details.component.ts │ │ ├── sales.ts │ │ └── sales │ │ │ ├── sales.component.html │ │ │ ├── sales.component.scss │ │ │ ├── sales.component.spec.ts │ │ │ └── sales.component.ts │ ├── assets │ │ └── .gitkeep │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ └── test.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── tslint.json ├── models └── Sales.js ├── node_modules ├── .bin │ ├── mime │ └── semver ├── 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 ├── 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 ├── base64-arraybuffer │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE-MIT │ ├── README.md │ ├── lib │ │ └── base64-arraybuffer.js │ └── package.json ├── base64id │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── base64id.js │ └── package.json ├── basic-auth │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── better-assert │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── example.js │ ├── index.js │ └── package.json ├── bl │ ├── .jshintrc │ ├── .travis.yml │ ├── LICENSE.md │ ├── README.md │ ├── bl.js │ ├── package.json │ └── test │ │ ├── indexOf.js │ │ └── test.js ├── 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 ├── bluebird │ ├── LICENSE │ ├── README.md │ ├── changelog.md │ ├── js │ │ ├── browser │ │ │ ├── bluebird.core.js │ │ │ ├── bluebird.core.min.js │ │ │ ├── bluebird.js │ │ │ └── bluebird.min.js │ │ └── release │ │ │ ├── any.js │ │ │ ├── assert.js │ │ │ ├── async.js │ │ │ ├── bind.js │ │ │ ├── bluebird.js │ │ │ ├── call_get.js │ │ │ ├── cancel.js │ │ │ ├── catch_filter.js │ │ │ ├── context.js │ │ │ ├── debuggability.js │ │ │ ├── direct_resolve.js │ │ │ ├── each.js │ │ │ ├── errors.js │ │ │ ├── es5.js │ │ │ ├── filter.js │ │ │ ├── finally.js │ │ │ ├── generators.js │ │ │ ├── join.js │ │ │ ├── map.js │ │ │ ├── method.js │ │ │ ├── nodeback.js │ │ │ ├── nodeify.js │ │ │ ├── promise.js │ │ │ ├── promise_array.js │ │ │ ├── promisify.js │ │ │ ├── props.js │ │ │ ├── queue.js │ │ │ ├── race.js │ │ │ ├── reduce.js │ │ │ ├── schedule.js │ │ │ ├── settle.js │ │ │ ├── some.js │ │ │ ├── synchronous_inspection.js │ │ │ ├── thenables.js │ │ │ ├── timers.js │ │ │ ├── using.js │ │ │ └── util.js │ └── package.json ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ └── package.json ├── bson │ ├── HISTORY.md │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── browser_build │ │ ├── bson.js │ │ └── package.json │ ├── index.js │ ├── lib │ │ └── bson │ │ │ ├── binary.js │ │ │ ├── bson.js │ │ │ ├── code.js │ │ │ ├── db_ref.js │ │ │ ├── decimal128.js │ │ │ ├── double.js │ │ │ ├── float_parser.js │ │ │ ├── int_32.js │ │ │ ├── long.js │ │ │ ├── map.js │ │ │ ├── max_key.js │ │ │ ├── min_key.js │ │ │ ├── objectid.js │ │ │ ├── parser │ │ │ ├── calculate_size.js │ │ │ ├── deserializer.js │ │ │ ├── serializer.js │ │ │ └── utils.js │ │ │ ├── regexp.js │ │ │ ├── symbol.js │ │ │ └── timestamp.js │ └── package.json ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── callsite │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── index.js │ └── package.json ├── 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 ├── content-disposition │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── content-type │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cookie-parser │ ├── 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 ├── core-util-is │ ├── LICENSE │ ├── README.md │ ├── float.patch │ ├── lib │ │ └── util.js │ ├── package.json │ └── test.js ├── cors │ ├── CONTRIBUTING.md │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── index.js │ └── package.json ├── 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 ├── denque │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.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 ├── 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 │ └── package.json ├── engine.io-parser │ ├── LICENSE │ ├── Readme.md │ ├── lib │ │ ├── browser.js │ │ ├── index.js │ │ ├── keys.js │ │ └── utf8.js │ └── package.json ├── engine.io │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── 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 │ │ ├── accepts │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── arraybuffer.slice │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── slice-buffer.js │ │ ├── blob │ │ │ ├── .npmignore │ │ │ ├── .zuul.yml │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── index.js │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bower.json │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── node.js │ │ │ └── package.json │ │ ├── engine.io-parser │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── browser.js │ │ │ │ ├── index.js │ │ │ │ └── keys.js │ │ │ └── package.json │ │ ├── ms │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── negotiator │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── charset.js │ │ │ │ ├── encoding.js │ │ │ │ ├── language.js │ │ │ │ └── mediaType.js │ │ │ └── package.json │ │ └── ws │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── .DS_Store │ │ │ ├── BufferPool.js │ │ │ ├── BufferUtil.fallback.js │ │ │ ├── BufferUtil.js │ │ │ ├── ErrorCodes.js │ │ │ ├── Extensions.js │ │ │ ├── PerMessageDeflate.js │ │ │ ├── Receiver.hixie.js │ │ │ ├── Receiver.js │ │ │ ├── Sender.hixie.js │ │ │ ├── Sender.js │ │ │ ├── Validation.fallback.js │ │ │ ├── Validation.js │ │ │ ├── WebSocket.js │ │ │ └── WebSocketServer.js │ │ │ └── package.json │ └── package.json ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── etag │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── 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 ├── 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 ├── has-binary │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── isarray │ │ │ ├── README.md │ │ │ ├── build │ │ │ └── build.js │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ ├── package.json │ └── test.js ├── has-binary2 │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── isarray │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── has-cors │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test.js ├── http-errors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── iconv-lite │ ├── .travis.yml │ ├── 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 ├── indexof │ ├── .npmignore │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ └── package.json ├── inherits │ ├── LICENSE │ ├── README.md │ ├── inherits.js │ ├── inherits_browser.js │ └── package.json ├── ipaddr.js │ ├── LICENSE │ ├── README.md │ ├── ipaddr.min.js │ ├── lib │ │ ├── ipaddr.js │ │ └── ipaddr.js.d.ts │ └── package.json ├── isarray │ ├── .npmignore │ ├── .travis.yml │ ├── Makefile │ ├── README.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test.js ├── json3 │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── json3.js │ │ └── json3.min.js │ └── package.json ├── kareem │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── docs.js │ ├── gulpfile.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── examples.test.js │ │ ├── misc.test.js │ │ ├── post.test.js │ │ ├── pre.test.js │ │ └── wrap.test.js ├── media-typer │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── memory-pager │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── 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 │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── build.js │ │ └── test.js │ ├── cli.js │ ├── mime.js │ ├── package.json │ └── types.json ├── mongodb │ ├── HISTORY.md │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── admin.js │ │ ├── aggregation_cursor.js │ │ ├── apm.js │ │ ├── async │ │ │ ├── .eslintrc │ │ │ └── async_iterator.js │ │ ├── bulk │ │ │ ├── common.js │ │ │ ├── ordered.js │ │ │ └── unordered.js │ │ ├── change_stream.js │ │ ├── cmap │ │ │ ├── connection.js │ │ │ ├── connection_pool.js │ │ │ ├── errors.js │ │ │ ├── events.js │ │ │ ├── message_stream.js │ │ │ └── stream_description.js │ │ ├── collection.js │ │ ├── command_cursor.js │ │ ├── constants.js │ │ ├── core │ │ │ ├── auth │ │ │ │ ├── auth_provider.js │ │ │ │ ├── defaultAuthProviders.js │ │ │ │ ├── gssapi.js │ │ │ │ ├── mongo_credentials.js │ │ │ │ ├── mongocr.js │ │ │ │ ├── plain.js │ │ │ │ ├── scram.js │ │ │ │ ├── sspi.js │ │ │ │ └── x509.js │ │ │ ├── connection │ │ │ │ ├── apm.js │ │ │ │ ├── command_result.js │ │ │ │ ├── commands.js │ │ │ │ ├── connect.js │ │ │ │ ├── connection.js │ │ │ │ ├── logger.js │ │ │ │ ├── msg.js │ │ │ │ ├── pool.js │ │ │ │ └── utils.js │ │ │ ├── cursor.js │ │ │ ├── error.js │ │ │ ├── index.js │ │ │ ├── sdam │ │ │ │ ├── common.js │ │ │ │ ├── events.js │ │ │ │ ├── monitor.js │ │ │ │ ├── server.js │ │ │ │ ├── server_description.js │ │ │ │ ├── server_selection.js │ │ │ │ ├── srv_polling.js │ │ │ │ ├── topology.js │ │ │ │ └── topology_description.js │ │ │ ├── sessions.js │ │ │ ├── tools │ │ │ │ └── smoke_plugin.js │ │ │ ├── topologies │ │ │ │ ├── mongos.js │ │ │ │ ├── read_preference.js │ │ │ │ ├── replset.js │ │ │ │ ├── replset_state.js │ │ │ │ ├── server.js │ │ │ │ └── shared.js │ │ │ ├── transactions.js │ │ │ ├── uri_parser.js │ │ │ ├── utils.js │ │ │ └── wireprotocol │ │ │ │ ├── command.js │ │ │ │ ├── compression.js │ │ │ │ ├── constants.js │ │ │ │ ├── get_more.js │ │ │ │ ├── index.js │ │ │ │ ├── kill_cursors.js │ │ │ │ ├── query.js │ │ │ │ ├── shared.js │ │ │ │ └── write_command.js │ │ ├── cursor.js │ │ ├── db.js │ │ ├── dynamic_loaders.js │ │ ├── error.js │ │ ├── gridfs-stream │ │ │ ├── download.js │ │ │ ├── index.js │ │ │ └── upload.js │ │ ├── gridfs │ │ │ ├── chunk.js │ │ │ └── grid_store.js │ │ ├── mongo_client.js │ │ ├── operations │ │ │ ├── add_user.js │ │ │ ├── admin_ops.js │ │ │ ├── aggregate.js │ │ │ ├── bulk_write.js │ │ │ ├── close.js │ │ │ ├── collection_ops.js │ │ │ ├── collections.js │ │ │ ├── command.js │ │ │ ├── command_v2.js │ │ │ ├── common_functions.js │ │ │ ├── connect.js │ │ │ ├── count.js │ │ │ ├── count_documents.js │ │ │ ├── create_collection.js │ │ │ ├── create_index.js │ │ │ ├── create_indexes.js │ │ │ ├── cursor_ops.js │ │ │ ├── db_ops.js │ │ │ ├── delete_many.js │ │ │ ├── delete_one.js │ │ │ ├── distinct.js │ │ │ ├── drop.js │ │ │ ├── drop_index.js │ │ │ ├── drop_indexes.js │ │ │ ├── estimated_document_count.js │ │ │ ├── execute_db_admin_command.js │ │ │ ├── execute_operation.js │ │ │ ├── explain.js │ │ │ ├── find.js │ │ │ ├── find_and_modify.js │ │ │ ├── find_one.js │ │ │ ├── find_one_and_delete.js │ │ │ ├── find_one_and_replace.js │ │ │ ├── find_one_and_update.js │ │ │ ├── geo_haystack_search.js │ │ │ ├── has_next.js │ │ │ ├── index_exists.js │ │ │ ├── index_information.js │ │ │ ├── indexes.js │ │ │ ├── insert_many.js │ │ │ ├── insert_one.js │ │ │ ├── is_capped.js │ │ │ ├── list_collections.js │ │ │ ├── list_databases.js │ │ │ ├── list_indexes.js │ │ │ ├── map_reduce.js │ │ │ ├── next.js │ │ │ ├── operation.js │ │ │ ├── options_operation.js │ │ │ ├── profiling_level.js │ │ │ ├── re_index.js │ │ │ ├── remove_user.js │ │ │ ├── rename.js │ │ │ ├── replace_one.js │ │ │ ├── set_profiling_level.js │ │ │ ├── stats.js │ │ │ ├── to_array.js │ │ │ ├── update_many.js │ │ │ ├── update_one.js │ │ │ └── validate_collection.js │ │ ├── read_concern.js │ │ ├── topologies │ │ │ ├── mongos.js │ │ │ ├── native_topology.js │ │ │ ├── replset.js │ │ │ ├── server.js │ │ │ └── topology_base.js │ │ ├── url_parser.js │ │ ├── utils.js │ │ └── write_concern.js │ └── package.json ├── mongoose-legacy-pluralize │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mongoose │ ├── .travis.yml │ ├── History.md │ ├── LICENSE.md │ ├── README.md │ ├── SECURITY.md │ ├── browser.js │ ├── build-browser.js │ ├── dist │ │ └── browser.umd.js │ ├── index.js │ ├── lib │ │ ├── aggregate.js │ │ ├── browser.js │ │ ├── browserDocument.js │ │ ├── cast.js │ │ ├── cast │ │ │ ├── boolean.js │ │ │ ├── date.js │ │ │ ├── decimal128.js │ │ │ ├── number.js │ │ │ ├── objectid.js │ │ │ └── string.js │ │ ├── collection.js │ │ ├── connection.js │ │ ├── connectionstate.js │ │ ├── cursor │ │ │ ├── AggregationCursor.js │ │ │ ├── ChangeStream.js │ │ │ └── QueryCursor.js │ │ ├── document.js │ │ ├── document_provider.js │ │ ├── driver.js │ │ ├── drivers │ │ │ ├── SPEC.md │ │ │ ├── browser │ │ │ │ ├── ReadPreference.js │ │ │ │ ├── binary.js │ │ │ │ ├── decimal128.js │ │ │ │ ├── index.js │ │ │ │ └── objectid.js │ │ │ └── node-mongodb-native │ │ │ │ ├── ReadPreference.js │ │ │ │ ├── binary.js │ │ │ │ ├── collection.js │ │ │ │ ├── connection.js │ │ │ │ ├── decimal128.js │ │ │ │ ├── index.js │ │ │ │ └── objectid.js │ │ ├── error │ │ │ ├── browserMissingSchema.js │ │ │ ├── cast.js │ │ │ ├── disconnected.js │ │ │ ├── divergentArray.js │ │ │ ├── index.js │ │ │ ├── messages.js │ │ │ ├── missingSchema.js │ │ │ ├── mongooseError.js │ │ │ ├── notFound.js │ │ │ ├── objectExpected.js │ │ │ ├── objectParameter.js │ │ │ ├── overwriteModel.js │ │ │ ├── parallelSave.js │ │ │ ├── parallelValidate.js │ │ │ ├── serverSelection.js │ │ │ ├── strict.js │ │ │ ├── validation.js │ │ │ ├── validator.js │ │ │ └── version.js │ │ ├── helpers │ │ │ ├── clone.js │ │ │ ├── common.js │ │ │ ├── cursor │ │ │ │ └── eachAsync.js │ │ │ ├── discriminator │ │ │ │ ├── checkEmbeddedDiscriminatorKeyProjection.js │ │ │ │ ├── getConstructor.js │ │ │ │ └── getDiscriminatorByValue.js │ │ │ ├── document │ │ │ │ ├── cleanModifiedSubpaths.js │ │ │ │ ├── compile.js │ │ │ │ └── getEmbeddedDiscriminatorPath.js │ │ │ ├── each.js │ │ │ ├── get.js │ │ │ ├── getFunctionName.js │ │ │ ├── immediate.js │ │ │ ├── isBsonType.js │ │ │ ├── isMongooseObject.js │ │ │ ├── isObject.js │ │ │ ├── model │ │ │ │ ├── applyHooks.js │ │ │ │ ├── applyMethods.js │ │ │ │ ├── applyStaticHooks.js │ │ │ │ ├── applyStatics.js │ │ │ │ ├── castBulkWrite.js │ │ │ │ └── discriminator.js │ │ │ ├── once.js │ │ │ ├── parallelLimit.js │ │ │ ├── populate │ │ │ │ ├── SkipPopulateValue.js │ │ │ │ ├── assignRawDocsToIdStructure.js │ │ │ │ ├── assignVals.js │ │ │ │ ├── getModelsMapForPopulate.js │ │ │ │ ├── getSchemaTypes.js │ │ │ │ ├── getVirtual.js │ │ │ │ ├── leanPopulateMap.js │ │ │ │ ├── normalizeRefPath.js │ │ │ │ └── validateRef.js │ │ │ ├── printJestWarning.js │ │ │ ├── projection │ │ │ │ ├── isDefiningProjection.js │ │ │ │ ├── isExclusive.js │ │ │ │ ├── isInclusive.js │ │ │ │ ├── isPathExcluded.js │ │ │ │ ├── isPathSelectedInclusive.js │ │ │ │ └── parseProjection.js │ │ │ ├── promiseOrCallback.js │ │ │ ├── query │ │ │ │ ├── applyGlobalMaxTimeMS.js │ │ │ │ ├── applyQueryMiddleware.js │ │ │ │ ├── castFilterPath.js │ │ │ │ ├── castUpdate.js │ │ │ │ ├── completeMany.js │ │ │ │ ├── getEmbeddedDiscriminatorPath.js │ │ │ │ ├── handleImmutable.js │ │ │ │ ├── hasDollarKeys.js │ │ │ │ ├── isOperator.js │ │ │ │ ├── selectPopulatedFields.js │ │ │ │ └── wrapThunk.js │ │ │ ├── schema │ │ │ │ ├── addAutoId.js │ │ │ │ ├── applyPlugins.js │ │ │ │ ├── applyWriteConcern.js │ │ │ │ ├── cleanPositionalOperators.js │ │ │ │ ├── getIndexes.js │ │ │ │ ├── getPath.js │ │ │ │ ├── handleIdOption.js │ │ │ │ ├── handleTimestampOption.js │ │ │ │ └── merge.js │ │ │ ├── schematype │ │ │ │ └── handleImmutable.js │ │ │ ├── setDefaultsOnInsert.js │ │ │ ├── specialProperties.js │ │ │ ├── symbols.js │ │ │ ├── update │ │ │ │ ├── applyTimestampsToChildren.js │ │ │ │ ├── applyTimestampsToUpdate.js │ │ │ │ ├── castArrayFilters.js │ │ │ │ ├── modifiedPaths.js │ │ │ │ └── moveImmutableProperties.js │ │ │ └── updateValidators.js │ │ ├── index.js │ │ ├── internal.js │ │ ├── model.js │ │ ├── options.js │ │ ├── options │ │ │ ├── PopulateOptions.js │ │ │ ├── SchemaArrayOptions.js │ │ │ ├── SchemaBufferOptions.js │ │ │ ├── SchemaDateOptions.js │ │ │ ├── SchemaDocumentArrayOptions.js │ │ │ ├── SchemaMapOptions.js │ │ │ ├── SchemaNumberOptions.js │ │ │ ├── SchemaObjectIdOptions.js │ │ │ ├── SchemaSingleNestedOptions.js │ │ │ ├── SchemaStringOptions.js │ │ │ ├── SchemaTypeOptions.js │ │ │ ├── VirtualOptions.js │ │ │ ├── propertyOptions.js │ │ │ ├── removeOptions.js │ │ │ └── saveOptions.js │ │ ├── plugins │ │ │ ├── idGetter.js │ │ │ ├── removeSubdocs.js │ │ │ ├── saveSubdocs.js │ │ │ ├── sharding.js │ │ │ └── validateBeforeSave.js │ │ ├── promise_provider.js │ │ ├── query.js │ │ ├── queryhelpers.js │ │ ├── schema.js │ │ ├── schema │ │ │ ├── SingleNestedPath.js │ │ │ ├── array.js │ │ │ ├── boolean.js │ │ │ ├── buffer.js │ │ │ ├── date.js │ │ │ ├── decimal128.js │ │ │ ├── documentarray.js │ │ │ ├── index.js │ │ │ ├── map.js │ │ │ ├── mixed.js │ │ │ ├── number.js │ │ │ ├── objectid.js │ │ │ ├── operators │ │ │ │ ├── bitwise.js │ │ │ │ ├── exists.js │ │ │ │ ├── geospatial.js │ │ │ │ ├── helpers.js │ │ │ │ ├── text.js │ │ │ │ └── type.js │ │ │ ├── string.js │ │ │ └── symbols.js │ │ ├── schematype.js │ │ ├── statemachine.js │ │ ├── types │ │ │ ├── array.js │ │ │ ├── buffer.js │ │ │ ├── core_array.js │ │ │ ├── decimal128.js │ │ │ ├── documentarray.js │ │ │ ├── embedded.js │ │ │ ├── index.js │ │ │ ├── map.js │ │ │ ├── objectid.js │ │ │ └── subdocument.js │ │ ├── utils.js │ │ ├── validoptions.js │ │ └── virtualtype.js │ ├── node_modules │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ ├── tools │ │ ├── auth.js │ │ ├── repl.js │ │ └── sharded.js │ ├── webpack.base.config.js │ └── webpack.config.js ├── morgan │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mpath │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── bench.js │ ├── bench.log │ ├── bench.out │ ├── component.json │ ├── index.js │ ├── lib │ │ └── index.js │ ├── package.json │ └── test │ │ └── index.js ├── mquery │ ├── .eslintignore │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── lib │ │ ├── collection │ │ │ ├── collection.js │ │ │ ├── index.js │ │ │ └── node.js │ │ ├── env.js │ │ ├── mquery.js │ │ ├── permissions.js │ │ └── utils.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 │ ├── package.json │ └── test │ │ ├── collection │ │ ├── browser.js │ │ ├── mongo.js │ │ └── node.js │ │ ├── env.js │ │ ├── index.js │ │ └── utils.test.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 ├── object-assign │ ├── 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 ├── on-headers │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── options │ ├── .npmignore │ ├── Makefile │ ├── README.md │ ├── lib │ │ └── options.js │ └── package.json ├── parsejson │ ├── .npmignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── 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-to-regexp │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── process-nextick-args │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md ├── proxy-addr │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── 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 ├── readable-stream │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── GOVERNANCE.md │ ├── LICENSE │ ├── README.md │ ├── doc │ │ └── wg-meetings │ │ │ └── 2015-01-30.md │ ├── duplex-browser.js │ ├── duplex.js │ ├── lib │ │ ├── _stream_duplex.js │ │ ├── _stream_passthrough.js │ │ ├── _stream_readable.js │ │ ├── _stream_transform.js │ │ ├── _stream_writable.js │ │ └── internal │ │ │ └── streams │ │ │ ├── BufferList.js │ │ │ ├── destroy.js │ │ │ ├── stream-browser.js │ │ │ └── stream.js │ ├── package.json │ ├── passthrough.js │ ├── readable-browser.js │ ├── readable.js │ ├── transform.js │ ├── writable-browser.js │ └── writable.js ├── regexp-clone │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── require_optional │ ├── .npmignore │ ├── .travis.yml │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ ├── nestedTest │ │ ├── index.js │ │ └── package.json │ │ └── require_optional_tests.js ├── resolve-from │ ├── 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 ├── saslprep │ ├── .editorconfig │ ├── .gitattributes │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── code-points.mem │ ├── generate-code-points.js │ ├── index.js │ ├── lib │ │ ├── code-points.js │ │ ├── memory-code-points.js │ │ └── util.js │ ├── package.json │ ├── readme.md │ └── test │ │ ├── index.js │ │ └── util.js ├── semver │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── semver │ ├── package.json │ ├── range.bnf │ └── semver.js ├── send │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── serve-static │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── setprototypeof │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── sift │ ├── .babelrc │ ├── .coveralls.yml │ ├── .travis.yml │ ├── MIT-LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── changelog.md │ ├── coverage │ │ ├── coverage.json │ │ └── lcov.info │ ├── gulpfile.js │ ├── index.d.ts │ ├── lib │ │ └── index.js │ ├── package.json │ ├── sift.min.js │ ├── src │ │ └── index.js │ ├── test │ │ ├── basic-test.js │ │ ├── immutable-test.js │ │ ├── objects-test.js │ │ └── operations-test.js │ ├── tsconfig.json │ ├── webpack.config.js │ └── yarn.lock ├── sliced │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── socket.io-adapter │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── node_modules │ │ ├── component-emitter │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bower.json │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bower.json │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── node.js │ │ │ └── package.json │ │ ├── isarray │ │ │ ├── README.md │ │ │ ├── build │ │ │ │ └── build.js │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── ms │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── socket.io-parser │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── binary.js │ │ │ ├── index.js │ │ │ ├── is-buffer.js │ │ │ ├── node_modules │ │ │ ├── debug │ │ │ │ ├── .jshintrc │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── Makefile │ │ │ │ ├── Readme.md │ │ │ │ ├── bower.json │ │ │ │ ├── browser.js │ │ │ │ ├── component.json │ │ │ │ ├── debug.js │ │ │ │ ├── node.js │ │ │ │ └── package.json │ │ │ └── ms │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── package.json │ └── 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 │ └── package.json ├── 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 │ │ └── isarray │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── socket.io │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── lib │ │ ├── client.js │ │ ├── index.js │ │ ├── namespace.js │ │ └── socket.js │ ├── node_modules │ │ ├── arraybuffer.slice │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── slice-buffer.js │ │ ├── blob │ │ │ ├── .npmignore │ │ │ ├── .zuul.yml │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── index.js │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bower.json │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── node.js │ │ │ └── package.json │ │ ├── engine.io-client │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── engine.io.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── socket.js │ │ │ │ ├── transport.js │ │ │ │ ├── transports │ │ │ │ │ ├── index.js │ │ │ │ │ ├── polling-jsonp.js │ │ │ │ │ ├── polling-xhr.js │ │ │ │ │ ├── polling.js │ │ │ │ │ └── websocket.js │ │ │ │ └── xmlhttprequest.js │ │ │ └── package.json │ │ ├── engine.io-parser │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── browser.js │ │ │ │ ├── index.js │ │ │ │ └── keys.js │ │ │ └── package.json │ │ ├── isarray │ │ │ ├── README.md │ │ │ ├── build │ │ │ │ └── build.js │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── ms │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── socket.io-client │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── dist │ │ │ │ ├── socket.io.js │ │ │ │ ├── socket.io.js.map │ │ │ │ ├── socket.io.min.js │ │ │ │ ├── socket.io.slim.js │ │ │ │ ├── socket.io.slim.js.map │ │ │ │ └── socket.io.slim.min.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── manager.js │ │ │ │ ├── on.js │ │ │ │ ├── socket.js │ │ │ │ └── url.js │ │ │ └── package.json │ │ ├── socket.io-parser │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── binary.js │ │ │ ├── index.js │ │ │ ├── is-buffer.js │ │ │ ├── node_modules │ │ │ │ ├── component-emitter │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── component.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── debug │ │ │ │ │ ├── .jshintrc │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── browser.js │ │ │ │ │ ├── component.json │ │ │ │ │ ├── debug.js │ │ │ │ │ ├── node.js │ │ │ │ │ └── package.json │ │ │ │ └── ms │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── History.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── ws │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── .DS_Store │ │ │ │ ├── BufferPool.js │ │ │ │ ├── BufferUtil.fallback.js │ │ │ │ ├── BufferUtil.js │ │ │ │ ├── ErrorCodes.js │ │ │ │ ├── Extensions.js │ │ │ │ ├── PerMessageDeflate.js │ │ │ │ ├── Receiver.hixie.js │ │ │ │ ├── Receiver.js │ │ │ │ ├── Sender.hixie.js │ │ │ │ ├── Sender.js │ │ │ │ ├── Validation.fallback.js │ │ │ │ ├── Validation.js │ │ │ │ ├── WebSocket.js │ │ │ │ └── WebSocketServer.js │ │ │ └── package.json │ │ └── 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 │ └── package.json ├── socketio │ ├── demo.js │ ├── demo.js~ │ ├── index.js │ ├── index.js~ │ └── package.json ├── sparse-bitfield │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── statuses │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── codes.json │ ├── index.js │ └── package.json ├── string_decoder │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── string_decoder.js │ └── package.json ├── to-array │ ├── .npmignore │ ├── LICENCE │ ├── README.md │ ├── index.js │ └── package.json ├── type-is │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ultron │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── unpipe │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── util-deprecate │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── browser.js │ ├── node.js │ └── package.json ├── utils-merge │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── vary │ ├── HISTORY.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 │ │ ├── permessage-deflate.js │ │ ├── receiver.js │ │ ├── sender.js │ │ ├── validation.js │ │ ├── websocket-server.js │ │ └── websocket.js │ └── package.json ├── wtf-8 │ ├── LICENSE-MIT.txt │ ├── README.md │ ├── package.json │ └── wtf-8.js ├── 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 └── yeast │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── package-lock.json ├── package.json ├── public ├── index.html └── stylesheets │ └── style.css └── routes ├── index.js ├── sales.js └── users.js /.angulardoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "repoId": "f5b01580-2622-4b26-a0e3-d4ea3103b87e", 3 | "lastSync": 0 4 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MEAN Stack Angular 9 Build Realtime CRUD Web App Quickly 2 | 3 | This source code is part of [MEAN Stack Angular 9 Build Realtime CRUD Web App Quickly](https://www.djamware.com/post/5e50b735525fc968b04a707f/mean-stack-angular-9-build-realtime-crud-web-app-quickly). 4 | -------------------------------------------------------------------------------- /client/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | # Only exists if Bazel was run 8 | /bazel-out 9 | 10 | # dependencies 11 | /node_modules 12 | 13 | # profiling files 14 | chrome-profiler-events*.json 15 | speed-measure-plugin*.json 16 | 17 | # IDEs and editors 18 | /.idea 19 | .project 20 | .classpath 21 | .c9/ 22 | *.launch 23 | .settings/ 24 | *.sublime-workspace 25 | 26 | # IDE - VSCode 27 | .vscode/* 28 | !.vscode/settings.json 29 | !.vscode/tasks.json 30 | !.vscode/launch.json 31 | !.vscode/extensions.json 32 | .history/* 33 | 34 | # misc 35 | /.sass-cache 36 | /connect.lock 37 | /coverage 38 | /libpeerconnection.log 39 | npm-debug.log 40 | yarn-error.log 41 | testem.log 42 | /typings 43 | 44 | # System Files 45 | .DS_Store 46 | Thumbs.db 47 | -------------------------------------------------------------------------------- /client/browserslist: -------------------------------------------------------------------------------- 1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below. 2 | # For additional information regarding the format and rule options, please see: 3 | # https://github.com/browserslist/browserslist#queries 4 | 5 | # You can see what browsers were selected by your queries by running: 6 | # npx browserslist 7 | 8 | > 0.5% 9 | last 2 versions 10 | Firefox ESR 11 | not dead 12 | not IE 9-11 # For IE 9-11 support, remove 'not'. -------------------------------------------------------------------------------- /client/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | import { browser, logging } from 'protractor'; 3 | 4 | describe('workspace-project App', () => { 5 | let page: AppPage; 6 | 7 | beforeEach(() => { 8 | page = new AppPage(); 9 | }); 10 | 11 | it('should display welcome message', () => { 12 | page.navigateTo(); 13 | expect(page.getTitleText()).toEqual('client app is running!'); 14 | }); 15 | 16 | afterEach(async () => { 17 | // Assert that there are no errors emitted from the browser 18 | const logs = await browser.manage().logs().get(logging.Type.BROWSER); 19 | expect(logs).not.toContain(jasmine.objectContaining({ 20 | level: logging.Level.SEVERE, 21 | } as logging.Entry)); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /client/e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo(): Promise { 5 | return browser.get(browser.baseUrl) as Promise; 6 | } 7 | 8 | getTitleText(): Promise { 9 | return element(by.css('app-root .content span')).getText() as Promise; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types": [ 8 | "jasmine", 9 | "jasminewd2", 10 | "node" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /client/src/app/add-sales/add-sales.component.scss: -------------------------------------------------------------------------------- 1 | /* Structure */ 2 | .example-container { 3 | position: relative; 4 | padding: 5px; 5 | } 6 | 7 | .example-form { 8 | min-width: 150px; 9 | max-width: 500px; 10 | width: 100%; 11 | } 12 | 13 | .example-full-width { 14 | width: 100%; 15 | } 16 | 17 | .example-full-width:nth-last-child(0) { 18 | margin-bottom: 10px; 19 | } 20 | 21 | .button-row { 22 | margin: 10px 0; 23 | } 24 | 25 | .mat-flat-button { 26 | margin: 5px; 27 | } 28 | -------------------------------------------------------------------------------- /client/src/app/add-sales/add-sales.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AddSalesComponent } from './add-sales.component'; 4 | 5 | describe('AddSalesComponent', () => { 6 | let component: AddSalesComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AddSalesComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AddSalesComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /client/src/app/api.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing'; 2 | 3 | import { ApiService } from './api.service'; 4 | 5 | describe('ApiService', () => { 6 | let service: ApiService; 7 | 8 | beforeEach(() => { 9 | TestBed.configureTestingModule({}); 10 | service = TestBed.inject(ApiService); 11 | }); 12 | 13 | it('should be created', () => { 14 | expect(service).toBeTruthy(); 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 20px; 3 | } 4 | -------------------------------------------------------------------------------- /client/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: ['./app.component.scss'] 7 | }) 8 | export class AppComponent { 9 | title = 'client'; 10 | } 11 | -------------------------------------------------------------------------------- /client/src/app/chart.ts: -------------------------------------------------------------------------------- 1 | export class Chart { 2 | _id: any; 3 | totalPrice: number; 4 | } 5 | -------------------------------------------------------------------------------- /client/src/app/edit-sales/edit-sales.component.scss: -------------------------------------------------------------------------------- 1 | /* Structure */ 2 | .example-container { 3 | position: relative; 4 | padding: 5px; 5 | } 6 | 7 | .example-form { 8 | min-width: 150px; 9 | max-width: 500px; 10 | width: 100%; 11 | } 12 | 13 | .example-full-width { 14 | width: 100%; 15 | } 16 | 17 | .example-full-width:nth-last-child(0) { 18 | margin-bottom: 10px; 19 | } 20 | 21 | .button-row { 22 | margin: 10px 0; 23 | } 24 | 25 | .mat-flat-button { 26 | margin: 5px; 27 | } 28 | -------------------------------------------------------------------------------- /client/src/app/edit-sales/edit-sales.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { EditSalesComponent } from './edit-sales.component'; 4 | 5 | describe('EditSalesComponent', () => { 6 | let component: EditSalesComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ EditSalesComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(EditSalesComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /client/src/app/sales-details/sales-details.component.scss: -------------------------------------------------------------------------------- 1 | /* Structure */ 2 | .example-container { 3 | position: relative; 4 | padding: 5px; 5 | } 6 | 7 | .example-loading-shade { 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 56px; 12 | right: 0; 13 | background: rgba(0, 0, 0, 0.15); 14 | z-index: 1; 15 | display: flex; 16 | align-items: center; 17 | justify-content: center; 18 | } 19 | 20 | .mat-flat-button { 21 | margin: 5px; 22 | } 23 | -------------------------------------------------------------------------------- /client/src/app/sales-details/sales-details.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { SalesDetailsComponent } from './sales-details.component'; 4 | 5 | describe('SalesDetailsComponent', () => { 6 | let component: SalesDetailsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ SalesDetailsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(SalesDetailsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /client/src/app/sales.ts: -------------------------------------------------------------------------------- 1 | export class Sales { 2 | _id: string; 3 | itemId: string; 4 | itemName: string; 5 | itemPrice: number; 6 | itemQty: number; 7 | totalPrice: number; 8 | updated: Date; 9 | } 10 | -------------------------------------------------------------------------------- /client/src/app/sales/sales.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { SalesComponent } from './sales.component'; 4 | 5 | describe('SalesComponent', () => { 6 | let component: SalesComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ SalesComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(SalesComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /client/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/client/src/assets/.gitkeep -------------------------------------------------------------------------------- /client/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. 3 | // The list of file replacements can be found in `angular.json`. 4 | 5 | export const environment = { 6 | production: false 7 | }; 8 | 9 | /* 10 | * For easier debugging in development mode, you can import the following file 11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. 12 | * 13 | * This import should be commented out in production mode because it will have a negative impact 14 | * on performance if an error is thrown. 15 | */ 16 | // import 'zone.js/dist/zone-error'; // Included with Angular CLI. 17 | -------------------------------------------------------------------------------- /client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/client/src/favicon.ico -------------------------------------------------------------------------------- /client/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Client 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.error(err)); 13 | -------------------------------------------------------------------------------- /client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /client/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/app", 5 | "types": [] 6 | }, 7 | "files": [ 8 | "src/main.ts", 9 | "src/polyfills.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "baseUrl": "./", 5 | "outDir": "./dist/out-tsc", 6 | "sourceMap": true, 7 | "declaration": false, 8 | "downlevelIteration": true, 9 | "experimentalDecorators": true, 10 | "module": "esnext", 11 | "moduleResolution": "node", 12 | "importHelpers": true, 13 | "target": "es2015", 14 | "typeRoots": [ 15 | "node_modules/@types" 16 | ], 17 | "lib": [ 18 | "es2018", 19 | "dom" 20 | ] 21 | }, 22 | "angularCompilerOptions": { 23 | "fullTemplateTypeCheck": true, 24 | "strictInjectionParameters": true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /client/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/spec", 5 | "types": [ 6 | "jasmine", 7 | "node" 8 | ] 9 | }, 10 | "files": [ 11 | "src/test.ts", 12 | "src/polyfills.ts" 13 | ], 14 | "include": [ 15 | "src/**/*.spec.ts", 16 | "src/**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /models/Sales.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | 3 | var SalesSchema = new mongoose.Schema({ 4 | id: String, 5 | itemId: String, 6 | itemName: String, 7 | itemPrice: Number, 8 | itemQty: Number, 9 | totalPrice: String, 10 | updated: { type: Date, default: Date.now }, 11 | }); 12 | 13 | module.exports = mongoose.model('Sales', SalesSchema); -------------------------------------------------------------------------------- /node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../mime/cli.js -------------------------------------------------------------------------------- /node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver -------------------------------------------------------------------------------- /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/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/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/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/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/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/base64id/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /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/bl/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - '4' 5 | - '6' 6 | - '8' 7 | - '9' 8 | - '10' 9 | branches: 10 | only: 11 | - master 12 | notifications: 13 | email: 14 | - rod@vagg.org 15 | - matteo.collina@gmail.com 16 | -------------------------------------------------------------------------------- /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 | 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/bluebird/changelog.md: -------------------------------------------------------------------------------- 1 | [http://bluebirdjs.com/docs/changelog.html](http://bluebirdjs.com/docs/changelog.html) 2 | -------------------------------------------------------------------------------- /node_modules/bluebird/js/release/any.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = function(Promise) { 3 | var SomePromiseArray = Promise._SomePromiseArray; 4 | function any(promises) { 5 | var ret = new SomePromiseArray(promises); 6 | var promise = ret.promise(); 7 | ret.setHowMany(1); 8 | ret.setUnwrap(); 9 | ret.init(); 10 | return promise; 11 | } 12 | 13 | Promise.any = function (promises) { 14 | return any(promises); 15 | }; 16 | 17 | Promise.prototype.any = function () { 18 | return any(this); 19 | }; 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/bluebird/js/release/bluebird.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var old; 3 | if (typeof Promise !== "undefined") old = Promise; 4 | function noConflict() { 5 | try { if (Promise === bluebird) Promise = old; } 6 | catch (e) {} 7 | return bluebird; 8 | } 9 | var bluebird = require("./promise")(); 10 | bluebird.noConflict = noConflict; 11 | module.exports = bluebird; 12 | -------------------------------------------------------------------------------- /node_modules/bluebird/js/release/filter.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = function(Promise, INTERNAL) { 3 | var PromiseMap = Promise.map; 4 | 5 | Promise.prototype.filter = function (fn, options) { 6 | return PromiseMap(this, fn, options, INTERNAL); 7 | }; 8 | 9 | Promise.filter = function (promises, fn, options) { 10 | return PromiseMap(promises, fn, options, INTERNAL); 11 | }; 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/bson/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bson", 3 | "description": "A bson parser for node.js and the browser", 4 | "keywords": [ 5 | "mongodb", 6 | "bson", 7 | "parser" 8 | ], 9 | "author": "Christian Amor Kvalheim ", 10 | "main": "./browser_build/bson.js", 11 | "license": "Apache-2.0", 12 | "moduleType": [ 13 | "globals", 14 | "node" 15 | ], 16 | "ignore": [ 17 | "**/.*", 18 | "alternate_parsers", 19 | "benchmarks", 20 | "bower_components", 21 | "node_modules", 22 | "test", 23 | "tools" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/bson/browser_build/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "bson" 2 | , "description" : "A bson parser for node.js and the browser" 3 | , "main": "../" 4 | , "directories" : { "lib" : "../lib/bson" } 5 | , "engines" : { "node" : ">=0.6.0" } 6 | , "licenses" : [ { "type" : "Apache License, Version 2.0" 7 | , "url" : "http://www.apache.org/licenses/LICENSE-2.0" } ] 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/bson/lib/bson/code.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A class representation of the BSON Code type. 3 | * 4 | * @class 5 | * @param {(string|function)} code a string or function. 6 | * @param {Object} [scope] an optional scope for the function. 7 | * @return {Code} 8 | */ 9 | var Code = function Code(code, scope) { 10 | if (!(this instanceof Code)) return new Code(code, scope); 11 | this._bsontype = 'Code'; 12 | this.code = code; 13 | this.scope = scope; 14 | }; 15 | 16 | /** 17 | * @ignore 18 | */ 19 | Code.prototype.toJSON = function() { 20 | return { scope: this.scope, code: this.code }; 21 | }; 22 | 23 | module.exports = Code; 24 | module.exports.Code = Code; 25 | -------------------------------------------------------------------------------- /node_modules/bson/lib/bson/double.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A class representation of the BSON Double type. 3 | * 4 | * @class 5 | * @param {number} value the number we want to represent as a double. 6 | * @return {Double} 7 | */ 8 | function Double(value) { 9 | if (!(this instanceof Double)) return new Double(value); 10 | 11 | this._bsontype = 'Double'; 12 | this.value = value; 13 | } 14 | 15 | /** 16 | * Access the number value. 17 | * 18 | * @method 19 | * @return {number} returns the wrapped double number. 20 | */ 21 | Double.prototype.valueOf = function() { 22 | return this.value; 23 | }; 24 | 25 | /** 26 | * @ignore 27 | */ 28 | Double.prototype.toJSON = function() { 29 | return this.value; 30 | }; 31 | 32 | module.exports = Double; 33 | module.exports.Double = Double; 34 | -------------------------------------------------------------------------------- /node_modules/bson/lib/bson/int_32.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A class representation of a BSON Int32 type. 3 | * 4 | * @class 5 | * @param {number} value the number we want to represent as an int32. 6 | * @return {Int32} 7 | */ 8 | var Int32 = function(value) { 9 | if (!(this instanceof Int32)) return new Int32(value); 10 | 11 | this._bsontype = 'Int32'; 12 | this.value = value; 13 | }; 14 | 15 | /** 16 | * Access the number value. 17 | * 18 | * @method 19 | * @return {number} returns the wrapped int32 number. 20 | */ 21 | Int32.prototype.valueOf = function() { 22 | return this.value; 23 | }; 24 | 25 | /** 26 | * @ignore 27 | */ 28 | Int32.prototype.toJSON = function() { 29 | return this.value; 30 | }; 31 | 32 | module.exports = Int32; 33 | module.exports.Int32 = Int32; 34 | -------------------------------------------------------------------------------- /node_modules/bson/lib/bson/max_key.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A class representation of the BSON MaxKey type. 3 | * 4 | * @class 5 | * @return {MaxKey} A MaxKey instance 6 | */ 7 | function MaxKey() { 8 | if (!(this instanceof MaxKey)) return new MaxKey(); 9 | 10 | this._bsontype = 'MaxKey'; 11 | } 12 | 13 | module.exports = MaxKey; 14 | module.exports.MaxKey = MaxKey; 15 | -------------------------------------------------------------------------------- /node_modules/bson/lib/bson/min_key.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A class representation of the BSON MinKey type. 3 | * 4 | * @class 5 | * @return {MinKey} A MinKey instance 6 | */ 7 | function MinKey() { 8 | if (!(this instanceof MinKey)) return new MinKey(); 9 | 10 | this._bsontype = 'MinKey'; 11 | } 12 | 13 | module.exports = MinKey; 14 | module.exports.MinKey = MinKey; 15 | -------------------------------------------------------------------------------- /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/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/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/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /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/denque/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 Mike Diarmid (Salakar) 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this library except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /node_modules/denque/index.d.ts: -------------------------------------------------------------------------------- 1 | declare class Denque { 2 | constructor(); 3 | constructor(array: T[]); 4 | 5 | push(item: T): number; 6 | unshift(item: T): number; 7 | pop(): T | undefined; 8 | removeBack(): T | undefined; 9 | shift(): T | undefined; 10 | peekBack(): T | undefined; 11 | peekFront(): T | undefined; 12 | peekAt(index: number): T | undefined; 13 | get(index: number): T | undefined; 14 | remove(index: number, count: number): T[]; 15 | removeOne(index: number): T | undefined; 16 | splice(index: number, count: number, ...item: T[]): T[] | undefined; 17 | isEmpty(): boolean; 18 | clear(): void; 19 | 20 | toString(): string; 21 | toArray(): T[]; 22 | 23 | length: number; 24 | } 25 | 26 | export = Denque; 27 | -------------------------------------------------------------------------------- /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-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/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.EIO_COV 3 | ? require('./lib-cov/engine.io') 4 | : require('./lib/engine.io'); 5 | -------------------------------------------------------------------------------- /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/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/engine.io/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/engine.io/node_modules/blob/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | blob.js 3 | -------------------------------------------------------------------------------- /node_modules/engine.io/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/engine.io/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/engine.io/node_modules/blob/README.md: -------------------------------------------------------------------------------- 1 | Blob 2 | ==== 3 | 4 | A module that exports a constructor that uses window.Blob when available, and a BlobBuilder with any vendor prefix in other cases. If neither is available, it exports undefined. 5 | 6 | Usage: 7 | 8 | ```javascript 9 | var Blob = require('blob'); 10 | var b = new Blob(['hi', 'constructing', 'a', 'blob']); 11 | ``` 12 | 13 | ## Licence 14 | MIT 15 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "homepage": "https://github.com/visionmedia/debug", 5 | "authors": [ 6 | "TJ Holowaychuk ", 7 | "Nathan Rajlich (http://n8.io)", 8 | "Andrew Rhyne " 9 | ], 10 | "description": "visionmedia-debug", 11 | "moduleType": [ 12 | "amd", 13 | "es6", 14 | "globals", 15 | "node" 16 | ], 17 | "keywords": [ 18 | "visionmedia", 19 | "debug" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.3.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/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/engine.io/node_modules/engine.io-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/'); 3 | -------------------------------------------------------------------------------- /node_modules/engine.io/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/node_modules/ws/lib/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/engine.io/node_modules/ws/lib/.DS_Store -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/ws/lib/BufferUtil.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | var bufferUtil; 10 | 11 | try { 12 | bufferUtil = require('bufferutil'); 13 | } catch (e) { 14 | bufferUtil = require('./BufferUtil.fallback'); 15 | } 16 | 17 | module.exports = bufferUtil.BufferUtil || bufferUtil; 18 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/ws/lib/ErrorCodes.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = { 8 | isValidErrorCode: function(code) { 9 | return (code >= 1000 && code <= 1011 && code != 1004 && code != 1005 && code != 1006) || 10 | (code >= 3000 && code <= 4999); 11 | }, 12 | 1000: 'normal', 13 | 1001: 'going away', 14 | 1002: 'protocol error', 15 | 1003: 'unsupported data', 16 | 1004: 'reserved', 17 | 1005: 'reserved for extensions', 18 | 1006: 'reserved for extensions', 19 | 1007: 'inconsistent or invalid data', 20 | 1008: 'policy violation', 21 | 1009: 'message too big', 22 | 1010: 'extension handshake missing', 23 | 1011: 'an unexpected condition prevented the request from being fulfilled', 24 | }; -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/ws/lib/Validation.fallback.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | exports.Validation = { 8 | isValidUTF8: function(buffer) { 9 | return true; 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/ws/lib/Validation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | var isValidUTF8; 10 | 11 | try { 12 | isValidUTF8 = require('utf-8-validate'); 13 | } catch (e) { 14 | isValidUTF8 = require('./Validation.fallback'); 15 | } 16 | 17 | module.exports = typeof isValidUTF8 === 'object' 18 | ? isValidUTF8.Validation.isValidUTF8 19 | : isValidUTF8; 20 | -------------------------------------------------------------------------------- /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/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/has-binary/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules 16 | -------------------------------------------------------------------------------- /node_modules/has-binary/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.7 / 2015-11-18 3 | ================== 4 | 5 | * fix toJSON [@jderuere] 6 | * fix `global.isBuffer` usage [@tonetheman] 7 | * fix tests on modern versions of node 8 | * bump mocha 9 | 10 | 0.1.6 / 2015-01-24 11 | ================== 12 | 13 | * fix "undefined function" bug when iterating 14 | an object created with Object.create(null) [gunta] 15 | 16 | 0.1.5 / 2014-09-04 17 | ================== 18 | 19 | * prevent browserify from bundling `Buffer` 20 | -------------------------------------------------------------------------------- /node_modules/has-binary/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/has-binary/README.md: -------------------------------------------------------------------------------- 1 | has-binarydata.js 2 | ================= 3 | 4 | Simple module to test if an object contains binary data 5 | -------------------------------------------------------------------------------- /node_modules/has-binary/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/has-binary/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /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-binary2/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/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/iconv-lite/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "iojs" 8 | - "4" 9 | - "6" 10 | - "8" 11 | - "node" 12 | 13 | 14 | env: 15 | - CXX=g++-4.8 16 | addons: 17 | apt: 18 | sources: 19 | - ubuntu-toolchain-r-test 20 | packages: 21 | - gcc-4.8 22 | - g++-4.8 23 | 24 | -------------------------------------------------------------------------------- /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/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/isarray/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/isarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /node_modules/isarray/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @node_modules/.bin/tape test.js 4 | 5 | .PHONY: test 6 | 7 | -------------------------------------------------------------------------------- /node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /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/isarray/test.js: -------------------------------------------------------------------------------- 1 | var isArray = require('./'); 2 | var test = require('tape'); 3 | 4 | test('is array', function(t){ 5 | t.ok(isArray([])); 6 | t.notOk(isArray({})); 7 | t.notOk(isArray(null)); 8 | t.notOk(isArray(false)); 9 | 10 | var obj = {}; 11 | obj[0] = true; 12 | t.notOk(isArray(obj)); 13 | 14 | var arr = []; 15 | arr.foo = 'bar'; 16 | t.ok(isArray(arr)); 17 | 18 | t.end(); 19 | }); 20 | 21 | -------------------------------------------------------------------------------- /node_modules/kareem/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "12" 4 | - "10" 5 | - "9" 6 | - "8" 7 | - "7" 8 | - "6" 9 | - "5" 10 | - "4" 11 | script: "npm run-script test-travis" 12 | after_script: "npm install coveralls@2.10.0 && cat ./coverage/lcov.info | coveralls" 13 | -------------------------------------------------------------------------------- /node_modules/kareem/Makefile: -------------------------------------------------------------------------------- 1 | docs: 2 | node ./docs.js 3 | 4 | coverage: 5 | ./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/* 6 | -------------------------------------------------------------------------------- /node_modules/kareem/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var mocha = require('gulp-mocha'); 3 | var config = require('./package.json'); 4 | var jscs = require('gulp-jscs'); 5 | 6 | gulp.task('mocha', function() { 7 | return gulp.src('./test/*'). 8 | pipe(mocha({ reporter: 'dot' })); 9 | }); 10 | 11 | gulp.task('jscs', function() { 12 | return gulp.src('./index.js'). 13 | pipe(jscs(config.jscsConfig)); 14 | }); 15 | 16 | gulp.task('watch', function() { 17 | gulp.watch('./index.js', ['jscs', 'mocha']); 18 | }); 19 | -------------------------------------------------------------------------------- /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/memory-pager/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '4' 4 | - '6' 5 | -------------------------------------------------------------------------------- /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/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /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/mongodb/lib/async/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parserOptions": { 3 | "ecmaVersion": 2018 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | SYSTEM_NAMESPACE_COLLECTION: 'system.namespaces', 5 | SYSTEM_INDEX_COLLECTION: 'system.indexes', 6 | SYSTEM_PROFILE_COLLECTION: 'system.profile', 7 | SYSTEM_USER_COLLECTION: 'system.users', 8 | SYSTEM_COMMAND_COLLECTION: '$cmd', 9 | SYSTEM_JS_COLLECTION: 'system.js' 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/core/auth/x509.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const AuthProvider = require('./auth_provider').AuthProvider; 4 | 5 | /** 6 | * Creates a new X509 authentication mechanism 7 | * @class 8 | * @extends AuthProvider 9 | */ 10 | class X509 extends AuthProvider { 11 | /** 12 | * Implementation of authentication for a single connection 13 | * @override 14 | */ 15 | _authenticateSingleConnection(sendAuthCommand, connection, credentials, callback) { 16 | const username = credentials.username; 17 | const command = { authenticate: 1, mechanism: 'MONGODB-X509' }; 18 | if (username) { 19 | command.user = username; 20 | } 21 | 22 | sendAuthCommand(connection, '$external.$cmd', command, callback); 23 | } 24 | } 25 | 26 | module.exports = X509; 27 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/core/wireprotocol/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const MIN_SUPPORTED_SERVER_VERSION = '2.6'; 4 | const MAX_SUPPORTED_SERVER_VERSION = '4.2'; 5 | const MIN_SUPPORTED_WIRE_VERSION = 2; 6 | const MAX_SUPPORTED_WIRE_VERSION = 8; 7 | 8 | module.exports = { 9 | MIN_SUPPORTED_SERVER_VERSION, 10 | MAX_SUPPORTED_SERVER_VERSION, 11 | MIN_SUPPORTED_WIRE_VERSION, 12 | MAX_SUPPORTED_WIRE_VERSION 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/core/wireprotocol/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const writeCommand = require('./write_command'); 3 | 4 | module.exports = { 5 | insert: function insert(server, ns, ops, options, callback) { 6 | writeCommand(server, 'insert', 'documents', ns, ops, options, callback); 7 | }, 8 | update: function update(server, ns, ops, options, callback) { 9 | writeCommand(server, 'update', 'updates', ns, ops, options, callback); 10 | }, 11 | remove: function remove(server, ns, ops, options, callback) { 12 | writeCommand(server, 'delete', 'deletes', ns, ops, options, callback); 13 | }, 14 | killCursors: require('./kill_cursors'), 15 | getMore: require('./get_more'), 16 | query: require('./query'), 17 | command: require('./command') 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/dynamic_loaders.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let collection; 4 | let cursor; 5 | let db; 6 | 7 | function loadCollection() { 8 | if (!collection) { 9 | collection = require('./collection'); 10 | } 11 | return collection; 12 | } 13 | 14 | function loadCursor() { 15 | if (!cursor) { 16 | cursor = require('./cursor'); 17 | } 18 | return cursor; 19 | } 20 | 21 | function loadDb() { 22 | if (!db) { 23 | db = require('./db'); 24 | } 25 | return db; 26 | } 27 | 28 | module.exports = { 29 | loadCollection, 30 | loadCursor, 31 | loadDb 32 | }; 33 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/delete_many.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const OperationBase = require('./operation').OperationBase; 4 | const deleteCallback = require('./common_functions').deleteCallback; 5 | const removeDocuments = require('./common_functions').removeDocuments; 6 | 7 | class DeleteManyOperation extends OperationBase { 8 | constructor(collection, filter, options) { 9 | super(options); 10 | 11 | this.collection = collection; 12 | this.filter = filter; 13 | } 14 | 15 | execute(callback) { 16 | const coll = this.collection; 17 | const filter = this.filter; 18 | const options = this.options; 19 | 20 | options.single = false; 21 | removeDocuments(coll, filter, options, (err, r) => deleteCallback(err, r, callback)); 22 | } 23 | } 24 | 25 | module.exports = DeleteManyOperation; 26 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/delete_one.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const OperationBase = require('./operation').OperationBase; 4 | const deleteCallback = require('./common_functions').deleteCallback; 5 | const removeDocuments = require('./common_functions').removeDocuments; 6 | 7 | class DeleteOneOperation extends OperationBase { 8 | constructor(collection, filter, options) { 9 | super(options); 10 | 11 | this.collection = collection; 12 | this.filter = filter; 13 | } 14 | 15 | execute(callback) { 16 | const coll = this.collection; 17 | const filter = this.filter; 18 | const options = this.options; 19 | 20 | options.single = true; 21 | removeDocuments(coll, filter, options, (err, r) => deleteCallback(err, r, callback)); 22 | } 23 | } 24 | 25 | module.exports = DeleteOneOperation; 26 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/drop_indexes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Aspect = require('./operation').Aspect; 4 | const defineAspects = require('./operation').defineAspects; 5 | const DropIndexOperation = require('./drop_index'); 6 | const handleCallback = require('../utils').handleCallback; 7 | 8 | class DropIndexesOperation extends DropIndexOperation { 9 | constructor(collection, options) { 10 | super(collection, '*', options); 11 | } 12 | 13 | execute(callback) { 14 | super.execute(err => { 15 | if (err) return handleCallback(callback, err, false); 16 | handleCallback(callback, null, true); 17 | }); 18 | } 19 | } 20 | 21 | defineAspects(DropIndexesOperation, Aspect.WRITE_OPERATION); 22 | 23 | module.exports = DropIndexesOperation; 24 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/explain.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Aspect = require('./operation').Aspect; 4 | const CoreCursor = require('../core/cursor').CoreCursor; 5 | const defineAspects = require('./operation').defineAspects; 6 | const OperationBase = require('./operation').OperationBase; 7 | 8 | class ExplainOperation extends OperationBase { 9 | constructor(cursor) { 10 | super(); 11 | 12 | this.cursor = cursor; 13 | } 14 | 15 | execute() { 16 | const cursor = this.cursor; 17 | return CoreCursor.prototype._next.apply(cursor, arguments); 18 | } 19 | } 20 | 21 | defineAspects(ExplainOperation, Aspect.SKIP_SESSION); 22 | 23 | module.exports = ExplainOperation; 24 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/find_one_and_delete.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const FindAndModifyOperation = require('./find_and_modify'); 4 | 5 | class FindOneAndDeleteOperation extends FindAndModifyOperation { 6 | constructor(collection, filter, options) { 7 | // Final options 8 | const finalOptions = Object.assign({}, options); 9 | finalOptions.fields = options.projection; 10 | finalOptions.remove = true; 11 | 12 | super(collection, filter, finalOptions.sort, null, finalOptions); 13 | } 14 | } 15 | 16 | module.exports = FindOneAndDeleteOperation; 17 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/find_one_and_replace.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const FindAndModifyOperation = require('./find_and_modify'); 4 | 5 | class FindOneAndReplaceOperation extends FindAndModifyOperation { 6 | constructor(collection, filter, replacement, options) { 7 | // Final options 8 | const finalOptions = Object.assign({}, options); 9 | finalOptions.fields = options.projection; 10 | finalOptions.update = true; 11 | finalOptions.new = options.returnOriginal !== void 0 ? !options.returnOriginal : false; 12 | finalOptions.upsert = options.upsert !== void 0 ? !!options.upsert : false; 13 | 14 | super(collection, filter, finalOptions.sort, replacement, finalOptions); 15 | } 16 | } 17 | 18 | module.exports = FindOneAndReplaceOperation; 19 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/find_one_and_update.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const FindAndModifyOperation = require('./find_and_modify'); 4 | 5 | class FindOneAndUpdateOperation extends FindAndModifyOperation { 6 | constructor(collection, filter, update, options) { 7 | // Final options 8 | const finalOptions = Object.assign({}, options); 9 | finalOptions.fields = options.projection; 10 | finalOptions.update = true; 11 | finalOptions.new = 12 | typeof options.returnOriginal === 'boolean' ? !options.returnOriginal : false; 13 | finalOptions.upsert = typeof options.upsert === 'boolean' ? options.upsert : false; 14 | 15 | super(collection, filter, finalOptions.sort, update, finalOptions); 16 | } 17 | } 18 | 19 | module.exports = FindOneAndUpdateOperation; 20 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/index_information.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const OperationBase = require('./operation').OperationBase; 4 | const indexInformation = require('./common_functions').indexInformation; 5 | 6 | class IndexInformationOperation extends OperationBase { 7 | constructor(db, name, options) { 8 | super(options); 9 | 10 | this.db = db; 11 | this.name = name; 12 | } 13 | 14 | execute(callback) { 15 | const db = this.db; 16 | const name = this.name; 17 | const options = this.options; 18 | 19 | indexInformation(db, name, options, callback); 20 | } 21 | } 22 | 23 | module.exports = IndexInformationOperation; 24 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/indexes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const OperationBase = require('./operation').OperationBase; 4 | const indexInformation = require('./common_functions').indexInformation; 5 | 6 | class IndexesOperation extends OperationBase { 7 | constructor(collection, options) { 8 | super(options); 9 | 10 | this.collection = collection; 11 | } 12 | 13 | execute(callback) { 14 | const coll = this.collection; 15 | let options = this.options; 16 | 17 | options = Object.assign({}, { full: true }, options); 18 | indexInformation(coll.s.db, coll.collectionName, options, callback); 19 | } 20 | } 21 | 22 | module.exports = IndexesOperation; 23 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/is_capped.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const OptionsOperation = require('./options_operation'); 4 | const handleCallback = require('../utils').handleCallback; 5 | 6 | class IsCappedOperation extends OptionsOperation { 7 | constructor(collection, options) { 8 | super(collection, options); 9 | } 10 | 11 | execute(callback) { 12 | super.execute((err, document) => { 13 | if (err) return handleCallback(callback, err); 14 | handleCallback(callback, null, !!(document && document.capped)); 15 | }); 16 | } 17 | } 18 | 19 | module.exports = IsCappedOperation; 20 | -------------------------------------------------------------------------------- /node_modules/mongodb/lib/operations/re_index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const CommandOperation = require('./command'); 4 | const handleCallback = require('../utils').handleCallback; 5 | 6 | class ReIndexOperation extends CommandOperation { 7 | constructor(collection, options) { 8 | super(collection.s.db, options, collection); 9 | } 10 | 11 | _buildCommand() { 12 | const collection = this.collection; 13 | 14 | const cmd = { reIndex: collection.collectionName }; 15 | 16 | return cmd; 17 | } 18 | 19 | execute(callback) { 20 | super.execute((err, result) => { 21 | if (callback == null) return; 22 | if (err) return handleCallback(callback, err, null); 23 | handleCallback(callback, null, result.ok ? true : false); 24 | }); 25 | } 26 | } 27 | 28 | module.exports = ReIndexOperation; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose-legacy-pluralize/README.md: -------------------------------------------------------------------------------- 1 | # mongoose-legacy-pluralize 2 | Legacy pluralization logic for mongoose 3 | -------------------------------------------------------------------------------- /node_modules/mongoose/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: [12, 11, 10, 9, 8, 7, 6, 5, 4] 4 | install: 5 | - travis_retry npm install 6 | before_script: 7 | - wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.0.2.tgz 8 | - tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.0.2.tgz 9 | - mkdir -p ./data/db/27017 10 | - mkdir -p ./data/db/27000 11 | - printf "\n--timeout 8000" >> ./test/mocha.opts 12 | - ./mongodb-linux-x86_64-ubuntu1604-4.0.2/bin/mongod --fork --dbpath ./data/db/27017 --syslog --port 27017 13 | - export PATH=`pwd`/mongodb-linux-x86_64-ubuntu1604-4.0.2/bin/:$PATH 14 | - sleep 2 15 | - mongod --version 16 | matrix: 17 | include: 18 | - name: "👕Linter" 19 | node_js: 10 20 | before_script: skip 21 | script: npm run lint 22 | notifications: 23 | email: false 24 | -------------------------------------------------------------------------------- /node_modules/mongoose/SECURITY.md: -------------------------------------------------------------------------------- 1 | Please follow the instructions on [Tidelift's security page](https://tidelift.com/docs/security) to report a security issue. 2 | -------------------------------------------------------------------------------- /node_modules/mongoose/browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Export lib/mongoose 3 | * 4 | */ 5 | 6 | 'use strict'; 7 | 8 | module.exports = require('./lib/browser'); 9 | -------------------------------------------------------------------------------- /node_modules/mongoose/build-browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const config = require('./webpack.config.js'); 4 | const webpack = require('webpack'); 5 | 6 | const compiler = webpack(config); 7 | 8 | console.log('Starting browser build...'); 9 | compiler.run((err, stats) => { 10 | if (err) { 11 | console.err(stats.toString()); 12 | console.err('Browser build unsuccessful.'); 13 | process.exit(1); 14 | } 15 | console.log(stats.toString()); 16 | console.log('Browser build successful.'); 17 | process.exit(0); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/mongoose/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Export lib/mongoose 4 | * 5 | */ 6 | 7 | 'use strict'; 8 | 9 | module.exports = require('./lib/'); 10 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/cast/objectid.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ObjectId = require('../driver').get().ObjectId; 4 | const assert = require('assert'); 5 | 6 | module.exports = function castObjectId(value) { 7 | if (value == null) { 8 | return value; 9 | } 10 | 11 | if (value instanceof ObjectId) { 12 | return value; 13 | } 14 | 15 | if (value._id) { 16 | if (value._id instanceof ObjectId) { 17 | return value._id; 18 | } 19 | if (value._id.toString instanceof Function) { 20 | return new ObjectId(value._id.toString()); 21 | } 22 | } 23 | 24 | if (value.toString instanceof Function) { 25 | return new ObjectId(value.toString()); 26 | } 27 | 28 | assert.ok(false); 29 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/connectionstate.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connection states 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const STATES = module.exports = exports = Object.create(null); 9 | 10 | const disconnected = 'disconnected'; 11 | const connected = 'connected'; 12 | const connecting = 'connecting'; 13 | const disconnecting = 'disconnecting'; 14 | const uninitialized = 'uninitialized'; 15 | 16 | STATES[0] = disconnected; 17 | STATES[1] = connected; 18 | STATES[2] = connecting; 19 | STATES[3] = disconnecting; 20 | STATES[99] = uninitialized; 21 | 22 | STATES[disconnected] = 0; 23 | STATES[connected] = 1; 24 | STATES[connecting] = 2; 25 | STATES[disconnecting] = 3; 26 | STATES[uninitialized] = 99; 27 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/document_provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* eslint-env browser */ 4 | 5 | /*! 6 | * Module dependencies. 7 | */ 8 | const Document = require('./document.js'); 9 | const BrowserDocument = require('./browserDocument.js'); 10 | 11 | let isBrowser = false; 12 | 13 | /** 14 | * Returns the Document constructor for the current context 15 | * 16 | * @api private 17 | */ 18 | module.exports = function() { 19 | if (isBrowser) { 20 | return BrowserDocument; 21 | } 22 | return Document; 23 | }; 24 | 25 | /*! 26 | * ignore 27 | */ 28 | module.exports.setBrowser = function(flag) { 29 | isBrowser = flag; 30 | }; 31 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/driver.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | let driver = null; 8 | 9 | module.exports.get = function() { 10 | return driver; 11 | }; 12 | 13 | module.exports.set = function(v) { 14 | driver = v; 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/SPEC.md: -------------------------------------------------------------------------------- 1 | 2 | # Driver Spec 3 | 4 | TODO 5 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/browser/ReadPreference.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ignore 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = function() {}; 8 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/browser/binary.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const Binary = require('bson').Binary; 9 | 10 | /*! 11 | * Module exports. 12 | */ 13 | 14 | module.exports = exports = Binary; 15 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/browser/decimal128.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ignore 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = require('bson').Decimal128; 8 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/browser/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module exports. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | exports.Binary = require('./binary'); 8 | exports.Collection = function() { 9 | throw new Error('Cannot create a collection from browser library'); 10 | }; 11 | exports.Decimal128 = require('./decimal128'); 12 | exports.ObjectId = require('./objectid'); 13 | exports.ReadPreference = require('./ReadPreference'); 14 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/browser/objectid.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) ObjectId 4 | * @constructor NodeMongoDbObjectId 5 | * @see ObjectId 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const ObjectId = require('bson').ObjectID; 11 | 12 | /*! 13 | * Getter for convenience with populate, see gh-6115 14 | */ 15 | 16 | Object.defineProperty(ObjectId.prototype, '_id', { 17 | enumerable: false, 18 | configurable: true, 19 | get: function() { 20 | return this; 21 | } 22 | }); 23 | 24 | /*! 25 | * ignore 26 | */ 27 | 28 | module.exports = exports = ObjectId; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const Binary = require('mongodb').Binary; 9 | 10 | module.exports = exports = Binary; 11 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/node-mongodb-native/decimal128.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ignore 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = require('mongodb').Decimal128; 8 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/node-mongodb-native/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module exports. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | exports.Binary = require('./binary'); 8 | exports.Collection = require('./collection'); 9 | exports.Decimal128 = require('./decimal128'); 10 | exports.ObjectId = require('./objectid'); 11 | exports.ReadPreference = require('./ReadPreference'); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) ObjectId 4 | * @constructor NodeMongoDbObjectId 5 | * @see ObjectId 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const ObjectId = require('mongodb').ObjectId; 11 | 12 | /*! 13 | * ignore 14 | */ 15 | 16 | module.exports = exports = ObjectId; 17 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/error/mongooseError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | function MongooseError(msg) { 8 | Error.call(this); 9 | if (Error.captureStackTrace) { 10 | Error.captureStackTrace(this); 11 | } else { 12 | this.stack = new Error().stack; 13 | } 14 | this.message = msg; 15 | this.name = 'MongooseError'; 16 | } 17 | 18 | /*! 19 | * Inherits from Error. 20 | */ 21 | 22 | MongooseError.prototype = Object.create(Error.prototype); 23 | MongooseError.prototype.constructor = Error; 24 | 25 | module.exports = MongooseError; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/error/parallelSave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./'); 8 | 9 | /** 10 | * ParallelSave Error constructor. 11 | * 12 | * @inherits MongooseError 13 | * @api private 14 | */ 15 | 16 | function ParallelSaveError(doc) { 17 | const msg = 'Can\'t save() the same doc multiple times in parallel. Document: '; 18 | MongooseError.call(this, msg + doc._id); 19 | this.name = 'ParallelSaveError'; 20 | } 21 | 22 | /*! 23 | * Inherits from MongooseError. 24 | */ 25 | 26 | ParallelSaveError.prototype = Object.create(MongooseError.prototype); 27 | ParallelSaveError.prototype.constructor = MongooseError; 28 | 29 | /*! 30 | * exports 31 | */ 32 | 33 | module.exports = ParallelSaveError; 34 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/error/parallelValidate.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * ParallelValidate Error constructor. 11 | * 12 | * @inherits MongooseError 13 | * @api private 14 | */ 15 | 16 | function ParallelValidateError(doc) { 17 | const msg = 'Can\'t validate() the same doc multiple times in parallel. Document: '; 18 | MongooseError.call(this, msg + doc._id); 19 | this.name = 'ParallelValidateError'; 20 | } 21 | 22 | /*! 23 | * Inherits from MongooseError. 24 | */ 25 | 26 | ParallelValidateError.prototype = Object.create(MongooseError.prototype); 27 | ParallelValidateError.prototype.constructor = MongooseError; 28 | 29 | /*! 30 | * exports 31 | */ 32 | 33 | module.exports = ParallelValidateError; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function checkEmbeddedDiscriminatorKeyProjection(userProjection, path, schema, selected, addedPaths) { 4 | const userProjectedInPath = Object.keys(userProjection). 5 | reduce((cur, key) => cur || key.startsWith(path + '.'), false); 6 | const _discriminatorKey = path + '.' + schema.options.discriminatorKey; 7 | if (!userProjectedInPath && 8 | addedPaths.length === 1 && 9 | addedPaths[0] === _discriminatorKey) { 10 | selected.splice(selected.indexOf(_discriminatorKey), 1); 11 | } 12 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * returns discriminator by discriminatorMapping.value 5 | * 6 | * @param {Model} model 7 | * @param {string} value 8 | */ 9 | 10 | module.exports = function getDiscriminatorByValue(model, value) { 11 | let discriminator = null; 12 | if (!model.discriminators) { 13 | return discriminator; 14 | } 15 | for (const name in model.discriminators) { 16 | const it = model.discriminators[name]; 17 | if ( 18 | it.schema && 19 | it.schema.discriminatorMapping && 20 | it.schema.discriminatorMapping.value == value 21 | ) { 22 | discriminator = it; 23 | break; 24 | } 25 | } 26 | return discriminator; 27 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function cleanModifiedSubpaths(doc, path, options) { 8 | options = options || {}; 9 | const skipDocArrays = options.skipDocArrays; 10 | 11 | let deleted = 0; 12 | if (!doc) { 13 | return deleted; 14 | } 15 | for (const modifiedPath of Object.keys(doc.$__.activePaths.states.modify)) { 16 | if (skipDocArrays) { 17 | const schemaType = doc.schema.path(modifiedPath); 18 | if (schemaType && schemaType.$isMongooseDocumentArray) { 19 | continue; 20 | } 21 | } 22 | if (modifiedPath.startsWith(path + '.')) { 23 | delete doc.$__.activePaths.states.modify[modifiedPath]; 24 | ++deleted; 25 | } 26 | } 27 | return deleted; 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/each.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function each(arr, cb, done) { 4 | if (arr.length === 0) { 5 | return done(); 6 | } 7 | 8 | let remaining = arr.length; 9 | let err = null; 10 | for (const v of arr) { 11 | cb(v, function(_err) { 12 | if (err != null) { 13 | return; 14 | } 15 | if (_err != null) { 16 | err = _err; 17 | return done(err); 18 | } 19 | 20 | if (--remaining <= 0) { 21 | return done(); 22 | } 23 | }); 24 | } 25 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/getFunctionName.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function(fn) { 4 | if (fn.name) { 5 | return fn.name; 6 | } 7 | return (fn.toString().trim().match(/^function\s*([^\s(]+)/) || [])[1]; 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/immediate.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Centralize this so we can more easily work around issues with people 3 | * stubbing out `process.nextTick()` in tests using sinon: 4 | * https://github.com/sinonjs/lolex#automatically-incrementing-mocked-time 5 | * See gh-6074 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = function immediate(cb) { 11 | return process.nextTick(cb); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/isBsonType.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const get = require('./get'); 4 | 5 | /*! 6 | * Get the bson type, if it exists 7 | */ 8 | 9 | function isBsonType(obj, typename) { 10 | return get(obj, '_bsontype', void 0) === typename; 11 | } 12 | 13 | module.exports = isBsonType; 14 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/isMongooseObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Returns if `v` is a mongoose object that has a `toObject()` method we can use. 5 | * 6 | * This is for compatibility with libs like Date.js which do foolish things to Natives. 7 | * 8 | * @param {any} v 9 | * @api private 10 | */ 11 | 12 | module.exports = function(v) { 13 | if (v == null) { 14 | return false; 15 | } 16 | 17 | return v.$__ != null || // Document 18 | v.isMongooseArray || // Array or Document Array 19 | v.isMongooseBuffer || // Buffer 20 | v.$isMongooseMap; // Map 21 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/isObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Determines if `arg` is an object. 5 | * 6 | * @param {Object|Array|String|Function|RegExp|any} arg 7 | * @api private 8 | * @return {Boolean} 9 | */ 10 | 11 | module.exports = function(arg) { 12 | if (Buffer.isBuffer(arg)) { 13 | return true; 14 | } 15 | return Object.prototype.toString.call(arg) === '[object Object]'; 16 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/model/applyStatics.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Register statics for this model 5 | * @param {Model} model 6 | * @param {Schema} schema 7 | */ 8 | module.exports = function applyStatics(model, schema) { 9 | for (const i in schema.statics) { 10 | model[i] = schema.statics[i]; 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/once.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function once(fn) { 4 | let called = false; 5 | return function() { 6 | if (called) { 7 | return; 8 | } 9 | called = true; 10 | return fn.apply(null, arguments); 11 | }; 12 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/populate/SkipPopulateValue.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function SkipPopulateValue(val) { 4 | if (!(this instanceof SkipPopulateValue)) { 5 | return new SkipPopulateValue(val); 6 | } 7 | 8 | this.val = val; 9 | return this; 10 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = new WeakMap(); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/populate/validateRef.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const MongooseError = require('../../error/mongooseError'); 4 | const util = require('util'); 5 | 6 | module.exports = validateRef; 7 | 8 | function validateRef(ref, path) { 9 | if (typeof ref === 'string') { 10 | return; 11 | } 12 | 13 | if (typeof ref === 'function') { 14 | return; 15 | } 16 | 17 | throw new MongooseError('Invalid ref at path "' + path + '". Got ' + 18 | util.inspect(ref, { depth: 0 })); 19 | } -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/printJestWarning.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (typeof jest !== 'undefined' && typeof window !== 'undefined') { 4 | console.warn('Mongoose: looks like you\'re trying to test a Mongoose app ' + 5 | 'with Jest\'s default jsdom test environment. Please make sure you read ' + 6 | 'Mongoose\'s docs on configuring Jest to test Node.js apps: ' + 7 | 'http://mongoosejs.com/docs/jest.html'); 8 | } -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function isDefiningProjection(val) { 8 | if (val == null) { 9 | // `undefined` or `null` become exclusive projections 10 | return true; 11 | } 12 | if (typeof val === 'object') { 13 | // Only cases where a value does **not** define whether the whole projection 14 | // is inclusive or exclusive are `$meta` and `$slice`. 15 | return !('$meta' in val) && !('$slice' in val); 16 | } 17 | return true; 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/projection/isExclusive.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isDefiningProjection = require('./isDefiningProjection'); 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | module.exports = function isExclusive(projection) { 10 | const keys = Object.keys(projection); 11 | let ki = keys.length; 12 | let exclude = null; 13 | 14 | if (ki === 1 && keys[0] === '_id') { 15 | exclude = !!projection[keys[ki]]; 16 | } else { 17 | while (ki--) { 18 | // Does this projection explicitly define inclusion/exclusion? 19 | // Explicitly avoid `$meta` and `$slice` 20 | if (keys[ki] !== '_id' && isDefiningProjection(projection[keys[ki]])) { 21 | exclude = !projection[keys[ki]]; 22 | break; 23 | } 24 | } 25 | } 26 | 27 | return exclude; 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function isPathSelectedInclusive(fields, path) { 8 | const chunks = path.split('.'); 9 | let cur = ''; 10 | let j; 11 | let keys; 12 | let numKeys; 13 | for (let i = 0; i < chunks.length; ++i) { 14 | cur += cur.length ? '.' : '' + chunks[i]; 15 | if (fields[cur]) { 16 | keys = Object.keys(fields); 17 | numKeys = keys.length; 18 | for (j = 0; j < numKeys; ++j) { 19 | if (keys[i].indexOf(cur + '.') === 0 && keys[i].indexOf(path) !== 0) { 20 | continue; 21 | } 22 | } 23 | return true; 24 | } 25 | } 26 | 27 | return false; 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/query/applyGlobalMaxTimeMS.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const utils = require('../../utils'); 4 | 5 | module.exports = function applyGlobalMaxTimeMS(options, model) { 6 | if (utils.hasUserDefinedProperty(options, 'maxTimeMS')) { 7 | return; 8 | } 9 | 10 | if (utils.hasUserDefinedProperty(model.db.options, 'maxTimeMS')) { 11 | options.maxTimeMS = model.db.options.maxTimeMS; 12 | } else if (utils.hasUserDefinedProperty(model.base.options, 'maxTimeMS')) { 13 | options.maxTimeMS = model.base.options.maxTimeMS; 14 | } 15 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/query/handleImmutable.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const StrictModeError = require('../../error/strict'); 4 | 5 | module.exports = function handleImmutable(schematype, strict, obj, key, fullPath, ctx) { 6 | if (schematype == null || !schematype.options || !schematype.options.immutable) { 7 | return false; 8 | } 9 | let immutable = schematype.options.immutable; 10 | 11 | if (typeof immutable === 'function') { 12 | immutable = immutable.call(ctx, ctx); 13 | } 14 | if (!immutable) { 15 | return false; 16 | } 17 | 18 | if (strict === false) { 19 | return false; 20 | } 21 | if (strict === 'throw') { 22 | throw new StrictModeError(null, 23 | `Field ${fullPath} is immutable and strict = 'throw'`); 24 | } 25 | 26 | delete obj[key]; 27 | return true; 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/query/hasDollarKeys.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function(obj) { 8 | if (obj == null) { 9 | return false; 10 | } 11 | const keys = Object.keys(obj); 12 | const len = keys.length; 13 | for (let i = 0; i < len; ++i) { 14 | if (keys[i].startsWith('$')) { 15 | return true; 16 | } 17 | } 18 | return false; 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/query/isOperator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const specialKeys = new Set([ 4 | '$ref', 5 | '$id', 6 | '$db' 7 | ]); 8 | 9 | module.exports = function isOperator(path) { 10 | return path.startsWith('$') && !specialKeys.has(path); 11 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/query/wrapThunk.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * A query thunk is the function responsible for sending the query to MongoDB, 5 | * like `Query#_findOne()` or `Query#_execUpdate()`. The `Query#exec()` function 6 | * calls a thunk. The term "thunk" here is the traditional Node.js definition: 7 | * a function that takes exactly 1 parameter, a callback. 8 | * 9 | * This function defines common behavior for all query thunks. 10 | */ 11 | 12 | module.exports = function wrapThunk(fn) { 13 | return function _wrappedThunk(cb) { 14 | ++this._executionCount; 15 | 16 | fn.call(this, cb); 17 | }; 18 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/addAutoId.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function addAutoId(schema) { 4 | const _obj = {_id: {auto: true}}; 5 | _obj._id[schema.options.typeKey] = 'ObjectId'; 6 | schema.add(_obj); 7 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const get = require('../get'); 4 | 5 | module.exports = function applyWriteConcern(schema, options) { 6 | const writeConcern = get(schema, 'options.writeConcern', {}); 7 | if (!('w' in options) && writeConcern.w != null) { 8 | options.w = writeConcern.w; 9 | } 10 | if (!('j' in options) && writeConcern.j != null) { 11 | options.j = writeConcern.j; 12 | } 13 | if (!('wtimeout' in options) && writeConcern.wtimeout != null) { 14 | options.wtimeout = writeConcern.wtimeout; 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * For consistency's sake, we replace positional operator `$` and array filters 5 | * `$[]` and `$[foo]` with `0` when looking up schema paths. 6 | */ 7 | 8 | module.exports = function cleanPositionalOperators(path) { 9 | return path. 10 | replace(/\.\$(\[[^\]]*\])?\./g, '.0.'). 11 | replace(/\.(\[[^\]]*\])?\$$/g, '.0'); 12 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/handleIdOption.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const addAutoId = require('./addAutoId'); 4 | 5 | module.exports = function handleIdOption(schema, options) { 6 | if (options == null || options._id == null) { 7 | return schema; 8 | } 9 | 10 | schema = schema.clone(); 11 | if (!options._id) { 12 | schema.remove('_id'); 13 | schema.options._id = false; 14 | } else if (!schema.paths['_id']) { 15 | addAutoId(schema); 16 | schema.options._id = true; 17 | } 18 | 19 | return schema; 20 | }; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = handleTimestampOption; 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | function handleTimestampOption(arg, prop) { 10 | if (arg == null) { 11 | return null; 12 | } 13 | 14 | if (typeof arg === 'boolean') { 15 | return prop; 16 | } 17 | if (typeof arg[prop] === 'boolean') { 18 | return arg[prop] ? prop : null; 19 | } 20 | if (!(prop in arg)) { 21 | return prop; 22 | } 23 | return arg[prop]; 24 | } -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/schema/merge.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function merge(s1, s2) { 4 | s1.add(s2.tree || {}); 5 | 6 | s1.callQueue = s1.callQueue.concat(s2.callQueue); 7 | s1.method(s2.methods); 8 | s1.static(s2.statics); 9 | 10 | for (const query in s2.query) { 11 | s1.query[query] = s2.query[query]; 12 | } 13 | 14 | for (const virtual in s2.virtuals) { 15 | s1.virtuals[virtual] = s2.virtuals[virtual].clone(); 16 | } 17 | 18 | s1.s.hooks.merge(s2.s.hooks, false); 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/specialProperties.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = new Set(['__proto__', 'constructor', 'prototype']); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/helpers/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.arrayAtomicsSymbol = Symbol('mongoose#Array#_atomics'); 4 | exports.arrayParentSymbol = Symbol('mongoose#Array#_parent'); 5 | exports.arrayPathSymbol = Symbol('mongoose#Array#_path'); 6 | exports.arraySchemaSymbol = Symbol('mongoose#Array#_schema'); 7 | exports.documentArrayParent = Symbol('mongoose:documentArrayParent'); 8 | exports.documentSchemaSymbol = Symbol('mongoose#Document#schema'); 9 | exports.getSymbol = Symbol('mongoose#Document#get'); 10 | exports.modelSymbol = Symbol('mongoose#Model'); 11 | exports.objectIdSymbol = Symbol('mongoose#ObjectId'); 12 | exports.populateModelSymbol = Symbol('mongoose.PopulateOptions#Model'); 13 | exports.schemaTypeSymbol = Symbol('mongoose#schemaType'); 14 | exports.validatorErrorSymbol = Symbol('mongoose:validatorError'); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/options.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | exports.internalToObjectOptions = { 8 | transform: false, 9 | virtuals: false, 10 | getters: false, 11 | _skipDepopulateTopLevel: true, 12 | depopulate: true, 13 | flattenDecimals: false 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/options/PopulateOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const clone = require('../helpers/clone'); 4 | 5 | class PopulateOptions { 6 | constructor(obj) { 7 | this._docs = {}; 8 | 9 | if (obj == null) { 10 | return; 11 | } 12 | obj = clone(obj); 13 | Object.assign(this, obj); 14 | if (typeof obj.subPopulate === 'object') { 15 | this.populate = obj.subPopulate; 16 | } 17 | } 18 | } 19 | 20 | /** 21 | * The connection used to look up models by name. If not specified, Mongoose 22 | * will default to using the connection associated with the model in 23 | * `PopulateOptions#model`. 24 | * 25 | * @memberOf PopulateOptions 26 | * @property {Connection} connection 27 | * @api public 28 | */ 29 | 30 | module.exports = PopulateOptions; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/options/propertyOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = Object.freeze({ 4 | enumerable: true, 5 | configurable: true, 6 | writable: true, 7 | value: void 0 8 | }); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/options/removeOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const clone = require('../helpers/clone'); 4 | 5 | class RemoveOptions { 6 | constructor(obj) { 7 | if (obj == null) { 8 | return; 9 | } 10 | Object.assign(this, clone(obj)); 11 | } 12 | } 13 | 14 | module.exports = RemoveOptions; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/options/saveOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const clone = require('../helpers/clone'); 4 | 5 | class SaveOptions { 6 | constructor(obj) { 7 | if (obj == null) { 8 | return; 9 | } 10 | Object.assign(this, clone(obj)); 11 | } 12 | } 13 | 14 | module.exports = SaveOptions; -------------------------------------------------------------------------------- /node_modules/mongoose/lib/plugins/idGetter.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function(schema) { 8 | // ensure the documents receive an id getter unless disabled 9 | const autoIdGetter = !schema.paths['id'] && 10 | (!schema.options.noVirtualId && schema.options.id); 11 | if (!autoIdGetter) { 12 | return; 13 | } 14 | 15 | schema.virtual('id').get(idGetter); 16 | }; 17 | 18 | /*! 19 | * Returns this documents _id cast to a string. 20 | */ 21 | 22 | function idGetter() { 23 | if (this._id != null) { 24 | return String(this._id); 25 | } 26 | 27 | return null; 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/plugins/removeSubdocs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const each = require('../helpers/each'); 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | module.exports = function(schema) { 10 | const unshift = true; 11 | schema.s.hooks.pre('remove', false, function(next) { 12 | if (this.ownerDocument) { 13 | next(); 14 | return; 15 | } 16 | 17 | const _this = this; 18 | const subdocs = this.$__getAllSubdocs(); 19 | 20 | each(subdocs, function(subdoc, cb) { 21 | subdoc.$__remove(cb); 22 | }, function(error) { 23 | if (error) { 24 | return _this.schema.s.hooks.execPost('remove:error', _this, [_this], { error: error }, function(error) { 25 | next(error); 26 | }); 27 | } 28 | next(); 29 | }); 30 | }, null, unshift); 31 | }; 32 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/schema/operators/bitwise.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module requirements. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const CastError = require('../../error/cast'); 8 | 9 | /*! 10 | * ignore 11 | */ 12 | 13 | function handleBitwiseOperator(val) { 14 | const _this = this; 15 | if (Array.isArray(val)) { 16 | return val.map(function(v) { 17 | return _castNumber(_this.path, v); 18 | }); 19 | } else if (Buffer.isBuffer(val)) { 20 | return val; 21 | } 22 | // Assume trying to cast to number 23 | return _castNumber(_this.path, val); 24 | } 25 | 26 | /*! 27 | * ignore 28 | */ 29 | 30 | function _castNumber(path, num) { 31 | const v = Number(num); 32 | if (isNaN(v)) { 33 | throw new CastError('number', num, path); 34 | } 35 | return v; 36 | } 37 | 38 | module.exports = handleBitwiseOperator; 39 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/schema/operators/exists.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const castBoolean = require('../../cast/boolean'); 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | module.exports = function(val) { 10 | const path = this != null ? this.path : null; 11 | return castBoolean(val, path); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/schema/operators/helpers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module requirements. 5 | */ 6 | 7 | const SchemaNumber = require('../number'); 8 | 9 | /*! 10 | * @ignore 11 | */ 12 | 13 | exports.castToNumber = castToNumber; 14 | exports.castArraysOfNumbers = castArraysOfNumbers; 15 | 16 | /*! 17 | * @ignore 18 | */ 19 | 20 | function castToNumber(val) { 21 | return SchemaNumber.cast()(val); 22 | } 23 | 24 | function castArraysOfNumbers(arr, self) { 25 | arr.forEach(function(v, i) { 26 | if (Array.isArray(v)) { 27 | castArraysOfNumbers(v, self); 28 | } else { 29 | arr[i] = castToNumber.call(self, v); 30 | } 31 | }); 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/schema/operators/type.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function(val) { 8 | if (typeof val !== 'number' && typeof val !== 'string') { 9 | throw new Error('$type parameter must be number or string'); 10 | } 11 | 12 | return val; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/schema/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.schemaMixedSymbol = Symbol.for('mongoose:schema_mixed'); 4 | 5 | exports.builtInMiddleware = Symbol.for('mongoose:built-in-middleware'); -------------------------------------------------------------------------------- /node_modules/mongoose/lib/types/decimal128.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ObjectId type constructor 3 | * 4 | * ####Example 5 | * 6 | * var id = new mongoose.Types.ObjectId; 7 | * 8 | * @constructor ObjectId 9 | */ 10 | 11 | 'use strict'; 12 | 13 | module.exports = require('../driver').get().Decimal128; 14 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/types/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module exports. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | exports.Array = require('./array'); 9 | exports.Buffer = require('./buffer'); 10 | 11 | exports.Document = // @deprecate 12 | exports.Embedded = require('./embedded'); 13 | 14 | exports.DocumentArray = require('./documentarray'); 15 | exports.Decimal128 = require('./decimal128'); 16 | exports.ObjectId = require('./objectid'); 17 | 18 | exports.Map = require('./map'); 19 | 20 | exports.Subdocument = require('./subdocument'); 21 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/types/objectid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ObjectId type constructor 3 | * 4 | * ####Example 5 | * 6 | * var id = new mongoose.Types.ObjectId; 7 | * 8 | * @constructor ObjectId 9 | */ 10 | 11 | 'use strict'; 12 | 13 | const ObjectId = require('../driver').get().ObjectId; 14 | const objectIdSymbol = require('../helpers/symbols').objectIdSymbol; 15 | 16 | /*! 17 | * Getter for convenience with populate, see gh-6115 18 | */ 19 | 20 | Object.defineProperty(ObjectId.prototype, '_id', { 21 | enumerable: false, 22 | configurable: true, 23 | get: function() { 24 | return this; 25 | } 26 | }); 27 | 28 | ObjectId.prototype[objectIdSymbol] = true; 29 | 30 | module.exports = ObjectId; 31 | -------------------------------------------------------------------------------- /node_modules/mongoose/lib/validoptions.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Valid mongoose options 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const VALID_OPTIONS = Object.freeze([ 9 | 'applyPluginsToChildSchemas', 10 | 'applyPluginsToDiscriminators', 11 | 'autoIndex', 12 | 'bufferCommands', 13 | 'cloneSchemas', 14 | 'debug', 15 | 'maxTimeMS', 16 | 'objectIdGetter', 17 | 'runValidators', 18 | 'selectPopulatedPaths', 19 | 'strict', 20 | 'toJSON', 21 | 'toObject', 22 | 'useCreateIndex', 23 | 'useFindAndModify', 24 | 'useNewUrlParser', 25 | 'usePushEach', 26 | 'useUnifiedTopology', 27 | 'typePojoToMixed' 28 | ]); 29 | 30 | module.exports = VALID_OPTIONS; 31 | -------------------------------------------------------------------------------- /node_modules/mongoose/tools/auth.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Server = require('mongodb-topology-manager').Server; 4 | const co = require('co'); 5 | const mongodb = require('mongodb'); 6 | 7 | co(function*() { 8 | // Create new instance 9 | var server = new Server('mongod', { 10 | auth: null, 11 | dbpath: '/data/db/27017' 12 | }); 13 | 14 | // Purge the directory 15 | yield server.purge(); 16 | 17 | // Start process 18 | yield server.start(); 19 | 20 | const db = yield mongodb.MongoClient.connect('mongodb://localhost:27017/admin'); 21 | 22 | yield db.addUser('passwordIsTaco', 'taco', { 23 | roles: ['dbOwner'] 24 | }); 25 | 26 | console.log('done'); 27 | }).catch(error => { 28 | console.error(error); 29 | process.exit(-1); 30 | }); 31 | -------------------------------------------------------------------------------- /node_modules/mongoose/webpack.base.config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | module: { 5 | rules: [ 6 | { 7 | test: /\.js$/, 8 | include: [ 9 | /\/mongoose\//i, 10 | /\/kareem\//i, 11 | ], 12 | loader: 'babel-loader', 13 | options: { 14 | presets: ['es2015'] 15 | } 16 | } 17 | ] 18 | }, 19 | node: { 20 | // Replace these Node.js native modules with empty objects, Mongoose's 21 | // browser library does not use them. 22 | // See https://webpack.js.org/configuration/node/ 23 | dns: 'empty', 24 | fs: 'empty', 25 | module: 'empty', 26 | net: 'empty', 27 | tls: 'empty', 28 | }, 29 | target: 'web', 30 | mode: 'production', 31 | }; 32 | 33 | 34 | -------------------------------------------------------------------------------- /node_modules/mongoose/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const paths = require('path'); 4 | 5 | const base = require('./webpack.base.config.js'); 6 | 7 | const webpackConfig = Object.assign({}, base, { 8 | entry: require.resolve('./browser.js'), 9 | output: { 10 | filename: './dist/browser.umd.js', 11 | path: paths.resolve(__dirname, ''), 12 | library: 'mongoose', 13 | libraryTarget: 'umd', 14 | // override default 'window' globalObject so browser build will work in SSR environments 15 | // may become unnecessary in webpack 5 16 | globalObject: 'typeof self !== \'undefined\' ? self : this', 17 | }, 18 | externals: [ 19 | /^node_modules\/.+$/ 20 | ], 21 | }); 22 | 23 | module.exports = webpackConfig; 24 | 25 | -------------------------------------------------------------------------------- /node_modules/mpath/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "5" 5 | - "6" 6 | - "7" 7 | - "8" 8 | - "9" 9 | - "10" 10 | -------------------------------------------------------------------------------- /node_modules/mpath/Makefile: -------------------------------------------------------------------------------- 1 | bench: 2 | node bench.js 3 | 4 | .PHONY: test 5 | -------------------------------------------------------------------------------- /node_modules/mpath/bench.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/mpath/bench.log -------------------------------------------------------------------------------- /node_modules/mpath/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mpath", 3 | "version": "0.2.1", 4 | "main": "lib/index.js", 5 | "scripts": [ 6 | "lib/index.js" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/mpath/index.js: -------------------------------------------------------------------------------- 1 | module.exports = exports = require('./lib'); 2 | -------------------------------------------------------------------------------- /node_modules/mquery/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ -------------------------------------------------------------------------------- /node_modules/mquery/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | - "10" 5 | - "12" 6 | matrix: 7 | include: 8 | - node_js: "13" 9 | env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly" 10 | allow_failures: 11 | # Allow the nightly installs to fail 12 | - env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly" 13 | script: 14 | - npm test 15 | - npm run lint 16 | services: 17 | - mongodb 18 | -------------------------------------------------------------------------------- /node_modules/mquery/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @NODE_ENV=test ./node_modules/.bin/mocha $(T) $(TESTS) 4 | 5 | test-cov: 6 | @NODE_ENV=test node \ 7 | node_modules/.bin/istanbul cover \ 8 | ./node_modules/.bin/_mocha \ 9 | -- -u exports \ 10 | 11 | open-cov: 12 | open coverage/lcov-report/index.html 13 | 14 | lint: 15 | @NODE_ENV=test node ./node_modules/eslint/bin/eslint.js . 16 | 17 | test-travis: 18 | @NODE_ENV=test node \ 19 | node_modules/.bin/istanbul cover \ 20 | ./node_modules/.bin/_mocha \ 21 | --report lcovonly \ 22 | --bail 23 | @NODE_ENV=test node \ 24 | ./node_modules/eslint/bin/eslint.js . 25 | 26 | .PHONY: test test-cov open-cov lint test-travis 27 | -------------------------------------------------------------------------------- /node_modules/mquery/lib/collection/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var env = require('../env'); 4 | 5 | if ('unknown' == env.type) { 6 | throw new Error('Unknown environment'); 7 | } 8 | 9 | module.exports = 10 | env.isNode ? require('./node') : 11 | env.isMongo ? require('./collection') : 12 | require('./collection'); 13 | 14 | -------------------------------------------------------------------------------- /node_modules/mquery/lib/env.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.isNode = 'undefined' != typeof process 4 | && 'object' == typeof module 5 | && 'object' == typeof global 6 | && 'function' == typeof Buffer 7 | && process.argv; 8 | 9 | exports.isMongo = !exports.isNode 10 | && 'function' == typeof printjson 11 | && 'function' == typeof ObjectId 12 | && 'function' == typeof rs 13 | && 'function' == typeof sh; 14 | 15 | exports.isBrowser = !exports.isNode 16 | && !exports.isMongo 17 | && 'undefined' != typeof window; 18 | 19 | exports.type = exports.isNode ? 'node' 20 | : exports.isMongo ? 'mongo' 21 | : exports.isBrowser ? 'browser' 22 | : 'unknown'; 23 | -------------------------------------------------------------------------------- /node_modules/mquery/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /node_modules/mquery/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/mquery/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/mquery/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/mquery/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /node_modules/mquery/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/mquery/test/collection/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/mquery/test/collection/browser.js -------------------------------------------------------------------------------- /node_modules/mquery/test/collection/mongo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/mquery/test/collection/mongo.js -------------------------------------------------------------------------------- /node_modules/mquery/test/collection/node.js: -------------------------------------------------------------------------------- 1 | 2 | var assert = require('assert'); 3 | var mongo = require('mongodb'); 4 | 5 | var uri = process.env.MQUERY_URI || 'mongodb://localhost/mquery'; 6 | var client; 7 | var db; 8 | 9 | exports.getCollection = function(cb) { 10 | mongo.MongoClient.connect(uri, function(err, _client) { 11 | assert.ifError(err); 12 | client = _client; 13 | db = client.db(); 14 | 15 | var collection = db.collection('stuff'); 16 | 17 | // clean test db before starting 18 | db.dropDatabase(function() { 19 | cb(null, collection); 20 | }); 21 | }); 22 | }; 23 | 24 | exports.dropCollection = function(cb) { 25 | db.dropDatabase(function() { 26 | client.close(cb); 27 | }); 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/mquery/test/env.js: -------------------------------------------------------------------------------- 1 | 2 | var env = require('../').env; 3 | 4 | console.log('environment: %s', env.type); 5 | 6 | var col; 7 | switch (env.type) { 8 | case 'node': 9 | col = require('./collection/node'); 10 | break; 11 | case 'mongo': 12 | col = require('./collection/mongo'); 13 | break; 14 | case 'browser': 15 | col = require('./collection/browser'); 16 | break; 17 | default: 18 | throw new Error('missing collection implementation for environment: ' + env.type); 19 | } 20 | 21 | module.exports = exports = col; 22 | -------------------------------------------------------------------------------- /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/on-headers/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2019-02-21 2 | ================== 3 | 4 | * Fix `res.writeHead` patch missing return value 5 | 6 | 1.0.1 / 2015-09-29 7 | ================== 8 | 9 | * perf: enable strict mode 10 | 11 | 1.0.0 / 2014-08-10 12 | ================== 13 | 14 | * Honor `res.statusCode` change in `listener` 15 | * Move to `jshttp` organization 16 | * Prevent `arguments`-related de-opt 17 | 18 | 0.0.0 / 2014-05-13 19 | ================== 20 | 21 | * Initial implementation 22 | -------------------------------------------------------------------------------- /node_modules/options/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | 7 | test 8 | -------------------------------------------------------------------------------- /node_modules/options/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | 3 | run-tests: 4 | @./node_modules/.bin/mocha \ 5 | -t 2000 \ 6 | $(TESTFLAGS) \ 7 | $(TESTS) 8 | 9 | test: 10 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 11 | 12 | .PHONY: test 13 | -------------------------------------------------------------------------------- /node_modules/parsejson/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules -------------------------------------------------------------------------------- /node_modules/parsejson/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/parsejson/README.md: -------------------------------------------------------------------------------- 1 | # parsejson 2 | engine.io-client JSON-parsing module 3 | -------------------------------------------------------------------------------- /node_modules/parsejson/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('better-assert'); 2 | var expect = require('expect.js'); 3 | var parsejson = require('./index.js'); 4 | 5 | describe('my suite', function(){ 6 | it('should parse a JSON string', function () { 7 | 8 | var jsonString = '{"users" :[{"first_name":"foo", "last_name":"bar"}],' + 9 | '"id" :40,' + 10 | '"cities":["los angeles", "new york", "boston"]}'; 11 | 12 | var jsonObj = parsejson(jsonString); 13 | expect(jsonObj.users[0].first_name).to.be("foo"); 14 | expect(jsonObj.users[0].last_name).to.be("bar"); 15 | expect(jsonObj.id).to.be(40); 16 | expect(jsonObj.cities[0]).to.be('los angeles'); 17 | expect(jsonObj.cities[1]).to.be('new york'); 18 | expect(jsonObj.cities[2]).to.be('boston'); 19 | 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /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/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/process-nextick-args/readme.md: -------------------------------------------------------------------------------- 1 | process-nextick-args 2 | ===== 3 | 4 | [![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) 5 | 6 | ```bash 7 | npm install --save process-nextick-args 8 | ``` 9 | 10 | Always be able to pass arguments to process.nextTick, no matter the platform 11 | 12 | ```js 13 | var pna = require('process-nextick-args'); 14 | 15 | pna.nextTick(function (a, b, c) { 16 | console.log(a, b, c); 17 | }, 'step', 3, 'profit'); 18 | ``` 19 | -------------------------------------------------------------------------------- /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 = 140 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-params": [2, 12], 13 | "max-statements": [2, 45], 14 | "no-continue": 1, 15 | "no-magic-numbers": 0, 16 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 17 | "operator-linebreak": [2, "before"], 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /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 | "max-lines": 0, 7 | "max-nested-callbacks": [2, 3], 8 | "max-statements": 0, 9 | "no-buffer-constructor": 0, 10 | "no-extend-native": 0, 11 | "no-magic-numbers": 0, 12 | "object-curly-newline": 0, 13 | "sort-keys": 0 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./parse'); 4 | 5 | require('./stringify'); 6 | 7 | require('./utils'); 8 | -------------------------------------------------------------------------------- /node_modules/readable-stream/duplex-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_duplex.js'); 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Duplex 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/lib/internal/streams/stream-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('events').EventEmitter; 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/lib/internal/streams/stream.js: -------------------------------------------------------------------------------- 1 | module.exports = require('stream'); 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').PassThrough 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/readable-browser.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = exports; 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | -------------------------------------------------------------------------------- /node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Transform 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/writable-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_writable.js'); 2 | -------------------------------------------------------------------------------- /node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | var Stream = require("stream") 2 | var Writable = require("./lib/_stream_writable.js") 3 | 4 | if (process.env.READABLE_STREAM === 'disable') { 5 | module.exports = Stream && Stream.Writable || Writable 6 | } else { 7 | module.exports = Writable 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/regexp-clone/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - 8 5 | - 10 6 | - 12 7 | matrix: 8 | include: 9 | - node_js: "13" 10 | env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly" 11 | allow_failures: 12 | # Allow the nightly installs to fail 13 | - env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly" 14 | script: "npm test" 15 | -------------------------------------------------------------------------------- /node_modules/regexp-clone/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.1 / 2013-04-17 3 | ================== 4 | 5 | * initial commit 6 | -------------------------------------------------------------------------------- /node_modules/regexp-clone/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha $(T) --async-only $(TESTS) 4 | 5 | .PHONY: test 6 | -------------------------------------------------------------------------------- /node_modules/regexp-clone/index.js: -------------------------------------------------------------------------------- 1 | 2 | const toString = Object.prototype.toString; 3 | 4 | function isRegExp (o) { 5 | return 'object' == typeof o 6 | && '[object RegExp]' == toString.call(o); 7 | } 8 | 9 | module.exports = exports = function (regexp) { 10 | if (!isRegExp(regexp)) { 11 | throw new TypeError('Not a RegExp'); 12 | } 13 | 14 | const flags = []; 15 | if (regexp.global) flags.push('g'); 16 | if (regexp.multiline) flags.push('m'); 17 | if (regexp.ignoreCase) flags.push('i'); 18 | if (regexp.dotAll) flags.push('s'); 19 | if (regexp.unicode) flags.push('u'); 20 | if (regexp.sticky) flags.push('y'); 21 | const result = new RegExp(regexp.source, flags.join('')); 22 | if (typeof regexp.lastIndex === 'number') { 23 | result.lastIndex = regexp.lastIndex; 24 | } 25 | return result; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /node_modules/require_optional/.npmignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 18 | .grunt 19 | 20 | # node-waf configuration 21 | .lock-wscript 22 | 23 | # Compiled binary addons (http://nodejs.org/api/addons.html) 24 | build/Release 25 | 26 | # Dependency directory 27 | node_modules 28 | 29 | # Optional npm cache directory 30 | .npm 31 | 32 | # Optional REPL history 33 | .node_repl_history 34 | -------------------------------------------------------------------------------- /node_modules/require_optional/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "4" 6 | - "6" 7 | - "7" 8 | - "8" 9 | sudo: false 10 | -------------------------------------------------------------------------------- /node_modules/require_optional/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 03-02-2016 2 | ================ 3 | * Fix dependency resolution issue when a component in peerOptionalDependencies is installed at the level of the module declaring in peerOptionalDependencies. 4 | 5 | 1.0.0 03-02-2016 6 | ================ 7 | * Initial release allowing us to optionally resolve dependencies in the package.json file under the peerOptionalDependencies tag. -------------------------------------------------------------------------------- /node_modules/require_optional/README.md: -------------------------------------------------------------------------------- 1 | # require_optional 2 | Work around the problem that we do not have a optionalPeerDependencies concept in node.js making it a hassle to optionally include native modules 3 | -------------------------------------------------------------------------------- /node_modules/require_optional/test/nestedTest/index.js: -------------------------------------------------------------------------------- 1 | var require_optional = require('../../') 2 | 3 | function findPackage(packageName) { 4 | var pkg = require_optional(packageName); 5 | return pkg; 6 | } 7 | 8 | module.exports.findPackage = findPackage 9 | -------------------------------------------------------------------------------- /node_modules/require_optional/test/nestedTest/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nestedtest", 3 | "version": "1.0.0", 4 | "description": "A dummy package that facilitates testing that require_optional correctly walks up the module call stack", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Sebastian Hallum Clarke", 10 | "license": "ISC" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/resolve-from/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var path = require('path'); 3 | var Module = require('module'); 4 | 5 | module.exports = function (fromDir, moduleId) { 6 | if (typeof fromDir !== 'string' || typeof moduleId !== 'string') { 7 | throw new TypeError('Expected `fromDir` and `moduleId` to be a string'); 8 | } 9 | 10 | fromDir = path.resolve(fromDir); 11 | 12 | var fromFile = path.join(fromDir, 'noop.js'); 13 | 14 | try { 15 | return Module._resolveFilename(moduleId, { 16 | id: fromFile, 17 | filename: fromFile, 18 | paths: Module._nodeModulePaths(fromDir) 19 | }); 20 | } catch (err) { 21 | return null; 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/saslprep/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | -------------------------------------------------------------------------------- /node_modules/saslprep/.gitattributes: -------------------------------------------------------------------------------- 1 | *.mem binary 2 | -------------------------------------------------------------------------------- /node_modules/saslprep/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "8" 6 | - "10" 7 | - "12" 8 | 9 | before_install: 10 | - npm install -g npm@6 11 | -------------------------------------------------------------------------------- /node_modules/saslprep/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | All notable changes to the "saslprep" package will be documented in this file. 3 | 4 | ## [1.0.3] - 2019-05-01 5 | 6 | - Correctly get code points >U+FFFF ([#5](https://github.com/reklatsmasters/saslprep/pull/5)) 7 | - Fix perfomance downgrades from [#5](https://github.com/reklatsmasters/saslprep/pull/5). 8 | 9 | ## [1.0.2] - 2018-09-13 10 | 11 | - Reduced initialization time ([#3](https://github.com/reklatsmasters/saslprep/issues/3)) 12 | 13 | ## [1.0.1] - 2018-06-20 14 | 15 | - Reduced stack overhead of range creation ([#2](https://github.com/reklatsmasters/saslprep/pull/2)) 16 | 17 | ## [1.0.0] - 2017-06-21 18 | 19 | - First release 20 | -------------------------------------------------------------------------------- /node_modules/saslprep/code-points.mem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/saslprep/code-points.mem -------------------------------------------------------------------------------- /node_modules/saslprep/lib/util.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Create an array of numbers. 5 | * @param {number} from 6 | * @param {number} to 7 | * @returns {number[]} 8 | */ 9 | function range(from, to) { 10 | // TODO: make this inlined. 11 | const list = new Array(to - from + 1); 12 | 13 | for (let i = 0; i < list.length; i += 1) { 14 | list[i] = from + i; 15 | } 16 | return list; 17 | } 18 | 19 | module.exports = { 20 | range, 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/saslprep/test/util.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { setFlagsFromString } = require('v8'); 4 | const { range } = require('../lib/util'); 5 | 6 | // 984 by default. 7 | setFlagsFromString('--stack_size=500'); 8 | 9 | test('should work', () => { 10 | const list = range(1, 3); 11 | expect(list).toEqual([1, 2, 3]); 12 | }); 13 | 14 | test('should work for large ranges', () => { 15 | expect(() => range(1, 1e6)).not.toThrow(); 16 | }); 17 | -------------------------------------------------------------------------------- /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 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 4 | 5 | ## Usage: 6 | 7 | ``` 8 | $ npm install --save setprototypeof 9 | ``` 10 | 11 | ```javascript 12 | var setPrototypeOf = require('setprototypeof'); 13 | 14 | var obj = {}; 15 | setPrototypeOf(obj, { 16 | foo: function() { 17 | return 'bar'; 18 | } 19 | }); 20 | obj.foo(); // bar 21 | ``` 22 | 23 | TypeScript is also supported: 24 | ```typescript 25 | import setPrototypeOf = require('setprototypeof'); 26 | ``` -------------------------------------------------------------------------------- /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 | module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); 2 | 3 | function setProtoOf(obj, proto) { 4 | obj.__proto__ = proto; 5 | return obj; 6 | } 7 | 8 | function mixinProperties(obj, proto) { 9 | for (var prop in proto) { 10 | if (!obj.hasOwnProperty(prop)) { 11 | obj[prop] = proto[prop]; 12 | } 13 | } 14 | return obj; 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/sift/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015"] 3 | } -------------------------------------------------------------------------------- /node_modules/sift/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: dYtQuNe9CVSGoA5LVadgT3lomowKzEgav -------------------------------------------------------------------------------- /node_modules/sift/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | 5 | script: npm run test-coveralls 6 | 7 | notifications: 8 | email: 9 | - craig.j.condon@gmail.com 10 | 11 | branches: 12 | only: 13 | - master 14 | -------------------------------------------------------------------------------- /node_modules/sift/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sift", 3 | "version": "3.2.0", 4 | "authors": [ 5 | "Craig Condon " 6 | ], 7 | "description": "mongodb query style array filtering", 8 | "main": "sift.min.js", 9 | "moduleType": [], 10 | "license": "MIT", 11 | "homepage": "https://github.com/crcn/sift.js", 12 | "ignore": [ 13 | "**/.*", 14 | "node_modules", 15 | "bower_components", 16 | "test", 17 | "benchmark", 18 | "webpack.js", 19 | "package.json" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/sift/changelog.md: -------------------------------------------------------------------------------- 1 | ### 7.0.0 2 | 3 | - Remove global `*.use()` function. 4 | - converted to ES6 5 | 6 | ### 3.3.x 7 | 8 | - `$in` now uses `toString()` when evaluating objects. Fixes #116. 9 | 10 | #### 2.x 11 | 12 | - `use()` now uses a different format: 13 | 14 | ```javascript 15 | sift.use({ 16 | $operator: function(a) { 17 | return function(b) { 18 | // compare here 19 | }; 20 | } 21 | }) 22 | ``` 23 | 24 | - all operators are traversable now 25 | - fix #58. 26 | -------------------------------------------------------------------------------- /node_modules/sift/test/immutable-test.js: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert'; 2 | import * as Immutable from 'immutable'; 3 | 4 | import sift from '..'; 5 | const ObjectID = require('bson').ObjectID; 6 | 7 | describe(__filename + '#', function() { 8 | 9 | 10 | 11 | var topic = Immutable.List([1, 2, 3, 4, 5, 6, 6, 4, 3]); 12 | 13 | 14 | var persons = Immutable.fromJS([{ person: {age: 3} }, { person: {age: 5} }, { person: {age: 8} }]); 15 | 16 | it('works with Immutable.Map in a Immutable.List', function() { 17 | assert.equal(sift({ 'person.age' : { $gt: 4 } }, persons).size, 2); 18 | assert.equal(persons.filter(sift({ 'person.age' : { $gt: 4 } })).size, 2); 19 | }); 20 | }); 21 | -------------------------------------------------------------------------------- /node_modules/sift/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "moduleResolution": "node", 5 | "module": "commonjs", 6 | "allowSyntheticDefaultImports": true 7 | } 8 | } -------------------------------------------------------------------------------- /node_modules/sift/webpack.config.js: -------------------------------------------------------------------------------- 1 | const {resolve} = require('path'); 2 | const fs = require('fs'); 3 | 4 | module.exports = { 5 | devtool: 'none', 6 | mode: 'production', 7 | entry: { 8 | index: [__dirname + '/lib/index.js'] 9 | }, 10 | output: { 11 | path: __dirname, 12 | library: 'sift', 13 | libraryTarget: 'umd', 14 | filename: 'sift.min.js' 15 | }, 16 | resolve: { 17 | extensions: ['.js'] 18 | }, 19 | module: { 20 | rules: [ 21 | ] 22 | } 23 | }; -------------------------------------------------------------------------------- /node_modules/sliced/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * An Array.prototype.slice.call(arguments) alternative 4 | * 5 | * @param {Object} args something with a length 6 | * @param {Number} slice 7 | * @param {Number} sliceEnd 8 | * @api public 9 | */ 10 | 11 | module.exports = function (args, slice, sliceEnd) { 12 | var ret = []; 13 | var len = args.length; 14 | 15 | if (0 === len) return ret; 16 | 17 | var start = slice < 0 18 | ? Math.max(0, slice + len) 19 | : slice || 0; 20 | 21 | if (sliceEnd !== undefined) { 22 | len = sliceEnd < 0 23 | ? sliceEnd + len 24 | : sliceEnd 25 | } 26 | 27 | while (len-- > start) { 28 | ret[len - start] = args[len]; 29 | } 30 | 31 | return ret; 32 | } 33 | 34 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /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 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-adapter/node_modules/component-emitter/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/component-emitter/.travis.yml: -------------------------------------------------------------------------------- 1 | node_js: 2 | - "0.8" 3 | - "0.10" 4 | language: node_js -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/component-emitter/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/component-emitter/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "description": "Event emitter", 4 | "keywords": [ 5 | "emitter", 6 | "events" 7 | ], 8 | "version": "1.1.2", 9 | "license": "MIT", 10 | "main": "index.js", 11 | "homepage": "https://github.com/component/emitter", 12 | "ignore": [ 13 | "**/.*", 14 | "node_modules", 15 | "bower_components", 16 | "test", 17 | "Makefile", 18 | "package.json", 19 | "component.json" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/component-emitter/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "repo": "component/emitter", 4 | "description": "Event emitter", 5 | "keywords": [ 6 | "emitter", 7 | "events" 8 | ], 9 | "version": "1.1.2", 10 | "scripts": [ 11 | "index.js" 12 | ], 13 | "license": "MIT" 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "homepage": "https://github.com/visionmedia/debug", 5 | "authors": [ 6 | "TJ Holowaychuk ", 7 | "Nathan Rajlich (http://n8.io)", 8 | "Andrew Rhyne " 9 | ], 10 | "description": "visionmedia-debug", 11 | "moduleType": [ 12 | "amd", 13 | "es6", 14 | "globals", 15 | "node" 16 | ], 17 | "keywords": [ 18 | "visionmedia", 19 | "debug" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.3.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/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-adapter/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/is-buffer.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = isBuf; 3 | 4 | /** 5 | * Returns true if obj is a buffer or an arraybuffer. 6 | * 7 | * @api private 8 | */ 9 | 10 | function isBuf(obj) { 11 | return (global.Buffer && global.Buffer.isBuffer(obj)) || 12 | (global.ArrayBuffer && obj instanceof ArrayBuffer); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.2.0", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.2.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /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-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/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /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-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-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-parser/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /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/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/socket.io/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/socket.io/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/socket.io/node_modules/blob/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | blob.js 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/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/socket.io/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/socket.io/node_modules/blob/README.md: -------------------------------------------------------------------------------- 1 | Blob 2 | ==== 3 | 4 | A module that exports a constructor that uses window.Blob when available, and a BlobBuilder with any vendor prefix in other cases. If neither is available, it exports undefined. 5 | 6 | Usage: 7 | 8 | ```javascript 9 | var Blob = require('blob'); 10 | var b = new Blob(['hi', 'constructing', 'a', 'blob']); 11 | ``` 12 | 13 | ## Licence 14 | MIT 15 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "homepage": "https://github.com/visionmedia/debug", 5 | "authors": [ 6 | "TJ Holowaychuk ", 7 | "Nathan Rajlich (http://n8.io)", 8 | "Andrew Rhyne " 9 | ], 10 | "description": "visionmedia-debug", 11 | "moduleType": [ 12 | "amd", 13 | "es6", 14 | "globals", 15 | "node" 16 | ], 17 | "keywords": [ 18 | "visionmedia", 19 | "debug" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.3.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/debug/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/node_modules/engine.io-client/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/index'); 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/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/socket.io/node_modules/engine.io-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/'); 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/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/socket.io/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/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/node_modules/socket.io-parser/is-buffer.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = isBuf; 3 | 4 | /** 5 | * Returns true if obj is a buffer or an arraybuffer. 6 | * 7 | * @api private 8 | */ 9 | 10 | function isBuf(obj) { 11 | return (global.Buffer && global.Buffer.isBuffer(obj)) || 12 | (global.ArrayBuffer && obj instanceof ArrayBuffer); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/.travis.yml: -------------------------------------------------------------------------------- 1 | node_js: 2 | - "0.8" 3 | - "0.10" 4 | language: node_js -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "description": "Event emitter", 4 | "keywords": [ 5 | "emitter", 6 | "events" 7 | ], 8 | "version": "1.1.2", 9 | "license": "MIT", 10 | "main": "index.js", 11 | "homepage": "https://github.com/component/emitter", 12 | "ignore": [ 13 | "**/.*", 14 | "node_modules", 15 | "bower_components", 16 | "test", 17 | "Makefile", 18 | "package.json", 19 | "component.json" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "repo": "component/emitter", 4 | "description": "Event emitter", 5 | "keywords": [ 6 | "emitter", 7 | "events" 8 | ], 9 | "version": "1.1.2", 10 | "scripts": [ 11 | "index.js" 12 | ], 13 | "license": "MIT" 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.2.0", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.2.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-parser/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/ws/lib/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/socket.io/node_modules/ws/lib/.DS_Store -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/ws/lib/BufferUtil.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | var bufferUtil; 10 | 11 | try { 12 | bufferUtil = require('bufferutil'); 13 | } catch (e) { 14 | bufferUtil = require('./BufferUtil.fallback'); 15 | } 16 | 17 | module.exports = bufferUtil.BufferUtil || bufferUtil; 18 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/ws/lib/Validation.fallback.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | exports.Validation = { 8 | isValidUTF8: function(buffer) { 9 | return true; 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/ws/lib/Validation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | var isValidUTF8; 10 | 11 | try { 12 | isValidUTF8 = require('utf-8-validate'); 13 | } catch (e) { 14 | isValidUTF8 = require('./Validation.fallback'); 15 | } 16 | 17 | module.exports = typeof isValidUTF8 === 'object' 18 | ? isValidUTF8.Validation.isValidUTF8 19 | : isValidUTF8; 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/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/socket.io/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/socket.io/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/socket.io/node_modules/xmlhttprequest-ssl/tests/testdata.txt: -------------------------------------------------------------------------------- 1 | Hello World -------------------------------------------------------------------------------- /node_modules/socketio/demo.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var app = express(); 3 | 4 | app.get('/', function (req, res) { 5 | res.send('Hello World'); 6 | }) 7 | 8 | var server = app.listen(8081, function () { 9 | 10 | var host = server.address().address 11 | var port = server.address().port 12 | 13 | console.log("http://%s:%s", host, port) 14 | 15 | }) 16 | -------------------------------------------------------------------------------- /node_modules/socketio/demo.js~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/socketio/demo.js~ -------------------------------------------------------------------------------- /node_modules/socketio/index.js: -------------------------------------------------------------------------------- 1 | var app = require('express')(); 2 | var http = require('http').Server(app); 3 | var io = require('socket.io')(http); 4 | 5 | app.get('/', function(req, res){ 6 | res.sendfile('index.html'); 7 | }); 8 | 9 | io.on('connection', function(socket){ 10 | console.log('a user connected'); 11 | }); 12 | 13 | http.listen(3000, function(){ 14 | console.log('listening on *:3000'); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/socketio/index.js~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/didinj/mean-stack-angular-9-realtime-crud/c592b4c3f93e5c76d36bab91a6591280f0acfa2a/node_modules/socketio/index.js~ -------------------------------------------------------------------------------- /node_modules/sparse-bitfield/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/sparse-bitfield/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | - '0.12' 5 | - '4.0' 6 | - '5.0' 7 | -------------------------------------------------------------------------------- /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/ultron/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .tern-port 4 | -------------------------------------------------------------------------------- /node_modules/ultron/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "0.12" 5 | - "0.10" 6 | - "0.8" 7 | - "iojs" 8 | before_install: 9 | - 'if [ "${TRAVIS_NODE_VERSION}" == "0.8" ]; then npm install -g npm@2.11.1; fi' 10 | script: 11 | - "npm run test-travis" 12 | after_script: 13 | - "npm install coveralls@2.11.x && cat coverage/lcov.info | coveralls" 14 | matrix: 15 | fast_finish: true 16 | notifications: 17 | irc: 18 | channels: 19 | - "irc.freenode.org#unshift" 20 | on_success: change 21 | on_failure: change 22 | -------------------------------------------------------------------------------- /node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/util-deprecate/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.2 / 2015-10-07 3 | ================== 4 | 5 | * use try/catch when checking `localStorage` (#3, @kumavis) 6 | 7 | 1.0.1 / 2014-11-25 8 | ================== 9 | 10 | * browser: use `console.warn()` for deprecation calls 11 | * browser: more jsdocs 12 | 13 | 1.0.0 / 2014-04-30 14 | ================== 15 | 16 | * initial commit 17 | -------------------------------------------------------------------------------- /node_modules/util-deprecate/node.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * For Node.js, simply re-export the core `util.deprecate` function. 4 | */ 5 | 6 | module.exports = require('util').deprecate; 7 | -------------------------------------------------------------------------------- /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/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.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/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 <= 1013 && 25 | code !== 1004 && 26 | code !== 1005 && 27 | code !== 1006) || 28 | (code >= 3000 && code <= 4999) 29 | ); 30 | }; 31 | -------------------------------------------------------------------------------- /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/testdata.txt: -------------------------------------------------------------------------------- 1 | Hello World -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sales-report", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "node ./bin/www" 7 | }, 8 | "dependencies": { 9 | "cookie-parser": "~1.4.4", 10 | "cors": "^2.8.5", 11 | "debug": "~2.6.9", 12 | "express": "~4.16.1", 13 | "mongoose": "^5.9.1", 14 | "morgan": "~1.9.1", 15 | "socket.io-client": "^2.3.0", 16 | "socketio": "^1.0.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Express 5 | 6 | 7 | 8 | 9 |

Express

10 |

Welcome to Express

11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } 9 | -------------------------------------------------------------------------------- /routes/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | /* GET home page. */ 5 | router.get('/', function(req, res, next) { 6 | res.render('index', { title: 'Express' }); 7 | }); 8 | 9 | module.exports = router; 10 | -------------------------------------------------------------------------------- /routes/users.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | /* GET users listing. */ 5 | router.get('/', function(req, res, next) { 6 | res.send('respond with a resource'); 7 | }); 8 | 9 | module.exports = router; 10 | --------------------------------------------------------------------------------