mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	Changed alot of things.
This commit is contained in:
		
							parent
							
								
									a5a0523e5a
								
							
						
					
					
						commit
						3513d5390c
					
				
					 2016 changed files with 336930 additions and 9 deletions
				
			
		
							
								
								
									
										1
									
								
								node_modules/side-channel/.eslintignore
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/side-channel/.eslintignore
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| coverage/ | ||||
							
								
								
									
										11
									
								
								node_modules/side-channel/.eslintrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/side-channel/.eslintrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { | ||||
| 	"root": true, | ||||
| 
 | ||||
| 	"extends": "@ljharb", | ||||
| 
 | ||||
| 	"rules": { | ||||
| 		"max-lines-per-function": 0, | ||||
| 		"max-params": 0, | ||||
| 		"new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], | ||||
| 	}, | ||||
| } | ||||
							
								
								
									
										12
									
								
								node_modules/side-channel/.github/FUNDING.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								node_modules/side-channel/.github/FUNDING.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| # These are supported funding model platforms | ||||
| 
 | ||||
| github: [ljharb] | ||||
| patreon: # Replace with a single Patreon username | ||||
| open_collective: # Replace with a single Open Collective username | ||||
| ko_fi: # Replace with a single Ko-fi username | ||||
| tidelift: npm/side-channel | ||||
| community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry | ||||
| liberapay: # Replace with a single Liberapay username | ||||
| issuehunt: # Replace with a single IssueHunt username | ||||
| otechie: # Replace with a single Otechie username | ||||
| custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] | ||||
							
								
								
									
										13
									
								
								node_modules/side-channel/.nycrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								node_modules/side-channel/.nycrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| { | ||||
| 	"all": true, | ||||
| 	"check-coverage": false, | ||||
| 	"reporter": ["text-summary", "text", "html", "json"], | ||||
| 	"lines": 86, | ||||
| 	"statements": 85.93, | ||||
| 	"functions": 82.43, | ||||
| 	"branches": 76.06, | ||||
| 	"exclude": [ | ||||
| 		"coverage", | ||||
| 		"test" | ||||
| 	] | ||||
| } | ||||
							
								
								
									
										65
									
								
								node_modules/side-channel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								node_modules/side-channel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | |||
| # Changelog | ||||
| 
 | ||||
| All notable changes to this project will be documented in this file. | ||||
| 
 | ||||
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) | ||||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||||
| 
 | ||||
| ## [v1.0.4](https://github.com/ljharb/side-channel/compare/v1.0.3...v1.0.4) - 2020-12-29 | ||||
| 
 | ||||
| ### Commits | ||||
| 
 | ||||
| - [Tests] migrate tests to Github Actions [`10909cb`](https://github.com/ljharb/side-channel/commit/10909cbf8ce9c0bf96f604cf13d7ffd5a22c2d40) | ||||
| - [Refactor] Use a linked list rather than an array, and move accessed nodes to the beginning [`195613f`](https://github.com/ljharb/side-channel/commit/195613f28b5c1e6072ef0b61b5beebaf2b6a304e) | ||||
| - [meta] do not publish github action workflow files [`290ec29`](https://github.com/ljharb/side-channel/commit/290ec29cd21a60585145b4a7237ec55228c52c27) | ||||
| - [Tests] run `nyc` on all tests; use `tape` runner [`ea6d030`](https://github.com/ljharb/side-channel/commit/ea6d030ff3fe6be2eca39e859d644c51ecd88869) | ||||
| - [actions] add "Allow Edits" workflow [`d464d8f`](https://github.com/ljharb/side-channel/commit/d464d8fe52b5eddf1504a0ed97f0941a90f32c15) | ||||
| - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog` [`02daca8`](https://github.com/ljharb/side-channel/commit/02daca87c6809821c97be468d1afa2f5ef447383) | ||||
| - [Refactor] use `call-bind` and `get-intrinsic` instead of `es-abstract` [`e09d481`](https://github.com/ljharb/side-channel/commit/e09d481528452ebafa5cdeae1af665c35aa2deee) | ||||
| - [Deps] update `object.assign` [`ee83aa8`](https://github.com/ljharb/side-channel/commit/ee83aa81df313b5e46319a63adb05cf0c179079a) | ||||
| - [actions] update rebase action to use checkout v2 [`7726b0b`](https://github.com/ljharb/side-channel/commit/7726b0b058b632fccea709f58960871defaaa9d7) | ||||
| 
 | ||||
| ## [v1.0.3](https://github.com/ljharb/side-channel/compare/v1.0.2...v1.0.3) - 2020-08-23 | ||||
| 
 | ||||
| ### Commits | ||||
| 
 | ||||
| - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`1f10561`](https://github.com/ljharb/side-channel/commit/1f105611ef3acf32dec8032ae5c0baa5e56bb868) | ||||
| - [Deps] update `es-abstract`, `object-inspect` [`bc20159`](https://github.com/ljharb/side-channel/commit/bc201597949a505e37cef9eaf24c7010831e6f03) | ||||
| - [Dev Deps] update `@ljharb/eslint-config`, `tape` [`b9b2b22`](https://github.com/ljharb/side-channel/commit/b9b2b225f9e0ea72a6ec2b89348f0bd690bc9ed1) | ||||
| - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`7055ab4`](https://github.com/ljharb/side-channel/commit/7055ab4de0860606efd2003674a74f1fe6ebc07e) | ||||
| - [Dev Deps] update `auto-changelog`; add `aud` [`d278c37`](https://github.com/ljharb/side-channel/commit/d278c37d08227be4f84aa769fcd919e73feeba40) | ||||
| - [actions] switch Automatic Rebase workflow to `pull_request_target` event [`3bcf982`](https://github.com/ljharb/side-channel/commit/3bcf982faa122745b39c33ce83d32fdf003741c6) | ||||
| - [Tests] only audit prod deps [`18d01c4`](https://github.com/ljharb/side-channel/commit/18d01c4015b82a3d75044c4d5ba7917b2eac01ec) | ||||
| - [Deps] update `es-abstract` [`6ab096d`](https://github.com/ljharb/side-channel/commit/6ab096d9de2b482cf5e0717e34e212f5b2b9bc9a) | ||||
| - [Dev Deps] update `tape` [`9dc174c`](https://github.com/ljharb/side-channel/commit/9dc174cc651dfd300b4b72da936a0a7eda5f9452) | ||||
| - [Deps] update `es-abstract` [`431d0f0`](https://github.com/ljharb/side-channel/commit/431d0f0ff11fbd2ae6f3115582a356d3a1cfce82) | ||||
| - [Deps] update `es-abstract` [`49869fd`](https://github.com/ljharb/side-channel/commit/49869fd323bf4453f0ba515c0fb265cf5ab7b932) | ||||
| - [meta] Add package.json to package's exports [`77d9cdc`](https://github.com/ljharb/side-channel/commit/77d9cdceb2a9e47700074f2ae0c0a202e7dac0d4) | ||||
| 
 | ||||
| ## [v1.0.2](https://github.com/ljharb/side-channel/compare/v1.0.1...v1.0.2) - 2019-12-20 | ||||
| 
 | ||||
| ### Commits | ||||
| 
 | ||||
| - [Dev Deps] update `@ljharb/eslint-config`, `tape` [`4a526df`](https://github.com/ljharb/side-channel/commit/4a526df44e4701566ed001ec78546193f818b082) | ||||
| - [Deps] update `es-abstract` [`d4f6e62`](https://github.com/ljharb/side-channel/commit/d4f6e629b6fb93a07415db7f30d3c90fd7f264fe) | ||||
| 
 | ||||
| ## [v1.0.1](https://github.com/ljharb/side-channel/compare/v1.0.0...v1.0.1) - 2019-12-01 | ||||
| 
 | ||||
| ### Commits | ||||
| 
 | ||||
| - [Fix] add missing "exports" [`d212907`](https://github.com/ljharb/side-channel/commit/d2129073abf0701a5343bf28aa2145617604dc2e) | ||||
| 
 | ||||
| ## v1.0.0 - 2019-12-01 | ||||
| 
 | ||||
| ### Commits | ||||
| 
 | ||||
| - Initial implementation [`dbebd3a`](https://github.com/ljharb/side-channel/commit/dbebd3a4b5ed64242f9a6810efe7c4214cd8cde4) | ||||
| - Initial tests [`73bdefe`](https://github.com/ljharb/side-channel/commit/73bdefe568c9076cf8c0b8719bc2141aec0e19b8) | ||||
| - Initial commit [`43c03e1`](https://github.com/ljharb/side-channel/commit/43c03e1c2849ec50a87b7a5cd76238a62b0b8770) | ||||
| - npm init [`5c090a7`](https://github.com/ljharb/side-channel/commit/5c090a765d66a5527d9889b89aeff78dee91348c) | ||||
| - [meta] add `auto-changelog` [`a5c4e56`](https://github.com/ljharb/side-channel/commit/a5c4e5675ec02d5eb4d84b4243aeea2a1d38fbec) | ||||
| - [actions] add automatic rebasing / merge commit blocking [`bab1683`](https://github.com/ljharb/side-channel/commit/bab1683d8f9754b086e94397699fdc645e0d7077) | ||||
| - [meta] add `funding` field; create FUNDING.yml [`63d7aea`](https://github.com/ljharb/side-channel/commit/63d7aeaf34f5650650ae97ca4b9fae685bd0937c) | ||||
| - [Tests] add `npm run lint` [`46a5a81`](https://github.com/ljharb/side-channel/commit/46a5a81705cd2664f83df232c01dbbf2ee952885) | ||||
| - Only apps should have lockfiles [`8b16b03`](https://github.com/ljharb/side-channel/commit/8b16b0305f00895d90c4e2e5773c854cfea0e448) | ||||
| - [meta] add `safe-publish-latest` [`2f098ef`](https://github.com/ljharb/side-channel/commit/2f098ef092a39399cfe548b19a1fc03c2fd2f490) | ||||
							
								
								
									
										21
									
								
								node_modules/side-channel/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/side-channel/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| MIT License | ||||
| 
 | ||||
| Copyright (c) 2019 Jordan Harband | ||||
| 
 | ||||
| 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. | ||||
							
								
								
									
										2
									
								
								node_modules/side-channel/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/side-channel/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| # side-channel | ||||
| Store information about any JS value in a side channel. Uses WeakMap if available. | ||||
							
								
								
									
										124
									
								
								node_modules/side-channel/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								node_modules/side-channel/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,124 @@ | |||
| 'use strict'; | ||||
| 
 | ||||
| var GetIntrinsic = require('get-intrinsic'); | ||||
| var callBound = require('call-bind/callBound'); | ||||
| var inspect = require('object-inspect'); | ||||
| 
 | ||||
| var $TypeError = GetIntrinsic('%TypeError%'); | ||||
| var $WeakMap = GetIntrinsic('%WeakMap%', true); | ||||
| var $Map = GetIntrinsic('%Map%', true); | ||||
| 
 | ||||
| var $weakMapGet = callBound('WeakMap.prototype.get', true); | ||||
| var $weakMapSet = callBound('WeakMap.prototype.set', true); | ||||
| var $weakMapHas = callBound('WeakMap.prototype.has', true); | ||||
| var $mapGet = callBound('Map.prototype.get', true); | ||||
| var $mapSet = callBound('Map.prototype.set', true); | ||||
| var $mapHas = callBound('Map.prototype.has', true); | ||||
| 
 | ||||
| /* | ||||
|  * This function traverses the list returning the node corresponding to the | ||||
|  * given key. | ||||
|  * | ||||
|  * That node is also moved to the head of the list, so that if it's accessed | ||||
|  * again we don't need to traverse the whole list. By doing so, all the recently | ||||
|  * used nodes can be accessed relatively quickly. | ||||
|  */ | ||||
| var listGetNode = function (list, key) { // eslint-disable-line consistent-return
 | ||||
| 	for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { | ||||
| 		if (curr.key === key) { | ||||
| 			prev.next = curr.next; | ||||
| 			curr.next = list.next; | ||||
| 			list.next = curr; // eslint-disable-line no-param-reassign
 | ||||
| 			return curr; | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| var listGet = function (objects, key) { | ||||
| 	var node = listGetNode(objects, key); | ||||
| 	return node && node.value; | ||||
| }; | ||||
| var listSet = function (objects, key, value) { | ||||
| 	var node = listGetNode(objects, key); | ||||
| 	if (node) { | ||||
| 		node.value = value; | ||||
| 	} else { | ||||
| 		// Prepend the new node to the beginning of the list
 | ||||
| 		objects.next = { // eslint-disable-line no-param-reassign
 | ||||
| 			key: key, | ||||
| 			next: objects.next, | ||||
| 			value: value | ||||
| 		}; | ||||
| 	} | ||||
| }; | ||||
| var listHas = function (objects, key) { | ||||
| 	return !!listGetNode(objects, key); | ||||
| }; | ||||
| 
 | ||||
| module.exports = function getSideChannel() { | ||||
| 	var $wm; | ||||
| 	var $m; | ||||
| 	var $o; | ||||
| 	var channel = { | ||||
| 		assert: function (key) { | ||||
| 			if (!channel.has(key)) { | ||||
| 				throw new $TypeError('Side channel does not contain ' + inspect(key)); | ||||
| 			} | ||||
| 		}, | ||||
| 		get: function (key) { // eslint-disable-line consistent-return
 | ||||
| 			if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { | ||||
| 				if ($wm) { | ||||
| 					return $weakMapGet($wm, key); | ||||
| 				} | ||||
| 			} else if ($Map) { | ||||
| 				if ($m) { | ||||
| 					return $mapGet($m, key); | ||||
| 				} | ||||
| 			} else { | ||||
| 				if ($o) { // eslint-disable-line no-lonely-if
 | ||||
| 					return listGet($o, key); | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		has: function (key) { | ||||
| 			if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { | ||||
| 				if ($wm) { | ||||
| 					return $weakMapHas($wm, key); | ||||
| 				} | ||||
| 			} else if ($Map) { | ||||
| 				if ($m) { | ||||
| 					return $mapHas($m, key); | ||||
| 				} | ||||
| 			} else { | ||||
| 				if ($o) { // eslint-disable-line no-lonely-if
 | ||||
| 					return listHas($o, key); | ||||
| 				} | ||||
| 			} | ||||
| 			return false; | ||||
| 		}, | ||||
| 		set: function (key, value) { | ||||
| 			if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { | ||||
| 				if (!$wm) { | ||||
| 					$wm = new $WeakMap(); | ||||
| 				} | ||||
| 				$weakMapSet($wm, key, value); | ||||
| 			} else if ($Map) { | ||||
| 				if (!$m) { | ||||
| 					$m = new $Map(); | ||||
| 				} | ||||
| 				$mapSet($m, key, value); | ||||
| 			} else { | ||||
| 				if (!$o) { | ||||
| 					/* | ||||
| 					 * Initialize the linked list as an empty node, so that we don't have | ||||
| 					 * to special-case handling of the first node: we can always refer to | ||||
| 					 * it as (previous node).next, instead of something like (list).head | ||||
| 					 */ | ||||
| 					$o = { key: {}, next: null }; | ||||
| 				} | ||||
| 				listSet($o, key, value); | ||||
| 			} | ||||
| 		} | ||||
| 	}; | ||||
| 	return channel; | ||||
| }; | ||||
							
								
								
									
										67
									
								
								node_modules/side-channel/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								node_modules/side-channel/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,67 @@ | |||
| { | ||||
| 	"name": "side-channel", | ||||
| 	"version": "1.0.4", | ||||
| 	"description": "Store information about any JS value in a side channel. Uses WeakMap if available.", | ||||
| 	"main": "index.js", | ||||
| 	"exports": { | ||||
| 		"./package.json": "./package.json", | ||||
| 		".": [ | ||||
| 			{ | ||||
| 				"default": "./index.js" | ||||
| 			}, | ||||
| 			"./index.js" | ||||
| 		] | ||||
| 	}, | ||||
| 	"scripts": { | ||||
| 		"prepublish": "safe-publish-latest", | ||||
| 		"lint": "eslint .", | ||||
| 		"pretest": "npm run lint", | ||||
| 		"tests-only": "nyc tape 'test/**/*.js'", | ||||
| 		"test": "npm run tests-only", | ||||
| 		"posttest": "npx aud --production", | ||||
| 		"version": "auto-changelog && git add CHANGELOG.md", | ||||
| 		"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" | ||||
| 	}, | ||||
| 	"repository": { | ||||
| 		"type": "git", | ||||
| 		"url": "git+https://github.com/ljharb/side-channel.git" | ||||
| 	}, | ||||
| 	"keywords": [ | ||||
| 		"weakmap", | ||||
| 		"map", | ||||
| 		"side", | ||||
| 		"channel", | ||||
| 		"metadata" | ||||
| 	], | ||||
| 	"author": "Jordan Harband <ljharb@gmail.com>", | ||||
| 	"funding": { | ||||
| 		"url": "https://github.com/sponsors/ljharb" | ||||
| 	}, | ||||
| 	"license": "MIT", | ||||
| 	"bugs": { | ||||
| 		"url": "https://github.com/ljharb/side-channel/issues" | ||||
| 	}, | ||||
| 	"homepage": "https://github.com/ljharb/side-channel#readme", | ||||
| 	"devDependencies": { | ||||
| 		"@ljharb/eslint-config": "^17.3.0", | ||||
| 		"aud": "^1.1.3", | ||||
| 		"auto-changelog": "^2.2.1", | ||||
| 		"eslint": "^7.16.0", | ||||
| 		"nyc": "^10.3.2", | ||||
| 		"safe-publish-latest": "^1.1.4", | ||||
| 		"tape": "^5.0.1" | ||||
| 	}, | ||||
| 	"dependencies": { | ||||
| 		"call-bind": "^1.0.0", | ||||
| 		"get-intrinsic": "^1.0.2", | ||||
| 		"object-inspect": "^1.9.0" | ||||
| 	}, | ||||
| 	"auto-changelog": { | ||||
| 		"output": "CHANGELOG.md", | ||||
| 		"template": "keepachangelog", | ||||
| 		"unreleased": false, | ||||
| 		"commitLimit": false, | ||||
| 		"backfillLimit": false, | ||||
| 		"hideCredit": true | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										78
									
								
								node_modules/side-channel/test/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								node_modules/side-channel/test/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,78 @@ | |||
| 'use strict'; | ||||
| 
 | ||||
| var test = require('tape'); | ||||
| 
 | ||||
| var getSideChannel = require('../'); | ||||
| 
 | ||||
| test('export', function (t) { | ||||
| 	t.equal(typeof getSideChannel, 'function', 'is a function'); | ||||
| 	t.equal(getSideChannel.length, 0, 'takes no arguments'); | ||||
| 
 | ||||
| 	var channel = getSideChannel(); | ||||
| 	t.ok(channel, 'is truthy'); | ||||
| 	t.equal(typeof channel, 'object', 'is an object'); | ||||
| 
 | ||||
| 	t.end(); | ||||
| }); | ||||
| 
 | ||||
| test('assert', function (t) { | ||||
| 	var channel = getSideChannel(); | ||||
| 	t['throws']( | ||||
| 		function () { channel.assert({}); }, | ||||
| 		TypeError, | ||||
| 		'nonexistent value throws' | ||||
| 	); | ||||
| 
 | ||||
| 	var o = {}; | ||||
| 	channel.set(o, 'data'); | ||||
| 	t.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); | ||||
| 
 | ||||
| 	t.end(); | ||||
| }); | ||||
| 
 | ||||
| test('has', function (t) { | ||||
| 	var channel = getSideChannel(); | ||||
| 	var o = []; | ||||
| 
 | ||||
| 	t.equal(channel.has(o), false, 'nonexistent value yields false'); | ||||
| 
 | ||||
| 	channel.set(o, 'foo'); | ||||
| 	t.equal(channel.has(o), true, 'existent value yields true'); | ||||
| 
 | ||||
| 	t.end(); | ||||
| }); | ||||
| 
 | ||||
| test('get', function (t) { | ||||
| 	var channel = getSideChannel(); | ||||
| 	var o = {}; | ||||
| 	t.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); | ||||
| 
 | ||||
| 	var data = {}; | ||||
| 	channel.set(o, data); | ||||
| 	t.equal(channel.get(o), data, '"get" yields data set by "set"'); | ||||
| 
 | ||||
| 	t.end(); | ||||
| }); | ||||
| 
 | ||||
| test('set', function (t) { | ||||
| 	var channel = getSideChannel(); | ||||
| 	var o = function () {}; | ||||
| 	t.equal(channel.get(o), undefined, 'value not set'); | ||||
| 
 | ||||
| 	channel.set(o, 42); | ||||
| 	t.equal(channel.get(o), 42, 'value was set'); | ||||
| 
 | ||||
| 	channel.set(o, Infinity); | ||||
| 	t.equal(channel.get(o), Infinity, 'value was set again'); | ||||
| 
 | ||||
| 	var o2 = {}; | ||||
| 	channel.set(o2, 17); | ||||
| 	t.equal(channel.get(o), Infinity, 'o is not modified'); | ||||
| 	t.equal(channel.get(o2), 17, 'o2 is set'); | ||||
| 
 | ||||
| 	channel.set(o, 14); | ||||
| 	t.equal(channel.get(o), 14, 'o is modified'); | ||||
| 	t.equal(channel.get(o2), 17, 'o2 is not modified'); | ||||
| 
 | ||||
| 	t.end(); | ||||
| }); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue