mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-09-18 20:17:20 +00:00
push all website files
This commit is contained in:
120
website/functions/node_modules/power-assert-context-reducer-ast/README.md
generated
vendored
Normal file
120
website/functions/node_modules/power-assert-context-reducer-ast/README.md
generated
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
[![power-assert][power-assert-banner]][power-assert-url]
|
||||
|
||||
[![Build Status][travis-image]][travis-url]
|
||||
[![NPM version][npm-image]][npm-url]
|
||||
[![License][license-image]][license-url]
|
||||
|
||||
|
||||
`powerAssertContext` reducer function to parse assertion expression at runtime.
|
||||
|
||||
Use this function when transpiler side does not add `ast`, `tokens` and `visitorKeys` at compile time.
|
||||
|
||||
|
||||
API
|
||||
---------------------------------------
|
||||
|
||||
### var appendAst = require('power-assert-context-reducer-ast');
|
||||
### var appendedContext = appendAst(powerAssertContext);
|
||||
|
||||
Given `powerAssertContext` object, having structure below but does not have `ast`, `tokens` and `visitorKeys`, append them to output context.
|
||||
|
||||
|
||||
input:
|
||||
```js
|
||||
{
|
||||
source: {
|
||||
content: 'assert(foo === bar)',
|
||||
filepath: 'test/some_test.js',
|
||||
line: 1
|
||||
},
|
||||
args: [
|
||||
{
|
||||
value: false,
|
||||
events: [
|
||||
{
|
||||
value: "FOO",
|
||||
espath: "arguments/0/left"
|
||||
},
|
||||
{
|
||||
value: "BAR",
|
||||
espath: "arguments/0/right"
|
||||
},
|
||||
{
|
||||
value: false,
|
||||
espath: "arguments/0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
output:
|
||||
|
||||
```js
|
||||
{
|
||||
source: {
|
||||
content: 'assert(foo === bar)',
|
||||
filepath: 'test/some_test.js',
|
||||
line: 1,
|
||||
ast: '### JSON representation of AST nodes ###',
|
||||
tokens: '### JSON representation of AST tokens ###',
|
||||
visitorKeys: '### JSON representation of AST visitor keys ###'
|
||||
},
|
||||
args: [
|
||||
{
|
||||
value: false,
|
||||
events: [
|
||||
{
|
||||
value: "FOO",
|
||||
espath: "arguments/0/left"
|
||||
},
|
||||
{
|
||||
value: "BAR",
|
||||
espath: "arguments/0/right"
|
||||
},
|
||||
{
|
||||
value: false,
|
||||
espath: "arguments/0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
INSTALL
|
||||
---------------------------------------
|
||||
|
||||
```sh
|
||||
$ npm install --save-dev power-assert-context-reducer-ast
|
||||
```
|
||||
|
||||
|
||||
AUTHOR
|
||||
---------------------------------------
|
||||
* [Takuto Wada](https://github.com/twada)
|
||||
|
||||
|
||||
CONTRIBUTORS
|
||||
---------------------------------------
|
||||
* [Haoliang Gao (popomore)](https://github.com/popomore)
|
||||
|
||||
|
||||
LICENSE
|
||||
---------------------------------------
|
||||
Licensed under the [MIT](https://github.com/twada/power-assert-runtime/blob/master/LICENSE) license.
|
||||
|
||||
|
||||
[power-assert-url]: https://github.com/power-assert-js/power-assert
|
||||
[power-assert-banner]: https://raw.githubusercontent.com/power-assert-js/power-assert-js-logo/master/banner/banner-official-fullcolor.png
|
||||
|
||||
[travis-url]: https://travis-ci.org/twada/power-assert-runtime
|
||||
[travis-image]: https://secure.travis-ci.org/twada/power-assert-runtime.svg?branch=master
|
||||
|
||||
[npm-url]: https://npmjs.org/package/power-assert-context-reducer-ast
|
||||
[npm-image]: https://badge.fury.io/js/power-assert-context-reducer-ast.svg
|
||||
|
||||
[license-url]: https://github.com/twada/power-assert-runtime/blob/master/LICENSE
|
||||
[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg
|
118
website/functions/node_modules/power-assert-context-reducer-ast/index.js
generated
vendored
Normal file
118
website/functions/node_modules/power-assert-context-reducer-ast/index.js
generated
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
'use strict';
|
||||
|
||||
var parser = require('acorn');
|
||||
require('acorn-es7-plugin')(parser);
|
||||
var estraverse = require('estraverse');
|
||||
var purifyAst = require('espurify').customize({extra: ['range']});
|
||||
var assign = require('core-js/library/fn/object/assign');
|
||||
|
||||
module.exports = function (powerAssertContext) {
|
||||
var source = powerAssertContext.source;
|
||||
if (source.ast && source.tokens && source.visitorKeys) {
|
||||
return powerAssertContext;
|
||||
}
|
||||
var astAndTokens;
|
||||
try {
|
||||
astAndTokens = parse(source);
|
||||
} catch (e) {
|
||||
return assign({}, powerAssertContext, { source: assign({}, source, { error: e }) });
|
||||
}
|
||||
var newSource = assign({}, source, {
|
||||
ast: purifyAst(astAndTokens.expression),
|
||||
tokens: astAndTokens.tokens,
|
||||
visitorKeys: estraverse.VisitorKeys
|
||||
});
|
||||
return assign({}, powerAssertContext, { source: newSource });
|
||||
};
|
||||
|
||||
function parserOptions(tokens) {
|
||||
return {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2018,
|
||||
locations: true,
|
||||
ranges: false,
|
||||
onToken: tokens,
|
||||
plugins: {asyncawait: true}
|
||||
};
|
||||
}
|
||||
|
||||
function parse (source) {
|
||||
var code = source.content;
|
||||
var ast, tokens;
|
||||
|
||||
function doParse(wrapper) {
|
||||
var content = wrapper ? wrapper(code) : code;
|
||||
var tokenBag = [];
|
||||
ast = parser.parse(content, parserOptions(tokenBag));
|
||||
if (wrapper) {
|
||||
ast = ast.body[0].body;
|
||||
tokens = tokenBag.slice(6, -2);
|
||||
} else {
|
||||
tokens = tokenBag.slice(0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
if (source.async) {
|
||||
doParse(wrappedInAsync);
|
||||
} else if (source.generator) {
|
||||
doParse(wrappedInGenerator);
|
||||
} else {
|
||||
doParse();
|
||||
}
|
||||
|
||||
var exp = ast.body[0].expression;
|
||||
var columnOffset = exp.loc.start.column;
|
||||
var offsetTree = estraverse.replace(exp, {
|
||||
keys: estraverse.VisitorKeys,
|
||||
enter: function (eachNode) {
|
||||
if (!eachNode.loc && eachNode.range) {
|
||||
// skip already visited node
|
||||
return eachNode;
|
||||
}
|
||||
eachNode.range = [
|
||||
eachNode.loc.start.column - columnOffset,
|
||||
eachNode.loc.end.column - columnOffset
|
||||
];
|
||||
delete eachNode.loc;
|
||||
return eachNode;
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
tokens: offsetAndSlimDownTokens(tokens),
|
||||
expression: offsetTree
|
||||
};
|
||||
}
|
||||
|
||||
function wrappedInGenerator (jsCode) {
|
||||
return 'function *wrapper() { ' + jsCode + ' }';
|
||||
}
|
||||
|
||||
function wrappedInAsync (jsCode) {
|
||||
return 'async function wrapper() { ' + jsCode + ' }';
|
||||
}
|
||||
|
||||
function offsetAndSlimDownTokens (tokens) {
|
||||
var i, token, newToken, result = [];
|
||||
var columnOffset;
|
||||
for(i = 0; i < tokens.length; i += 1) {
|
||||
token = tokens[i];
|
||||
if (i === 0) {
|
||||
columnOffset = token.loc.start.column;
|
||||
}
|
||||
newToken = {
|
||||
type: {
|
||||
label: token.type.label
|
||||
}
|
||||
};
|
||||
if (typeof token.value !== 'undefined') {
|
||||
newToken.value = token.value;
|
||||
}
|
||||
newToken.range = [
|
||||
token.loc.start.column - columnOffset,
|
||||
token.loc.end.column - columnOffset
|
||||
];
|
||||
result.push(newToken);
|
||||
}
|
||||
return result;
|
||||
}
|
72
website/functions/node_modules/power-assert-context-reducer-ast/package.json
generated
vendored
Normal file
72
website/functions/node_modules/power-assert-context-reducer-ast/package.json
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"_from": "power-assert-context-reducer-ast@^1.0.7",
|
||||
"_id": "power-assert-context-reducer-ast@1.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==",
|
||||
"_location": "/power-assert-context-reducer-ast",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "power-assert-context-reducer-ast@^1.0.7",
|
||||
"name": "power-assert-context-reducer-ast",
|
||||
"escapedName": "power-assert-context-reducer-ast",
|
||||
"rawSpec": "^1.0.7",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.7"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/power-assert-formatter"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz",
|
||||
"_shasum": "c7ca1c9e39a6fb717f7ac5fe9e76e192bf525df3",
|
||||
"_spec": "power-assert-context-reducer-ast@^1.0.7",
|
||||
"_where": "C:\\Users\\jlevi\\Downloads\\tr2022-strategy-master\\tr2022-strategy-master\\data analysis\\functions\\node_modules\\power-assert-formatter",
|
||||
"author": {
|
||||
"name": "Takuto Wada",
|
||||
"email": "takuto.wada@gmail.com",
|
||||
"url": "https://github.com/twada"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/twada/power-assert-runtime/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Haoliang Gao",
|
||||
"url": "https://github.com/popomore"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"acorn": "^5.0.0",
|
||||
"acorn-es7-plugin": "^1.0.12",
|
||||
"core-js": "^2.0.0",
|
||||
"espurify": "^1.6.0",
|
||||
"estraverse": "^4.2.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "append AST into power-assert context",
|
||||
"devDependencies": {
|
||||
"mocha": "^5.0.0"
|
||||
},
|
||||
"files": [
|
||||
"README.md",
|
||||
"index.js",
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/twada/power-assert-runtime",
|
||||
"keywords": [
|
||||
"power-assert"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "power-assert-context-reducer-ast",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/twada/power-assert-runtime.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"version": "1.2.0"
|
||||
}
|
Reference in New Issue
Block a user