aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-docblock
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/jest-docblock
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/jest-docblock')
-rw-r--r--node_modules/jest-docblock/LICENSE21
-rw-r--r--node_modules/jest-docblock/README.md108
-rw-r--r--node_modules/jest-docblock/build/index.d.ts19
-rw-r--r--node_modules/jest-docblock/build/index.js153
-rw-r--r--node_modules/jest-docblock/package.json32
5 files changed, 333 insertions, 0 deletions
diff --git a/node_modules/jest-docblock/LICENSE b/node_modules/jest-docblock/LICENSE
new file mode 100644
index 0000000..b96dcb0
--- /dev/null
+++ b/node_modules/jest-docblock/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) Facebook, Inc. and its affiliates.
+
+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/jest-docblock/README.md b/node_modules/jest-docblock/README.md
new file mode 100644
index 0000000..ba3fc7b
--- /dev/null
+++ b/node_modules/jest-docblock/README.md
@@ -0,0 +1,108 @@
+# jest-docblock
+
+`jest-docblock` is a package that can extract and parse a specially-formatted comment called a "docblock" at the top of a file.
+
+A docblock looks like this:
+
+```js
+/**
+ * Stuff goes here!
+ */
+```
+
+Docblocks can contain pragmas, which are words prefixed by `@`:
+
+```js
+/**
+ * Pragma incoming!
+ *
+ * @flow
+ */
+```
+
+Pragmas can also take arguments:
+
+```js
+/**
+ * Check this out:
+ *
+ * @myPragma it is so cool
+ */
+```
+
+`jest-docblock` can:
+
+- extract the docblock from some code as a string
+- parse a docblock string's pragmas into an object
+- print an object and some comments back to a string
+
+## Installation
+
+```sh
+# with yarn
+$ yarn add jest-docblock
+# with npm
+$ npm install jest-docblock
+```
+
+## Usage
+
+```js
+const code = `
+/**
+ * Everything is awesome!
+ *
+ * @everything is:awesome
+ * @flow
+ */
+
+ export const everything = Object.create(null);
+ export default function isAwesome(something) {
+ return something === everything;
+ }
+`;
+
+const {
+ extract,
+ strip,
+ parse,
+ parseWithComments,
+ print,
+} = require('jest-docblock');
+
+const docblock = extract(code);
+console.log(docblock); // "/**\n * Everything is awesome!\n * \n * @everything is:awesome\n * @flow\n */"
+
+const stripped = strip(code);
+console.log(stripped); // "export const everything = Object.create(null);\n export default function isAwesome(something) {\n return something === everything;\n }"
+
+const pragmas = parse(docblock);
+console.log(pragmas); // { everything: "is:awesome", flow: "" }
+
+const parsed = parseWithComments(docblock);
+console.log(parsed); // { comments: "Everything is awesome!", pragmas: { everything: "is:awesome", flow: "" } }
+
+console.log(print({pragmas, comments: 'hi!'})); // /**\n * hi!\n *\n * @everything is:awesome\n * @flow\n */;
+```
+
+## API Documentation
+
+### `extract(contents: string): string`
+
+Extracts a docblock from some file contents. Returns the docblock contained in `contents`. If `contents` did not contain a docblock, it will return the empty string (`""`).
+
+### `strip(contents: string): string`
+
+Strips the top docblock from a file and return the result. If a file does not have a docblock at the top, then return the file unchanged.
+
+### `parse(docblock: string): {[key: string]: string | string[] }`
+
+Parses the pragmas in a docblock string into an object whose keys are the pragma tags and whose values are the arguments to those pragmas.
+
+### `parseWithComments(docblock: string): { comments: string, pragmas: {[key: string]: string | string[]} }`
+
+Similar to `parse` except this method also returns the comments from the docblock. Useful when used with `print()`.
+
+### `print({ comments?: string, pragmas?: {[key: string]: string | string[]} }): string`
+
+Prints an object of key-value pairs back into a docblock. If `comments` are provided, they will be positioned on the top of the docblock.
diff --git a/node_modules/jest-docblock/build/index.d.ts b/node_modules/jest-docblock/build/index.d.ts
new file mode 100644
index 0000000..c457121
--- /dev/null
+++ b/node_modules/jest-docblock/build/index.d.ts
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+declare type Pragmas = Record<string, string | Array<string>>;
+export declare function extract(contents: string): string;
+export declare function strip(contents: string): string;
+export declare function parse(docblock: string): Pragmas;
+export declare function parseWithComments(docblock: string): {
+ comments: string;
+ pragmas: Pragmas;
+};
+export declare function print({ comments, pragmas, }: {
+ comments?: string;
+ pragmas?: Pragmas;
+}): string;
+export {};
diff --git a/node_modules/jest-docblock/build/index.js b/node_modules/jest-docblock/build/index.js
new file mode 100644
index 0000000..66450dd
--- /dev/null
+++ b/node_modules/jest-docblock/build/index.js
@@ -0,0 +1,153 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.extract = extract;
+exports.parse = parse;
+exports.parseWithComments = parseWithComments;
+exports.print = print;
+exports.strip = strip;
+
+function _os() {
+ const data = require('os');
+
+ _os = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _detectNewline() {
+ const data = _interopRequireDefault(require('detect-newline'));
+
+ _detectNewline = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {default: obj};
+}
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const commentEndRe = /\*\/$/;
+const commentStartRe = /^\/\*\*/;
+const docblockRe = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/;
+const lineCommentRe = /(^|\s+)\/\/([^\r\n]*)/g;
+const ltrimNewlineRe = /^(\r?\n)+/;
+const multilineRe =
+ /(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g;
+const propertyRe = /(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g;
+const stringStartRe = /(\r?\n|^) *\* ?/g;
+const STRING_ARRAY = [];
+
+function extract(contents) {
+ const match = contents.match(docblockRe);
+ return match ? match[0].trimLeft() : '';
+}
+
+function strip(contents) {
+ const match = contents.match(docblockRe);
+ return match && match[0] ? contents.substring(match[0].length) : contents;
+}
+
+function parse(docblock) {
+ return parseWithComments(docblock).pragmas;
+}
+
+function parseWithComments(docblock) {
+ const line = (0, _detectNewline().default)(docblock) || _os().EOL;
+
+ docblock = docblock
+ .replace(commentStartRe, '')
+ .replace(commentEndRe, '')
+ .replace(stringStartRe, '$1'); // Normalize multi-line directives
+
+ let prev = '';
+
+ while (prev !== docblock) {
+ prev = docblock;
+ docblock = docblock.replace(multilineRe, `${line}$1 $2${line}`);
+ }
+
+ docblock = docblock.replace(ltrimNewlineRe, '').trimRight();
+ const result = Object.create(null);
+ const comments = docblock
+ .replace(propertyRe, '')
+ .replace(ltrimNewlineRe, '')
+ .trimRight();
+ let match;
+
+ while ((match = propertyRe.exec(docblock))) {
+ // strip linecomments from pragmas
+ const nextPragma = match[2].replace(lineCommentRe, '');
+
+ if (
+ typeof result[match[1]] === 'string' ||
+ Array.isArray(result[match[1]])
+ ) {
+ result[match[1]] = STRING_ARRAY.concat(result[match[1]], nextPragma);
+ } else {
+ result[match[1]] = nextPragma;
+ }
+ }
+
+ return {
+ comments,
+ pragmas: result
+ };
+}
+
+function print({comments = '', pragmas = {}}) {
+ const line = (0, _detectNewline().default)(comments) || _os().EOL;
+
+ const head = '/**';
+ const start = ' *';
+ const tail = ' */';
+ const keys = Object.keys(pragmas);
+ const printedObject = keys
+ .map(key => printKeyValues(key, pragmas[key]))
+ .reduce((arr, next) => arr.concat(next), [])
+ .map(keyValue => start + ' ' + keyValue + line)
+ .join('');
+
+ if (!comments) {
+ if (keys.length === 0) {
+ return '';
+ }
+
+ if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) {
+ const value = pragmas[keys[0]];
+ return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`;
+ }
+ }
+
+ const printedComments =
+ comments
+ .split(line)
+ .map(textLine => `${start} ${textLine}`)
+ .join(line) + line;
+ return (
+ head +
+ line +
+ (comments ? printedComments : '') +
+ (comments && keys.length ? start + line : '') +
+ printedObject +
+ tail
+ );
+}
+
+function printKeyValues(key, valueOrArray) {
+ return STRING_ARRAY.concat(valueOrArray).map(value =>
+ `@${key} ${value}`.trim()
+ );
+}
diff --git a/node_modules/jest-docblock/package.json b/node_modules/jest-docblock/package.json
new file mode 100644
index 0000000..5a15045
--- /dev/null
+++ b/node_modules/jest-docblock/package.json
@@ -0,0 +1,32 @@
+{
+ "name": "jest-docblock",
+ "version": "27.5.1",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/facebook/jest.git",
+ "directory": "packages/jest-docblock"
+ },
+ "license": "MIT",
+ "main": "./build/index.js",
+ "types": "./build/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./build/index.d.ts",
+ "default": "./build/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "devDependencies": {
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "gitHead": "67c1aa20c5fec31366d733e901fee2b981cb1850"
+}