diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index e34b90b..1c40f70 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -8,4 +8,4 @@ updates:
- package-ecosystem: npm # See documentation for possible values
directory: / # Location of package manifests
schedule:
- interval: weekly
+ interval: daily
\ No newline at end of file
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 4973a51..5b47da9 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -1 +1 @@
-'CI failed': '**/*.*'
+'CI failed': '**/*.*'
\ No newline at end of file
diff --git a/.github/workflows/check-md-links.yml b/.github/workflows/check-md-links.yml
new file mode 100644
index 0000000..87a2e30
--- /dev/null
+++ b/.github/workflows/check-md-links.yml
@@ -0,0 +1,19 @@
+name: Check for broken Markdown links
+
+on:
+ schedule:
+ - cron: 0 0 * * *
+ workflow_dispatch: {}
+
+jobs:
+ check-links:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 19.x
+ - name: Install dependencies
+ run: yarn
+ - name: Run link check
+ run: yarn check-links
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2b8b55e..7db36e1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,6 +9,8 @@ on:
jobs:
test:
+ outputs:
+ IS_RELEASE_COMMIT: ${{ steps.commit.outputs.IS_RELEASE_COMMIT }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -17,15 +19,48 @@ jobs:
node-version: 19.x
always-auth: true
+ - name: Check commit message
+ id: commit
+ run: |
+ COMMIT_MSG=$(/usr/bin/git log --format=%B -n 1 HEAD)
+ STRING=$(echo $COMMIT_MSG | (grep -E "infra:|docs:|lint:|code-style:" || echo ''))
+
+ if [ -z "$STRING" ]; then
+ echo "IS_RELEASE_COMMIT=1" >> $GITHUB_OUTPUT
+ echo "IS_RELEASE_COMMIT=1" >> $GITHUB_ENV
+ else
+ echo "This commit will NOT trigger a release."
+
+ echo "IS_RELEASE_COMMIT=0" >> $GITHUB_OUTPUT
+ echo "IS_RELEASE_COMMIT=0" >> $GITHUB_ENV
+ fi
+
+
- name: Install dependencies
- run: yarn
+ run: yarn
+
+ - name: Validate Markdown links
+ run: yarn check-links
+
+ - name: Validate package.json
+ run: yarn validate-package-json
+
+ - name: Run ESLint
+ if: env.IS_RELEASE_COMMIT == '1'
+ run: |
+ yarn lint
- name: Build source code
- run: yarn build
+ if: env.IS_RELEASE_COMMIT == '1'
+ run: |
+ yarn build
- name: Run test suites
- run: yarn test
+ if: env.IS_RELEASE_COMMIT == '1'
+ run: |
+ yarn test
release:
+ if: needs.test.outputs.IS_RELEASE_COMMIT == '1'
permissions:
contents: write
needs: test
@@ -66,8 +101,6 @@ jobs:
run: yarn
- name: Build code
run: yarn build
- - name: Build UMD Version
- run: yarn build:umd
- name: Set authentication token
run: |
npm set //registry.npmjs.org/:_authToken ${{ secrets.NPM_AUTH_TOKEN }}
@@ -90,11 +123,11 @@ jobs:
run: yarn
- name: Build code
run: yarn build
- - name: Build UMD Version
- run: yarn build:umd
+
- name: Set authentication token
run: |
npm set //npm.pkg.github.com/:_authToken ${{ secrets.GPR_AUTH_TOKEN }}
+
- name: Get ready to publish to GPR
run: |
jq ".name = \"@$REPO\"" package.json > temp.json && mv temp.json package.json
diff --git a/.github/workflows/issue-welcome.yml b/.github/workflows/issue-welcome.yml
index af503b9..7e7d129 100644
--- a/.github/workflows/issue-welcome.yml
+++ b/.github/workflows/issue-welcome.yml
@@ -16,6 +16,7 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
issue_number: ${{ github.event.issue.number }}
body: |
+ Hi, ${{ github.actor }}!
Make sure to comply with the [Code of Conduct](
https://github.com/${{ github.repository }}/blob/main/CODE_OF_CONDUCT.md),
[security policy](https://github.com/${{ github.repository }}/blob/main/SECURITY.md)
diff --git a/.github/workflows/pr-build-failed.yml b/.github/workflows/pr-build-failed.yml
index 017cea7..d4213a9 100644
--- a/.github/workflows/pr-build-failed.yml
+++ b/.github/workflows/pr-build-failed.yml
@@ -25,6 +25,7 @@ jobs:
Don't worry, it'll run again if you commit any changes to this PR.
- name: Label PR as "CI failed"
uses: actions/labeler@v4
- with:
+ with:
sync-label: true
repo-token: ${{ secrets.GITHUB_TOKEN }}
+
\ No newline at end of file
diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml
index 5c17153..d0544b7 100644
--- a/.github/workflows/pr-check.yml
+++ b/.github/workflows/pr-check.yml
@@ -3,12 +3,49 @@ name: Pull Request check
on:
pull_request:
types:
- - edited
- opened
- synchronize
- paths:
- - src/**/*.*
jobs:
+ say-hi:
+ continue-on-error: true
+ permissions:
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check for existence of comment
+ id: comment
+ run: |
+ yarn init --yes
+ yarn add --optional @octokit/rest@20.0.1
+ node --eval="
+ (async function() {
+ const { Octokit } = require('@octokit/rest');
+ const github = new Octokit({ auth: process.env.GITHUB_TOKEN });
+ const issueNumber = '${{ github.event.pull_request.number }}';
+ const owner = '${{ github.repository_owner }}';
+ const repo = '${{ github.repository }}'.replace(owner + '/', '');
+
+ const { data: comments } = await github.issues.listComments({
+ owner,
+ repo,
+ issue_number: issueNumber,
+ });
+
+ console.log(comments.some(comment => comment.body.includes('Hi, ${{ github.actor }}')));
+ })();
+ " >> hi.txt
+ echo "result=$(cat hi.txt | grep -E 'true|false')" >> $GITHUB_OUTPUT
+
+ - name: Say hi
+ uses: jungwinter/comment@v1
+ if: steps.comment.outputs.result == 'false'
+ with:
+ type: create
+ token: ${{ secrets.GITHUB_TOKEN }}
+ issue_number: ${{ github.event.pull_request.number }}
+ body: |
+ Hi, ${{ github.actor }}!
+ Make sure to comply with the [Code of Conduct](https://github.com/${{ github.repository }}/blob/main/CODE_OF_CONDUCT.md), [security policy](https://github.com/${{ github.repository }}/blob/main/SECURITY.md) and [contribution guidelines](https://github.com/${{ github.repository }}/blob/main/CONTRIBUTING.md) before contributing to this repo.
test:
permissions:
pull-requests: write
@@ -23,25 +60,80 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 16.x
- - name: Clone the main repo
- run: cd .. && sudo /usr/bin/git clone https://github.com/${{ github.repository }} main && cd -
- - name: Check if the PR is acceptable
- run: |
- diff -q ./tests/ ../main/tests
- diff -q ./.github/ ../main/.github
- - name: Copy test suites from main repo to PR
- run: cp ../main/tests/*.* tests/
- - name: Get rid of the main repo's clone
- run: sudo rm -rf ../main
- name: Install dependencies
run: yarn
+
+ - name: Validate package.json
+ run: yarn validate-package-json
+
+ - name: Validate Markdown links
+ run: yarn check-links
+
+ - name: Run ESLint
+ run: yarn lint
+
- name: Build code
run: yarn build
+
- name: Run main test suites
run: yarn test
+
+ - name: Checkout main
+ run: git clone https://github.com/${{ github.repository }} main/
- name: Report build failed (if any)
if: failure()
- uses: ./.github/workflows/pr-build-failed.yml
+ uses: ./main/.github/workflows/pr-build-failed.yml
with:
pr-author: ${{ github.event.pull_request.user.login }}
number: ${{ github.event.pull_request.number }}
+ assign-and-ping:
+ runs-on: ubuntu-latest
+ continue-on-error: true
+ needs: test
+ if: success()
+ permissions:
+ pull-requests: write
+ issues: write
+ steps:
+ - name: Set up Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 19.x
+
+ - name: Assign pull request to yourself
+ run: |
+ yarn init --yes
+ yarn add --optional @octokit/rest@20.0.1
+ node --eval="
+ const { Octokit } = require('@octokit/rest');
+ const github = new Octokit({ auth: process.env.GITHUB_TOKEN });
+ (async function() {
+ await github.issues.addAssignees({
+ owner: '${{ github.repository_owner }}',
+ repo: '${{ github.repository }}'.replace('${{ github.repository_owner }}/', ''),
+ issue_number: ${{ github.event.pull_request.number }},
+ assignees: ['${{ github.repository_owner }}'],
+ });
+ })();
+ "
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Request code review
+ run: |
+ yarn init --yes
+ yarn add --optional @octokit/rest@20.0.1
+ node --eval="
+ const { Octokit } = require('@octokit/rest');
+ const github = new Octokit({ auth: process.env.GITHUB_TOKEN });
+ (async function() {
+ await github.pulls.requestReviewers({
+ owner: '${{ github.repository_owner }}',
+ repo: '${{ github.repository }}'.replace('${{ github.repository_owner }}/', ''),
+ pull_number: ${{ github.event.pull_request.number }},
+ reviewers: ['${{ github.repository_owner }}'],
+ });
+ })();
+ "
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/pr-welcome.yml b/.github/workflows/pr-welcome.yml
deleted file mode 100644
index 9370ce9..0000000
--- a/.github/workflows/pr-welcome.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-name: Welcome message for pull requests
-on:
- pull_request:
- types:
- - opened
-
-jobs:
- say-hi:
- permissions:
- pull-requests: write
- runs-on: ubuntu-latest
- steps:
- - name: Say hi
- uses: jungwinter/comment@v1
- with:
- type: create
- token: ${{ secrets.GITHUB_TOKEN }}
- issue_number: ${{ github.event.pull_request.number }}
- body: |
- Hi, ${{ github.event.pull_request.user.login }}! Welcome to ${{ github.repository }} issues!
- Make sure to comply with the [Code of Conduct](
- https://github.com/${{ github.repository }}/blob/main/CODE_OF_CONDUCT.md), [security policy](
- https://github.com/${{ github.repository }}/blob/main/SECURITY.md) and [contribution guidelines
- ](https://github.com/${{ github.repository }}/blob/main/CONTRIBUTING.md) before contributing to
- this repo.
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 0000000..2519594
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,5 @@
+{
+ "MD010": false,
+ "MD013": false,
+ "MD033": false
+}
\ No newline at end of file
diff --git a/.remarkrc.json b/.remarkrc.json
new file mode 100644
index 0000000..f6af135
--- /dev/null
+++ b/.remarkrc.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ "gfm",
+ "validate-links"
+ ]
+}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 59df75c..e5b2cf0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -29,3 +29,6 @@
- Fixed a major bug introduced on the previous version.
+## Version 1.1.7
+
+- Added `randomPhone`.
diff --git a/README.md b/README.md
index 66dd524..6a4d98e 100644
--- a/README.md
+++ b/README.md
@@ -12,9 +12,6 @@
- 👴 Compliant with ECMAScript 3
- 📑 Split in different files (under `cjs/`) to import just what you need
- 🎨 Includes a wide variety of randomizer functions
-- **🔓 Cryptographically UNSAFE (see below for details)**
-
-**WARNING: This library doesn't generate cryptographically safe random numbers, due to its reliance on `Math.random()`. This library is designed to be portable across the browser and Node.js, to the expense of security.**
## API
@@ -137,22 +134,68 @@
Generates a pseudo-random UUID v4.
+- `function randomPhone(countryCode: number): string;` **NEW! (since 1.1.7)**
+
+ Generates a 10-digit random phone number of the form `+xx xxx xxxxxxx`, where `x` is a digit.
+
+ | Name | Type | Description | Optional? |
+ | ------------- | -------- | --------------------------------------------------------------------------------------- | --------- |
+ | `countryCode` | `number` | The code of the country to which the number would belong to. Must be between 1 and 999. | No |
+
+- `function randomPhone(countryCode: number, digitCount: number): string;` **NEW! (since 1.1.7)**
+
+ Generates a random phone number of the form `+xx xxx x...`, where `x` is a digit.
+
+ | Name | Type | Description | Optional? |
+ | ------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
+ | `countryCode` | `number` | The code of the country to which the number would belong to. Must be between 1 and 999. | No |
+ | `digitCount` | `number` | The amount of digits the phone number must have beside the country code. If bigger than 10, the extra digits will be added to the `x...` block. | No |
+
## Usage
```typescript
+// Import the most basic function...
+const { 'default': random } = require('@santi100/random-lib'); // CJS
+import random from '@santi100/random-lib'; // ESM/TypeScript
+
+// Or import only the functions you need from the files you need...
+
+// CJS
+const random = require('@santi100/random-lib/cjs/random');
+const randomFromArray = require('@santi100/random-lib/cjs/random-from-array');
+const randomIntegers = require('@santi100/random-lib/cjs/random-integers');
+const randomFloats = require('@santi100/random-lib/cjs/random-floats');
+
+// TypeScript
+import random = require('@santi100/random-lib/cjs/random');
+import randomFromArray = require('@santi100/random-lib/cjs/random-from-array');
+import randomIntegers = require('@santi100/random-lib/cjs/random-integers');
+import randomFloats = require('@santi100/random-lib/cjs/random-floats');
+
+// ESM
+import random from '@santi100/random-lib/cjs/random';
+import randomFromArray from '@santi100/random-lib/cjs/random-from-array';
+import randomIntegers from '@santi100/random-lib/cjs/random-integers';
+import randomFloats from '@santi100/random-lib/cjs/random-floats';
+
+// Or import only the functions you need...
import {
- random,
- randomFromArray,
- randomIntegers,
- randomFloats,
-} from '@santi100/random-lib'; // ESM
+ random,
+ randomFromArray,
+ randomIntegers,
+ randomFloats,
+} from '@santi100/random-lib'; // ESM/TypeScript
const {
- random,
- randomFromArray,
- randomIntegers,
- randomFloats,
+ random,
+ randomFromArray,
+ randomIntegers,
+ randomFloats,
} = require('@santi100/random-lib'); // CJS
+// Or import everything
+import * as randomLib from '@santi100/random-lib'; // ESM/TypeScript
+const randomLib = require('@ssanti100/random-lib'); // CJS
+
// Generate a random integer between 1 and 10
const randomInt = random(10, 1);
@@ -187,3 +230,9 @@ console.log(myRandomUppercaseLetters); // outputs an array of 10 random uppercas
const myRandomLetters = randomLetters(3);
console.log(myRandomLetters); // outputs an array of 3 random letters (either lowercase or uppercase, e.g. ['e', 'W', 'T'])
```
+
+---
+
+
+This library doesn't generate cryptographically safe random numbers, due to its reliance on `Math.random()`. This library is designed to be portable across the browser and Node.js, to the expense of security.
+
diff --git a/cjs/core.d.ts b/cjs/core.d.ts
index f677ae5..52f3347 100644
--- a/cjs/core.d.ts
+++ b/cjs/core.d.ts
@@ -15,8 +15,8 @@ export declare const WORDLIST: string[];
* @since 1.1.1
*/
export interface RandomArraysOptions {
- max?: number;
- min?: number;
+ readonly max?: number;
+ readonly min?: number;
}
/**
* An array containing all 26 English lowercase letters.
diff --git a/cjs/index.d.ts b/cjs/index.d.ts
index bd2864d..60177a7 100644
--- a/cjs/index.d.ts
+++ b/cjs/index.d.ts
@@ -1,19 +1,21 @@
+import randomPhone = require('./random-phone');
+import random = require('./random');
+import randomDate = require('./random-date');
+import randomDates = require('./random-dates');
+import randomFloat = require('./random-float');
+import randomFloats = require('./random-floats');
+import randomFromArray = require('./random-from-array');
+import randomIntegers = require('./random-integers');
+import randomLetter = require('./random-letter');
+import randomLetters = require('./random-letters');
+import randomLower = require('./random-lower');
+import randomLowers = require('./random-lowers');
+import randomUpper = require('./random-upper');
+import randomUppers = require('./random-uppers');
+import randomBoolean = require('./random-boolean');
+import randomUUID = require('./random-uuid');
+import randomPhrase = require('./random-phrase');
+import randomHexColor = require('./random-hex-color');
export * from './core';
-export * from './random';
-export * from './random-date';
-export * from './random-dates';
-export * from './random-float';
-export * from './random-floats';
-export * from './random-from-array';
-export * from './random-integers';
-export * from './random-letter';
-export * from './random-letters';
-export * from './random-lower';
-export * from './random-lowers';
-export * from './random-upper';
-export * from './random-uppers';
-export * from './random-boolean';
-export * from './random-phrase';
-export * from './random-uuid';
-export * from './random-hex-color';
-export { random as default } from './random';
+export { randomPhone, random, randomBoolean, randomDate, randomDates, randomFloat, randomFloats, randomFromArray, randomIntegers, randomLetter, randomLetters, randomLower, randomLowers, randomUUID, randomUpper, randomUppers, randomPhrase, randomHexColor, };
+export default random;
diff --git a/cjs/index.js b/cjs/index.js
index 6e036af..313dc27 100644
--- a/cjs/index.js
+++ b/cjs/index.js
@@ -14,24 +14,42 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
exports.__esModule = true;
-exports["default"] = void 0;
+exports.randomHexColor = exports.randomPhrase = exports.randomUppers = exports.randomUpper = exports.randomUUID = exports.randomLowers = exports.randomLower = exports.randomLetters = exports.randomLetter = exports.randomIntegers = exports.randomFromArray = exports.randomFloats = exports.randomFloat = exports.randomDates = exports.randomDate = exports.randomBoolean = exports.random = exports.randomPhone = void 0;
+var randomPhone = require("./random-phone");
+exports.randomPhone = randomPhone;
+var random = require("./random");
+exports.random = random;
+var randomDate = require("./random-date");
+exports.randomDate = randomDate;
+var randomDates = require("./random-dates");
+exports.randomDates = randomDates;
+var randomFloat = require("./random-float");
+exports.randomFloat = randomFloat;
+var randomFloats = require("./random-floats");
+exports.randomFloats = randomFloats;
+var randomFromArray = require("./random-from-array");
+exports.randomFromArray = randomFromArray;
+var randomIntegers = require("./random-integers");
+exports.randomIntegers = randomIntegers;
+var randomLetter = require("./random-letter");
+exports.randomLetter = randomLetter;
+var randomLetters = require("./random-letters");
+exports.randomLetters = randomLetters;
+var randomLower = require("./random-lower");
+exports.randomLower = randomLower;
+var randomLowers = require("./random-lowers");
+exports.randomLowers = randomLowers;
+var randomUpper = require("./random-upper");
+exports.randomUpper = randomUpper;
+var randomUppers = require("./random-uppers");
+exports.randomUppers = randomUppers;
+var randomBoolean = require("./random-boolean");
+exports.randomBoolean = randomBoolean;
+var randomUUID = require("./random-uuid");
+exports.randomUUID = randomUUID;
+var randomPhrase = require("./random-phrase");
+exports.randomPhrase = randomPhrase;
+var randomHexColor = require("./random-hex-color");
+exports.randomHexColor = randomHexColor;
__exportStar(require("./core"), exports);
-__exportStar(require("./random"), exports);
-__exportStar(require("./random-date"), exports);
-__exportStar(require("./random-dates"), exports);
-__exportStar(require("./random-float"), exports);
-__exportStar(require("./random-floats"), exports);
-__exportStar(require("./random-from-array"), exports);
-__exportStar(require("./random-integers"), exports);
-__exportStar(require("./random-letter"), exports);
-__exportStar(require("./random-letters"), exports);
-__exportStar(require("./random-lower"), exports);
-__exportStar(require("./random-lowers"), exports);
-__exportStar(require("./random-upper"), exports);
-__exportStar(require("./random-uppers"), exports);
-__exportStar(require("./random-boolean"), exports);
-__exportStar(require("./random-phrase"), exports);
-__exportStar(require("./random-uuid"), exports);
-__exportStar(require("./random-hex-color"), exports);
-var random_1 = require("./random");
-__createBinding(exports, random_1, "random", "default");
+exports["default"] = random;
diff --git a/cjs/random-boolean.d.ts b/cjs/random-boolean.d.ts
index e20f68d..0d30768 100644
--- a/cjs/random-boolean.d.ts
+++ b/cjs/random-boolean.d.ts
@@ -1,4 +1,8 @@
/**
* Generates a random boolean value.
*/
-export declare function randomBoolean(): boolean;
+declare function randomBoolean(): boolean;
+declare namespace randomBoolean {
+ var randomBoolean: typeof import("./random-boolean");
+}
+export = randomBoolean;
diff --git a/cjs/random-boolean.js b/cjs/random-boolean.js
index 2d52e7d..7bf1243 100644
--- a/cjs/random-boolean.js
+++ b/cjs/random-boolean.js
@@ -1,6 +1,5 @@
"use strict";
-exports.__esModule = true;
-exports.randomBoolean = void 0;
+var _a;
var random_from_array_1 = require("./random-from-array");
/**
* Generates a random boolean value.
@@ -16,4 +15,6 @@ function randomBoolean() {
];
return (0, random_from_array_1.randomFromArray)(array);
}
-exports.randomBoolean = randomBoolean;
+randomBoolean.randomBoolean = randomBoolean;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomBoolean, 'randomBoolean', { enumerable: false });
+module.exports = randomBoolean;
diff --git a/cjs/random-date.d.ts b/cjs/random-date.d.ts
index 5bd0b2f..4ab8279 100644
--- a/cjs/random-date.d.ts
+++ b/cjs/random-date.d.ts
@@ -5,4 +5,8 @@
* @param maxDate The maximum date to generate a random date from.
* @returns A `Date` object representing a random date between `minDate` and `maxDate`.
*/
-export declare function randomDate(minDate: Date, maxDate: Date): Date;
+declare function randomDate(minDate: Date, maxDate: Date): Date;
+declare namespace randomDate {
+ var randomDate: typeof import("./random-date");
+}
+export = randomDate;
diff --git a/cjs/random-date.js b/cjs/random-date.js
index d601559..50323db 100644
--- a/cjs/random-date.js
+++ b/cjs/random-date.js
@@ -1,8 +1,7 @@
"use strict";
-exports.__esModule = true;
-exports.randomDate = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
-var random_1 = require("./random");
+var _a;
+var assertInstanceOf = require("@santi100/assertion-lib/cjs/instance-of");
+var random = require("./random");
/**
* Generates a random date between `minDate` and `maxDate`.
*
@@ -11,9 +10,11 @@ var random_1 = require("./random");
* @returns A `Date` object representing a random date between `minDate` and `maxDate`.
*/
function randomDate(minDate, maxDate) {
- (0, assertion_lib_1.assertInstanceOf)(minDate, Date);
- (0, assertion_lib_1.assertInstanceOf)(maxDate, Date);
- var randomTs = (0, random_1.random)(maxDate.getTime(), minDate.getTime());
+ assertInstanceOf(minDate, Date);
+ assertInstanceOf(maxDate, Date);
+ var randomTs = random(maxDate.getTime(), minDate.getTime());
return new Date(randomTs);
}
-exports.randomDate = randomDate;
+randomDate.randomDate = randomDate;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomDate, 'randomDate', { enumerable: false });
+module.exports = randomDate;
diff --git a/cjs/random-dates.d.ts b/cjs/random-dates.d.ts
index 141294f..515e23f 100644
--- a/cjs/random-dates.d.ts
+++ b/cjs/random-dates.d.ts
@@ -6,4 +6,8 @@
* @param amount The amount of dates to generate.
* @returns An array of `Date` objects representing some random dates between `minDate` and `maxDate`.
*/
-export declare function randomDates(minDate: Date, maxDate: Date, amount: number): Date[];
+declare function randomDates(minDate: Date, maxDate: Date, amount: number): Date[];
+declare namespace randomDates {
+ var randomDate: typeof randomDates;
+}
+export = randomDates;
diff --git a/cjs/random-dates.js b/cjs/random-dates.js
index 62d02cc..2912880 100644
--- a/cjs/random-dates.js
+++ b/cjs/random-dates.js
@@ -1,8 +1,7 @@
"use strict";
-exports.__esModule = true;
-exports.randomDates = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
-var random_integers_1 = require("./random-integers");
+var _a;
+var assertInstanceOf = require("@santi100/assertion-lib/cjs/instance-of");
+var randomIntegers = require("./random-integers");
/**
* Generates `amount` random dates between `minDate` and `maxDate`.
*
@@ -12,9 +11,9 @@ var random_integers_1 = require("./random-integers");
* @returns An array of `Date` objects representing some random dates between `minDate` and `maxDate`.
*/
function randomDates(minDate, maxDate, amount) {
- (0, assertion_lib_1.assertInstanceOf)(minDate, Date);
- (0, assertion_lib_1.assertInstanceOf)(maxDate, Date);
- var randomTs = (0, random_integers_1.randomIntegers)(amount, {
+ assertInstanceOf(minDate, Date);
+ assertInstanceOf(maxDate, Date);
+ var randomTs = randomIntegers(amount, {
max: maxDate.getTime(),
min: minDate.getTime()
});
@@ -25,4 +24,6 @@ function randomDates(minDate, maxDate, amount) {
}
return dates;
}
-exports.randomDates = randomDates;
+randomDates.randomDate = randomDates;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomDates, 'randomDates', { enumerable: false });
+module.exports = randomDates;
diff --git a/cjs/random-float.d.ts b/cjs/random-float.d.ts
index 067271e..e3c5d22 100644
--- a/cjs/random-float.d.ts
+++ b/cjs/random-float.d.ts
@@ -1,7 +1,15 @@
/**
- * Returns a pseudo-random floating-point number between min and max.
+ * Returns a pseudo-random integer up to `max` (exclusive).
* @param max The maximum value.
- * @param min The minimum value (0 by default).
- * @returns A pseudo-random floating-point number between min and max.
*/
-export declare function randomFloat(max: number, min?: number): number;
+declare function randomFloat(max: number): number;
+/**
+ * Returns a pseudo-random integer in the range [`min`, `max`).
+ * @param max The maximum value.
+ * @param min The minimum value.
+ */
+declare function randomFloat(max: number, min: number): number;
+declare namespace randomFloat {
+ var randomFloat: typeof import("./random-float");
+}
+export = randomFloat;
diff --git a/cjs/random-float.js b/cjs/random-float.js
index 776171d..4061cde 100644
--- a/cjs/random-float.js
+++ b/cjs/random-float.js
@@ -1,7 +1,7 @@
"use strict";
-exports.__esModule = true;
-exports.randomFloat = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
+var _a;
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
+var assertMax = require("@santi100/assertion-lib/cjs/max");
/**
* Returns a pseudo-random floating-point number between min and max.
* @param max The maximum value.
@@ -10,11 +10,13 @@ var assertion_lib_1 = require("@santi100/assertion-lib");
*/
function randomFloat(max, min) {
if (min === void 0) { min = 0.0; }
- (0, assertion_lib_1.assertTypeOf)(max, 'number', 'max');
- (0, assertion_lib_1.assertTypeOf)(min, 'number', 'min');
- (0, assertion_lib_1.assertMax)(min, 'min', max - 1);
+ assertTypeOf(max, 'number', 'max');
+ assertTypeOf(min, 'number', 'min');
+ assertMax(min, 'min', max - 1);
if (!min)
return Math.random() * max;
return Math.random() * (max - min + 1.0) + min;
}
-exports.randomFloat = randomFloat;
+randomFloat.randomFloat = randomFloat;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomFloat, 'randomFloat', { enumerable: false });
+module.exports = randomFloat;
diff --git a/cjs/random-floats.d.ts b/cjs/random-floats.d.ts
index c1c67ae..643fdc2 100644
--- a/cjs/random-floats.d.ts
+++ b/cjs/random-floats.d.ts
@@ -6,4 +6,8 @@ import { RandomArraysOptions } from './core';
* @param opts See {@link RandomArraysOptions}.
* @returns An array of random floating-point numbers.
*/
-export declare function randomFloats(amount?: number, opts?: RandomArraysOptions): number[];
+declare function randomFloats(amount?: number, opts?: RandomArraysOptions): number[];
+declare namespace randomFloats {
+ var randomFloats: typeof import("./random-floats");
+}
+export = randomFloats;
diff --git a/cjs/random-floats.js b/cjs/random-floats.js
index 0c1b4f5..3e74682 100644
--- a/cjs/random-floats.js
+++ b/cjs/random-floats.js
@@ -1,20 +1,21 @@
"use strict";
-exports.__esModule = true;
-exports.randomFloats = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
+var _a;
var core_1 = require("./core");
-var random_float_1 = require("./random-float");
+var randomFloat = require("./random-float");
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
+var assertInteger = require("@santi100/assertion-lib/cjs/integer");
+var assertMin = require("@santi100/assertion-lib/cjs/min");
function __isNullOrUndefined(a) {
return a === null || a === undefined;
}
function __checkRandomArraysErrors(amount, opts) {
- (0, assertion_lib_1.assertTypeOf)(amount, 'number', 'amount');
+ assertTypeOf(amount, 'number', 'amount');
if (!__isNullOrUndefined(opts.max))
- (0, assertion_lib_1.assertTypeOf)(opts.max, 'number', 'opts.max');
+ assertTypeOf(opts.max, 'number', 'opts.max');
if (!__isNullOrUndefined(opts.min))
- (0, assertion_lib_1.assertTypeOf)(opts.min, 'number', 'opts.min');
- (0, assertion_lib_1.assertMin)(amount, 'amount', 0);
- (0, assertion_lib_1.assertInteger)(amount, 'amount');
+ assertTypeOf(opts.min, 'number', 'opts.min');
+ assertMin(amount, 'amount', 0);
+ assertInteger(amount, 'amount');
}
/**
* Returns an array with `amount` random floating-point numbers.
@@ -30,8 +31,10 @@ function randomFloats(amount, opts) {
var _a = opts.max, max = _a === void 0 ? core_1.DEFAULT_RANDOM_NUMBERS_MAX : _a, _b = opts.min, min = _b === void 0 ? 0 : _b;
var internal = [];
for (var i = 0; i < amount; i++) {
- internal[internal.length] = (0, random_float_1.randomFloat)(max, min);
+ internal[internal.length] = randomFloat(max, min);
}
return internal;
}
-exports.randomFloats = randomFloats;
+randomFloats.randomFloats = randomFloats;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomFloats, 'randomFloats', { enumerable: false });
+module.exports = randomFloats;
diff --git a/cjs/random-from-array.d.ts b/cjs/random-from-array.d.ts
index 09dfb37..b769d30 100644
--- a/cjs/random-from-array.d.ts
+++ b/cjs/random-from-array.d.ts
@@ -4,7 +4,7 @@ import { AtLeastOneElement } from './core';
* @param array The array from which you want to pick a random item.
* @returns A random item from the given array.
*/
-export declare function randomFromArray(array: AtLeastOneElement): T;
+declare function randomFromArray(array: AtLeastOneElement): T;
/**
*
* Returns `amount` random items from `array`.
@@ -13,4 +13,8 @@ export declare function randomFromArray(array: AtLeastOneElement
* @returns An array of random items from the given array.
* @since 1.1.2
*/
-export declare function randomFromArray(array: AtLeastOneElement, amount: number): T[];
+declare function randomFromArray(array: AtLeastOneElement, amount: number): T[];
+declare namespace randomFromArray {
+ var randomFromArray: typeof import("./random-from-array");
+}
+export = randomFromArray;
diff --git a/cjs/random-from-array.js b/cjs/random-from-array.js
index 4abeeb6..e6ffb31 100644
--- a/cjs/random-from-array.js
+++ b/cjs/random-from-array.js
@@ -1,8 +1,10 @@
"use strict";
-exports.__esModule = true;
-exports.randomFromArray = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
-var random_1 = require("./random");
+var _a;
+var random = require("./random");
+var assertArray = require("@santi100/assertion-lib/cjs/array");
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
+var assertInteger = require("@santi100/assertion-lib/cjs/integer");
+var assertMin = require("@santi100/assertion-lib/cjs/min");
/**
* Returns a/some random item(s) from `array`.
* @param array The array from which you want to pick a/some random item(s).
@@ -11,18 +13,20 @@ var random_1 = require("./random");
*/
function randomFromArray(array, amount) {
if (amount === void 0) { amount = 1; }
- (0, assertion_lib_1.assertArray)(array, 'array');
- (0, assertion_lib_1.assertMin)(array.length, 'array.length', 1);
- (0, assertion_lib_1.assertTypeOf)(amount, 'number', 'amount');
- (0, assertion_lib_1.assertMin)(amount, 'amount', 1);
- (0, assertion_lib_1.assertInteger)(amount, 'amount');
+ assertArray(array, 'array');
+ assertMin(array.length, 'array.length', 1);
+ assertTypeOf(amount, 'number', 'amount');
+ assertMin(amount, 'amount', 1);
+ assertInteger(amount, 'amount');
if (amount > 1) {
var items = [];
for (var i = 0; i < amount; i++) {
- items.push(array[(0, random_1.random)(array.length)]);
+ items.push(array[random(array.length)]);
}
return items;
}
- return array[(0, random_1.random)(array.length)];
+ return array[random(array.length)];
}
-exports.randomFromArray = randomFromArray;
+randomFromArray.randomFromArray = randomFromArray;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomFromArray, 'randomFromArray', { enumerable: false });
+module.exports = randomFromArray;
diff --git a/cjs/random-hex-color.d.ts b/cjs/random-hex-color.d.ts
index 2d1fc4f..a9511fa 100644
--- a/cjs/random-hex-color.d.ts
+++ b/cjs/random-hex-color.d.ts
@@ -1,9 +1,13 @@
/**
* Generates a random hex colorcode.
*/
-export declare function randomHexColor(): string;
+declare function randomHexColor(): string;
/**
* Generates a random hex colorcode.
* @param shorthand Whether or not use a 3-character code instead of a 6-character one.
*/
-export declare function randomHexColor(shorthand: boolean): string;
+declare function randomHexColor(shorthand: boolean): string;
+declare namespace randomHexColor {
+ var randomHexColor: typeof import("./random-hex-color");
+}
+export = randomHexColor;
diff --git a/cjs/random-hex-color.js b/cjs/random-hex-color.js
index ad3bb63..0255dd6 100644
--- a/cjs/random-hex-color.js
+++ b/cjs/random-hex-color.js
@@ -8,15 +8,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
}
return to.concat(ar || Array.prototype.slice.call(from));
};
-exports.__esModule = true;
-exports.randomHexColor = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
+var _a;
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
var core_1 = require("./core");
-var random_from_array_1 = require("./random-from-array");
+var randomFromArray = require("./random-from-array");
function randomHexColor(shorthand) {
if (shorthand !== undefined)
- (0, assertion_lib_1.assertTypeOf)(shorthand, 'boolean', 'shorthand');
+ assertTypeOf(shorthand, 'boolean', 'shorthand');
var chars = __spreadArray(__spreadArray([], '1234567890'.split(''), true), core_1.LOWERS.slice(0, 5), true);
- return "#".concat((0, random_from_array_1.randomFromArray)(chars, shorthand ? 3 : 6).join(''));
+ return "#".concat(randomFromArray(chars, shorthand ? 3 : 6).join(''));
}
-exports.randomHexColor = randomHexColor;
+randomHexColor.randomHexColor = randomHexColor;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomHexColor, 'randomHexColor', { enumerable: false });
+module.exports = randomHexColor;
diff --git a/cjs/random-integers.d.ts b/cjs/random-integers.d.ts
index 4f8a185..6f76eb5 100644
--- a/cjs/random-integers.d.ts
+++ b/cjs/random-integers.d.ts
@@ -6,4 +6,8 @@ import { RandomArraysOptions } from './core';
* @param opts See {@link RandomArraysOptions}.
* @returns An array of random integers.
*/
-export declare function randomIntegers(amount?: number, opts?: RandomArraysOptions): number[];
+declare function randomIntegers(amount?: number, opts?: RandomArraysOptions): number[];
+declare namespace randomIntegers {
+ var randomIntegers: typeof import("./random-integers");
+}
+export = randomIntegers;
diff --git a/cjs/random-integers.js b/cjs/random-integers.js
index af029cd..1d807a4 100644
--- a/cjs/random-integers.js
+++ b/cjs/random-integers.js
@@ -1,21 +1,10 @@
"use strict";
-exports.__esModule = true;
-exports.randomIntegers = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
+var _a;
var core_1 = require("./core");
-var random_1 = require("./random");
-function __isNullOrUndefined(a) {
- return a === null || a === undefined;
-}
-function __checkRandomArraysErrors(amount, opts) {
- (0, assertion_lib_1.assertTypeOf)(amount, 'number', 'amount');
- if (!__isNullOrUndefined(opts.max))
- (0, assertion_lib_1.assertTypeOf)(opts.max, 'number', 'opts.max');
- if (!__isNullOrUndefined(opts.min))
- (0, assertion_lib_1.assertTypeOf)(opts.min, 'number', 'opts.min');
- (0, assertion_lib_1.assertMin)(amount, 'amount', 0);
- (0, assertion_lib_1.assertInteger)(amount, 'amount');
-}
+var random = require("./random");
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
+var assertMin = require("@santi100/assertion-lib/cjs/min");
+var assertInteger = require("@santi100/assertion-lib/cjs/integer");
/**
* Returns an array with `amount` random integers.
*
@@ -25,13 +14,20 @@ function __checkRandomArraysErrors(amount, opts) {
*/
function randomIntegers(amount, opts) {
if (amount === void 0) { amount = 4; }
- if (opts === void 0) { opts = {}; }
- __checkRandomArraysErrors(amount, opts);
- var _a = opts.max, max = _a === void 0 ? core_1.DEFAULT_RANDOM_NUMBERS_MAX : _a, _b = opts.min, min = _b === void 0 ? 0 : _b;
+ if (opts === void 0) { opts = { min: 0, max: core_1.DEFAULT_RANDOM_NUMBERS_MAX }; }
+ assertTypeOf(amount, 'number', 'amount');
+ assertTypeOf(opts.max, 'number', 'opts.max');
+ assertTypeOf(opts.min, 'number', 'opts.min');
+ assertMin(amount, 'amount', 0);
+ assertInteger(amount, 'amount');
+ var max = opts.max, min = opts.min;
var internal = [];
for (var i = 0; i < amount; i++) {
- internal[internal.length] = (0, random_1.random)(max, min);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ internal[internal.length] = random(max, min);
}
return internal;
}
-exports.randomIntegers = randomIntegers;
+randomIntegers.randomIntegers = randomIntegers;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomIntegers, 'randomIntegers', { enumerable: false });
+module.exports = randomIntegers;
diff --git a/cjs/random-letter.d.ts b/cjs/random-letter.d.ts
index 489d67e..863a798 100644
--- a/cjs/random-letter.d.ts
+++ b/cjs/random-letter.d.ts
@@ -2,4 +2,8 @@
* Returns a random letter.
* @returns A random letter.
*/
-export declare function randomLetter(): string;
+declare function randomLetter(): string;
+declare namespace randomLetter {
+ var randomLetter: typeof import("./random-letter");
+}
+export = randomLetter;
diff --git a/cjs/random-letter.js b/cjs/random-letter.js
index 403c629..9eb45b1 100644
--- a/cjs/random-letter.js
+++ b/cjs/random-letter.js
@@ -1,13 +1,14 @@
"use strict";
-exports.__esModule = true;
-exports.randomLetter = void 0;
+var _a;
var core_1 = require("./core");
-var random_from_array_1 = require("./random-from-array");
+var randomFromArray = require("./random-from-array");
/**
* Returns a random letter.
* @returns A random letter.
*/
function randomLetter() {
- return (0, random_from_array_1.randomFromArray)(core_1.LETTERS);
+ return randomFromArray(core_1.LETTERS);
}
-exports.randomLetter = randomLetter;
+randomLetter.randomLetter = randomLetter;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomLetter, 'randomLetter', { enumerable: false });
+module.exports = randomLetter;
diff --git a/cjs/random-letters.d.ts b/cjs/random-letters.d.ts
index 584e6ed..2a24337 100644
--- a/cjs/random-letters.d.ts
+++ b/cjs/random-letters.d.ts
@@ -3,4 +3,8 @@
* @param amount How many random letters to return.
* @returns An array of random letters.
*/
-export declare function randomLetters(amount: number): string[];
+declare function randomLetters(amount: number): string[];
+declare namespace randomLetters {
+ var randomLetters: typeof import("./random-letters");
+}
+export = randomLetters;
diff --git a/cjs/random-letters.js b/cjs/random-letters.js
index 5b4e85d..a00bd40 100644
--- a/cjs/random-letters.js
+++ b/cjs/random-letters.js
@@ -1,8 +1,7 @@
"use strict";
-exports.__esModule = true;
-exports.randomLetters = void 0;
+var _a;
var core_1 = require("./core");
-var random_from_array_1 = require("./random-from-array");
+var randomFromArray = require("./random-from-array");
/**
* Returns `amount` random letters.
* @param amount How many random letters to return.
@@ -11,6 +10,8 @@ var random_from_array_1 = require("./random-from-array");
function randomLetters(amount) {
if (amount === 0)
return [];
- return (0, random_from_array_1.randomFromArray)(core_1.LETTERS, amount);
+ return randomFromArray(core_1.LETTERS, amount);
}
-exports.randomLetters = randomLetters;
+randomLetters.randomLetters = randomLetters;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomLetters, 'randomLetters', { enumerable: false });
+module.exports = randomLetters;
diff --git a/cjs/random-lower.d.ts b/cjs/random-lower.d.ts
index b9a7d49..46aadde 100644
--- a/cjs/random-lower.d.ts
+++ b/cjs/random-lower.d.ts
@@ -2,4 +2,8 @@
* Returns a random lowercase letter.
* @returns A random lowercase letter.
*/
-export declare function randomLower(): string;
+declare function randomLower(): string;
+declare namespace randomLower {
+ var randomLower: typeof import("./random-lower");
+}
+export = randomLower;
diff --git a/cjs/random-lower.js b/cjs/random-lower.js
index b9126e8..6746c05 100644
--- a/cjs/random-lower.js
+++ b/cjs/random-lower.js
@@ -1,13 +1,14 @@
"use strict";
-exports.__esModule = true;
-exports.randomLower = void 0;
+var _a;
var core_1 = require("./core");
-var random_from_array_1 = require("./random-from-array");
+var randomFromArray = require("./random-from-array");
/**
* Returns a random lowercase letter.
* @returns A random lowercase letter.
*/
function randomLower() {
- return (0, random_from_array_1.randomFromArray)(core_1.LOWERS);
+ return randomFromArray(core_1.LOWERS);
}
-exports.randomLower = randomLower;
+randomLower.randomLower = randomLower;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomLower, 'randomLower', { enumerable: false });
+module.exports = randomLower;
diff --git a/cjs/random-lowers.d.ts b/cjs/random-lowers.d.ts
index 45412ce..7b520f0 100644
--- a/cjs/random-lowers.d.ts
+++ b/cjs/random-lowers.d.ts
@@ -3,4 +3,8 @@
* @param amount How many random lowercase letters to return.
* @returns An array of random lowercase letters.
*/
-export declare function randomLowers(amount: number): string[];
+declare function randomLowers(amount: number): string[];
+declare namespace randomLowers {
+ var randomLowers: typeof import("./random-lowers");
+}
+export = randomLowers;
diff --git a/cjs/random-lowers.js b/cjs/random-lowers.js
index 3e3db16..52ab72b 100644
--- a/cjs/random-lowers.js
+++ b/cjs/random-lowers.js
@@ -1,8 +1,7 @@
"use strict";
-exports.__esModule = true;
-exports.randomLowers = void 0;
+var _a;
var core_1 = require("./core");
-var random_from_array_1 = require("./random-from-array");
+var randomFromArray = require("./random-from-array");
/**
* Returns `amount` random lowercase letters.
* @param amount How many random lowercase letters to return.
@@ -11,6 +10,8 @@ var random_from_array_1 = require("./random-from-array");
function randomLowers(amount) {
if (amount === 0)
return [];
- return (0, random_from_array_1.randomFromArray)(core_1.LOWERS, amount);
+ return randomFromArray(core_1.LOWERS, amount);
}
-exports.randomLowers = randomLowers;
+randomLowers.randomLowers = randomLowers;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomLowers, 'randomLowers', { enumerable: false });
+module.exports = randomLowers;
diff --git a/cjs/random-phone.d.ts b/cjs/random-phone.d.ts
new file mode 100644
index 0000000..52ad97c
--- /dev/null
+++ b/cjs/random-phone.d.ts
@@ -0,0 +1,17 @@
+/**
+ * Generates a 10-digit random phone number of the form `+xx xxx xxxxxxx`, where `x` is a digit.
+ *
+ * @param countryCode The code of the country to which the number would belong to.
+ * Must be between 1 and 999.
+ */
+declare function randomPhone(countryCode: number): string;
+/**
+ * Generates a random phone number of the form `+xx xxx x...`, where `x` is a digit.
+ *
+ * @param countryCode The code of the country to which the number would belong to.
+ * Must be between 1 and 999.
+ * @param digitCount The amount of digits the phone number must have beside the country
+ * code. All digits beyond that count will be added to the `x...` block.
+ */
+declare function randomPhone(countryCode: number, digitCount: number): string;
+export = randomPhone;
diff --git a/cjs/random-phone.js b/cjs/random-phone.js
new file mode 100644
index 0000000..1876734
--- /dev/null
+++ b/cjs/random-phone.js
@@ -0,0 +1,23 @@
+"use strict";
+var random_integers_1 = require("./random-integers");
+var assertInteger = require("@santi100/assertion-lib/cjs/integer");
+var assertPositive = require("@santi100/assertion-lib/cjs/positive");
+var assertRange = require("@santi100/assertion-lib/cjs/range");
+var assertTypeOf = require("@santi100/assertion-lib/cjs/type-of");
+/** Implementation */
+function randomPhone(countryCode, digitCount) {
+ if (digitCount === void 0) { digitCount = 10; }
+ assertTypeOf(countryCode, 'number', 'countryCode');
+ assertInteger(countryCode, 'countryCode');
+ assertPositive(countryCode, 'countryCode');
+ assertRange(countryCode, 'countryCode', 1, 999);
+ assertTypeOf(digitCount, 'number', 'digitCount');
+ assertInteger(digitCount, 'digitCount');
+ assertPositive(digitCount, 'digitCount');
+ var digits = (0, random_integers_1.randomIntegers)(digitCount, { max: 10, min: 0 });
+ var phoneNumber = "+".concat(countryCode, " ").concat(digits
+ .join('')
+ .substring(0, 3), " ").concat(digits.join('').substring(3));
+ return phoneNumber;
+}
+module.exports = randomPhone;
diff --git a/cjs/random-phrase.d.ts b/cjs/random-phrase.d.ts
index d63f919..f284c44 100644
--- a/cjs/random-phrase.d.ts
+++ b/cjs/random-phrase.d.ts
@@ -3,7 +3,7 @@
*
* **Keep in mind these phrases have NO GRAMATICAL sense and are generated from a list of random words.**
*/
-export declare function randomPhrase(): string;
+declare function randomPhrase(): string;
/**
* Generate a random phrase with `wordCount` words.
*
@@ -11,4 +11,8 @@ export declare function randomPhrase(): string;
*
* @param wordCount The amount of words to use in the phrase.
*/
-export declare function randomPhrase(wordCount: number): string;
+declare function randomPhrase(wordCount: number): string;
+declare namespace randomPhrase {
+ var randomPhrase: typeof import("./random-phrase");
+}
+export = randomPhrase;
diff --git a/cjs/random-phrase.js b/cjs/random-phrase.js
index ea09927..5f74174 100644
--- a/cjs/random-phrase.js
+++ b/cjs/random-phrase.js
@@ -1,13 +1,14 @@
"use strict";
-exports.__esModule = true;
-exports.randomPhrase = void 0;
-var assertion_lib_1 = require("@santi100/assertion-lib");
+var _a;
+var type_of_1 = require("@santi100/assertion-lib/cjs/type-of");
var core_1 = require("./core");
var random_from_array_1 = require("./random-from-array");
function randomPhrase(wordCount) {
if (wordCount === void 0) { wordCount = 6; }
- (0, assertion_lib_1.assertTypeOf)(wordCount, 'number', 'wordCount');
+ (0, type_of_1.assertTypeOf)(wordCount, 'number', 'wordCount');
var words = (0, random_from_array_1.randomFromArray)(core_1.WORDLIST, wordCount);
return words.join(' ');
}
-exports.randomPhrase = randomPhrase;
+randomPhrase.randomPhrase = randomPhrase;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomPhrase, 'randomPhrase', { enumerable: false });
+module.exports = randomPhrase;
diff --git a/cjs/random-upper.d.ts b/cjs/random-upper.d.ts
index f811982..64c9fdd 100644
--- a/cjs/random-upper.d.ts
+++ b/cjs/random-upper.d.ts
@@ -2,4 +2,8 @@
* Returns a random uppercase letter.
* @returns A random uppercase letter.
*/
-export declare function randomUpper(): string;
+declare function randomUpper(): string;
+declare namespace randomUpper {
+ var randomUpper: typeof import("./random-upper");
+}
+export = randomUpper;
diff --git a/cjs/random-upper.js b/cjs/random-upper.js
index ef0ba70..de84dd7 100644
--- a/cjs/random-upper.js
+++ b/cjs/random-upper.js
@@ -1,6 +1,5 @@
"use strict";
-exports.__esModule = true;
-exports.randomUpper = void 0;
+var _a;
var core_1 = require("./core");
var random_from_array_1 = require("./random-from-array");
/**
@@ -10,4 +9,6 @@ var random_from_array_1 = require("./random-from-array");
function randomUpper() {
return (0, random_from_array_1.randomFromArray)(core_1.UPPERS);
}
-exports.randomUpper = randomUpper;
+randomUpper.randomUpper = randomUpper;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomUpper, 'randomUpper', { enumerable: false });
+module.exports = randomUpper;
diff --git a/cjs/random-uppers.d.ts b/cjs/random-uppers.d.ts
index da1320e..b18c08a 100644
--- a/cjs/random-uppers.d.ts
+++ b/cjs/random-uppers.d.ts
@@ -3,4 +3,8 @@
* @param amount How many random uppercase letters to return.
* @returns An array of random uppercase letters.
*/
-export declare function randomUppers(amount: number): string[];
+declare function randomUppers(amount: number): string[];
+declare namespace randomUppers {
+ var randomUppers: typeof import("./random-uppers");
+}
+export = randomUppers;
diff --git a/cjs/random-uppers.js b/cjs/random-uppers.js
index 4c0c7cf..abcd107 100644
--- a/cjs/random-uppers.js
+++ b/cjs/random-uppers.js
@@ -1,6 +1,5 @@
"use strict";
-exports.__esModule = true;
-exports.randomUppers = void 0;
+var _a;
var core_1 = require("./core");
var random_from_array_1 = require("./random-from-array");
/**
@@ -13,4 +12,6 @@ function randomUppers(amount) {
return [];
return (0, random_from_array_1.randomFromArray)(core_1.UPPERS, amount);
}
-exports.randomUppers = randomUppers;
+randomUppers.randomUppers = randomUppers;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomUppers, 'randomUppers', { enumerable: false });
+module.exports = randomUppers;
diff --git a/cjs/random-uuid.d.ts b/cjs/random-uuid.d.ts
index 3e82b27..aa56a48 100644
--- a/cjs/random-uuid.d.ts
+++ b/cjs/random-uuid.d.ts
@@ -1,4 +1,8 @@
/**
* Generates a pseudo-random UUID v4.
*/
-export declare function randomUUID(): string;
+declare function randomUUID(): string;
+declare namespace randomUUID {
+ var randomUUID: typeof import("./random-uuid");
+}
+export = randomUUID;
diff --git a/cjs/random-uuid.js b/cjs/random-uuid.js
index 98ad5a3..67dac2b 100644
--- a/cjs/random-uuid.js
+++ b/cjs/random-uuid.js
@@ -1,6 +1,5 @@
"use strict";
-exports.__esModule = true;
-exports.randomUUID = void 0;
+var _a;
var random_1 = require("./random");
function __map(array, cb) {
var m = [];
@@ -29,7 +28,7 @@ function randomUUID() {
sectionString += validChars.charAt(randomIndex);
}
else {
- var randomIndex = Math.floor(Math.random() * characters.length);
+ var randomIndex = (0, random_1.random)(characters.length);
sectionString += characters.charAt(randomIndex);
}
}
@@ -37,4 +36,6 @@ function randomUUID() {
});
return uuidSections.join('-');
}
-exports.randomUUID = randomUUID;
+randomUUID.randomUUID = randomUUID;
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomUUID, 'randomUUID', { enumerable: false });
+module.exports = randomUUID;
diff --git a/cjs/random.d.ts b/cjs/random.d.ts
index be9e37e..817426e 100644
--- a/cjs/random.d.ts
+++ b/cjs/random.d.ts
@@ -1,7 +1,15 @@
/**
- * Returns a pseudo-random integer between min and max.
+ * Returns a pseudo-random integer up to `max` (exclusive).
* @param max The maximum value.
- * @param min The minimum value (0 by default).
- * @returns A pseudo-random integer between min and max.
*/
-export declare function random(max: number, min?: number): number;
+declare function random(max: number): number;
+/**
+ * Returns a pseudo-random integer in the range [`min`, `max`).
+ * @param max The maximum value.
+ * @param min The minimum value.
+ */
+declare function random(max: number, min: number): number;
+declare namespace random {
+ var random: typeof import("./random");
+}
+export = random;
diff --git a/cjs/random.js b/cjs/random.js
index 833fd39..ff7ca2d 100644
--- a/cjs/random.js
+++ b/cjs/random.js
@@ -1,13 +1,6 @@
"use strict";
-exports.__esModule = true;
-exports.random = void 0;
+var _a;
var assertion_lib_1 = require("@santi100/assertion-lib");
-/**
- * Returns a pseudo-random integer between min and max.
- * @param max The maximum value.
- * @param min The minimum value (0 by default).
- * @returns A pseudo-random integer between min and max.
- */
function random(max, min) {
if (min === void 0) { min = 0; }
(0, assertion_lib_1.assertTypeOf)(max, 'number', 'max');
@@ -24,4 +17,6 @@ function random(max, min) {
return Math.floor(Math.random() * max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
-exports.random = random;
+random.random = random; // for backward compatibility and destructuring support
+(_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, random, 'random', { enumerable: false });
+module.exports = random;
diff --git a/index.mjs b/index.mjs
index f3f7e6c..efd8c3d 100644
--- a/index.mjs
+++ b/index.mjs
@@ -22,4 +22,4 @@ export const {
randomPhrase,
randomUUID,
} = cjsModule;
-export default cjsModule['default'];
+export default cjsModule;
diff --git a/package.json b/package.json
index 5b1781d..573508f 100644
--- a/package.json
+++ b/package.json
@@ -1,50 +1,52 @@
{
- "name": "@santi100/random-lib",
- "version": "1.1.6",
- "main": "./cjs/index.js",
- "typings": "./cjs/index.d.ts",
- "module": "./index.mjs",
- "umd:main": "./umd/index.js",
- "license": "MIT",
- "readme": "README.md",
- "description": "Santi's Random Library: Randomize pretty much everything!",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/santi100a"
- }
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/santi100a/random-lib"
- },
- "scripts": {
- "test": "jest --verbose",
- "build": "tsc",
- "build:umd": "tsc --module umd --outDir umd --moduleResolution node --declaration false",
- "dev": "tsc -w",
- "lint": "eslint src/*.ts",
- "prettify": "prettier --write .",
- "esm-wrapper": "node scripts/esm-wrapper.js",
- "fix-lint": "eslint src/*.ts --fix",
- "test:watch": "jest --verbose --watchAll"
- },
- "keywords": [
- "random",
- "lightweight",
- "es3"
- ],
- "dependencies": {
- "@santi100/assertion-lib": "^1.0.8"
- },
- "devDependencies": {
- "@types/jest": "^29.5.0",
- "@typescript-eslint/eslint-plugin": "^5.58.0",
- "@typescript-eslint/parser": "^5.58.0",
- "eslint": "^8.38.0",
- "eslint-plugin-jest": "^27.2.1",
- "jest": "^29.5.0",
- "prettier": "^2.8.7",
- "typescript": "^4.9.5"
- }
+ "name": "@santi100/random-lib",
+ "version": "1.1.7",
+ "main": "./cjs/index.js",
+ "typings": "./cjs/index.d.ts",
+ "module": "./index.mjs",
+ "umd:main": "./umd/index.js",
+ "license": "MIT",
+ "readme": "README.md",
+ "description": "Santi's Random Library: Randomize pretty much everything!",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/santi100a"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/santi100a/random-lib"
+ },
+ "scripts": {
+ "test": "jest --verbose",
+ "build": "tsc",
+ "build:umd": "tsc --module umd --outDir umd --moduleResolution node --declaration false",
+ "dev": "tsc -w",
+ "lint": "eslint src/*.ts",
+ "prettify": "prettier --write .",
+ "esm-wrapper": "node scripts/esm-wrapper.js",
+ "fix-lint": "eslint src/*.ts --fix",
+ "test:watch": "jest --verbose --watchAll",
+ "check-links": "remark --frail ."
+ },
+ "keywords": [
+ "random",
+ "lightweight",
+ "es3"
+ ],
+ "dependencies": {
+ "@santi100/assertion-lib": "^2.0.1"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.0",
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
+ "@typescript-eslint/parser": "^5.58.0",
+ "eslint": "^8.38.0",
+ "eslint-plugin-jest": "^27.2.1",
+ "jest": "^29.5.0",
+ "prettier": "^2.8.7",
+ "remark-cli": "^11.0.0",
+ "remark-gfm": "^3.0.1",
+ "remark-validate-links": "^12.1.1",
+ "typescript": "^4.9.5"
+ }
}
diff --git a/scripts/esm-wrapper.js b/scripts/esm-wrapper.js
index 7a16214..17fed80 100644
--- a/scripts/esm-wrapper.js
+++ b/scripts/esm-wrapper.js
@@ -1,14 +1,20 @@
+console.clear();
+// eslint-disable-next-line @typescript-eslint/no-var-requires
const { writeFileSync } = require('node:fs');
+console.log('🚚 Importing module...');
+// eslint-disable-next-line @typescript-eslint/no-var-requires
const cjsModule = require('../cjs/index.js');
const cjsExports = Object.keys(cjsModule);
const esmModuleContent = `import cjsModule from './cjs/index.js';
-export const { ${cjsExports
- .filter((exp) => exp !== 'default' && exp !== '__esModule')
- .join(', ')} } = cjsModule;
-${cjsExports.includes('default') ? "export default cjsModule['default'];" : ''}
+/*eslint no-empty-pattern: "warn"*/
+export const { ${cjsExports.filter(i => i !== 'default').join(', ')} } = cjsModule;
+${ cjsExports.includes('default') ? "export default cjsModule['default'];" : '' }
`;
-
+console.log('📦 Writing wrapper...')
writeFileSync('./index.mjs', esmModuleContent);
-require('node:child_process').execSync('npx prettier ./index.mjs');
+console.log('✨ Prettifying...');
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+require('node:child_process').execSync('npx prettier --write ./index.mjs');
+console.log('✅ Finished!');
\ No newline at end of file
diff --git a/scripts/validate-diff.sh b/scripts/validate-diff.sh
new file mode 100644
index 0000000..7e1c58c
--- /dev/null
+++ b/scripts/validate-diff.sh
@@ -0,0 +1,12 @@
+#! /usr/bin/env bash
+
+diff -q $1 $2
+FILE_CHANGED=$?
+
+if [ $FILE_CHANGED -ne 0 ]; then
+ echo "ERROR: $1 is not equal to $2." > /dev/stderr
+ exit 1
+else
+ echo "$1 is identical to $2."
+ exit 0
+fi
\ No newline at end of file
diff --git a/scripts/validate-package-json.js b/scripts/validate-package-json.js
new file mode 100644
index 0000000..21e3bdc
--- /dev/null
+++ b/scripts/validate-package-json.js
@@ -0,0 +1,77 @@
+console.clear();
+
+console.log('🚚 Importing package.json...');
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const json = require('../package.json');
+
+switch (typeof json.author) {
+ case 'string':
+ if (!json.author.trim()) throw new Error('❌ "author" invalid or missing.');
+ break;
+ case 'object':
+ if (json.author === null) throw new Error('❌ "author" invalid or missing.');
+ if (typeof json.author.name !== 'string' || !json.author.name.trim())
+ throw new Error('❌ "author.name" invalid or missing.');
+ if (
+ typeof json.author.email !== 'undefined' &&
+ (typeof json.author.email !== 'string' ||
+ !json.author.email.trim() ||
+ /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(json.author.email))
+ )
+ throw new Error('❌ "author.email" invalid or missing.');
+ if (typeof json.author.url !== 'undefined')
+ try {
+ new URL(json.author.url)
+ } catch (e) {
+ throw new Error('❌ "author.url" invalid or missing.')
+ }
+ break;
+ default:
+ throw new Error('❌ "author" invalid or missing.');
+}
+
+if (typeof json.description !== 'string' || !json.description.trim())
+ throw new Error('❌ "description" invalid or missing.');
+else console.log('✅ Description: ok');
+if (
+ !json.keywords ||
+ !(json.keywords instanceof Array) ||
+ json.keywords.length < 1
+)
+ throw new Error('❌ "keywords" invalid or missing.');
+else console.log('✅ Keywords: ok');
+
+if (
+ !json.repository ||
+ json.repository === null ||
+ typeof json.repository !== 'object'
+)
+ throw new Error('❌ "repository" invalid or missing.');
+else console.log('\t ✅ Repository is object: ok');
+
+if (json.repository.type !== 'git')
+throw new Error('❌ "repository.type" isn\'t Git.');
+else console.log('\t ✅ Repo type: ok');
+
+try {
+ new URL(json.repository.url);
+} catch (e) {
+ throw new Error(
+ ''.concat(e.message).includes('Invalid URL') ||
+ !''.concat(e.message).startsWith('https://')
+ ? '❌ "repository.url" is invalid.'
+ : String(e)
+ );
+}
+console.log('\t ✅ Repository URL is valid: ok');
+console.log('✅ Repository: ok');
+if (
+ (typeof json.scripts === 'object' && json.scripts === null) ||
+ typeof json.scripts !== 'object'
+)
+ throw new Error('❌ "scripts" invalid or missing.');
+if (json.scripts.prepublish)
+ throw new Error(
+ "❌ You're not allowed to have pre-publish scripts, as they could steal the " +
+ 'NPM token used for publishing.'
+ );
diff --git a/src/core.ts b/src/core.ts
index 4876467..f33902d 100644
--- a/src/core.ts
+++ b/src/core.ts
@@ -80,8 +80,8 @@ export const WORDLIST = [
* @since 1.1.1
*/
export interface RandomArraysOptions {
- max?: number;
- min?: number;
+ readonly max?: number;
+ readonly min?: number;
}
/**
* An array containing all 26 English lowercase letters.
diff --git a/src/index.ts b/src/index.ts
index a03e39c..1880651 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,20 +1,42 @@
+import randomPhone = require('./random-phone');
+import random = require('./random');
+import randomDate = require('./random-date');
+import randomDates = require('./random-dates');
+import randomFloat = require('./random-float');
+import randomFloats = require('./random-floats');
+import randomFromArray = require('./random-from-array');
+import randomIntegers = require('./random-integers');
+import randomLetter = require('./random-letter');
+import randomLetters = require('./random-letters');
+import randomLower = require('./random-lower');
+import randomLowers = require('./random-lowers');
+import randomUpper = require('./random-upper');
+import randomUppers = require('./random-uppers');
+import randomBoolean = require('./random-boolean');
+import randomUUID = require('./random-uuid');
+import randomPhrase = require('./random-phrase');
+import randomHexColor = require('./random-hex-color');
+
export * from './core';
-export * from './random';
-export * from './random-date';
-export * from './random-dates';
-export * from './random-float';
-export * from './random-floats';
-export * from './random-from-array';
-export * from './random-integers';
-export * from './random-letter';
-export * from './random-letters';
-export * from './random-lower';
-export * from './random-lowers';
-export * from './random-upper';
-export * from './random-uppers';
-export * from './random-boolean';
-export * from './random-phrase';
-export * from './random-uuid';
-export * from './random-hex-color';
+export {
+ randomPhone,
+ random,
+ randomBoolean,
+ randomDate,
+ randomDates,
+ randomFloat,
+ randomFloats,
+ randomFromArray,
+ randomIntegers,
+ randomLetter,
+ randomLetters,
+ randomLower,
+ randomLowers,
+ randomUUID,
+ randomUpper,
+ randomUppers,
+ randomPhrase,
+ randomHexColor,
+};
-export { random as default } from './random';
+export default random;
diff --git a/src/random-boolean.ts b/src/random-boolean.ts
index cceacb7..9062f85 100644
--- a/src/random-boolean.ts
+++ b/src/random-boolean.ts
@@ -3,7 +3,7 @@ import { randomFromArray } from './random-from-array';
/**
* Generates a random boolean value.
*/
-export function randomBoolean(): boolean {
+function randomBoolean(): boolean {
const array: AtLeastOneElement = [
true,
true,
@@ -14,3 +14,7 @@ export function randomBoolean(): boolean {
];
return randomFromArray(array);
}
+randomBoolean.randomBoolean = randomBoolean;
+Object?.defineProperty?.(randomBoolean, 'randomBoolean', { enumerable: false });
+
+export = randomBoolean;
\ No newline at end of file
diff --git a/src/random-date.ts b/src/random-date.ts
index 87926d2..1400844 100644
--- a/src/random-date.ts
+++ b/src/random-date.ts
@@ -1,5 +1,6 @@
-import { assertInstanceOf } from '@santi100/assertion-lib';
-import { random } from './random';
+import assertInstanceOf = require('@santi100/assertion-lib/cjs/instance-of');
+import random = require('./random');
+
/**
* Generates a random date between `minDate` and `maxDate`.
@@ -8,10 +9,14 @@ import { random } from './random';
* @param maxDate The maximum date to generate a random date from.
* @returns A `Date` object representing a random date between `minDate` and `maxDate`.
*/
-export function randomDate(minDate: Date, maxDate: Date) {
+function randomDate(minDate: Date, maxDate: Date) {
assertInstanceOf(minDate, Date);
assertInstanceOf(maxDate, Date);
const randomTs = random(maxDate.getTime(), minDate.getTime());
return new Date(randomTs);
}
+
+randomDate.randomDate = randomDate;
+Object?.defineProperty?.(randomDate, 'randomDate', { enumerable: false });
+export = randomDate;
\ No newline at end of file
diff --git a/src/random-dates.ts b/src/random-dates.ts
index 20086af..c85cc0e 100644
--- a/src/random-dates.ts
+++ b/src/random-dates.ts
@@ -1,5 +1,5 @@
-import { assertInstanceOf } from '@santi100/assertion-lib';
-import { randomIntegers } from './random-integers';
+import assertInstanceOf = require('@santi100/assertion-lib/cjs/instance-of');
+import randomIntegers = require('./random-integers');
/**
* Generates `amount` random dates between `minDate` and `maxDate`.
@@ -9,7 +9,7 @@ import { randomIntegers } from './random-integers';
* @param amount The amount of dates to generate.
* @returns An array of `Date` objects representing some random dates between `minDate` and `maxDate`.
*/
-export function randomDates(
+function randomDates(
minDate: Date,
maxDate: Date,
amount: number
@@ -27,3 +27,7 @@ export function randomDates(
}
return dates;
}
+
+randomDates.randomDate = randomDates;
+Object?.defineProperty?.(randomDates, 'randomDates', { enumerable: false });
+export = randomDates;
diff --git a/src/random-float.ts b/src/random-float.ts
index 03ba29a..373378b 100644
--- a/src/random-float.ts
+++ b/src/random-float.ts
@@ -1,4 +1,18 @@
-import { assertTypeOf, assertMax } from '@santi100/assertion-lib';
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
+import assertMax = require('@santi100/assertion-lib/cjs/max');
+
+
+/**
+ * Returns a pseudo-random integer up to `max` (exclusive).
+ * @param max The maximum value.
+ */
+function randomFloat(max: number): number;
+/**
+ * Returns a pseudo-random integer in the range [`min`, `max`).
+ * @param max The maximum value.
+ * @param min The minimum value.
+ */
+function randomFloat(max: number, min: number): number;
/**
* Returns a pseudo-random floating-point number between min and max.
@@ -6,10 +20,14 @@ import { assertTypeOf, assertMax } from '@santi100/assertion-lib';
* @param min The minimum value (0 by default).
* @returns A pseudo-random floating-point number between min and max.
*/
-export function randomFloat(max: number, min = 0.0): number {
+function randomFloat(max: number, min = 0.0): number {
assertTypeOf(max, 'number', 'max');
assertTypeOf(min, 'number', 'min');
assertMax(min, 'min', max - 1);
if (!min) return Math.random() * max;
return Math.random() * (max - min + 1.0) + min;
}
+
+randomFloat.randomFloat = randomFloat;
+Object?.defineProperty?.(randomFloat, 'randomFloat', { enumerable: false });
+export = randomFloat;
diff --git a/src/random-floats.ts b/src/random-floats.ts
index 6e4db42..e3008ab 100644
--- a/src/random-floats.ts
+++ b/src/random-floats.ts
@@ -1,10 +1,9 @@
-import {
- assertTypeOf,
- assertMin,
- assertInteger,
-} from '@santi100/assertion-lib';
import { RandomArraysOptions, DEFAULT_RANDOM_NUMBERS_MAX } from './core';
-import { randomFloat } from './random-float';
+import randomFloat = require('./random-float');
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
+import assertInteger = require('@santi100/assertion-lib/cjs/integer');
+import assertMin = require('@santi100/assertion-lib/cjs/min');
+
function __isNullOrUndefined(a: unknown) {
return a === null || a === undefined;
@@ -29,7 +28,7 @@ function __checkRandomArraysErrors(
* @param opts See {@link RandomArraysOptions}.
* @returns An array of random floating-point numbers.
*/
-export function randomFloats(
+function randomFloats(
amount = 4,
opts: RandomArraysOptions = {}
): number[] {
@@ -41,3 +40,7 @@ export function randomFloats(
}
return internal;
}
+
+randomFloats.randomFloats = randomFloats;
+Object?.defineProperty?.(randomFloats, 'randomFloats', { enumerable: false });
+export = randomFloats;
diff --git a/src/random-from-array.ts b/src/random-from-array.ts
index 3074748..0cd1e5d 100644
--- a/src/random-from-array.ts
+++ b/src/random-from-array.ts
@@ -1,17 +1,15 @@
-import {
- assertArray,
- assertMin,
- assertTypeOf,
- assertInteger,
-} from '@santi100/assertion-lib';
import { AtLeastOneElement } from './core';
-import { random } from './random';
+import random = require('./random');
+import assertArray = require('@santi100/assertion-lib/cjs/array');
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
+import assertInteger = require('@santi100/assertion-lib/cjs/integer');
+import assertMin = require('@santi100/assertion-lib/cjs/min');
/**
* Returns a random item from `array`.
* @param array The array from which you want to pick a random item.
* @returns A random item from the given array.
*/
-export function randomFromArray(array: AtLeastOneElement): T;
+function randomFromArray(array: AtLeastOneElement): T;
/**
*
* Returns `amount` random items from `array`.
@@ -20,7 +18,7 @@ export function randomFromArray(array: AtLeastOneElement): T;
* @returns An array of random items from the given array.
* @since 1.1.2
*/
-export function randomFromArray(
+function randomFromArray(
array: AtLeastOneElement,
amount: number
): T[];
@@ -30,7 +28,7 @@ export function randomFromArray(
* @param amount How many items do you want (default is 1).
* @returns A random item from the given array.
*/
-export function randomFromArray(
+function randomFromArray(
array: AtLeastOneElement,
amount = 1
): T | T[] {
@@ -48,3 +46,6 @@ export function randomFromArray(
}
return array[random(array.length)];
}
+randomFromArray.randomFromArray = randomFromArray;
+Object?.defineProperty?.(randomFromArray, 'randomFromArray', { enumerable: false });
+export = randomFromArray;
\ No newline at end of file
diff --git a/src/random-hex-color.ts b/src/random-hex-color.ts
index 957c241..1b186c4 100644
--- a/src/random-hex-color.ts
+++ b/src/random-hex-color.ts
@@ -1,18 +1,18 @@
-import { assertTypeOf } from '@santi100/assertion-lib';
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
import { AtLeastOneElement, LOWERS } from './core';
-import { randomFromArray } from './random-from-array';
+import randomFromArray = require('./random-from-array');
/**
* Generates a random hex colorcode.
*/
-export function randomHexColor(): string;
+function randomHexColor(): string;
/**
* Generates a random hex colorcode.
* @param shorthand Whether or not use a 3-character code instead of a 6-character one.
*/
-export function randomHexColor(shorthand: boolean): string;
+function randomHexColor(shorthand: boolean): string;
-export function randomHexColor(shorthand?: boolean) {
+function randomHexColor(shorthand?: boolean) {
if (shorthand !== undefined) assertTypeOf(shorthand, 'boolean', 'shorthand');
const chars: AtLeastOneElement = [
...('1234567890'.split('') as AtLeastOneElement),
@@ -20,3 +20,7 @@ export function randomHexColor(shorthand?: boolean) {
];
return `#${randomFromArray(chars, shorthand ? 3 : 6).join('')}`;
}
+
+randomHexColor.randomHexColor = randomHexColor;
+Object?.defineProperty?.(randomHexColor, 'randomHexColor', { enumerable: false });
+export = randomHexColor;
diff --git a/src/random-integers.ts b/src/random-integers.ts
index fc15dc8..d7fbbc9 100644
--- a/src/random-integers.ts
+++ b/src/random-integers.ts
@@ -1,25 +1,8 @@
-import {
- assertTypeOf,
- assertMin,
- assertInteger,
-} from '@santi100/assertion-lib';
import { RandomArraysOptions, DEFAULT_RANDOM_NUMBERS_MAX } from './core';
-import { random } from './random';
-function __isNullOrUndefined(a: unknown) {
- return a === null || a === undefined;
-}
-function __checkRandomArraysErrors(
- amount: number,
- opts: RandomArraysOptions
-): void {
- assertTypeOf(amount, 'number', 'amount');
- if (!__isNullOrUndefined(opts.max))
- assertTypeOf(opts.max, 'number', 'opts.max');
- if (!__isNullOrUndefined(opts.min))
- assertTypeOf(opts.min, 'number', 'opts.min');
- assertMin(amount, 'amount', 0);
- assertInteger(amount, 'amount');
-}
+import random = require('./random');
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
+import assertMin = require('@santi100/assertion-lib/cjs/min');
+import assertInteger = require('@santi100/assertion-lib/cjs/integer');
/**
* Returns an array with `amount` random integers.
@@ -28,15 +11,25 @@ function __checkRandomArraysErrors(
* @param opts See {@link RandomArraysOptions}.
* @returns An array of random integers.
*/
-export function randomIntegers(
+function randomIntegers(
amount = 4,
- opts: RandomArraysOptions = {}
+ opts: RandomArraysOptions = { min: 0, max: DEFAULT_RANDOM_NUMBERS_MAX }
): number[] {
- __checkRandomArraysErrors(amount, opts);
- const { max = DEFAULT_RANDOM_NUMBERS_MAX, min = 0 } = opts;
+ assertTypeOf(amount, 'number', 'amount');
+ assertTypeOf(opts.max, 'number', 'opts.max');
+ assertTypeOf(opts.min, 'number', 'opts.min');
+ assertMin(amount, 'amount', 0);
+ assertInteger(amount, 'amount');
+
+ const { max, min } = opts;
const internal = [];
for (let i = 0; i < amount; i++) {
- internal[internal.length] = random(max, min);
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ internal[internal.length] = random(max!, min!);
}
return internal;
}
+
+randomIntegers.randomIntegers = randomIntegers;
+Object?.defineProperty?.(randomIntegers, 'randomIntegers', { enumerable: false });
+export = randomIntegers;
diff --git a/src/random-letter.ts b/src/random-letter.ts
index 3edc982..714dfb0 100644
--- a/src/random-letter.ts
+++ b/src/random-letter.ts
@@ -1,10 +1,14 @@
import { LETTERS } from './core';
-import { randomFromArray } from './random-from-array';
+import randomFromArray = require('./random-from-array');
/**
* Returns a random letter.
* @returns A random letter.
*/
-export function randomLetter() {
+function randomLetter() {
return randomFromArray(LETTERS);
}
+
+randomLetter.randomLetter = randomLetter;
+Object?.defineProperty?.(randomLetter, 'randomLetter', { enumerable: false });
+export = randomLetter;
diff --git a/src/random-letters.ts b/src/random-letters.ts
index 0887990..da367a4 100644
--- a/src/random-letters.ts
+++ b/src/random-letters.ts
@@ -1,12 +1,16 @@
import { LETTERS } from './core';
-import { randomFromArray } from './random-from-array';
+import randomFromArray = require('./random-from-array');
/**
* Returns `amount` random letters.
* @param amount How many random letters to return.
* @returns An array of random letters.
*/
-export function randomLetters(amount: number) {
+function randomLetters(amount: number) {
if (amount === 0) return [];
return randomFromArray(LETTERS, amount);
}
+
+randomLetters.randomLetters = randomLetters;
+Object?.defineProperty?.(randomLetters, 'randomLetters', { enumerable: false });
+export = randomLetters;
\ No newline at end of file
diff --git a/src/random-lower.ts b/src/random-lower.ts
index b1d31e2..e6f0663 100644
--- a/src/random-lower.ts
+++ b/src/random-lower.ts
@@ -1,10 +1,13 @@
import { LOWERS } from './core';
-import { randomFromArray } from './random-from-array';
+import randomFromArray = require('./random-from-array');
/**
* Returns a random lowercase letter.
* @returns A random lowercase letter.
*/
-export function randomLower() {
+function randomLower() {
return randomFromArray(LOWERS);
}
+randomLower.randomLower = randomLower;
+Object?.defineProperty?.(randomLower, 'randomLower', { enumerable: false });
+export = randomLower;
\ No newline at end of file
diff --git a/src/random-lowers.ts b/src/random-lowers.ts
index 4a82aae..b1e82e6 100644
--- a/src/random-lowers.ts
+++ b/src/random-lowers.ts
@@ -1,12 +1,15 @@
import { LOWERS } from './core';
-import { randomFromArray } from './random-from-array';
+import randomFromArray = require('./random-from-array');
/**
* Returns `amount` random lowercase letters.
* @param amount How many random lowercase letters to return.
* @returns An array of random lowercase letters.
*/
-export function randomLowers(amount: number) {
+function randomLowers(amount: number) {
if (amount === 0) return [];
return randomFromArray(LOWERS, amount);
}
+randomLowers.randomLowers = randomLowers;
+Object?.defineProperty?.(randomLowers, 'randomLowers', { enumerable: false });
+export = randomLowers;
diff --git a/src/random-phone.ts b/src/random-phone.ts
new file mode 100644
index 0000000..ce2c550
--- /dev/null
+++ b/src/random-phone.ts
@@ -0,0 +1,43 @@
+import { randomIntegers } from './random-integers';
+import assertInteger = require('@santi100/assertion-lib/cjs/integer');
+import assertPositive = require('@santi100/assertion-lib/cjs/positive');
+import assertRange = require('@santi100/assertion-lib/cjs/range');
+import assertTypeOf = require('@santi100/assertion-lib/cjs/type-of');
+
+/**
+ * Generates a 10-digit random phone number of the form `+xx xxx xxxxxxx`, where `x` is a digit.
+ *
+ * @param countryCode The code of the country to which the number would belong to.
+ * Must be between 1 and 999.
+ */
+function randomPhone(countryCode: number): string;
+/**
+ * Generates a random phone number of the form `+xx xxx x...`, where `x` is a digit.
+ *
+ * @param countryCode The code of the country to which the number would belong to.
+ * Must be between 1 and 999.
+ * @param digitCount The amount of digits the phone number must have beside the country
+ * code. If bigger than 10, the extra digits will be added to the `x...` block.
+ */
+function randomPhone(countryCode: number, digitCount: number): string;
+
+/** Implementation */
+function randomPhone(countryCode: number, digitCount = 10): string {
+ assertTypeOf(countryCode, 'number', 'countryCode');
+ assertInteger(countryCode, 'countryCode');
+ assertPositive(countryCode, 'countryCode');
+ assertRange(countryCode, 'countryCode', 1, 999);
+
+ assertTypeOf(digitCount, 'number', 'digitCount');
+ assertInteger(digitCount, 'digitCount');
+ assertPositive(digitCount, 'digitCount');
+
+ const digits = randomIntegers(digitCount, { max: 10, min: 0 });
+ const phoneNumber = `+${countryCode} ${digits
+ .join('')
+ .substring(0, 3)} ${digits.join('').substring(3)}`;
+
+ return phoneNumber;
+}
+
+export = randomPhone;
diff --git a/src/random-phrase.ts b/src/random-phrase.ts
index 2a9717a..8c1477d 100644
--- a/src/random-phrase.ts
+++ b/src/random-phrase.ts
@@ -1,4 +1,4 @@
-import { assertTypeOf } from '@santi100/assertion-lib';
+import { assertTypeOf } from '@santi100/assertion-lib/cjs/type-of';
import { AtLeastOneElement, WORDLIST } from './core';
import { randomFromArray } from './random-from-array';
@@ -7,7 +7,7 @@ import { randomFromArray } from './random-from-array';
*
* **Keep in mind these phrases have NO GRAMATICAL sense and are generated from a list of random words.**
*/
-export function randomPhrase(): string;
+function randomPhrase(): string;
/**
* Generate a random phrase with `wordCount` words.
*
@@ -15,8 +15,8 @@ export function randomPhrase(): string;
*
* @param wordCount The amount of words to use in the phrase.
*/
-export function randomPhrase(wordCount: number): string;
-export function randomPhrase(wordCount = 6) {
+function randomPhrase(wordCount: number): string;
+function randomPhrase(wordCount = 6) {
assertTypeOf(wordCount, 'number', 'wordCount');
const words = randomFromArray(
WORDLIST as AtLeastOneElement,
@@ -24,3 +24,7 @@ export function randomPhrase(wordCount = 6) {
);
return words.join(' ');
}
+
+randomPhrase.randomPhrase = randomPhrase;
+Object?.defineProperty?.(randomPhrase, 'randomPhrase', { enumerable: false });
+export = randomPhrase;
diff --git a/src/random-upper.ts b/src/random-upper.ts
index 77c240c..9a44db4 100644
--- a/src/random-upper.ts
+++ b/src/random-upper.ts
@@ -5,6 +5,9 @@ import { randomFromArray } from './random-from-array';
* Returns a random uppercase letter.
* @returns A random uppercase letter.
*/
-export function randomUpper() {
+function randomUpper() {
return randomFromArray(UPPERS);
}
+randomUpper.randomUpper = randomUpper;
+Object?.defineProperty?.(randomUpper, 'randomUpper', { enumerable: false });
+export = randomUpper;
\ No newline at end of file
diff --git a/src/random-uppers.ts b/src/random-uppers.ts
index 52ced21..c9dad4d 100644
--- a/src/random-uppers.ts
+++ b/src/random-uppers.ts
@@ -6,7 +6,11 @@ import { randomFromArray } from './random-from-array';
* @param amount How many random uppercase letters to return.
* @returns An array of random uppercase letters.
*/
-export function randomUppers(amount: number) {
+function randomUppers(amount: number) {
if (amount === 0) return [];
return randomFromArray(UPPERS, amount);
}
+
+randomUppers.randomUppers = randomUppers;
+Object?.defineProperty?.(randomUppers, 'randomUppers', { enumerable: false });
+export = randomUppers;
\ No newline at end of file
diff --git a/src/random-uuid.ts b/src/random-uuid.ts
index 75c830e..2b4a9d1 100644
--- a/src/random-uuid.ts
+++ b/src/random-uuid.ts
@@ -10,7 +10,7 @@ function __map(array: T[], cb: (i: T, idx: number) => unknown) {
/**
* Generates a pseudo-random UUID v4.
*/
-export function randomUUID() {
+function randomUUID() {
const characters = 'abcdef0123456789';
const sections = [8, 4, 4, 4, 12];
@@ -26,7 +26,7 @@ export function randomUUID() {
const validChars = '89ab';
sectionString += validChars.charAt(randomIndex);
} else {
- const randomIndex = Math.floor(Math.random() * characters.length);
+ const randomIndex = random(characters.length);
sectionString += characters.charAt(randomIndex);
}
}
@@ -35,3 +35,6 @@ export function randomUUID() {
return uuidSections.join('-');
}
+randomUUID.randomUUID = randomUUID;
+Object?.defineProperty?.(randomUUID, 'randomUUID', { enumerable: false });
+export = randomUUID;
\ No newline at end of file
diff --git a/src/random.ts b/src/random.ts
index 8ea19a1..5709f09 100644
--- a/src/random.ts
+++ b/src/random.ts
@@ -6,12 +6,19 @@ import {
} from '@santi100/assertion-lib';
/**
- * Returns a pseudo-random integer between min and max.
+ * Returns a pseudo-random integer up to `max` (exclusive).
* @param max The maximum value.
- * @param min The minimum value (0 by default).
- * @returns A pseudo-random integer between min and max.
*/
-export function random(max: number, min = 0): number {
+function random(max: number): number;
+/**
+ * Returns a pseudo-random integer in the range [`min`, `max`).
+ * @param max The maximum value.
+ * @param min The minimum value.
+ */
+function random(max: number, min: number): number;
+
+
+function random(max: number, min = 0): number {
assertTypeOf(max, 'number', 'max');
assertTypeOf(min, 'number', 'min');
assertInteger(max, 'max');
@@ -23,3 +30,8 @@ export function random(max: number, min = 0): number {
if (!min) return Math.floor(Math.random() * max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
+
+random.random = random; // for backward compatibility and destructuring support
+Object?.defineProperty?.(random, 'random', { enumerable: false });
+
+export = random;
diff --git a/tests/phone.test.js b/tests/phone.test.js
new file mode 100644
index 0000000..4fca8b4
--- /dev/null
+++ b/tests/phone.test.js
@@ -0,0 +1,28 @@
+describe('randomPhone', () => {
+ const randomPhone = require('../cjs/random-phone');
+ describe('error handling', () => {
+ test('invalid country codes', () => {
+ expect(randomPhone).toThrow();
+ expect(() => randomPhone(-1)).toThrow(/must be positive/);
+ expect(() => randomPhone(3.5)).toThrow(/must be an integer/);
+ expect(() => randomPhone('not a number')).toThrow(/must be of type/);
+ expect(() => randomPhone(1_378)).toThrow(/must be smaller/);
+ });
+ test('invalid lengths', () => {
+ expect(randomPhone).toThrow();
+ expect(() => randomPhone(57, -1)).toThrow(/must be positive/);
+ expect(() => randomPhone(1, 3.5)).toThrow(/must be an integer/);
+ expect(() => randomPhone(43, 'not a number')).toThrow(/must be of type/);
+ });
+ });
+ test('happy path: the generated number matches a regex', () => {
+ const countryCode = 57;
+ const phone = randomPhone(countryCode);
+ expect(phone).toMatch(/\+\d{2} \d{3} \d{7}/);
+ });
+ test('happy path: the generated number matches a regex when specifying a length', () => {
+ const countryCode = 59;
+ const phone = randomPhone(countryCode, 13);
+ expect(phone).toMatch(/\+\d{2} \d{3} \d{10}/);
+ });
+});
\ No newline at end of file
diff --git a/umd/index.js b/umd/index.js
index f760445..88e3d3a 100644
--- a/umd/index.js
+++ b/umd/index.js
@@ -18,12 +18,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
- define(["require", "exports", "./core", "./random", "./random-date", "./random-dates", "./random-float", "./random-floats", "./random-from-array", "./random-integers", "./random-letter", "./random-letters", "./random-lower", "./random-lowers", "./random-upper", "./random-uppers", "./random-boolean", "./random-phrase", "./random-uuid", "./random-hex-color", "./random"], factory);
+ define(["require", "exports", "./random-phone", "./random", "./core", "./random", "./random-date", "./random-dates", "./random-float", "./random-floats", "./random-from-array", "./random-integers", "./random-letter", "./random-letters", "./random-lower", "./random-lowers", "./random-upper", "./random-uppers", "./random-boolean", "./random-phrase", "./random-uuid", "./random-hex-color"], factory);
}
})(function (require, exports) {
"use strict";
exports.__esModule = true;
- exports["default"] = void 0;
+ exports.randomPhone = void 0;
+ var randomPhone = require("./random-phone");
+ exports.randomPhone = randomPhone;
+ var random_1 = require("./random");
__exportStar(require("./core"), exports);
__exportStar(require("./random"), exports);
__exportStar(require("./random-date"), exports);
@@ -42,6 +45,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
__exportStar(require("./random-phrase"), exports);
__exportStar(require("./random-uuid"), exports);
__exportStar(require("./random-hex-color"), exports);
- var random_1 = require("./random");
- __createBinding(exports, random_1, "random", "default");
+ exports["default"] = random_1.random;
});
diff --git a/umd/random-boolean.js b/umd/random-boolean.js
index 5415f26..d0e4b48 100644
--- a/umd/random-boolean.js
+++ b/umd/random-boolean.js
@@ -11,6 +11,9 @@
exports.__esModule = true;
exports.randomBoolean = void 0;
var random_from_array_1 = require("./random-from-array");
+ /**
+ * Generates a random boolean value.
+ */
function randomBoolean() {
var array = [
true,
diff --git a/umd/random-dates.js b/umd/random-dates.js
index d8e57f2..078fb1d 100644
--- a/umd/random-dates.js
+++ b/umd/random-dates.js
@@ -4,13 +4,13 @@
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
- define(["require", "exports", "@santi100/assertion-lib", "./random-integers"], factory);
+ define(["require", "exports", "@santi100/assertion-lib/cjs/instance-of", "./random-integers"], factory);
}
})(function (require, exports) {
"use strict";
exports.__esModule = true;
exports.randomDates = void 0;
- var assertion_lib_1 = require("@santi100/assertion-lib");
+ var instance_of_1 = require("@santi100/assertion-lib/cjs/instance-of");
var random_integers_1 = require("./random-integers");
/**
* Generates `amount` random dates between `minDate` and `maxDate`.
@@ -21,8 +21,8 @@
* @returns An array of `Date` objects representing some random dates between `minDate` and `maxDate`.
*/
function randomDates(minDate, maxDate, amount) {
- (0, assertion_lib_1.assertInstanceOf)(minDate, Date);
- (0, assertion_lib_1.assertInstanceOf)(maxDate, Date);
+ (0, instance_of_1.assertInstanceOf)(minDate, Date);
+ (0, instance_of_1.assertInstanceOf)(maxDate, Date);
var randomTs = (0, random_integers_1.randomIntegers)(amount, {
max: maxDate.getTime(),
min: minDate.getTime()
diff --git a/umd/random-hex-color.js b/umd/random-hex-color.js
index 0400621..fbe6fb4 100644
--- a/umd/random-hex-color.js
+++ b/umd/random-hex-color.js
@@ -13,18 +13,18 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
- define(["require", "exports", "@santi100/assertion-lib", "./core", "./random-from-array"], factory);
+ define(["require", "exports", "@santi100/assertion-lib/cjs/type-of", "./core", "./random-from-array"], factory);
}
})(function (require, exports) {
"use strict";
exports.__esModule = true;
exports.randomHexColor = void 0;
- var assertion_lib_1 = require("@santi100/assertion-lib");
+ var type_of_1 = require("@santi100/assertion-lib/cjs/type-of");
var core_1 = require("./core");
var random_from_array_1 = require("./random-from-array");
function randomHexColor(shorthand) {
if (shorthand !== undefined)
- (0, assertion_lib_1.assertTypeOf)(shorthand, 'boolean', 'shorthand');
+ (0, type_of_1.assertTypeOf)(shorthand, 'boolean', 'shorthand');
var chars = __spreadArray(__spreadArray([], '1234567890'.split(''), true), core_1.LOWERS.slice(0, 5), true);
return "#".concat((0, random_from_array_1.randomFromArray)(chars, shorthand ? 3 : 6).join(''));
}
diff --git a/umd/random-phone.js b/umd/random-phone.js
new file mode 100644
index 0000000..16acec4
--- /dev/null
+++ b/umd/random-phone.js
@@ -0,0 +1,35 @@
+(function (factory) {
+ if (typeof module === "object" && typeof module.exports === "object") {
+ var v = factory(require, exports);
+ if (v !== undefined) module.exports = v;
+ }
+ else if (typeof define === "function" && define.amd) {
+ define(["require", "exports", "./random-integers", "@santi100/assertion-lib/cjs/integer", "@santi100/assertion-lib/cjs/positive", "@santi100/assertion-lib/cjs/range", "@santi100/assertion-lib/cjs/type-of"], factory);
+ }
+})(function (require, exports) {
+ "use strict";
+ var _a;
+ var random_integers_1 = require("./random-integers");
+ var assertInteger = require("@santi100/assertion-lib/cjs/integer");
+ var assertPositive = require("@santi100/assertion-lib/cjs/positive");
+ var range_1 = require("@santi100/assertion-lib/cjs/range");
+ var type_of_1 = require("@santi100/assertion-lib/cjs/type-of");
+ /** Implementation */
+ function randomPhone(countryCode, digitCount) {
+ if (digitCount === void 0) { digitCount = 10; }
+ (0, type_of_1.assertTypeOf)(countryCode, 'number', 'countryCode');
+ assertInteger(countryCode, 'countryCode');
+ assertPositive(countryCode, 'countryCode');
+ (0, range_1.assertRange)(countryCode, 'countryCode', 1, 999);
+ (0, type_of_1.assertTypeOf)(digitCount, 'number', 'digitCount');
+ assertInteger(digitCount, 'digitCount');
+ assertPositive(digitCount, 'digitCount');
+ var digits = (0, random_integers_1.randomIntegers)(digitCount, { max: 10, min: 0 });
+ var firstDigits = digits.slice(0, 3);
+ var lastDigits = digits.slice(3);
+ return "+".concat(countryCode, " ").concat(firstDigits.join(''), " ").concat(lastDigits.join(''));
+ }
+ randomPhone.randomPhone = randomPhone;
+ (_a = Object === null || Object === void 0 ? void 0 : Object.defineProperty) === null || _a === void 0 ? void 0 : _a.call(Object, randomPhone, 'randomPhone', { enumerable: false });
+ return randomPhone;
+});
diff --git a/umd/random-phrase.js b/umd/random-phrase.js
index 45a83b7..1e3d99e 100644
--- a/umd/random-phrase.js
+++ b/umd/random-phrase.js
@@ -4,18 +4,18 @@
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
- define(["require", "exports", "@santi100/assertion-lib", "./core", "./random-from-array"], factory);
+ define(["require", "exports", "@santi100/assertion-lib/cjs/type-of", "./core", "./random-from-array"], factory);
}
})(function (require, exports) {
"use strict";
exports.__esModule = true;
exports.randomPhrase = void 0;
- var assertion_lib_1 = require("@santi100/assertion-lib");
+ var type_of_1 = require("@santi100/assertion-lib/cjs/type-of");
var core_1 = require("./core");
var random_from_array_1 = require("./random-from-array");
function randomPhrase(wordCount) {
if (wordCount === void 0) { wordCount = 6; }
- (0, assertion_lib_1.assertTypeOf)(wordCount, 'number', 'wordCount');
+ (0, type_of_1.assertTypeOf)(wordCount, 'number', 'wordCount');
var words = (0, random_from_array_1.randomFromArray)(core_1.WORDLIST, wordCount);
return words.join(' ');
}
diff --git a/umd/random-uuid.js b/umd/random-uuid.js
index 97c4cb5..33dc090 100644
--- a/umd/random-uuid.js
+++ b/umd/random-uuid.js
@@ -19,7 +19,7 @@
return m;
}
/**
- * Generate a pseudo-random UUID v4.
+ * Generates a pseudo-random UUID v4.
*/
function randomUUID() {
var characters = 'abcdef0123456789';
diff --git a/yarn.lock b/yarn.lock
index 6fa6801..18c237f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -22,6 +22,14 @@
dependencies:
"@babel/highlight" "^7.22.5"
+"@babel/code-frame@^7.16.0":
+ version "7.22.10"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3"
+ integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==
+ dependencies:
+ "@babel/highlight" "^7.22.10"
+ chalk "^2.4.2"
+
"@babel/compat-data@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255"
@@ -153,6 +161,15 @@
"@babel/traverse" "^7.22.5"
"@babel/types" "^7.22.5"
+"@babel/highlight@^7.22.10":
+ version "7.22.10"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7"
+ integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.22.5"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+
"@babel/highlight@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031"
@@ -355,6 +372,18 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@isaacs/cliui@^8.0.2":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
+ integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
+ dependencies:
+ string-width "^5.1.2"
+ string-width-cjs "npm:string-width@^4.2.0"
+ strip-ansi "^7.0.1"
+ strip-ansi-cjs "npm:strip-ansi@^6.0.1"
+ wrap-ansi "^8.1.0"
+ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -621,17 +650,44 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@santi100/assertion-lib@^1.0.8":
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/@santi100/assertion-lib/-/assertion-lib-1.0.8.tgz#549182e6eeaae693081532405af653920985513b"
- integrity sha512-bgxIXipilU2ddeDyS6rZBLIr2aV4s9i323ajs1SCCWoIaRyGRDW31ZoKFeXOA/cJntwZFOD0AXopTcYti8nnjQ==
+"@npmcli/config@^6.0.0":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-6.2.1.tgz#954cc09b727b6bfc087cb1d2a48994dc342e45cc"
+ integrity sha512-Cj/OrSbrLvnwWuzquFCDTwFN8QmR+SWH6qLNCBttUreDkKM5D5p36SeSMbcEUiCGdwjUrVy2yd8C0REwwwDPEw==
+ dependencies:
+ "@npmcli/map-workspaces" "^3.0.2"
+ ci-info "^3.8.0"
+ ini "^4.1.0"
+ nopt "^7.0.0"
+ proc-log "^3.0.0"
+ read-package-json-fast "^3.0.2"
+ semver "^7.3.5"
+ walk-up-path "^3.0.1"
+
+"@npmcli/map-workspaces@^3.0.2":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz#15ad7d854292e484f7ba04bc30187a8320dba799"
+ integrity sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==
dependencies:
- "@santi100/equal-lib" "^1.0.8"
+ "@npmcli/name-from-folder" "^2.0.0"
+ glob "^10.2.2"
+ minimatch "^9.0.0"
+ read-package-json-fast "^3.0.0"
-"@santi100/equal-lib@^1.0.8":
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/@santi100/equal-lib/-/equal-lib-1.0.9.tgz#bac892efb695f12032eda478f6f8868ba49170c3"
- integrity sha512-PWimpdu6YA0gEfFCfYuwS79qUIX+et5CIunSCnXOZJVm7oTS1sL3fhfRp6V7R3fjoDFgWHGs23m6C+r9NIxuLQ==
+"@npmcli/name-from-folder@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815"
+ integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==
+
+"@pkgjs/parseargs@^0.11.0":
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
+ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
+
+"@santi100/assertion-lib@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@santi100/assertion-lib/-/assertion-lib-2.0.1.tgz#8cec6f64fa54a39bbc8c56ced41b51f6843158fb"
+ integrity sha512-CP5JCaSRIxRnaciS1WPy+z0ALMHELJqx4GoXa/lH6t/dXDkKZqAJcPFCZCvURrUzbq25Vcs/C+Ac5tQ8qZzehQ==
"@sinclair/typebox@^0.25.16":
version "0.25.24"
@@ -685,6 +741,20 @@
dependencies:
"@babel/types" "^7.20.7"
+"@types/concat-stream@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-2.0.0.tgz#a716f0ba9015014e643addb351da05a73bef425c"
+ integrity sha512-t3YCerNM7NTVjLuICZo5gYAXYoDvpuuTceCcFQWcDQz26kxUR5uIWolxbIR5jRNIXpMqhOpW/b8imCR1LEmuJw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/debug@^4.0.0":
+ version "4.1.8"
+ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317"
+ integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==
+ dependencies:
+ "@types/ms" "*"
+
"@types/graceful-fs@^4.1.3":
version "4.1.6"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae"
@@ -692,6 +762,11 @@
dependencies:
"@types/node" "*"
+"@types/is-empty@^1.0.0":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@types/is-empty/-/is-empty-1.2.1.tgz#18d7256a73e43ec51f8b75c25fbdc31350be52a6"
+ integrity sha512-a3xgqnFTuNJDm1fjsTjHocYJ40Cz3t8utYpi5GNaxzrJC2HSD08ym+whIL7fNqiqBCdM9bcqD1H/tORWAFXoZw==
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
@@ -724,11 +799,28 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
+"@types/mdast@^3.0.0":
+ version "3.0.12"
+ resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.12.tgz#beeb511b977c875a5b0cc92eab6fcac2f0895514"
+ integrity sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==
+ dependencies:
+ "@types/unist" "^2"
+
+"@types/ms@*":
+ version "0.7.31"
+ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
+ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
+
"@types/node@*":
version "20.3.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.2.tgz#fa6a90f2600e052a03c18b8cb3fd83dd4e599898"
integrity sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==
+"@types/node@^18.0.0":
+ version "18.17.5"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.5.tgz#c58b12bca8c2a437b38c15270615627e96dd0bc5"
+ integrity sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==
+
"@types/prettier@^2.1.5":
version "2.7.3"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f"
@@ -744,6 +836,21 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
+"@types/supports-color@^8.0.0":
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4"
+ integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==
+
+"@types/text-table@^0.2.0":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@types/text-table/-/text-table-0.2.2.tgz#774c90cfcfbc8b4b0ebb00fecbe861dc8b1e8e26"
+ integrity sha512-dGoI5Af7To0R2XE8wJuc6vwlavWARsCh3UKJPjWs1YEqGUqfgBI/j/4GX0yf19/DsDPPf0YAXWAp8psNeIehLg==
+
+"@types/unist@^2", "@types/unist@^2.0.0":
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6"
+ integrity sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==
+
"@types/yargs-parser@*":
version "21.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
@@ -840,6 +947,11 @@
"@typescript-eslint/types" "5.60.1"
eslint-visitor-keys "^3.3.0"
+abbrev@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
+ integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
+
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@@ -872,6 +984,11 @@ ansi-regex@^5.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+ansi-regex@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
+ integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
+
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -891,7 +1008,12 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-anymatch@^3.0.3:
+ansi-styles@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
+ integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
+anymatch@^3.0.3, anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
@@ -976,11 +1098,21 @@ babel-preset-jest@^29.5.0:
babel-plugin-jest-hoist "^29.5.0"
babel-preset-current-node-syntax "^1.0.0"
+bail@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
+ integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -989,7 +1121,14 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-braces@^3.0.2:
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^3.0.2, braces@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@@ -1033,12 +1172,22 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+camelcase@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048"
+ integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==
+
caniuse-lite@^1.0.30001503:
version "1.0.30001509"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz#2b7ad5265392d6d2de25cd8776d1ab3899570d14"
integrity sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==
-chalk@^2.0.0:
+ccount@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
+ integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
+
+chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1055,12 +1204,37 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^5.0.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
+ integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-ci-info@^3.2.0:
+character-entities@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
+ integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
+
+chokidar@^3.0.0:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+ci-info@^3.2.0, ci-info@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
@@ -1118,6 +1292,16 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+concat-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
+ integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.0.2"
+ typedarray "^0.0.6"
+
convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
@@ -1128,7 +1312,7 @@ convert-source-map@^2.0.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -1137,13 +1321,20 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
+decode-named-character-reference@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
+ integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
+ dependencies:
+ character-entities "^2.0.0"
+
dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
@@ -1159,6 +1350,11 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
+dequal@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
+ integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
@@ -1169,6 +1365,11 @@ diff-sequences@^29.4.3:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2"
integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
+diff@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
+ integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -1183,6 +1384,11 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
electron-to-chromium@^1.4.431:
version "1.4.445"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.445.tgz#058d2c5f3a2981ab1a37440f5a5e42d15672aa6d"
@@ -1198,7 +1404,12 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-error-ex@^1.3.1:
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+error-ex@^1.3.1, error-ex@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
@@ -1225,6 +1436,11 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+escape-string-regexp@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
+ integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+
eslint-plugin-jest@^27.2.1:
version "27.2.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.2.tgz#be4ded5f91905d9ec89aa8968d39c71f3b072c0c"
@@ -1372,6 +1588,11 @@ expect@^29.0.0, expect@^29.5.0:
jest-message-util "^29.5.0"
jest-util "^29.5.0"
+extend@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -1405,6 +1626,13 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fault@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c"
+ integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==
+ dependencies:
+ format "^0.2.0"
+
fb-watchman@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c"
@@ -1455,12 +1683,25 @@ flatted@^3.1.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
+foreground-child@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
+ integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
+ dependencies:
+ cross-spawn "^7.0.0"
+ signal-exit "^4.0.1"
+
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-fsevents@^2.3.2:
+fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -1490,7 +1731,12 @@ get-stream@^6.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-glob-parent@^5.1.2:
+github-slugger@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-2.0.0.tgz#52cf2f9279a21eb6c59dd385b410f0c0adda8f1a"
+ integrity sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -1504,6 +1750,17 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
+glob@^10.2.2:
+ version "10.3.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.3.tgz#8360a4ffdd6ed90df84aa8d52f21f452e86a123b"
+ integrity sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==
+ dependencies:
+ foreground-child "^3.1.0"
+ jackspeak "^2.0.3"
+ minimatch "^9.0.1"
+ minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
+ path-scurry "^1.10.1"
+
glob@^7.1.3, glob@^7.1.4:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -1516,6 +1773,17 @@ glob@^7.1.3, glob@^7.1.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^8.0.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+ integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -1572,6 +1840,13 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
+hosted-git-info@^6.0.0:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58"
+ integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==
+ dependencies:
+ lru-cache "^7.5.1"
+
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
@@ -1582,7 +1857,7 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-ignore@^5.2.0:
+ignore@^5.0.0, ignore@^5.2.0:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
@@ -1603,6 +1878,11 @@ import-local@^3.0.2:
pkg-dir "^4.2.0"
resolve-cwd "^3.0.0"
+import-meta-resolve@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz#75237301e72d1f0fbd74dbc6cca9324b164c2cc9"
+ integrity sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -1616,16 +1896,33 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2:
+inherits@2, inherits@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+ini@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1"
+ integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-buffer@^2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
+ integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
is-core-module@^2.11.0:
version "2.12.1"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
@@ -1633,6 +1930,11 @@ is-core-module@^2.11.0:
dependencies:
has "^1.0.3"
+is-empty@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b"
+ integrity sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==
+
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -1648,7 +1950,7 @@ is-generator-fn@^2.0.0:
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -1665,6 +1967,11 @@ is-path-inside@^3.0.3:
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+is-plain-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
+ integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
+
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -1717,6 +2024,15 @@ istanbul-reports@^3.1.3:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
+jackspeak@^2.0.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.2.3.tgz#ac63c57c18d254dc78a1f4ecd1cdeb4daeb6e616"
+ integrity sha512-pF0kfjmg8DJLxDrizHoCZGUFz4P4czQ3HyfW4BU0ffebYkzAVlBywp5zaxW/TM+r0sGbmrQdi8EQQVTJFxnGsQ==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+ optionalDependencies:
+ "@pkgjs/parseargs" "^0.11.0"
+
jest-changed-files@^29.5.0:
version "29.5.0"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e"
@@ -2103,11 +2419,16 @@ jsesc@^2.5.1:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-json-parse-even-better-errors@^2.3.0:
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-parse-even-better-errors@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7"
+ integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -2118,7 +2439,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-json5@^2.2.2:
+json5@^2.0.0, json5@^2.2.2:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -2128,11 +2449,21 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+kleur@^4.0.3:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
+ integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
+
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+levenshtein-edit-distance@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/levenshtein-edit-distance/-/levenshtein-edit-distance-1.0.0.tgz#895baf478cce8b5c1a0d27e45d7c1d978a661e49"
+ integrity sha512-gpgBvPn7IFIAL32f0o6Nsh2g+5uOvkt4eK9epTfgE4YVxBxwVhJ/p1888lMm/u8mXdu1ETLSi6zeEmkBI+0F3w==
+
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -2146,6 +2477,19 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+lines-and-columns@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b"
+ integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==
+
+load-plugin@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-5.1.0.tgz#15600f5191c742b16e058cfc908c227c13db0104"
+ integrity sha512-Lg1CZa1CFj2CbNaxijTL6PCbzd4qGTlZov+iH2p5Xwy/ApcZJh+i6jMN2cYePouTfjJfrNu3nXFdEw8LvbjPFQ==
+ dependencies:
+ "@npmcli/config" "^6.0.0"
+ import-meta-resolve "^2.0.0"
+
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -2165,6 +2509,11 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+longest-streak@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4"
+ integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -2179,6 +2528,16 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
+lru-cache@^7.5.1:
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89"
+ integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==
+
+"lru-cache@^9.1.1 || ^10.0.0":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a"
+ integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==
+
make-dir@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
@@ -2193,6 +2552,126 @@ makeerror@1.0.12:
dependencies:
tmpl "1.0.5"
+markdown-table@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd"
+ integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
+
+mdast-util-find-and-replace@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz#cc2b774f7f3630da4bd592f61966fecade8b99b1"
+ integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ escape-string-regexp "^5.0.0"
+ unist-util-is "^5.0.0"
+ unist-util-visit-parents "^5.0.0"
+
+mdast-util-from-markdown@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0"
+ integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ "@types/unist" "^2.0.0"
+ decode-named-character-reference "^1.0.0"
+ mdast-util-to-string "^3.1.0"
+ micromark "^3.0.0"
+ micromark-util-decode-numeric-character-reference "^1.0.0"
+ micromark-util-decode-string "^1.0.0"
+ micromark-util-normalize-identifier "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ unist-util-stringify-position "^3.0.0"
+ uvu "^0.5.0"
+
+mdast-util-gfm-autolink-literal@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz#67a13abe813d7eba350453a5333ae1bc0ec05c06"
+ integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ ccount "^2.0.0"
+ mdast-util-find-and-replace "^2.0.0"
+ micromark-util-character "^1.0.0"
+
+mdast-util-gfm-footnote@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz#ce5e49b639c44de68d5bf5399877a14d5020424e"
+ integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-to-markdown "^1.3.0"
+ micromark-util-normalize-identifier "^1.0.0"
+
+mdast-util-gfm-strikethrough@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz#5470eb105b483f7746b8805b9b989342085795b7"
+ integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm-table@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz#3552153a146379f0f9c4c1101b071d70bbed1a46"
+ integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ markdown-table "^3.0.0"
+ mdast-util-from-markdown "^1.0.0"
+ mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm-task-list-item@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz#b280fcf3b7be6fd0cc012bbe67a59831eb34097b"
+ integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz#e92f4d8717d74bdba6de57ed21cc8b9552e2d0b6"
+ integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==
+ dependencies:
+ mdast-util-from-markdown "^1.0.0"
+ mdast-util-gfm-autolink-literal "^1.0.0"
+ mdast-util-gfm-footnote "^1.0.0"
+ mdast-util-gfm-strikethrough "^1.0.0"
+ mdast-util-gfm-table "^1.0.0"
+ mdast-util-gfm-task-list-item "^1.0.0"
+ mdast-util-to-markdown "^1.0.0"
+
+mdast-util-phrasing@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463"
+ integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ unist-util-is "^5.0.0"
+
+mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6"
+ integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ "@types/unist" "^2.0.0"
+ longest-streak "^3.0.0"
+ mdast-util-phrasing "^3.0.0"
+ mdast-util-to-string "^3.0.0"
+ micromark-util-decode-string "^1.0.0"
+ unist-util-visit "^4.0.0"
+ zwitch "^2.0.0"
+
+mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0, mdast-util-to-string@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789"
+ integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -2203,6 +2682,279 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8"
+ integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==
+ dependencies:
+ decode-named-character-reference "^1.0.0"
+ micromark-factory-destination "^1.0.0"
+ micromark-factory-label "^1.0.0"
+ micromark-factory-space "^1.0.0"
+ micromark-factory-title "^1.0.0"
+ micromark-factory-whitespace "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-chunked "^1.0.0"
+ micromark-util-classify-character "^1.0.0"
+ micromark-util-html-tag-name "^1.0.0"
+ micromark-util-normalize-identifier "^1.0.0"
+ micromark-util-resolve-all "^1.0.0"
+ micromark-util-subtokenize "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.1"
+ uvu "^0.5.0"
+
+micromark-extension-gfm-autolink-literal@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz#5853f0e579bbd8ef9e39a7c0f0f27c5a063a66e7"
+ integrity sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-sanitize-uri "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-extension-gfm-footnote@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz#05e13034d68f95ca53c99679040bc88a6f92fe2e"
+ integrity sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==
+ dependencies:
+ micromark-core-commonmark "^1.0.0"
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-normalize-identifier "^1.0.0"
+ micromark-util-sanitize-uri "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-extension-gfm-strikethrough@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz#c8212c9a616fa3bf47cb5c711da77f4fdc2f80af"
+ integrity sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==
+ dependencies:
+ micromark-util-chunked "^1.0.0"
+ micromark-util-classify-character "^1.0.0"
+ micromark-util-resolve-all "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-extension-gfm-table@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz#dcb46074b0c6254c3fc9cc1f6f5002c162968008"
+ integrity sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==
+ dependencies:
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-extension-gfm-tagfilter@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz#aa7c4dd92dabbcb80f313ebaaa8eb3dac05f13a7"
+ integrity sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==
+ dependencies:
+ micromark-util-types "^1.0.0"
+
+micromark-extension-gfm-task-list-item@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz#b52ce498dc4c69b6a9975abafc18f275b9dde9f4"
+ integrity sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==
+ dependencies:
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-extension-gfm@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz#e517e8579949a5024a493e49204e884aa74f5acf"
+ integrity sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==
+ dependencies:
+ micromark-extension-gfm-autolink-literal "^1.0.0"
+ micromark-extension-gfm-footnote "^1.0.0"
+ micromark-extension-gfm-strikethrough "^1.0.0"
+ micromark-extension-gfm-table "^1.0.0"
+ micromark-extension-gfm-tagfilter "^1.0.0"
+ micromark-extension-gfm-task-list-item "^1.0.0"
+ micromark-util-combine-extensions "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-factory-destination@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f"
+ integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-factory-label@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68"
+ integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-factory-space@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf"
+ integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-factory-title@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1"
+ integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==
+ dependencies:
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-factory-whitespace@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705"
+ integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==
+ dependencies:
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-util-character@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc"
+ integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==
+ dependencies:
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-util-chunked@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b"
+ integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==
+ dependencies:
+ micromark-util-symbol "^1.0.0"
+
+micromark-util-classify-character@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d"
+ integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-util-combine-extensions@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84"
+ integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==
+ dependencies:
+ micromark-util-chunked "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-util-decode-numeric-character-reference@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6"
+ integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==
+ dependencies:
+ micromark-util-symbol "^1.0.0"
+
+micromark-util-decode-string@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c"
+ integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==
+ dependencies:
+ decode-named-character-reference "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-decode-numeric-character-reference "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+
+micromark-util-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5"
+ integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==
+
+micromark-util-html-tag-name@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588"
+ integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==
+
+micromark-util-normalize-identifier@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7"
+ integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==
+ dependencies:
+ micromark-util-symbol "^1.0.0"
+
+micromark-util-resolve-all@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188"
+ integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==
+ dependencies:
+ micromark-util-types "^1.0.0"
+
+micromark-util-sanitize-uri@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d"
+ integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-encode "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+
+micromark-util-subtokenize@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1"
+ integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==
+ dependencies:
+ micromark-util-chunked "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+ uvu "^0.5.0"
+
+micromark-util-symbol@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142"
+ integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==
+
+micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283"
+ integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==
+
+micromark@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9"
+ integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==
+ dependencies:
+ "@types/debug" "^4.0.0"
+ debug "^4.0.0"
+ decode-named-character-reference "^1.0.0"
+ micromark-core-commonmark "^1.0.1"
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.0.0"
+ micromark-util-chunked "^1.0.0"
+ micromark-util-combine-extensions "^1.0.0"
+ micromark-util-decode-numeric-character-reference "^1.0.0"
+ micromark-util-encode "^1.0.0"
+ micromark-util-normalize-identifier "^1.0.0"
+ micromark-util-resolve-all "^1.0.0"
+ micromark-util-sanitize-uri "^1.0.0"
+ micromark-util-subtokenize "^1.0.0"
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.1"
+ uvu "^0.5.0"
+
micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
@@ -2223,6 +2975,35 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^9.0.0, minimatch@^9.0.1:
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
+ integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimist@^1.0.0:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.3.tgz#05ea638da44e475037ed94d1c7efcc76a25e1974"
+ integrity sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==
+
+mri@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
+ integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -2248,11 +3029,23 @@ node-releases@^2.0.12:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039"
integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==
-normalize-path@^3.0.0:
+nopt@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7"
+ integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==
+ dependencies:
+ abbrev "^2.0.0"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+npm-normalize-package-bin@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832"
+ integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==
+
npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
@@ -2336,6 +3129,16 @@ parse-json@^5.2.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
+parse-json@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-6.0.2.tgz#6bf79c201351cc12d5d66eba48d5a097c13dc200"
+ integrity sha512-SA5aMiaIjXkAiBrW/yPgLgQAQg42f7K3ACO+2l/zOvtQBwX58DMUsFJXelW2fx3yMBmWOVkR6j1MGsdSbCA4UA==
+ dependencies:
+ "@babel/code-frame" "^7.16.0"
+ error-ex "^1.3.2"
+ json-parse-even-better-errors "^2.3.1"
+ lines-and-columns "^2.0.2"
+
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -2356,6 +3159,14 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-scurry@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698"
+ integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==
+ dependencies:
+ lru-cache "^9.1.1 || ^10.0.0"
+ minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
+
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
@@ -2366,7 +3177,7 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -2402,6 +3213,11 @@ pretty-format@^29.0.0, pretty-format@^29.5.0:
ansi-styles "^5.0.0"
react-is "^18.0.0"
+proc-log@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8"
+ integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==
+
prompts@^2.0.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
@@ -2410,6 +3226,13 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
+propose@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/propose/-/propose-0.0.5.tgz#48a065d9ec7d4c8667f4050b15c4a2d85dbca56b"
+ integrity sha512-Jary1vb+ap2DIwOGfyiadcK4x1Iu3pzpkDBy8tljFPmQvnc9ES3m1PMZOMiWOG50cfoAyYNtGeBzrp+Rlh4G9A==
+ dependencies:
+ levenshtein-edit-distance "^1.0.0"
+
punycode@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
@@ -2430,6 +3253,93 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049"
+ integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==
+ dependencies:
+ json-parse-even-better-errors "^3.0.0"
+ npm-normalize-package-bin "^3.0.0"
+
+readable-stream@^3.0.2:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+remark-cli@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-11.0.0.tgz#302c15c5e73c0b422a6709f65adb74cac3b5eb53"
+ integrity sha512-8JEWwArXquRq1/In4Ftz7gSG9Scwb1ijT2/dEuBETW9omqhmMRxcfjZ3iKqrak3BnCJeZSXCdWEmPhFKC8+RUQ==
+ dependencies:
+ remark "^14.0.0"
+ unified-args "^10.0.0"
+
+remark-gfm@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f"
+ integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-gfm "^2.0.0"
+ micromark-extension-gfm "^2.0.0"
+ unified "^10.0.0"
+
+remark-parse@^10.0.0:
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262"
+ integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-from-markdown "^1.0.0"
+ unified "^10.0.0"
+
+remark-stringify@^10.0.0:
+ version "10.0.3"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.3.tgz#83b43f2445c4ffbb35b606f967d121b2b6d69717"
+ integrity sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-to-markdown "^1.0.0"
+ unified "^10.0.0"
+
+remark-validate-links@^12.1.1:
+ version "12.1.1"
+ resolved "https://registry.yarnpkg.com/remark-validate-links/-/remark-validate-links-12.1.1.tgz#8c2060d547cdb5872bd443f8ce62e5a897ef8195"
+ integrity sha512-nk/CkcZ3u8QntoMCqZ+JzUzFub36E+mNFMMbYqqN+yQViUHbRLqirCG1qOI4E38RyKZ8abjFUv0JGB7skKa41A==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ github-slugger "^2.0.0"
+ hosted-git-info "^6.0.0"
+ mdast-util-to-string "^3.2.0"
+ propose "0.0.5"
+ to-vfile "^7.0.0"
+ trough "^2.0.0"
+ unified "^10.0.0"
+ unified-engine "^10.0.1"
+ unist-util-visit "^4.0.0"
+ vfile "^5.0.0"
+
+remark@^14.0.0:
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/remark/-/remark-14.0.3.tgz#e477886a7579df612908f387c7753dc93cdaa3fc"
+ integrity sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ remark-parse "^10.0.0"
+ remark-stringify "^10.0.0"
+ unified "^10.0.0"
+
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -2485,6 +3395,18 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
+sade@^1.7.3:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701"
+ integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
+ dependencies:
+ mri "^1.1.0"
+
+safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
semver@^6.0.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
@@ -2514,6 +3436,11 @@ signal-exit@^3.0.3, signal-exit@^3.0.7:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+signal-exit@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
+ integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -2557,7 +3484,7 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -2566,13 +3493,36 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
ansi-regex "^5.0.1"
+strip-ansi@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
+ integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
+ dependencies:
+ ansi-regex "^6.0.1"
+
strip-bom@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@@ -2609,6 +3559,11 @@ supports-color@^8.0.0:
dependencies:
has-flag "^4.0.0"
+supports-color@^9.0.0:
+ version "9.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954"
+ integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==
+
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
@@ -2645,6 +3600,19 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
+to-vfile@^7.0.0:
+ version "7.2.4"
+ resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-7.2.4.tgz#b97ecfcc15905ffe020bc975879053928b671378"
+ integrity sha512-2eQ+rJ2qGbyw3senPI0qjuM7aut8IYXK6AEoOWb+fJx/mQYzviTckm1wDjq91QYHAPBTYzmdJXxMFA6Mk14mdw==
+ dependencies:
+ is-buffer "^2.0.0"
+ vfile "^5.1.0"
+
+trough@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
+ integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
+
tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
@@ -2679,11 +3647,110 @@ type-fest@^0.21.3:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+
typescript@^4.9.5:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+unified-args@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-10.0.0.tgz#95994c5558fea83ff07006cb560fd88cdcf31134"
+ integrity sha512-PqsqxwkXpGSLiMkbjNnKU33Ffm6gso6rAvz1TlBGzMBx3gpx7ewIhViBX8HEWmy0v7pebA5PM6RkRWWaYmtfYw==
+ dependencies:
+ "@types/text-table" "^0.2.0"
+ camelcase "^7.0.0"
+ chalk "^5.0.0"
+ chokidar "^3.0.0"
+ fault "^2.0.0"
+ json5 "^2.0.0"
+ minimist "^1.0.0"
+ text-table "^0.2.0"
+ unified-engine "^10.0.0"
+
+unified-engine@^10.0.0, unified-engine@^10.0.1:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-10.1.0.tgz#6899f00d1f53ee9af94f7abd0ec21242aae3f56c"
+ integrity sha512-5+JDIs4hqKfHnJcVCxTid1yBoI/++FfF/1PFdSMpaftZZZY+qg2JFruRbf7PaIwa9KgLotXQV3gSjtY0IdcFGQ==
+ dependencies:
+ "@types/concat-stream" "^2.0.0"
+ "@types/debug" "^4.0.0"
+ "@types/is-empty" "^1.0.0"
+ "@types/node" "^18.0.0"
+ "@types/unist" "^2.0.0"
+ concat-stream "^2.0.0"
+ debug "^4.0.0"
+ fault "^2.0.0"
+ glob "^8.0.0"
+ ignore "^5.0.0"
+ is-buffer "^2.0.0"
+ is-empty "^1.0.0"
+ is-plain-obj "^4.0.0"
+ load-plugin "^5.0.0"
+ parse-json "^6.0.0"
+ to-vfile "^7.0.0"
+ trough "^2.0.0"
+ unist-util-inspect "^7.0.0"
+ vfile-message "^3.0.0"
+ vfile-reporter "^7.0.0"
+ vfile-statistics "^2.0.0"
+ yaml "^2.0.0"
+
+unified@^10.0.0:
+ version "10.1.2"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
+ integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ bail "^2.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^4.0.0"
+ trough "^2.0.0"
+ vfile "^5.0.0"
+
+unist-util-inspect@^7.0.0:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-7.0.2.tgz#858e4f02ee4053f7c6ada8bc81662901a0ee1893"
+ integrity sha512-Op0XnmHUl6C2zo/yJCwhXQSm/SmW22eDZdWP2qdf4WpGrgO1ZxFodq+5zFyeRGasFjJotAnLgfuD1jkcKqiH1Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+
+unist-util-is@^5.0.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9"
+ integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+
+unist-util-stringify-position@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
+ integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+
+unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb"
+ integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^5.0.0"
+
+unist-util-visit@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2"
+ integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^5.0.0"
+ unist-util-visit-parents "^5.1.1"
+
update-browserslist-db@^1.0.11:
version "1.0.11"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
@@ -2699,6 +3766,21 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+uvu@^0.5.0:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df"
+ integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==
+ dependencies:
+ dequal "^2.0.0"
+ diff "^5.0.0"
+ kleur "^4.0.3"
+ sade "^1.7.3"
+
v8-to-istanbul@^9.0.1:
version "9.1.0"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265"
@@ -2708,6 +3790,59 @@ v8-to-istanbul@^9.0.1:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
+vfile-message@^3.0.0:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea"
+ integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
+
+vfile-reporter@^7.0.0:
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-7.0.5.tgz#a0cbf3922c08ad428d6db1161ec64a53b5725785"
+ integrity sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==
+ dependencies:
+ "@types/supports-color" "^8.0.0"
+ string-width "^5.0.0"
+ supports-color "^9.0.0"
+ unist-util-stringify-position "^3.0.0"
+ vfile "^5.0.0"
+ vfile-message "^3.0.0"
+ vfile-sort "^3.0.0"
+ vfile-statistics "^2.0.0"
+
+vfile-sort@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-3.0.1.tgz#4b06ec63e2946749b0bb514e736554cd75e441a2"
+ integrity sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==
+ dependencies:
+ vfile "^5.0.0"
+ vfile-message "^3.0.0"
+
+vfile-statistics@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-2.0.1.tgz#2e1adae1cd3a45c1ed4f2a24bd103c3d71e4bce3"
+ integrity sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==
+ dependencies:
+ vfile "^5.0.0"
+ vfile-message "^3.0.0"
+
+vfile@^5.0.0, vfile@^5.1.0:
+ version "5.3.7"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7"
+ integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
+ vfile-message "^3.0.0"
+
+walk-up-path@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886"
+ integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==
+
walker@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -2722,7 +3857,7 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
-wrap-ansi@^7.0.0:
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -2731,6 +3866,15 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrap-ansi@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
+ integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -2759,6 +3903,11 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml@^2.0.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
+ integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
@@ -2781,3 +3930,8 @@ yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+zwitch@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"
+ integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==