"&'))
- assert.equal(div.toString(), '<test> "&
')
- cleanup()
- assert.end()
- })
-
- test("escapes serialized attribute values", function(assert) {
- var div = document.createElement("div")
- div.setAttribute("data-foo", '"&')
- assert.equal(div.toString(), '
')
- cleanup()
- assert.end()
- })
-
- test("can check if an element contains another", function(assert) {
- var parent = document.createElement("div")
- var sibling = document.createElement("div")
- var child1 = document.createElement("div")
- var child2 = document.createElement("div")
-
- child1.appendChild(child2)
- parent.appendChild(child1)
-
- assert.equal(parent.contains(parent), true)
- assert.equal(parent.contains(sibling), false)
- assert.equal(parent.contains(child1), true)
- assert.equal(parent.contains(child2), true)
-
- cleanup()
- assert.end()
- })
-
- test("can handle non string attribute values", function(assert) {
- var div = document.createElement("div")
- div.setAttribute("data-number", 100)
- div.setAttribute("data-boolean", true)
- div.setAttribute("data-null", null)
- assert.equal(div.toString(), '')
- cleanup()
- assert.end()
- })
-
- test("can serialize textarea correctly", function(assert) {
- var input = document.createElement("textarea")
- input.setAttribute("name", "comment")
- input.innerHTML = "user input here"
- assert.equal(input.toString(), '')
- cleanup()
- assert.end()
- })
-}
diff --git a/node_modules/parse-headers/.travis.yml b/node_modules/parse-headers/.travis.yml
deleted file mode 100644
index 851fb95..0000000
--- a/node_modules/parse-headers/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
-- node
diff --git a/node_modules/parse-headers/LICENCE b/node_modules/parse-headers/LICENCE
deleted file mode 100644
index 6ca87bb..0000000
--- a/node_modules/parse-headers/LICENCE
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright (c) 2014 David Björklund
-
-This software is released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/parse-headers/example.js b/node_modules/parse-headers/example.js
deleted file mode 100644
index 1b02863..0000000
--- a/node_modules/parse-headers/example.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var parse = require('./parse-headers')
-
- , headers = [
- 'Date: Sun, 17 Aug 2014 16:24:52 GMT'
- , 'Content-Type: text/html; charset=utf-8'
- , 'Transfer-Encoding: chunked'
- , 'X-Custom-Header: beep'
- , 'X-Custom-Header: boop'
- ].join('\n')
-
-console.log(parse(headers))
\ No newline at end of file
diff --git a/node_modules/parse-headers/package.json b/node_modules/parse-headers/package.json
deleted file mode 100644
index d922026..0000000
--- a/node_modules/parse-headers/package.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "_from": "parse-headers@^2.0.0",
- "_id": "parse-headers@2.0.3",
- "_inBundle": false,
- "_integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==",
- "_location": "/parse-headers",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "parse-headers@^2.0.0",
- "name": "parse-headers",
- "escapedName": "parse-headers",
- "rawSpec": "^2.0.0",
- "saveSpec": null,
- "fetchSpec": "^2.0.0"
- },
- "_requiredBy": [
- "/xhr"
- ],
- "_resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
- "_shasum": "5e8e7512383d140ba02f0c7aa9f49b4399c92515",
- "_spec": "parse-headers@^2.0.0",
- "_where": "/var/vagrant/ilias_5-4/ilias/Customizing/global/plugins/Modules/Cloud/CloudHook/OneDrive/node_modules/xhr",
- "author": {
- "name": "David Björklund",
- "email": "david.bjorklund@gmail.com"
- },
- "bugs": {
- "url": "https://github.com/kesla/parse-headers/issues"
- },
- "bundleDependencies": false,
- "dependencies": {},
- "deprecated": false,
- "description": "Parse http headers, works with browserify/xhr",
- "devDependencies": {
- "tape": "^4.10.1"
- },
- "homepage": "https://github.com/kesla/parse-headers",
- "keywords": [
- "http",
- "headers"
- ],
- "license": "MIT",
- "main": "parse-headers.js",
- "name": "parse-headers",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kesla/parse-headers.git"
- },
- "scripts": {
- "test": "node test.js"
- },
- "version": "2.0.3"
-}
diff --git a/node_modules/parse-headers/parse-headers.js b/node_modules/parse-headers/parse-headers.js
deleted file mode 100644
index 0d51e70..0000000
--- a/node_modules/parse-headers/parse-headers.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var trim = function(string) {
- return string.replace(/^\s+|\s+$/g, '');
-}
- , isArray = function(arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- }
-
-module.exports = function (headers) {
- if (!headers)
- return {}
-
- var result = {}
-
- var headersArr = trim(headers).split('\n')
-
- for (var i = 0; i < headersArr.length; i++) {
- var row = headersArr[i]
- var index = row.indexOf(':')
- , key = trim(row.slice(0, index)).toLowerCase()
- , value = trim(row.slice(index + 1))
-
- if (typeof(result[key]) === 'undefined') {
- result[key] = value
- } else if (isArray(result[key])) {
- result[key].push(value)
- } else {
- result[key] = [ result[key], value ]
- }
- }
-
- return result
-}
diff --git a/node_modules/parse-headers/readme.md b/node_modules/parse-headers/readme.md
deleted file mode 100644
index 7c40247..0000000
--- a/node_modules/parse-headers/readme.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# parse-headers[![build status](https://secure.travis-ci.org/kesla/parse-headers.svg)](http://travis-ci.org/kesla/parse-headers)
-
-Parse http headers, works with browserify/xhr
-
-[![NPM](https://nodei.co/npm/parse-headers.png?downloads&stars)](https://nodei.co/npm/parse-headers/)
-
-[![NPM](https://nodei.co/npm-dl/parse-headers.png)](https://nodei.co/npm/parse-headers/)
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/kesla-xhr-headers.svg)](https://saucelabs.com/u/kesla-xhr-headers)
-
-## Installation
-
-```
-npm install parse-headers
-```
-
-## Example
-
-### Input
-
-```javascript
-var parse = require('./parse-headers')
-
- , headers = [
- 'Date: Sun, 17 Aug 2014 16:24:52 GMT'
- , 'Content-Type: text/html; charset=utf-8'
- , 'Transfer-Encoding: chunked'
- , 'X-Custom-Header: beep'
- , 'X-Custom-Header: boop'
- ].join('\n')
-
-console.log(parse(headers))
-```
-
-### Output
-
-```
-{ date: 'Sun, 17 Aug 2014 16:24:52 GMT',
- 'content-type': 'text/html; charset=utf-8',
- 'transfer-encoding': 'chunked',
- 'x-custom-header': [ 'beep', 'boop' ] }
-```
-
-## Kudos
-
-Looked at https://github.com/watson/http-headers before creating this.
-
-## Licence
-
-Copyright (c) 2014 David Björklund
-
-This software is released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/parse-headers/test.js b/node_modules/parse-headers/test.js
deleted file mode 100644
index b324ced..0000000
--- a/node_modules/parse-headers/test.js
+++ /dev/null
@@ -1,70 +0,0 @@
-var test = require('tape')
- , parse = require('./parse-headers')
-
- , headers1 = [
- ''
- , 'Date: Sun, 17 Aug 2014 16:24:52 GMT'
- , 'Content-Type: text/html; charset=utf-8'
- , 'Transfer-Encoding: chunked'
- , ''
- ]
- , headers2 = [
- ''
- , 'Date: Sun, 17 Aug 2014 16:24:52 GMT'
- , 'Content-Type: text/html; charset=utf-8'
- , 'Transfer-Encoding: chunked'
- , 'Set-Cookie: Foo'
- , 'set-Cookie: bar'
- , 'set-cookie: bong'
- ]
-
-test('sanity check', function (t) {
-
- t.deepEqual(parse(), {})
- t.deepEqual(parse(''), {})
- t.end()
-})
-
-test('simple', function (t) {
- t.deepEqual(
- parse(headers1.join('\r\n'))
- , {
- date: 'Sun, 17 Aug 2014 16:24:52 GMT'
- , 'content-type': 'text/html; charset=utf-8'
- , 'transfer-encoding': 'chunked'
- }
- )
- t.deepEqual(
- parse(headers1.join('\n'))
- , {
- date: 'Sun, 17 Aug 2014 16:24:52 GMT'
- , 'content-type': 'text/html; charset=utf-8'
- , 'transfer-encoding': 'chunked'
- }
- )
-
- t.end()
-})
-
-test('duplicate keys', function (t) {
- t.deepEqual(
- parse(headers2.join('\r\n'))
- , {
- date: 'Sun, 17 Aug 2014 16:24:52 GMT'
- , 'content-type': 'text/html; charset=utf-8'
- , 'transfer-encoding': 'chunked'
- , 'set-cookie': [ 'Foo', 'bar', 'bong' ]
- }
- )
- t.deepEqual(
- parse(headers2.join('\n'))
- , {
- date: 'Sun, 17 Aug 2014 16:24:52 GMT'
- , 'content-type': 'text/html; charset=utf-8'
- , 'transfer-encoding': 'chunked'
- , 'set-cookie': [ 'Foo', 'bar', 'bong' ]
- }
- )
-
- t.end()
-})
\ No newline at end of file
diff --git a/node_modules/parse-headers/yarn.lock b/node_modules/parse-headers/yarn.lock
deleted file mode 100644
index f365b05..0000000
--- a/node_modules/parse-headers/yarn.lock
+++ /dev/null
@@ -1,253 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-deep-equal@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
- integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=
-
-define-properties@^1.1.2, define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
-defined@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
-
-es-abstract@^1.5.0:
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d"
- integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==
- dependencies:
- es-to-primitive "^1.2.0"
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.0"
- is-callable "^1.1.4"
- is-regex "^1.0.4"
- object-inspect "^1.6.0"
- object-keys "^1.1.1"
- string.prototype.trimleft "^2.1.0"
- string.prototype.trimright "^2.1.0"
-
-es-to-primitive@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-for-each@~0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-function-bind@^1.0.2, function-bind@^1.1.1, function-bind@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-glob@~7.1.4:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-has-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
- integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
-
-has@^1.0.1, has@^1.0.3, has@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@~2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-is-callable@^1.1.3, is-callable@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
- integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
-
-is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
- integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
-
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
- integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
- dependencies:
- has "^1.0.1"
-
-is-symbol@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
- integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
- dependencies:
- has-symbols "^1.0.0"
-
-minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
-object-inspect@^1.6.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
- integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
-
-object-inspect@~1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
- integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==
-
-object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
-resolve@~1.11.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
- integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
- dependencies:
- path-parse "^1.0.6"
-
-resumer@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
- integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=
- dependencies:
- through "~2.3.4"
-
-string.prototype.trim@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea"
- integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.5.0"
- function-bind "^1.0.2"
-
-string.prototype.trimleft@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634"
- integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==
- dependencies:
- define-properties "^1.1.3"
- function-bind "^1.1.1"
-
-string.prototype.trimright@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58"
- integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==
- dependencies:
- define-properties "^1.1.3"
- function-bind "^1.1.1"
-
-tape@^4.10.1:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/tape/-/tape-4.11.0.tgz#63d41accd95e45a23a874473051c57fdbc58edc1"
- integrity sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==
- dependencies:
- deep-equal "~1.0.1"
- defined "~1.0.0"
- for-each "~0.3.3"
- function-bind "~1.1.1"
- glob "~7.1.4"
- has "~1.0.3"
- inherits "~2.0.4"
- minimist "~1.2.0"
- object-inspect "~1.6.0"
- resolve "~1.11.1"
- resumer "~0.0.0"
- string.prototype.trim "~1.1.2"
- through "~2.3.8"
-
-through@~2.3.4, through@~2.3.8:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
diff --git a/node_modules/process/.eslintrc b/node_modules/process/.eslintrc
deleted file mode 100644
index 1e7aab7..0000000
--- a/node_modules/process/.eslintrc
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-extends: "eslint:recommended",
- "env": {
- "node": true,
- "browser": true,
- "es6" : true,
- "mocha": true
- },
- "rules": {
- "indent": [2, 4],
- "brace-style": [2, "1tbs"],
- "quotes": [2, "single"],
- "no-console": 0,
- "no-shadow": 0,
- "no-use-before-define": [2, "nofunc"],
- "no-underscore-dangle": 0,
- "no-constant-condition": 0,
- "space-after-function-name": 0,
- "consistent-return": 0
- }
-}
diff --git a/node_modules/process/LICENSE b/node_modules/process/LICENSE
deleted file mode 100644
index b8c1246..0000000
--- a/node_modules/process/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2013 Roman Shtylman
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/process/README.md b/node_modules/process/README.md
deleted file mode 100644
index 6570729..0000000
--- a/node_modules/process/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# process
-
-```require('process');``` just like any other module.
-
-Works in node.js and browsers via the browser.js shim provided with the module.
-
-## browser implementation
-
-The goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global.
-
-It also exposes a "browser" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in.
-
-If you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below.
-
-* [hrtime](https://github.com/kumavis/browser-process-hrtime)
-* [stdout](https://github.com/kumavis/browser-stdout)
-
-## package manager notes
-
-If you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json.
-
-See https://gist.github.com/4339901 for details.
-
-The [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files.
-
-
diff --git a/node_modules/process/browser.js b/node_modules/process/browser.js
deleted file mode 100644
index d059362..0000000
--- a/node_modules/process/browser.js
+++ /dev/null
@@ -1,184 +0,0 @@
-// shim for using process in browser
-var process = module.exports = {};
-
-// cached from whatever global is present so that test runners that stub it
-// don't break things. But we need to wrap it in a try catch in case it is
-// wrapped in strict mode code which doesn't define any globals. It's inside a
-// function because try/catches deoptimize in certain engines.
-
-var cachedSetTimeout;
-var cachedClearTimeout;
-
-function defaultSetTimout() {
- throw new Error('setTimeout has not been defined');
-}
-function defaultClearTimeout () {
- throw new Error('clearTimeout has not been defined');
-}
-(function () {
- try {
- if (typeof setTimeout === 'function') {
- cachedSetTimeout = setTimeout;
- } else {
- cachedSetTimeout = defaultSetTimout;
- }
- } catch (e) {
- cachedSetTimeout = defaultSetTimout;
- }
- try {
- if (typeof clearTimeout === 'function') {
- cachedClearTimeout = clearTimeout;
- } else {
- cachedClearTimeout = defaultClearTimeout;
- }
- } catch (e) {
- cachedClearTimeout = defaultClearTimeout;
- }
-} ())
-function runTimeout(fun) {
- if (cachedSetTimeout === setTimeout) {
- //normal enviroments in sane situations
- return setTimeout(fun, 0);
- }
- // if setTimeout wasn't available but was latter defined
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
- cachedSetTimeout = setTimeout;
- return setTimeout(fun, 0);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedSetTimeout(fun, 0);
- } catch(e){
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedSetTimeout.call(null, fun, 0);
- } catch(e){
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
- return cachedSetTimeout.call(this, fun, 0);
- }
- }
-
-
-}
-function runClearTimeout(marker) {
- if (cachedClearTimeout === clearTimeout) {
- //normal enviroments in sane situations
- return clearTimeout(marker);
- }
- // if clearTimeout wasn't available but was latter defined
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
- cachedClearTimeout = clearTimeout;
- return clearTimeout(marker);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedClearTimeout(marker);
- } catch (e){
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedClearTimeout.call(null, marker);
- } catch (e){
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
- return cachedClearTimeout.call(this, marker);
- }
- }
-
-
-
-}
-var queue = [];
-var draining = false;
-var currentQueue;
-var queueIndex = -1;
-
-function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
-}
-
-function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = runTimeout(cleanUpNextTick);
- draining = true;
-
- var len = queue.length;
- while(len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- runClearTimeout(timeout);
-}
-
-process.nextTick = function (fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- runTimeout(drainQueue);
- }
-};
-
-// v8 likes predictible objects
-function Item(fun, array) {
- this.fun = fun;
- this.array = array;
-}
-Item.prototype.run = function () {
- this.fun.apply(null, this.array);
-};
-process.title = 'browser';
-process.browser = true;
-process.env = {};
-process.argv = [];
-process.version = ''; // empty string to avoid regexp issues
-process.versions = {};
-
-function noop() {}
-
-process.on = noop;
-process.addListener = noop;
-process.once = noop;
-process.off = noop;
-process.removeListener = noop;
-process.removeAllListeners = noop;
-process.emit = noop;
-process.prependListener = noop;
-process.prependOnceListener = noop;
-
-process.listeners = function (name) { return [] }
-
-process.binding = function (name) {
- throw new Error('process.binding is not supported');
-};
-
-process.cwd = function () { return '/' };
-process.chdir = function (dir) {
- throw new Error('process.chdir is not supported');
-};
-process.umask = function() { return 0; };
diff --git a/node_modules/process/index.js b/node_modules/process/index.js
deleted file mode 100644
index 8d8ed7d..0000000
--- a/node_modules/process/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// for now just expose the builtin process global from node.js
-module.exports = global.process;
diff --git a/node_modules/process/package.json b/node_modules/process/package.json
deleted file mode 100644
index c6887da..0000000
--- a/node_modules/process/package.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "_from": "process@^0.11.10",
- "_id": "process@0.11.10",
- "_inBundle": false,
- "_integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "_location": "/process",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "process@^0.11.10",
- "name": "process",
- "escapedName": "process",
- "rawSpec": "^0.11.10",
- "saveSpec": null,
- "fetchSpec": "^0.11.10"
- },
- "_requiredBy": [
- "/global"
- ],
- "_resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "_shasum": "7332300e840161bda3e69a1d1d91a7d4bc16f182",
- "_spec": "process@^0.11.10",
- "_where": "/var/vagrant/ilias_5-4/ilias/Customizing/global/plugins/Modules/Cloud/CloudHook/OneDrive/node_modules/global",
- "author": {
- "name": "Roman Shtylman",
- "email": "shtylman@gmail.com"
- },
- "browser": "./browser.js",
- "bugs": {
- "url": "https://github.com/shtylman/node-process/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "process information for node.js and browsers",
- "devDependencies": {
- "mocha": "2.2.1",
- "zuul": "^3.10.3"
- },
- "engines": {
- "node": ">= 0.6.0"
- },
- "homepage": "https://github.com/shtylman/node-process#readme",
- "keywords": [
- "process"
- ],
- "license": "MIT",
- "main": "./index.js",
- "name": "process",
- "repository": {
- "type": "git",
- "url": "git://github.com/shtylman/node-process.git"
- },
- "scripts": {
- "browser": "zuul --no-coverage --ui mocha-bdd --local 8080 -- test.js",
- "test": "mocha test.js"
- },
- "version": "0.11.10"
-}
diff --git a/node_modules/process/test.js b/node_modules/process/test.js
deleted file mode 100644
index 8ba579c..0000000
--- a/node_modules/process/test.js
+++ /dev/null
@@ -1,199 +0,0 @@
-var assert = require('assert');
-var ourProcess = require('./browser');
-describe('test against our process', function () {
- test(ourProcess);
-});
-if (!process.browser) {
- describe('test against node', function () {
- test(process);
- });
- vmtest();
-}
-function test (ourProcess) {
- describe('test arguments', function () {
- it ('works', function (done) {
- var order = 0;
-
-
- ourProcess.nextTick(function (num) {
- assert.equal(num, order++, 'first one works');
- ourProcess.nextTick(function (num) {
- assert.equal(num, order++, 'recursive one is 4th');
- }, 3);
- }, 0);
- ourProcess.nextTick(function (num) {
- assert.equal(num, order++, 'second one starts');
- ourProcess.nextTick(function (num) {
- assert.equal(num, order++, 'this is third');
- ourProcess.nextTick(function (num) {
- assert.equal(num, order++, 'this is last');
- done();
- }, 5);
- }, 4);
- }, 1);
- ourProcess.nextTick(function (num) {
-
- assert.equal(num, order++, '3rd schedualed happens after the error');
- }, 2);
- });
- });
-if (!process.browser) {
- describe('test errors', function (t) {
- it ('works', function (done) {
- var order = 0;
- process.removeAllListeners('uncaughtException');
- process.once('uncaughtException', function(err) {
- assert.equal(2, order++, 'error is third');
- ourProcess.nextTick(function () {
- assert.equal(5, order++, 'schedualed in error is last');
- done();
- });
- });
- ourProcess.nextTick(function () {
- assert.equal(0, order++, 'first one works');
- ourProcess.nextTick(function () {
- assert.equal(4, order++, 'recursive one is 4th');
- });
- });
- ourProcess.nextTick(function () {
- assert.equal(1, order++, 'second one starts');
- throw(new Error('an error is thrown'));
- });
- ourProcess.nextTick(function () {
- assert.equal(3, order++, '3rd schedualed happens after the error');
- });
- });
- });
-}
- describe('rename globals', function (t) {
- var oldTimeout = setTimeout;
- var oldClear = clearTimeout;
-
- it('clearTimeout', function (done){
-
- var ok = true;
- clearTimeout = function () {
- ok = false;
- }
- var ran = false;
- function cleanup() {
- clearTimeout = oldClear;
- var err;
- try {
- assert.ok(ok, 'fake clearTimeout ran');
- assert.ok(ran, 'should have run');
- } catch (e) {
- err = e;
- }
- done(err);
- }
- setTimeout(cleanup, 1000);
- ourProcess.nextTick(function () {
- ran = true;
- });
- });
- it('just setTimeout', function (done){
-
-
- setTimeout = function () {
- setTimeout = oldTimeout;
- try {
- assert.ok(false, 'fake setTimeout called')
- } catch (e) {
- done(e);
- }
-
- }
-
- ourProcess.nextTick(function () {
- setTimeout = oldTimeout;
- done();
- });
- });
- });
-}
-function vmtest() {
- var vm = require('vm');
- var fs = require('fs');
- var process = fs.readFileSync('./browser.js', {encoding: 'utf8'});
-
-
- describe('should work in vm in strict mode with no globals', function () {
- it('should parse', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'this.works = process.browser;';
- var script = new vm.Script(str);
- var context = {
- works: false
- };
- script.runInNewContext(context);
- assert.ok(context.works);
- done();
- });
- it('setTimeout throws error', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'try {process.nextTick(function () {})} catch (e){this.works = e;}';
- var script = new vm.Script(str);
- var context = {
- works: false
- };
- script.runInNewContext(context);
- assert.ok(context.works);
- done();
- });
- it('should generally work', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'process.nextTick(function () {assert.ok(true);done();})';
- var script = new vm.Script(str);
- var context = {
- clearTimeout: clearTimeout,
- setTimeout: setTimeout,
- done: done,
- assert: assert
- };
- script.runInNewContext(context);
- });
- it('late defs setTimeout', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {assert.ok(true);done();})';
- var script = new vm.Script(str);
- var context = {
- clearTimeout: clearTimeout,
- hiddenSetTimeout: setTimeout,
- done: done,
- assert: assert
- };
- script.runInNewContext(context);
- });
- it('late defs clearTimeout', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'var clearTimeout = hiddenClearTimeout;process.nextTick(function () {assert.ok(true);done();})';
- var script = new vm.Script(str);
- var context = {
- hiddenClearTimeout: clearTimeout,
- setTimeout: setTimeout,
- done: done,
- assert: assert
- };
- script.runInNewContext(context);
- });
- it('late defs setTimeout and then redefine', function (done) {
- var str = '"use strict";var module = {exports:{}};';
- str += process;
- str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {setTimeout = function (){throw new Error("foo")};hiddenSetTimeout(function(){process.nextTick(function (){assert.ok(true);done();});});});';
- var script = new vm.Script(str);
- var context = {
- clearTimeout: clearTimeout,
- hiddenSetTimeout: setTimeout,
- done: done,
- assert: assert
- };
- script.runInNewContext(context);
- });
- });
-}
diff --git a/node_modules/xhr/.vscode/settings.json b/node_modules/xhr/.vscode/settings.json
deleted file mode 100755
index 6bd5b92..0000000
--- a/node_modules/xhr/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "standard.enable": false
-}
\ No newline at end of file
diff --git a/node_modules/xhr/CONTRIBUTING.md b/node_modules/xhr/CONTRIBUTING.md
deleted file mode 100644
index 3d4053b..0000000
--- a/node_modules/xhr/CONTRIBUTING.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# XHR is an OPEN Open Source Project
-
------------------------------------------
-
-## What?
-
-Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.
-
-## Rules
-
-There are a few basic ground-rules for contributors:
-
-1. **No `--force` pushes** or modifying the Git history in any way.
-1. **Non-master branches** ought to be used for ongoing work.
-1. **External API changes and significant modifications** ought to be subject to an **internal pull-request** to solicit feedback from other contributors.
-1. Internal pull-requests to solicit feedback are *encouraged* for any other non-trivial contribution but left to the discretion of the contributor.
-1. Contributors should attempt to adhere to the prevailing code-style.
-
-## Releases
-
-Declaring formal releases remains the prerogative of the project maintainer.
-
-## Changes to this arrangement
-
-This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change.
-
------------------------------------------
diff --git a/node_modules/xhr/LICENCE b/node_modules/xhr/LICENCE
deleted file mode 100644
index a23e08a..0000000
--- a/node_modules/xhr/LICENCE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2012 Raynos.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/xhr/README.md b/node_modules/xhr/README.md
deleted file mode 100644
index 1cb2ba7..0000000
--- a/node_modules/xhr/README.md
+++ /dev/null
@@ -1,255 +0,0 @@
-# xhr
-
-[![Join the chat at https://gitter.im/naugtur-xhr/Lobby](https://badges.gitter.im/naugtur-xhr/Lobby.svg)](https://gitter.im/naugtur-xhr/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-
-
-A small XMLHttpRequest wrapper. Designed for use with [browserify](http://browserify.org/), [webpack](https://webpack.github.io/) etc.
-
-API is a subset of [request](https://github.com/request/request) so you can write code that works in both node.js and the browser by using `require('request')` in your code and telling your browser bundler to load `xhr` instead of `request`.
-
-For browserify, add a [browser](https://github.com/substack/node-browserify#browser-field) field to your `package.json`:
-
-```
-"browser": {
- "request": "xhr"
-}
-```
-
-For webpack, add a [resolve.alias](http://webpack.github.io/docs/configuration.html#resolve-alias) field to your configuration:
-
-```
-"resolve": {
- "alias": {
- "request$": "xhr"
- }
-}
-```
-
-Browser support: IE8+ and everything else.
-
-## Installation
-
-```
-npm install xhr
-```
-
-## Example
-
-```js
-var xhr = require("xhr")
-
-xhr({
- method: "post",
- body: someJSONString,
- uri: "/foo",
- headers: {
- "Content-Type": "application/json"
- }
-}, function (err, resp, body) {
- // check resp.statusCode
-})
-```
-
-## `var req = xhr(options, callback)`
-
-```js
-type XhrOptions = String | {
- useXDR: Boolean?,
- sync: Boolean?,
- uri: String,
- url: String,
- method: String?,
- timeout: Number?,
- headers: Object?,
- body: String? | Object?,
- json: Boolean? | Object?,
- username: String?,
- password: String?,
- withCredentials: Boolean?,
- responseType: String?,
- beforeSend: Function?
-}
-xhr := (XhrOptions, Callback) => Request
-```
-the returned object is either an [`XMLHttpRequest`][3] instance
- or an [`XDomainRequest`][4] instance (if on IE8/IE9 &&
- `options.useXDR` is set to `true`)
-
-Your callback will be called once with the arguments
- ( [`Error`][5], `response` , `body` ) where the response is an object:
-```js
-{
- body: Object||String,
- statusCode: Number,
- method: String,
- headers: {},
- url: String,
- rawRequest: xhr
-}
-```
- - `body`: HTTP response body - [`XMLHttpRequest.response`][6], [`XMLHttpRequest.responseText`][7] or
- [`XMLHttpRequest.responseXML`][8] depending on the request type.
- - `rawRequest`: Original [`XMLHttpRequest`][3] instance
- or [`XDomainRequest`][4] instance (if on IE8/IE9 &&
- `options.useXDR` is set to `true`)
- - `headers`: A collection of headers where keys are header names converted to lowercase
-
-
-Your callback will be called with an [`Error`][5] if there is an error in the browser that prevents sending the request.
-A HTTP 500 response is not going to cause an error to be returned.
-
-## Other signatures
-
-* `var req = xhr(url, callback)` -
-a simple string instead of the options. In this case, a GET request will be made to that url.
-
-* `var req = xhr(url, options, callback)` -
-the above may also be called with the standard set of options.
-
-### Convience methods
-* `var req = xhr.{post, put, patch, del, head, get}(url, callback)`
-* `var req = xhr.{post, put, patch, del, head, get}(options, callback)`
-* `var req = xhr.{post, put, patch, del, head, get}(url, options, callback)`
-
-The `xhr` module has convience functions attached that will make requests with the given method.
-Each function is named after its method, with the exception of `DELETE` which is called `xhr.del` for compatibility.
-
-The method shorthands may be combined with the url-first form of `xhr` for succinct and descriptive requests. For example,
-
-```js
-xhr.post('/post-to-me', function(err, resp) {
- console.log(resp.body)
-})
-```
-
-or
-
-```js
-xhr.del('/delete-me', { headers: { my: 'auth' } }, function (err, resp) {
- console.log(resp.statusCode);
-})
-```
-
-## Options
-
-### `options.method`
-
-Specify the method the [`XMLHttpRequest`][3] should be opened
- with. Passed to [`XMLHttpRequest.open`][2]. Defaults to "GET"
-
-### `options.useXDR`
-
-Specify whether this is a cross origin (CORS) request for IE<10.
- Switches IE to use [`XDomainRequest`][4] instead of `XMLHttpRequest`.
- Ignored in other browsers.
-
-Note that headers cannot be set on an XDomainRequest instance.
-
-### `options.sync`
-
-Specify whether this is a synchrounous request. Note that when
- this is true the callback will be called synchronously. In
- most cases this option should not be used. Only use if you
- know what you are doing!
-
-### `options.body`
-
-Pass in body to be send across the [`XMLHttpRequest`][3].
- Generally should be a string. But anything that's valid as
- a parameter to [`XMLHttpRequest.send`][1] should work (Buffer for file, etc.).
-
-If `options.json` is `true`, then this must be a JSON-serializable object. `options.body` is passed to `JSON.stringify` and sent.
-
-### `options.uri` or `options.url`
-
-The uri to send a request to. Passed to [`XMLHttpRequest.open`][2]. `options.url` and `options.uri` are aliases for each other.
-
-### `options.headers`
-
-An object of headers that should be set on the request. The
- key, value pair is passed to [`XMLHttpRequest.setRequestHeader`][9]
-
-### `options.timeout`
-
-Number of miliseconds to wait for response. Defaults to 0 (no timeout). Ignored when `options.sync` is true.
-
-### `options.json`
-
-Set to `true` to send request as `application/json` (see `options.body`) and parse response from JSON.
-
-For backwards compatibility `options.json` can also be a valid JSON-serializable value to be sent to the server. Additionally the response body is still parsed as JSON
-
-For sending booleans as JSON body see FAQ
-
-### `options.withCredentials`
-
-Specify whether user credentials are to be included in a cross-origin
- request. Sets [`XMLHttpRequest.withCredentials`][10]. Defaults to false.
-
-A wildcard `*` cannot be used in the `Access-Control-Allow-Origin` header when `withCredentials` is true.
- The header needs to specify your origin explicitly or browser will abort the request.
-
-### `options.responseType`
-
-Determines the data type of the `response`. Sets [`XMLHttpRequest.responseType`][11]. For example, a `responseType` of `document` will return a parsed `Document` object as the `response.body` for an XML resource.
-
-### `options.beforeSend`
-
-A function being called right before the `send` method of the `XMLHttpRequest` or `XDomainRequest` instance is called. The `XMLHttpRequest` or `XDomainRequest` instance is passed as an argument.
-
-### `options.xhr`
-
-Pass an `XMLHttpRequest` object (or something that acts like one) to use instead of constructing a new one using the `XMLHttpRequest` or `XDomainRequest` constructors. Useful for testing.
-
-## FAQ
-
-- Why is my server's JSON response not parsed? I returned the right content-type.
- - See `options.json` - you can set it to `true` on a GET request to tell `xhr` to parse the response body.
- - Without `options.json` body is returned as-is (a string or when `responseType` is set and the browser supports it - a result of parsing JSON or XML)
-- How do I send an object or array as POST body?
- - `options.body` should be a string. You need to serialize your object before passing to `xhr` for sending.
- - To serialize to JSON you can use
- `options.json:true` with `options.body` for convenience - then `xhr` will do the serialization and set content-type accordingly.
-- Where's stream API? `.pipe()` etc.
- - Not implemented. You can't reasonably have that in the browser.
-- Why can't I send `"true"` as body by passing it as `options.json` anymore?
- - Accepting `true` as a value was a bug. Despite what `JSON.stringify` does, the string `"true"` is not valid JSON. If you're sending booleans as JSON, please consider wrapping them in an object or array to save yourself from more trouble in the future. To bring back the old behavior, hardcode `options.json` to `true` and set `options.body` to your boolean value.
-- How do I add an `onprogress` listener?
- - use `beforeSend` function for non-standard things that are browser specific. In this case:
- ```js
- xhr({
- ...
- beforeSend: function(xhrObject){
- xhrObject.onprogress = function(){}
- }
- })
- ```
-
-## Mocking Requests
-You can override the constructor used to create new requests for testing. When you're making a new request:
-
-```js
-xhr({ xhr: new MockXMLHttpRequest() })
-```
-
-or you can override the constructors used to create requests at the module level:
-
-```js
-xhr.XMLHttpRequest = MockXMLHttpRequest
-xhr.XDomainRequest = MockXDomainRequest
-```
-
-## MIT Licenced
-
- [1]: http://xhr.spec.whatwg.org/#the-send()-method
- [2]: http://xhr.spec.whatwg.org/#the-open()-method
- [3]: http://xhr.spec.whatwg.org/#interface-xmlhttprequest
- [4]: http://msdn.microsoft.com/en-us/library/ie/cc288060(v=vs.85).aspx
- [5]: http://es5.github.com/#x15.11
- [6]: http://xhr.spec.whatwg.org/#the-response-attribute
- [7]: http://xhr.spec.whatwg.org/#the-responsetext-attribute
- [8]: http://xhr.spec.whatwg.org/#the-responsexml-attribute
- [9]: http://xhr.spec.whatwg.org/#the-setrequestheader()-method
- [10]: http://xhr.spec.whatwg.org/#the-withcredentials-attribute
- [11]: https://xhr.spec.whatwg.org/#the-responsetype-attribute
diff --git a/node_modules/xhr/index.d.ts b/node_modules/xhr/index.d.ts
deleted file mode 100644
index 0de08c2..0000000
--- a/node_modules/xhr/index.d.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-export type XhrCallback = (
- error: Error,
- response: XhrResponse,
- body: any
-) => void;
-
-export interface XhrResponse {
- body: Object | string;
- statusCode: number;
- method: string;
- headers: XhrHeaders;
- url: string;
- rawRequest: XMLHttpRequest;
-}
-
-export interface XhrHeaders {
- [key: string]: string;
-}
-
-export interface XhrBaseConfig {
- useXDR?: boolean;
- sync?: boolean;
- method?: 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'POST' | 'PUT' | 'PATCH';
- timeout?: number;
- headers?: XhrHeaders;
- body?: string | any;
- json?: boolean;
- username?: string;
- password?: string;
- withCredentials?: boolean;
- responseType?: '' | 'arraybuffer' | 'blob' | 'document' | 'json' | 'text';
- beforeSend?: (xhrObject: XMLHttpRequest) => void;
- xhr?: XMLHttpRequest;
-}
-
-export interface XhrUriConfig extends XhrBaseConfig {
- uri: string;
-}
-
-export interface XhrUrlConfig extends XhrBaseConfig {
- url: string;
-}
-
-export interface XhrInstance {
- (options: XhrUriConfig | XhrUrlConfig, callback: XhrCallback): any;
- (url: string, callback: XhrCallback): any;
- (url: string, options: XhrBaseConfig, callback: XhrCallback): any;
-}
-
-export interface XhrStatic extends XhrInstance {
- del: XhrInstance;
- get: XhrInstance;
- head: XhrInstance;
- patch: XhrInstance;
- post: XhrInstance;
- put: XhrInstance;
-}
-
-declare const Xhr: XhrStatic;
-
-export default Xhr;
diff --git a/node_modules/xhr/index.js b/node_modules/xhr/index.js
deleted file mode 100644
index 1bc328f..0000000
--- a/node_modules/xhr/index.js
+++ /dev/null
@@ -1,247 +0,0 @@
-"use strict";
-var window = require("global/window")
-var isFunction = require("is-function")
-var parseHeaders = require("parse-headers")
-var xtend = require("xtend")
-
-module.exports = createXHR
-// Allow use of default import syntax in TypeScript
-module.exports.default = createXHR;
-createXHR.XMLHttpRequest = window.XMLHttpRequest || noop
-createXHR.XDomainRequest = "withCredentials" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest
-
-forEachArray(["get", "put", "post", "patch", "head", "delete"], function(method) {
- createXHR[method === "delete" ? "del" : method] = function(uri, options, callback) {
- options = initParams(uri, options, callback)
- options.method = method.toUpperCase()
- return _createXHR(options)
- }
-})
-
-function forEachArray(array, iterator) {
- for (var i = 0; i < array.length; i++) {
- iterator(array[i])
- }
-}
-
-function isEmpty(obj){
- for(var i in obj){
- if(obj.hasOwnProperty(i)) return false
- }
- return true
-}
-
-function initParams(uri, options, callback) {
- var params = uri
-
- if (isFunction(options)) {
- callback = options
- if (typeof uri === "string") {
- params = {uri:uri}
- }
- } else {
- params = xtend(options, {uri: uri})
- }
-
- params.callback = callback
- return params
-}
-
-function createXHR(uri, options, callback) {
- options = initParams(uri, options, callback)
- return _createXHR(options)
-}
-
-function _createXHR(options) {
- if(typeof options.callback === "undefined"){
- throw new Error("callback argument missing")
- }
-
- var called = false
- var callback = function cbOnce(err, response, body){
- if(!called){
- called = true
- options.callback(err, response, body)
- }
- }
-
- function readystatechange() {
- if (xhr.readyState === 4) {
- setTimeout(loadFunc, 0)
- }
- }
-
- function getBody() {
- // Chrome with requestType=blob throws errors arround when even testing access to responseText
- var body = undefined
-
- if (xhr.response) {
- body = xhr.response
- } else {
- body = xhr.responseText || getXml(xhr)
- }
-
- if (isJson) {
- try {
- body = JSON.parse(body)
- } catch (e) {}
- }
-
- return body
- }
-
- function errorFunc(evt) {
- clearTimeout(timeoutTimer)
- if(!(evt instanceof Error)){
- evt = new Error("" + (evt || "Unknown XMLHttpRequest Error") )
- }
- evt.statusCode = 0
- return callback(evt, failureResponse)
- }
-
- // will load the data & process the response in a special response object
- function loadFunc() {
- if (aborted) return
- var status
- clearTimeout(timeoutTimer)
- if(options.useXDR && xhr.status===undefined) {
- //IE8 CORS GET successful response doesn't have a status field, but body is fine
- status = 200
- } else {
- status = (xhr.status === 1223 ? 204 : xhr.status)
- }
- var response = failureResponse
- var err = null
-
- if (status !== 0){
- response = {
- body: getBody(),
- statusCode: status,
- method: method,
- headers: {},
- url: uri,
- rawRequest: xhr
- }
- if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE
- response.headers = parseHeaders(xhr.getAllResponseHeaders())
- }
- } else {
- err = new Error("Internal XMLHttpRequest Error")
- }
- return callback(err, response, response.body)
- }
-
- var xhr = options.xhr || null
-
- if (!xhr) {
- if (options.cors || options.useXDR) {
- xhr = new createXHR.XDomainRequest()
- }else{
- xhr = new createXHR.XMLHttpRequest()
- }
- }
-
- var key
- var aborted
- var uri = xhr.url = options.uri || options.url
- var method = xhr.method = options.method || "GET"
- var body = options.body || options.data
- var headers = xhr.headers = options.headers || {}
- var sync = !!options.sync
- var isJson = false
- var timeoutTimer
- var failureResponse = {
- body: undefined,
- headers: {},
- statusCode: 0,
- method: method,
- url: uri,
- rawRequest: xhr
- }
-
- if ("json" in options && options.json !== false) {
- isJson = true
- headers["accept"] || headers["Accept"] || (headers["Accept"] = "application/json") //Don't override existing accept header declared by user
- if (method !== "GET" && method !== "HEAD") {
- headers["content-type"] || headers["Content-Type"] || (headers["Content-Type"] = "application/json") //Don't override existing accept header declared by user
- body = JSON.stringify(options.json === true ? body : options.json)
- }
- }
-
- xhr.onreadystatechange = readystatechange
- xhr.onload = loadFunc
- xhr.onerror = errorFunc
- // IE9 must have onprogress be set to a unique function.
- xhr.onprogress = function () {
- // IE must die
- }
- xhr.onabort = function(){
- aborted = true;
- }
- xhr.ontimeout = errorFunc
- xhr.open(method, uri, !sync, options.username, options.password)
- //has to be after open
- if(!sync) {
- xhr.withCredentials = !!options.withCredentials
- }
- // Cannot set timeout with sync request
- // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly
- // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent
- if (!sync && options.timeout > 0 ) {
- timeoutTimer = setTimeout(function(){
- if (aborted) return
- aborted = true//IE9 may still call readystatechange
- xhr.abort("timeout")
- var e = new Error("XMLHttpRequest timeout")
- e.code = "ETIMEDOUT"
- errorFunc(e)
- }, options.timeout )
- }
-
- if (xhr.setRequestHeader) {
- for(key in headers){
- if(headers.hasOwnProperty(key)){
- xhr.setRequestHeader(key, headers[key])
- }
- }
- } else if (options.headers && !isEmpty(options.headers)) {
- throw new Error("Headers cannot be set on an XDomainRequest object")
- }
-
- if ("responseType" in options) {
- xhr.responseType = options.responseType
- }
-
- if ("beforeSend" in options &&
- typeof options.beforeSend === "function"
- ) {
- options.beforeSend(xhr)
- }
-
- // Microsoft Edge browser sends "undefined" when send is called with undefined value.
- // XMLHttpRequest spec says to pass null as body to indicate no body
- // See https://github.com/naugtur/xhr/issues/100.
- xhr.send(body || null)
-
- return xhr
-
-
-}
-
-function getXml(xhr) {
- // xhr.responseXML will throw Exception "InvalidStateError" or "DOMException"
- // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.
- try {
- if (xhr.responseType === "document") {
- return xhr.responseXML
- }
- var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === "parsererror"
- if (xhr.responseType === "" && !firefoxBugTakenEffect) {
- return xhr.responseXML
- }
- } catch (e) {}
-
- return null
-}
-
-function noop() {}
diff --git a/node_modules/xhr/package.json b/node_modules/xhr/package.json
deleted file mode 100644
index 43ef297..0000000
--- a/node_modules/xhr/package.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "_from": "xhr@^2.6.0",
- "_id": "xhr@2.6.0",
- "_inBundle": false,
- "_integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
- "_location": "/xhr",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "xhr@^2.6.0",
- "name": "xhr",
- "escapedName": "xhr",
- "rawSpec": "^2.6.0",
- "saveSpec": null,
- "fetchSpec": "^2.6.0"
- },
- "_requiredBy": [
- "/@mux/upchunk"
- ],
- "_resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
- "_shasum": "b69d4395e792b4173d6b7df077f0fc5e4e2b249d",
- "_spec": "xhr@^2.6.0",
- "_where": "/var/vagrant/ilias_5-4/ilias/Customizing/global/plugins/Modules/Cloud/CloudHook/OneDrive/node_modules/@mux/upchunk",
- "author": {
- "name": "Raynos",
- "email": "raynos2@gmail.com"
- },
- "bugs": {
- "url": "https://github.com/naugtur/xhr/issues",
- "email": "naugtur@gmail.com"
- },
- "bundleDependencies": false,
- "contributors": [
- {
- "name": "Jake Verbaten"
- },
- {
- "name": "Zbyszek Tenerowicz",
- "email": "naugtur@gmail.com"
- }
- ],
- "dependencies": {
- "global": "~4.4.0",
- "is-function": "^1.0.1",
- "parse-headers": "^2.0.0",
- "xtend": "^4.0.0"
- },
- "deprecated": false,
- "description": "small xhr abstraction",
- "devDependencies": {
- "for-each": "^0.3.2",
- "pre-commit": "1.2.2",
- "run-browser": "github:naugtur/run-browser",
- "tap-spec": "^4.0.2",
- "tape": "^4.0.0"
- },
- "homepage": "https://github.com/naugtur/xhr",
- "keywords": [
- "xhr",
- "http",
- "xmlhttprequest",
- "xhr2",
- "browserify"
- ],
- "license": "MIT",
- "main": "index",
- "name": "xhr",
- "repository": {
- "type": "git",
- "url": "git://github.com/naugtur/xhr.git"
- },
- "scripts": {
- "browser": "run-browser -m test/mock-server.js test/index.js",
- "test": "run-browser test/index.js -b -m test/mock-server.js | tap-spec"
- },
- "typings": "./index.d.ts",
- "version": "2.6.0"
-}
diff --git a/node_modules/xtend/.jshintrc b/node_modules/xtend/.jshintrc
deleted file mode 100644
index 77887b5..0000000
--- a/node_modules/xtend/.jshintrc
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "maxdepth": 4,
- "maxstatements": 200,
- "maxcomplexity": 12,
- "maxlen": 80,
- "maxparams": 5,
-
- "curly": true,
- "eqeqeq": true,
- "immed": true,
- "latedef": false,
- "noarg": true,
- "noempty": true,
- "nonew": true,
- "undef": true,
- "unused": "vars",
- "trailing": true,
-
- "quotmark": true,
- "expr": true,
- "asi": true,
-
- "browser": false,
- "esnext": true,
- "devel": false,
- "node": false,
- "nonstandard": false,
-
- "predef": ["require", "module", "__dirname", "__filename"]
-}
diff --git a/node_modules/xtend/LICENSE b/node_modules/xtend/LICENSE
deleted file mode 100644
index 0099f4f..0000000
--- a/node_modules/xtend/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-Copyright (c) 2012-2014 Raynos.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/xtend/README.md b/node_modules/xtend/README.md
deleted file mode 100644
index 4a2703c..0000000
--- a/node_modules/xtend/README.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# xtend
-
-[![browser support][3]][4]
-
-[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges)
-
-Extend like a boss
-
-xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence.
-
-## Examples
-
-```js
-var extend = require("xtend")
-
-// extend returns a new object. Does not mutate arguments
-var combination = extend({
- a: "a",
- b: "c"
-}, {
- b: "b"
-})
-// { a: "a", b: "b" }
-```
-
-## Stability status: Locked
-
-## MIT Licensed
-
-
- [3]: http://ci.testling.com/Raynos/xtend.png
- [4]: http://ci.testling.com/Raynos/xtend
diff --git a/node_modules/xtend/immutable.js b/node_modules/xtend/immutable.js
deleted file mode 100644
index 94889c9..0000000
--- a/node_modules/xtend/immutable.js
+++ /dev/null
@@ -1,19 +0,0 @@
-module.exports = extend
-
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-function extend() {
- var target = {}
-
- for (var i = 0; i < arguments.length; i++) {
- var source = arguments[i]
-
- for (var key in source) {
- if (hasOwnProperty.call(source, key)) {
- target[key] = source[key]
- }
- }
- }
-
- return target
-}
diff --git a/node_modules/xtend/mutable.js b/node_modules/xtend/mutable.js
deleted file mode 100644
index 72debed..0000000
--- a/node_modules/xtend/mutable.js
+++ /dev/null
@@ -1,17 +0,0 @@
-module.exports = extend
-
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-function extend(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i]
-
- for (var key in source) {
- if (hasOwnProperty.call(source, key)) {
- target[key] = source[key]
- }
- }
- }
-
- return target
-}
diff --git a/node_modules/xtend/package.json b/node_modules/xtend/package.json
deleted file mode 100644
index 00ef22d..0000000
--- a/node_modules/xtend/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "_from": "xtend@^4.0.0",
- "_id": "xtend@4.0.2",
- "_inBundle": false,
- "_integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "_location": "/xtend",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "xtend@^4.0.0",
- "name": "xtend",
- "escapedName": "xtend",
- "rawSpec": "^4.0.0",
- "saveSpec": null,
- "fetchSpec": "^4.0.0"
- },
- "_requiredBy": [
- "/xhr"
- ],
- "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "_shasum": "bb72779f5fa465186b1f438f674fa347fdb5db54",
- "_spec": "xtend@^4.0.0",
- "_where": "/var/vagrant/ilias_5-4/ilias/Customizing/global/plugins/Modules/Cloud/CloudHook/OneDrive/node_modules/xhr",
- "author": {
- "name": "Raynos",
- "email": "raynos2@gmail.com"
- },
- "bugs": {
- "url": "https://github.com/Raynos/xtend/issues",
- "email": "raynos2@gmail.com"
- },
- "bundleDependencies": false,
- "contributors": [
- {
- "name": "Jake Verbaten"
- },
- {
- "name": "Matt Esch"
- }
- ],
- "dependencies": {},
- "deprecated": false,
- "description": "extend like a boss",
- "devDependencies": {
- "tape": "~1.1.0"
- },
- "engines": {
- "node": ">=0.4"
- },
- "homepage": "https://github.com/Raynos/xtend",
- "keywords": [
- "extend",
- "merge",
- "options",
- "opts",
- "object",
- "array"
- ],
- "license": "MIT",
- "main": "immutable",
- "name": "xtend",
- "repository": {
- "type": "git",
- "url": "git://github.com/Raynos/xtend.git"
- },
- "scripts": {
- "test": "node test"
- },
- "testling": {
- "files": "test.js",
- "browsers": [
- "ie/7..latest",
- "firefox/16..latest",
- "firefox/nightly",
- "chrome/22..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest"
- ]
- },
- "version": "4.0.2"
-}
diff --git a/node_modules/xtend/test.js b/node_modules/xtend/test.js
deleted file mode 100644
index b895b42..0000000
--- a/node_modules/xtend/test.js
+++ /dev/null
@@ -1,103 +0,0 @@
-var test = require("tape")
-var extend = require("./")
-var mutableExtend = require("./mutable")
-
-test("merge", function(assert) {
- var a = { a: "foo" }
- var b = { b: "bar" }
-
- assert.deepEqual(extend(a, b), { a: "foo", b: "bar" })
- assert.end()
-})
-
-test("replace", function(assert) {
- var a = { a: "foo" }
- var b = { a: "bar" }
-
- assert.deepEqual(extend(a, b), { a: "bar" })
- assert.end()
-})
-
-test("undefined", function(assert) {
- var a = { a: undefined }
- var b = { b: "foo" }
-
- assert.deepEqual(extend(a, b), { a: undefined, b: "foo" })
- assert.deepEqual(extend(b, a), { a: undefined, b: "foo" })
- assert.end()
-})
-
-test("handle 0", function(assert) {
- var a = { a: "default" }
- var b = { a: 0 }
-
- assert.deepEqual(extend(a, b), { a: 0 })
- assert.deepEqual(extend(b, a), { a: "default" })
- assert.end()
-})
-
-test("is immutable", function (assert) {
- var record = {}
-
- extend(record, { foo: "bar" })
- assert.equal(record.foo, undefined)
- assert.end()
-})
-
-test("null as argument", function (assert) {
- var a = { foo: "bar" }
- var b = null
- var c = void 0
-
- assert.deepEqual(extend(b, a, c), { foo: "bar" })
- assert.end()
-})
-
-test("mutable", function (assert) {
- var a = { foo: "bar" }
-
- mutableExtend(a, { bar: "baz" })
-
- assert.equal(a.bar, "baz")
- assert.end()
-})
-
-test("null prototype", function(assert) {
- var a = { a: "foo" }
- var b = Object.create(null)
- b.b = "bar";
-
- assert.deepEqual(extend(a, b), { a: "foo", b: "bar" })
- assert.end()
-})
-
-test("null prototype mutable", function (assert) {
- var a = { foo: "bar" }
- var b = Object.create(null)
- b.bar = "baz";
-
- mutableExtend(a, b)
-
- assert.equal(a.bar, "baz")
- assert.end()
-})
-
-test("prototype pollution", function (assert) {
- var a = {}
- var maliciousPayload = '{"__proto__":{"oops":"It works!"}}'
-
- assert.strictEqual(a.oops, undefined)
- extend({}, maliciousPayload)
- assert.strictEqual(a.oops, undefined)
- assert.end()
-})
-
-test("prototype pollution mutable", function (assert) {
- var a = {}
- var maliciousPayload = '{"__proto__":{"oops":"It works!"}}'
-
- assert.strictEqual(a.oops, undefined)
- mutableExtend({}, maliciousPayload)
- assert.strictEqual(a.oops, undefined)
- assert.end()
-})
diff --git a/package-lock.json b/package-lock.json
index bdd6e0a..a0aa9f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,102 +1,75 @@
{
"name": "srag.plugins.onedrive",
+ "lockfileVersion": 2,
"requires": true,
- "lockfileVersion": 1,
- "dependencies": {
- "@mux/upchunk": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@mux/upchunk/-/upchunk-2.2.0.tgz",
- "integrity": "sha512-z2tJH6yhpFe5Yz97ynI7BcGMq04yn5rRnS7nbXhq6Y58fgts9UKnsa6KDXsQq/yCbg+ImlgzoHXV0XNnF/bA2g==",
- "requires": {
- "event-target-shim": "^4.0.3",
- "xhr": "^2.6.0"
+ "packages": {
+ "": {
+ "name": "srag.plugins.onedrive",
+ "license": "GPL-3.0-only",
+ "dependencies": {
+ "blueimp-file-upload": "^10.31.0"
}
},
- "blueimp-canvas-to-blob": {
+ "node_modules/blueimp-canvas-to-blob": {
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.28.0.tgz",
"integrity": "sha512-5q+YHzgGsuHQ01iouGgJaPJXod2AzTxJXmVv90PpGrRxU7G7IqgPqWXz+PBmt3520jKKi6irWbNV87DicEa7wg==",
"optional": true
},
- "blueimp-file-upload": {
+ "node_modules/blueimp-file-upload": {
"version": "10.31.0",
"resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-10.31.0.tgz",
"integrity": "sha512-dGAxOf9+SsMDvZPTsIUpe0cOk57taMJYE3FocHEUebhn5BnDbu1hcWOmrP8oswIe6V61Qcm9UDuhq/Pv1t/eRw==",
- "requires": {
+ "optionalDependencies": {
"blueimp-canvas-to-blob": "3",
"blueimp-load-image": "5",
"blueimp-tmpl": "3"
}
},
- "blueimp-load-image": {
+ "node_modules/blueimp-load-image": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.14.0.tgz",
"integrity": "sha512-g5l+4dCOESBG8HkPLdGnBx8dhEwpQHaOZ0en623sl54o3bGhGMLYGc54L5cWfGmPvfKUjbsY7LOAmcW/xlkBSA==",
"optional": true
},
- "blueimp-tmpl": {
+ "node_modules/blueimp-tmpl": {
"version": "3.19.0",
"resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.19.0.tgz",
"integrity": "sha512-v8/Vge6U3uwlAjO9TxeHoYl77C1GJDZBN45pUp+39WyHU/VRzYbnGDhRNYvcT6Lh8jihVsXNZttnDpnYVA4m9w==",
- "optional": true
- },
- "dom-walk": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
- },
- "event-target-shim": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-4.0.3.tgz",
- "integrity": "sha512-YXVJDPGzU0yhSzrXGoEFAByEaLnZXSlJDHXkq4Hp6WrlnV66tADiZugYf1utTaCP/dsYRcLndAhecbq9mnbbqg=="
- },
- "global": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
- "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
- "requires": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
+ "optional": true,
+ "bin": {
+ "tmpl.js": "js/compile.js"
}
+ }
+ },
+ "dependencies": {
+ "blueimp-canvas-to-blob": {
+ "version": "3.28.0",
+ "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.28.0.tgz",
+ "integrity": "sha512-5q+YHzgGsuHQ01iouGgJaPJXod2AzTxJXmVv90PpGrRxU7G7IqgPqWXz+PBmt3520jKKi6irWbNV87DicEa7wg==",
+ "optional": true
},
- "is-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
- "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "blueimp-file-upload": {
+ "version": "10.31.0",
+ "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-10.31.0.tgz",
+ "integrity": "sha512-dGAxOf9+SsMDvZPTsIUpe0cOk57taMJYE3FocHEUebhn5BnDbu1hcWOmrP8oswIe6V61Qcm9UDuhq/Pv1t/eRw==",
"requires": {
- "dom-walk": "^0.1.0"
+ "blueimp-canvas-to-blob": "3",
+ "blueimp-load-image": "5",
+ "blueimp-tmpl": "3"
}
},
- "parse-headers": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
- "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
- },
- "xhr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
- "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
- "requires": {
- "global": "~4.4.0",
- "is-function": "^1.0.1",
- "parse-headers": "^2.0.0",
- "xtend": "^4.0.0"
- }
+ "blueimp-load-image": {
+ "version": "5.14.0",
+ "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.14.0.tgz",
+ "integrity": "sha512-g5l+4dCOESBG8HkPLdGnBx8dhEwpQHaOZ0en623sl54o3bGhGMLYGc54L5cWfGmPvfKUjbsY7LOAmcW/xlkBSA==",
+ "optional": true
},
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ "blueimp-tmpl": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.19.0.tgz",
+ "integrity": "sha512-v8/Vge6U3uwlAjO9TxeHoYl77C1GJDZBN45pUp+39WyHU/VRzYbnGDhRNYvcT6Lh8jihVsXNZttnDpnYVA4m9w==",
+ "optional": true
}
}
}
diff --git a/package.json b/package.json
index affa97f..8217911 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,6 @@
"url": "https://plugins.studer-raimann.ch/goto.php?target=uihk_srsu_PLONEDRIVE"
},
"dependencies": {
- "@mux/upchunk": "^2.2.0",
"blueimp-file-upload": "^10.31.0"
},
"private": true
diff --git a/src/EventLog/EventLogEntryAR.php b/src/EventLog/EventLogEntryAR.php
index 2d57e8a..1a23de6 100644
--- a/src/EventLog/EventLogEntryAR.php
+++ b/src/EventLog/EventLogEntryAR.php
@@ -54,7 +54,7 @@ class EventLogEntryAR extends ActiveRecord
* @con_is_notnull true
* @con_length 64
*/
- protected $object_name;
+ protected $path;
/**
* @var ObjectType
* @con_is_unique true
@@ -64,15 +64,6 @@ class EventLogEntryAR extends ActiveRecord
* @con_length 64
*/
protected $object_type;
- /**
- * @var string
- * @con_is_unique true
- * @con_has_field true
- * @con_fieldtype text
- * @con_is_notnull true
- * @con_length 512
- */
- protected $parent;
/**
* @var array
* @con_is_unique true
@@ -125,17 +116,17 @@ public function setUserId(int $user_id)
/**
* @return string
*/
- public function getObjectName() : string
+ public function getPath() : string
{
- return $this->object_name;
+ return $this->path;
}
/**
- * @param string $object_name
+ * @param string $path
*/
- public function setObjectName(string $object_name)
+ public function setPath(string $path)
{
- $this->object_name = $object_name;
+ $this->path = $path;
}
/**
@@ -154,22 +145,6 @@ public function setObjectType(ObjectType $object_type)
$this->object_type = $object_type;
}
- /**
- * @return string
- */
- public function getParent() : string
- {
- return $this->parent;
- }
-
- /**
- * @param string $parent
- */
- public function setParent(string $parent)
- {
- $this->parent = $parent;
- }
-
/**
* @return array
*/
diff --git a/src/EventLog/EventLogger.php b/src/EventLog/EventLogger.php
index 779402c..cf18595 100644
--- a/src/EventLog/EventLogger.php
+++ b/src/EventLog/EventLogger.php
@@ -9,78 +9,69 @@ class EventLogger
{
public static function logUploadStarted(
int $user_id,
- string $file_name,
- string $parent
+ string $file_path,
) {
self::log(
$user_id,
EventType::uploadStarted(),
- $file_name,
+ $file_path,
ObjectType::file(),
- $parent,
[]
);
}
public static function logUploadComplete(
int $user_id,
- string $file_name,
- string $parent
+ string $file_path
) {
self::log(
$user_id,
EventType::uploadComplete(),
- $file_name,
+ $file_path,
ObjectType::file(),
- $parent,
[]
);
}
public static function logUploadAborted(
int $user_id,
- string $file_name,
+ string $file_path,
string $parent
) {
self::log(
$user_id,
EventType::uploadAborted(),
- $file_name,
+ $file_path,
ObjectType::file(),
- $parent,
[]
);
}
public static function logObjectDeleted(
int $user_id,
- string $object_name,
- ObjectType $object_type,
- string $parent
+ string $object_path,
+ ObjectType $object_type
) {
self::log(
$user_id,
EventType::uploadAborted(),
- $object_name,
+ $object_path,
$object_type,
- $parent,
[]
);
}
public static function logObjectRenamed(
int $user_id,
- string $object_name_old,
+ string $object_path_old,
string $object_name_new,
- ObjectType $object_type,
- string $parent
+ ObjectType $object_type
) {
self::log(
$user_id,
EventType::uploadAborted(),
- $object_name_old,
+ $object_path_old,
$object_type,
- $parent,
['new_name' => $object_name_new]
);
}
@@ -88,18 +79,16 @@ public static function logObjectRenamed(
protected static function log(
int $user_id,
EventType $event_type,
- string $object_name,
+ string $object_path,
ObjectType $object_type,
- string $parent,
array $additional_data
) {
$entry = new EventLogEntryAR();
$entry->setTimestamp(date('Y-m-d H:i:s', time()));
$entry->setEventType($event_type);
$entry->setUserId($user_id);
- $entry->setObjectName($object_name);
+ $entry->setPath($object_path);
$entry->setObjectType($object_type);
- $entry->setParent($parent);
$entry->setAdditionalData($additional_data);
$entry->create();
}
diff --git a/src/EventLog/ObjectType.php b/src/EventLog/ObjectType.php
index 772c41e..f7b7377 100644
--- a/src/EventLog/ObjectType.php
+++ b/src/EventLog/ObjectType.php
@@ -2,6 +2,9 @@
namespace srag\Plugins\OneDrive\EventLog;
use ilCloudException;
+use exodItem;
+use exodFile;
+use exodFolder;
/**
* Class ObjectType
@@ -46,7 +49,7 @@ public static function folder() : self
* @return ObjectType
* @throws ilCloudException
*/
- public static function fromValue(string $type)
+ public static function fromValue(string $type) : self
{
if (!in_array($type, self::$types)) {
throw new ilCloudException('OneDrive EventLog: unknown object type "' . $type . '"');
@@ -54,6 +57,22 @@ public static function fromValue(string $type)
return new self($type);
}
+ /**
+ * @param exodItem $item
+ * @return static
+ * @throws ilCloudException
+ */
+ public static function fromExodItem(exodItem $item) : self
+ {
+ if ($item instanceof exodFile) {
+ return self::file();
+ }
+ if ($item instanceof exodFolder) {
+ return self::folder();
+ }
+ throw new ilCloudException('OneDrive EventLog: unknown item type "' . get_class($item) . '"');
+ }
+
public function value() : string
{
return $this->type;