From 84c7bf59e78f8c07b0905d1b682c84376414bcf9 Mon Sep 17 00:00:00 2001 From: jamashita Date: Tue, 23 Apr 2024 09:13:13 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20chunk(),=20shuffle()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 +- src/sequence/ASequence.ts | 45 +++++++++- src/sequence/ImmutableSequence.ts | 14 +++ src/sequence/MutableSequence.ts | 14 +++ src/sequence/ReadonlySequence.ts | 6 +- src/sequence/mock/MockSequence.ts | 8 ++ yarn.lock | 140 ++++++++++++++++++++++++++++-- 7 files changed, 222 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index d0ef23f..22978cd 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,8 @@ "update:upgrade": "ncu --packageManager yarn --deep --upgrade" }, "dependencies": { - "@jamashita/anden": "2.7.0" + "@jamashita/anden": "2.7.0", + "@jamashita/steckdose": "1.32.0" }, "devDependencies": { "@biomejs/biome": "1.6.4", diff --git a/src/sequence/ASequence.ts b/src/sequence/ASequence.ts index 3f3835d..f44177d 100644 --- a/src/sequence/ASequence.ts +++ b/src/sequence/ASequence.ts @@ -9,6 +9,7 @@ import { type Nullable, type Undefinable } from '@jamashita/anden/type'; +import { Random } from '@jamashita/steckdose/random'; import { type NarrowingBinaryPredicate, Quantity } from '../collection/index.js'; import type { Sequence } from './Sequence.js'; @@ -22,19 +23,49 @@ export abstract class ASequence extends Quantity implements Se public abstract add(value: V): ASequence; + public abstract chunk(size: number): ASequence>; + public abstract duplicate(): ASequence; - public abstract override filter(predicate: NarrowingBinaryPredicate): ASequence; public abstract override filter(predicate: BinaryPredicate): ASequence; + public abstract override filter(predicate: NarrowingBinaryPredicate): ASequence; + public abstract override map(mapping: Mapping): ASequence; public abstract remove(key: number): ASequence; public abstract set(key: number, value: V): ASequence; + public abstract shuffle(): ASequence; + public abstract sort(comparator: BinaryFunction): ASequence; + protected chunkInternal(size: number): Array> { + if (size <= 0) { + return []; + } + if (!Kind.isInteger(size)) { + return []; + } + + const arr: Array> = []; + let chunk: Array = []; + + this.sequence.forEach((v: V, i: number) => { + if (i % size === 0 && i !== 0) { + arr.push(chunk); + chunk = []; + } + + chunk.push(v); + }); + + arr.push(chunk); + + return arr; + } + public contains(value: V): boolean { const found: Undefinable = this.sequence.find((v: V) => { if (v === value) { @@ -163,6 +194,18 @@ export abstract class ASequence extends Quantity implements Se return [...this.sequence.slice(0, key), value, ...this.sequence.slice(key + 1)]; } + protected shuffleInternal(): Array { + const arr: Array = [...this.sequence]; + + for (let i: number = arr.length - 1; i >= 0; i--) { + const j: number = Random.integer(0, i); + // biome-ignore lint/style/noNonNullAssertion: + [arr[i], arr[j]] = [arr[j]!, arr[i]!]; + } + + return arr; + } + public size(): number { return this.sequence.length; } diff --git a/src/sequence/ImmutableSequence.ts b/src/sequence/ImmutableSequence.ts index 5297a95..d319f01 100644 --- a/src/sequence/ImmutableSequence.ts +++ b/src/sequence/ImmutableSequence.ts @@ -41,6 +41,14 @@ export class ImmutableSequence extends ASequence { return ImmutableSequence.ofArray([...this.sequence, value]); } + public chunk(size: number): ImmutableSequence> { + const sequences: Array> = this.chunkInternal(size).map((arr: Array) => { + return ImmutableSequence.ofArray(arr); + }); + + return ImmutableSequence.ofArray(sequences); + } + public duplicate(): ImmutableSequence { if (this.isEmpty()) { return ImmutableSequence.empty(); @@ -50,7 +58,9 @@ export class ImmutableSequence extends ASequence { } public filter(predicate: NarrowingBinaryPredicate): ImmutableSequence; + public filter(predicate: BinaryPredicate): ImmutableSequence; + public filter(predicate: NarrowingBinaryPredicate): ImmutableSequence { return ImmutableSequence.ofArray(this.filterInternal(predicate)); } @@ -87,6 +97,10 @@ export class ImmutableSequence extends ASequence { return ImmutableSequence.ofArray(sequence); } + public shuffle(): ImmutableSequence { + return ImmutableSequence.ofArray(this.shuffleInternal()); + } + public sort(comparator: BinaryFunction): ImmutableSequence { const arr: Array = this.toArray(); diff --git a/src/sequence/MutableSequence.ts b/src/sequence/MutableSequence.ts index 5bb8063..fc86d40 100644 --- a/src/sequence/MutableSequence.ts +++ b/src/sequence/MutableSequence.ts @@ -37,12 +37,22 @@ export class MutableSequence extends ASequence { return this; } + public chunk(size: number): ASequence> { + const sequences: Array> = this.chunkInternal(size).map((arr: Array) => { + return MutableSequence.ofArray(arr); + }); + + return MutableSequence.ofArray(sequences); + } + public duplicate(): MutableSequence { return MutableSequence.ofArray([...this.sequence]); } public filter(predicate: NarrowingBinaryPredicate): MutableSequence; + public filter(predicate: BinaryPredicate): MutableSequence; + public filter(predicate: NarrowingBinaryPredicate): MutableSequence { return MutableSequence.ofArray(this.filterInternal(predicate)); } @@ -63,6 +73,10 @@ export class MutableSequence extends ASequence { return this; } + public shuffle(): ASequence { + return MutableSequence.ofArray(this.shuffleInternal()); + } + public sort(comparator: BinaryFunction): MutableSequence { const arr: Array = [...this.sequence]; diff --git a/src/sequence/ReadonlySequence.ts b/src/sequence/ReadonlySequence.ts index 95295cc..d61654b 100644 --- a/src/sequence/ReadonlySequence.ts +++ b/src/sequence/ReadonlySequence.ts @@ -2,14 +2,18 @@ import type { BinaryFunction, BinaryPredicate, Cloneable, Mapping } from '@jamas import type { Collection, NarrowingBinaryPredicate } from '../collection/index.js'; export interface ReadonlySequence extends Collection, Cloneable> { - filter(predicate: NarrowingBinaryPredicate): ReadonlySequence; + chunk(size: number): ReadonlySequence>; filter(predicate: BinaryPredicate): ReadonlySequence; + filter(predicate: NarrowingBinaryPredicate): ReadonlySequence; + map(mapping: Mapping): ReadonlySequence; reduce(reducer: BinaryFunction, initialValue?: V): V; + shuffle(): ReadonlySequence; + sort(comparator: BinaryFunction): ReadonlySequence; toArray(): Array; diff --git a/src/sequence/mock/MockSequence.ts b/src/sequence/mock/MockSequence.ts index 612c710..5e63a76 100644 --- a/src/sequence/mock/MockSequence.ts +++ b/src/sequence/mock/MockSequence.ts @@ -10,6 +10,10 @@ export class MockSequence extends ASequence { throw new UnimplementedError(); } + public chunk(): MockSequence> { + throw new UnimplementedError(); + } + public duplicate(): MockSequence { throw new UnimplementedError(); } @@ -30,6 +34,10 @@ export class MockSequence extends ASequence { throw new UnimplementedError(); } + public shuffle(): MockSequence { + throw new UnimplementedError(); + } + public sort(): MockSequence { throw new UnimplementedError(); } diff --git a/yarn.lock b/yarn.lock index d3c019f..ee68bb2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -388,6 +388,16 @@ ulid "2.3.0" uuid "9.0.1" +"@jamashita/steckdose@1.32.0": + version "1.32.0" + resolved "https://npm.pkg.github.com/download/@jamashita/steckdose/1.32.0/cfef6d4c2f5c452ed44ded76592f10b9c72a7044#cfef6d4c2f5c452ed44ded76592f10b9c72a7044" + integrity sha512-Gx8I8Z5EsvH5ZPl1XBW5xYkIjplBPUaB675eagTjIJ4rpDScuMTv5bdtV6d0JAD8o4OZxvQRIdbB/rVEFJptBA== + dependencies: + "@jamashita/anden" "2.7.0" + bcrypt "5.1.1" + mersenne-twister "1.1.0" + yaml "2.3.4" + "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" @@ -400,6 +410,21 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@mapbox/node-pre-gyp@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1127,7 +1152,7 @@ JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@^1.0.0: +abbrev@1, abbrev@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== @@ -1257,6 +1282,14 @@ archy@~1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + are-we-there-yet@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" @@ -1305,6 +1338,14 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +bcrypt@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" + integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.11" + node-addon-api "^5.0.0" + before-after-hook@^2.2.0: version "2.2.3" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" @@ -1654,7 +1695,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.3: +color-support@^1.1.2, color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -1719,7 +1760,7 @@ configstore@^6.0.0: write-file-atomic "^3.0.3" xdg-basedir "^5.0.1" -console-control-strings@^1.1.0: +console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== @@ -1884,6 +1925,11 @@ detect-indent@^7.0.1: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.1.tgz#cbb060a12842b9c4d333f1cac4aa4da1bb66bc25" integrity sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== +detect-libc@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + detect-newline@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-4.0.1.tgz#fcefdb5713e1fb8cb2839b8b6ee22e6716ab8f23" @@ -2238,6 +2284,21 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + gauge@^4.0.3: version "4.0.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" @@ -3350,6 +3411,13 @@ magic-string@^0.30.5: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + make-fetch-happen@^10.0.3: version "10.2.1" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" @@ -3469,6 +3537,11 @@ 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== +mersenne-twister@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" + integrity sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA== + micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -3682,6 +3755,11 @@ nerf-dart@^1.0.0: resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" integrity sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g== +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + node-emoji@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.1.3.tgz#93cfabb5cc7c3653aa52f29d6ffb7927d8047c06" @@ -3692,6 +3770,13 @@ node-emoji@^2.1.3: emojilib "^2.4.0" skin-tone "^2.0.0" +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-gyp@^10.0.0, node-gyp@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.0.1.tgz#205514fc19e5830fa991e4a689f9e81af377a966" @@ -3725,6 +3810,13 @@ node-gyp@^9.0.0: tar "^6.1.2" which "^2.0.2" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + nopt@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" @@ -4030,6 +4122,16 @@ npm@^10.0.0: which "^4.0.0" write-file-atomic "^5.0.1" +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + npmlog@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" @@ -4050,6 +4152,11 @@ npmlog@^7.0.1: gauge "^5.0.0" set-blocking "^2.0.0" +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + object-hash@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" @@ -4854,6 +4961,11 @@ semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver dependencies: lru-cache "^6.0.0" +semver@^6.0.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -4876,7 +4988,7 @@ siginfo@^2.0.0: resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -5332,6 +5444,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + traverse@~0.6.6: version "0.6.8" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.8.tgz#5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15" @@ -5615,6 +5732,19 @@ wcwidth@^1.0.0: dependencies: defaults "^1.0.3" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -5644,7 +5774,7 @@ why-is-node-running@^2.2.2: siginfo "^2.0.0" stackback "0.0.2" -wide-align@^1.1.5: +wide-align@^1.1.2, wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==