diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..33ca374 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,733 @@ +{ + "name": "oop-classroom", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "oop-classroom", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "chai": "^3.5.0", + "mocha": "^3.2.0" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true, + "license": "ISC" + }, + "node_modules/chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.0.1", + "deep-eql": "^0.1.3", + "type-detect": "^1.0.0" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "0.1.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/deep-eql/node_modules/type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true, + "license": "MIT" + }, + "node_modules/growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "node_modules/lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true, + "license": "MIT" + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 0.10.x", + "npm": ">= 1.4.x" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "license": "ISC" + } + }, + "dependencies": { + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true, + "requires": { + "assertion-error": "^1.0.1", + "deep-eql": "^0.1.3", + "type-detect": "^1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "requires": { + "type-detect": "0.1.1" + }, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/src/computer.js b/src/computer.js index 6b0f89e..331ead9 100644 --- a/src/computer.js +++ b/src/computer.js @@ -1,5 +1,18 @@ class Computer { - + constructor(name, operatingSystem, processor, memory, graphics) { + this.name = name; + this.operatingSystem = operatingSystem; + this.processor = processor; + this.memory = memory; + this.graphics = graphics; + + this.on = false; + } + + power() { + this.on = !this.on; + } + } module.exports = Computer diff --git a/src/desk.js b/src/desk.js index 369fe37..aeb8ca0 100644 --- a/src/desk.js +++ b/src/desk.js @@ -1,5 +1,23 @@ class Desk { - + constructor(length, width, height, isWhiteboard) { + this.length = 60 + this.width = 48 + this.height = 48 + this.isWhiteboard = false + this.content = ('') + } + + write(string) { + this.content += string; + } + + wipe() { + if (this.isWhiteboard === true) { + this.content = (''); + } + } } +const desk = new Desk() + module.exports = Desk diff --git a/src/marker.js b/src/marker.js index 458d843..656d171 100644 --- a/src/marker.js +++ b/src/marker.js @@ -1,5 +1,26 @@ class Marker { - -} + constructor(size, color, remainingInk) { + this.size = size; + this.color = color; + this.remainingInk = remainingInk; + } + + write(string) { + let ink = ""; + for (let char of string) { + if (char != ' ' && this.remainingInk) { + this.remainingInk--; + ink += char; + } else if (char === ' ') { + ink += char; + } -module.exports = Marker + } + if (!this.remainingInk) { + return ink; + } + return string; + } +} +const marker = new Marker(); +module.exports = Marker \ No newline at end of file diff --git a/src/room.js b/src/room.js index 7d5ce15..bc9e13e 100644 --- a/src/room.js +++ b/src/room.js @@ -1,5 +1,46 @@ class Room { - + + constructor(name, description) { + //settable by constructor + this.name = name; + this.description = description; + + //unsettable by constructor + this.contents = []; + } + + + + add(item) { + this.contents.push(item); + return this; + } + + + has(target) { + return this.contents.includes(target); + } } +const room = new Room(); + + +module.exports = Room + +/* +class Room { + constructor(...param){ + this.name=param[0]; + this.description=param[1]; + this.contents=[]; + } + add(item){ + this.contents.push(item); + return this; + } + has(item){ + return this.contents.includes(item); + } +} module.exports = Room +*/ diff --git a/src/student.js b/src/student.js index 51c79d8..87d531c 100644 --- a/src/student.js +++ b/src/student.js @@ -1,5 +1,67 @@ class Student { - + + constructor(name, skillLevel) { + + //settable in constructor + this.name = name; + this.skillLevel = skillLevel; + + //affected by methods below + this.assignments = []; + } + + study() { + + if (this.skillLevel === 100) { + return this; + } + this.skillLevel += 1; + return this; + + } + + doHomework(assignment) { + + + //console.log("Homework called w/: ", assignment); + //console.log("Student Skill level: ", this.skillLevel); + //console.log("Homework Skill Level: ", assignment.skillLevel); + + + if (assignment === undefined) { + console.log("does this trigger?") + for (let i = 0; i < this.assignments.length; ++i) { + if (this.skillLevel >= this.assignments[i].skillLevel) { + console.log("Set " + this.assignments[i] + "to true") + this.assignments[i].completed = true; + } + } + } else if ((assignment.skillLevel > 0) && (assignment.skillLevel <= 100)) { + // establish if this assignment can be completed, compare assignment's level to the student's + + + // decide if it's completed or not + + //assignment goes into this.assignments array + if (this.skillLevel >= assignment.skillLevel) { + // MARK it as completed true/false + assignment.completed = true;//true if student is smart enough + + } else { + assignment.completed = false;//false if not + } + this.assignments.push(assignment);//put in array either way + + + + } else { + //do I need an else? + console.log("does this else do anything"); + } + + + + } } -module.exports = Student +module.exports = Student \ No newline at end of file diff --git a/test/computer.test.js b/test/computer.test.js index 790a33a..3c9278e 100644 --- a/test/computer.test.js +++ b/test/computer.test.js @@ -21,7 +21,7 @@ describe('Computer', function () { it('should have properties by the same name', function () { const computer = new Computer(...this.properties) - const [ name, operatingSystem, processor, memory, graphics ] = this.properties + const [name, operatingSystem, processor, memory, graphics] = this.properties expect(computer.name).to.equal(name) expect(computer.operatingSystem).to.equal(operatingSystem) diff --git a/test/desk.test.js b/test/desk.test.js index d5448a0..5a60edc 100644 --- a/test/desk.test.js +++ b/test/desk.test.js @@ -1,9 +1,9 @@ const expect = require('chai').expect const Desk = require('../src').Desk -xdescribe('Desk', function () { +describe('Desk', function () { before(function () { - this.properties = [ 60, 48, 48, false ] + this.properties = [60, 48, 48, false] }) describe('new Desk()', function () { @@ -15,7 +15,7 @@ xdescribe('Desk', function () { it('should have properties by the same name', function () { const desk = new Desk(...this.properties) - const [ length, width, height, isWhiteboard ] = this.properties + const [length, width, height, isWhiteboard] = this.properties expect(desk.length).to.equal(length) expect(desk.width).to.equal(width) diff --git a/test/marker.test.js b/test/marker.test.js index 71931cc..0c281fc 100644 --- a/test/marker.test.js +++ b/test/marker.test.js @@ -1,7 +1,7 @@ const expect = require("chai").expect; const Marker = require("../src").Marker; -xdescribe("Marker", function () { +describe("Marker", function () { before(function () { this.properties = ["medium", "pink", 100]; }); diff --git a/test/room.test.js b/test/room.test.js index a7db095..0763ab0 100644 --- a/test/room.test.js +++ b/test/room.test.js @@ -1,9 +1,9 @@ const expect = require('chai').expect const Room = require('../src').Room -xdescribe('Room', function () { +describe('Room', function () { before(function () { - this.properties = [ 'Hogwarts', 'a magical school' ] + this.properties = ['Hogwarts', 'a magical school'] }) describe('new Room()', function () { @@ -15,7 +15,7 @@ xdescribe('Room', function () { it('should have properties by the same name', function () { const room = new Room(...this.properties) - const [ name, description ] = this.properties + const [name, description] = this.properties expect(room.name).to.equal(name) expect(room.description).to.equal(description) diff --git a/test/student.test.js b/test/student.test.js index 38b975a..2342210 100644 --- a/test/student.test.js +++ b/test/student.test.js @@ -1,9 +1,9 @@ const expect = require('chai').expect const Student = require('../src').Student -xdescribe('Student', function () { +describe('Student', function () { before(function () { - this.properties = [ 'Shelly Vasquez', 44 ] + this.properties = ['Shelly Vasquez', 44] }) describe('new Student()', function () { @@ -15,7 +15,7 @@ xdescribe('Student', function () { it('should have properties by the same name', function () { const student = new Student(...this.properties) - const [ name, skillLevel ] = this.properties + const [name, skillLevel] = this.properties expect(student.name).to.equal(name) expect(student.skillLevel).to.equal(skillLevel) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..62aacf6 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,258 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"assertion-error@^1.0.1": + "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" + "version" "1.1.0" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"browser-stdout@1.3.0": + "integrity" "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" + "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz" + "version" "1.3.0" + +"chai@^3.5.0": + "integrity" "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=" + "resolved" "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "assertion-error" "^1.0.1" + "deep-eql" "^0.1.3" + "type-detect" "^1.0.0" + +"commander@2.9.0": + "integrity" "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" + "version" "2.9.0" + dependencies: + "graceful-readlink" ">= 1.0.0" + +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"debug@2.6.8": + "integrity" "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz" + "version" "2.6.8" + dependencies: + "ms" "2.0.0" + +"deep-eql@^0.1.3": + "integrity" "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=" + "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz" + "version" "0.1.3" + dependencies: + "type-detect" "0.1.1" + +"diff@3.2.0": + "integrity" "sha1-yc45Okt8vQsFinJck98pkCeGj/k=" + "resolved" "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz" + "version" "3.2.0" + +"escape-string-regexp@1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"glob@7.1.1": + "integrity" "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.0.2" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"graceful-readlink@>= 1.0.0": + "integrity" "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + "resolved" "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + "version" "1.0.1" + +"growl@1.9.2": + "integrity" "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=" + "resolved" "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz" + "version" "1.9.2" + +"has-flag@^1.0.0": + "integrity" "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + "version" "1.0.0" + +"he@1.1.1": + "integrity" "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "resolved" "https://registry.npmjs.org/he/-/he-1.1.1.tgz" + "version" "1.1.1" + +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"json3@3.3.2": + "integrity" "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" + "resolved" "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz" + "version" "3.3.2" + +"lodash._baseassign@^3.0.0": + "integrity" "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=" + "resolved" "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "lodash._basecopy" "^3.0.0" + "lodash.keys" "^3.0.0" + +"lodash._basecopy@^3.0.0": + "integrity" "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + "resolved" "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + "version" "3.0.1" + +"lodash._basecreate@^3.0.0": + "integrity" "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=" + "resolved" "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz" + "version" "3.0.3" + +"lodash._getnative@^3.0.0": + "integrity" "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + "resolved" "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + "version" "3.9.1" + +"lodash._isiterateecall@^3.0.0": + "integrity" "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + "resolved" "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + "version" "3.0.9" + +"lodash.create@3.1.1": + "integrity" "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=" + "resolved" "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "lodash._baseassign" "^3.0.0" + "lodash._basecreate" "^3.0.0" + "lodash._isiterateecall" "^3.0.0" + +"lodash.isarguments@^3.0.0": + "integrity" "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "resolved" "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz" + "version" "3.1.0" + +"lodash.isarray@^3.0.0": + "integrity" "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + "resolved" "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + "version" "3.0.4" + +"lodash.keys@^3.0.0": + "integrity" "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=" + "resolved" "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "lodash._getnative" "^3.0.0" + "lodash.isarguments" "^3.0.0" + "lodash.isarray" "^3.0.0" + +"minimatch@^3.0.2": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist@0.0.8": + "integrity" "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version" "0.0.8" + +"mkdirp@0.5.1": + "integrity" "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + "version" "0.5.1" + dependencies: + "minimist" "0.0.8" + +"mocha@^3.2.0": + "integrity" "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==" + "resolved" "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz" + "version" "3.5.3" + dependencies: + "browser-stdout" "1.3.0" + "commander" "2.9.0" + "debug" "2.6.8" + "diff" "3.2.0" + "escape-string-regexp" "1.0.5" + "glob" "7.1.1" + "growl" "1.9.2" + "he" "1.1.1" + "json3" "3.3.2" + "lodash.create" "3.1.1" + "mkdirp" "0.5.1" + "supports-color" "3.1.2" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"once@^1.3.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"supports-color@3.1.2": + "integrity" "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "has-flag" "^1.0.0" + +"type-detect@^1.0.0": + "integrity" "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz" + "version" "1.0.0" + +"type-detect@0.1.1": + "integrity" "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz" + "version" "0.1.1" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2"