From ca95e749b9139fc87c3b44394432e6ff1b96e8c2 Mon Sep 17 00:00:00 2001 From: adam wong Date: Fri, 18 Oct 2024 05:00:51 -0700 Subject: [PATCH] 0.66.0 --- ...{chunk-ZYSDJLN5.mjs => chunk-Q7IN32QK.mjs} | 2 +- ...{chunk-JLEL7NCS.mjs => chunk-SQS533HJ.mjs} | 38 +- ...{chunk-USNGQTZA.mjs => chunk-SUGEA42X.mjs} | 2 +- ...{chunk-RD6NELNE.mjs => chunk-TILBILWP.mjs} | 0 ...{chunk-WHD4D75V.mjs => chunk-Z76HE3NH.mjs} | 2 +- ...{chunk-NS6IKN45.mjs => chunk-ZCV7TGA6.mjs} | 279 +- .../react-test-renderer/node.test.mjs | 10 +- .../react-test-renderer/node.test}/exitcode | 0 .../react-test-renderer/node.test}/log.txt | 0 .../{node.testx => node.test}/stderr.log | 0 .../react-test-renderer/node.test/stdout.log | 11 + .../react-test-renderer/node.test}/tests.json | 0 docs/node/src/LoginPage/react/node.test.mjs | 9 +- .../src/LoginPage/react/node.test}/exitcode | 0 .../src/LoginPage/react/node.test/log.txt | 31 + .../{node.testx => node.test}/stderr.log | 0 .../src/LoginPage/react/node.test/stdout.log | 27 + .../src/LoginPage/react/node.test}/tests.json | 0 .../src/LoginPage/react/node.testx/stdout.log | 1 - ...irstContract.solidity-precompiled.test.mjs | 4 +- .../results.json | 119 - .../stderr.log | 2 +- .../stdout.log | 114 +- docs/node/src/ReactStateAndHook.test.mjs | 7 +- docs/node/src/ReactStateAndHook.test/exitcode | 1 + docs/node/src/ReactStateAndHook.test/log.txt | 20 + .../stderr.log | 0 .../src/ReactStateAndHook.test/stdout.log | 77 + .../src/ReactStateAndHook.test/tests.json | 76 + .../src/ReactStateAndHook.testx/stdout.log | 1 - .../src/Rectangle/Rectangle.test.node.mjs | 178 - .../Rectangle/Rectangle.test.node/exitcode | 1 - .../src/Rectangle/Rectangle.test.node/log.txt | 28 - .../Rectangle.test.node/results.json | 138 - .../Rectangle/Rectangle.test.node/stderr.log | 0 .../Rectangle/Rectangle.test.node/stdout.log | 53 - .../Rectangle/Rectangle.test.node/tests.json | 118 - docs/node/src/app.redux.test.mjs | 6 +- docs/node/src/app.redux.test/results.json | 23 - docs/node/src/app.reduxToolkit.test.mjs | 6 +- .../src/app.reduxToolkit.test/results.json | 26 - docs/testeranto.json | 11 - docs/web/chunk-LD7PK274.mjs | 2867 ------------- ...{chunk-X4RTFM5S.mjs => chunk-QOTLVXVD.mjs} | 3706 +++++++++++++++-- ...{chunk-3HEJ35MW.mjs => chunk-SNPBLUOM.mjs} | 39 +- ...{chunk-HJQFDMFU.mjs => chunk-T6BHAUR2.mjs} | 31 +- docs/web/chunk-TTFRSOOU.mjs | 38 - docs/web/src/ClassicalComponent/test.html | 19 - docs/web/src/ClassicalComponent/test.mjs | 82 - .../react-test-renderer/web.test.mjs | 20 +- .../react-test-renderer/web.test/exitcode | 1 + .../react-test-renderer/web.test/log.txt | 29 + .../{web.testx => web.test}/stdout.log | 43 +- .../results.json => web.test/tests.json} | 0 docs/web/src/LoginPage/react/web.test.mjs | 196 +- .../afterAll4-default/utils | 0 .../src/LoginPage/react/web.test/exitcode} | 0 .../react/{web.testx => web.test}/log.txt | 10 +- .../web/src/LoginPage/react/web.test/manifest | 10 + .../react/{web.testx => web.test}/stdout.log | 100 +- .../src/LoginPage/react/web.test/tests.json | 99 + .../src/LoginPage/react/web.testx/manifest | 10 - .../LoginPage/react/web.testx/results.json | 111 - .../src/Rectangle/Rectangle.test.electron.mjs | 7 +- .../afterAll4-Default/afterAll.png | Bin 6858 -> 0 bytes .../Rectangle.test.electron/manifest | 10 - .../Rectangle.test.electron/results.json | 176 - .../Rectangle.test.electron/stdout.log | 105 +- hello98.jpg | Bin 110359 -> 0 bytes src/LoginPage/react/test.tsx | 1 + src/LoginPage/react/web.test.tsx | 25 +- src/ReactStateAndHook.test.tsx | 1 + src/Rectangle.ts | 2 +- src/Rectangle/Rectangle.test.node.ts | 14 +- src/app.ts | 6 +- testeranto.mts | 121 +- 76 files changed, 4184 insertions(+), 5116 deletions(-) rename docs/node/{chunk-ZYSDJLN5.mjs => chunk-Q7IN32QK.mjs} (99%) rename docs/node/{chunk-JLEL7NCS.mjs => chunk-SQS533HJ.mjs} (95%) rename docs/node/{chunk-USNGQTZA.mjs => chunk-SUGEA42X.mjs} (99%) rename docs/node/{chunk-RD6NELNE.mjs => chunk-TILBILWP.mjs} (100%) rename docs/node/{chunk-WHD4D75V.mjs => chunk-Z76HE3NH.mjs} (99%) rename docs/node/{chunk-NS6IKN45.mjs => chunk-ZCV7TGA6.mjs} (77%) rename docs/{web/src/LoginPage/react-test-renderer/web.testx => node/src/LoginPage/react-test-renderer/node.test}/exitcode (100%) rename docs/{web/src/LoginPage/react-test-renderer/web.testx => node/src/LoginPage/react-test-renderer/node.test}/log.txt (100%) rename docs/node/src/LoginPage/react-test-renderer/{node.testx => node.test}/stderr.log (100%) create mode 100644 docs/node/src/LoginPage/react-test-renderer/node.test/stdout.log rename docs/{web/src/LoginPage/react-test-renderer/web.testx => node/src/LoginPage/react-test-renderer/node.test}/tests.json (100%) rename docs/{web/src/LoginPage/react/web.testx => node/src/LoginPage/react/node.test}/exitcode (100%) create mode 100644 docs/node/src/LoginPage/react/node.test/log.txt rename docs/node/src/LoginPage/react/{node.testx => node.test}/stderr.log (100%) create mode 100644 docs/node/src/LoginPage/react/node.test/stdout.log rename docs/{web/src/LoginPage/react/web.testx => node/src/LoginPage/react/node.test}/tests.json (100%) delete mode 100644 docs/node/src/LoginPage/react/node.testx/stdout.log delete mode 100644 docs/node/src/MyFirstContract.solidity-precompiled.test/results.json create mode 100644 docs/node/src/ReactStateAndHook.test/exitcode create mode 100644 docs/node/src/ReactStateAndHook.test/log.txt rename docs/node/src/{ReactStateAndHook.testx => ReactStateAndHook.test}/stderr.log (100%) create mode 100644 docs/node/src/ReactStateAndHook.test/stdout.log create mode 100644 docs/node/src/ReactStateAndHook.test/tests.json delete mode 100644 docs/node/src/ReactStateAndHook.testx/stdout.log delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node.mjs delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/exitcode delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/log.txt delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/results.json delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/stderr.log delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/stdout.log delete mode 100644 docs/node/src/Rectangle/Rectangle.test.node/tests.json delete mode 100644 docs/node/src/app.redux.test/results.json delete mode 100644 docs/node/src/app.reduxToolkit.test/results.json delete mode 100644 docs/web/chunk-LD7PK274.mjs rename docs/web/{chunk-X4RTFM5S.mjs => chunk-QOTLVXVD.mjs} (88%) rename docs/web/{chunk-3HEJ35MW.mjs => chunk-SNPBLUOM.mjs} (99%) rename docs/web/{chunk-HJQFDMFU.mjs => chunk-T6BHAUR2.mjs} (96%) delete mode 100644 docs/web/chunk-TTFRSOOU.mjs delete mode 100644 docs/web/src/ClassicalComponent/test.html delete mode 100644 docs/web/src/ClassicalComponent/test.mjs create mode 100644 docs/web/src/LoginPage/react-test-renderer/web.test/exitcode create mode 100644 docs/web/src/LoginPage/react-test-renderer/web.test/log.txt rename docs/web/src/LoginPage/react-test-renderer/{web.testx => web.test}/stdout.log (65%) rename docs/web/src/LoginPage/react-test-renderer/{web.testx/results.json => web.test/tests.json} (100%) rename docs/web/src/LoginPage/react/{web.testx => web.test}/afterAll4-default/utils (100%) rename docs/{node/src/LoginPage/react-test-renderer/node.testx/stdout.log => web/src/LoginPage/react/web.test/exitcode} (100%) rename docs/web/src/LoginPage/react/{web.testx => web.test}/log.txt (82%) create mode 100644 docs/web/src/LoginPage/react/web.test/manifest rename docs/web/src/LoginPage/react/{web.testx => web.test}/stdout.log (63%) create mode 100644 docs/web/src/LoginPage/react/web.test/tests.json delete mode 100644 docs/web/src/LoginPage/react/web.testx/manifest delete mode 100644 docs/web/src/LoginPage/react/web.testx/results.json delete mode 100644 docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png delete mode 100644 docs/web/src/Rectangle/Rectangle.test.electron/manifest delete mode 100644 docs/web/src/Rectangle/Rectangle.test.electron/results.json delete mode 100644 hello98.jpg diff --git a/docs/node/chunk-ZYSDJLN5.mjs b/docs/node/chunk-Q7IN32QK.mjs similarity index 99% rename from docs/node/chunk-ZYSDJLN5.mjs rename to docs/node/chunk-Q7IN32QK.mjs index 1aedcd6a..0f2918fa 100644 --- a/docs/node/chunk-ZYSDJLN5.mjs +++ b/docs/node/chunk-Q7IN32QK.mjs @@ -6666,7 +6666,7 @@ var initialState = { error: "no_error" }; var loginApp = (0, import_toolkit.createSlice)({ - name: "my login app", + name: "my login app!", initialState, reducers: { reset: (state) => { diff --git a/docs/node/chunk-JLEL7NCS.mjs b/docs/node/chunk-SQS533HJ.mjs similarity index 95% rename from docs/node/chunk-JLEL7NCS.mjs rename to docs/node/chunk-SQS533HJ.mjs index 5d1ef29c..4e45180f 100644 --- a/docs/node/chunk-JLEL7NCS.mjs +++ b/docs/node/chunk-SQS533HJ.mjs @@ -1,7 +1,7 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { puppeteer_core_default -} from "./chunk-RD6NELNE.mjs"; +} from "./chunk-TILBILWP.mjs"; import { init_cjs_shim } from "./chunk-LD4XAW36.mjs"; @@ -251,7 +251,6 @@ var BaseBuilder = class { scheduled: false }, y) { console.log(`testResourceConfiguration ${JSON.stringify(testResourceConfiguration, null, 2)}`); - await logWriter.mkdirSync(testResourceConfiguration.fs); logWriter.writeFileSync(`${testResourceConfiguration.fs}/tests.json`, JSON.stringify(this.toObj(), null, 2)); const logFilePath = `${testResourceConfiguration.fs}/log.txt`; const access = await logWriter.createWriteStream(logFilePath); @@ -260,8 +259,6 @@ var BaseBuilder = class { `); }; const suiteDone = await runner(testResourceConfiguration, tLog, y); - const resultsFilePath = `${testResourceConfiguration.fs}/results.json`; - logWriter.writeFileSync(resultsFilePath, JSON.stringify(suiteDone.toObj(), null, 2)); const logPromise = new Promise((res, rej) => { access.on("finish", () => { res(true); @@ -352,10 +349,17 @@ var Testeranto = class extends ClassBuilder { } }, class Given extends BaseGiven { async givenThat(subject, testResource, artifactory, initializer) { - return fullTestInterface.beforeEach(subject, initializer, (fPath, value) => ( - // TODO does not work? - artifactory(`beforeEach/${fPath}`, value) - ), testResource, this.initialValues); + return fullTestInterface.beforeEach( + subject, + initializer, + (fPath, value) => ( + // TODO does not work? + artifactory(`beforeEach/${fPath}`, value) + ), + testResource, + this.initialValues + // utils, + ); } afterEach(store, key, artifactory) { return new Promise((res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => artifactory(`after/${fPath}`, value)))); @@ -444,21 +448,6 @@ var NodeWriter = { } }; -// ../testeranto/dist/module/lib/types.js -init_cjs_shim(); -var TBrowser = class { - constructor(browser) { - this.browser = browser; - } - pages() { - return new Promise(async (res, rej) => { - res((await this.browser.pages()).map((p) => { - return p; - })); - }); - } -}; - // ../testeranto/dist/module/Node.js var readJson = async (port) => new Promise((resolve, reject) => { let json = ""; @@ -501,8 +490,9 @@ var NodeTesteranto = class extends Testeranto { console.log("connected!", b.isConnected()); return b; }); - const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig(partialTestResource, new TBrowser(browser)); + const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig(partialTestResource, browser); Promise.all([...artifacts, logPromise]).then(async () => { + process.exit(await failed ? 1 : 0); }); } }; diff --git a/docs/node/chunk-USNGQTZA.mjs b/docs/node/chunk-SUGEA42X.mjs similarity index 99% rename from docs/node/chunk-USNGQTZA.mjs rename to docs/node/chunk-SUGEA42X.mjs index 220a1a96..2e968acd 100644 --- a/docs/node/chunk-USNGQTZA.mjs +++ b/docs/node/chunk-SUGEA42X.mjs @@ -1,7 +1,7 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { app_default -} from "./chunk-ZYSDJLN5.mjs"; +} from "./chunk-Q7IN32QK.mjs"; import { __commonJS, __require, diff --git a/docs/node/chunk-RD6NELNE.mjs b/docs/node/chunk-TILBILWP.mjs similarity index 100% rename from docs/node/chunk-RD6NELNE.mjs rename to docs/node/chunk-TILBILWP.mjs diff --git a/docs/node/chunk-WHD4D75V.mjs b/docs/node/chunk-Z76HE3NH.mjs similarity index 99% rename from docs/node/chunk-WHD4D75V.mjs rename to docs/node/chunk-Z76HE3NH.mjs index 8d2003b1..5e48e4cf 100644 --- a/docs/node/chunk-WHD4D75V.mjs +++ b/docs/node/chunk-Z76HE3NH.mjs @@ -1,7 +1,7 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { Node_default -} from "./chunk-JLEL7NCS.mjs"; +} from "./chunk-SQS533HJ.mjs"; import { __commonJS, __require, diff --git a/docs/node/chunk-NS6IKN45.mjs b/docs/node/chunk-ZCV7TGA6.mjs similarity index 77% rename from docs/node/chunk-NS6IKN45.mjs rename to docs/node/chunk-ZCV7TGA6.mjs index df06c673..05358400 100644 --- a/docs/node/chunk-NS6IKN45.mjs +++ b/docs/node/chunk-ZCV7TGA6.mjs @@ -1,7 +1,7 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { puppeteer_core_default -} from "./chunk-RD6NELNE.mjs"; +} from "./chunk-TILBILWP.mjs"; import { init_cjs_shim } from "./chunk-LD4XAW36.mjs"; @@ -145,12 +145,7 @@ var BaseGiven = class { this.givenCB ); for (const whenStep of this.whens) { - await whenStep.test( - this.store, - testResourceConfiguration, - tLog, - utils - ); + await whenStep.test(this.store, testResourceConfiguration, tLog, utils); } for (const thenStep of this.thens) { const t = await thenStep.test( @@ -189,11 +184,7 @@ var BaseWhen = class { async test(store, testResourceConfiguration, tLog, utils) { tLog(" When:", this.name); try { - return await this.andWhen( - store, - this.whenCB, - testResourceConfiguration - ); + return await this.andWhen(store, this.whenCB, testResourceConfiguration); } catch (e) { this.error = true; throw e; @@ -306,77 +297,76 @@ var BaseBuilder = class { testResourceConfiguration, (fPath, value) => logWriter.testArtiFactoryfileWriter(tLog, (p) => { this.artifacts.push(p); - })( - testResourceConfiguration.fs + "/" + fPath, - value - ), + })(testResourceConfiguration.fs + "/" + fPath, value), tLog, utils2 ); }; - this.testJobs = this.specs.map((suite, utils) => { - const runner = suiteRunner(suite, utils); - return { - test: suite, - testResourceRequirement, - toObj: () => { - return suite.toObj(); - }, - runner, - receiveTestResourceConfig: async function(testResourceConfiguration = { - name: "", - fs: ".", - ports: [], - scheduled: false - }, y) { - console.log( - `testResourceConfiguration ${JSON.stringify( - testResourceConfiguration, - null, - 2 - )}` - ); - await logWriter.mkdirSync(testResourceConfiguration.fs); - logWriter.writeFileSync( - `${testResourceConfiguration.fs}/tests.json`, - JSON.stringify(this.toObj(), null, 2) - ); - const logFilePath = `${testResourceConfiguration.fs}/log.txt`; - const access = await logWriter.createWriteStream(logFilePath); - const tLog = (...l) => { - access.write(`${l.toString()} + this.testJobs = this.specs.map( + (suite, utils) => { + const runner = suiteRunner(suite, utils); + return { + test: suite, + testResourceRequirement, + toObj: () => { + return suite.toObj(); + }, + runner, + receiveTestResourceConfig: async function(testResourceConfiguration = { + name: "", + fs: ".", + ports: [], + scheduled: false + }, y) { + console.log( + `testResourceConfiguration ${JSON.stringify( + testResourceConfiguration, + null, + 2 + )}` + ); + logWriter.writeFileSync( + `${testResourceConfiguration.fs}/tests.json`, + JSON.stringify(this.toObj(), null, 2) + ); + const logFilePath = `${testResourceConfiguration.fs}/log.txt`; + const access = await logWriter.createWriteStream(logFilePath); + const tLog = (...l) => { + access.write(`${l.toString()} `); - }; - const suiteDone = await runner(testResourceConfiguration, tLog, y); - const resultsFilePath = `${testResourceConfiguration.fs}/results.json`; - logWriter.writeFileSync( - resultsFilePath, - JSON.stringify(suiteDone.toObj(), null, 2) - ); - const logPromise = new Promise((res, rej) => { - access.on("finish", () => { - res(true); + }; + const suiteDone = await runner( + testResourceConfiguration, + tLog, + y + ); + const logPromise = new Promise((res, rej) => { + access.on("finish", () => { + res(true); + }); }); - }); - access.end(); - const numberOfFailures = Object.keys(suiteDone.givens).filter( - (k) => { - return suiteDone.givens[k].error; - } - ).length; - logWriter.writeFileSync( - `${testResourceConfiguration.fs}/exitcode`, - numberOfFailures.toString() - ); - console.log(`exiting gracefully with ${numberOfFailures} failures.`); - return { - failed: numberOfFailures, - artifacts: this.artifacts || [], - logPromise - }; - } - }; - }); + access.end(); + const numberOfFailures = Object.keys(suiteDone.givens).filter( + (k) => { + return suiteDone.givens[k].error; + } + ).length; + logWriter.writeFileSync( + `${testResourceConfiguration.fs}/exitcode`, + numberOfFailures.toString() + ); + console.log( + `exiting gracefully with ${numberOfFailures} failures.` + ); + return { + failed: numberOfFailures, + artifacts: this.artifacts || [], + logPromise + }; + } + }; + } + ); } Specs() { return this.specs; @@ -497,11 +487,7 @@ var Testeranto = class extends ClassBuilder { fullTestInterface.assertThis(t); } async setup(s, artifactory, tr) { - return (fullTestInterface.beforeAll || (async (input2, artifactory2, tr2) => input2))( - s, - this.testResourceConfiguration, - artifactory - ); + return (fullTestInterface.beforeAll || (async (input2, artifactory2, tr2) => input2))(s, this.testResourceConfiguration, artifactory); } }, class Given extends BaseGiven { @@ -520,7 +506,13 @@ var Testeranto = class extends ClassBuilder { } afterEach(store, key, artifactory) { return new Promise( - (res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => artifactory(`after/${fPath}`, value))) + (res) => res( + fullTestInterface.afterEach( + store, + key, + (fPath, value) => artifactory(`after/${fPath}`, value) + ) + ) ); } afterAll(store, artifactory, utils) { @@ -563,10 +555,16 @@ var Testeranto = class extends ClassBuilder { } afterEach(store, key, artifactory) { return new Promise( - (res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => ( - // TODO does not work? - artifactory(`afterEach2-${this.name}/${fPath}`, value) - ))) + (res) => res( + fullTestInterface.afterEach( + store, + key, + (fPath, value) => ( + // TODO does not work? + artifactory(`afterEach2-${this.name}/${fPath}`, value) + ) + ) + ) ); } }, @@ -586,10 +584,7 @@ var NodeWriter = { return fs.createWriteStream(filepath); }, writeFileSync: (fp, contents) => { - fs.writeFileSync( - fp, - contents - ); + fs.writeFileSync(fp, contents); }, mkdirSync: async (destFolder) => { if (!fs.existsSync(destFolder)) { @@ -597,63 +592,48 @@ var NodeWriter = { } }, testArtiFactoryfileWriter: (tLog, callback) => (fPath, value) => { - callback(new Promise((res, rej) => { - tLog("testArtiFactory =>", fPath); - const cleanPath = path.resolve(fPath); - fPaths.push(cleanPath.replace(process.cwd(), ``)); - const targetDir = cleanPath.split("/").slice(0, -1).join("/"); - fs.mkdir(targetDir, { recursive: true }, async (error) => { - if (error) { - console.error(`\u2757\uFE0FtestArtiFactory failed`, targetDir, error); - } - fs.writeFileSync( - path.resolve(targetDir.split("/").slice(0, -1).join("/"), "manifest"), - fPaths.join(` -`), - { - encoding: "utf-8" + callback( + new Promise((res, rej) => { + tLog("testArtiFactory =>", fPath); + const cleanPath = path.resolve(fPath); + fPaths.push(cleanPath.replace(process.cwd(), ``)); + const targetDir = cleanPath.split("/").slice(0, -1).join("/"); + fs.mkdir(targetDir, { recursive: true }, async (error) => { + if (error) { + console.error(`\u2757\uFE0FtestArtiFactory failed`, targetDir, error); } - ); - if (Buffer.isBuffer(value)) { - fs.writeFileSync(fPath, value, "binary"); - res(); - } else if (`string` === typeof value) { - fs.writeFileSync(fPath, value.toString(), { - encoding: "utf-8" - }); - res(); - } else { - const pipeStream = value; - const myFile = fs.createWriteStream(fPath); - pipeStream.pipe(myFile); - pipeStream.on("close", () => { - myFile.close(); + fs.writeFileSync( + path.resolve( + targetDir.split("/").slice(0, -1).join("/"), + "manifest" + ), + fPaths.join(` +`), + { + encoding: "utf-8" + } + ); + if (Buffer.isBuffer(value)) { + fs.writeFileSync(fPath, value, "binary"); res(); - }); - } - }); - })); - } -}; - -// ../testeranto/src/lib/types.ts -init_cjs_shim(); -var TBrowser = class { - constructor(browser) { - this.browser = browser; - } - pages() { - return new Promise(async (res, rej) => { - res( - (await this.browser.pages()).map((p) => { - return p; - }) - ); - }); + } else if (`string` === typeof value) { + fs.writeFileSync(fPath, value.toString(), { + encoding: "utf-8" + }); + res(); + } else { + const pipeStream = value; + const myFile = fs.createWriteStream(fPath); + pipeStream.pipe(myFile); + pipeStream.on("close", () => { + myFile.close(); + res(); + }); + } + }); + }) + ); } - // pages(): Promise { - // return super.pages(); - // } }; // ../testeranto/src/Node.ts @@ -710,15 +690,12 @@ var NodeTesteranto = class extends Testeranto { console.log("connected!", b.isConnected()); return b; }); - const { - failed, - artifacts, - logPromise - } = await t.receiveTestResourceConfig( + const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig( partialTestResource, - new TBrowser(browser) + browser ); Promise.all([...artifacts, logPromise]).then(async () => { + process.exit(await failed ? 1 : 0); }); } }; diff --git a/docs/node/src/LoginPage/react-test-renderer/node.test.mjs b/docs/node/src/LoginPage/react-test-renderer/node.test.mjs index 4b6c590a..78c00362 100644 --- a/docs/node/src/LoginPage/react-test-renderer/node.test.mjs +++ b/docs/node/src/LoginPage/react-test-renderer/node.test.mjs @@ -5,16 +5,16 @@ import { actions, emailwarning, require_scheduler -} from "../../../chunk-USNGQTZA.mjs"; +} from "../../../chunk-SUGEA42X.mjs"; import { node_default -} from "../../../chunk-WHD4D75V.mjs"; -import "../../../chunk-ZYSDJLN5.mjs"; -import "../../../chunk-JLEL7NCS.mjs"; +} from "../../../chunk-Z76HE3NH.mjs"; +import "../../../chunk-SQS533HJ.mjs"; +import "../../../chunk-Q7IN32QK.mjs"; import { assert } from "../../../chunk-GHFYKOO4.mjs"; -import "../../../chunk-RD6NELNE.mjs"; +import "../../../chunk-TILBILWP.mjs"; import "../../../chunk-HRTB753X.mjs"; import "../../../chunk-J74XOMIJ.mjs"; import { diff --git a/docs/web/src/LoginPage/react-test-renderer/web.testx/exitcode b/docs/node/src/LoginPage/react-test-renderer/node.test/exitcode similarity index 100% rename from docs/web/src/LoginPage/react-test-renderer/web.testx/exitcode rename to docs/node/src/LoginPage/react-test-renderer/node.test/exitcode diff --git a/docs/web/src/LoginPage/react-test-renderer/web.testx/log.txt b/docs/node/src/LoginPage/react-test-renderer/node.test/log.txt similarity index 100% rename from docs/web/src/LoginPage/react-test-renderer/web.testx/log.txt rename to docs/node/src/LoginPage/react-test-renderer/node.test/log.txt diff --git a/docs/node/src/LoginPage/react-test-renderer/node.testx/stderr.log b/docs/node/src/LoginPage/react-test-renderer/node.test/stderr.log similarity index 100% rename from docs/node/src/LoginPage/react-test-renderer/node.testx/stderr.log rename to docs/node/src/LoginPage/react-test-renderer/node.test/stderr.log diff --git a/docs/node/src/LoginPage/react-test-renderer/node.test/stdout.log b/docs/node/src/LoginPage/react-test-renderer/node.test/stdout.log new file mode 100644 index 00000000..6125d191 --- /dev/null +++ b/docs/node/src/LoginPage/react-test-renderer/node.test/stdout.log @@ -0,0 +1,11 @@ +hello world +connected! true +testResourceConfiguration { + "scheduled": true, + "name": "./src/LoginPage/react-test-renderer/node.test.tsx", + "ports": [], + "fs": "/Users/adam/Code/kokomoBay/docs/node/src/LoginPage/react-test-renderer/node.test" +} +[] +[] +exiting gracefully with 0 failures. diff --git a/docs/web/src/LoginPage/react-test-renderer/web.testx/tests.json b/docs/node/src/LoginPage/react-test-renderer/node.test/tests.json similarity index 100% rename from docs/web/src/LoginPage/react-test-renderer/web.testx/tests.json rename to docs/node/src/LoginPage/react-test-renderer/node.test/tests.json diff --git a/docs/node/src/LoginPage/react/node.test.mjs b/docs/node/src/LoginPage/react/node.test.mjs index 2a30b732..9dfa0b87 100644 --- a/docs/node/src/LoginPage/react/node.test.mjs +++ b/docs/node/src/LoginPage/react/node.test.mjs @@ -3,15 +3,15 @@ import { LoginPageSpecs, LoginPage_default, actions -} from "../../../chunk-USNGQTZA.mjs"; -import "../../../chunk-ZYSDJLN5.mjs"; +} from "../../../chunk-SUGEA42X.mjs"; import { Node_default -} from "../../../chunk-JLEL7NCS.mjs"; +} from "../../../chunk-SQS533HJ.mjs"; +import "../../../chunk-Q7IN32QK.mjs"; import { assert } from "../../../chunk-GHFYKOO4.mjs"; -import "../../../chunk-RD6NELNE.mjs"; +import "../../../chunk-TILBILWP.mjs"; import "../../../chunk-HRTB753X.mjs"; import "../../../chunk-J74XOMIJ.mjs"; import { @@ -81,6 +81,7 @@ var implementations = { assert.notEqual(reactElem.props.store.getState().error, "no_error"); }, ThereIsNotAnEmailError: () => (reactElem) => { + console.log("hello"); assert.equal(reactElem.props.store.getState().error, "no_error"); } }, diff --git a/docs/web/src/LoginPage/react/web.testx/exitcode b/docs/node/src/LoginPage/react/node.test/exitcode similarity index 100% rename from docs/web/src/LoginPage/react/web.testx/exitcode rename to docs/node/src/LoginPage/react/node.test/exitcode diff --git a/docs/node/src/LoginPage/react/node.test/log.txt b/docs/node/src/LoginPage/react/node.test/log.txt new file mode 100644 index 00000000..347a1663 --- /dev/null +++ b/docs/node/src/LoginPage/react/node.test/log.txt @@ -0,0 +1,31 @@ +test resources: ,[object Object] + +Suite:,0,Testing the LoginPage as react + + Given: default + When:,TheEmailIsSetTo: adam@email.com + Then:,TheEmailIs: adam@email.com + + Given: default + When:,TheEmailIsSetTo: adam@email.com + When:,ThePasswordIsSetTo: secret + Then:,TheEmailIsNot: wade@rpc + Then:,TheEmailIs: adam@email.com + Then:,ThePasswordIs: secret + Then:,ThePasswordIsNot: idk + + Given: default + When:,TheEmailIsSetTo: adam + Then:,ThereIsNotAnEmailError: undefined + + Given: default + When:,TheEmailIsSetTo: bob + When:,TheLoginIsSubmitted: undefined + Then:,ThereIsAnEmailError: undefined + + Given: default + When:,TheEmailIsSetTo: adam@mail.com + When:,ThePasswordIsSetTo: foso + Then:,ThereIsNotAnEmailError: undefined +AssertionError: expected 'invalidEmail' to equal 'no_error' + diff --git a/docs/node/src/LoginPage/react/node.testx/stderr.log b/docs/node/src/LoginPage/react/node.test/stderr.log similarity index 100% rename from docs/node/src/LoginPage/react/node.testx/stderr.log rename to docs/node/src/LoginPage/react/node.test/stderr.log diff --git a/docs/node/src/LoginPage/react/node.test/stdout.log b/docs/node/src/LoginPage/react/node.test/stdout.log new file mode 100644 index 00000000..213fd466 --- /dev/null +++ b/docs/node/src/LoginPage/react/node.test/stdout.log @@ -0,0 +1,27 @@ +hello world +connected! true +testResourceConfiguration { + "scheduled": true, + "name": "./src/LoginPage/react/node.test.tsx", + "ports": [], + "fs": "/Users/adam/Code/kokomoBay/docs/node/src/LoginPage/react/node.test" +} +hello +hello +test failed AssertionError2: expected 'invalidEmail' to equal 'no_error' + at file:///Users/adam/Code/kokomoBay/docs/node/src/LoginPage/react/node.test.mjs:85:14 + at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:25:37) + at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:378:40) + at Then.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:174:28) + at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:122:34) + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:68:22) + at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:234:14 + at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:261:29) + at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-SQS533HJ.mjs:493:47) { + showDiff: true, + actual: 'invalidEmail', + expected: 'no_error', + operator: 'strictEqual' +} +exiting gracefully with 1 failures. diff --git a/docs/web/src/LoginPage/react/web.testx/tests.json b/docs/node/src/LoginPage/react/node.test/tests.json similarity index 100% rename from docs/web/src/LoginPage/react/web.testx/tests.json rename to docs/node/src/LoginPage/react/node.test/tests.json diff --git a/docs/node/src/LoginPage/react/node.testx/stdout.log b/docs/node/src/LoginPage/react/node.testx/stdout.log deleted file mode 100644 index 56a6051c..00000000 --- a/docs/node/src/LoginPage/react/node.testx/stdout.log +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/docs/node/src/MyFirstContract.solidity-precompiled.test.mjs b/docs/node/src/MyFirstContract.solidity-precompiled.test.mjs index a414267d..fdccf955 100644 --- a/docs/node/src/MyFirstContract.solidity-precompiled.test.mjs +++ b/docs/node/src/MyFirstContract.solidity-precompiled.test.mjs @@ -1,11 +1,11 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { Node_default -} from "../chunk-NS6IKN45.mjs"; +} from "../chunk-ZCV7TGA6.mjs"; import { assert } from "../chunk-GHFYKOO4.mjs"; -import "../chunk-RD6NELNE.mjs"; +import "../chunk-TILBILWP.mjs"; import "../chunk-HRTB753X.mjs"; import "../chunk-J74XOMIJ.mjs"; import { diff --git a/docs/node/src/MyFirstContract.solidity-precompiled.test/results.json b/docs/node/src/MyFirstContract.solidity-precompiled.test/results.json deleted file mode 100644 index 10ba51d3..00000000 --- a/docs/node/src/MyFirstContract.solidity-precompiled.test/results.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "name": "Testing a very simple smart contract precompiled?", - "givens": [ - { - "name": "Default", - "whens": [], - "thens": [ - { - "name": "Get: [object Object]" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - } - ], - "thens": [ - { - "name": "Get: [object Object]" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Increment: 1" - }, - { - "name": "Decrement: 1" - }, - { - "name": "Decrement: 1" - }, - { - "name": "Decrement: 1" - }, - { - "name": "Decrement: 1" - } - ], - "thens": [ - { - "name": "Get: [object Object]" - } - ], - "error": null, - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/node/src/MyFirstContract.solidity-precompiled.test/stderr.log b/docs/node/src/MyFirstContract.solidity-precompiled.test/stderr.log index b56551c7..c1022c17 100644 --- a/docs/node/src/MyFirstContract.solidity-precompiled.test/stderr.log +++ b/docs/node/src/MyFirstContract.solidity-precompiled.test/stderr.log @@ -8,5 +8,5 @@ Require stack: Falling back to a NodeJS implementation; performance may be degraded. -(node:69545) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. +(node:91981) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (Use `Electron Helper --trace-deprecation ...` to show where the warning was created) diff --git a/docs/node/src/MyFirstContract.solidity-precompiled.test/stdout.log b/docs/node/src/MyFirstContract.solidity-precompiled.test/stdout.log index fee04976..ee76f291 100644 --- a/docs/node/src/MyFirstContract.solidity-precompiled.test/stdout.log +++ b/docs/node/src/MyFirstContract.solidity-precompiled.test/stdout.log @@ -10,11 +10,11 @@ eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x94357a3734cfd00e9c845bafa1d6f3f1690044da0046cf4d3864807177cf1bae - Contract created: 0x2b7cedfd58d6c69598ce52618ef42500c14e8e85 + Transaction: 0x54a1f3438deda463fba8798e814a96182c6899af36832565cbda9b315f532240 + Contract created: 0x56c6606a425fd0cbd942112606777ecbe4f6de09 Gas usage: 113457 Block number: 1 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getCode @@ -24,11 +24,11 @@ eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xf02d0d57adb30446c511802eb8f1216f983fa5407cd029f37ca88b2cd20ad411 - Contract created: 0xcff0e29e5708e8cfb19add46ca8d705ebf0582fc + Transaction: 0x9a71ded73d1a0b79a7c04a9c412ae066d3b1298088fae740bf44afbfcc10f706 + Contract created: 0x200b5a9427f9b5e47296a156b959b5ebc55bcb27 Gas usage: 113457 Block number: 1 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getCode @@ -36,160 +36,160 @@ eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x9262f34e2f8d8a0348f68af2827bd975e26c98e42e8fd749507d16ecebf522fc + Transaction: 0xb2175f77fd752da6854dde9ca379db9065436ea114f291973f4c44d647efa263 Gas usage: 43403 Block number: 2 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xe8f77617659c7a4b1cfbe095c3fb858cac4b9d50860f7fecfb511e05fe7952b9 + Transaction: 0x90421a49aeab927cac88bfa14d01d97fd94e369ff0739da340053ddff71e9a31 Gas usage: 26303 Block number: 3 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x736ca0633b1aee4db1a13afadfc49c890bd6e3dd955360e514677dc383ad9b12 + Transaction: 0xa77f8e0b237c0051ae5e3eb5f113fb01f8a951fa3bc81dc5d6dc2139dbe768bf Gas usage: 26303 Block number: 4 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x055ce92366f9f12d12afccc25f7d53e58ff72f580fdd4562e7da49985d6cfb5d + Transaction: 0xa68ddfff56f75a6fad0ffcc5d806f1a75490c8a1567fdccfc6276fa58f64fb45 Gas usage: 26303 Block number: 5 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x9a1dfc45c061873181c2f69381d403d9eea2557c0afaec6982204b6816fb6992 + Transaction: 0x74d555d6649a36aa2d1721281667af5a6edb2531da8042d4f23eccc5c2f234fe Gas usage: 26303 Block number: 6 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x46a1ceb4f30d250161d6080e971b44a8dd4db30e9d093f56c1b459c7b00ab23a + Transaction: 0xdffa25b16b688d93d58d12905b0c065f397234deb1e8f2440adf5e6c1cbabc13 Gas usage: 26303 Block number: 7 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xb5dce6080e240239af1fd1b47c59227305a6ef1069696ca1e97829c971de7187 + Transaction: 0x21c051e6ae579c082612e7b4cccbe82642e11068bbb81b43352f7c7ea62422e8 Gas usage: 26303 Block number: 8 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xaba2118aeab0b1157f6cad41ece463d203f51322b1a86b844ab06ed77142c41d + Transaction: 0xdd35ba0ae8049fec760c80b657e7d67186e73a8602d653333094e30d2500fe5f Gas usage: 26303 Block number: 9 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xbc273bc141d727b5af7f8d2d5d5b02b8d1fb6e39fe6b8870b2cc80d3310f2bcc + Transaction: 0xd4cc7e7d406b9a846e0439be7b3f531c57e3826e088829760fc9b562eb278732 Gas usage: 26303 Block number: 10 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xb88a7b3bec55f16fe0702fd2d1b50e4e43b19bec4771bed4fc383c58ddf45405 + Transaction: 0xdae8cd371727a8029bdaf89e4b80788f2a0dae09e0f40f862394f19e3a2a1861 Gas usage: 26303 Block number: 11 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x067a0d62c57d42e78ce1d060802b5ad6466d7bc384cdf553104bac717e799cd5 + Transaction: 0x5fe3e9f02fa38d5815184640f37a8ccdd9f356b194c0c3d2db0c5d4f548c903d Gas usage: 26303 Block number: 12 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xae6f955c5da9c5e906a0b111b9cb506f41d1f847ec6e9238291a5ac129660f9d + Transaction: 0x5a8443b093499757a6d9234e84ea00321f22a874ce5c1443ca3ba7aaef1ec576 Gas usage: 26303 Block number: 13 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x7aea3e311c8d2053361cd43c2c6c962740fafafebef492a59df9eb40909bfd77 + Transaction: 0xe165da2811157239717469b61001d777b52f0bd99caf5c134921254d0ddc27ac Gas usage: 26303 Block number: 14 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xc8f07ec9af55be18358765f9350aa61e8ea7a7d4cc6faa4e403e1d4c22696423 + Transaction: 0x8351b04db1d00805272fcdd33f4a16a061f636f0da731dacf8f61aba9633647a Gas usage: 26303 Block number: 15 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x7487487505893bcd54934d9ce2accc1dcc547be8465569fa64dfb635955c119f + Transaction: 0x93afad07c56f799c122b80e18ca0fe0b28492597df838730937f9d516324ccbe Gas usage: 26303 Block number: 16 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xdab5ac9b671b5a812b02274dd7e3621aeec53306918308944a0b1394eeaf65c9 + Transaction: 0x0ee81d9cd0a00e40a1bcbf3c2056bcaf265242d93c01acfd178f9edcac483297 Gas usage: 26303 Block number: 17 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_call @@ -198,11 +198,11 @@ eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xa49486d4d4462ea97181b04190473fa8ff17fd55722f2f025e56ff644df2f1d2 - Contract created: 0xaab8db69cf6106537cb65bc6a524612f05bba5b2 + Transaction: 0x46bb950294427cd8af85c76059804bc405414115386ce6d3f45119eb15b60bec + Contract created: 0x264afc67d39be4b2a42acd5b7990def97a995582 Gas usage: 113457 Block number: 1 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getCode @@ -210,80 +210,80 @@ eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xdedccc21cf40681c8c8cec9744a5d1b5220cb5f330daaaf7b9cb384e43be4143 + Transaction: 0x7eaf9e1814bd9969264057de3c9727bef265085add138f5eb4446d9305dfc564 Gas usage: 43403 Block number: 2 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x37b92ed0ed4a4d3e9acfa20bdeb47c49178fd7204c5b6d225c54e3b132cb58d7 + Transaction: 0xff5da820a4bd194865053853b5d09b9e9ab2a89bf91b0fa0d4344085c16e6863 Gas usage: 26303 Block number: 3 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x2d940a3713fe93b699350f436e262d250d22d80a1d493447e9bfd24623b341fc + Transaction: 0x7afa3dbe1f878a489d25d2a9ba74927f632025b0ff7a589d09006eab6ab9c831 Gas usage: 26303 Block number: 4 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xcdad39e7a75429282e6068bee505d7853b8789e0465bd1f2c392e5f7fc014e79 + Transaction: 0x6d99510b2dfee1136dc9a81fbec41ef449319c3ce3240b57678630b097209f9d Gas usage: 26303 Block number: 5 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0xc8425aa8b8dd8756f56c35a0fe6d9a0941b098cb48866aec556fad4d4117d7ed + Transaction: 0x031835c7cf27af088f578a84f60f8622b70f97ad77fe33c9a8bedaab60fcd23d Gas usage: 26344 Block number: 6 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x68f2063e3b78e06462c17b96e3017196f17a2e2e68b48155af9554f7f1101c5b + Transaction: 0x37c31e31ad37118780f9a73fb2f85c06be545458d1a00dd28e12538262a77932 Gas usage: 26344 Block number: 7 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x7c7d63f7e37b2c6fea346ec82ca8f8a74b48123510a0958ffcd973ec409d2b1b + Transaction: 0x6842fad2785b9be91ddfcf6a0306f5e94c99de9309e56ad9fa7cec996c0c8d2d Gas usage: 26344 Block number: 8 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_getBlockByNumber eth_gasPrice eth_sendTransaction - Transaction: 0x7d36a85d24ec2b4f82c044f86a2090e992035b7fd028cde9338279c26cb6c32b + Transaction: 0x7c6603460101eb58852429f6dc3f838edbeccfec62f7b54b485f32faec372d92 Gas usage: 21544 Block number: 9 - Block time: Thu Oct 17 2024 20:00:34 GMT-0700 (Pacific Daylight Time) + Block time: Fri Oct 18 2024 04:59:03 GMT-0700 (Pacific Daylight Time) eth_getTransactionReceipt eth_call diff --git a/docs/node/src/ReactStateAndHook.test.mjs b/docs/node/src/ReactStateAndHook.test.mjs index ce05b4ce..b36826ea 100644 --- a/docs/node/src/ReactStateAndHook.test.mjs +++ b/docs/node/src/ReactStateAndHook.test.mjs @@ -1,9 +1,9 @@ import { createRequire } from 'module';const require = createRequire(import.meta.url); import { node_default -} from "../chunk-WHD4D75V.mjs"; -import "../chunk-JLEL7NCS.mjs"; -import "../chunk-RD6NELNE.mjs"; +} from "../chunk-Z76HE3NH.mjs"; +import "../chunk-SQS533HJ.mjs"; +import "../chunk-TILBILWP.mjs"; import "../chunk-HRTB753X.mjs"; import "../chunk-J74XOMIJ.mjs"; import { @@ -72,6 +72,7 @@ var Implementation = { }, thens: { TheCounterIs: (counter) => (rtr) => { + console.log("hello state and hook"); return assert.deepEqual( rtr.toJSON().children[0], { diff --git a/docs/node/src/ReactStateAndHook.test/exitcode b/docs/node/src/ReactStateAndHook.test/exitcode new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/docs/node/src/ReactStateAndHook.test/exitcode @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/docs/node/src/ReactStateAndHook.test/log.txt b/docs/node/src/ReactStateAndHook.test/log.txt new file mode 100644 index 00000000..087d91d8 --- /dev/null +++ b/docs/node/src/ReactStateAndHook.test/log.txt @@ -0,0 +1,20 @@ +test resources: ,[object Object] + +Suite:,0,Testing the ReactStateAndHook element + + Given: Default + Then:,TheCounterIs: 0 + + Given: Default + When:,IClick: undefined + Then:,TheCounterIs: 1 + + Given: Default + When:,IClick: undefined + When:,IClick: undefined + When:,IClick: undefined + Then:,TheCounterIs: 3 + + Given: Default + When:,IClick: undefined + Then:,TheCounterIs: 1 diff --git a/docs/node/src/ReactStateAndHook.testx/stderr.log b/docs/node/src/ReactStateAndHook.test/stderr.log similarity index 100% rename from docs/node/src/ReactStateAndHook.testx/stderr.log rename to docs/node/src/ReactStateAndHook.test/stderr.log diff --git a/docs/node/src/ReactStateAndHook.test/stdout.log b/docs/node/src/ReactStateAndHook.test/stdout.log new file mode 100644 index 00000000..01f2b943 --- /dev/null +++ b/docs/node/src/ReactStateAndHook.test/stdout.log @@ -0,0 +1,77 @@ +connected! true +testResourceConfiguration { + "scheduled": true, + "name": "./src/ReactStateAndHook.test.tsx", + "ports": [], + "fs": "/Users/adam/Code/kokomoBay/docs/node/src/ReactStateAndHook.test" +} +ASDASDx +You have clicked the first button 0 times +butThen (rtr) => { + console.log("hello state and hook"); + return assert.deepEqual( + rtr.toJSON().children[0], + { + type: "pre", + props: {}, + children: [ + JSON.stringify(counter) + ] + } + ); + } +hello state and hook +ASDASDx +You have clicked the first button 0 times +You have clicked the first button 1 times +butThen (rtr) => { + console.log("hello state and hook"); + return assert.deepEqual( + rtr.toJSON().children[0], + { + type: "pre", + props: {}, + children: [ + JSON.stringify(counter) + ] + } + ); + } +hello state and hook +ASDASDx +You have clicked the first button 0 times +You have clicked the first button 1 times +You have clicked the first button 2 times +You have clicked the first button 3 times +butThen (rtr) => { + console.log("hello state and hook"); + return assert.deepEqual( + rtr.toJSON().children[0], + { + type: "pre", + props: {}, + children: [ + JSON.stringify(counter) + ] + } + ); + } +hello state and hook +ASDASDx +You have clicked the first button 0 times +You have clicked the first button 1 times +butThen (rtr) => { + console.log("hello state and hook"); + return assert.deepEqual( + rtr.toJSON().children[0], + { + type: "pre", + props: {}, + children: [ + JSON.stringify(counter) + ] + } + ); + } +hello state and hook +exiting gracefully with 0 failures. diff --git a/docs/node/src/ReactStateAndHook.test/tests.json b/docs/node/src/ReactStateAndHook.test/tests.json new file mode 100644 index 00000000..c4c3b3f7 --- /dev/null +++ b/docs/node/src/ReactStateAndHook.test/tests.json @@ -0,0 +1,76 @@ +{ + "name": "Testing the ReactStateAndHook element", + "givens": [ + { + "name": "Default", + "whens": [], + "thens": [ + { + "name": "TheCounterIs: 0" + } + ], + "error": null, + "features": [ + "hello" + ] + }, + { + "name": "Default", + "whens": [ + { + "name": "IClick: undefined" + } + ], + "thens": [ + { + "name": "TheCounterIs: 1" + } + ], + "error": null, + "features": [ + "hello" + ] + }, + { + "name": "Default", + "whens": [ + { + "name": "IClick: undefined" + }, + { + "name": "IClick: undefined" + }, + { + "name": "IClick: undefined" + } + ], + "thens": [ + { + "name": "TheCounterIs: 3" + } + ], + "error": null, + "features": [ + "hello" + ] + }, + { + "name": "Default", + "whens": [ + { + "name": "IClick: undefined" + } + ], + "thens": [ + { + "name": "TheCounterIs: 1" + } + ], + "error": null, + "features": [ + "hello" + ] + } + ], + "fails": [] +} \ No newline at end of file diff --git a/docs/node/src/ReactStateAndHook.testx/stdout.log b/docs/node/src/ReactStateAndHook.testx/stdout.log deleted file mode 100644 index 56a6051c..00000000 --- a/docs/node/src/ReactStateAndHook.testx/stdout.log +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/docs/node/src/Rectangle/Rectangle.test.node.mjs b/docs/node/src/Rectangle/Rectangle.test.node.mjs deleted file mode 100644 index b4c30f00..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node.mjs +++ /dev/null @@ -1,178 +0,0 @@ -import { createRequire } from 'module';const require = createRequire(import.meta.url); -import { - Node_default -} from "../../chunk-JLEL7NCS.mjs"; -import { - assert -} from "../../chunk-GHFYKOO4.mjs"; -import "../../chunk-RD6NELNE.mjs"; -import "../../chunk-HRTB753X.mjs"; -import "../../chunk-J74XOMIJ.mjs"; -import { - init_cjs_shim -} from "../../chunk-LD4XAW36.mjs"; - -// src/Rectangle/Rectangle.test.node.ts -init_cjs_shim(); - -// ../testeranto/dist/module/SubPackages/puppeteer.js -init_cjs_shim(); -import React from "react"; -var puppeteer_default = (testInput, testSpecifications, testImplementations, testInterface2) => { - return Node_default(testInput, testSpecifications, testImplementations, Object.assign({ beforeAll(x) { - process.parentPort.postMessage(`/dist/web/src/ClassicalComponent/test.html`); - return x; - }, beforeEach: async () => { - return new Promise((resolve, rej) => { - resolve(React.createElement(testInput, {}, [])); - }); - }, andWhen: function(s, whenCB) { - return whenCB()(s); - } }, testInterface2)); -}; - -// src/Rectangle.test.ts -init_cjs_shim(); - -// src/Rectangle.ts -init_cjs_shim(); -var Rectangle = class { - height; - width; - constructor(height = 2, width = 2) { - this.height = height; - this.width = width; - } - getHeight() { - return this.height; - } - getWidth() { - return this.width; - } - setHeight(height) { - this.height = height; - } - setWidth(width) { - this.width = width; - } - area() { - return this.width * this.height; - } - circumference() { - return this.width * 2 + this.height * 2; - } -}; -var Rectangle_default = Rectangle; - -// src/Rectangle.test.ts -var RectangleTesterantoBaseTestImplementation = { - suites: { - Default: "a default suite" - }, - givens: { - Default: () => new Rectangle_default(), - WidthOfOneAndHeightOfOne: () => new Rectangle_default(1, 1), - WidthAndHeightOf: (width, height) => new Rectangle_default(width, height) - }, - whens: { - HeightIsPubliclySetTo: (height) => (rectangle) => rectangle.height = height, - WidthIsPubliclySetTo: (width) => (rectangle) => rectangle.width = width, - setWidth: (width) => (rectangle) => rectangle.setWidth(width), - setHeight: (height) => (rectangle) => rectangle.setHeight(height) - }, - thens: { - AreaPlusCircumference: (combined) => (rectangle) => { - console.log("MARK"); - assert.equal(rectangle.area() + rectangle.circumference(), combined); - }, - getWidth: (width) => (rectangle) => assert.equal(rectangle.width, width), - getHeight: (height) => (rectangle) => assert.equal(rectangle.height, height), - area: (area) => (rectangle) => assert.equal(rectangle.area(), area), - prototype: (name) => (rectangle) => assert.equal(1, 1), - circumference: (circumference) => (rectangle) => assert.equal(rectangle.circumference(), circumference) - }, - checks: { - /* @ts-ignore:next-line */ - AnEmptyState: () => { - return {}; - } - } -}; -var RectangleTesterantoBaseTestSpecification = (Suite, Given, When, Then, Check) => { - return [ - Suite.Default( - "Testing the Rectangle class", - { - "test0": Given.Default( - [`hello`], - [When.setWidth(4), When.setHeight(9)], - [Then.getWidth(4), Then.getHeight(9)] - ), - "test1": Given.Default( - [`hello`], - [When.setWidth(4), When.setHeight(5)], - [ - Then.getWidth(4), - Then.getHeight(5), - Then.area(20), - Then.AreaPlusCircumference(38) - ] - ), - "test2": Given.Default( - [`hello`], - [When.setHeight(4), When.setWidth(3)], - [Then.area(12)] - ), - "test3": Given.Default( - [`hello`], - [When.setHeight(5), When.setWidth(5)], - [Then.area(5)] - ), - "test4": Given.Default( - [`hello`], - [When.setHeight(6), When.setWidth(6)], - [Then.area(37)] - ) - }, - [] - // Check.Default( - // "imperative style", - // async ({ PostToAdd }, { TheNumberIs }) => { - // const a = await PostToAdd(2); - // const b = parseInt(await PostToAdd(3)); - // await TheNumberIs(b); - // await PostToAdd(2); - // await TheNumberIs(7); - // await PostToAdd(3); - // await TheNumberIs(10); - // assert.equal(await PostToAdd(-15), -5); - // await TheNumberIs(-5); - // } - // ), - // ] - ) - ]; -}; -var RectangleTesterantoBasePrototype = Rectangle_default.prototype; - -// src/Rectangle/Rectangle.test.node.ts -var testInterface = { - assertThis: (x) => { - }, - afterAll: async (store, artificer, browser) => { - const page = (await browser.pages())[0]; - console.log("page", page); - await page.screenshot({ - path: "hello98.jpg" - }); - } -}; -var RectangleTesteranto = puppeteer_default( - "RectangleTesterantoBasePrototype", - RectangleTesterantoBaseTestSpecification, - RectangleTesterantoBaseTestImplementation, - testInterface -); -export { - RectangleTesteranto -}; diff --git a/docs/node/src/Rectangle/Rectangle.test.node/exitcode b/docs/node/src/Rectangle/Rectangle.test.node/exitcode deleted file mode 100644 index 7813681f..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node/exitcode +++ /dev/null @@ -1 +0,0 @@ -5 \ No newline at end of file diff --git a/docs/node/src/Rectangle/Rectangle.test.node/log.txt b/docs/node/src/Rectangle/Rectangle.test.node/log.txt deleted file mode 100644 index dc4f7b6a..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node/log.txt +++ /dev/null @@ -1,28 +0,0 @@ -test resources: ,[object Object] - -Suite:,0,Testing the Rectangle class - - Given: Default - When:,setWidth: 4 -TypeError: Cannot read properties of undefined (reading 'setWidth') - - - Given: Default - When:,setWidth: 4 -TypeError: Cannot read properties of undefined (reading 'setWidth') - - - Given: Default - When:,setHeight: 4 -TypeError: Cannot read properties of undefined (reading 'setHeight') - - - Given: Default - When:,setHeight: 5 -TypeError: Cannot read properties of undefined (reading 'setHeight') - - - Given: Default - When:,setHeight: 6 -TypeError: Cannot read properties of undefined (reading 'setHeight') - diff --git a/docs/node/src/Rectangle/Rectangle.test.node/results.json b/docs/node/src/Rectangle/Rectangle.test.node/results.json deleted file mode 100644 index a00c0651..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node/results.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "name": "Testing the Rectangle class", - "givens": [ - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4", - "error": true - }, - { - "name": "setHeight: 9" - } - ], - "thens": [ - { - "name": "getWidth: 4" - }, - { - "name": "getHeight: 9" - } - ], - "error": [ - {}, - "TypeError: Cannot read properties of undefined (reading 'setWidth')\n at file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:80:51\n at Object.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:30:12)\n at When.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:370:40)\n at When.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:153:25)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:119:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:68:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:234:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:262:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:504:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4", - "error": true - }, - { - "name": "setHeight: 5" - } - ], - "thens": [ - { - "name": "getWidth: 4" - }, - { - "name": "getHeight: 5" - }, - { - "name": "area: 20" - }, - { - "name": "AreaPlusCircumference: 38" - } - ], - "error": [ - {}, - "TypeError: Cannot read properties of undefined (reading 'setWidth')\n at file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:80:51\n at Object.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:30:12)\n at When.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:370:40)\n at When.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:153:25)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:119:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:68:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:234:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:262:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:504:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 4", - "error": true - }, - { - "name": "setWidth: 3" - } - ], - "thens": [ - { - "name": "area: 12" - } - ], - "error": [ - {}, - "TypeError: Cannot read properties of undefined (reading 'setHeight')\n at file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:81:53\n at Object.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:30:12)\n at When.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:370:40)\n at When.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:153:25)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:119:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:68:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:234:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:262:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:504:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 5", - "error": true - }, - { - "name": "setWidth: 5" - } - ], - "thens": [ - { - "name": "area: 5" - } - ], - "error": [ - {}, - "TypeError: Cannot read properties of undefined (reading 'setHeight')\n at file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:81:53\n at Object.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:30:12)\n at When.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:370:40)\n at When.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:153:25)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:119:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:68:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:234:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:262:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:504:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 6", - "error": true - }, - { - "name": "setWidth: 6" - } - ], - "thens": [ - { - "name": "area: 37" - } - ], - "error": [ - {}, - "TypeError: Cannot read properties of undefined (reading 'setHeight')\n at file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:81:53\n at Object.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node.mjs:30:12)\n at When.andWhen (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:370:40)\n at When.test (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:153:25)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:119:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:68:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:234:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:262:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-JLEL7NCS.mjs:504:47)" - ], - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/node/src/Rectangle/Rectangle.test.node/stderr.log b/docs/node/src/Rectangle/Rectangle.test.node/stderr.log deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/node/src/Rectangle/Rectangle.test.node/stdout.log b/docs/node/src/Rectangle/Rectangle.test.node/stdout.log deleted file mode 100644 index e25cb91a..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node/stdout.log +++ /dev/null @@ -1,53 +0,0 @@ -connected! true -testResourceConfiguration { - "scheduled": true, - "name": "./src/Rectangle/Rectangle.test.node.ts", - "ports": [], - "fs": "/Users/adam/Code/kokomoBay/docs/node/src/Rectangle/Rectangle.test.node" -} -exiting gracefully with 5 failures. -page CDPPage { - eventsMap: Map(0) {}, - emitter: { - all: Map(0) {}, - on: [Function: on], - off: [Function: off], - emit: [Function: emit] - } -} -page CDPPage { - eventsMap: Map(0) {}, - emitter: { - all: Map(0) {}, - on: [Function: on], - off: [Function: off], - emit: [Function: emit] - } -} -page CDPPage { - eventsMap: Map(0) {}, - emitter: { - all: Map(0) {}, - on: [Function: on], - off: [Function: off], - emit: [Function: emit] - } -} -page CDPPage { - eventsMap: Map(0) {}, - emitter: { - all: Map(0) {}, - on: [Function: on], - off: [Function: off], - emit: [Function: emit] - } -} -page CDPPage { - eventsMap: Map(0) {}, - emitter: { - all: Map(0) {}, - on: [Function: on], - off: [Function: off], - emit: [Function: emit] - } -} diff --git a/docs/node/src/Rectangle/Rectangle.test.node/tests.json b/docs/node/src/Rectangle/Rectangle.test.node/tests.json deleted file mode 100644 index d50772c7..00000000 --- a/docs/node/src/Rectangle/Rectangle.test.node/tests.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "name": "Testing the Rectangle class", - "givens": [ - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4" - }, - { - "name": "setHeight: 9" - } - ], - "thens": [ - { - "name": "getWidth: 4" - }, - { - "name": "getHeight: 9" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4" - }, - { - "name": "setHeight: 5" - } - ], - "thens": [ - { - "name": "getWidth: 4" - }, - { - "name": "getHeight: 5" - }, - { - "name": "area: 20" - }, - { - "name": "AreaPlusCircumference: 38" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 4" - }, - { - "name": "setWidth: 3" - } - ], - "thens": [ - { - "name": "area: 12" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 5" - }, - { - "name": "setWidth: 5" - } - ], - "thens": [ - { - "name": "area: 5" - } - ], - "error": null, - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 6" - }, - { - "name": "setWidth: 6" - } - ], - "thens": [ - { - "name": "area: 37" - } - ], - "error": null, - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/node/src/app.redux.test.mjs b/docs/node/src/app.redux.test.mjs index 5950f001..934dcfff 100644 --- a/docs/node/src/app.redux.test.mjs +++ b/docs/node/src/app.redux.test.mjs @@ -5,14 +5,14 @@ import { import { loginApp, require_redux -} from "../chunk-ZYSDJLN5.mjs"; +} from "../chunk-Q7IN32QK.mjs"; import { Node_default -} from "../chunk-NS6IKN45.mjs"; +} from "../chunk-ZCV7TGA6.mjs"; import { assert } from "../chunk-GHFYKOO4.mjs"; -import "../chunk-RD6NELNE.mjs"; +import "../chunk-TILBILWP.mjs"; import "../chunk-HRTB753X.mjs"; import "../chunk-J74XOMIJ.mjs"; import { diff --git a/docs/node/src/app.redux.test/results.json b/docs/node/src/app.redux.test/results.json deleted file mode 100644 index 081fd152..00000000 --- a/docs/node/src/app.redux.test/results.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Testing the Redux store", - "givens": [ - { - "name": "AnEmptyState", - "whens": [ - { - "name": "TheEmailIsSetTo: adam@email.com" - } - ], - "thens": [ - { - "name": "TheEmailIs: adam@email.com" - } - ], - "error": null, - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/node/src/app.reduxToolkit.test.mjs b/docs/node/src/app.reduxToolkit.test.mjs index 190ff6cf..b00a3d00 100644 --- a/docs/node/src/app.reduxToolkit.test.mjs +++ b/docs/node/src/app.reduxToolkit.test.mjs @@ -6,14 +6,14 @@ import { app_default, loginApp, require_redux -} from "../chunk-ZYSDJLN5.mjs"; +} from "../chunk-Q7IN32QK.mjs"; import { Node_default -} from "../chunk-NS6IKN45.mjs"; +} from "../chunk-ZCV7TGA6.mjs"; import { assert } from "../chunk-GHFYKOO4.mjs"; -import "../chunk-RD6NELNE.mjs"; +import "../chunk-TILBILWP.mjs"; import "../chunk-HRTB753X.mjs"; import "../chunk-J74XOMIJ.mjs"; import { diff --git a/docs/node/src/app.reduxToolkit.test/results.json b/docs/node/src/app.reduxToolkit.test/results.json deleted file mode 100644 index 032ff6f6..00000000 --- a/docs/node/src/app.reduxToolkit.test/results.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Testing the Redux store", - "givens": [ - { - "name": "AnEmptyState", - "whens": [ - { - "name": "TheEmailIsSetTo: adam@email.com" - } - ], - "thens": [ - { - "name": "TheEmailIs: adam@email.com" - } - ], - "error": [ - {}, - "TypeError: t[0] is not a function\n at Object.assertThis (file:///Users/adam/Code/kokomoBay/docs/node/src/app.reduxToolkit.test.mjs:33:11)\n at assertThat (file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:497:29)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:162:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:76:22)\n at async file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:304:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:350:29)\n at async NodeTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/node/chunk-NS6IKN45.mjs:717:9)" - ], - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/testeranto.json b/docs/testeranto.json index c5fe6785..b3f96034 100644 --- a/docs/testeranto.json +++ b/docs/testeranto.json @@ -42,17 +42,6 @@ "web", [] ], - [ - "./src/Rectangle/Rectangle.test.node.ts", - "node", - [ - [ - "./src/ClassicalComponent/test.ts", - "web", - [] - ] - ] - ], [ "./src/MyFirstContract.solidity-precompiled.test.ts", "node", diff --git a/docs/web/chunk-LD7PK274.mjs b/docs/web/chunk-LD7PK274.mjs deleted file mode 100644 index 04efb556..00000000 --- a/docs/web/chunk-LD7PK274.mjs +++ /dev/null @@ -1,2867 +0,0 @@ -import { - require_react, - require_react_dom -} from "./chunk-X4RTFM5S.mjs"; -import { - __commonJS, - __toESM -} from "./chunk-TTFRSOOU.mjs"; - -// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js -var require_use_sync_external_store_shim_development = __commonJS({ - "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) { - "use strict"; - if (true) { - (function() { - "use strict"; - if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); - } - var React6 = require_react(); - var ReactSharedInternals = React6.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - function error(format) { - { - { - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - printWarning("error", format, args); - } - } - } - function printWarning(level, format, args) { - { - var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; - var stack = ReactDebugCurrentFrame.getStackAddendum(); - if (stack !== "") { - format += "%s"; - args = args.concat([stack]); - } - var argsWithFormat = args.map(function(item) { - return String(item); - }); - argsWithFormat.unshift("Warning: " + format); - Function.prototype.apply.call(console[level], console, argsWithFormat); - } - } - function is(x2, y2) { - return x2 === y2 && (x2 !== 0 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; - } - var objectIs = typeof Object.is === "function" ? Object.is : is; - var useState = React6.useState, useEffect2 = React6.useEffect, useLayoutEffect2 = React6.useLayoutEffect, useDebugValue2 = React6.useDebugValue; - var didWarnOld18Alpha = false; - var didWarnUncachedGetSnapshot = false; - function useSyncExternalStore3(subscribe, getSnapshot, getServerSnapshot) { - { - if (!didWarnOld18Alpha) { - if (React6.startTransition !== void 0) { - didWarnOld18Alpha = true; - error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."); - } - } - } - var value = getSnapshot(); - { - if (!didWarnUncachedGetSnapshot) { - var cachedValue = getSnapshot(); - if (!objectIs(value, cachedValue)) { - error("The result of getSnapshot should be cached to avoid an infinite loop"); - didWarnUncachedGetSnapshot = true; - } - } - } - var _useState = useState({ - inst: { - value, - getSnapshot - } - }), inst = _useState[0].inst, forceUpdate = _useState[1]; - useLayoutEffect2(function() { - inst.value = value; - inst.getSnapshot = getSnapshot; - if (checkIfSnapshotChanged(inst)) { - forceUpdate({ - inst - }); - } - }, [subscribe, value, getSnapshot]); - useEffect2(function() { - if (checkIfSnapshotChanged(inst)) { - forceUpdate({ - inst - }); - } - var handleStoreChange = function() { - if (checkIfSnapshotChanged(inst)) { - forceUpdate({ - inst - }); - } - }; - return subscribe(handleStoreChange); - }, [subscribe]); - useDebugValue2(value); - return value; - } - function checkIfSnapshotChanged(inst) { - var latestGetSnapshot = inst.getSnapshot; - var prevValue = inst.value; - try { - var nextValue = latestGetSnapshot(); - return !objectIs(prevValue, nextValue); - } catch (error2) { - return true; - } - } - function useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) { - return getSnapshot(); - } - var canUseDOM2 = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); - var isServerEnvironment = !canUseDOM2; - var shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore3; - var useSyncExternalStore$2 = React6.useSyncExternalStore !== void 0 ? React6.useSyncExternalStore : shim; - exports.useSyncExternalStore = useSyncExternalStore$2; - if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); - } - })(); - } - } -}); - -// node_modules/use-sync-external-store/shim/index.js -var require_shim = __commonJS({ - "node_modules/use-sync-external-store/shim/index.js"(exports, module) { - "use strict"; - if (false) { - module.exports = null; - } else { - module.exports = require_use_sync_external_store_shim_development(); - } - } -}); - -// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js -var require_with_selector_development = __commonJS({ - "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) { - "use strict"; - if (true) { - (function() { - "use strict"; - if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); - } - var React6 = require_react(); - var shim = require_shim(); - function is(x2, y2) { - return x2 === y2 && (x2 !== 0 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; - } - var objectIs = typeof Object.is === "function" ? Object.is : is; - var useSyncExternalStore3 = shim.useSyncExternalStore; - var useRef3 = React6.useRef, useEffect2 = React6.useEffect, useMemo3 = React6.useMemo, useDebugValue2 = React6.useDebugValue; - function useSyncExternalStoreWithSelector3(subscribe, getSnapshot, getServerSnapshot, selector2, isEqual) { - var instRef = useRef3(null); - var inst; - if (instRef.current === null) { - inst = { - hasValue: false, - value: null - }; - instRef.current = inst; - } else { - inst = instRef.current; - } - var _useMemo = useMemo3(function() { - var hasMemo = false; - var memoizedSnapshot; - var memoizedSelection; - var memoizedSelector = function(nextSnapshot) { - if (!hasMemo) { - hasMemo = true; - memoizedSnapshot = nextSnapshot; - var _nextSelection = selector2(nextSnapshot); - if (isEqual !== void 0) { - if (inst.hasValue) { - var currentSelection = inst.value; - if (isEqual(currentSelection, _nextSelection)) { - memoizedSelection = currentSelection; - return currentSelection; - } - } - } - memoizedSelection = _nextSelection; - return _nextSelection; - } - var prevSnapshot = memoizedSnapshot; - var prevSelection = memoizedSelection; - if (objectIs(prevSnapshot, nextSnapshot)) { - return prevSelection; - } - var nextSelection = selector2(nextSnapshot); - if (isEqual !== void 0 && isEqual(prevSelection, nextSelection)) { - return prevSelection; - } - memoizedSnapshot = nextSnapshot; - memoizedSelection = nextSelection; - return nextSelection; - }; - var maybeGetServerSnapshot = getServerSnapshot === void 0 ? null : getServerSnapshot; - var getSnapshotWithSelector = function() { - return memoizedSelector(getSnapshot()); - }; - var getServerSnapshotWithSelector = maybeGetServerSnapshot === null ? void 0 : function() { - return memoizedSelector(maybeGetServerSnapshot()); - }; - return [getSnapshotWithSelector, getServerSnapshotWithSelector]; - }, [getSnapshot, getServerSnapshot, selector2, isEqual]), getSelection = _useMemo[0], getServerSelection = _useMemo[1]; - var value = useSyncExternalStore3(subscribe, getSelection, getServerSelection); - useEffect2(function() { - inst.hasValue = true; - inst.value = value; - }, [value]); - useDebugValue2(value); - return value; - } - exports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector3; - if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); - } - })(); - } - } -}); - -// node_modules/use-sync-external-store/shim/with-selector.js -var require_with_selector = __commonJS({ - "node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) { - "use strict"; - if (false) { - module.exports = null; - } else { - module.exports = require_with_selector_development(); - } - } -}); - -// node_modules/react-is/cjs/react-is.development.js -var require_react_is_development = __commonJS({ - "node_modules/react-is/cjs/react-is.development.js"(exports) { - "use strict"; - if (true) { - (function() { - "use strict"; - var hasSymbol = typeof Symbol === "function" && Symbol.for; - var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103; - var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106; - var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107; - var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108; - var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114; - var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109; - var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110; - var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111; - var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111; - var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112; - var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113; - var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120; - var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115; - var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116; - var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121; - var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117; - var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118; - var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119; - function isValidElementType2(type) { - return typeof type === "string" || typeof type === "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. - type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); - } - function typeOf(object) { - if (typeof object === "object" && object !== null) { - var $$typeof = object.$$typeof; - switch ($$typeof) { - case REACT_ELEMENT_TYPE: - var type = object.type; - switch (type) { - case REACT_ASYNC_MODE_TYPE: - case REACT_CONCURRENT_MODE_TYPE: - case REACT_FRAGMENT_TYPE: - case REACT_PROFILER_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_SUSPENSE_TYPE: - return type; - default: - var $$typeofType = type && type.$$typeof; - switch ($$typeofType) { - case REACT_CONTEXT_TYPE: - case REACT_FORWARD_REF_TYPE: - case REACT_LAZY_TYPE: - case REACT_MEMO_TYPE: - case REACT_PROVIDER_TYPE: - return $$typeofType; - default: - return $$typeof; - } - } - case REACT_PORTAL_TYPE: - return $$typeof; - } - } - return void 0; - } - var AsyncMode = REACT_ASYNC_MODE_TYPE; - var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; - var ContextConsumer = REACT_CONTEXT_TYPE; - var ContextProvider = REACT_PROVIDER_TYPE; - var Element = REACT_ELEMENT_TYPE; - var ForwardRef = REACT_FORWARD_REF_TYPE; - var Fragment = REACT_FRAGMENT_TYPE; - var Lazy = REACT_LAZY_TYPE; - var Memo = REACT_MEMO_TYPE; - var Portal = REACT_PORTAL_TYPE; - var Profiler = REACT_PROFILER_TYPE; - var StrictMode = REACT_STRICT_MODE_TYPE; - var Suspense = REACT_SUSPENSE_TYPE; - var hasWarnedAboutDeprecatedIsAsyncMode = false; - function isAsyncMode(object) { - { - if (!hasWarnedAboutDeprecatedIsAsyncMode) { - hasWarnedAboutDeprecatedIsAsyncMode = true; - console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API."); - } - } - return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; - } - function isConcurrentMode(object) { - return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; - } - function isContextConsumer2(object) { - return typeOf(object) === REACT_CONTEXT_TYPE; - } - function isContextProvider(object) { - return typeOf(object) === REACT_PROVIDER_TYPE; - } - function isElement(object) { - return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; - } - function isForwardRef(object) { - return typeOf(object) === REACT_FORWARD_REF_TYPE; - } - function isFragment(object) { - return typeOf(object) === REACT_FRAGMENT_TYPE; - } - function isLazy(object) { - return typeOf(object) === REACT_LAZY_TYPE; - } - function isMemo(object) { - return typeOf(object) === REACT_MEMO_TYPE; - } - function isPortal(object) { - return typeOf(object) === REACT_PORTAL_TYPE; - } - function isProfiler(object) { - return typeOf(object) === REACT_PROFILER_TYPE; - } - function isStrictMode(object) { - return typeOf(object) === REACT_STRICT_MODE_TYPE; - } - function isSuspense(object) { - return typeOf(object) === REACT_SUSPENSE_TYPE; - } - exports.AsyncMode = AsyncMode; - exports.ConcurrentMode = ConcurrentMode; - exports.ContextConsumer = ContextConsumer; - exports.ContextProvider = ContextProvider; - exports.Element = Element; - exports.ForwardRef = ForwardRef; - exports.Fragment = Fragment; - exports.Lazy = Lazy; - exports.Memo = Memo; - exports.Portal = Portal; - exports.Profiler = Profiler; - exports.StrictMode = StrictMode; - exports.Suspense = Suspense; - exports.isAsyncMode = isAsyncMode; - exports.isConcurrentMode = isConcurrentMode; - exports.isContextConsumer = isContextConsumer2; - exports.isContextProvider = isContextProvider; - exports.isElement = isElement; - exports.isForwardRef = isForwardRef; - exports.isFragment = isFragment; - exports.isLazy = isLazy; - exports.isMemo = isMemo; - exports.isPortal = isPortal; - exports.isProfiler = isProfiler; - exports.isStrictMode = isStrictMode; - exports.isSuspense = isSuspense; - exports.isValidElementType = isValidElementType2; - exports.typeOf = typeOf; - })(); - } - } -}); - -// node_modules/react-is/index.js -var require_react_is = __commonJS({ - "node_modules/react-is/index.js"(exports, module) { - "use strict"; - if (false) { - module.exports = null; - } else { - module.exports = require_react_is_development(); - } - } -}); - -// node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js -var require_hoist_non_react_statics_cjs = __commonJS({ - "node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module) { - "use strict"; - var reactIs = require_react_is(); - var REACT_STATICS = { - childContextTypes: true, - contextType: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - getDerivedStateFromError: true, - getDerivedStateFromProps: true, - mixins: true, - propTypes: true, - type: true - }; - var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - callee: true, - arguments: true, - arity: true - }; - var FORWARD_REF_STATICS = { - "$$typeof": true, - render: true, - defaultProps: true, - displayName: true, - propTypes: true - }; - var MEMO_STATICS = { - "$$typeof": true, - compare: true, - defaultProps: true, - displayName: true, - propTypes: true, - type: true - }; - var TYPE_STATICS = {}; - TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; - TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; - function getStatics(component) { - if (reactIs.isMemo(component)) { - return MEMO_STATICS; - } - return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS; - } - var defineProperty = Object.defineProperty; - var getOwnPropertyNames = Object.getOwnPropertyNames; - var getOwnPropertySymbols = Object.getOwnPropertySymbols; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var getPrototypeOf = Object.getPrototypeOf; - var objectPrototype = Object.prototype; - function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { - if (typeof sourceComponent !== "string") { - if (objectPrototype) { - var inheritedComponent = getPrototypeOf(sourceComponent); - if (inheritedComponent && inheritedComponent !== objectPrototype) { - hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); - } - } - var keys = getOwnPropertyNames(sourceComponent); - if (getOwnPropertySymbols) { - keys = keys.concat(getOwnPropertySymbols(sourceComponent)); - } - var targetStatics = getStatics(targetComponent); - var sourceStatics = getStatics(sourceComponent); - for (var i2 = 0; i2 < keys.length; ++i2) { - var key = keys[i2]; - if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { - var descriptor = getOwnPropertyDescriptor(sourceComponent, key); - try { - defineProperty(targetComponent, key, descriptor); - } catch (e) { - } - } - } - } - return targetComponent; - } - module.exports = hoistNonReactStatics; - } -}); - -// node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js -var require_react_is_development2 = __commonJS({ - "node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js"(exports) { - "use strict"; - if (true) { - (function() { - "use strict"; - var REACT_ELEMENT_TYPE = Symbol.for("react.element"); - var REACT_PORTAL_TYPE = Symbol.for("react.portal"); - var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); - var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); - var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); - var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); - var REACT_CONTEXT_TYPE = Symbol.for("react.context"); - var REACT_SERVER_CONTEXT_TYPE = Symbol.for("react.server_context"); - var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); - var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); - var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); - var REACT_MEMO_TYPE = Symbol.for("react.memo"); - var REACT_LAZY_TYPE = Symbol.for("react.lazy"); - var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); - var enableScopeAPI = false; - var enableCacheElement = false; - var enableTransitionTracing = false; - var enableLegacyHidden = false; - var enableDebugTracing = false; - var REACT_MODULE_REFERENCE; - { - REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); - } - function isValidElementType2(type) { - if (typeof type === "string" || typeof type === "function") { - return true; - } - if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { - return true; - } - if (typeof type === "object" && type !== null) { - if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object - // types supported by any Flight configuration anywhere since - // we don't know which Flight build this will end up being used - // with. - type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) { - return true; - } - } - return false; - } - function typeOf(object) { - if (typeof object === "object" && object !== null) { - var $$typeof = object.$$typeof; - switch ($$typeof) { - case REACT_ELEMENT_TYPE: - var type = object.type; - switch (type) { - case REACT_FRAGMENT_TYPE: - case REACT_PROFILER_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_SUSPENSE_TYPE: - case REACT_SUSPENSE_LIST_TYPE: - return type; - default: - var $$typeofType = type && type.$$typeof; - switch ($$typeofType) { - case REACT_SERVER_CONTEXT_TYPE: - case REACT_CONTEXT_TYPE: - case REACT_FORWARD_REF_TYPE: - case REACT_LAZY_TYPE: - case REACT_MEMO_TYPE: - case REACT_PROVIDER_TYPE: - return $$typeofType; - default: - return $$typeof; - } - } - case REACT_PORTAL_TYPE: - return $$typeof; - } - } - return void 0; - } - var ContextConsumer = REACT_CONTEXT_TYPE; - var ContextProvider = REACT_PROVIDER_TYPE; - var Element = REACT_ELEMENT_TYPE; - var ForwardRef = REACT_FORWARD_REF_TYPE; - var Fragment = REACT_FRAGMENT_TYPE; - var Lazy = REACT_LAZY_TYPE; - var Memo = REACT_MEMO_TYPE; - var Portal = REACT_PORTAL_TYPE; - var Profiler = REACT_PROFILER_TYPE; - var StrictMode = REACT_STRICT_MODE_TYPE; - var Suspense = REACT_SUSPENSE_TYPE; - var SuspenseList = REACT_SUSPENSE_LIST_TYPE; - var hasWarnedAboutDeprecatedIsAsyncMode = false; - var hasWarnedAboutDeprecatedIsConcurrentMode = false; - function isAsyncMode(object) { - { - if (!hasWarnedAboutDeprecatedIsAsyncMode) { - hasWarnedAboutDeprecatedIsAsyncMode = true; - console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+."); - } - } - return false; - } - function isConcurrentMode(object) { - { - if (!hasWarnedAboutDeprecatedIsConcurrentMode) { - hasWarnedAboutDeprecatedIsConcurrentMode = true; - console["warn"]("The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+."); - } - } - return false; - } - function isContextConsumer2(object) { - return typeOf(object) === REACT_CONTEXT_TYPE; - } - function isContextProvider(object) { - return typeOf(object) === REACT_PROVIDER_TYPE; - } - function isElement(object) { - return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; - } - function isForwardRef(object) { - return typeOf(object) === REACT_FORWARD_REF_TYPE; - } - function isFragment(object) { - return typeOf(object) === REACT_FRAGMENT_TYPE; - } - function isLazy(object) { - return typeOf(object) === REACT_LAZY_TYPE; - } - function isMemo(object) { - return typeOf(object) === REACT_MEMO_TYPE; - } - function isPortal(object) { - return typeOf(object) === REACT_PORTAL_TYPE; - } - function isProfiler(object) { - return typeOf(object) === REACT_PROFILER_TYPE; - } - function isStrictMode(object) { - return typeOf(object) === REACT_STRICT_MODE_TYPE; - } - function isSuspense(object) { - return typeOf(object) === REACT_SUSPENSE_TYPE; - } - function isSuspenseList(object) { - return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; - } - exports.ContextConsumer = ContextConsumer; - exports.ContextProvider = ContextProvider; - exports.Element = Element; - exports.ForwardRef = ForwardRef; - exports.Fragment = Fragment; - exports.Lazy = Lazy; - exports.Memo = Memo; - exports.Portal = Portal; - exports.Profiler = Profiler; - exports.StrictMode = StrictMode; - exports.Suspense = Suspense; - exports.SuspenseList = SuspenseList; - exports.isAsyncMode = isAsyncMode; - exports.isConcurrentMode = isConcurrentMode; - exports.isContextConsumer = isContextConsumer2; - exports.isContextProvider = isContextProvider; - exports.isElement = isElement; - exports.isForwardRef = isForwardRef; - exports.isFragment = isFragment; - exports.isLazy = isLazy; - exports.isMemo = isMemo; - exports.isPortal = isPortal; - exports.isProfiler = isProfiler; - exports.isStrictMode = isStrictMode; - exports.isSuspense = isSuspense; - exports.isSuspenseList = isSuspenseList; - exports.isValidElementType = isValidElementType2; - exports.typeOf = typeOf; - })(); - } - } -}); - -// node_modules/react-redux/node_modules/react-is/index.js -var require_react_is2 = __commonJS({ - "node_modules/react-redux/node_modules/react-is/index.js"(exports, module) { - "use strict"; - if (false) { - module.exports = null; - } else { - module.exports = require_react_is_development2(); - } - } -}); - -// src/LoginPage/index.tsx -var import_react3 = __toESM(require_react(), 1); - -// node_modules/react-redux/es/index.js -var import_shim = __toESM(require_shim()); -var import_with_selector = __toESM(require_with_selector()); - -// node_modules/react-redux/es/utils/reactBatchedUpdates.js -var import_react_dom = __toESM(require_react_dom()); - -// node_modules/react-redux/es/utils/batch.js -function defaultNoopBatch(callback) { - callback(); -} -var batch = defaultNoopBatch; -var setBatch = (newBatch) => batch = newBatch; -var getBatch = () => batch; - -// node_modules/react-redux/es/hooks/useSelector.js -var import_react2 = __toESM(require_react()); - -// node_modules/react-redux/es/hooks/useReduxContext.js -var import_react = __toESM(require_react()); - -// node_modules/react-redux/es/components/Context.js -var React = __toESM(require_react()); -var ContextKey = Symbol.for(`react-redux-context`); -var gT = typeof globalThis !== "undefined" ? globalThis : ( - /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ - {} -); -function getContext() { - var _gT$ContextKey; - if (!React.createContext) - return {}; - const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = /* @__PURE__ */ new Map(); - let realContext = contextMap.get(React.createContext); - if (!realContext) { - realContext = React.createContext(null); - if (true) { - realContext.displayName = "ReactRedux"; - } - contextMap.set(React.createContext, realContext); - } - return realContext; -} -var ReactReduxContext = /* @__PURE__ */ getContext(); - -// node_modules/react-redux/es/hooks/useReduxContext.js -function createReduxContextHook(context = ReactReduxContext) { - return function useReduxContext2() { - const contextValue = (0, import_react.useContext)(context); - if (!contextValue) { - throw new Error("could not find react-redux context value; please ensure the component is wrapped in a "); - } - return contextValue; - }; -} -var useReduxContext = /* @__PURE__ */ createReduxContextHook(); - -// node_modules/react-redux/es/utils/useSyncExternalStore.js -var notInitialized = () => { - throw new Error("uSES not initialized!"); -}; - -// node_modules/react-redux/es/hooks/useSelector.js -var useSyncExternalStoreWithSelector = notInitialized; -var initializeUseSelector = (fn2) => { - useSyncExternalStoreWithSelector = fn2; -}; -var refEquality = (a2, b2) => a2 === b2; -function createSelectorHook(context = ReactReduxContext) { - const useReduxContext2 = context === ReactReduxContext ? useReduxContext : createReduxContextHook(context); - return function useSelector2(selector2, equalityFnOrOptions = {}) { - const { - equalityFn = refEquality, - stabilityCheck = void 0, - noopCheck = void 0 - } = typeof equalityFnOrOptions === "function" ? { - equalityFn: equalityFnOrOptions - } : equalityFnOrOptions; - if (true) { - if (!selector2) { - throw new Error(`You must pass a selector to useSelector`); - } - if (typeof selector2 !== "function") { - throw new Error(`You must pass a function as a selector to useSelector`); - } - if (typeof equalityFn !== "function") { - throw new Error(`You must pass a function as an equality function to useSelector`); - } - } - const { - store: store2, - subscription, - getServerState, - stabilityCheck: globalStabilityCheck, - noopCheck: globalNoopCheck - } = useReduxContext2(); - const firstRun = (0, import_react2.useRef)(true); - const wrappedSelector = (0, import_react2.useCallback)({ - [selector2.name](state) { - const selected = selector2(state); - if (true) { - const finalStabilityCheck = typeof stabilityCheck === "undefined" ? globalStabilityCheck : stabilityCheck; - if (finalStabilityCheck === "always" || finalStabilityCheck === "once" && firstRun.current) { - const toCompare = selector2(state); - if (!equalityFn(selected, toCompare)) { - let stack = void 0; - try { - throw new Error(); - } catch (e) { - ; - ({ - stack - } = e); - } - console.warn("Selector " + (selector2.name || "unknown") + " returned a different result when called with the same parameters. This can lead to unnecessary rerenders.\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization", { - state, - selected, - selected2: toCompare, - stack - }); - } - } - const finalNoopCheck = typeof noopCheck === "undefined" ? globalNoopCheck : noopCheck; - if (finalNoopCheck === "always" || finalNoopCheck === "once" && firstRun.current) { - if (selected === state) { - let stack = void 0; - try { - throw new Error(); - } catch (e) { - ; - ({ - stack - } = e); - } - console.warn("Selector " + (selector2.name || "unknown") + " returned the root state when called. This can lead to unnecessary rerenders.\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.", { - stack - }); - } - } - if (firstRun.current) - firstRun.current = false; - } - return selected; - } - }[selector2.name], [selector2, globalStabilityCheck, stabilityCheck]); - const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store2.getState, getServerState || store2.getState, wrappedSelector, equalityFn); - (0, import_react2.useDebugValue)(selectedState); - return selectedState; - }; -} -var useSelector = /* @__PURE__ */ createSelectorHook(); - -// node_modules/react-redux/es/components/connect.js -var import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs()); -var React3 = __toESM(require_react()); -var import_react_is = __toESM(require_react_is2()); - -// node_modules/react-redux/es/utils/Subscription.js -function createListenerCollection() { - const batch2 = getBatch(); - let first = null; - let last = null; - return { - clear() { - first = null; - last = null; - }, - notify() { - batch2(() => { - let listener2 = first; - while (listener2) { - listener2.callback(); - listener2 = listener2.next; - } - }); - }, - get() { - let listeners = []; - let listener2 = first; - while (listener2) { - listeners.push(listener2); - listener2 = listener2.next; - } - return listeners; - }, - subscribe(callback) { - let isSubscribed = true; - let listener2 = last = { - callback, - next: null, - prev: last - }; - if (listener2.prev) { - listener2.prev.next = listener2; - } else { - first = listener2; - } - return function unsubscribe() { - if (!isSubscribed || first === null) - return; - isSubscribed = false; - if (listener2.next) { - listener2.next.prev = listener2.prev; - } else { - last = listener2.prev; - } - if (listener2.prev) { - listener2.prev.next = listener2.next; - } else { - first = listener2.next; - } - }; - } - }; -} -var nullListeners = { - notify() { - }, - get: () => [] -}; -function createSubscription(store2, parentSub) { - let unsubscribe; - let listeners = nullListeners; - let subscriptionsAmount = 0; - let selfSubscribed = false; - function addNestedSub(listener2) { - trySubscribe(); - const cleanupListener = listeners.subscribe(listener2); - let removed = false; - return () => { - if (!removed) { - removed = true; - cleanupListener(); - tryUnsubscribe(); - } - }; - } - function notifyNestedSubs() { - listeners.notify(); - } - function handleChangeWrapper() { - if (subscription.onStateChange) { - subscription.onStateChange(); - } - } - function isSubscribed() { - return selfSubscribed; - } - function trySubscribe() { - subscriptionsAmount++; - if (!unsubscribe) { - unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store2.subscribe(handleChangeWrapper); - listeners = createListenerCollection(); - } - } - function tryUnsubscribe() { - subscriptionsAmount--; - if (unsubscribe && subscriptionsAmount === 0) { - unsubscribe(); - unsubscribe = void 0; - listeners.clear(); - listeners = nullListeners; - } - } - function trySubscribeSelf() { - if (!selfSubscribed) { - selfSubscribed = true; - trySubscribe(); - } - } - function tryUnsubscribeSelf() { - if (selfSubscribed) { - selfSubscribed = false; - tryUnsubscribe(); - } - } - const subscription = { - addNestedSub, - notifyNestedSubs, - handleChangeWrapper, - isSubscribed, - trySubscribe: trySubscribeSelf, - tryUnsubscribe: tryUnsubscribeSelf, - getListeners: () => listeners - }; - return subscription; -} - -// node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js -var React2 = __toESM(require_react()); -var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); -var useIsomorphicLayoutEffect = canUseDOM ? React2.useLayoutEffect : React2.useEffect; - -// node_modules/react-redux/es/components/connect.js -var useSyncExternalStore = notInitialized; -var initializeConnect = (fn2) => { - useSyncExternalStore = fn2; -}; - -// node_modules/react-redux/es/components/Provider.js -var React4 = __toESM(require_react()); -function Provider({ - store: store2, - context, - children, - serverState, - stabilityCheck = "once", - noopCheck = "once" -}) { - const contextValue = React4.useMemo(() => { - const subscription = createSubscription(store2); - return { - store: store2, - subscription, - getServerState: serverState ? () => serverState : void 0, - stabilityCheck, - noopCheck - }; - }, [store2, serverState, stabilityCheck, noopCheck]); - const previousState = React4.useMemo(() => store2.getState(), [store2]); - useIsomorphicLayoutEffect(() => { - const { - subscription - } = contextValue; - subscription.onStateChange = subscription.notifyNestedSubs; - subscription.trySubscribe(); - if (previousState !== store2.getState()) { - subscription.notifyNestedSubs(); - } - return () => { - subscription.tryUnsubscribe(); - subscription.onStateChange = void 0; - }; - }, [contextValue, previousState]); - const Context = context || ReactReduxContext; - return /* @__PURE__ */ React4.createElement(Context.Provider, { - value: contextValue - }, children); -} -var Provider_default = Provider; - -// node_modules/react-redux/es/index.js -initializeUseSelector(import_with_selector.useSyncExternalStoreWithSelector); -initializeConnect(import_shim.useSyncExternalStore); -setBatch(import_react_dom.unstable_batchedUpdates); - -// node_modules/immer/dist/immer.esm.mjs -function n(n2) { - for (var r2 = arguments.length, t2 = Array(r2 > 1 ? r2 - 1 : 0), e = 1; e < r2; e++) - t2[e - 1] = arguments[e]; - if (true) { - var i2 = Y[n2], o2 = i2 ? "function" == typeof i2 ? i2.apply(null, t2) : i2 : "unknown error nr: " + n2; - throw Error("[Immer] " + o2); - } - throw Error("[Immer] minified error nr: " + n2 + (t2.length ? " " + t2.map(function(n3) { - return "'" + n3 + "'"; - }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf"); -} -function r(n2) { - return !!n2 && !!n2[Q]; -} -function t(n2) { - var r2; - return !!n2 && (function(n3) { - if (!n3 || "object" != typeof n3) - return false; - var r3 = Object.getPrototypeOf(n3); - if (null === r3) - return true; - var t2 = Object.hasOwnProperty.call(r3, "constructor") && r3.constructor; - return t2 === Object || "function" == typeof t2 && Function.toString.call(t2) === Z; - }(n2) || Array.isArray(n2) || !!n2[L] || !!(null === (r2 = n2.constructor) || void 0 === r2 ? void 0 : r2[L]) || s(n2) || v(n2)); -} -function i(n2, r2, t2) { - void 0 === t2 && (t2 = false), 0 === o(n2) ? (t2 ? Object.keys : nn)(n2).forEach(function(e) { - t2 && "symbol" == typeof e || r2(e, n2[e], n2); - }) : n2.forEach(function(t3, e) { - return r2(e, t3, n2); - }); -} -function o(n2) { - var r2 = n2[Q]; - return r2 ? r2.i > 3 ? r2.i - 4 : r2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0; -} -function u(n2, r2) { - return 2 === o(n2) ? n2.has(r2) : Object.prototype.hasOwnProperty.call(n2, r2); -} -function a(n2, r2) { - return 2 === o(n2) ? n2.get(r2) : n2[r2]; -} -function f(n2, r2, t2) { - var e = o(n2); - 2 === e ? n2.set(r2, t2) : 3 === e ? n2.add(t2) : n2[r2] = t2; -} -function c(n2, r2) { - return n2 === r2 ? 0 !== n2 || 1 / n2 == 1 / r2 : n2 != n2 && r2 != r2; -} -function s(n2) { - return X && n2 instanceof Map; -} -function v(n2) { - return q && n2 instanceof Set; -} -function p(n2) { - return n2.o || n2.t; -} -function l(n2) { - if (Array.isArray(n2)) - return Array.prototype.slice.call(n2); - var r2 = rn(n2); - delete r2[Q]; - for (var t2 = nn(r2), e = 0; e < t2.length; e++) { - var i2 = t2[e], o2 = r2[i2]; - false === o2.writable && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (r2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] }); - } - return Object.create(Object.getPrototypeOf(n2), r2); -} -function d(n2, e) { - return void 0 === e && (e = false), y(n2) || r(n2) || !t(n2) || (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e && i(n2, function(n3, r2) { - return d(r2, true); - }, true)), n2; -} -function h() { - n(2); -} -function y(n2) { - return null == n2 || "object" != typeof n2 || Object.isFrozen(n2); -} -function b(r2) { - var t2 = tn[r2]; - return t2 || n(18, r2), t2; -} -function m(n2, r2) { - tn[n2] || (tn[n2] = r2); -} -function _() { - return U || n(0), U; -} -function j(n2, r2) { - r2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = r2); -} -function g(n2) { - O(n2), n2.p.forEach(S), n2.p = null; -} -function O(n2) { - n2 === U && (U = n2.l); -} -function w(n2) { - return U = { p: [], l: U, h: n2, m: true, _: 0 }; -} -function S(n2) { - var r2 = n2[Q]; - 0 === r2.i || 1 === r2.i ? r2.j() : r2.g = true; -} -function P(r2, e) { - e._ = e.p.length; - var i2 = e.p[0], o2 = void 0 !== r2 && r2 !== i2; - return e.h.O || b("ES5").S(e, r2, o2), o2 ? (i2[Q].P && (g(e), n(4)), t(r2) && (r2 = M(e, r2), e.l || x(e, r2)), e.u && b("Patches").M(i2[Q].t, r2, e.u, e.s)) : r2 = M(e, i2, []), g(e), e.u && e.v(e.u, e.s), r2 !== H ? r2 : void 0; -} -function M(n2, r2, t2) { - if (y(r2)) - return r2; - var e = r2[Q]; - if (!e) - return i(r2, function(i2, o3) { - return A(n2, e, r2, i2, o3, t2); - }, true), r2; - if (e.A !== n2) - return r2; - if (!e.P) - return x(n2, e.t, true), e.t; - if (!e.I) { - e.I = true, e.A._--; - var o2 = 4 === e.i || 5 === e.i ? e.o = l(e.k) : e.o, u2 = o2, a2 = false; - 3 === e.i && (u2 = new Set(o2), o2.clear(), a2 = true), i(u2, function(r3, i2) { - return A(n2, e, o2, r3, i2, t2, a2); - }), x(n2, o2, false), t2 && n2.u && b("Patches").N(e, t2, n2.u, n2.s); - } - return e.o; -} -function A(e, i2, o2, a2, c2, s2, v2) { - if (c2 === o2 && n(5), r(c2)) { - var p2 = M(e, c2, s2 && i2 && 3 !== i2.i && !u(i2.R, a2) ? s2.concat(a2) : void 0); - if (f(o2, a2, p2), !r(p2)) - return; - e.m = false; - } else - v2 && o2.add(c2); - if (t(c2) && !y(c2)) { - if (!e.h.D && e._ < 1) - return; - M(e, c2), i2 && i2.A.l || x(e, c2); - } -} -function x(n2, r2, t2) { - void 0 === t2 && (t2 = false), !n2.l && n2.h.D && n2.m && d(r2, t2); -} -function z(n2, r2) { - var t2 = n2[Q]; - return (t2 ? p(t2) : n2)[r2]; -} -function I(n2, r2) { - if (r2 in n2) - for (var t2 = Object.getPrototypeOf(n2); t2; ) { - var e = Object.getOwnPropertyDescriptor(t2, r2); - if (e) - return e; - t2 = Object.getPrototypeOf(t2); - } -} -function k(n2) { - n2.P || (n2.P = true, n2.l && k(n2.l)); -} -function E(n2) { - n2.o || (n2.o = l(n2.t)); -} -function N(n2, r2, t2) { - var e = s(r2) ? b("MapSet").F(r2, t2) : v(r2) ? b("MapSet").T(r2, t2) : n2.O ? function(n3, r3) { - var t3 = Array.isArray(n3), e2 = { i: t3 ? 1 : 0, A: r3 ? r3.A : _(), P: false, I: false, R: {}, l: r3, t: n3, k: null, o: null, j: null, C: false }, i2 = e2, o2 = en; - t3 && (i2 = [e2], o2 = on); - var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy; - return e2.k = f2, e2.j = a2, f2; - }(r2, t2) : b("ES5").J(r2, t2); - return (t2 ? t2.A : _()).p.push(e), e; -} -function R(e) { - return r(e) || n(22, e), function n2(r2) { - if (!t(r2)) - return r2; - var e2, u2 = r2[Q], c2 = o(r2); - if (u2) { - if (!u2.P && (u2.i < 4 || !b("ES5").K(u2))) - return u2.t; - u2.I = true, e2 = D(r2, c2), u2.I = false; - } else - e2 = D(r2, c2); - return i(e2, function(r3, t2) { - u2 && a(u2.t, r3) === t2 || f(e2, r3, n2(t2)); - }), 3 === c2 ? new Set(e2) : e2; - }(e); -} -function D(n2, r2) { - switch (r2) { - case 2: - return new Map(n2); - case 3: - return Array.from(n2); - } - return l(n2); -} -function F() { - function t2(n2, r2) { - var t3 = s2[n2]; - return t3 ? t3.enumerable = r2 : s2[n2] = t3 = { configurable: true, enumerable: r2, get: function() { - var r3 = this[Q]; - return f2(r3), en.get(r3, n2); - }, set: function(r3) { - var t4 = this[Q]; - f2(t4), en.set(t4, n2, r3); - } }, t3; - } - function e(n2) { - for (var r2 = n2.length - 1; r2 >= 0; r2--) { - var t3 = n2[r2][Q]; - if (!t3.P) - switch (t3.i) { - case 5: - a2(t3) && k(t3); - break; - case 4: - o2(t3) && k(t3); - } - } - } - function o2(n2) { - for (var r2 = n2.t, t3 = n2.k, e2 = nn(t3), i2 = e2.length - 1; i2 >= 0; i2--) { - var o3 = e2[i2]; - if (o3 !== Q) { - var a3 = r2[o3]; - if (void 0 === a3 && !u(r2, o3)) - return true; - var f3 = t3[o3], s3 = f3 && f3[Q]; - if (s3 ? s3.t !== a3 : !c(f3, a3)) - return true; - } - } - var v2 = !!r2[Q]; - return e2.length !== nn(r2).length + (v2 ? 0 : 1); - } - function a2(n2) { - var r2 = n2.k; - if (r2.length !== n2.t.length) - return true; - var t3 = Object.getOwnPropertyDescriptor(r2, r2.length - 1); - if (t3 && !t3.get) - return true; - for (var e2 = 0; e2 < r2.length; e2++) - if (!r2.hasOwnProperty(e2)) - return true; - return false; - } - function f2(r2) { - r2.g && n(3, JSON.stringify(p(r2))); - } - var s2 = {}; - m("ES5", { J: function(n2, r2) { - var e2 = Array.isArray(n2), i2 = function(n3, r3) { - if (n3) { - for (var e3 = Array(r3.length), i3 = 0; i3 < r3.length; i3++) - Object.defineProperty(e3, "" + i3, t2(i3, true)); - return e3; - } - var o4 = rn(r3); - delete o4[Q]; - for (var u2 = nn(o4), a3 = 0; a3 < u2.length; a3++) { - var f3 = u2[a3]; - o4[f3] = t2(f3, n3 || !!o4[f3].enumerable); - } - return Object.create(Object.getPrototypeOf(r3), o4); - }(e2, n2), o3 = { i: e2 ? 5 : 4, A: r2 ? r2.A : _(), P: false, I: false, R: {}, l: r2, t: n2, k: i2, o: null, g: false, C: false }; - return Object.defineProperty(i2, Q, { value: o3, writable: true }), i2; - }, S: function(n2, t3, o3) { - o3 ? r(t3) && t3[Q].A === n2 && e(n2.p) : (n2.u && function n3(r2) { - if (r2 && "object" == typeof r2) { - var t4 = r2[Q]; - if (t4) { - var e2 = t4.t, o4 = t4.k, f3 = t4.R, c2 = t4.i; - if (4 === c2) - i(o4, function(r3) { - r3 !== Q && (void 0 !== e2[r3] || u(e2, r3) ? f3[r3] || n3(o4[r3]) : (f3[r3] = true, k(t4))); - }), i(e2, function(n4) { - void 0 !== o4[n4] || u(o4, n4) || (f3[n4] = false, k(t4)); - }); - else if (5 === c2) { - if (a2(t4) && (k(t4), f3.length = true), o4.length < e2.length) - for (var s3 = o4.length; s3 < e2.length; s3++) - f3[s3] = false; - else - for (var v2 = e2.length; v2 < o4.length; v2++) - f3[v2] = true; - for (var p2 = Math.min(o4.length, e2.length), l2 = 0; l2 < p2; l2++) - o4.hasOwnProperty(l2) || (f3[l2] = true), void 0 === f3[l2] && n3(o4[l2]); - } - } - } - }(n2.p[0]), e(n2.p)); - }, K: function(n2) { - return 4 === n2.i ? o2(n2) : a2(n2); - } }); -} -var G; -var U; -var W = "undefined" != typeof Symbol && "symbol" == typeof Symbol("x"); -var X = "undefined" != typeof Map; -var q = "undefined" != typeof Set; -var B = "undefined" != typeof Proxy && void 0 !== Proxy.revocable && "undefined" != typeof Reflect; -var H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G); -var L = W ? Symbol.for("immer-draftable") : "__$immer_draftable"; -var Q = W ? Symbol.for("immer-state") : "__$immer_state"; -var Y = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function(n2) { - return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n2; -}, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function(n2) { - return "Cannot apply patch, path doesn't resolve: " + n2; -}, 16: 'Sets cannot have "replace" patches.', 17: function(n2) { - return "Unsupported patch operation: " + n2; -}, 18: function(n2) { - return "The plugin for '" + n2 + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n2 + "()` when initializing your application."; -}, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function(n2) { - return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '" + n2 + "'"; -}, 22: function(n2) { - return "'current' expects a draft, got: " + n2; -}, 23: function(n2) { - return "'original' expects a draft, got: " + n2; -}, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" }; -var Z = "" + Object.prototype.constructor; -var nn = "undefined" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : void 0 !== Object.getOwnPropertySymbols ? function(n2) { - return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2)); -} : Object.getOwnPropertyNames; -var rn = Object.getOwnPropertyDescriptors || function(n2) { - var r2 = {}; - return nn(n2).forEach(function(t2) { - r2[t2] = Object.getOwnPropertyDescriptor(n2, t2); - }), r2; -}; -var tn = {}; -var en = { get: function(n2, r2) { - if (r2 === Q) - return n2; - var e = p(n2); - if (!u(e, r2)) - return function(n3, r3, t2) { - var e2, i3 = I(r3, t2); - return i3 ? "value" in i3 ? i3.value : null === (e2 = i3.get) || void 0 === e2 ? void 0 : e2.call(n3.k) : void 0; - }(n2, e, r2); - var i2 = e[r2]; - return n2.I || !t(i2) ? i2 : i2 === z(n2.t, r2) ? (E(n2), n2.o[r2] = N(n2.A.h, i2, n2)) : i2; -}, has: function(n2, r2) { - return r2 in p(n2); -}, ownKeys: function(n2) { - return Reflect.ownKeys(p(n2)); -}, set: function(n2, r2, t2) { - var e = I(p(n2), r2); - if (null == e ? void 0 : e.set) - return e.set.call(n2.k, t2), true; - if (!n2.P) { - var i2 = z(p(n2), r2), o2 = null == i2 ? void 0 : i2[Q]; - if (o2 && o2.t === t2) - return n2.o[r2] = t2, n2.R[r2] = false, true; - if (c(t2, i2) && (void 0 !== t2 || u(n2.t, r2))) - return true; - E(n2), k(n2); - } - return n2.o[r2] === t2 && (void 0 !== t2 || r2 in n2.o) || Number.isNaN(t2) && Number.isNaN(n2.o[r2]) || (n2.o[r2] = t2, n2.R[r2] = true), true; -}, deleteProperty: function(n2, r2) { - return void 0 !== z(n2.t, r2) || r2 in n2.t ? (n2.R[r2] = false, E(n2), k(n2)) : delete n2.R[r2], n2.o && delete n2.o[r2], true; -}, getOwnPropertyDescriptor: function(n2, r2) { - var t2 = p(n2), e = Reflect.getOwnPropertyDescriptor(t2, r2); - return e ? { writable: true, configurable: 1 !== n2.i || "length" !== r2, enumerable: e.enumerable, value: t2[r2] } : e; -}, defineProperty: function() { - n(11); -}, getPrototypeOf: function(n2) { - return Object.getPrototypeOf(n2.t); -}, setPrototypeOf: function() { - n(12); -} }; -var on = {}; -i(en, function(n2, r2) { - on[n2] = function() { - return arguments[0] = arguments[0][0], r2.apply(this, arguments); - }; -}), on.deleteProperty = function(r2, t2) { - return isNaN(parseInt(t2)) && n(13), on.set.call(this, r2, t2, void 0); -}, on.set = function(r2, t2, e) { - return "length" !== t2 && isNaN(parseInt(t2)) && n(14), en.set.call(this, r2[0], t2, e, r2[0]); -}; -var un = function() { - function e(r2) { - var e2 = this; - this.O = B, this.D = true, this.produce = function(r3, i3, o2) { - if ("function" == typeof r3 && "function" != typeof i3) { - var u2 = i3; - i3 = r3; - var a2 = e2; - return function(n2) { - var r4 = this; - void 0 === n2 && (n2 = u2); - for (var t2 = arguments.length, e3 = Array(t2 > 1 ? t2 - 1 : 0), o3 = 1; o3 < t2; o3++) - e3[o3 - 1] = arguments[o3]; - return a2.produce(n2, function(n3) { - var t3; - return (t3 = i3).call.apply(t3, [r4, n3].concat(e3)); - }); - }; - } - var f2; - if ("function" != typeof i3 && n(6), void 0 !== o2 && "function" != typeof o2 && n(7), t(r3)) { - var c2 = w(e2), s2 = N(e2, r3, void 0), v2 = true; - try { - f2 = i3(s2), v2 = false; - } finally { - v2 ? g(c2) : O(c2); - } - return "undefined" != typeof Promise && f2 instanceof Promise ? f2.then(function(n2) { - return j(c2, o2), P(n2, c2); - }, function(n2) { - throw g(c2), n2; - }) : (j(c2, o2), P(f2, c2)); - } - if (!r3 || "object" != typeof r3) { - if (void 0 === (f2 = i3(r3)) && (f2 = r3), f2 === H && (f2 = void 0), e2.D && d(f2, true), o2) { - var p2 = [], l2 = []; - b("Patches").M(r3, f2, p2, l2), o2(p2, l2); - } - return f2; - } - n(21, r3); - }, this.produceWithPatches = function(n2, r3) { - if ("function" == typeof n2) - return function(r4) { - for (var t3 = arguments.length, i4 = Array(t3 > 1 ? t3 - 1 : 0), o3 = 1; o3 < t3; o3++) - i4[o3 - 1] = arguments[o3]; - return e2.produceWithPatches(r4, function(r5) { - return n2.apply(void 0, [r5].concat(i4)); - }); - }; - var t2, i3, o2 = e2.produce(n2, r3, function(n3, r4) { - t2 = n3, i3 = r4; - }); - return "undefined" != typeof Promise && o2 instanceof Promise ? o2.then(function(n3) { - return [n3, t2, i3]; - }) : [o2, t2, i3]; - }, "boolean" == typeof (null == r2 ? void 0 : r2.useProxies) && this.setUseProxies(r2.useProxies), "boolean" == typeof (null == r2 ? void 0 : r2.autoFreeze) && this.setAutoFreeze(r2.autoFreeze); - } - var i2 = e.prototype; - return i2.createDraft = function(e2) { - t(e2) || n(8), r(e2) && (e2 = R(e2)); - var i3 = w(this), o2 = N(this, e2, void 0); - return o2[Q].C = true, O(i3), o2; - }, i2.finishDraft = function(r2, t2) { - var e2 = r2 && r2[Q]; - e2 && e2.C || n(9), e2.I && n(10); - var i3 = e2.A; - return j(i3, t2), P(void 0, i3); - }, i2.setAutoFreeze = function(n2) { - this.D = n2; - }, i2.setUseProxies = function(r2) { - r2 && !B && n(20), this.O = r2; - }, i2.applyPatches = function(n2, t2) { - var e2; - for (e2 = t2.length - 1; e2 >= 0; e2--) { - var i3 = t2[e2]; - if (0 === i3.path.length && "replace" === i3.op) { - n2 = i3.value; - break; - } - } - e2 > -1 && (t2 = t2.slice(e2 + 1)); - var o2 = b("Patches").$; - return r(n2) ? o2(n2, t2) : this.produce(n2, function(n3) { - return o2(n3, t2); - }); - }, e; -}(); -var an = new un(); -var fn = an.produce; -var cn = an.produceWithPatches.bind(an); -var sn = an.setAutoFreeze.bind(an); -var vn = an.setUseProxies.bind(an); -var pn = an.applyPatches.bind(an); -var ln = an.createDraft.bind(an); -var dn = an.finishDraft.bind(an); -var immer_esm_default = fn; - -// node_modules/redux/es/redux.js -var $$observable = function() { - return typeof Symbol === "function" && Symbol.observable || "@@observable"; -}(); -var randomString = function randomString2() { - return Math.random().toString(36).substring(7).split("").join("."); -}; -var ActionTypes = { - INIT: "@@redux/INIT" + randomString(), - REPLACE: "@@redux/REPLACE" + randomString(), - PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { - return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); - } -}; -function isPlainObject2(obj) { - if (typeof obj !== "object" || obj === null) - return false; - var proto = obj; - while (Object.getPrototypeOf(proto) !== null) { - proto = Object.getPrototypeOf(proto); - } - return Object.getPrototypeOf(obj) === proto; -} -function miniKindOf(val) { - if (val === void 0) - return "undefined"; - if (val === null) - return "null"; - var type = typeof val; - switch (type) { - case "boolean": - case "string": - case "number": - case "symbol": - case "function": { - return type; - } - } - if (Array.isArray(val)) - return "array"; - if (isDate(val)) - return "date"; - if (isError(val)) - return "error"; - var constructorName = ctorName(val); - switch (constructorName) { - case "Symbol": - case "Promise": - case "WeakMap": - case "WeakSet": - case "Map": - case "Set": - return constructorName; - } - return type.slice(8, -1).toLowerCase().replace(/\s/g, ""); -} -function ctorName(val) { - return typeof val.constructor === "function" ? val.constructor.name : null; -} -function isError(val) { - return val instanceof Error || typeof val.message === "string" && val.constructor && typeof val.constructor.stackTraceLimit === "number"; -} -function isDate(val) { - if (val instanceof Date) - return true; - return typeof val.toDateString === "function" && typeof val.getDate === "function" && typeof val.setDate === "function"; -} -function kindOf(val) { - var typeOfVal = typeof val; - if (true) { - typeOfVal = miniKindOf(val); - } - return typeOfVal; -} -function createStore(reducer, preloadedState, enhancer) { - var _ref2; - if (typeof preloadedState === "function" && typeof enhancer === "function" || typeof enhancer === "function" && typeof arguments[3] === "function") { - throw new Error(false ? formatProdErrorMessage(0) : "It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example."); - } - if (typeof preloadedState === "function" && typeof enhancer === "undefined") { - enhancer = preloadedState; - preloadedState = void 0; - } - if (typeof enhancer !== "undefined") { - if (typeof enhancer !== "function") { - throw new Error(false ? formatProdErrorMessage(1) : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); - } - return enhancer(createStore)(reducer, preloadedState); - } - if (typeof reducer !== "function") { - throw new Error(false ? formatProdErrorMessage(2) : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); - } - var currentReducer = reducer; - var currentState = preloadedState; - var currentListeners = []; - var nextListeners = currentListeners; - var isDispatching = false; - function ensureCanMutateNextListeners() { - if (nextListeners === currentListeners) { - nextListeners = currentListeners.slice(); - } - } - function getState() { - if (isDispatching) { - throw new Error(false ? formatProdErrorMessage(3) : "You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store."); - } - return currentState; - } - function subscribe(listener2) { - if (typeof listener2 !== "function") { - throw new Error(false ? formatProdErrorMessage(4) : "Expected the listener to be a function. Instead, received: '" + kindOf(listener2) + "'"); - } - if (isDispatching) { - throw new Error(false ? formatProdErrorMessage(5) : "You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details."); - } - var isSubscribed = true; - ensureCanMutateNextListeners(); - nextListeners.push(listener2); - return function unsubscribe() { - if (!isSubscribed) { - return; - } - if (isDispatching) { - throw new Error(false ? formatProdErrorMessage(6) : "You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details."); - } - isSubscribed = false; - ensureCanMutateNextListeners(); - var index = nextListeners.indexOf(listener2); - nextListeners.splice(index, 1); - currentListeners = null; - }; - } - function dispatch(action) { - if (!isPlainObject2(action)) { - throw new Error(false ? formatProdErrorMessage(7) : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); - } - if (typeof action.type === "undefined") { - throw new Error(false ? formatProdErrorMessage(8) : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); - } - if (isDispatching) { - throw new Error(false ? formatProdErrorMessage(9) : "Reducers may not dispatch actions."); - } - try { - isDispatching = true; - currentState = currentReducer(currentState, action); - } finally { - isDispatching = false; - } - var listeners = currentListeners = nextListeners; - for (var i2 = 0; i2 < listeners.length; i2++) { - var listener2 = listeners[i2]; - listener2(); - } - return action; - } - function replaceReducer(nextReducer) { - if (typeof nextReducer !== "function") { - throw new Error(false ? formatProdErrorMessage(10) : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); - } - currentReducer = nextReducer; - dispatch({ - type: ActionTypes.REPLACE - }); - } - function observable() { - var _ref; - var outerSubscribe = subscribe; - return _ref = { - /** - * The minimal observable subscription method. - * @param {Object} observer Any object that can be used as an observer. - * The observer object should have a `next` method. - * @returns {subscription} An object with an `unsubscribe` method that can - * be used to unsubscribe the observable from the store, and prevent further - * emission of values from the observable. - */ - subscribe: function subscribe2(observer) { - if (typeof observer !== "object" || observer === null) { - throw new Error(false ? formatProdErrorMessage(11) : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); - } - function observeState() { - if (observer.next) { - observer.next(getState()); - } - } - observeState(); - var unsubscribe = outerSubscribe(observeState); - return { - unsubscribe - }; - } - }, _ref[$$observable] = function() { - return this; - }, _ref; - } - dispatch({ - type: ActionTypes.INIT - }); - return _ref2 = { - dispatch, - subscribe, - getState, - replaceReducer - }, _ref2[$$observable] = observable, _ref2; -} -function compose() { - for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { - funcs[_key] = arguments[_key]; - } - if (funcs.length === 0) { - return function(arg) { - return arg; - }; - } - if (funcs.length === 1) { - return funcs[0]; - } - return funcs.reduce(function(a2, b2) { - return function() { - return a2(b2.apply(void 0, arguments)); - }; - }); -} - -// node_modules/reselect/es/defaultMemoize.js -var NOT_FOUND = "NOT_FOUND"; -function createSingletonCache(equals) { - var entry; - return { - get: function get(key) { - if (entry && equals(entry.key, key)) { - return entry.value; - } - return NOT_FOUND; - }, - put: function put(key, value) { - entry = { - key, - value - }; - }, - getEntries: function getEntries() { - return entry ? [entry] : []; - }, - clear: function clear() { - entry = void 0; - } - }; -} -function createLruCache(maxSize, equals) { - var entries = []; - function get(key) { - var cacheIndex = entries.findIndex(function(entry2) { - return equals(key, entry2.key); - }); - if (cacheIndex > -1) { - var entry = entries[cacheIndex]; - if (cacheIndex > 0) { - entries.splice(cacheIndex, 1); - entries.unshift(entry); - } - return entry.value; - } - return NOT_FOUND; - } - function put(key, value) { - if (get(key) === NOT_FOUND) { - entries.unshift({ - key, - value - }); - if (entries.length > maxSize) { - entries.pop(); - } - } - } - function getEntries() { - return entries; - } - function clear() { - entries = []; - } - return { - get, - put, - getEntries, - clear - }; -} -var defaultEqualityCheck = function defaultEqualityCheck2(a2, b2) { - return a2 === b2; -}; -function createCacheKeyComparator(equalityCheck) { - return function areArgumentsShallowlyEqual(prev, next) { - if (prev === null || next === null || prev.length !== next.length) { - return false; - } - var length = prev.length; - for (var i2 = 0; i2 < length; i2++) { - if (!equalityCheck(prev[i2], next[i2])) { - return false; - } - } - return true; - }; -} -function defaultMemoize(func, equalityCheckOrOptions) { - var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : { - equalityCheck: equalityCheckOrOptions - }; - var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck; - var comparator = createCacheKeyComparator(equalityCheck); - var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); - function memoized() { - var value = cache.get(arguments); - if (value === NOT_FOUND) { - value = func.apply(null, arguments); - if (resultEqualityCheck) { - var entries = cache.getEntries(); - var matchingEntry = entries.find(function(entry) { - return resultEqualityCheck(entry.value, value); - }); - if (matchingEntry) { - value = matchingEntry.value; - } - } - cache.put(arguments, value); - } - return value; - } - memoized.clearCache = function() { - return cache.clear(); - }; - return memoized; -} - -// node_modules/reselect/es/index.js -function getDependencies(funcs) { - var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; - if (!dependencies.every(function(dep) { - return typeof dep === "function"; - })) { - var dependencyTypes = dependencies.map(function(dep) { - return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep; - }).join(", "); - throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); - } - return dependencies; -} -function createSelectorCreator(memoize) { - for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - memoizeOptionsFromArgs[_key - 1] = arguments[_key]; - } - var createSelector2 = function createSelector3() { - for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - funcs[_key2] = arguments[_key2]; - } - var _recomputations = 0; - var _lastResult; - var directlyPassedOptions = { - memoizeOptions: void 0 - }; - var resultFunc = funcs.pop(); - if (typeof resultFunc === "object") { - directlyPassedOptions = resultFunc; - resultFunc = funcs.pop(); - } - if (typeof resultFunc !== "function") { - throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); - } - var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; - var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; - var dependencies = getDependencies(funcs); - var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { - _recomputations++; - return resultFunc.apply(null, arguments); - }].concat(finalMemoizeOptions)); - var selector2 = memoize(function dependenciesChecker() { - var params = []; - var length = dependencies.length; - for (var i2 = 0; i2 < length; i2++) { - params.push(dependencies[i2].apply(null, arguments)); - } - _lastResult = memoizedResultFunc.apply(null, params); - return _lastResult; - }); - Object.assign(selector2, { - resultFunc, - memoizedResultFunc, - dependencies, - lastResult: function lastResult() { - return _lastResult; - }, - recomputations: function recomputations() { - return _recomputations; - }, - resetRecomputations: function resetRecomputations() { - return _recomputations = 0; - } - }); - return selector2; - }; - return createSelector2; -} -var createSelector = /* @__PURE__ */ createSelectorCreator(defaultMemoize); - -// node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js -var __extends = function() { - var extendStatics = function(d2, b2) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) { - d3.__proto__ = b3; - } || function(d3, b3) { - for (var p2 in b3) - if (Object.prototype.hasOwnProperty.call(b3, p2)) - d3[p2] = b3[p2]; - }; - return extendStatics(d2, b2); - }; - return function(d2, b2) { - if (typeof b2 !== "function" && b2 !== null) - throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null"); - extendStatics(d2, b2); - function __() { - this.constructor = d2; - } - d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __()); - }; -}(); -var __generator = function(thisArg, body) { - var _2 = { label: 0, sent: function() { - if (t2[0] & 1) - throw t2[1]; - return t2[1]; - }, trys: [], ops: [] }, f2, y2, t2, g2; - return g2 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g2[Symbol.iterator] = function() { - return this; - }), g2; - function verb(n2) { - return function(v2) { - return step([n2, v2]); - }; - } - function step(op) { - if (f2) - throw new TypeError("Generator is already executing."); - while (_2) - try { - if (f2 = 1, y2 && (t2 = op[0] & 2 ? y2["return"] : op[0] ? y2["throw"] || ((t2 = y2["return"]) && t2.call(y2), 0) : y2.next) && !(t2 = t2.call(y2, op[1])).done) - return t2; - if (y2 = 0, t2) - op = [op[0] & 2, t2.value]; - switch (op[0]) { - case 0: - case 1: - t2 = op; - break; - case 4: - _2.label++; - return { value: op[1], done: false }; - case 5: - _2.label++; - y2 = op[1]; - op = [0]; - continue; - case 7: - op = _2.ops.pop(); - _2.trys.pop(); - continue; - default: - if (!(t2 = _2.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _2 = 0; - continue; - } - if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) { - _2.label = op[1]; - break; - } - if (op[0] === 6 && _2.label < t2[1]) { - _2.label = t2[1]; - t2 = op; - break; - } - if (t2 && _2.label < t2[2]) { - _2.label = t2[2]; - _2.ops.push(op); - break; - } - if (t2[2]) - _2.ops.pop(); - _2.trys.pop(); - continue; - } - op = body.call(thisArg, _2); - } catch (e) { - op = [6, e]; - y2 = 0; - } finally { - f2 = t2 = 0; - } - if (op[0] & 5) - throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __spreadArray = function(to, from) { - for (var i2 = 0, il = from.length, j2 = to.length; i2 < il; i2++, j2++) - to[j2] = from[i2]; - return to; -}; -var __defProp = Object.defineProperty; -var __defProps = Object.defineProperties; -var __getOwnPropDescs = Object.getOwnPropertyDescriptors; -var __getOwnPropSymbols = Object.getOwnPropertySymbols; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __propIsEnum = Object.prototype.propertyIsEnumerable; -var __defNormalProp = function(obj, key, value) { - return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -}; -var __spreadValues = function(a2, b2) { - for (var prop in b2 || (b2 = {})) - if (__hasOwnProp.call(b2, prop)) - __defNormalProp(a2, prop, b2[prop]); - if (__getOwnPropSymbols) - for (var _i = 0, _c = __getOwnPropSymbols(b2); _i < _c.length; _i++) { - var prop = _c[_i]; - if (__propIsEnum.call(b2, prop)) - __defNormalProp(a2, prop, b2[prop]); - } - return a2; -}; -var __spreadProps = function(a2, b2) { - return __defProps(a2, __getOwnPropDescs(b2)); -}; -var __async = function(__this, __arguments, generator) { - return new Promise(function(resolve, reject) { - var fulfilled = function(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - }; - var rejected = function(value) { - try { - step(generator.throw(value)); - } catch (e) { - reject(e); - } - }; - var step = function(x2) { - return x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected); - }; - step((generator = generator.apply(__this, __arguments)).next()); - }); -}; -var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() { - if (arguments.length === 0) - return void 0; - if (typeof arguments[0] === "object") - return compose; - return compose.apply(null, arguments); -}; -var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function() { - return function(noop2) { - return noop2; - }; -}; -function createAction(type, prepareAction) { - function actionCreator() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (prepareAction) { - var prepared = prepareAction.apply(void 0, args); - if (!prepared) { - throw new Error("prepareAction did not return an object"); - } - return __spreadValues(__spreadValues({ - type, - payload: prepared.payload - }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error }); - } - return { type, payload: args[0] }; - } - actionCreator.toString = function() { - return "" + type; - }; - actionCreator.type = type; - actionCreator.match = function(action) { - return action.type === type; - }; - return actionCreator; -} -var MiddlewareArray = ( - /** @class */ - function(_super) { - __extends(MiddlewareArray2, _super); - function MiddlewareArray2() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var _this = _super.apply(this, args) || this; - Object.setPrototypeOf(_this, MiddlewareArray2.prototype); - return _this; - } - Object.defineProperty(MiddlewareArray2, Symbol.species, { - get: function() { - return MiddlewareArray2; - }, - enumerable: false, - configurable: true - }); - MiddlewareArray2.prototype.concat = function() { - var arr = []; - for (var _i = 0; _i < arguments.length; _i++) { - arr[_i] = arguments[_i]; - } - return _super.prototype.concat.apply(this, arr); - }; - MiddlewareArray2.prototype.prepend = function() { - var arr = []; - for (var _i = 0; _i < arguments.length; _i++) { - arr[_i] = arguments[_i]; - } - if (arr.length === 1 && Array.isArray(arr[0])) { - return new (MiddlewareArray2.bind.apply(MiddlewareArray2, __spreadArray([void 0], arr[0].concat(this))))(); - } - return new (MiddlewareArray2.bind.apply(MiddlewareArray2, __spreadArray([void 0], arr.concat(this))))(); - }; - return MiddlewareArray2; - }(Array) -); -var EnhancerArray = ( - /** @class */ - function(_super) { - __extends(EnhancerArray2, _super); - function EnhancerArray2() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var _this = _super.apply(this, args) || this; - Object.setPrototypeOf(_this, EnhancerArray2.prototype); - return _this; - } - Object.defineProperty(EnhancerArray2, Symbol.species, { - get: function() { - return EnhancerArray2; - }, - enumerable: false, - configurable: true - }); - EnhancerArray2.prototype.concat = function() { - var arr = []; - for (var _i = 0; _i < arguments.length; _i++) { - arr[_i] = arguments[_i]; - } - return _super.prototype.concat.apply(this, arr); - }; - EnhancerArray2.prototype.prepend = function() { - var arr = []; - for (var _i = 0; _i < arguments.length; _i++) { - arr[_i] = arguments[_i]; - } - if (arr.length === 1 && Array.isArray(arr[0])) { - return new (EnhancerArray2.bind.apply(EnhancerArray2, __spreadArray([void 0], arr[0].concat(this))))(); - } - return new (EnhancerArray2.bind.apply(EnhancerArray2, __spreadArray([void 0], arr.concat(this))))(); - }; - return EnhancerArray2; - }(Array) -); -function freezeDraftable(val) { - return t(val) ? immer_esm_default(val, function() { - }) : val; -} -function executeReducerBuilderCallback(builderCallback) { - var actionsMap = {}; - var actionMatchers = []; - var defaultCaseReducer; - var builder = { - addCase: function(typeOrActionCreator, reducer) { - if (true) { - if (actionMatchers.length > 0) { - throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`"); - } - if (defaultCaseReducer) { - throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`"); - } - } - var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type; - if (!type) { - throw new Error("`builder.addCase` cannot be called with an empty action type"); - } - if (type in actionsMap) { - throw new Error("`builder.addCase` cannot be called with two reducers for the same action type"); - } - actionsMap[type] = reducer; - return builder; - }, - addMatcher: function(matcher, reducer) { - if (true) { - if (defaultCaseReducer) { - throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`"); - } - } - actionMatchers.push({ matcher, reducer }); - return builder; - }, - addDefaultCase: function(reducer) { - if (true) { - if (defaultCaseReducer) { - throw new Error("`builder.addDefaultCase` can only be called once"); - } - } - defaultCaseReducer = reducer; - return builder; - } - }; - builderCallback(builder); - return [actionsMap, actionMatchers, defaultCaseReducer]; -} -function isStateFunction(x2) { - return typeof x2 === "function"; -} -var hasWarnedAboutObjectNotation = false; -function createReducer(initialState2, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) { - if (actionMatchers === void 0) { - actionMatchers = []; - } - if (true) { - if (typeof mapOrBuilderCallback === "object") { - if (!hasWarnedAboutObjectNotation) { - hasWarnedAboutObjectNotation = true; - console.warn("The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer"); - } - } - } - var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2]; - var getInitialState; - if (isStateFunction(initialState2)) { - getInitialState = function() { - return freezeDraftable(initialState2()); - }; - } else { - var frozenInitialState_1 = freezeDraftable(initialState2); - getInitialState = function() { - return frozenInitialState_1; - }; - } - function reducer(state, action) { - if (state === void 0) { - state = getInitialState(); - } - var caseReducers = __spreadArray([ - actionsMap[action.type] - ], finalActionMatchers.filter(function(_c2) { - var matcher = _c2.matcher; - return matcher(action); - }).map(function(_c2) { - var reducer2 = _c2.reducer; - return reducer2; - })); - if (caseReducers.filter(function(cr) { - return !!cr; - }).length === 0) { - caseReducers = [finalDefaultCaseReducer]; - } - return caseReducers.reduce(function(previousState, caseReducer) { - if (caseReducer) { - if (r(previousState)) { - var draft = previousState; - var result = caseReducer(draft, action); - if (result === void 0) { - return previousState; - } - return result; - } else if (!t(previousState)) { - var result = caseReducer(previousState, action); - if (result === void 0) { - if (previousState === null) { - return previousState; - } - throw Error("A case reducer on a non-draftable value must not return undefined"); - } - return result; - } else { - return immer_esm_default(previousState, function(draft2) { - return caseReducer(draft2, action); - }); - } - } - return previousState; - }, state); - } - reducer.getInitialState = getInitialState; - return reducer; -} -var hasWarnedAboutObjectNotation2 = false; -function getType2(slice, actionKey) { - return slice + "/" + actionKey; -} -function createSlice(options) { - var name = options.name; - if (!name) { - throw new Error("`name` is a required option for createSlice"); - } - if (typeof process !== "undefined" && true) { - if (options.initialState === void 0) { - console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`"); - } - } - var initialState2 = typeof options.initialState == "function" ? options.initialState : freezeDraftable(options.initialState); - var reducers = options.reducers || {}; - var reducerNames = Object.keys(reducers); - var sliceCaseReducersByName = {}; - var sliceCaseReducersByType = {}; - var actionCreators = {}; - reducerNames.forEach(function(reducerName) { - var maybeReducerWithPrepare = reducers[reducerName]; - var type = getType2(name, reducerName); - var caseReducer; - var prepareCallback; - if ("reducer" in maybeReducerWithPrepare) { - caseReducer = maybeReducerWithPrepare.reducer; - prepareCallback = maybeReducerWithPrepare.prepare; - } else { - caseReducer = maybeReducerWithPrepare; - } - sliceCaseReducersByName[reducerName] = caseReducer; - sliceCaseReducersByType[type] = caseReducer; - actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type); - }); - function buildReducer() { - if (true) { - if (typeof options.extraReducers === "object") { - if (!hasWarnedAboutObjectNotation2) { - hasWarnedAboutObjectNotation2 = true; - console.warn("The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice"); - } - } - } - var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f; - var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType); - return createReducer(initialState2, function(builder) { - for (var key in finalCaseReducers) { - builder.addCase(key, finalCaseReducers[key]); - } - for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) { - var m2 = actionMatchers_1[_i]; - builder.addMatcher(m2.matcher, m2.reducer); - } - if (defaultCaseReducer) { - builder.addDefaultCase(defaultCaseReducer); - } - }); - } - var _reducer; - return { - name, - reducer: function(state, action) { - if (!_reducer) - _reducer = buildReducer(); - return _reducer(state, action); - }, - actions: actionCreators, - caseReducers: sliceCaseReducersByName, - getInitialState: function() { - if (!_reducer) - _reducer = buildReducer(); - return _reducer.getInitialState(); - } - }; -} -var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"; -var nanoid = function(size) { - if (size === void 0) { - size = 21; - } - var id = ""; - var i2 = size; - while (i2--) { - id += urlAlphabet[Math.random() * 64 | 0]; - } - return id; -}; -var commonProperties = [ - "name", - "message", - "stack", - "code" -]; -var RejectWithValue = ( - /** @class */ - function() { - function RejectWithValue2(payload, meta) { - this.payload = payload; - this.meta = meta; - } - return RejectWithValue2; - }() -); -var FulfillWithMeta = ( - /** @class */ - function() { - function FulfillWithMeta2(payload, meta) { - this.payload = payload; - this.meta = meta; - } - return FulfillWithMeta2; - }() -); -var miniSerializeError = function(value) { - if (typeof value === "object" && value !== null) { - var simpleError = {}; - for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) { - var property = commonProperties_1[_i]; - if (typeof value[property] === "string") { - simpleError[property] = value[property]; - } - } - return simpleError; - } - return { message: String(value) }; -}; -var createAsyncThunk = function() { - function createAsyncThunk2(typePrefix, payloadCreator, options) { - var fulfilled = createAction(typePrefix + "/fulfilled", function(payload, requestId, arg, meta) { - return { - payload, - meta: __spreadProps(__spreadValues({}, meta || {}), { - arg, - requestId, - requestStatus: "fulfilled" - }) - }; - }); - var pending = createAction(typePrefix + "/pending", function(requestId, arg, meta) { - return { - payload: void 0, - meta: __spreadProps(__spreadValues({}, meta || {}), { - arg, - requestId, - requestStatus: "pending" - }) - }; - }); - var rejected = createAction(typePrefix + "/rejected", function(error, requestId, arg, payload, meta) { - return { - payload, - error: (options && options.serializeError || miniSerializeError)(error || "Rejected"), - meta: __spreadProps(__spreadValues({}, meta || {}), { - arg, - requestId, - rejectedWithValue: !!payload, - requestStatus: "rejected", - aborted: (error == null ? void 0 : error.name) === "AbortError", - condition: (error == null ? void 0 : error.name) === "ConditionError" - }) - }; - }); - var displayedWarning = false; - var AC = typeof AbortController !== "undefined" ? AbortController : ( - /** @class */ - function() { - function class_1() { - this.signal = { - aborted: false, - addEventListener: function() { - }, - dispatchEvent: function() { - return false; - }, - onabort: function() { - }, - removeEventListener: function() { - }, - reason: void 0, - throwIfAborted: function() { - } - }; - } - class_1.prototype.abort = function() { - if (true) { - if (!displayedWarning) { - displayedWarning = true; - console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'."); - } - } - }; - return class_1; - }() - ); - function actionCreator(arg) { - return function(dispatch, getState, extra) { - var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid(); - var abortController = new AC(); - var abortReason; - var started = false; - function abort(reason) { - abortReason = reason; - abortController.abort(); - } - var promise2 = function() { - return __async(this, null, function() { - var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _c.trys.push([0, 4, , 5]); - conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState, extra }); - if (!isThenable(conditionResult)) - return [3, 2]; - return [4, conditionResult]; - case 1: - conditionResult = _c.sent(); - _c.label = 2; - case 2: - if (conditionResult === false || abortController.signal.aborted) { - throw { - name: "ConditionError", - message: "Aborted due to condition callback returning false." - }; - } - started = true; - abortedPromise = new Promise(function(_2, reject) { - return abortController.signal.addEventListener("abort", function() { - return reject({ - name: "AbortError", - message: abortReason || "Aborted" - }); - }); - }); - dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId, arg }, { getState, extra }))); - return [4, Promise.race([ - abortedPromise, - Promise.resolve(payloadCreator(arg, { - dispatch, - getState, - extra, - requestId, - signal: abortController.signal, - abort, - rejectWithValue: function(value, meta) { - return new RejectWithValue(value, meta); - }, - fulfillWithValue: function(value, meta) { - return new FulfillWithMeta(value, meta); - } - })).then(function(result) { - if (result instanceof RejectWithValue) { - throw result; - } - if (result instanceof FulfillWithMeta) { - return fulfilled(result.payload, requestId, arg, result.meta); - } - return fulfilled(result, requestId, arg); - }) - ])]; - case 3: - finalAction = _c.sent(); - return [3, 5]; - case 4: - err_1 = _c.sent(); - finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg); - return [3, 5]; - case 5: - skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition; - if (!skipDispatch) { - dispatch(finalAction); - } - return [2, finalAction]; - } - }); - }); - }(); - return Object.assign(promise2, { - abort, - requestId, - arg, - unwrap: function() { - return promise2.then(unwrapResult); - } - }); - }; - } - return Object.assign(actionCreator, { - pending, - rejected, - fulfilled, - typePrefix - }); - } - createAsyncThunk2.withTypes = function() { - return createAsyncThunk2; - }; - return createAsyncThunk2; -}(); -function unwrapResult(action) { - if (action.meta && action.meta.rejectedWithValue) { - throw action.payload; - } - if (action.error) { - throw action.error; - } - return action.payload; -} -function isThenable(value) { - return value !== null && typeof value === "object" && typeof value.then === "function"; -} -var task = "task"; -var listener = "listener"; -var completed = "completed"; -var cancelled = "cancelled"; -var taskCancelled = "task-" + cancelled; -var taskCompleted = "task-" + completed; -var listenerCancelled = listener + "-" + cancelled; -var listenerCompleted = listener + "-" + completed; -var TaskAbortError = ( - /** @class */ - function() { - function TaskAbortError2(code) { - this.code = code; - this.name = "TaskAbortError"; - this.message = task + " " + cancelled + " (reason: " + code + ")"; - } - return TaskAbortError2; - }() -); -var alm = "listenerMiddleware"; -var addListener = createAction(alm + "/add"); -var clearAllListeners = createAction(alm + "/removeAll"); -var removeListener = createAction(alm + "/remove"); -var promise; -var queueMicrotaskShim = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : globalThis) : function(cb) { - return (promise || (promise = Promise.resolve())).then(cb).catch(function(err) { - return setTimeout(function() { - throw err; - }, 0); - }); -}; -var createQueueWithTimer = function(timeout) { - return function(notify) { - setTimeout(notify, timeout); - }; -}; -var rAF = typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10); -F(); - -// src/app.ts -console.log("hello world"); -var initialState = { - password: "", - email: "", - error: "no_error" -}; -var loginApp = createSlice({ - name: "my login app", - initialState, - reducers: { - reset: (state) => { - state.password = initialState.password; - state.email = initialState.email; - state.error = initialState.error; - }, - setPassword: (state, action) => { - state.password = action.payload; - }, - setEmail: (state, action) => { - state.email = action.payload; - }, - signIn: (state) => { - state.error = checkForErrors(state); - } - } -}); -var selectRoot = (storeState) => { - return storeState; -}; -var validateEmail = (email) => { - return email.match( - // eslint-disable-next-line no-useless-escape - /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ - ); -}; -var checkForErrors = (storeState) => { - if (!validateEmail(storeState.email)) { - return "invalidEmail"; - } - if (storeState.password !== "password" && storeState.email !== "adam@email.com") { - return "credentialFail"; - } - return "no_error"; -}; -var loginPageSelection = createSelector([selectRoot], (root) => { - return { - ...root, - disableSubmit: root.email == "" || root.password == "" - }; -}); -var app_default = () => { - const store2 = createStore(loginApp.reducer); - return { - app: loginApp, - select: { - loginPageSelection - }, - store: store2 - }; -}; - -// src/LoginPage/index.tsx -var core = app_default(); -var selector = core.select.loginPageSelection; -var actions = core.app.actions; -var store = core.store; -var emailwarning = "Something isn\u2019t right. Please double check your email"; -function LoginPage() { - const selection = useSelector(selector); - return /* @__PURE__ */ import_react3.default.createElement("div", null, /* @__PURE__ */ import_react3.default.createElement("h2", null, "Welcome back!"), /* @__PURE__ */ import_react3.default.createElement("p", null, "Sign in and get to it."), /* @__PURE__ */ import_react3.default.createElement("form", null, /* @__PURE__ */ import_react3.default.createElement("input", { type: "email", value: selection.email, onChange: (e) => store.dispatch(actions.setEmail(e.target.value)) }), /* @__PURE__ */ import_react3.default.createElement("p", { id: "invalid-email-warning", className: "warnin" }, selection.error === "invalidEmail" && emailwarning), /* @__PURE__ */ import_react3.default.createElement("br", null), /* @__PURE__ */ import_react3.default.createElement("input", { type: "password", value: selection.password, onChange: (e) => store.dispatch(actions.setPassword(e.target.value)) }), /* @__PURE__ */ import_react3.default.createElement("p", { id: "error" }, selection.error === "credentialFail" && "You entered an incorrect email, password, or both."), /* @__PURE__ */ import_react3.default.createElement("br", null), /* @__PURE__ */ import_react3.default.createElement("button", { disabled: selection.disableSubmit, onClick: (event) => { - store.dispatch(actions.signIn()); - } }, "Sign In")), /* @__PURE__ */ import_react3.default.createElement("pre", null, JSON.stringify(selection, null, 2))); -} -function LoginPage_default() { - return /* @__PURE__ */ import_react3.default.createElement(Provider_default, { store }, /* @__PURE__ */ import_react3.default.createElement(LoginPage, null)); -} - -// src/LoginPage/test.ts -var LoginPageSpecs = (Suite, Given, When, Then, Check) => { - return [ - Suite.Default( - "Testing the LoginPage as react", - { - "test0": Given.default( - [], - [ - When.TheEmailIsSetTo("adam@email.com") - ], - [ - Then.TheEmailIs("adam@email.com") - ] - ), - "test1": Given.default( - [], - [ - When.TheEmailIsSetTo("adam@email.com"), - When.ThePasswordIsSetTo("secret") - ], - [ - Then.TheEmailIsNot("wade@rpc"), - Then.TheEmailIs("adam@email.com"), - Then.ThePasswordIs("secret"), - Then.ThePasswordIsNot("idk") - ] - ), - "test2": Given.default( - [], - [When.TheEmailIsSetTo("adam")], - [Then.ThereIsNotAnEmailError()] - ), - "test3": Given.default( - [], - [ - When.TheEmailIsSetTo("bob"), - When.TheLoginIsSubmitted() - ], - [Then.ThereIsAnEmailError()] - ), - "test4": Given.default( - [], - [ - When.TheEmailIsSetTo("adam@mail.com"), - When.ThePasswordIsSetTo("foso") - ], - [ - Then.ThereIsNotAnEmailError() - ] - ) - }, - [] - ) - ]; -}; - -export { - actions, - emailwarning, - LoginPage_default, - LoginPageSpecs -}; -/*! Bundled license information: - -use-sync-external-store/cjs/use-sync-external-store-shim.development.js: - (** - * @license React - * use-sync-external-store-shim.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js: - (** - * @license React - * use-sync-external-store-shim/with-selector.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -react-is/cjs/react-is.development.js: - (** @license React v16.13.1 - * react-is.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -react-is/cjs/react-is.development.js: - (** - * @license React - * react-is.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) -*/ diff --git a/docs/web/chunk-X4RTFM5S.mjs b/docs/web/chunk-QOTLVXVD.mjs similarity index 88% rename from docs/web/chunk-X4RTFM5S.mjs rename to docs/web/chunk-QOTLVXVD.mjs index 48fb81d4..93caac33 100644 --- a/docs/web/chunk-X4RTFM5S.mjs +++ b/docs/web/chunk-QOTLVXVD.mjs @@ -1,6 +1,7 @@ import { - __commonJS -} from "./chunk-TTFRSOOU.mjs"; + __commonJS, + __toESM +} from "./chunk-SNPBLUOM.mjs"; // node_modules/react/cjs/react.development.js var require_react_development = __commonJS({ @@ -273,8 +274,8 @@ var require_react_development = __commonJS({ return refObject; } var isArrayImpl = Array.isArray; - function isArray(a) { - return isArrayImpl(a); + function isArray(a2) { + return isArrayImpl(a2); } function typeName(value) { { @@ -366,7 +367,7 @@ var require_react_development = __commonJS({ var init = lazyComponent._init; try { return getComponentNameFromType(init(payload)); - } catch (x) { + } catch (x2) { return null; } } @@ -487,7 +488,7 @@ var require_react_development = __commonJS({ } return element; }; - function createElement(type, config, children) { + function createElement3(type, config, children) { var propName; var props = {}; var key = null; @@ -520,8 +521,8 @@ var require_react_development = __commonJS({ props.children = children; } else if (childrenLength > 1) { var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; + for (var i2 = 0; i2 < childrenLength; i2++) { + childArray[i2] = arguments[i2 + 2]; } { if (Object.freeze) { @@ -596,8 +597,8 @@ var require_react_development = __commonJS({ props.children = children; } else if (childrenLength > 1) { var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; + for (var i2 = 0; i2 < childrenLength; i2++) { + childArray[i2] = arguments[i2 + 2]; } props.children = childArray; } @@ -664,8 +665,8 @@ var require_react_development = __commonJS({ if (childKey != null) { escapedChildKey = escapeUserProvidedKey(childKey) + "/"; } - mapIntoArray(mappedChild, array, escapedChildKey, "", function(c) { - return c; + mapIntoArray(mappedChild, array, escapedChildKey, "", function(c2) { + return c2; }); } else if (mappedChild != null) { if (isValidElement(mappedChild)) { @@ -695,9 +696,9 @@ var require_react_development = __commonJS({ var subtreeCount = 0; var nextNamePrefix = nameSoFar === "" ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (isArray(children)) { - for (var i = 0; i < children.length; i++) { - child = children[i]; - nextName = nextNamePrefix + getElementKey(child, i); + for (var i2 = 0; i2 < children.length; i2++) { + child = children[i2]; + nextName = nextNamePrefix + getElementKey(child, i2); subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback); } } else { @@ -739,11 +740,11 @@ var require_react_development = __commonJS({ return result; } function countChildren(children) { - var n = 0; + var n2 = 0; mapChildren(children, function() { - n++; + n2++; }); - return n; + return n2; } function forEachChildren(children, forEachFunc, forEachContext) { mapChildren(children, function() { @@ -761,7 +762,7 @@ var require_react_development = __commonJS({ } return children; } - function createContext(defaultValue) { + function createContext2(defaultValue) { var context = { $$typeof: REACT_CONTEXT_TYPE, // As a workaround to support multiple concurrent renderers, we categorize @@ -948,7 +949,7 @@ var require_react_development = __commonJS({ } return lazyType; } - function forwardRef(render) { + function forwardRef2(render) { { if (render != null && render.$$typeof === REACT_MEMO_TYPE) { error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."); @@ -991,7 +992,7 @@ var require_react_development = __commonJS({ { REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); } - function isValidElementType(type) { + function isValidElementType2(type) { if (typeof type === "string" || typeof type === "function") { return true; } @@ -1009,9 +1010,9 @@ var require_react_development = __commonJS({ } return false; } - function memo(type, compare) { + function memo2(type, compare) { { - if (!isValidElementType(type)) { + if (!isValidElementType2(type)) { error("memo: The first argument must be a component. Instead received: %s", type === null ? "null" : typeof type); } } @@ -1047,7 +1048,7 @@ var require_react_development = __commonJS({ } return dispatcher; } - function useContext(Context) { + function useContext3(Context) { var dispatcher = resolveDispatcher(); { if (Context._context !== void 0) { @@ -1061,19 +1062,19 @@ var require_react_development = __commonJS({ } return dispatcher.useContext(Context); } - function useState(initialState) { + function useState(initialState2) { var dispatcher = resolveDispatcher(); - return dispatcher.useState(initialState); + return dispatcher.useState(initialState2); } function useReducer(reducer, initialArg, init) { var dispatcher = resolveDispatcher(); return dispatcher.useReducer(reducer, initialArg, init); } - function useRef(initialValue) { + function useRef3(initialValue) { var dispatcher = resolveDispatcher(); return dispatcher.useRef(initialValue); } - function useEffect(create, deps) { + function useEffect2(create, deps) { var dispatcher = resolveDispatcher(); return dispatcher.useEffect(create, deps); } @@ -1081,15 +1082,15 @@ var require_react_development = __commonJS({ var dispatcher = resolveDispatcher(); return dispatcher.useInsertionEffect(create, deps); } - function useLayoutEffect(create, deps) { + function useLayoutEffect2(create, deps) { var dispatcher = resolveDispatcher(); return dispatcher.useLayoutEffect(create, deps); } - function useCallback(callback, deps) { + function useCallback2(callback, deps) { var dispatcher = resolveDispatcher(); return dispatcher.useCallback(callback, deps); } - function useMemo(create, deps) { + function useMemo3(create, deps) { var dispatcher = resolveDispatcher(); return dispatcher.useMemo(create, deps); } @@ -1097,7 +1098,7 @@ var require_react_development = __commonJS({ var dispatcher = resolveDispatcher(); return dispatcher.useImperativeHandle(ref, create, deps); } - function useDebugValue(value, formatterFn) { + function useDebugValue2(value, formatterFn) { { var dispatcher = resolveDispatcher(); return dispatcher.useDebugValue(value, formatterFn); @@ -1115,7 +1116,7 @@ var require_react_development = __commonJS({ var dispatcher = resolveDispatcher(); return dispatcher.useId(); } - function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + function useSyncExternalStore3(subscribe, getSnapshot, getServerSnapshot) { var dispatcher = resolveDispatcher(); return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); } @@ -1204,8 +1205,8 @@ var require_react_development = __commonJS({ if (prefix === void 0) { try { throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); + } catch (x2) { + var match = x2.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ""; } } @@ -1218,12 +1219,12 @@ var require_react_development = __commonJS({ var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; componentFrameCache = new PossiblyWeakMap(); } - function describeNativeComponentFrame(fn, construct) { - if (!fn || reentry) { + function describeNativeComponentFrame(fn2, construct) { + if (!fn2 || reentry) { return ""; } { - var frame = componentFrameCache.get(fn); + var frame = componentFrameCache.get(fn2); if (frame !== void 0) { return frame; } @@ -1251,54 +1252,54 @@ var require_react_development = __commonJS({ if (typeof Reflect === "object" && Reflect.construct) { try { Reflect.construct(Fake, []); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - Reflect.construct(fn, [], Fake); + Reflect.construct(fn2, [], Fake); } else { try { Fake.call(); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - fn.call(Fake.prototype); + fn2.call(Fake.prototype); } } else { try { throw Error(); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - fn(); + fn2(); } } catch (sample) { if (sample && control && typeof sample.stack === "string") { var sampleLines = sample.stack.split("\n"); var controlLines = control.stack.split("\n"); - var s = sampleLines.length - 1; - var c = controlLines.length - 1; - while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { - c--; - } - for (; s >= 1 && c >= 0; s--, c--) { - if (sampleLines[s] !== controlLines[c]) { - if (s !== 1 || c !== 1) { + var s2 = sampleLines.length - 1; + var c2 = controlLines.length - 1; + while (s2 >= 1 && c2 >= 0 && sampleLines[s2] !== controlLines[c2]) { + c2--; + } + for (; s2 >= 1 && c2 >= 0; s2--, c2--) { + if (sampleLines[s2] !== controlLines[c2]) { + if (s2 !== 1 || c2 !== 1) { do { - s--; - c--; - if (c < 0 || sampleLines[s] !== controlLines[c]) { - var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); - if (fn.displayName && _frame.includes("")) { - _frame = _frame.replace("", fn.displayName); + s2--; + c2--; + if (c2 < 0 || sampleLines[s2] !== controlLines[c2]) { + var _frame = "\n" + sampleLines[s2].replace(" at new ", " at "); + if (fn2.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn2.displayName); } { - if (typeof fn === "function") { - componentFrameCache.set(fn, _frame); + if (typeof fn2 === "function") { + componentFrameCache.set(fn2, _frame); } } return _frame; } - } while (s >= 1 && c >= 0); + } while (s2 >= 1 && c2 >= 0); } break; } @@ -1312,18 +1313,18 @@ var require_react_development = __commonJS({ } Error.prepareStackTrace = previousPrepareStackTrace; } - var name = fn ? fn.displayName || fn.name : ""; + var name = fn2 ? fn2.displayName || fn2.name : ""; var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; { - if (typeof fn === "function") { - componentFrameCache.set(fn, syntheticFrame); + if (typeof fn2 === "function") { + componentFrameCache.set(fn2, syntheticFrame); } } return syntheticFrame; } - function describeFunctionComponentFrame(fn, source, ownerFn) { + function describeFunctionComponentFrame(fn2, source, ownerFn) { { - return describeNativeComponentFrame(fn, false); + return describeNativeComponentFrame(fn2, false); } } function shouldConstruct(Component2) { @@ -1360,7 +1361,7 @@ var require_react_development = __commonJS({ var init = lazyComponent._init; try { return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); - } catch (x) { + } catch (x2) { } } } @@ -1485,8 +1486,8 @@ var require_react_development = __commonJS({ return; } if (isArray(node)) { - for (var i = 0; i < node.length; i++) { - var child = node[i]; + for (var i2 = 0; i2 < node.length; i2++) { + var child = node[i2]; if (isValidElement(child)) { validateExplicitKey(child, parentType); } @@ -1542,8 +1543,8 @@ var require_react_development = __commonJS({ function validateFragmentProps(fragment) { { var keys = Object.keys(fragment.props); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; + for (var i2 = 0; i2 < keys.length; i2++) { + var key = keys[i2]; if (key !== "children" && key !== "key") { setCurrentlyValidatingElement$1(fragment); error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key); @@ -1559,7 +1560,7 @@ var require_react_development = __commonJS({ } } function createElementWithValidation(type, props, children) { - var validType = isValidElementType(type); + var validType = isValidElementType2(type); if (!validType) { var info = ""; if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) { @@ -1586,13 +1587,13 @@ var require_react_development = __commonJS({ error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info); } } - var element = createElement.apply(this, arguments); + var element = createElement3.apply(this, arguments); if (element == null) { return element; } if (validType) { - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], type); + for (var i2 = 2; i2 < arguments.length; i2++) { + validateChildKeys(arguments[i2], type); } } if (type === REACT_FRAGMENT_TYPE) { @@ -1626,8 +1627,8 @@ var require_react_development = __commonJS({ } function cloneElementWithValidation(element, props, children) { var newElement = cloneElement.apply(this, arguments); - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], newElement.type); + for (var i2 = 2; i2 < arguments.length; i2++) { + validateChildKeys(arguments[i2], newElement.type); } validatePropTypes(newElement); return newElement; @@ -1656,7 +1657,7 @@ var require_react_development = __commonJS({ } var didWarnAboutMessageChannel = false; var enqueueTaskImpl = null; - function enqueueTask(task) { + function enqueueTask(task2) { if (enqueueTaskImpl === null) { try { var requireString = ("require" + Math.random()).slice(0, 7); @@ -1678,7 +1679,7 @@ var require_react_development = __commonJS({ }; } } - return enqueueTaskImpl(task); + return enqueueTaskImpl(task2); } var actScopeDepth = 0; var didWarnNoAwaitAct = false; @@ -1804,17 +1805,17 @@ var require_react_development = __commonJS({ { if (!isFlushing) { isFlushing = true; - var i = 0; + var i2 = 0; try { - for (; i < queue.length; i++) { - var callback = queue[i]; + for (; i2 < queue.length; i2++) { + var callback = queue[i2]; do { callback = callback(true); } while (callback !== null); } queue.length = 0; } catch (error2) { - queue = queue.slice(i + 1); + queue = queue.slice(i2 + 1); throw error2; } finally { isFlushing = false; @@ -1841,30 +1842,30 @@ var require_react_development = __commonJS({ exports.Suspense = REACT_SUSPENSE_TYPE; exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals; exports.cloneElement = cloneElement$1; - exports.createContext = createContext; + exports.createContext = createContext2; exports.createElement = createElement$1; exports.createFactory = createFactory; exports.createRef = createRef; - exports.forwardRef = forwardRef; + exports.forwardRef = forwardRef2; exports.isValidElement = isValidElement; exports.lazy = lazy; - exports.memo = memo; + exports.memo = memo2; exports.startTransition = startTransition; exports.unstable_act = act; - exports.useCallback = useCallback; - exports.useContext = useContext; - exports.useDebugValue = useDebugValue; + exports.useCallback = useCallback2; + exports.useContext = useContext3; + exports.useDebugValue = useDebugValue2; exports.useDeferredValue = useDeferredValue; - exports.useEffect = useEffect; + exports.useEffect = useEffect2; exports.useId = useId; exports.useImperativeHandle = useImperativeHandle; exports.useInsertionEffect = useInsertionEffect; - exports.useLayoutEffect = useLayoutEffect; - exports.useMemo = useMemo; + exports.useLayoutEffect = useLayoutEffect2; + exports.useMemo = useMemo3; exports.useReducer = useReducer; - exports.useRef = useRef; + exports.useRef = useRef3; exports.useState = useState; - exports.useSyncExternalStore = useSyncExternalStore; + exports.useSyncExternalStore = useSyncExternalStore3; exports.useTransition = useTransition; exports.version = ReactVersion; if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { @@ -1887,6 +1888,242 @@ var require_react = __commonJS({ } }); +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +var require_use_sync_external_store_shim_development = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var React6 = require_react(); + var ReactSharedInternals = React6.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + function is(x2, y2) { + return x2 === y2 && (x2 !== 0 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; + } + var objectIs = typeof Object.is === "function" ? Object.is : is; + var useState = React6.useState, useEffect2 = React6.useEffect, useLayoutEffect2 = React6.useLayoutEffect, useDebugValue2 = React6.useDebugValue; + var didWarnOld18Alpha = false; + var didWarnUncachedGetSnapshot = false; + function useSyncExternalStore3(subscribe, getSnapshot, getServerSnapshot) { + { + if (!didWarnOld18Alpha) { + if (React6.startTransition !== void 0) { + didWarnOld18Alpha = true; + error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."); + } + } + } + var value = getSnapshot(); + { + if (!didWarnUncachedGetSnapshot) { + var cachedValue = getSnapshot(); + if (!objectIs(value, cachedValue)) { + error("The result of getSnapshot should be cached to avoid an infinite loop"); + didWarnUncachedGetSnapshot = true; + } + } + } + var _useState = useState({ + inst: { + value, + getSnapshot + } + }), inst = _useState[0].inst, forceUpdate = _useState[1]; + useLayoutEffect2(function() { + inst.value = value; + inst.getSnapshot = getSnapshot; + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + }, [subscribe, value, getSnapshot]); + useEffect2(function() { + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + var handleStoreChange = function() { + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + }; + return subscribe(handleStoreChange); + }, [subscribe]); + useDebugValue2(value); + return value; + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + var prevValue = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(prevValue, nextValue); + } catch (error2) { + return true; + } + } + function useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) { + return getSnapshot(); + } + var canUseDOM2 = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); + var isServerEnvironment = !canUseDOM2; + var shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore3; + var useSyncExternalStore$2 = React6.useSyncExternalStore !== void 0 ? React6.useSyncExternalStore : shim; + exports.useSyncExternalStore = useSyncExternalStore$2; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// node_modules/use-sync-external-store/shim/index.js +var require_shim = __commonJS({ + "node_modules/use-sync-external-store/shim/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_use_sync_external_store_shim_development(); + } + } +}); + +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +var require_with_selector_development = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var React6 = require_react(); + var shim = require_shim(); + function is(x2, y2) { + return x2 === y2 && (x2 !== 0 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; + } + var objectIs = typeof Object.is === "function" ? Object.is : is; + var useSyncExternalStore3 = shim.useSyncExternalStore; + var useRef3 = React6.useRef, useEffect2 = React6.useEffect, useMemo3 = React6.useMemo, useDebugValue2 = React6.useDebugValue; + function useSyncExternalStoreWithSelector3(subscribe, getSnapshot, getServerSnapshot, selector2, isEqual) { + var instRef = useRef3(null); + var inst; + if (instRef.current === null) { + inst = { + hasValue: false, + value: null + }; + instRef.current = inst; + } else { + inst = instRef.current; + } + var _useMemo = useMemo3(function() { + var hasMemo = false; + var memoizedSnapshot; + var memoizedSelection; + var memoizedSelector = function(nextSnapshot) { + if (!hasMemo) { + hasMemo = true; + memoizedSnapshot = nextSnapshot; + var _nextSelection = selector2(nextSnapshot); + if (isEqual !== void 0) { + if (inst.hasValue) { + var currentSelection = inst.value; + if (isEqual(currentSelection, _nextSelection)) { + memoizedSelection = currentSelection; + return currentSelection; + } + } + } + memoizedSelection = _nextSelection; + return _nextSelection; + } + var prevSnapshot = memoizedSnapshot; + var prevSelection = memoizedSelection; + if (objectIs(prevSnapshot, nextSnapshot)) { + return prevSelection; + } + var nextSelection = selector2(nextSnapshot); + if (isEqual !== void 0 && isEqual(prevSelection, nextSelection)) { + return prevSelection; + } + memoizedSnapshot = nextSnapshot; + memoizedSelection = nextSelection; + return nextSelection; + }; + var maybeGetServerSnapshot = getServerSnapshot === void 0 ? null : getServerSnapshot; + var getSnapshotWithSelector = function() { + return memoizedSelector(getSnapshot()); + }; + var getServerSnapshotWithSelector = maybeGetServerSnapshot === null ? void 0 : function() { + return memoizedSelector(maybeGetServerSnapshot()); + }; + return [getSnapshotWithSelector, getServerSnapshotWithSelector]; + }, [getSnapshot, getServerSnapshot, selector2, isEqual]), getSelection = _useMemo[0], getServerSelection = _useMemo[1]; + var value = useSyncExternalStore3(subscribe, getSelection, getServerSelection); + useEffect2(function() { + inst.hasValue = true; + inst.value = value; + }, [value]); + useDebugValue2(value); + return value; + } + exports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector3; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// node_modules/use-sync-external-store/shim/with-selector.js +var require_with_selector = __commonJS({ + "node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_with_selector_development(); + } + } +}); + // node_modules/scheduler/cjs/scheduler.development.js var require_scheduler_development = __commonJS({ "node_modules/scheduler/cjs/scheduler.development.js"(exports) { @@ -1920,8 +2157,8 @@ var require_scheduler_development = __commonJS({ } return first; } - function siftUp(heap, node, i) { - var index = i; + function siftUp(heap, node, i2) { + var index = i2; while (index > 0) { var parentIndex = index - 1 >>> 1; var parent = heap[parentIndex]; @@ -1934,8 +2171,8 @@ var require_scheduler_development = __commonJS({ } } } - function siftDown(heap, node, i) { - var index = i; + function siftDown(heap, node, i2) { + var index = i2; var length = heap.length; var halfLength = length >>> 1; while (index < halfLength) { @@ -1962,16 +2199,16 @@ var require_scheduler_development = __commonJS({ } } } - function compare(a, b) { - var diff = a.sortIndex - b.sortIndex; - return diff !== 0 ? diff : a.id - b.id; + function compare(a2, b2) { + var diff = a2.sortIndex - b2.sortIndex; + return diff !== 0 ? diff : a2.id - b2.id; } var ImmediatePriority = 1; var UserBlockingPriority = 2; var NormalPriority = 3; var LowPriority = 4; var IdlePriority = 5; - function markTaskErrored(task, ms) { + function markTaskErrored(task2, ms) { } var hasPerformanceNow = typeof performance === "object" && typeof performance.now === "function"; if (hasPerformanceNow) { @@ -2225,8 +2462,8 @@ var require_scheduler_development = __commonJS({ function unstable_getFirstCallbackNode() { return peek(taskQueue); } - function unstable_cancelCallback(task) { - task.callback = null; + function unstable_cancelCallback(task2) { + task2.callback = null; } function unstable_getCurrentPriorityLevel() { return currentPriorityLevel; @@ -2359,9 +2596,9 @@ var require_react_dom_development = __commonJS({ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); } - var React = require_react(); + var React6 = require_react(); var Scheduler = require_scheduler(); - var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + var ReactSharedInternals = React6.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; var suppressWarning = false; function setSuppressWarning(newSuppressWarning) { { @@ -2460,11 +2697,11 @@ var require_react_dom_development = __commonJS({ possibleRegistrationNames.ondblclick = registrationName; } } - for (var i = 0; i < dependencies.length; i++) { - allNativeEvents.add(dependencies[i]); + for (var i2 = 0; i2 < dependencies.length; i2++) { + allNativeEvents.add(dependencies[i2]); } } - var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); + var canUseDOM2 = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); var hasOwnProperty = Object.prototype.hasOwnProperty; function typeName(value) { { @@ -3269,8 +3506,8 @@ var require_react_dom_development = __commonJS({ if (prefix === void 0) { try { throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); + } catch (x2) { + var match = x2.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ""; } } @@ -3283,12 +3520,12 @@ var require_react_dom_development = __commonJS({ var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; componentFrameCache = new PossiblyWeakMap(); } - function describeNativeComponentFrame(fn, construct) { - if (!fn || reentry) { + function describeNativeComponentFrame(fn2, construct) { + if (!fn2 || reentry) { return ""; } { - var frame = componentFrameCache.get(fn); + var frame = componentFrameCache.get(fn2); if (frame !== void 0) { return frame; } @@ -3316,54 +3553,54 @@ var require_react_dom_development = __commonJS({ if (typeof Reflect === "object" && Reflect.construct) { try { Reflect.construct(Fake, []); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - Reflect.construct(fn, [], Fake); + Reflect.construct(fn2, [], Fake); } else { try { Fake.call(); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - fn.call(Fake.prototype); + fn2.call(Fake.prototype); } } else { try { throw Error(); - } catch (x) { - control = x; + } catch (x2) { + control = x2; } - fn(); + fn2(); } } catch (sample) { if (sample && control && typeof sample.stack === "string") { var sampleLines = sample.stack.split("\n"); var controlLines = control.stack.split("\n"); - var s = sampleLines.length - 1; - var c = controlLines.length - 1; - while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { - c--; - } - for (; s >= 1 && c >= 0; s--, c--) { - if (sampleLines[s] !== controlLines[c]) { - if (s !== 1 || c !== 1) { + var s2 = sampleLines.length - 1; + var c2 = controlLines.length - 1; + while (s2 >= 1 && c2 >= 0 && sampleLines[s2] !== controlLines[c2]) { + c2--; + } + for (; s2 >= 1 && c2 >= 0; s2--, c2--) { + if (sampleLines[s2] !== controlLines[c2]) { + if (s2 !== 1 || c2 !== 1) { do { - s--; - c--; - if (c < 0 || sampleLines[s] !== controlLines[c]) { - var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); - if (fn.displayName && _frame.includes("")) { - _frame = _frame.replace("", fn.displayName); + s2--; + c2--; + if (c2 < 0 || sampleLines[s2] !== controlLines[c2]) { + var _frame = "\n" + sampleLines[s2].replace(" at new ", " at "); + if (fn2.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn2.displayName); } { - if (typeof fn === "function") { - componentFrameCache.set(fn, _frame); + if (typeof fn2 === "function") { + componentFrameCache.set(fn2, _frame); } } return _frame; } - } while (s >= 1 && c >= 0); + } while (s2 >= 1 && c2 >= 0); } break; } @@ -3377,11 +3614,11 @@ var require_react_dom_development = __commonJS({ } Error.prepareStackTrace = previousPrepareStackTrace; } - var name = fn ? fn.displayName || fn.name : ""; + var name = fn2 ? fn2.displayName || fn2.name : ""; var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; { - if (typeof fn === "function") { - componentFrameCache.set(fn, syntheticFrame); + if (typeof fn2 === "function") { + componentFrameCache.set(fn2, syntheticFrame); } } return syntheticFrame; @@ -3391,9 +3628,9 @@ var require_react_dom_development = __commonJS({ return describeNativeComponentFrame(ctor, true); } } - function describeFunctionComponentFrame(fn, source, ownerFn) { + function describeFunctionComponentFrame(fn2, source, ownerFn) { { - return describeNativeComponentFrame(fn, false); + return describeNativeComponentFrame(fn2, false); } } function shouldConstruct(Component) { @@ -3430,7 +3667,7 @@ var require_react_dom_development = __commonJS({ var init = lazyComponent._init; try { return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); - } catch (x) { + } catch (x2) { } } } @@ -3470,8 +3707,8 @@ var require_react_dom_development = __commonJS({ node = node.return; } while (node); return info; - } catch (x) { - return "\nError generating stack: " + x.message + "\n" + x.stack; + } catch (x2) { + return "\nError generating stack: " + x2.message + "\n" + x2.stack; } } function getWrappedName(outerType, innerType, wrapperName) { @@ -3536,7 +3773,7 @@ var require_react_dom_development = __commonJS({ var init = lazyComponent._init; try { return getComponentNameFromType(init(payload)); - } catch (x) { + } catch (x2) { return null; } } @@ -3933,8 +4170,8 @@ var require_react_dom_development = __commonJS({ checkAttributeStringCoercion(name, "name"); } var group = queryRoot.querySelectorAll("input[name=" + JSON.stringify("" + name) + '][type="radio"]'); - for (var i = 0; i < group.length; i++) { - var otherNode = group[i]; + for (var i2 = 0; i2 < group.length; i2++) { + var otherNode = group[i2]; if (otherNode === rootNode || otherNode.form !== rootNode.form) { continue; } @@ -3966,7 +4203,7 @@ var require_react_dom_development = __commonJS({ { if (props.value == null) { if (typeof props.children === "object" && props.children !== null) { - React.Children.forEach(props.children, function(child) { + React6.Children.forEach(props.children, function(child) { if (child == null) { return; } @@ -3997,8 +4234,8 @@ var require_react_dom_development = __commonJS({ } } var isArrayImpl = Array.isArray; - function isArray(a) { - return isArrayImpl(a); + function isArray(a2) { + return isArrayImpl(a2); } var didWarnValueDefaultValue$1; { @@ -4015,8 +4252,8 @@ var require_react_dom_development = __commonJS({ function checkSelectPropTypes(props) { { checkControlledValueProps("select", props); - for (var i = 0; i < valuePropNames.length; i++) { - var propName = valuePropNames[i]; + for (var i2 = 0; i2 < valuePropNames.length; i2++) { + var propName = valuePropNames[i2]; if (props[propName] == null) { continue; } @@ -4034,8 +4271,8 @@ var require_react_dom_development = __commonJS({ if (multiple) { var selectedValues = propValue; var selectedValue = {}; - for (var i = 0; i < selectedValues.length; i++) { - selectedValue["$" + selectedValues[i]] = true; + for (var i2 = 0; i2 < selectedValues.length; i2++) { + selectedValue["$" + selectedValues[i2]] = true; } for (var _i = 0; _i < options2.length; _i++) { var selected = selectedValue.hasOwnProperty("$" + options2[_i].value); @@ -4398,7 +4635,7 @@ var require_react_dom_development = __commonJS({ var warnedForNaNValue = false; var warnedForInfinityValue = false; var camelize = function(string) { - return string.replace(hyphenPattern, function(_, character) { + return string.replace(hyphenPattern, function(_2, character) { return character.toUpperCase(); }); }; @@ -4511,8 +4748,8 @@ var require_react_dom_development = __commonJS({ var expanded = {}; for (var key in styles) { var longhands = shorthandToLonghand[key] || [key]; - for (var i = 0; i < longhands.length; i++) { - expanded[longhands[i]] = key; + for (var i2 = 0; i2 < longhands.length; i2++) { + expanded[longhands[i2]] = key; } } return expanded; @@ -5434,13 +5671,13 @@ var require_react_dom_development = __commonJS({ restoreQueue = null; restoreStateOfTarget(target); if (queuedTargets) { - for (var i = 0; i < queuedTargets.length; i++) { - restoreStateOfTarget(queuedTargets[i]); + for (var i2 = 0; i2 < queuedTargets.length; i2++) { + restoreStateOfTarget(queuedTargets[i2]); } } } - var batchedUpdatesImpl = function(fn, bookkeeping) { - return fn(bookkeeping); + var batchedUpdatesImpl = function(fn2, bookkeeping) { + return fn2(bookkeeping); }; var flushSyncImpl = function() { }; @@ -5452,13 +5689,13 @@ var require_react_dom_development = __commonJS({ restoreStateIfNeeded(); } } - function batchedUpdates(fn, a, b) { + function batchedUpdates(fn2, a2, b2) { if (isInsideEventHandler) { - return fn(a, b); + return fn2(a2, b2); } isInsideEventHandler = true; try { - return batchedUpdatesImpl(fn, a, b); + return batchedUpdatesImpl(fn2, a2, b2); } finally { isInsideEventHandler = false; finishEventHandler(); @@ -5498,17 +5735,17 @@ var require_react_dom_development = __commonJS({ if (props === null) { return null; } - var listener = props[registrationName]; + var listener2 = props[registrationName]; if (shouldPreventMouseEvent(registrationName, inst.type, props)) { return null; } - if (listener && typeof listener !== "function") { - throw new Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type."); + if (listener2 && typeof listener2 !== "function") { + throw new Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener2 + "` type."); } - return listener; + return listener2; } var passiveBrowserEventsSupported = false; - if (canUseDOM) { + if (canUseDOM2) { try { var options = {}; Object.defineProperty(options, "passive", { @@ -5522,7 +5759,7 @@ var require_react_dom_development = __commonJS({ passiveBrowserEventsSupported = false; } } - function invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) { + function invokeGuardedCallbackProd(name, func, context, a2, b2, c2, d2, e, f2) { var funcArgs = Array.prototype.slice.call(arguments, 3); try { func.apply(context, funcArgs); @@ -5534,7 +5771,7 @@ var require_react_dom_development = __commonJS({ { if (typeof window !== "undefined" && typeof window.dispatchEvent === "function" && typeof document !== "undefined" && typeof document.createEvent === "function") { var fakeNode = document.createElement("react"); - invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) { + invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a2, b2, c2, d2, e, f2) { if (typeof document === "undefined" || document === null) { throw new Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous."); } @@ -5609,12 +5846,12 @@ var require_react_dom_development = __commonJS({ caughtError = error2; } }; - function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + function invokeGuardedCallback(name, func, context, a2, b2, c2, d2, e, f2) { hasError = false; caughtError = null; invokeGuardedCallbackImpl$1.apply(reporter, arguments); } - function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { + function invokeGuardedCallbackAndCatchFirstError(name, func, context, a2, b2, c2, d2, e, f2) { invokeGuardedCallback.apply(this, arguments); if (hasError) { var error2 = clearCaughtError(); @@ -5843,10 +6080,10 @@ var require_react_dom_development = __commonJS({ } return fiber; } - var a = fiber; - var b = alternate; + var a2 = fiber; + var b2 = alternate; while (true) { - var parentA = a.return; + var parentA = a2.return; if (parentA === null) { break; } @@ -5854,7 +6091,7 @@ var require_react_dom_development = __commonJS({ if (parentB === null) { var nextParent = parentA.return; if (nextParent !== null) { - a = b = nextParent; + a2 = b2 = nextParent; continue; } break; @@ -5862,11 +6099,11 @@ var require_react_dom_development = __commonJS({ if (parentA.child === parentB.child) { var child = parentA.child; while (child) { - if (child === a) { + if (child === a2) { assertIsMounted(parentA); return fiber; } - if (child === b) { + if (child === b2) { assertIsMounted(parentA); return alternate; } @@ -5874,23 +6111,23 @@ var require_react_dom_development = __commonJS({ } throw new Error("Unable to find node on an unmounted component."); } - if (a.return !== b.return) { - a = parentA; - b = parentB; + if (a2.return !== b2.return) { + a2 = parentA; + b2 = parentB; } else { var didFindChild = false; var _child = parentA.child; while (_child) { - if (_child === a) { + if (_child === a2) { didFindChild = true; - a = parentA; - b = parentB; + a2 = parentA; + b2 = parentB; break; } - if (_child === b) { + if (_child === b2) { didFindChild = true; - b = parentA; - a = parentB; + b2 = parentA; + a2 = parentB; break; } _child = _child.sibling; @@ -5898,16 +6135,16 @@ var require_react_dom_development = __commonJS({ if (!didFindChild) { _child = parentB.child; while (_child) { - if (_child === a) { + if (_child === a2) { didFindChild = true; - a = parentB; - b = parentA; + a2 = parentB; + b2 = parentA; break; } - if (_child === b) { + if (_child === b2) { didFindChild = true; - b = parentB; - a = parentA; + b2 = parentB; + a2 = parentA; break; } _child = _child.sibling; @@ -5917,14 +6154,14 @@ var require_react_dom_development = __commonJS({ } } } - if (a.alternate !== b) { + if (a2.alternate !== b2) { throw new Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."); } } - if (a.tag !== HostRoot) { + if (a2.tag !== HostRoot) { throw new Error("Unable to find node on an unmounted component."); } - if (a.stateNode.current === a) { + if (a2.stateNode.current === a2) { return fiber; } return alternate; @@ -6324,8 +6561,8 @@ var require_react_dom_development = __commonJS({ var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; var log = Math.log; var LN2 = Math.LN2; - function clz32Fallback(x) { - var asUint = x >>> 0; + function clz32Fallback(x2) { + var asUint = x2 >>> 0; if (asUint === 0) { return 32; } @@ -6781,30 +7018,30 @@ var require_react_dom_development = __commonJS({ function laneToIndex(lane) { return pickArbitraryLaneIndex(lane); } - function includesSomeLane(a, b) { - return (a & b) !== NoLanes; + function includesSomeLane(a2, b2) { + return (a2 & b2) !== NoLanes; } function isSubsetOfLanes(set2, subset) { return (set2 & subset) === subset; } - function mergeLanes(a, b) { - return a | b; + function mergeLanes(a2, b2) { + return a2 | b2; } function removeLanes(set2, subset) { return set2 & ~subset; } - function intersectLanes(a, b) { - return a & b; + function intersectLanes(a2, b2) { + return a2 & b2; } function laneToLanes(lane) { return lane; } - function higherPriorityLane(a, b) { - return a !== NoLane && a < b ? a : b; + function higherPriorityLane(a2, b2) { + return a2 !== NoLane && a2 < b2 ? a2 : b2; } function createLaneMap(initial) { var laneMap = []; - for (var i = 0; i < TotalLanes; i++) { + for (var i2 = 0; i2 < TotalLanes; i2++) { laneMap.push(initial); } return laneMap; @@ -6968,23 +7205,23 @@ var require_react_dom_development = __commonJS({ function setCurrentUpdatePriority(newPriority) { currentUpdatePriority = newPriority; } - function runWithPriority(priority, fn) { + function runWithPriority(priority, fn2) { var previousPriority = currentUpdatePriority; try { currentUpdatePriority = priority; - return fn(); + return fn2(); } finally { currentUpdatePriority = previousPriority; } } - function higherEventPriority(a, b) { - return a !== 0 && a < b ? a : b; + function higherEventPriority(a2, b2) { + return a2 !== 0 && a2 < b2 ? a2 : b2; } - function lowerEventPriority(a, b) { - return a === 0 || a > b ? a : b; + function lowerEventPriority(a2, b2) { + return a2 === 0 || a2 > b2 ? a2 : b2; } - function isHigherEventPriority(a, b) { - return a !== 0 && a < b; + function isHigherEventPriority(a2, b2) { + return a2 !== 0 && a2 < b2; } function lanesToEventPriority(lanes) { var lane = getHighestPriorityLane(lanes); @@ -7004,27 +7241,27 @@ var require_react_dom_development = __commonJS({ return currentState.isDehydrated; } var _attemptSynchronousHydration; - function setAttemptSynchronousHydration(fn) { - _attemptSynchronousHydration = fn; + function setAttemptSynchronousHydration(fn2) { + _attemptSynchronousHydration = fn2; } function attemptSynchronousHydration(fiber) { _attemptSynchronousHydration(fiber); } var attemptContinuousHydration; - function setAttemptContinuousHydration(fn) { - attemptContinuousHydration = fn; + function setAttemptContinuousHydration(fn2) { + attemptContinuousHydration = fn2; } var attemptHydrationAtCurrentPriority; - function setAttemptHydrationAtCurrentPriority(fn) { - attemptHydrationAtCurrentPriority = fn; + function setAttemptHydrationAtCurrentPriority(fn2) { + attemptHydrationAtCurrentPriority = fn2; } var getCurrentUpdatePriority$1; - function setGetCurrentUpdatePriority(fn) { - getCurrentUpdatePriority$1 = fn; + function setGetCurrentUpdatePriority(fn2) { + getCurrentUpdatePriority$1 = fn2; } var attemptHydrationAtPriority; - function setAttemptHydrationAtPriority(fn) { - attemptHydrationAtPriority = fn; + function setAttemptHydrationAtPriority(fn2) { + attemptHydrationAtPriority = fn2; } var hasScheduledReplayAttempt = false; var queuedDiscreteEvents = []; @@ -7188,14 +7425,14 @@ var require_react_dom_development = __commonJS({ target, priority: updatePriority }; - var i = 0; - for (; i < queuedExplicitHydrationTargets.length; i++) { - if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) { + var i2 = 0; + for (; i2 < queuedExplicitHydrationTargets.length; i2++) { + if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i2].priority)) { break; } } - queuedExplicitHydrationTargets.splice(i, 0, queuedTarget); - if (i === 0) { + queuedExplicitHydrationTargets.splice(i2, 0, queuedTarget); + if (i2 === 0) { attemptExplicitHydrationTarget(queuedTarget); } } @@ -7258,8 +7495,8 @@ var require_react_dom_development = __commonJS({ function retryIfBlockedOn(unblocked) { if (queuedDiscreteEvents.length > 0) { scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); - for (var i = 1; i < queuedDiscreteEvents.length; i++) { - var queuedEvent = queuedDiscreteEvents[i]; + for (var i2 = 1; i2 < queuedDiscreteEvents.length; i2++) { + var queuedEvent = queuedDiscreteEvents[i2]; if (queuedEvent.blockedOn === unblocked) { queuedEvent.blockedOn = null; } @@ -7513,26 +7750,26 @@ var require_react_dom_development = __commonJS({ return DefaultEventPriority; } } - function addEventBubbleListener(target, eventType, listener) { - target.addEventListener(eventType, listener, false); - return listener; + function addEventBubbleListener(target, eventType, listener2) { + target.addEventListener(eventType, listener2, false); + return listener2; } - function addEventCaptureListener(target, eventType, listener) { - target.addEventListener(eventType, listener, true); - return listener; + function addEventCaptureListener(target, eventType, listener2) { + target.addEventListener(eventType, listener2, true); + return listener2; } - function addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) { - target.addEventListener(eventType, listener, { + function addEventCaptureListenerWithPassiveFlag(target, eventType, listener2, passive) { + target.addEventListener(eventType, listener2, { capture: true, passive }); - return listener; + return listener2; } - function addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) { - target.addEventListener(eventType, listener, { + function addEventBubbleListenerWithPassiveFlag(target, eventType, listener2, passive) { + target.addEventListener(eventType, listener2, { passive }); - return listener; + return listener2; } var root = null; var startText = null; @@ -7940,13 +8177,13 @@ var require_react_dom_development = __commonJS({ var SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface); var END_KEYCODES = [9, 13, 27, 32]; var START_KEYCODE = 229; - var canUseCompositionEvent = canUseDOM && "CompositionEvent" in window; + var canUseCompositionEvent = canUseDOM2 && "CompositionEvent" in window; var documentMode = null; - if (canUseDOM && "documentMode" in document) { + if (canUseDOM2 && "documentMode" in document) { documentMode = document.documentMode; } - var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode; - var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); + var canUseTextInputEvent = canUseDOM2 && "TextEvent" in window && !documentMode; + var useFallbackCompositionData = canUseDOM2 && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); function registerEvents() { @@ -8140,7 +8377,7 @@ var require_react_dom_development = __commonJS({ return false; } function isEventSupported(eventNameSuffix) { - if (!canUseDOM) { + if (!canUseDOM2) { return false; } var eventName = "on" + eventNameSuffix; @@ -8192,7 +8429,7 @@ var require_react_dom_development = __commonJS({ } } var isInputEventSupported = false; - if (canUseDOM) { + if (canUseDOM2) { isInputEventSupported = isEventSupported("input") && (!document.documentMode || document.documentMode > 9); } function startWatchingForValueChange(target, targetInst) { @@ -8356,11 +8593,11 @@ var require_react_dom_development = __commonJS({ } accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to); } - function is(x, y) { - return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y; + function is(x2, y2) { + return x2 === y2 && (x2 !== 0 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; } var objectIs = typeof Object.is === "function" ? Object.is : is; - function shallowEqual(objA, objB) { + function shallowEqual2(objA, objB) { if (objectIs(objA, objB)) { return true; } @@ -8372,8 +8609,8 @@ var require_react_dom_development = __commonJS({ if (keysA.length !== keysB.length) { return false; } - for (var i = 0; i < keysA.length; i++) { - var currentKey = keysA[i]; + for (var i2 = 0; i2 < keysA.length; i2++) { + var currentKey = keysA[i2]; if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) { return false; } @@ -8590,8 +8827,8 @@ var require_react_dom_development = __commonJS({ if (typeof priorFocusedElem.focus === "function") { priorFocusedElem.focus(); } - for (var i = 0; i < ancestors.length; i++) { - var info = ancestors[i]; + for (var i2 = 0; i2 < ancestors.length; i2++) { + var info = ancestors[i2]; info.element.scrollLeft = info.left; info.element.scrollTop = info.top; } @@ -8625,7 +8862,7 @@ var require_react_dom_development = __commonJS({ setOffsets(input, offsets); } } - var skipSelectionChangeEvent = canUseDOM && "documentMode" in document && document.documentMode <= 11; + var skipSelectionChangeEvent = canUseDOM2 && "documentMode" in document && document.documentMode <= 11; function registerEvents$3() { registerTwoPhaseEvent("onSelect", ["focusout", "contextmenu", "dragend", "focusin", "keydown", "keyup", "mousedown", "mouseup", "selectionchange"]); } @@ -8659,7 +8896,7 @@ var require_react_dom_development = __commonJS({ return; } var currentSelection = getSelection$1(activeElement$1); - if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { + if (!lastSelection || !shallowEqual2(lastSelection, currentSelection)) { lastSelection = currentSelection; var listeners = accumulateTwoPhaseListeners(activeElementInst$1, "onSelect"); if (listeners.length > 0) { @@ -8720,7 +8957,7 @@ var require_react_dom_development = __commonJS({ }; var prefixedEventNames = {}; var style = {}; - if (canUseDOM) { + if (canUseDOM2) { style = document.createElement("div").style; if (!("AnimationEvent" in window)) { delete vendorPrefixes.animationend.animation; @@ -8756,8 +8993,8 @@ var require_react_dom_development = __commonJS({ registerTwoPhaseEvent(reactName, [domEventName]); } function registerSimpleEvents() { - for (var i = 0; i < simpleEventPluginEvents.length; i++) { - var eventName = simpleEventPluginEvents[i]; + for (var i2 = 0; i2 < simpleEventPluginEvents.length; i2++) { + var eventName = simpleEventPluginEvents[i2]; var domEventName = eventName.toLowerCase(); var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1); registerSimpleEvent(domEventName, "on" + capitalizedEvent); @@ -8892,21 +9129,21 @@ var require_react_dom_development = __commonJS({ } var mediaEventTypes = ["abort", "canplay", "canplaythrough", "durationchange", "emptied", "encrypted", "ended", "error", "loadeddata", "loadedmetadata", "loadstart", "pause", "play", "playing", "progress", "ratechange", "resize", "seeked", "seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"]; var nonDelegatedEvents = new Set(["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(mediaEventTypes)); - function executeDispatch(event, listener, currentTarget) { + function executeDispatch(event, listener2, currentTarget) { var type = event.type || "unknown-event"; event.currentTarget = currentTarget; - invokeGuardedCallbackAndCatchFirstError(type, listener, void 0, event); + invokeGuardedCallbackAndCatchFirstError(type, listener2, void 0, event); event.currentTarget = null; } function processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) { var previousInstance; if (inCapturePhase) { - for (var i = dispatchListeners.length - 1; i >= 0; i--) { - var _dispatchListeners$i = dispatchListeners[i], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget, listener = _dispatchListeners$i.listener; + for (var i2 = dispatchListeners.length - 1; i2 >= 0; i2--) { + var _dispatchListeners$i = dispatchListeners[i2], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget, listener2 = _dispatchListeners$i.listener; if (instance !== previousInstance && event.isPropagationStopped()) { return; } - executeDispatch(event, listener, currentTarget); + executeDispatch(event, listener2, currentTarget); previousInstance = instance; } } else { @@ -8922,8 +9159,8 @@ var require_react_dom_development = __commonJS({ } function processDispatchQueue(dispatchQueue, eventSystemFlags) { var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0; - for (var i = 0; i < dispatchQueue.length; i++) { - var _dispatchQueue$i = dispatchQueue[i], event = _dispatchQueue$i.event, listeners = _dispatchQueue$i.listeners; + for (var i2 = 0; i2 < dispatchQueue.length; i2++) { + var _dispatchQueue$i = dispatchQueue[i2], event = _dispatchQueue$i.event, listeners = _dispatchQueue$i.listeners; processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); } rethrowCaughtError(); @@ -8982,7 +9219,7 @@ var require_react_dom_development = __commonJS({ } } function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) { - var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); + var listener2 = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); var isPassiveListener = void 0; if (passiveBrowserEventsSupported) { if (domEventName === "touchstart" || domEventName === "touchmove" || domEventName === "wheel") { @@ -8993,15 +9230,15 @@ var require_react_dom_development = __commonJS({ var unsubscribeListener; if (isCapturePhaseListener) { if (isPassiveListener !== void 0) { - unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener); + unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener2, isPassiveListener); } else { - unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener); + unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener2); } } else { if (isPassiveListener !== void 0) { - unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener); + unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener2, isPassiveListener); } else { - unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener); + unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener2); } } } @@ -9059,10 +9296,10 @@ var require_react_dom_development = __commonJS({ return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst); }); } - function createDispatchListener(instance, listener, currentTarget) { + function createDispatchListener(instance, listener2, currentTarget) { return { instance, - listener, + listener: listener2, currentTarget }; } @@ -9077,9 +9314,9 @@ var require_react_dom_development = __commonJS({ if (tag === HostComponent && stateNode !== null) { lastHostComponent = stateNode; if (reactEventName !== null) { - var listener = getListener(instance, reactEventName); - if (listener != null) { - listeners.push(createDispatchListener(instance, listener, lastHostComponent)); + var listener2 = getListener(instance, reactEventName); + if (listener2 != null) { + listeners.push(createDispatchListener(instance, listener2, lastHostComponent)); } } } @@ -9233,7 +9470,7 @@ var require_react_dom_development = __commonJS({ possibleRegistrationNames }); }; - canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; + canDiffStyleForHydrationWarning = canUseDOM2 && !document.documentMode; warnForPropDifference = function(propName, serverValue, clientValue) { if (didWarnInvalidHydration) { return; @@ -9257,11 +9494,11 @@ var require_react_dom_development = __commonJS({ }); error("Extra attributes from the server: %s", names); }; - warnForInvalidEventListener = function(registrationName, listener) { - if (listener === false) { + warnForInvalidEventListener = function(registrationName, listener2) { + if (listener2 === false) { error("Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", registrationName, registrationName, registrationName); } else { - error("Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); + error("Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener2); } }; normalizeHTML = function(parent, html) { @@ -9351,9 +9588,9 @@ var require_react_dom_development = __commonJS({ } } function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) { - for (var i = 0; i < updatePayload.length; i += 2) { - var propKey = updatePayload[i]; - var propValue = updatePayload[i + 1]; + for (var i2 = 0; i2 < updatePayload.length; i2 += 2) { + var propKey = updatePayload[i2]; + var propValue = updatePayload[i2 + 1]; if (propKey === STYLE) { setValueForStyles(domElement, propValue); } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { @@ -9365,7 +9602,7 @@ var require_react_dom_development = __commonJS({ } } } - function createElement(type, props, rootContainerElement, parentNamespace) { + function createElement3(type, props, rootContainerElement, parentNamespace) { var isCustomComponentTag; var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement); var domElement; @@ -9436,8 +9673,8 @@ var require_react_dom_development = __commonJS({ break; case "video": case "audio": - for (var i = 0; i < mediaEventTypes.length; i++) { - listenToNonDelegatedEvent(mediaEventTypes[i], domElement); + for (var i2 = 0; i2 < mediaEventTypes.length; i2++) { + listenToNonDelegatedEvent(mediaEventTypes[i2], domElement); } props = rawProps; break; @@ -9688,8 +9925,8 @@ var require_react_dom_development = __commonJS({ break; case "video": case "audio": - for (var i = 0; i < mediaEventTypes.length; i++) { - listenToNonDelegatedEvent(mediaEventTypes[i], domElement); + for (var i2 = 0; i2 < mediaEventTypes.length; i2++) { + listenToNonDelegatedEvent(mediaEventTypes[i2], domElement); } break; case "source": @@ -10226,7 +10463,7 @@ var require_react_dom_development = __commonJS({ } parentNamespace = hostContextDev.namespace; } - var domElement = createElement(type, props, rootContainerInstance, parentNamespace); + var domElement = createElement3(type, props, rootContainerInstance, parentNamespace); precacheFiberNode(internalInstanceHandle, domElement); updateFiberProps(domElement, props); return domElement; @@ -11005,14 +11242,14 @@ var require_react_dom_development = __commonJS({ function flushSyncCallbacks() { if (!isFlushingSyncQueue && syncQueue !== null) { isFlushingSyncQueue = true; - var i = 0; + var i2 = 0; var previousUpdatePriority = getCurrentUpdatePriority(); try { var isSync = true; var queue = syncQueue; setCurrentUpdatePriority(DiscreteEventPriority); - for (; i < queue.length; i++) { - var callback = queue[i]; + for (; i2 < queue.length; i2++) { + var callback = queue[i2]; do { callback = callback(isSync); } while (callback !== null); @@ -11021,7 +11258,7 @@ var require_react_dom_development = __commonJS({ includesLegacySyncCallbacks = false; } catch (error2) { if (syncQueue !== null) { - syncQueue = syncQueue.slice(i + 1); + syncQueue = syncQueue.slice(i2 + 1); } scheduleCallback(ImmediatePriority, flushSyncCallbacks); throw error2; @@ -11959,8 +12196,8 @@ var require_react_dom_development = __commonJS({ } function finishQueueingConcurrentUpdates() { if (concurrentQueues !== null) { - for (var i = 0; i < concurrentQueues.length; i++) { - var queue = concurrentQueues[i]; + for (var i2 = 0; i2 < concurrentQueues.length; i2++) { + var queue = concurrentQueues[i2]; var lastInterleavedUpdate = queue.interleaved; if (lastInterleavedUpdate !== null) { queue.interleaved = null; @@ -12402,8 +12639,8 @@ var require_react_dom_development = __commonJS({ var effects = finishedQueue.effects; finishedQueue.effects = null; if (effects !== null) { - for (var i = 0; i < effects.length; i++) { - var effect = effects[i]; + for (var i2 = 0; i2 < effects.length; i2++) { + var effect = effects[i2]; var callback = effect.callback; if (callback !== null) { effect.callback = null; @@ -12413,7 +12650,7 @@ var require_react_dom_development = __commonJS({ } } var fakeInternalInstance = {}; - var emptyRefsObject = new React.Component().refs; + var emptyRefsObject = new React6.Component().refs; var didWarnAboutStateAssignmentForComponent; var didWarnAboutUninitializedState; var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate; @@ -12569,7 +12806,7 @@ var require_react_dom_development = __commonJS({ return shouldUpdate; } if (ctor.prototype && ctor.prototype.isPureReactComponent) { - return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); + return !shallowEqual2(oldProps, newProps) || !shallowEqual2(oldState, newState); } return true; } @@ -13400,8 +13637,8 @@ var require_react_dom_development = __commonJS({ function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { { var knownKeys = null; - for (var i = 0; i < newChildren.length; i++) { - var child = newChildren[i]; + for (var i2 = 0; i2 < newChildren.length; i2++) { + var child = newChildren[i2]; knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber); } } @@ -13776,11 +14013,11 @@ var require_react_dom_development = __commonJS({ var contextStackCursor$1 = createCursor(NO_CONTEXT); var contextFiberStackCursor = createCursor(NO_CONTEXT); var rootInstanceStackCursor = createCursor(NO_CONTEXT); - function requiredContext(c) { - if (c === NO_CONTEXT) { + function requiredContext(c2) { + if (c2 === NO_CONTEXT) { throw new Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."); } - return c; + return c2; } function getRootHostContainer() { var rootInstance = requiredContext(rootInstanceStackCursor.current); @@ -13915,8 +14152,8 @@ var require_react_dom_development = __commonJS({ ); var workInProgressSources = []; function resetWorkInProgressVersions() { - for (var i = 0; i < workInProgressSources.length; i++) { - var mutableSource = workInProgressSources[i]; + for (var i2 = 0; i2 < workInProgressSources.length; i2++) { + var mutableSource = workInProgressSources[i2]; { mutableSource._workInProgressVersionPrimary = null; } @@ -13987,10 +14224,10 @@ var require_react_dom_development = __commonJS({ if (hookTypesDev !== null) { var table = ""; var secondColumnStart = 30; - for (var i = 0; i <= hookTypesUpdateIndexDev; i++) { - var oldHookName = hookTypesDev[i]; - var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName; - var row = i + 1 + ". " + oldHookName; + for (var i2 = 0; i2 <= hookTypesUpdateIndexDev; i2++) { + var oldHookName = hookTypesDev[i2]; + var newHookName = i2 === hookTypesUpdateIndexDev ? currentHookName : oldHookName; + var row = i2 + 1 + ". " + oldHookName; while (row.length < secondColumnStart) { row += " "; } @@ -14022,8 +14259,8 @@ var require_react_dom_development = __commonJS({ error("The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", currentHookNameInDev, "[" + prevDeps.join(", ") + "]", "[" + nextDeps.join(", ") + "]"); } } - for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) { - if (objectIs(nextDeps[i], prevDeps[i])) { + for (var i2 = 0; i2 < prevDeps.length && i2 < nextDeps.length; i2++) { + if (objectIs(nextDeps[i2], prevDeps[i2])) { continue; } return false; @@ -14209,20 +14446,20 @@ var require_react_dom_development = __commonJS({ } function mountReducer(reducer, initialArg, init) { var hook = mountWorkInProgressHook(); - var initialState; + var initialState2; if (init !== void 0) { - initialState = init(initialArg); + initialState2 = init(initialArg); } else { - initialState = initialArg; + initialState2 = initialArg; } - hook.memoizedState = hook.baseState = initialState; + hook.memoizedState = hook.baseState = initialState2; var queue = { pending: null, interleaved: null, lanes: NoLanes, dispatch: null, lastRenderedReducer: reducer, - lastRenderedState: initialState + lastRenderedState: initialState2 }; hook.queue = queue; var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue); @@ -14504,28 +14741,28 @@ var require_react_dom_development = __commonJS({ scheduleUpdateOnFiber(root2, fiber, SyncLane, NoTimestamp); } } - function mountState(initialState) { + function mountState(initialState2) { var hook = mountWorkInProgressHook(); - if (typeof initialState === "function") { - initialState = initialState(); + if (typeof initialState2 === "function") { + initialState2 = initialState2(); } - hook.memoizedState = hook.baseState = initialState; + hook.memoizedState = hook.baseState = initialState2; var queue = { pending: null, interleaved: null, lanes: NoLanes, dispatch: null, lastRenderedReducer: basicStateReducer, - lastRenderedState: initialState + lastRenderedState: initialState2 }; hook.queue = queue; var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue); return [hook.memoizedState, dispatch]; } - function updateState(initialState) { + function updateState(initialState2) { return updateReducer(basicStateReducer); } - function rerenderState(initialState) { + function rerenderState(initialState2) { return rerenderReducer(basicStateReducer); } function pushEffect(tag, create, destroy, deps) { @@ -15041,13 +15278,13 @@ var require_react_dom_development = __commonJS({ mountHookTypesDev(); return mountRef(initialValue); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; mountHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; try { - return mountState(initialState); + return mountState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15145,13 +15382,13 @@ var require_react_dom_development = __commonJS({ updateHookTypesDev(); return mountRef(initialValue); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; try { - return mountState(initialState); + return mountState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15249,13 +15486,13 @@ var require_react_dom_development = __commonJS({ updateHookTypesDev(); return updateRef(); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; try { - return updateState(initialState); + return updateState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15353,13 +15590,13 @@ var require_react_dom_development = __commonJS({ updateHookTypesDev(); return updateRef(); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV; try { - return rerenderState(initialState); + return rerenderState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15467,14 +15704,14 @@ var require_react_dom_development = __commonJS({ mountHookTypesDev(); return mountRef(initialValue); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; warnInvalidHookAccess(); mountHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; try { - return mountState(initialState); + return mountState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15588,14 +15825,14 @@ var require_react_dom_development = __commonJS({ updateHookTypesDev(); return updateRef(); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; try { - return updateState(initialState); + return updateState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -15709,14 +15946,14 @@ var require_react_dom_development = __commonJS({ updateHookTypesDev(); return updateRef(); }, - useState: function(initialState) { + useState: function(initialState2) { currentHookNameInDev = "useState"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactCurrentDispatcher$1.current; ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; try { - return rerenderState(initialState); + return rerenderState(initialState2); } finally { ReactCurrentDispatcher$1.current = prevDispatcher; } @@ -16285,7 +16522,7 @@ var require_react_dom_development = __commonJS({ if (!hasScheduledUpdateOrContext) { var prevProps = currentChild.memoizedProps; var compare = Component.compare; - compare = compare !== null ? compare : shallowEqual; + compare = compare !== null ? compare : shallowEqual2; if (compare(prevProps, nextProps) && current2.ref === workInProgress2.ref) { return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); } @@ -16307,7 +16544,7 @@ var require_react_dom_development = __commonJS({ var init = lazyComponent._init; try { outerMemoType = init(payload); - } catch (x) { + } catch (x2) { outerMemoType = null; } var outerPropTypes = outerMemoType && outerMemoType.propTypes; @@ -16325,7 +16562,7 @@ var require_react_dom_development = __commonJS({ } if (current2 !== null) { var prevProps = current2.memoizedProps; - if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && // Prevent bailout if the implementation changed due to hot reload. + if (shallowEqual2(prevProps, nextProps) && current2.ref === workInProgress2.ref && // Prevent bailout if the implementation changed due to hot reload. workInProgress2.type === current2.type) { didReceiveUpdate = false; workInProgress2.pendingProps = nextProps = prevProps; @@ -17351,8 +17588,8 @@ var require_react_dom_development = __commonJS({ { if ((revealOrder === "forwards" || revealOrder === "backwards") && children !== void 0 && children !== null && children !== false) { if (isArray(children)) { - for (var i = 0; i < children.length; i++) { - if (!validateSuspenseListNestedChild(children[i], i)) { + for (var i2 = 0; i2 < children.length; i2++) { + if (!validateSuspenseListNestedChild(children[i2], i2)) { return; } } @@ -19546,8 +19783,8 @@ var require_react_dom_development = __commonJS({ function recursivelyTraverseMutationEffects(root2, parentFiber, lanes) { var deletions = parentFiber.deletions; if (deletions !== null) { - for (var i = 0; i < deletions.length; i++) { - var childToDelete = deletions[i]; + for (var i2 = 0; i2 < deletions.length; i2++) { + var childToDelete = deletions[i2]; try { commitDeletionEffects(root2, parentFiber, childToDelete); } catch (error2) { @@ -20053,8 +20290,8 @@ var require_react_dom_development = __commonJS({ if ((nextEffect.flags & ChildDeletion) !== NoFlags) { var deletions = fiber.deletions; if (deletions !== null) { - for (var i = 0; i < deletions.length; i++) { - var fiberToDelete = deletions[i]; + for (var i2 = 0; i2 < deletions.length; i2++) { + var fiberToDelete = deletions[i2]; nextEffect = fiberToDelete; commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber); } @@ -20696,8 +20933,8 @@ var require_react_dom_development = __commonJS({ if (updateQueue !== null) { var checks = updateQueue.stores; if (checks !== null) { - for (var i = 0; i < checks.length; i++) { - var check = checks[i]; + for (var i2 = 0; i2 < checks.length; i2++) { + var check = checks[i2]; var getSnapshot = check.getSnapshot; var renderedValue = check.value; try { @@ -20784,11 +21021,11 @@ var require_react_dom_development = __commonJS({ } } } - function batchedUpdates$1(fn, a) { + function batchedUpdates$1(fn2, a2) { var prevExecutionContext = executionContext; executionContext |= BatchedContext; try { - return fn(a); + return fn2(a2); } finally { executionContext = prevExecutionContext; if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode. @@ -20798,13 +21035,13 @@ var require_react_dom_development = __commonJS({ } } } - function discreteUpdates(fn, a, b, c, d) { + function discreteUpdates(fn2, a2, b2, c2, d2) { var previousPriority = getCurrentUpdatePriority(); var prevTransition = ReactCurrentBatchConfig$3.transition; try { ReactCurrentBatchConfig$3.transition = null; setCurrentUpdatePriority(DiscreteEventPriority); - return fn(a, b, c, d); + return fn2(a2, b2, c2, d2); } finally { setCurrentUpdatePriority(previousPriority); ReactCurrentBatchConfig$3.transition = prevTransition; @@ -20813,7 +21050,7 @@ var require_react_dom_development = __commonJS({ } } } - function flushSync(fn) { + function flushSync(fn2) { if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) { flushPassiveEffects(); } @@ -20824,8 +21061,8 @@ var require_react_dom_development = __commonJS({ try { ReactCurrentBatchConfig$3.transition = null; setCurrentUpdatePriority(DiscreteEventPriority); - if (fn) { - return fn(); + if (fn2) { + return fn2(); } else { return void 0; } @@ -21274,8 +21511,8 @@ var require_react_dom_development = __commonJS({ ensureRootIsScheduled(root2, now()); if (recoverableErrors !== null) { var onRecoverableError = root2.onRecoverableError; - for (var i = 0; i < recoverableErrors.length; i++) { - var recoverableError = recoverableErrors[i]; + for (var i2 = 0; i2 < recoverableErrors.length; i2++) { + var recoverableError = recoverableErrors[i2]; var componentStack = recoverableError.stack; var digest = recoverableError.digest; onRecoverableError(recoverableError.value, { @@ -21369,8 +21606,8 @@ var require_react_dom_development = __commonJS({ { var profilerEffects = pendingPassiveProfilerEffects; pendingPassiveProfilerEffects = []; - for (var i = 0; i < profilerEffects.length; i++) { - var _fiber = profilerEffects[i]; + for (var i2 = 0; i2 < profilerEffects.length; i2++) { + var _fiber = profilerEffects[i2]; commitPassiveEffectDurations(root2, _fiber); } } @@ -22803,8 +23040,8 @@ var require_react_dom_development = __commonJS({ warn("copyWithRename() expects paths of the same length"); return; } else { - for (var i = 0; i < newPath.length - 1; i++) { - if (oldPath[i] !== newPath[i]) { + for (var i2 = 0; i2 < newPath.length - 1; i2++) { + if (oldPath[i2] !== newPath[i2]) { warn("copyWithRename() expects paths to be the same except for the deepest key"); return; } @@ -23094,8 +23331,8 @@ var require_react_dom_development = __commonJS({ markContainerAsRoot(root2.current, container); listenToAllSupportedEvents(container); if (mutableSources) { - for (var i = 0; i < mutableSources.length; i++) { - var mutableSource = mutableSources[i]; + for (var i2 = 0; i2 < mutableSources.length; i2++) { + var mutableSource = mutableSources[i2]; registerMutableSourceForHydration(root2, mutableSource); } } @@ -23396,13 +23633,13 @@ var require_react_dom_development = __commonJS({ } return hydrateRoot(container, initialChildren, options2); } - function flushSync$1(fn) { + function flushSync$1(fn2) { { if (isAlreadyRendering()) { error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."); } } - return flushSync(fn); + return flushSync(fn2); } var foundDevTools = injectIntoDevTools({ findFiberByHostInstance: getClosestInstanceFromNode, @@ -23411,7 +23648,7 @@ var require_react_dom_development = __commonJS({ rendererPackageName: "react-dom" }); { - if (!foundDevTools && canUseDOM && window.top === window.self) { + if (!foundDevTools && canUseDOM2 && window.top === window.self) { if (navigator.userAgent.indexOf("Chrome") > -1 && navigator.userAgent.indexOf("Edge") === -1 || navigator.userAgent.indexOf("Firefox") > -1) { var protocol = window.location.protocol; if (/^(https?|file):$/.test(protocol)) { @@ -23453,56 +23690,2673 @@ var require_react_dom = __commonJS({ } }); -export { - require_react, - require_scheduler, - require_react_dom -}; -/*! Bundled license information: +// node_modules/react-is/cjs/react-is.development.js +var require_react_is_development = __commonJS({ + "node_modules/react-is/cjs/react-is.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + var hasSymbol = typeof Symbol === "function" && Symbol.for; + var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103; + var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106; + var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107; + var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108; + var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114; + var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109; + var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110; + var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111; + var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111; + var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112; + var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113; + var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120; + var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115; + var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116; + var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121; + var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117; + var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118; + var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119; + function isValidElementType2(type) { + return typeof type === "string" || typeof type === "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); + } + function typeOf(object) { + if (typeof object === "object" && object !== null) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + default: + var $$typeofType = type && type.$$typeof; + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + return void 0; + } + var AsyncMode = REACT_ASYNC_MODE_TYPE; + var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; + var ContextConsumer = REACT_CONTEXT_TYPE; + var ContextProvider = REACT_PROVIDER_TYPE; + var Element = REACT_ELEMENT_TYPE; + var ForwardRef = REACT_FORWARD_REF_TYPE; + var Fragment = REACT_FRAGMENT_TYPE; + var Lazy = REACT_LAZY_TYPE; + var Memo = REACT_MEMO_TYPE; + var Portal = REACT_PORTAL_TYPE; + var Profiler = REACT_PROFILER_TYPE; + var StrictMode = REACT_STRICT_MODE_TYPE; + var Suspense = REACT_SUSPENSE_TYPE; + var hasWarnedAboutDeprecatedIsAsyncMode = false; + function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; + console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API."); + } + } + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; + } + function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; + } + function isContextConsumer2(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + } + function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; + } + function isElement(object) { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + } + function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + } + function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; + } + function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; + } + function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + } + function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + } + function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + } + function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + } + exports.AsyncMode = AsyncMode; + exports.ConcurrentMode = ConcurrentMode; + exports.ContextConsumer = ContextConsumer; + exports.ContextProvider = ContextProvider; + exports.Element = Element; + exports.ForwardRef = ForwardRef; + exports.Fragment = Fragment; + exports.Lazy = Lazy; + exports.Memo = Memo; + exports.Portal = Portal; + exports.Profiler = Profiler; + exports.StrictMode = StrictMode; + exports.Suspense = Suspense; + exports.isAsyncMode = isAsyncMode; + exports.isConcurrentMode = isConcurrentMode; + exports.isContextConsumer = isContextConsumer2; + exports.isContextProvider = isContextProvider; + exports.isElement = isElement; + exports.isForwardRef = isForwardRef; + exports.isFragment = isFragment; + exports.isLazy = isLazy; + exports.isMemo = isMemo; + exports.isPortal = isPortal; + exports.isProfiler = isProfiler; + exports.isStrictMode = isStrictMode; + exports.isSuspense = isSuspense; + exports.isValidElementType = isValidElementType2; + exports.typeOf = typeOf; + })(); + } + } +}); -react/cjs/react.development.js: - (** - * @license React - * react.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) +// node_modules/react-is/index.js +var require_react_is = __commonJS({ + "node_modules/react-is/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_is_development(); + } + } +}); -scheduler/cjs/scheduler.development.js: - (** - * @license React - * scheduler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) +// node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +var require_hoist_non_react_statics_cjs = __commonJS({ + "node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module) { + "use strict"; + var reactIs = require_react_is(); + var REACT_STATICS = { + childContextTypes: true, + contextType: true, + contextTypes: true, + defaultProps: true, + displayName: true, + getDefaultProps: true, + getDerivedStateFromError: true, + getDerivedStateFromProps: true, + mixins: true, + propTypes: true, + type: true + }; + var KNOWN_STATICS = { + name: true, + length: true, + prototype: true, + caller: true, + callee: true, + arguments: true, + arity: true + }; + var FORWARD_REF_STATICS = { + "$$typeof": true, + render: true, + defaultProps: true, + displayName: true, + propTypes: true + }; + var MEMO_STATICS = { + "$$typeof": true, + compare: true, + defaultProps: true, + displayName: true, + propTypes: true, + type: true + }; + var TYPE_STATICS = {}; + TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; + TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; + function getStatics(component) { + if (reactIs.isMemo(component)) { + return MEMO_STATICS; + } + return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS; + } + var defineProperty = Object.defineProperty; + var getOwnPropertyNames = Object.getOwnPropertyNames; + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var getPrototypeOf = Object.getPrototypeOf; + var objectPrototype = Object.prototype; + function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { + if (typeof sourceComponent !== "string") { + if (objectPrototype) { + var inheritedComponent = getPrototypeOf(sourceComponent); + if (inheritedComponent && inheritedComponent !== objectPrototype) { + hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); + } + } + var keys = getOwnPropertyNames(sourceComponent); + if (getOwnPropertySymbols) { + keys = keys.concat(getOwnPropertySymbols(sourceComponent)); + } + var targetStatics = getStatics(targetComponent); + var sourceStatics = getStatics(sourceComponent); + for (var i2 = 0; i2 < keys.length; ++i2) { + var key = keys[i2]; + if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { + var descriptor = getOwnPropertyDescriptor(sourceComponent, key); + try { + defineProperty(targetComponent, key, descriptor); + } catch (e) { + } + } + } + } + return targetComponent; + } + module.exports = hoistNonReactStatics; + } +}); -react-dom/cjs/react-dom.development.js: - (** - * @license React - * react-dom.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - (** - * Checks if an event is supported in the current execution environment. - * - * NOTE: This will not work correctly for non-generic events such as `change`, - * `reset`, `load`, `error`, and `select`. - * - * Borrows from Modernizr. - * - * @param {string} eventNameSuffix Event name, e.g. "click". - * @return {boolean} True if the event is supported. - * @internal - * @license Modernizr 3.0.0pre (Custom Build) | MIT +// node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js +var require_react_is_development2 = __commonJS({ + "node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_SERVER_CONTEXT_TYPE = Symbol.for("react.server_context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var enableScopeAPI = false; + var enableCacheElement = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + var enableDebugTracing = false; + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); + } + function isValidElementType2(type) { + if (typeof type === "string" || typeof type === "function") { + return true; + } + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; + } + if (typeof type === "object" && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) { + return true; + } + } + return false; + } + function typeOf(object) { + if (typeof object === "object" && object !== null) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + switch (type) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + return type; + default: + var $$typeofType = type && type.$$typeof; + switch ($$typeofType) { + case REACT_SERVER_CONTEXT_TYPE: + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + return void 0; + } + var ContextConsumer = REACT_CONTEXT_TYPE; + var ContextProvider = REACT_PROVIDER_TYPE; + var Element = REACT_ELEMENT_TYPE; + var ForwardRef = REACT_FORWARD_REF_TYPE; + var Fragment = REACT_FRAGMENT_TYPE; + var Lazy = REACT_LAZY_TYPE; + var Memo = REACT_MEMO_TYPE; + var Portal = REACT_PORTAL_TYPE; + var Profiler = REACT_PROFILER_TYPE; + var StrictMode = REACT_STRICT_MODE_TYPE; + var Suspense = REACT_SUSPENSE_TYPE; + var SuspenseList = REACT_SUSPENSE_LIST_TYPE; + var hasWarnedAboutDeprecatedIsAsyncMode = false; + var hasWarnedAboutDeprecatedIsConcurrentMode = false; + function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; + console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+."); + } + } + return false; + } + function isConcurrentMode(object) { + { + if (!hasWarnedAboutDeprecatedIsConcurrentMode) { + hasWarnedAboutDeprecatedIsConcurrentMode = true; + console["warn"]("The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+."); + } + } + return false; + } + function isContextConsumer2(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + } + function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; + } + function isElement(object) { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + } + function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + } + function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; + } + function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; + } + function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + } + function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + } + function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + } + function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + } + function isSuspenseList(object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + } + exports.ContextConsumer = ContextConsumer; + exports.ContextProvider = ContextProvider; + exports.Element = Element; + exports.ForwardRef = ForwardRef; + exports.Fragment = Fragment; + exports.Lazy = Lazy; + exports.Memo = Memo; + exports.Portal = Portal; + exports.Profiler = Profiler; + exports.StrictMode = StrictMode; + exports.Suspense = Suspense; + exports.SuspenseList = SuspenseList; + exports.isAsyncMode = isAsyncMode; + exports.isConcurrentMode = isConcurrentMode; + exports.isContextConsumer = isContextConsumer2; + exports.isContextProvider = isContextProvider; + exports.isElement = isElement; + exports.isForwardRef = isForwardRef; + exports.isFragment = isFragment; + exports.isLazy = isLazy; + exports.isMemo = isMemo; + exports.isPortal = isPortal; + exports.isProfiler = isProfiler; + exports.isStrictMode = isStrictMode; + exports.isSuspense = isSuspense; + exports.isSuspenseList = isSuspenseList; + exports.isValidElementType = isValidElementType2; + exports.typeOf = typeOf; + })(); + } + } +}); + +// node_modules/react-redux/node_modules/react-is/index.js +var require_react_is2 = __commonJS({ + "node_modules/react-redux/node_modules/react-is/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_is_development2(); + } + } +}); + +// src/LoginPage/index.tsx +var import_react3 = __toESM(require_react(), 1); + +// node_modules/react-redux/es/index.js +var import_shim = __toESM(require_shim()); +var import_with_selector = __toESM(require_with_selector()); + +// node_modules/react-redux/es/utils/reactBatchedUpdates.js +var import_react_dom = __toESM(require_react_dom()); + +// node_modules/react-redux/es/utils/batch.js +function defaultNoopBatch(callback) { + callback(); +} +var batch = defaultNoopBatch; +var setBatch = (newBatch) => batch = newBatch; +var getBatch = () => batch; + +// node_modules/react-redux/es/hooks/useSelector.js +var import_react2 = __toESM(require_react()); + +// node_modules/react-redux/es/hooks/useReduxContext.js +var import_react = __toESM(require_react()); + +// node_modules/react-redux/es/components/Context.js +var React = __toESM(require_react()); +var ContextKey = Symbol.for(`react-redux-context`); +var gT = typeof globalThis !== "undefined" ? globalThis : ( + /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ + {} +); +function getContext() { + var _gT$ContextKey; + if (!React.createContext) + return {}; + const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = /* @__PURE__ */ new Map(); + let realContext = contextMap.get(React.createContext); + if (!realContext) { + realContext = React.createContext(null); + if (true) { + realContext.displayName = "ReactRedux"; + } + contextMap.set(React.createContext, realContext); + } + return realContext; +} +var ReactReduxContext = /* @__PURE__ */ getContext(); + +// node_modules/react-redux/es/hooks/useReduxContext.js +function createReduxContextHook(context = ReactReduxContext) { + return function useReduxContext2() { + const contextValue = (0, import_react.useContext)(context); + if (!contextValue) { + throw new Error("could not find react-redux context value; please ensure the component is wrapped in a "); + } + return contextValue; + }; +} +var useReduxContext = /* @__PURE__ */ createReduxContextHook(); + +// node_modules/react-redux/es/utils/useSyncExternalStore.js +var notInitialized = () => { + throw new Error("uSES not initialized!"); +}; + +// node_modules/react-redux/es/hooks/useSelector.js +var useSyncExternalStoreWithSelector = notInitialized; +var initializeUseSelector = (fn2) => { + useSyncExternalStoreWithSelector = fn2; +}; +var refEquality = (a2, b2) => a2 === b2; +function createSelectorHook(context = ReactReduxContext) { + const useReduxContext2 = context === ReactReduxContext ? useReduxContext : createReduxContextHook(context); + return function useSelector2(selector2, equalityFnOrOptions = {}) { + const { + equalityFn = refEquality, + stabilityCheck = void 0, + noopCheck = void 0 + } = typeof equalityFnOrOptions === "function" ? { + equalityFn: equalityFnOrOptions + } : equalityFnOrOptions; + if (true) { + if (!selector2) { + throw new Error(`You must pass a selector to useSelector`); + } + if (typeof selector2 !== "function") { + throw new Error(`You must pass a function as a selector to useSelector`); + } + if (typeof equalityFn !== "function") { + throw new Error(`You must pass a function as an equality function to useSelector`); + } + } + const { + store: store2, + subscription, + getServerState, + stabilityCheck: globalStabilityCheck, + noopCheck: globalNoopCheck + } = useReduxContext2(); + const firstRun = (0, import_react2.useRef)(true); + const wrappedSelector = (0, import_react2.useCallback)({ + [selector2.name](state) { + const selected = selector2(state); + if (true) { + const finalStabilityCheck = typeof stabilityCheck === "undefined" ? globalStabilityCheck : stabilityCheck; + if (finalStabilityCheck === "always" || finalStabilityCheck === "once" && firstRun.current) { + const toCompare = selector2(state); + if (!equalityFn(selected, toCompare)) { + let stack = void 0; + try { + throw new Error(); + } catch (e) { + ; + ({ + stack + } = e); + } + console.warn("Selector " + (selector2.name || "unknown") + " returned a different result when called with the same parameters. This can lead to unnecessary rerenders.\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization", { + state, + selected, + selected2: toCompare, + stack + }); + } + } + const finalNoopCheck = typeof noopCheck === "undefined" ? globalNoopCheck : noopCheck; + if (finalNoopCheck === "always" || finalNoopCheck === "once" && firstRun.current) { + if (selected === state) { + let stack = void 0; + try { + throw new Error(); + } catch (e) { + ; + ({ + stack + } = e); + } + console.warn("Selector " + (selector2.name || "unknown") + " returned the root state when called. This can lead to unnecessary rerenders.\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.", { + stack + }); + } + } + if (firstRun.current) + firstRun.current = false; + } + return selected; + } + }[selector2.name], [selector2, globalStabilityCheck, stabilityCheck]); + const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store2.getState, getServerState || store2.getState, wrappedSelector, equalityFn); + (0, import_react2.useDebugValue)(selectedState); + return selectedState; + }; +} +var useSelector = /* @__PURE__ */ createSelectorHook(); + +// node_modules/react-redux/es/components/connect.js +var import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs()); +var React3 = __toESM(require_react()); +var import_react_is = __toESM(require_react_is2()); + +// node_modules/react-redux/es/utils/Subscription.js +function createListenerCollection() { + const batch2 = getBatch(); + let first = null; + let last = null; + return { + clear() { + first = null; + last = null; + }, + notify() { + batch2(() => { + let listener2 = first; + while (listener2) { + listener2.callback(); + listener2 = listener2.next; + } + }); + }, + get() { + let listeners = []; + let listener2 = first; + while (listener2) { + listeners.push(listener2); + listener2 = listener2.next; + } + return listeners; + }, + subscribe(callback) { + let isSubscribed = true; + let listener2 = last = { + callback, + next: null, + prev: last + }; + if (listener2.prev) { + listener2.prev.next = listener2; + } else { + first = listener2; + } + return function unsubscribe() { + if (!isSubscribed || first === null) + return; + isSubscribed = false; + if (listener2.next) { + listener2.next.prev = listener2.prev; + } else { + last = listener2.prev; + } + if (listener2.prev) { + listener2.prev.next = listener2.next; + } else { + first = listener2.next; + } + }; + } + }; +} +var nullListeners = { + notify() { + }, + get: () => [] +}; +function createSubscription(store2, parentSub) { + let unsubscribe; + let listeners = nullListeners; + let subscriptionsAmount = 0; + let selfSubscribed = false; + function addNestedSub(listener2) { + trySubscribe(); + const cleanupListener = listeners.subscribe(listener2); + let removed = false; + return () => { + if (!removed) { + removed = true; + cleanupListener(); + tryUnsubscribe(); + } + }; + } + function notifyNestedSubs() { + listeners.notify(); + } + function handleChangeWrapper() { + if (subscription.onStateChange) { + subscription.onStateChange(); + } + } + function isSubscribed() { + return selfSubscribed; + } + function trySubscribe() { + subscriptionsAmount++; + if (!unsubscribe) { + unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store2.subscribe(handleChangeWrapper); + listeners = createListenerCollection(); + } + } + function tryUnsubscribe() { + subscriptionsAmount--; + if (unsubscribe && subscriptionsAmount === 0) { + unsubscribe(); + unsubscribe = void 0; + listeners.clear(); + listeners = nullListeners; + } + } + function trySubscribeSelf() { + if (!selfSubscribed) { + selfSubscribed = true; + trySubscribe(); + } + } + function tryUnsubscribeSelf() { + if (selfSubscribed) { + selfSubscribed = false; + tryUnsubscribe(); + } + } + const subscription = { + addNestedSub, + notifyNestedSubs, + handleChangeWrapper, + isSubscribed, + trySubscribe: trySubscribeSelf, + tryUnsubscribe: tryUnsubscribeSelf, + getListeners: () => listeners + }; + return subscription; +} + +// node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js +var React2 = __toESM(require_react()); +var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); +var useIsomorphicLayoutEffect = canUseDOM ? React2.useLayoutEffect : React2.useEffect; + +// node_modules/react-redux/es/components/connect.js +var useSyncExternalStore = notInitialized; +var initializeConnect = (fn2) => { + useSyncExternalStore = fn2; +}; + +// node_modules/react-redux/es/components/Provider.js +var React4 = __toESM(require_react()); +function Provider({ + store: store2, + context, + children, + serverState, + stabilityCheck = "once", + noopCheck = "once" +}) { + const contextValue = React4.useMemo(() => { + const subscription = createSubscription(store2); + return { + store: store2, + subscription, + getServerState: serverState ? () => serverState : void 0, + stabilityCheck, + noopCheck + }; + }, [store2, serverState, stabilityCheck, noopCheck]); + const previousState = React4.useMemo(() => store2.getState(), [store2]); + useIsomorphicLayoutEffect(() => { + const { + subscription + } = contextValue; + subscription.onStateChange = subscription.notifyNestedSubs; + subscription.trySubscribe(); + if (previousState !== store2.getState()) { + subscription.notifyNestedSubs(); + } + return () => { + subscription.tryUnsubscribe(); + subscription.onStateChange = void 0; + }; + }, [contextValue, previousState]); + const Context = context || ReactReduxContext; + return /* @__PURE__ */ React4.createElement(Context.Provider, { + value: contextValue + }, children); +} +var Provider_default = Provider; + +// node_modules/react-redux/es/index.js +initializeUseSelector(import_with_selector.useSyncExternalStoreWithSelector); +initializeConnect(import_shim.useSyncExternalStore); +setBatch(import_react_dom.unstable_batchedUpdates); + +// node_modules/immer/dist/immer.esm.mjs +function n(n2) { + for (var r2 = arguments.length, t2 = Array(r2 > 1 ? r2 - 1 : 0), e = 1; e < r2; e++) + t2[e - 1] = arguments[e]; + if (true) { + var i2 = Y[n2], o2 = i2 ? "function" == typeof i2 ? i2.apply(null, t2) : i2 : "unknown error nr: " + n2; + throw Error("[Immer] " + o2); + } + throw Error("[Immer] minified error nr: " + n2 + (t2.length ? " " + t2.map(function(n3) { + return "'" + n3 + "'"; + }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf"); +} +function r(n2) { + return !!n2 && !!n2[Q]; +} +function t(n2) { + var r2; + return !!n2 && (function(n3) { + if (!n3 || "object" != typeof n3) + return false; + var r3 = Object.getPrototypeOf(n3); + if (null === r3) + return true; + var t2 = Object.hasOwnProperty.call(r3, "constructor") && r3.constructor; + return t2 === Object || "function" == typeof t2 && Function.toString.call(t2) === Z; + }(n2) || Array.isArray(n2) || !!n2[L] || !!(null === (r2 = n2.constructor) || void 0 === r2 ? void 0 : r2[L]) || s(n2) || v(n2)); +} +function i(n2, r2, t2) { + void 0 === t2 && (t2 = false), 0 === o(n2) ? (t2 ? Object.keys : nn)(n2).forEach(function(e) { + t2 && "symbol" == typeof e || r2(e, n2[e], n2); + }) : n2.forEach(function(t3, e) { + return r2(e, t3, n2); + }); +} +function o(n2) { + var r2 = n2[Q]; + return r2 ? r2.i > 3 ? r2.i - 4 : r2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0; +} +function u(n2, r2) { + return 2 === o(n2) ? n2.has(r2) : Object.prototype.hasOwnProperty.call(n2, r2); +} +function a(n2, r2) { + return 2 === o(n2) ? n2.get(r2) : n2[r2]; +} +function f(n2, r2, t2) { + var e = o(n2); + 2 === e ? n2.set(r2, t2) : 3 === e ? n2.add(t2) : n2[r2] = t2; +} +function c(n2, r2) { + return n2 === r2 ? 0 !== n2 || 1 / n2 == 1 / r2 : n2 != n2 && r2 != r2; +} +function s(n2) { + return X && n2 instanceof Map; +} +function v(n2) { + return q && n2 instanceof Set; +} +function p(n2) { + return n2.o || n2.t; +} +function l(n2) { + if (Array.isArray(n2)) + return Array.prototype.slice.call(n2); + var r2 = rn(n2); + delete r2[Q]; + for (var t2 = nn(r2), e = 0; e < t2.length; e++) { + var i2 = t2[e], o2 = r2[i2]; + false === o2.writable && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (r2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] }); + } + return Object.create(Object.getPrototypeOf(n2), r2); +} +function d(n2, e) { + return void 0 === e && (e = false), y(n2) || r(n2) || !t(n2) || (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e && i(n2, function(n3, r2) { + return d(r2, true); + }, true)), n2; +} +function h() { + n(2); +} +function y(n2) { + return null == n2 || "object" != typeof n2 || Object.isFrozen(n2); +} +function b(r2) { + var t2 = tn[r2]; + return t2 || n(18, r2), t2; +} +function m(n2, r2) { + tn[n2] || (tn[n2] = r2); +} +function _() { + return U || n(0), U; +} +function j(n2, r2) { + r2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = r2); +} +function g(n2) { + O(n2), n2.p.forEach(S), n2.p = null; +} +function O(n2) { + n2 === U && (U = n2.l); +} +function w(n2) { + return U = { p: [], l: U, h: n2, m: true, _: 0 }; +} +function S(n2) { + var r2 = n2[Q]; + 0 === r2.i || 1 === r2.i ? r2.j() : r2.g = true; +} +function P(r2, e) { + e._ = e.p.length; + var i2 = e.p[0], o2 = void 0 !== r2 && r2 !== i2; + return e.h.O || b("ES5").S(e, r2, o2), o2 ? (i2[Q].P && (g(e), n(4)), t(r2) && (r2 = M(e, r2), e.l || x(e, r2)), e.u && b("Patches").M(i2[Q].t, r2, e.u, e.s)) : r2 = M(e, i2, []), g(e), e.u && e.v(e.u, e.s), r2 !== H ? r2 : void 0; +} +function M(n2, r2, t2) { + if (y(r2)) + return r2; + var e = r2[Q]; + if (!e) + return i(r2, function(i2, o3) { + return A(n2, e, r2, i2, o3, t2); + }, true), r2; + if (e.A !== n2) + return r2; + if (!e.P) + return x(n2, e.t, true), e.t; + if (!e.I) { + e.I = true, e.A._--; + var o2 = 4 === e.i || 5 === e.i ? e.o = l(e.k) : e.o, u2 = o2, a2 = false; + 3 === e.i && (u2 = new Set(o2), o2.clear(), a2 = true), i(u2, function(r3, i2) { + return A(n2, e, o2, r3, i2, t2, a2); + }), x(n2, o2, false), t2 && n2.u && b("Patches").N(e, t2, n2.u, n2.s); + } + return e.o; +} +function A(e, i2, o2, a2, c2, s2, v2) { + if (c2 === o2 && n(5), r(c2)) { + var p2 = M(e, c2, s2 && i2 && 3 !== i2.i && !u(i2.R, a2) ? s2.concat(a2) : void 0); + if (f(o2, a2, p2), !r(p2)) + return; + e.m = false; + } else + v2 && o2.add(c2); + if (t(c2) && !y(c2)) { + if (!e.h.D && e._ < 1) + return; + M(e, c2), i2 && i2.A.l || x(e, c2); + } +} +function x(n2, r2, t2) { + void 0 === t2 && (t2 = false), !n2.l && n2.h.D && n2.m && d(r2, t2); +} +function z(n2, r2) { + var t2 = n2[Q]; + return (t2 ? p(t2) : n2)[r2]; +} +function I(n2, r2) { + if (r2 in n2) + for (var t2 = Object.getPrototypeOf(n2); t2; ) { + var e = Object.getOwnPropertyDescriptor(t2, r2); + if (e) + return e; + t2 = Object.getPrototypeOf(t2); + } +} +function k(n2) { + n2.P || (n2.P = true, n2.l && k(n2.l)); +} +function E(n2) { + n2.o || (n2.o = l(n2.t)); +} +function N(n2, r2, t2) { + var e = s(r2) ? b("MapSet").F(r2, t2) : v(r2) ? b("MapSet").T(r2, t2) : n2.O ? function(n3, r3) { + var t3 = Array.isArray(n3), e2 = { i: t3 ? 1 : 0, A: r3 ? r3.A : _(), P: false, I: false, R: {}, l: r3, t: n3, k: null, o: null, j: null, C: false }, i2 = e2, o2 = en; + t3 && (i2 = [e2], o2 = on); + var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy; + return e2.k = f2, e2.j = a2, f2; + }(r2, t2) : b("ES5").J(r2, t2); + return (t2 ? t2.A : _()).p.push(e), e; +} +function R(e) { + return r(e) || n(22, e), function n2(r2) { + if (!t(r2)) + return r2; + var e2, u2 = r2[Q], c2 = o(r2); + if (u2) { + if (!u2.P && (u2.i < 4 || !b("ES5").K(u2))) + return u2.t; + u2.I = true, e2 = D(r2, c2), u2.I = false; + } else + e2 = D(r2, c2); + return i(e2, function(r3, t2) { + u2 && a(u2.t, r3) === t2 || f(e2, r3, n2(t2)); + }), 3 === c2 ? new Set(e2) : e2; + }(e); +} +function D(n2, r2) { + switch (r2) { + case 2: + return new Map(n2); + case 3: + return Array.from(n2); + } + return l(n2); +} +function F() { + function t2(n2, r2) { + var t3 = s2[n2]; + return t3 ? t3.enumerable = r2 : s2[n2] = t3 = { configurable: true, enumerable: r2, get: function() { + var r3 = this[Q]; + return f2(r3), en.get(r3, n2); + }, set: function(r3) { + var t4 = this[Q]; + f2(t4), en.set(t4, n2, r3); + } }, t3; + } + function e(n2) { + for (var r2 = n2.length - 1; r2 >= 0; r2--) { + var t3 = n2[r2][Q]; + if (!t3.P) + switch (t3.i) { + case 5: + a2(t3) && k(t3); + break; + case 4: + o2(t3) && k(t3); + } + } + } + function o2(n2) { + for (var r2 = n2.t, t3 = n2.k, e2 = nn(t3), i2 = e2.length - 1; i2 >= 0; i2--) { + var o3 = e2[i2]; + if (o3 !== Q) { + var a3 = r2[o3]; + if (void 0 === a3 && !u(r2, o3)) + return true; + var f3 = t3[o3], s3 = f3 && f3[Q]; + if (s3 ? s3.t !== a3 : !c(f3, a3)) + return true; + } + } + var v2 = !!r2[Q]; + return e2.length !== nn(r2).length + (v2 ? 0 : 1); + } + function a2(n2) { + var r2 = n2.k; + if (r2.length !== n2.t.length) + return true; + var t3 = Object.getOwnPropertyDescriptor(r2, r2.length - 1); + if (t3 && !t3.get) + return true; + for (var e2 = 0; e2 < r2.length; e2++) + if (!r2.hasOwnProperty(e2)) + return true; + return false; + } + function f2(r2) { + r2.g && n(3, JSON.stringify(p(r2))); + } + var s2 = {}; + m("ES5", { J: function(n2, r2) { + var e2 = Array.isArray(n2), i2 = function(n3, r3) { + if (n3) { + for (var e3 = Array(r3.length), i3 = 0; i3 < r3.length; i3++) + Object.defineProperty(e3, "" + i3, t2(i3, true)); + return e3; + } + var o4 = rn(r3); + delete o4[Q]; + for (var u2 = nn(o4), a3 = 0; a3 < u2.length; a3++) { + var f3 = u2[a3]; + o4[f3] = t2(f3, n3 || !!o4[f3].enumerable); + } + return Object.create(Object.getPrototypeOf(r3), o4); + }(e2, n2), o3 = { i: e2 ? 5 : 4, A: r2 ? r2.A : _(), P: false, I: false, R: {}, l: r2, t: n2, k: i2, o: null, g: false, C: false }; + return Object.defineProperty(i2, Q, { value: o3, writable: true }), i2; + }, S: function(n2, t3, o3) { + o3 ? r(t3) && t3[Q].A === n2 && e(n2.p) : (n2.u && function n3(r2) { + if (r2 && "object" == typeof r2) { + var t4 = r2[Q]; + if (t4) { + var e2 = t4.t, o4 = t4.k, f3 = t4.R, c2 = t4.i; + if (4 === c2) + i(o4, function(r3) { + r3 !== Q && (void 0 !== e2[r3] || u(e2, r3) ? f3[r3] || n3(o4[r3]) : (f3[r3] = true, k(t4))); + }), i(e2, function(n4) { + void 0 !== o4[n4] || u(o4, n4) || (f3[n4] = false, k(t4)); + }); + else if (5 === c2) { + if (a2(t4) && (k(t4), f3.length = true), o4.length < e2.length) + for (var s3 = o4.length; s3 < e2.length; s3++) + f3[s3] = false; + else + for (var v2 = e2.length; v2 < o4.length; v2++) + f3[v2] = true; + for (var p2 = Math.min(o4.length, e2.length), l2 = 0; l2 < p2; l2++) + o4.hasOwnProperty(l2) || (f3[l2] = true), void 0 === f3[l2] && n3(o4[l2]); + } + } + } + }(n2.p[0]), e(n2.p)); + }, K: function(n2) { + return 4 === n2.i ? o2(n2) : a2(n2); + } }); +} +var G; +var U; +var W = "undefined" != typeof Symbol && "symbol" == typeof Symbol("x"); +var X = "undefined" != typeof Map; +var q = "undefined" != typeof Set; +var B = "undefined" != typeof Proxy && void 0 !== Proxy.revocable && "undefined" != typeof Reflect; +var H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G); +var L = W ? Symbol.for("immer-draftable") : "__$immer_draftable"; +var Q = W ? Symbol.for("immer-state") : "__$immer_state"; +var Y = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function(n2) { + return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n2; +}, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function(n2) { + return "Cannot apply patch, path doesn't resolve: " + n2; +}, 16: 'Sets cannot have "replace" patches.', 17: function(n2) { + return "Unsupported patch operation: " + n2; +}, 18: function(n2) { + return "The plugin for '" + n2 + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n2 + "()` when initializing your application."; +}, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function(n2) { + return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '" + n2 + "'"; +}, 22: function(n2) { + return "'current' expects a draft, got: " + n2; +}, 23: function(n2) { + return "'original' expects a draft, got: " + n2; +}, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" }; +var Z = "" + Object.prototype.constructor; +var nn = "undefined" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : void 0 !== Object.getOwnPropertySymbols ? function(n2) { + return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2)); +} : Object.getOwnPropertyNames; +var rn = Object.getOwnPropertyDescriptors || function(n2) { + var r2 = {}; + return nn(n2).forEach(function(t2) { + r2[t2] = Object.getOwnPropertyDescriptor(n2, t2); + }), r2; +}; +var tn = {}; +var en = { get: function(n2, r2) { + if (r2 === Q) + return n2; + var e = p(n2); + if (!u(e, r2)) + return function(n3, r3, t2) { + var e2, i3 = I(r3, t2); + return i3 ? "value" in i3 ? i3.value : null === (e2 = i3.get) || void 0 === e2 ? void 0 : e2.call(n3.k) : void 0; + }(n2, e, r2); + var i2 = e[r2]; + return n2.I || !t(i2) ? i2 : i2 === z(n2.t, r2) ? (E(n2), n2.o[r2] = N(n2.A.h, i2, n2)) : i2; +}, has: function(n2, r2) { + return r2 in p(n2); +}, ownKeys: function(n2) { + return Reflect.ownKeys(p(n2)); +}, set: function(n2, r2, t2) { + var e = I(p(n2), r2); + if (null == e ? void 0 : e.set) + return e.set.call(n2.k, t2), true; + if (!n2.P) { + var i2 = z(p(n2), r2), o2 = null == i2 ? void 0 : i2[Q]; + if (o2 && o2.t === t2) + return n2.o[r2] = t2, n2.R[r2] = false, true; + if (c(t2, i2) && (void 0 !== t2 || u(n2.t, r2))) + return true; + E(n2), k(n2); + } + return n2.o[r2] === t2 && (void 0 !== t2 || r2 in n2.o) || Number.isNaN(t2) && Number.isNaN(n2.o[r2]) || (n2.o[r2] = t2, n2.R[r2] = true), true; +}, deleteProperty: function(n2, r2) { + return void 0 !== z(n2.t, r2) || r2 in n2.t ? (n2.R[r2] = false, E(n2), k(n2)) : delete n2.R[r2], n2.o && delete n2.o[r2], true; +}, getOwnPropertyDescriptor: function(n2, r2) { + var t2 = p(n2), e = Reflect.getOwnPropertyDescriptor(t2, r2); + return e ? { writable: true, configurable: 1 !== n2.i || "length" !== r2, enumerable: e.enumerable, value: t2[r2] } : e; +}, defineProperty: function() { + n(11); +}, getPrototypeOf: function(n2) { + return Object.getPrototypeOf(n2.t); +}, setPrototypeOf: function() { + n(12); +} }; +var on = {}; +i(en, function(n2, r2) { + on[n2] = function() { + return arguments[0] = arguments[0][0], r2.apply(this, arguments); + }; +}), on.deleteProperty = function(r2, t2) { + return isNaN(parseInt(t2)) && n(13), on.set.call(this, r2, t2, void 0); +}, on.set = function(r2, t2, e) { + return "length" !== t2 && isNaN(parseInt(t2)) && n(14), en.set.call(this, r2[0], t2, e, r2[0]); +}; +var un = function() { + function e(r2) { + var e2 = this; + this.O = B, this.D = true, this.produce = function(r3, i3, o2) { + if ("function" == typeof r3 && "function" != typeof i3) { + var u2 = i3; + i3 = r3; + var a2 = e2; + return function(n2) { + var r4 = this; + void 0 === n2 && (n2 = u2); + for (var t2 = arguments.length, e3 = Array(t2 > 1 ? t2 - 1 : 0), o3 = 1; o3 < t2; o3++) + e3[o3 - 1] = arguments[o3]; + return a2.produce(n2, function(n3) { + var t3; + return (t3 = i3).call.apply(t3, [r4, n3].concat(e3)); + }); + }; + } + var f2; + if ("function" != typeof i3 && n(6), void 0 !== o2 && "function" != typeof o2 && n(7), t(r3)) { + var c2 = w(e2), s2 = N(e2, r3, void 0), v2 = true; + try { + f2 = i3(s2), v2 = false; + } finally { + v2 ? g(c2) : O(c2); + } + return "undefined" != typeof Promise && f2 instanceof Promise ? f2.then(function(n2) { + return j(c2, o2), P(n2, c2); + }, function(n2) { + throw g(c2), n2; + }) : (j(c2, o2), P(f2, c2)); + } + if (!r3 || "object" != typeof r3) { + if (void 0 === (f2 = i3(r3)) && (f2 = r3), f2 === H && (f2 = void 0), e2.D && d(f2, true), o2) { + var p2 = [], l2 = []; + b("Patches").M(r3, f2, p2, l2), o2(p2, l2); + } + return f2; + } + n(21, r3); + }, this.produceWithPatches = function(n2, r3) { + if ("function" == typeof n2) + return function(r4) { + for (var t3 = arguments.length, i4 = Array(t3 > 1 ? t3 - 1 : 0), o3 = 1; o3 < t3; o3++) + i4[o3 - 1] = arguments[o3]; + return e2.produceWithPatches(r4, function(r5) { + return n2.apply(void 0, [r5].concat(i4)); + }); + }; + var t2, i3, o2 = e2.produce(n2, r3, function(n3, r4) { + t2 = n3, i3 = r4; + }); + return "undefined" != typeof Promise && o2 instanceof Promise ? o2.then(function(n3) { + return [n3, t2, i3]; + }) : [o2, t2, i3]; + }, "boolean" == typeof (null == r2 ? void 0 : r2.useProxies) && this.setUseProxies(r2.useProxies), "boolean" == typeof (null == r2 ? void 0 : r2.autoFreeze) && this.setAutoFreeze(r2.autoFreeze); + } + var i2 = e.prototype; + return i2.createDraft = function(e2) { + t(e2) || n(8), r(e2) && (e2 = R(e2)); + var i3 = w(this), o2 = N(this, e2, void 0); + return o2[Q].C = true, O(i3), o2; + }, i2.finishDraft = function(r2, t2) { + var e2 = r2 && r2[Q]; + e2 && e2.C || n(9), e2.I && n(10); + var i3 = e2.A; + return j(i3, t2), P(void 0, i3); + }, i2.setAutoFreeze = function(n2) { + this.D = n2; + }, i2.setUseProxies = function(r2) { + r2 && !B && n(20), this.O = r2; + }, i2.applyPatches = function(n2, t2) { + var e2; + for (e2 = t2.length - 1; e2 >= 0; e2--) { + var i3 = t2[e2]; + if (0 === i3.path.length && "replace" === i3.op) { + n2 = i3.value; + break; + } + } + e2 > -1 && (t2 = t2.slice(e2 + 1)); + var o2 = b("Patches").$; + return r(n2) ? o2(n2, t2) : this.produce(n2, function(n3) { + return o2(n3, t2); + }); + }, e; +}(); +var an = new un(); +var fn = an.produce; +var cn = an.produceWithPatches.bind(an); +var sn = an.setAutoFreeze.bind(an); +var vn = an.setUseProxies.bind(an); +var pn = an.applyPatches.bind(an); +var ln = an.createDraft.bind(an); +var dn = an.finishDraft.bind(an); +var immer_esm_default = fn; + +// node_modules/redux/es/redux.js +var $$observable = function() { + return typeof Symbol === "function" && Symbol.observable || "@@observable"; +}(); +var randomString = function randomString2() { + return Math.random().toString(36).substring(7).split("").join("."); +}; +var ActionTypes = { + INIT: "@@redux/INIT" + randomString(), + REPLACE: "@@redux/REPLACE" + randomString(), + PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { + return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); + } +}; +function isPlainObject2(obj) { + if (typeof obj !== "object" || obj === null) + return false; + var proto = obj; + while (Object.getPrototypeOf(proto) !== null) { + proto = Object.getPrototypeOf(proto); + } + return Object.getPrototypeOf(obj) === proto; +} +function miniKindOf(val) { + if (val === void 0) + return "undefined"; + if (val === null) + return "null"; + var type = typeof val; + switch (type) { + case "boolean": + case "string": + case "number": + case "symbol": + case "function": { + return type; + } + } + if (Array.isArray(val)) + return "array"; + if (isDate(val)) + return "date"; + if (isError(val)) + return "error"; + var constructorName = ctorName(val); + switch (constructorName) { + case "Symbol": + case "Promise": + case "WeakMap": + case "WeakSet": + case "Map": + case "Set": + return constructorName; + } + return type.slice(8, -1).toLowerCase().replace(/\s/g, ""); +} +function ctorName(val) { + return typeof val.constructor === "function" ? val.constructor.name : null; +} +function isError(val) { + return val instanceof Error || typeof val.message === "string" && val.constructor && typeof val.constructor.stackTraceLimit === "number"; +} +function isDate(val) { + if (val instanceof Date) + return true; + return typeof val.toDateString === "function" && typeof val.getDate === "function" && typeof val.setDate === "function"; +} +function kindOf(val) { + var typeOfVal = typeof val; + if (true) { + typeOfVal = miniKindOf(val); + } + return typeOfVal; +} +function createStore(reducer, preloadedState, enhancer) { + var _ref2; + if (typeof preloadedState === "function" && typeof enhancer === "function" || typeof enhancer === "function" && typeof arguments[3] === "function") { + throw new Error(false ? formatProdErrorMessage(0) : "It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example."); + } + if (typeof preloadedState === "function" && typeof enhancer === "undefined") { + enhancer = preloadedState; + preloadedState = void 0; + } + if (typeof enhancer !== "undefined") { + if (typeof enhancer !== "function") { + throw new Error(false ? formatProdErrorMessage(1) : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); + } + return enhancer(createStore)(reducer, preloadedState); + } + if (typeof reducer !== "function") { + throw new Error(false ? formatProdErrorMessage(2) : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); + } + var currentReducer = reducer; + var currentState = preloadedState; + var currentListeners = []; + var nextListeners = currentListeners; + var isDispatching = false; + function ensureCanMutateNextListeners() { + if (nextListeners === currentListeners) { + nextListeners = currentListeners.slice(); + } + } + function getState() { + if (isDispatching) { + throw new Error(false ? formatProdErrorMessage(3) : "You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store."); + } + return currentState; + } + function subscribe(listener2) { + if (typeof listener2 !== "function") { + throw new Error(false ? formatProdErrorMessage(4) : "Expected the listener to be a function. Instead, received: '" + kindOf(listener2) + "'"); + } + if (isDispatching) { + throw new Error(false ? formatProdErrorMessage(5) : "You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details."); + } + var isSubscribed = true; + ensureCanMutateNextListeners(); + nextListeners.push(listener2); + return function unsubscribe() { + if (!isSubscribed) { + return; + } + if (isDispatching) { + throw new Error(false ? formatProdErrorMessage(6) : "You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details."); + } + isSubscribed = false; + ensureCanMutateNextListeners(); + var index = nextListeners.indexOf(listener2); + nextListeners.splice(index, 1); + currentListeners = null; + }; + } + function dispatch(action) { + if (!isPlainObject2(action)) { + throw new Error(false ? formatProdErrorMessage(7) : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); + } + if (typeof action.type === "undefined") { + throw new Error(false ? formatProdErrorMessage(8) : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); + } + if (isDispatching) { + throw new Error(false ? formatProdErrorMessage(9) : "Reducers may not dispatch actions."); + } + try { + isDispatching = true; + currentState = currentReducer(currentState, action); + } finally { + isDispatching = false; + } + var listeners = currentListeners = nextListeners; + for (var i2 = 0; i2 < listeners.length; i2++) { + var listener2 = listeners[i2]; + listener2(); + } + return action; + } + function replaceReducer(nextReducer) { + if (typeof nextReducer !== "function") { + throw new Error(false ? formatProdErrorMessage(10) : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); + } + currentReducer = nextReducer; + dispatch({ + type: ActionTypes.REPLACE + }); + } + function observable() { + var _ref; + var outerSubscribe = subscribe; + return _ref = { + /** + * The minimal observable subscription method. + * @param {Object} observer Any object that can be used as an observer. + * The observer object should have a `next` method. + * @returns {subscription} An object with an `unsubscribe` method that can + * be used to unsubscribe the observable from the store, and prevent further + * emission of values from the observable. + */ + subscribe: function subscribe2(observer) { + if (typeof observer !== "object" || observer === null) { + throw new Error(false ? formatProdErrorMessage(11) : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); + } + function observeState() { + if (observer.next) { + observer.next(getState()); + } + } + observeState(); + var unsubscribe = outerSubscribe(observeState); + return { + unsubscribe + }; + } + }, _ref[$$observable] = function() { + return this; + }, _ref; + } + dispatch({ + type: ActionTypes.INIT + }); + return _ref2 = { + dispatch, + subscribe, + getState, + replaceReducer + }, _ref2[$$observable] = observable, _ref2; +} +function compose() { + for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + if (funcs.length === 0) { + return function(arg) { + return arg; + }; + } + if (funcs.length === 1) { + return funcs[0]; + } + return funcs.reduce(function(a2, b2) { + return function() { + return a2(b2.apply(void 0, arguments)); + }; + }); +} + +// node_modules/reselect/es/defaultMemoize.js +var NOT_FOUND = "NOT_FOUND"; +function createSingletonCache(equals) { + var entry; + return { + get: function get(key) { + if (entry && equals(entry.key, key)) { + return entry.value; + } + return NOT_FOUND; + }, + put: function put(key, value) { + entry = { + key, + value + }; + }, + getEntries: function getEntries() { + return entry ? [entry] : []; + }, + clear: function clear() { + entry = void 0; + } + }; +} +function createLruCache(maxSize, equals) { + var entries = []; + function get(key) { + var cacheIndex = entries.findIndex(function(entry2) { + return equals(key, entry2.key); + }); + if (cacheIndex > -1) { + var entry = entries[cacheIndex]; + if (cacheIndex > 0) { + entries.splice(cacheIndex, 1); + entries.unshift(entry); + } + return entry.value; + } + return NOT_FOUND; + } + function put(key, value) { + if (get(key) === NOT_FOUND) { + entries.unshift({ + key, + value + }); + if (entries.length > maxSize) { + entries.pop(); + } + } + } + function getEntries() { + return entries; + } + function clear() { + entries = []; + } + return { + get, + put, + getEntries, + clear + }; +} +var defaultEqualityCheck = function defaultEqualityCheck2(a2, b2) { + return a2 === b2; +}; +function createCacheKeyComparator(equalityCheck) { + return function areArgumentsShallowlyEqual(prev, next) { + if (prev === null || next === null || prev.length !== next.length) { + return false; + } + var length = prev.length; + for (var i2 = 0; i2 < length; i2++) { + if (!equalityCheck(prev[i2], next[i2])) { + return false; + } + } + return true; + }; +} +function defaultMemoize(func, equalityCheckOrOptions) { + var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : { + equalityCheck: equalityCheckOrOptions + }; + var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck; + var comparator = createCacheKeyComparator(equalityCheck); + var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); + function memoized() { + var value = cache.get(arguments); + if (value === NOT_FOUND) { + value = func.apply(null, arguments); + if (resultEqualityCheck) { + var entries = cache.getEntries(); + var matchingEntry = entries.find(function(entry) { + return resultEqualityCheck(entry.value, value); + }); + if (matchingEntry) { + value = matchingEntry.value; + } + } + cache.put(arguments, value); + } + return value; + } + memoized.clearCache = function() { + return cache.clear(); + }; + return memoized; +} + +// node_modules/reselect/es/index.js +function getDependencies(funcs) { + var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; + if (!dependencies.every(function(dep) { + return typeof dep === "function"; + })) { + var dependencyTypes = dependencies.map(function(dep) { + return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep; + }).join(", "); + throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); + } + return dependencies; +} +function createSelectorCreator(memoize) { + for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + memoizeOptionsFromArgs[_key - 1] = arguments[_key]; + } + var createSelector2 = function createSelector3() { + for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + funcs[_key2] = arguments[_key2]; + } + var _recomputations = 0; + var _lastResult; + var directlyPassedOptions = { + memoizeOptions: void 0 + }; + var resultFunc = funcs.pop(); + if (typeof resultFunc === "object") { + directlyPassedOptions = resultFunc; + resultFunc = funcs.pop(); + } + if (typeof resultFunc !== "function") { + throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); + } + var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; + var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; + var dependencies = getDependencies(funcs); + var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { + _recomputations++; + return resultFunc.apply(null, arguments); + }].concat(finalMemoizeOptions)); + var selector2 = memoize(function dependenciesChecker() { + var params = []; + var length = dependencies.length; + for (var i2 = 0; i2 < length; i2++) { + params.push(dependencies[i2].apply(null, arguments)); + } + _lastResult = memoizedResultFunc.apply(null, params); + return _lastResult; + }); + Object.assign(selector2, { + resultFunc, + memoizedResultFunc, + dependencies, + lastResult: function lastResult() { + return _lastResult; + }, + recomputations: function recomputations() { + return _recomputations; + }, + resetRecomputations: function resetRecomputations() { + return _recomputations = 0; + } + }); + return selector2; + }; + return createSelector2; +} +var createSelector = /* @__PURE__ */ createSelectorCreator(defaultMemoize); + +// node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js +var __extends = function() { + var extendStatics = function(d2, b2) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) { + d3.__proto__ = b3; + } || function(d3, b3) { + for (var p2 in b3) + if (Object.prototype.hasOwnProperty.call(b3, p2)) + d3[p2] = b3[p2]; + }; + return extendStatics(d2, b2); + }; + return function(d2, b2) { + if (typeof b2 !== "function" && b2 !== null) + throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null"); + extendStatics(d2, b2); + function __() { + this.constructor = d2; + } + d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __()); + }; +}(); +var __generator = function(thisArg, body) { + var _2 = { label: 0, sent: function() { + if (t2[0] & 1) + throw t2[1]; + return t2[1]; + }, trys: [], ops: [] }, f2, y2, t2, g2; + return g2 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g2[Symbol.iterator] = function() { + return this; + }), g2; + function verb(n2) { + return function(v2) { + return step([n2, v2]); + }; + } + function step(op) { + if (f2) + throw new TypeError("Generator is already executing."); + while (_2) + try { + if (f2 = 1, y2 && (t2 = op[0] & 2 ? y2["return"] : op[0] ? y2["throw"] || ((t2 = y2["return"]) && t2.call(y2), 0) : y2.next) && !(t2 = t2.call(y2, op[1])).done) + return t2; + if (y2 = 0, t2) + op = [op[0] & 2, t2.value]; + switch (op[0]) { + case 0: + case 1: + t2 = op; + break; + case 4: + _2.label++; + return { value: op[1], done: false }; + case 5: + _2.label++; + y2 = op[1]; + op = [0]; + continue; + case 7: + op = _2.ops.pop(); + _2.trys.pop(); + continue; + default: + if (!(t2 = _2.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _2 = 0; + continue; + } + if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) { + _2.label = op[1]; + break; + } + if (op[0] === 6 && _2.label < t2[1]) { + _2.label = t2[1]; + t2 = op; + break; + } + if (t2 && _2.label < t2[2]) { + _2.label = t2[2]; + _2.ops.push(op); + break; + } + if (t2[2]) + _2.ops.pop(); + _2.trys.pop(); + continue; + } + op = body.call(thisArg, _2); + } catch (e) { + op = [6, e]; + y2 = 0; + } finally { + f2 = t2 = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __spreadArray = function(to, from) { + for (var i2 = 0, il = from.length, j2 = to.length; i2 < il; i2++, j2++) + to[j2] = from[i2]; + return to; +}; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = function(obj, key, value) { + return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +}; +var __spreadValues = function(a2, b2) { + for (var prop in b2 || (b2 = {})) + if (__hasOwnProp.call(b2, prop)) + __defNormalProp(a2, prop, b2[prop]); + if (__getOwnPropSymbols) + for (var _i = 0, _c = __getOwnPropSymbols(b2); _i < _c.length; _i++) { + var prop = _c[_i]; + if (__propIsEnum.call(b2, prop)) + __defNormalProp(a2, prop, b2[prop]); + } + return a2; +}; +var __spreadProps = function(a2, b2) { + return __defProps(a2, __getOwnPropDescs(b2)); +}; +var __async = function(__this, __arguments, generator) { + return new Promise(function(resolve, reject) { + var fulfilled = function(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = function(value) { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = function(x2) { + return x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected); + }; + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; +var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() { + if (arguments.length === 0) + return void 0; + if (typeof arguments[0] === "object") + return compose; + return compose.apply(null, arguments); +}; +var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function() { + return function(noop2) { + return noop2; + }; +}; +function createAction(type, prepareAction) { + function actionCreator() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (prepareAction) { + var prepared = prepareAction.apply(void 0, args); + if (!prepared) { + throw new Error("prepareAction did not return an object"); + } + return __spreadValues(__spreadValues({ + type, + payload: prepared.payload + }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error }); + } + return { type, payload: args[0] }; + } + actionCreator.toString = function() { + return "" + type; + }; + actionCreator.type = type; + actionCreator.match = function(action) { + return action.type === type; + }; + return actionCreator; +} +var MiddlewareArray = ( + /** @class */ + function(_super) { + __extends(MiddlewareArray2, _super); + function MiddlewareArray2() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = _super.apply(this, args) || this; + Object.setPrototypeOf(_this, MiddlewareArray2.prototype); + return _this; + } + Object.defineProperty(MiddlewareArray2, Symbol.species, { + get: function() { + return MiddlewareArray2; + }, + enumerable: false, + configurable: true + }); + MiddlewareArray2.prototype.concat = function() { + var arr = []; + for (var _i = 0; _i < arguments.length; _i++) { + arr[_i] = arguments[_i]; + } + return _super.prototype.concat.apply(this, arr); + }; + MiddlewareArray2.prototype.prepend = function() { + var arr = []; + for (var _i = 0; _i < arguments.length; _i++) { + arr[_i] = arguments[_i]; + } + if (arr.length === 1 && Array.isArray(arr[0])) { + return new (MiddlewareArray2.bind.apply(MiddlewareArray2, __spreadArray([void 0], arr[0].concat(this))))(); + } + return new (MiddlewareArray2.bind.apply(MiddlewareArray2, __spreadArray([void 0], arr.concat(this))))(); + }; + return MiddlewareArray2; + }(Array) +); +var EnhancerArray = ( + /** @class */ + function(_super) { + __extends(EnhancerArray2, _super); + function EnhancerArray2() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = _super.apply(this, args) || this; + Object.setPrototypeOf(_this, EnhancerArray2.prototype); + return _this; + } + Object.defineProperty(EnhancerArray2, Symbol.species, { + get: function() { + return EnhancerArray2; + }, + enumerable: false, + configurable: true + }); + EnhancerArray2.prototype.concat = function() { + var arr = []; + for (var _i = 0; _i < arguments.length; _i++) { + arr[_i] = arguments[_i]; + } + return _super.prototype.concat.apply(this, arr); + }; + EnhancerArray2.prototype.prepend = function() { + var arr = []; + for (var _i = 0; _i < arguments.length; _i++) { + arr[_i] = arguments[_i]; + } + if (arr.length === 1 && Array.isArray(arr[0])) { + return new (EnhancerArray2.bind.apply(EnhancerArray2, __spreadArray([void 0], arr[0].concat(this))))(); + } + return new (EnhancerArray2.bind.apply(EnhancerArray2, __spreadArray([void 0], arr.concat(this))))(); + }; + return EnhancerArray2; + }(Array) +); +function freezeDraftable(val) { + return t(val) ? immer_esm_default(val, function() { + }) : val; +} +function executeReducerBuilderCallback(builderCallback) { + var actionsMap = {}; + var actionMatchers = []; + var defaultCaseReducer; + var builder = { + addCase: function(typeOrActionCreator, reducer) { + if (true) { + if (actionMatchers.length > 0) { + throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`"); + } + if (defaultCaseReducer) { + throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`"); + } + } + var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type; + if (!type) { + throw new Error("`builder.addCase` cannot be called with an empty action type"); + } + if (type in actionsMap) { + throw new Error("`builder.addCase` cannot be called with two reducers for the same action type"); + } + actionsMap[type] = reducer; + return builder; + }, + addMatcher: function(matcher, reducer) { + if (true) { + if (defaultCaseReducer) { + throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`"); + } + } + actionMatchers.push({ matcher, reducer }); + return builder; + }, + addDefaultCase: function(reducer) { + if (true) { + if (defaultCaseReducer) { + throw new Error("`builder.addDefaultCase` can only be called once"); + } + } + defaultCaseReducer = reducer; + return builder; + } + }; + builderCallback(builder); + return [actionsMap, actionMatchers, defaultCaseReducer]; +} +function isStateFunction(x2) { + return typeof x2 === "function"; +} +var hasWarnedAboutObjectNotation = false; +function createReducer(initialState2, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) { + if (actionMatchers === void 0) { + actionMatchers = []; + } + if (true) { + if (typeof mapOrBuilderCallback === "object") { + if (!hasWarnedAboutObjectNotation) { + hasWarnedAboutObjectNotation = true; + console.warn("The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer"); + } + } + } + var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2]; + var getInitialState; + if (isStateFunction(initialState2)) { + getInitialState = function() { + return freezeDraftable(initialState2()); + }; + } else { + var frozenInitialState_1 = freezeDraftable(initialState2); + getInitialState = function() { + return frozenInitialState_1; + }; + } + function reducer(state, action) { + if (state === void 0) { + state = getInitialState(); + } + var caseReducers = __spreadArray([ + actionsMap[action.type] + ], finalActionMatchers.filter(function(_c2) { + var matcher = _c2.matcher; + return matcher(action); + }).map(function(_c2) { + var reducer2 = _c2.reducer; + return reducer2; + })); + if (caseReducers.filter(function(cr) { + return !!cr; + }).length === 0) { + caseReducers = [finalDefaultCaseReducer]; + } + return caseReducers.reduce(function(previousState, caseReducer) { + if (caseReducer) { + if (r(previousState)) { + var draft = previousState; + var result = caseReducer(draft, action); + if (result === void 0) { + return previousState; + } + return result; + } else if (!t(previousState)) { + var result = caseReducer(previousState, action); + if (result === void 0) { + if (previousState === null) { + return previousState; + } + throw Error("A case reducer on a non-draftable value must not return undefined"); + } + return result; + } else { + return immer_esm_default(previousState, function(draft2) { + return caseReducer(draft2, action); + }); + } + } + return previousState; + }, state); + } + reducer.getInitialState = getInitialState; + return reducer; +} +var hasWarnedAboutObjectNotation2 = false; +function getType2(slice, actionKey) { + return slice + "/" + actionKey; +} +function createSlice(options) { + var name = options.name; + if (!name) { + throw new Error("`name` is a required option for createSlice"); + } + if (typeof process !== "undefined" && true) { + if (options.initialState === void 0) { + console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`"); + } + } + var initialState2 = typeof options.initialState == "function" ? options.initialState : freezeDraftable(options.initialState); + var reducers = options.reducers || {}; + var reducerNames = Object.keys(reducers); + var sliceCaseReducersByName = {}; + var sliceCaseReducersByType = {}; + var actionCreators = {}; + reducerNames.forEach(function(reducerName) { + var maybeReducerWithPrepare = reducers[reducerName]; + var type = getType2(name, reducerName); + var caseReducer; + var prepareCallback; + if ("reducer" in maybeReducerWithPrepare) { + caseReducer = maybeReducerWithPrepare.reducer; + prepareCallback = maybeReducerWithPrepare.prepare; + } else { + caseReducer = maybeReducerWithPrepare; + } + sliceCaseReducersByName[reducerName] = caseReducer; + sliceCaseReducersByType[type] = caseReducer; + actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type); + }); + function buildReducer() { + if (true) { + if (typeof options.extraReducers === "object") { + if (!hasWarnedAboutObjectNotation2) { + hasWarnedAboutObjectNotation2 = true; + console.warn("The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice"); + } + } + } + var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f; + var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType); + return createReducer(initialState2, function(builder) { + for (var key in finalCaseReducers) { + builder.addCase(key, finalCaseReducers[key]); + } + for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) { + var m2 = actionMatchers_1[_i]; + builder.addMatcher(m2.matcher, m2.reducer); + } + if (defaultCaseReducer) { + builder.addDefaultCase(defaultCaseReducer); + } + }); + } + var _reducer; + return { + name, + reducer: function(state, action) { + if (!_reducer) + _reducer = buildReducer(); + return _reducer(state, action); + }, + actions: actionCreators, + caseReducers: sliceCaseReducersByName, + getInitialState: function() { + if (!_reducer) + _reducer = buildReducer(); + return _reducer.getInitialState(); + } + }; +} +var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"; +var nanoid = function(size) { + if (size === void 0) { + size = 21; + } + var id = ""; + var i2 = size; + while (i2--) { + id += urlAlphabet[Math.random() * 64 | 0]; + } + return id; +}; +var commonProperties = [ + "name", + "message", + "stack", + "code" +]; +var RejectWithValue = ( + /** @class */ + function() { + function RejectWithValue2(payload, meta) { + this.payload = payload; + this.meta = meta; + } + return RejectWithValue2; + }() +); +var FulfillWithMeta = ( + /** @class */ + function() { + function FulfillWithMeta2(payload, meta) { + this.payload = payload; + this.meta = meta; + } + return FulfillWithMeta2; + }() +); +var miniSerializeError = function(value) { + if (typeof value === "object" && value !== null) { + var simpleError = {}; + for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) { + var property = commonProperties_1[_i]; + if (typeof value[property] === "string") { + simpleError[property] = value[property]; + } + } + return simpleError; + } + return { message: String(value) }; +}; +var createAsyncThunk = function() { + function createAsyncThunk2(typePrefix, payloadCreator, options) { + var fulfilled = createAction(typePrefix + "/fulfilled", function(payload, requestId, arg, meta) { + return { + payload, + meta: __spreadProps(__spreadValues({}, meta || {}), { + arg, + requestId, + requestStatus: "fulfilled" + }) + }; + }); + var pending = createAction(typePrefix + "/pending", function(requestId, arg, meta) { + return { + payload: void 0, + meta: __spreadProps(__spreadValues({}, meta || {}), { + arg, + requestId, + requestStatus: "pending" + }) + }; + }); + var rejected = createAction(typePrefix + "/rejected", function(error, requestId, arg, payload, meta) { + return { + payload, + error: (options && options.serializeError || miniSerializeError)(error || "Rejected"), + meta: __spreadProps(__spreadValues({}, meta || {}), { + arg, + requestId, + rejectedWithValue: !!payload, + requestStatus: "rejected", + aborted: (error == null ? void 0 : error.name) === "AbortError", + condition: (error == null ? void 0 : error.name) === "ConditionError" + }) + }; + }); + var displayedWarning = false; + var AC = typeof AbortController !== "undefined" ? AbortController : ( + /** @class */ + function() { + function class_1() { + this.signal = { + aborted: false, + addEventListener: function() { + }, + dispatchEvent: function() { + return false; + }, + onabort: function() { + }, + removeEventListener: function() { + }, + reason: void 0, + throwIfAborted: function() { + } + }; + } + class_1.prototype.abort = function() { + if (true) { + if (!displayedWarning) { + displayedWarning = true; + console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'."); + } + } + }; + return class_1; + }() + ); + function actionCreator(arg) { + return function(dispatch, getState, extra) { + var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid(); + var abortController = new AC(); + var abortReason; + var started = false; + function abort(reason) { + abortReason = reason; + abortController.abort(); + } + var promise2 = function() { + return __async(this, null, function() { + var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch; + return __generator(this, function(_c) { + switch (_c.label) { + case 0: + _c.trys.push([0, 4, , 5]); + conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState, extra }); + if (!isThenable(conditionResult)) + return [3, 2]; + return [4, conditionResult]; + case 1: + conditionResult = _c.sent(); + _c.label = 2; + case 2: + if (conditionResult === false || abortController.signal.aborted) { + throw { + name: "ConditionError", + message: "Aborted due to condition callback returning false." + }; + } + started = true; + abortedPromise = new Promise(function(_2, reject) { + return abortController.signal.addEventListener("abort", function() { + return reject({ + name: "AbortError", + message: abortReason || "Aborted" + }); + }); + }); + dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId, arg }, { getState, extra }))); + return [4, Promise.race([ + abortedPromise, + Promise.resolve(payloadCreator(arg, { + dispatch, + getState, + extra, + requestId, + signal: abortController.signal, + abort, + rejectWithValue: function(value, meta) { + return new RejectWithValue(value, meta); + }, + fulfillWithValue: function(value, meta) { + return new FulfillWithMeta(value, meta); + } + })).then(function(result) { + if (result instanceof RejectWithValue) { + throw result; + } + if (result instanceof FulfillWithMeta) { + return fulfilled(result.payload, requestId, arg, result.meta); + } + return fulfilled(result, requestId, arg); + }) + ])]; + case 3: + finalAction = _c.sent(); + return [3, 5]; + case 4: + err_1 = _c.sent(); + finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg); + return [3, 5]; + case 5: + skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition; + if (!skipDispatch) { + dispatch(finalAction); + } + return [2, finalAction]; + } + }); + }); + }(); + return Object.assign(promise2, { + abort, + requestId, + arg, + unwrap: function() { + return promise2.then(unwrapResult); + } + }); + }; + } + return Object.assign(actionCreator, { + pending, + rejected, + fulfilled, + typePrefix + }); + } + createAsyncThunk2.withTypes = function() { + return createAsyncThunk2; + }; + return createAsyncThunk2; +}(); +function unwrapResult(action) { + if (action.meta && action.meta.rejectedWithValue) { + throw action.payload; + } + if (action.error) { + throw action.error; + } + return action.payload; +} +function isThenable(value) { + return value !== null && typeof value === "object" && typeof value.then === "function"; +} +var task = "task"; +var listener = "listener"; +var completed = "completed"; +var cancelled = "cancelled"; +var taskCancelled = "task-" + cancelled; +var taskCompleted = "task-" + completed; +var listenerCancelled = listener + "-" + cancelled; +var listenerCompleted = listener + "-" + completed; +var TaskAbortError = ( + /** @class */ + function() { + function TaskAbortError2(code) { + this.code = code; + this.name = "TaskAbortError"; + this.message = task + " " + cancelled + " (reason: " + code + ")"; + } + return TaskAbortError2; + }() +); +var alm = "listenerMiddleware"; +var addListener = createAction(alm + "/add"); +var clearAllListeners = createAction(alm + "/removeAll"); +var removeListener = createAction(alm + "/remove"); +var promise; +var queueMicrotaskShim = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : globalThis) : function(cb) { + return (promise || (promise = Promise.resolve())).then(cb).catch(function(err) { + return setTimeout(function() { + throw err; + }, 0); + }); +}; +var createQueueWithTimer = function(timeout) { + return function(notify) { + setTimeout(notify, timeout); + }; +}; +var rAF = typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10); +F(); + +// src/app.ts +console.log("hello world"); +var initialState = { + password: "", + email: "", + error: "no_error" +}; +var loginApp = createSlice({ + name: "my login app!", + initialState, + reducers: { + reset: (state) => { + state.password = initialState.password; + state.email = initialState.email; + state.error = initialState.error; + }, + setPassword: (state, action) => { + state.password = action.payload; + }, + setEmail: (state, action) => { + state.email = action.payload; + }, + signIn: (state) => { + state.error = checkForErrors(state); + } + } +}); +var selectRoot = (storeState) => { + return storeState; +}; +var validateEmail = (email) => { + return email.match( + // eslint-disable-next-line no-useless-escape + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + ); +}; +var checkForErrors = (storeState) => { + if (!validateEmail(storeState.email)) { + return "invalidEmail"; + } + if (storeState.password !== "password" && storeState.email !== "adam@email.com") { + return "credentialFail"; + } + return "no_error"; +}; +var loginPageSelection = createSelector([selectRoot], (root) => { + return { + ...root, + disableSubmit: root.email == "" || root.password == "" + }; +}); +var app_default = () => { + const store2 = createStore(loginApp.reducer); + return { + app: loginApp, + select: { + loginPageSelection + }, + store: store2 + }; +}; + +// src/LoginPage/index.tsx +var core = app_default(); +var selector = core.select.loginPageSelection; +var actions = core.app.actions; +var store = core.store; +var emailwarning = "Something isn\u2019t right. Please double check your email"; +function LoginPage() { + const selection = useSelector(selector); + return /* @__PURE__ */ import_react3.default.createElement("div", null, /* @__PURE__ */ import_react3.default.createElement("h2", null, "Welcome back!"), /* @__PURE__ */ import_react3.default.createElement("p", null, "Sign in and get to it."), /* @__PURE__ */ import_react3.default.createElement("form", null, /* @__PURE__ */ import_react3.default.createElement("input", { type: "email", value: selection.email, onChange: (e) => store.dispatch(actions.setEmail(e.target.value)) }), /* @__PURE__ */ import_react3.default.createElement("p", { id: "invalid-email-warning", className: "warnin" }, selection.error === "invalidEmail" && emailwarning), /* @__PURE__ */ import_react3.default.createElement("br", null), /* @__PURE__ */ import_react3.default.createElement("input", { type: "password", value: selection.password, onChange: (e) => store.dispatch(actions.setPassword(e.target.value)) }), /* @__PURE__ */ import_react3.default.createElement("p", { id: "error" }, selection.error === "credentialFail" && "You entered an incorrect email, password, or both."), /* @__PURE__ */ import_react3.default.createElement("br", null), /* @__PURE__ */ import_react3.default.createElement("button", { disabled: selection.disableSubmit, onClick: (event) => { + store.dispatch(actions.signIn()); + } }, "Sign In")), /* @__PURE__ */ import_react3.default.createElement("pre", null, JSON.stringify(selection, null, 2))); +} +function LoginPage_default() { + return /* @__PURE__ */ import_react3.default.createElement(Provider_default, { store }, /* @__PURE__ */ import_react3.default.createElement(LoginPage, null)); +} + +// src/LoginPage/test.ts +var LoginPageSpecs = (Suite, Given, When, Then, Check) => { + return [ + Suite.Default( + "Testing the LoginPage as react", + { + "test0": Given.default( + [], + [ + When.TheEmailIsSetTo("adam@email.com") + ], + [ + Then.TheEmailIs("adam@email.com") + ] + ), + "test1": Given.default( + [], + [ + When.TheEmailIsSetTo("adam@email.com"), + When.ThePasswordIsSetTo("secret") + ], + [ + Then.TheEmailIsNot("wade@rpc"), + Then.TheEmailIs("adam@email.com"), + Then.ThePasswordIs("secret"), + Then.ThePasswordIsNot("idk") + ] + ), + "test2": Given.default( + [], + [When.TheEmailIsSetTo("adam")], + [Then.ThereIsNotAnEmailError()] + ), + "test3": Given.default( + [], + [ + When.TheEmailIsSetTo("bob"), + When.TheLoginIsSubmitted() + ], + [Then.ThereIsAnEmailError()] + ), + "test4": Given.default( + [], + [ + When.TheEmailIsSetTo("adam@mail.com"), + When.ThePasswordIsSetTo("foso") + ], + [ + Then.ThereIsNotAnEmailError() + ] + ) + }, + [] + ) + ]; +}; + +export { + require_react, + require_scheduler, + actions, + emailwarning, + LoginPage_default, + LoginPageSpecs +}; +/*! Bundled license information: + +react/cjs/react.development.js: + (** + * @license React + * react.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +use-sync-external-store/cjs/use-sync-external-store-shim.development.js: + (** + * @license React + * use-sync-external-store-shim.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js: + (** + * @license React + * use-sync-external-store-shim/with-selector.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom.development.js: + (** + * @license React + * react-dom.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + (** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT + *) + +react-is/cjs/react-is.development.js: + (** @license React v16.13.1 + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-is/cjs/react-is.development.js: + (** + * @license React + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. *) */ diff --git a/docs/web/chunk-3HEJ35MW.mjs b/docs/web/chunk-SNPBLUOM.mjs similarity index 99% rename from docs/web/chunk-3HEJ35MW.mjs rename to docs/web/chunk-SNPBLUOM.mjs index 7198cb46..3387902d 100644 --- a/docs/web/chunk-3HEJ35MW.mjs +++ b/docs/web/chunk-SNPBLUOM.mjs @@ -1,8 +1,35 @@ -import { - __commonJS, - __require, - __toESM -} from "./chunk-TTFRSOOU.mjs"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { + get: (a, b) => (typeof require !== "undefined" ? require : a)[b] +}) : x)(function(x) { + if (typeof require !== "undefined") + return require.apply(this, arguments); + throw new Error('Dynamic require of "' + x + '" is not supported'); +}); +var __commonJS = (cb, mod) => function __require2() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); // ../testeranto/node_modules/@electron/remote/dist/src/renderer/callbacks-registry.js var require_callbacks_registry = __commonJS({ @@ -4739,6 +4766,8 @@ var assert = import_index.default.assert; var core = import_index.default.core; export { + __commonJS, + __toESM, require_renderer2 as require_renderer, assert }; diff --git a/docs/web/chunk-HJQFDMFU.mjs b/docs/web/chunk-T6BHAUR2.mjs similarity index 96% rename from docs/web/chunk-HJQFDMFU.mjs rename to docs/web/chunk-T6BHAUR2.mjs index 89bba490..9628a0ea 100644 --- a/docs/web/chunk-HJQFDMFU.mjs +++ b/docs/web/chunk-T6BHAUR2.mjs @@ -1,6 +1,6 @@ import { require_renderer -} from "./chunk-3HEJ35MW.mjs"; +} from "./chunk-SNPBLUOM.mjs"; // ../testeranto/dist/module/lib/index.js var BaseTestInterface = { @@ -234,7 +234,6 @@ var BaseBuilder = class { scheduled: false }, y) { console.log(`testResourceConfiguration ${JSON.stringify(testResourceConfiguration, null, 2)}`); - await logWriter.mkdirSync(testResourceConfiguration.fs); logWriter.writeFileSync(`${testResourceConfiguration.fs}/tests.json`, JSON.stringify(this.toObj(), null, 2)); const logFilePath = `${testResourceConfiguration.fs}/log.txt`; const access = await logWriter.createWriteStream(logFilePath); @@ -243,8 +242,6 @@ var BaseBuilder = class { `); }; const suiteDone = await runner(testResourceConfiguration, tLog, y); - const resultsFilePath = `${testResourceConfiguration.fs}/results.json`; - logWriter.writeFileSync(resultsFilePath, JSON.stringify(suiteDone.toObj(), null, 2)); const logPromise = new Promise((res, rej) => { access.on("finish", () => { res(true); @@ -335,10 +332,17 @@ var Testeranto = class extends ClassBuilder { } }, class Given extends BaseGiven { async givenThat(subject, testResource, artifactory, initializer) { - return fullTestInterface.beforeEach(subject, initializer, (fPath, value) => ( - // TODO does not work? - artifactory(`beforeEach/${fPath}`, value) - ), testResource, this.initialValues); + return fullTestInterface.beforeEach( + subject, + initializer, + (fPath, value) => ( + // TODO does not work? + artifactory(`beforeEach/${fPath}`, value) + ), + testResource, + this.initialValues + // utils, + ); } afterEach(store, key, artifactory) { return new Promise((res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => artifactory(`after/${fPath}`, value)))); @@ -378,7 +382,15 @@ var Testeranto = class extends ClassBuilder { var remote = require_renderer(); var WebTesteranto = class extends Testeranto { constructor(input, testSpecification, testImplementation, testResourceRequirement, testInterface) { - super(input, testSpecification, testImplementation, testResourceRequirement, window.NodeWriter, testInterface); + super( + input, + testSpecification, + testImplementation, + testResourceRequirement, + window.NodeWriter, + testInterface + // BrowserWindow + ); if (process.argv[2]) { const testResourceArg = decodeURIComponent(new URLSearchParams(location.search).get("requesting") || ""); try { @@ -405,6 +417,7 @@ var WebTesteranto = class extends Testeranto { const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig(partialTestResource, remote); Promise.all([...artifacts, logPromise]).then(async () => { var window2 = remote.getCurrentWindow(); + window2.close(); }); } }; diff --git a/docs/web/chunk-TTFRSOOU.mjs b/docs/web/chunk-TTFRSOOU.mjs deleted file mode 100644 index 767f8c3e..00000000 --- a/docs/web/chunk-TTFRSOOU.mjs +++ /dev/null @@ -1,38 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { - get: (a, b) => (typeof require !== "undefined" ? require : a)[b] -}) : x)(function(x) { - if (typeof require !== "undefined") - return require.apply(this, arguments); - throw new Error('Dynamic require of "' + x + '" is not supported'); -}); -var __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -export { - __require, - __commonJS, - __toESM -}; diff --git a/docs/web/src/ClassicalComponent/test.html b/docs/web/src/ClassicalComponent/test.html deleted file mode 100644 index 93d7dbee..00000000 --- a/docs/web/src/ClassicalComponent/test.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - -

/Users/adam/Code/kokomoBay/docs/web/src/ClassicalComponent/test.html

-
- -
- - -
- - diff --git a/docs/web/src/ClassicalComponent/test.mjs b/docs/web/src/ClassicalComponent/test.mjs deleted file mode 100644 index 67b36895..00000000 --- a/docs/web/src/ClassicalComponent/test.mjs +++ /dev/null @@ -1,82 +0,0 @@ -import { - require_react, - require_react_dom -} from "../../chunk-X4RTFM5S.mjs"; -import { - __commonJS, - __toESM -} from "../../chunk-TTFRSOOU.mjs"; - -// node_modules/react-dom/client.js -var require_client = __commonJS({ - "node_modules/react-dom/client.js"(exports) { - "use strict"; - var m = require_react_dom(); - if (false) { - exports.createRoot = m.createRoot; - exports.hydrateRoot = m.hydrateRoot; - } else { - i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - exports.createRoot = function(c, o) { - i.usingClientEntryPoint = true; - try { - return m.createRoot(c, o); - } finally { - i.usingClientEntryPoint = false; - } - }; - exports.hydrateRoot = function(c, h, o) { - i.usingClientEntryPoint = true; - try { - return m.hydrateRoot(c, h, o); - } finally { - i.usingClientEntryPoint = false; - } - }; - } - var i; - } -}); - -// src/ClassicalComponent/test.ts -var import_client = __toESM(require_client(), 1); -var import_react2 = __toESM(require_react(), 1); - -// src/ClassicalComponent/index.tsx -var import_react = __toESM(require_react(), 1); -var ClassicalComponent = class extends import_react.default.Component { - constructor(props) { - super(props); - this.state = { - count: 0 - }; - } - // componentDidMount() { - // console.info("componentDidMount"); - // // const x = fetch("http://www.google.com") - // // .then((response) => response.text()) - // // .then(x => { - // // console.warn("i am a genius", x) - // // }); - // // console.info("x", x); - // // const y = fetch("http://www.google.com/", { mode: `no-cors` }) - // // // .then((response) => response.text()) - // // .then(x => { - // // console.log("i am a genius!") - // // }); - // // console.info(y); - // } - render() { - return /* @__PURE__ */ import_react.default.createElement("div", { style: { border: "3px solid green" } }, /* @__PURE__ */ import_react.default.createElement("h1", null, "Hello Marcus"), /* @__PURE__ */ import_react.default.createElement("pre", { id: "theProps" }, JSON.stringify(this.props)), /* @__PURE__ */ import_react.default.createElement("p", null, "foo: ", this.props.foo), /* @__PURE__ */ import_react.default.createElement("pre", { id: "theStat" }, JSON.stringify(this.state)), /* @__PURE__ */ import_react.default.createElement("p", null, "count: ", this.state.count, " times"), /* @__PURE__ */ import_react.default.createElement("button", { id: "theButton", onClick: async () => { - this.setState({ count: this.state.count + 1 }); - } }, "Click")); - } -}; - -// src/ClassicalComponent/test.ts -document.addEventListener("DOMContentLoaded", function() { - const elem = document.getElementById("root"); - if (elem) { - import_client.default.createRoot(elem).render(import_react2.default.createElement(ClassicalComponent, {})); - } -}); diff --git a/docs/web/src/LoginPage/react-test-renderer/web.test.mjs b/docs/web/src/LoginPage/react-test-renderer/web.test.mjs index e5754dfd..83065dd1 100644 --- a/docs/web/src/LoginPage/react-test-renderer/web.test.mjs +++ b/docs/web/src/LoginPage/react-test-renderer/web.test.mjs @@ -2,22 +2,18 @@ import { LoginPageSpecs, LoginPage_default, actions, - emailwarning -} from "../../../chunk-LD7PK274.mjs"; -import { - Web_default -} from "../../../chunk-HJQFDMFU.mjs"; -import { - assert -} from "../../../chunk-3HEJ35MW.mjs"; -import { + emailwarning, require_react, require_scheduler -} from "../../../chunk-X4RTFM5S.mjs"; +} from "../../../chunk-QOTLVXVD.mjs"; +import { + Web_default +} from "../../../chunk-T6BHAUR2.mjs"; import { __commonJS, - __toESM -} from "../../../chunk-TTFRSOOU.mjs"; + __toESM, + assert +} from "../../../chunk-SNPBLUOM.mjs"; // ../testeranto/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js var require_scheduler_unstable_mock_development = __commonJS({ diff --git a/docs/web/src/LoginPage/react-test-renderer/web.test/exitcode b/docs/web/src/LoginPage/react-test-renderer/web.test/exitcode new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/docs/web/src/LoginPage/react-test-renderer/web.test/exitcode @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/docs/web/src/LoginPage/react-test-renderer/web.test/log.txt b/docs/web/src/LoginPage/react-test-renderer/web.test/log.txt new file mode 100644 index 00000000..25742e9c --- /dev/null +++ b/docs/web/src/LoginPage/react-test-renderer/web.test/log.txt @@ -0,0 +1,29 @@ +test resources: ,[object Object] + +Suite:,0,Testing the LoginPage as react + + Given: default + When:,TheEmailIsSetTo: adam@email.com + Then:,TheEmailIs: adam@email.com + + Given: default + When:,TheEmailIsSetTo: adam@email.com + When:,ThePasswordIsSetTo: secret + Then:,TheEmailIsNot: wade@rpc + Then:,TheEmailIs: adam@email.com + Then:,ThePasswordIs: secret + Then:,ThePasswordIsNot: idk + + Given: default + When:,TheEmailIsSetTo: adam + Then:,ThereIsNotAnEmailError: undefined + + Given: default + When:,TheEmailIsSetTo: bob + When:,TheLoginIsSubmitted: undefined + Then:,ThereIsAnEmailError: undefined + + Given: default + When:,TheEmailIsSetTo: adam@mail.com + When:,ThePasswordIsSetTo: foso + Then:,ThereIsNotAnEmailError: undefined diff --git a/docs/web/src/LoginPage/react-test-renderer/web.testx/stdout.log b/docs/web/src/LoginPage/react-test-renderer/web.test/stdout.log similarity index 65% rename from docs/web/src/LoginPage/react-test-renderer/web.testx/stdout.log rename to docs/web/src/LoginPage/react-test-renderer/web.test/stdout.log index 9f219dcb..58b20431 100644 --- a/docs/web/src/LoginPage/react-test-renderer/web.testx/stdout.log +++ b/docs/web/src/LoginPage/react-test-renderer/web.test/stdout.log @@ -9,69 +9,62 @@ "event": {}, "level": 1, "message": "\"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools\\nYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq font-weight:bold\"", - "line": 23418, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-X4RTFM5S.mjs" + "line": 23655, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 1, "message": "\"hello world\"", - "line": 2683, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-LD7PK274.mjs" + "line": 26130, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test.mjsx\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.testx\\\"\\n}\"", + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test\\\"\\n}\"", "line": 236, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"initial test resource [object Object]\"", - "line": 397, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "line": 409, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test.mjsx\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.testx\\\"\\n}\"", + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react-test-renderer/web.test\\\"\\n}\"", "line": 236, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 3, "message": "\"Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"", - "line": 136, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-X4RTFM5S.mjs" + "line": 137, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 3, "message": "\"Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"", - "line": 136, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-X4RTFM5S.mjs" + "line": 137, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 1, "message": "\"exiting gracefully with 0 failures.\"", - "line": 258, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "line": 255, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"exiting gracefully with 0 failures.\"", - "line": 258, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" -} -{ - "event": {}, - "level": 2, - "message": "\"%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security\\n Policy set or a policy with \\\"unsafe-eval\\\" enabled. This exposes users of\\n this app to unnecessary security risks.\\n\\nFor more information and help, consult\\nhttps://electronjs.org/docs/tutorial/security.\\nThis warning will not show up\\nonce the app is packaged.\"", - "line": 2, - "sourceId": "node:electron/js2c/renderer_init" + "line": 255, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } diff --git a/docs/web/src/LoginPage/react-test-renderer/web.testx/results.json b/docs/web/src/LoginPage/react-test-renderer/web.test/tests.json similarity index 100% rename from docs/web/src/LoginPage/react-test-renderer/web.testx/results.json rename to docs/web/src/LoginPage/react-test-renderer/web.test/tests.json diff --git a/docs/web/src/LoginPage/react/web.test.mjs b/docs/web/src/LoginPage/react/web.test.mjs index 740e9fd5..2f6ed735 100644 --- a/docs/web/src/LoginPage/react/web.test.mjs +++ b/docs/web/src/LoginPage/react/web.test.mjs @@ -2,13 +2,11 @@ import { LoginPageSpecs, LoginPage_default, actions -} from "../../../chunk-LD7PK274.mjs"; +} from "../../../chunk-QOTLVXVD.mjs"; import { assert, require_renderer -} from "../../../chunk-3HEJ35MW.mjs"; -import "../../../chunk-X4RTFM5S.mjs"; -import "../../../chunk-TTFRSOOU.mjs"; +} from "../../../chunk-SNPBLUOM.mjs"; // ../testeranto/src/lib/index.ts var BaseTestInterface = { @@ -140,12 +138,7 @@ var BaseGiven = class { this.givenCB ); for (const whenStep of this.whens) { - await whenStep.test( - this.store, - testResourceConfiguration, - tLog, - utils - ); + await whenStep.test(this.store, testResourceConfiguration, tLog, utils); } for (const thenStep of this.thens) { const t = await thenStep.test( @@ -184,11 +177,7 @@ var BaseWhen = class { async test(store, testResourceConfiguration, tLog, utils) { tLog(" When:", this.name); try { - return await this.andWhen( - store, - this.whenCB, - testResourceConfiguration - ); + return await this.andWhen(store, this.whenCB, testResourceConfiguration); } catch (e) { this.error = true; throw e; @@ -297,77 +286,76 @@ var BaseBuilder = class { testResourceConfiguration, (fPath, value) => logWriter.testArtiFactoryfileWriter(tLog, (p) => { this.artifacts.push(p); - })( - testResourceConfiguration.fs + "/" + fPath, - value - ), + })(testResourceConfiguration.fs + "/" + fPath, value), tLog, utils2 ); }; - this.testJobs = this.specs.map((suite, utils) => { - const runner = suiteRunner(suite, utils); - return { - test: suite, - testResourceRequirement, - toObj: () => { - return suite.toObj(); - }, - runner, - receiveTestResourceConfig: async function(testResourceConfiguration = { - name: "", - fs: ".", - ports: [], - scheduled: false - }, y) { - console.log( - `testResourceConfiguration ${JSON.stringify( - testResourceConfiguration, - null, - 2 - )}` - ); - await logWriter.mkdirSync(testResourceConfiguration.fs); - logWriter.writeFileSync( - `${testResourceConfiguration.fs}/tests.json`, - JSON.stringify(this.toObj(), null, 2) - ); - const logFilePath = `${testResourceConfiguration.fs}/log.txt`; - const access = await logWriter.createWriteStream(logFilePath); - const tLog = (...l) => { - access.write(`${l.toString()} + this.testJobs = this.specs.map( + (suite, utils) => { + const runner = suiteRunner(suite, utils); + return { + test: suite, + testResourceRequirement, + toObj: () => { + return suite.toObj(); + }, + runner, + receiveTestResourceConfig: async function(testResourceConfiguration = { + name: "", + fs: ".", + ports: [], + scheduled: false + }, y) { + console.log( + `testResourceConfiguration ${JSON.stringify( + testResourceConfiguration, + null, + 2 + )}` + ); + logWriter.writeFileSync( + `${testResourceConfiguration.fs}/tests.json`, + JSON.stringify(this.toObj(), null, 2) + ); + const logFilePath = `${testResourceConfiguration.fs}/log.txt`; + const access = await logWriter.createWriteStream(logFilePath); + const tLog = (...l) => { + access.write(`${l.toString()} `); - }; - const suiteDone = await runner(testResourceConfiguration, tLog, y); - const resultsFilePath = `${testResourceConfiguration.fs}/results.json`; - logWriter.writeFileSync( - resultsFilePath, - JSON.stringify(suiteDone.toObj(), null, 2) - ); - const logPromise = new Promise((res, rej) => { - access.on("finish", () => { - res(true); + }; + const suiteDone = await runner( + testResourceConfiguration, + tLog, + y + ); + const logPromise = new Promise((res, rej) => { + access.on("finish", () => { + res(true); + }); }); - }); - access.end(); - const numberOfFailures = Object.keys(suiteDone.givens).filter( - (k) => { - return suiteDone.givens[k].error; - } - ).length; - logWriter.writeFileSync( - `${testResourceConfiguration.fs}/exitcode`, - numberOfFailures.toString() - ); - console.log(`exiting gracefully with ${numberOfFailures} failures.`); - return { - failed: numberOfFailures, - artifacts: this.artifacts || [], - logPromise - }; - } - }; - }); + access.end(); + const numberOfFailures = Object.keys(suiteDone.givens).filter( + (k) => { + return suiteDone.givens[k].error; + } + ).length; + logWriter.writeFileSync( + `${testResourceConfiguration.fs}/exitcode`, + numberOfFailures.toString() + ); + console.log( + `exiting gracefully with ${numberOfFailures} failures.` + ); + return { + failed: numberOfFailures, + artifacts: this.artifacts || [], + logPromise + }; + } + }; + } + ); } Specs() { return this.specs; @@ -488,11 +476,7 @@ var Testeranto = class extends ClassBuilder { fullTestInterface.assertThis(t); } async setup(s, artifactory, tr) { - return (fullTestInterface.beforeAll || (async (input2, artifactory2, tr2) => input2))( - s, - this.testResourceConfiguration, - artifactory - ); + return (fullTestInterface.beforeAll || (async (input2, artifactory2, tr2) => input2))(s, this.testResourceConfiguration, artifactory); } }, class Given extends BaseGiven { @@ -511,7 +495,13 @@ var Testeranto = class extends ClassBuilder { } afterEach(store, key, artifactory) { return new Promise( - (res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => artifactory(`after/${fPath}`, value))) + (res) => res( + fullTestInterface.afterEach( + store, + key, + (fPath, value) => artifactory(`after/${fPath}`, value) + ) + ) ); } afterAll(store, artifactory, utils) { @@ -554,10 +544,16 @@ var Testeranto = class extends ClassBuilder { } afterEach(store, key, artifactory) { return new Promise( - (res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => ( - // TODO does not work? - artifactory(`afterEach2-${this.name}/${fPath}`, value) - ))) + (res) => res( + fullTestInterface.afterEach( + store, + key, + (fPath, value) => ( + // TODO does not work? + artifactory(`afterEach2-${this.name}/${fPath}`, value) + ) + ) + ) ); } }, @@ -609,16 +605,13 @@ var WebTesteranto = class extends Testeranto { } } async receiveTestResourceConfig(t, partialTestResource) { - const { - failed, - artifacts, - logPromise - } = await t.receiveTestResourceConfig( + const { failed, artifacts, logPromise } = await t.receiveTestResourceConfig( partialTestResource, remote ); Promise.all([...artifacts, logPromise]).then(async () => { var window2 = remote.getCurrentWindow(); + window2.close(); }); } }; @@ -695,6 +688,7 @@ var implementations = { assert.notEqual(reactElem.props.store.getState().error, "no_error"); }, ThereIsNotAnEmailError: () => (reactElem) => { + console.log("hello"); assert.equal(reactElem.props.store.getState().error, "no_error"); } }, @@ -713,17 +707,7 @@ var web_test_default = web_default( LoginPage_default, { afterAll: (store, artificer, utils) => { - const webContents = utils.getCurrentWebContents(); - webContents.capturePage({ - x: 0, - y: 0, - width: 100, - height: 200 - }, (img) => { - artificer("hello.png", img.toPng()); - }).then((x) => { - console.log("done", x); - }); + const webContents = utils.webContents; artificer("utils", "hellow orld"); } } diff --git a/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils b/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils similarity index 100% rename from docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils rename to docs/web/src/LoginPage/react/web.test/afterAll4-default/utils diff --git a/docs/node/src/LoginPage/react-test-renderer/node.testx/stdout.log b/docs/web/src/LoginPage/react/web.test/exitcode similarity index 100% rename from docs/node/src/LoginPage/react-test-renderer/node.testx/stdout.log rename to docs/web/src/LoginPage/react/web.test/exitcode diff --git a/docs/web/src/LoginPage/react/web.testx/log.txt b/docs/web/src/LoginPage/react/web.test/log.txt similarity index 82% rename from docs/web/src/LoginPage/react/web.testx/log.txt rename to docs/web/src/LoginPage/react/web.test/log.txt index 6da60b6c..13f33869 100644 --- a/docs/web/src/LoginPage/react/web.testx/log.txt +++ b/docs/web/src/LoginPage/react/web.test/log.txt @@ -29,8 +29,8 @@ Suite:,0,Testing the LoginPage as react Then:,ThereIsNotAnEmailError: undefined AssertionError: expected 'invalidEmail' to equal 'no_error'  -testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils +testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +testArtiFactory =>,/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils diff --git a/docs/web/src/LoginPage/react/web.test/manifest b/docs/web/src/LoginPage/react/web.test/manifest new file mode 100644 index 00000000..8b4a75e2 --- /dev/null +++ b/docs/web/src/LoginPage/react/web.test/manifest @@ -0,0 +1,10 @@ +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils +/docs/web/src/LoginPage/react/web.test/afterAll4-default/utils \ No newline at end of file diff --git a/docs/web/src/LoginPage/react/web.testx/stdout.log b/docs/web/src/LoginPage/react/web.test/stdout.log similarity index 63% rename from docs/web/src/LoginPage/react/web.testx/stdout.log rename to docs/web/src/LoginPage/react/web.test/stdout.log index 22b7852e..dba67f03 100644 --- a/docs/web/src/LoginPage/react/web.testx/stdout.log +++ b/docs/web/src/LoginPage/react/web.test/stdout.log @@ -9,139 +9,97 @@ "event": {}, "level": 1, "message": "\"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools\\nYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq font-weight:bold\"", - "line": 23418, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-X4RTFM5S.mjs" + "line": 23655, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 1, "message": "\"hello world\"", - "line": 2683, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-LD7PK274.mjs" + "line": 26130, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-QOTLVXVD.mjs" } { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjsx\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx\\\"\\n}\"", - "line": 323, + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test\\\"\\n}\"", + "line": 310, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, "message": "\"initial test resource [object Object]\"", - "line": 604, + "line": 600, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjsx\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.testx\\\"\\n}\"", - "line": 323, + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test\\\"\\n}\"", + "line": 310, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"test failed [object Object]\"", - "line": 219, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"test failed [object Object]\"", - "line": 219, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"exiting gracefully with 1 failures.\"", - "line": 362, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"exiting gracefully with 1 failures.\"", - "line": 362, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" -} -{ - "event": {}, - "level": 2, - "message": "\"%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security\\n Policy set or a policy with \\\"unsafe-eval\\\" enabled. This exposes users of\\n this app to unnecessary security risks.\\n\\nFor more information and help, consult\\nhttps://electronjs.org/docs/tutorial/security.\\nThis warning will not show up\\nonce the app is packaged.\"", - "line": 2, - "sourceId": "node:electron/js2c/renderer_init" -} -{ - "event": {}, - "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"hello\"", + "line": 691, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"hello\"", + "line": 691, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"hello\"", + "line": 691, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"hello\"", + "line": 691, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"test failed [object Object]\"", + "line": 208, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"test failed [object Object]\"", + "line": 208, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"exiting gracefully with 1 failures.\"", + "line": 347, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, "level": 1, - "message": "\"done [object Object]\"", - "line": 725, + "message": "\"exiting gracefully with 1 failures.\"", + "line": 347, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" } { "event": {}, - "level": 1, - "message": "\"done [object Object]\"", - "line": 725, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs" + "level": 2, + "message": "\"%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security\\n Policy set or a policy with \\\"unsafe-eval\\\" enabled. This exposes users of\\n this app to unnecessary security risks.\\n\\nFor more information and help, consult\\nhttps://electronjs.org/docs/tutorial/security.\\nThis warning will not show up\\nonce the app is packaged.\"", + "line": 2, + "sourceId": "node:electron/js2c/renderer_init" } diff --git a/docs/web/src/LoginPage/react/web.test/tests.json b/docs/web/src/LoginPage/react/web.test/tests.json new file mode 100644 index 00000000..31f746df --- /dev/null +++ b/docs/web/src/LoginPage/react/web.test/tests.json @@ -0,0 +1,99 @@ +{ + "name": "Testing the LoginPage as react", + "givens": [ + { + "name": "default", + "whens": [ + { + "name": "TheEmailIsSetTo: adam@email.com" + } + ], + "thens": [ + { + "name": "TheEmailIs: adam@email.com" + } + ], + "error": null, + "features": [] + }, + { + "name": "default", + "whens": [ + { + "name": "TheEmailIsSetTo: adam@email.com" + }, + { + "name": "ThePasswordIsSetTo: secret" + } + ], + "thens": [ + { + "name": "TheEmailIsNot: wade@rpc" + }, + { + "name": "TheEmailIs: adam@email.com" + }, + { + "name": "ThePasswordIs: secret" + }, + { + "name": "ThePasswordIsNot: idk" + } + ], + "error": null, + "features": [] + }, + { + "name": "default", + "whens": [ + { + "name": "TheEmailIsSetTo: adam" + } + ], + "thens": [ + { + "name": "ThereIsNotAnEmailError: undefined" + } + ], + "error": null, + "features": [] + }, + { + "name": "default", + "whens": [ + { + "name": "TheEmailIsSetTo: bob" + }, + { + "name": "TheLoginIsSubmitted: undefined" + } + ], + "thens": [ + { + "name": "ThereIsAnEmailError: undefined" + } + ], + "error": null, + "features": [] + }, + { + "name": "default", + "whens": [ + { + "name": "TheEmailIsSetTo: adam@mail.com" + }, + { + "name": "ThePasswordIsSetTo: foso" + } + ], + "thens": [ + { + "name": "ThereIsNotAnEmailError: undefined" + } + ], + "error": null, + "features": [] + } + ], + "fails": [] +} \ No newline at end of file diff --git a/docs/web/src/LoginPage/react/web.testx/manifest b/docs/web/src/LoginPage/react/web.testx/manifest deleted file mode 100644 index 4aff6fdf..00000000 --- a/docs/web/src/LoginPage/react/web.testx/manifest +++ /dev/null @@ -1,10 +0,0 @@ -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils -/docs/web/src/LoginPage/react/web.testx/afterAll4-default/utils \ No newline at end of file diff --git a/docs/web/src/LoginPage/react/web.testx/results.json b/docs/web/src/LoginPage/react/web.testx/results.json deleted file mode 100644 index 59edf17a..00000000 --- a/docs/web/src/LoginPage/react/web.testx/results.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "name": "Testing the LoginPage as react", - "givens": [ - { - "name": "default", - "whens": [ - { - "name": "TheEmailIsSetTo: adam@email.com" - } - ], - "thens": [ - { - "name": "TheEmailIs: adam@email.com" - } - ], - "error": null, - "features": [] - }, - { - "name": "default", - "whens": [ - { - "name": "TheEmailIsSetTo: adam@email.com" - }, - { - "name": "ThePasswordIsSetTo: secret" - } - ], - "thens": [ - { - "name": "TheEmailIsNot: wade@rpc" - }, - { - "name": "TheEmailIs: adam@email.com" - }, - { - "name": "ThePasswordIs: secret" - }, - { - "name": "ThePasswordIsNot: idk" - } - ], - "error": null, - "features": [] - }, - { - "name": "default", - "whens": [ - { - "name": "TheEmailIsSetTo: adam" - } - ], - "thens": [ - { - "name": "ThereIsNotAnEmailError: undefined" - } - ], - "error": null, - "features": [] - }, - { - "name": "default", - "whens": [ - { - "name": "TheEmailIsSetTo: bob" - }, - { - "name": "TheLoginIsSubmitted: undefined" - } - ], - "thens": [ - { - "name": "ThereIsAnEmailError: undefined" - } - ], - "error": null, - "features": [] - }, - { - "name": "default", - "whens": [ - { - "name": "TheEmailIsSetTo: adam@mail.com" - }, - { - "name": "ThePasswordIsSetTo: foso" - } - ], - "thens": [ - { - "name": "ThereIsNotAnEmailError: undefined", - "error": true - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected 'invalidEmail' to equal 'no_error'", - "showDiff": true, - "actual": "invalidEmail", - "expected": "no_error", - "operator": "strictEqual", - "stack": "AssertionError: expected 'invalidEmail' to equal 'no_error'\n at file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:698:14\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:21:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:534:42)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:212:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:151:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:71:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:295:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:341:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:616:9)" - }, - "AssertionError: expected 'invalidEmail' to equal 'no_error'\n at file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:698:14\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:21:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:534:42)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:212:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:151:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:71:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:295:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:341:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/src/LoginPage/react/web.test.mjs:616:9)" - ], - "features": [] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/web/src/Rectangle/Rectangle.test.electron.mjs b/docs/web/src/Rectangle/Rectangle.test.electron.mjs index 1969b3f5..df022b23 100644 --- a/docs/web/src/Rectangle/Rectangle.test.electron.mjs +++ b/docs/web/src/Rectangle/Rectangle.test.electron.mjs @@ -1,10 +1,9 @@ import { Web_default -} from "../../chunk-HJQFDMFU.mjs"; +} from "../../chunk-T6BHAUR2.mjs"; import { assert -} from "../../chunk-3HEJ35MW.mjs"; -import "../../chunk-TTFRSOOU.mjs"; +} from "../../chunk-SNPBLUOM.mjs"; // src/Rectangle.ts var Rectangle = class { @@ -30,7 +29,7 @@ var Rectangle = class { return this.width * this.height; } circumference() { - return this.width * 2 + this.height * 2; + return this.width * 2 + this.height * 22; } }; var Rectangle_default = Rectangle; diff --git a/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png b/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png deleted file mode 100644 index b1946a1e8af16f32d481ef40ac48bc4dcb0793c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6858 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 Hi@*IZ=?9!; diff --git a/docs/web/src/Rectangle/Rectangle.test.electron/manifest b/docs/web/src/Rectangle/Rectangle.test.electron/manifest deleted file mode 100644 index 4bc5e668..00000000 --- a/docs/web/src/Rectangle/Rectangle.test.electron/manifest +++ /dev/null @@ -1,10 +0,0 @@ -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png -/docs/web/src/Rectangle/Rectangle.test.electron/afterAll4-Default/afterAll.png \ No newline at end of file diff --git a/docs/web/src/Rectangle/Rectangle.test.electron/results.json b/docs/web/src/Rectangle/Rectangle.test.electron/results.json deleted file mode 100644 index 4f772c41..00000000 --- a/docs/web/src/Rectangle/Rectangle.test.electron/results.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "name": "Testing the Rectangle class", - "givens": [ - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4" - }, - { - "name": "setHeight: 9" - } - ], - "thens": [ - { - "name": "getWidth: 4", - "error": true - }, - { - "name": "getHeight: 9" - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected undefined to equal 4", - "showDiff": true, - "expected": 4, - "operator": "strictEqual", - "stack": "AssertionError: expected undefined to equal 4\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:59:48\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - }, - "AssertionError: expected undefined to equal 4\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:59:48\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setWidth: 4" - }, - { - "name": "setHeight: 5" - } - ], - "thens": [ - { - "name": "getWidth: 4", - "error": true - }, - { - "name": "getHeight: 5" - }, - { - "name": "area: 20" - }, - { - "name": "AreaPlusCircumference: 38" - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected undefined to equal 4", - "showDiff": true, - "expected": 4, - "operator": "strictEqual", - "stack": "AssertionError: expected undefined to equal 4\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:59:48\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - }, - "AssertionError: expected undefined to equal 4\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:59:48\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 4" - }, - { - "name": "setWidth: 3" - } - ], - "thens": [ - { - "name": "area: 12", - "error": true - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected NaN to equal 12", - "showDiff": true, - "actual": null, - "expected": 12, - "operator": "strictEqual", - "stack": "AssertionError: expected NaN to equal 12\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - }, - "AssertionError: expected NaN to equal 12\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 5" - }, - { - "name": "setWidth: 5" - } - ], - "thens": [ - { - "name": "area: 5", - "error": true - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected NaN to equal 5", - "showDiff": true, - "actual": null, - "expected": 5, - "operator": "strictEqual", - "stack": "AssertionError: expected NaN to equal 5\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - }, - "AssertionError: expected NaN to equal 5\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - ], - "features": [ - "hello" - ] - }, - { - "name": "Default", - "whens": [ - { - "name": "setHeight: 6" - }, - { - "name": "setWidth: 6" - } - ], - "thens": [ - { - "name": "area: 37", - "error": true - } - ], - "error": [ - { - "name": "AssertionError", - "message": "expected NaN to equal 37", - "showDiff": true, - "actual": null, - "expected": 37, - "operator": "strictEqual", - "stack": "AssertionError: expected NaN to equal 37\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - }, - "AssertionError: expected NaN to equal 37\n at file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs:61:43\n at Object.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:13:37)\n at Then.butThen (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:357:40)\n at Then.test (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:161:28)\n at Given.give (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:109:34)\n at async Testeranto.givenThat.run (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:55:22)\n at async file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:217:14\n at async Object.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:245:29)\n at async WebTesteranto.receiveTestResourceConfig (file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs:405:47)" - ], - "features": [ - "hello" - ] - } - ], - "fails": [] -} \ No newline at end of file diff --git a/docs/web/src/Rectangle/Rectangle.test.electron/stdout.log b/docs/web/src/Rectangle/Rectangle.test.electron/stdout.log index 26fcc78e..ed5cc7be 100644 --- a/docs/web/src/Rectangle/Rectangle.test.electron/stdout.log +++ b/docs/web/src/Rectangle/Rectangle.test.electron/stdout.log @@ -8,107 +8,107 @@ { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\"\\n}\"", + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\"\\n}\"", "line": 236, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"initial test resource [object Object]\"", - "line": 397, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "line": 409, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, - "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\"\\n}\"", + "message": "\"testResourceConfiguration {\\n \\\"name\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\",\\n \\\"ports\\\": \\\"\\\",\\n \\\"fs\\\": \\\"/Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron\\\"\\n}\"", "line": 236, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"test failed [object Object]\"", "line": 164, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"exiting gracefully with 5 failures.\"", - "line": 258, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "line": 255, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, "level": 1, "message": "\"exiting gracefully with 5 failures.\"", - "line": 258, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-HJQFDMFU.mjs" + "line": 255, + "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/chunk-T6BHAUR2.mjs" } { "event": {}, @@ -121,69 +121,6 @@ "event": {}, "level": 1, "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, - "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" -} -{ - "event": {}, - "level": 1, - "message": "\"[object Object]\"", - "line": 142, + "line": 141, "sourceId": "file:///Users/adam/Code/kokomoBay/docs/web/src/Rectangle/Rectangle.test.electron.mjs" } diff --git a/hello98.jpg b/hello98.jpg deleted file mode 100644 index e3e9ea247dd2a3660ca15496c717fc7926ac8510..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110359 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

Lb_{?ILEb+na& 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 (reactElem) => { + console.log("hello") assert.equal(reactElem.props.store.getState().error, "no_error"); }, }, diff --git a/src/LoginPage/react/web.test.tsx b/src/LoginPage/react/web.test.tsx index a579f1a1..f32f27df 100644 --- a/src/LoginPage/react/web.test.tsx +++ b/src/LoginPage/react/web.test.tsx @@ -11,19 +11,20 @@ export default test( LoginPageSpecs, LoginPage, { - afterAll: (store, artificer, utils: any) => { - const webContents = utils.getCurrentWebContents(); + afterAll: (store, artificer, utils) => { + const webContents = utils.webContents; - webContents.capturePage({ - x: 0, - y: 0, - width: 100, - height: 200 - }, (img) => { - artificer("hello.png", img.toPng()); - }).then((x) => { - console.log("done", x); - }); + // webContents.capturePage({ + // x: 0, + // y: 0, + // width: 100, + // height: 200 + // }, (img: { toPng: () => any; }) => { + // console.log("testing123") + // artificer("hello.png", img.toPng()); + // }).then((x) => { + // console.log("done", x); + // }); artificer("utils", "hellow orld"); // console.log("HELLO WORLD"); // console.log(store); diff --git a/src/ReactStateAndHook.test.tsx b/src/ReactStateAndHook.test.tsx index dac18db7..2b02688e 100644 --- a/src/ReactStateAndHook.test.tsx +++ b/src/ReactStateAndHook.test.tsx @@ -92,6 +92,7 @@ const Implementation: ITestImplementation< thens: { TheCounterIs: (counter) => (rtr) => { + console.log("hello state and hook") return assert.deepEqual( (rtr.toJSON() as { children: object[] }).children[0], { diff --git a/src/Rectangle.ts b/src/Rectangle.ts index 9394034b..7a8e5bfc 100644 --- a/src/Rectangle.ts +++ b/src/Rectangle.ts @@ -28,7 +28,7 @@ class Rectangle { } circumference(): number { - return this.width * 2 + this.height * 2; + return this.width * 2 + this.height * 22; } } diff --git a/src/Rectangle/Rectangle.test.node.ts b/src/Rectangle/Rectangle.test.node.ts index 7dbc8fdc..cfd2b15a 100644 --- a/src/Rectangle/Rectangle.test.node.ts +++ b/src/Rectangle/Rectangle.test.node.ts @@ -1,15 +1,17 @@ import Testeranto from "testeranto/src/SubPackages/puppeteer"; -import { - IPartialNodeInterface, - INodeTestInterface, - TBrowser -} from "testeranto/src/Types"; +// import { +// IPartialNodeInterface, +// INodeTestInterface, +// TBrowser +// } from "testeranto/src/Types"; import { IRectangleTestShape, RectangleTesterantoBaseTestImplementation, RectangleTesterantoBaseTestSpecification, } from "../../src/Rectangle.test"; +import { INodeTestInterface } from "../../../testeranto/src/lib/types"; +import { IPartialNodeInterface } from "testeranto/src/Types"; const testInterface: IPartialNodeInterface = { assertThis: (x) => { @@ -19,7 +21,7 @@ const testInterface: IPartialNodeInterface = { const page = (await browser.pages())[0];//.map((x) => x.url())); // === 'file:///Users/adam/Code/kokomoBay/dist/web/src/ClassicalComponent/test.html'))[0] console.log("page", page); await page.screenshot({ - path: 'hello98.jpg' + path: 'foobar.jpg' }) } } diff --git a/src/app.ts b/src/app.ts index 2b4e7f0e..04231a46 100644 --- a/src/app.ts +++ b/src/app.ts @@ -4,9 +4,7 @@ import { createSelector, createSlice, createStore } from "@reduxjs/toolkit"; console.log("hello world"); -import { - ILoginPageError, ILoginPageSelection -} from "./LoginPage"; +import { ILoginPageError, ILoginPageSelection } from "./LoginPage"; export type IStoreState = { password: string; @@ -29,7 +27,7 @@ export const loginApp = createSlice< signIn: (s: IStoreState) => void; } >({ - name: "my login app", + name: "my login app!", initialState, reducers: { reset: (state) => { diff --git a/testeranto.mts b/testeranto.mts index 356b439f..04ff5cb0 100644 --- a/testeranto.mts +++ b/testeranto.mts @@ -6,62 +6,16 @@ export default new ITProject({ outdir: "docs", features: "/Users/adam/Code/kokomoBay/features.test.mts", tests: [ - [ - "./src/LoginPage/react/web.test.tsx", - "web", - [] - ], - [ - "./src/LoginPage/react/node.test.tsx", - "node", - [] - ], - [ - "./src/LoginPage/react-test-renderer/web.test.tsx", - "web", - [] - ], - [ - "./src/LoginPage/react-test-renderer/node.test.tsx", - "node", - [] - ], - [ - "./src/ReactStateAndHook.test.tsx", - "node", - [] - ], - [ - "./src/app.reduxToolkit.test.ts", - "node", - [] - ], - [ - "./src/app.redux.test.ts", - "node", - [] - ], - [ - "./src/Rectangle/Rectangle.test.electron.ts", - "web", - [] - ], - [ - "./src/Rectangle/Rectangle.test.node.ts", - "node", - [ - [ - "./src/ClassicalComponent/test.ts", - "web", - [] - ] - ] - ], - [ - "./src/MyFirstContract.solidity-precompiled.test.ts", - "node", - [] - ], + ["./src/LoginPage/react/web.test.tsx", "web", []], + ["./src/LoginPage/react/node.test.tsx", "node", []], + ["./src/LoginPage/react-test-renderer/web.test.tsx", "web", []], + ["./src/LoginPage/react-test-renderer/node.test.tsx", "node", []], + ["./src/ReactStateAndHook.test.tsx", "node", []], + ["./src/app.reduxToolkit.test.ts", "node", []], + ["./src/app.redux.test.ts", "node", []], + ["./src/Rectangle/Rectangle.test.electron.ts", "web", []], + + ["./src/MyFirstContract.solidity-precompiled.test.ts", "node", []], // broken // [ @@ -69,35 +23,42 @@ export default new ITProject({ // "node", // [] // ], + // [ + // "./src/Rectangle/Rectangle.test.node.ts", + // "node", + // [ + // [ + // "./src/ClassicalComponent/test.ts", + // "web", + // [] + // ] + // ] + // ], ], debugger: true, clearScreen: false, devMode: true, - // + // // tests: 'tests.test.mts', minify: false, outbase: ".", - externals: [ - "ganache", - "stream" - ], + externals: ["ganache", "stream"], ports: ["3001", "3002", "3003", "3004", "3005", "3006", "3007"], webPlugins: [], nodePlugins: [ { - name: 'ganache-shim', + name: "ganache-shim", setup(build) { - build.onResolve({ filter: /.*/ }, args => { + build.onResolve({ filter: /.*/ }, (args) => { // console.log("mark4", args.path); - // return ({ // path: "MyFirstContract", // namespace: 'ganache-shim', // }) - }) + }); // build.onLoad({ filter: /.*/, namespace: 'ganache-shim' }, async (argz) => { // return ({ // contents: JSON.stringify((await solCompile(argz.path))), @@ -109,22 +70,22 @@ export default new ITProject({ }, { - name: 'solidity', + name: "solidity", setup(build) { - build.onResolve({ filter: /^.*\.sol$/ }, args => { - return ({ + build.onResolve({ filter: /^.*\.sol$/ }, (args) => { + return { path: "MyFirstContract", - namespace: 'solidity', - }) - }) - build.onLoad({ filter: /.*/, namespace: 'solidity' }, async (argz) => { - return ({ - contents: JSON.stringify((await solCompile(argz.path))), - loader: 'json', - watchDirs: [process.cwd() + "/contracts"] - }) - }) + namespace: "solidity", + }; + }); + build.onLoad({ filter: /.*/, namespace: "solidity" }, async (argz) => { + return { + contents: JSON.stringify(await solCompile(argz.path)), + loader: "json", + watchDirs: [process.cwd() + "/contracts"], + }; + }); }, - } - ] + }, + ], });