@harperfast/harper 5.0.0-alpha.10 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/BinObjects.js +17 -0
- package/bin/cliOperations.js +157 -0
- package/bin/copyDb.ts +280 -0
- package/bin/harper.js +156 -0
- package/bin/install.js +15 -0
- package/bin/lite.js +5 -0
- package/bin/restart.js +201 -0
- package/bin/run.js +409 -0
- package/bin/status.js +65 -0
- package/bin/stop.js +22 -0
- package/bin/upgrade.js +134 -0
- package/components/Application.ts +646 -0
- package/components/ApplicationScope.ts +49 -0
- package/components/Component.ts +53 -0
- package/components/ComponentV1.ts +342 -0
- package/components/DEFAULT_CONFIG.ts +18 -0
- package/components/EntryHandler.ts +227 -0
- package/components/Logger.ts +14 -0
- package/components/OptionsWatcher.ts +354 -0
- package/components/PluginModule.ts +6 -0
- package/components/Scope.ts +329 -0
- package/components/componentLoader.ts +529 -0
- package/components/deriveCommonPatternBase.ts +31 -0
- package/components/deriveGlobOptions.ts +44 -0
- package/components/deriveURLPath.ts +57 -0
- package/components/operations.js +658 -0
- package/components/operationsValidation.js +246 -0
- package/components/packageComponent.ts +39 -0
- package/components/requestRestart.ts +26 -0
- package/components/resolveBaseURLPath.ts +38 -0
- package/components/status/ComponentStatus.ts +110 -0
- package/components/status/ComponentStatusRegistry.ts +251 -0
- package/components/status/api.ts +153 -0
- package/components/status/crossThread.ts +405 -0
- package/components/status/errors.ts +152 -0
- package/components/status/index.ts +44 -0
- package/components/status/internal.ts +65 -0
- package/components/status/registry.ts +12 -0
- package/components/status/types.ts +96 -0
- package/config/RootConfigWatcher.ts +59 -0
- package/config/configHelpers.ts +11 -0
- package/config/configUtils.js +967 -0
- package/config/harperConfigEnvVars.ts +641 -0
- package/dataLayer/CreateAttributeObject.js +25 -0
- package/dataLayer/CreateTableObject.js +11 -0
- package/dataLayer/DataLayerObjects.js +43 -0
- package/dataLayer/DeleteBeforeObject.js +22 -0
- package/dataLayer/DeleteObject.js +25 -0
- package/dataLayer/DropAttributeObject.js +11 -0
- package/dataLayer/GetBackupObject.js +22 -0
- package/dataLayer/InsertObject.js +24 -0
- package/dataLayer/ReadAuditLogObject.js +24 -0
- package/dataLayer/SQLSearch.js +1335 -0
- package/dataLayer/SearchByConditionsObject.js +61 -0
- package/dataLayer/SearchByHashObject.js +21 -0
- package/dataLayer/SearchObject.js +45 -0
- package/dataLayer/SqlSearchObject.js +14 -0
- package/dataLayer/UpdateObject.js +23 -0
- package/dataLayer/UpsertObject.js +23 -0
- package/dataLayer/bulkLoad.js +813 -0
- package/dataLayer/dataObjects/BulkLoadObjects.js +27 -0
- package/dataLayer/dataObjects/UpsertObject.js +23 -0
- package/dataLayer/delete.js +164 -0
- package/dataLayer/export.js +381 -0
- package/dataLayer/getBackup.js +40 -0
- package/dataLayer/harperBridge/BridgeMethods.js +81 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +633 -0
- package/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js +28 -0
- package/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +88 -0
- package/dataLayer/harperBridge/harperBridge.js +21 -0
- package/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js +119 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +19 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +112 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +67 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +31 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +94 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +98 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +89 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +109 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +107 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +137 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +35 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +111 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +28 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +29 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +207 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +156 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +21 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +30 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js +19 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +64 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +70 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +22 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js +23 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js +22 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js +23 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js +24 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js +24 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +25 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +21 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +157 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +94 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +39 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +34 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +100 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +371 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +109 -0
- package/dataLayer/hdbInfoController.js +254 -0
- package/dataLayer/insert.js +266 -0
- package/dataLayer/readAuditLog.js +59 -0
- package/dataLayer/schema.js +366 -0
- package/dataLayer/schemaDescribe.js +289 -0
- package/dataLayer/search.js +60 -0
- package/dataLayer/transaction.js +17 -0
- package/dataLayer/update.js +124 -0
- package/dist/components/Logger.d.ts +12 -0
- package/dist/components/Logger.js +3 -0
- package/dist/components/Logger.js.map +1 -0
- package/dist/components/Scope.d.ts +14 -4
- package/dist/components/Scope.js +18 -10
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +16 -9
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/operations.js +2 -2
- package/dist/components/operations.js.map +1 -1
- package/dist/config/configUtils.d.ts +1 -1
- package/dist/config/configUtils.js +1 -1
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/CreateTableObject.d.ts +2 -2
- package/dist/dataLayer/CreateTableObject.js +2 -2
- package/dist/dataLayer/CreateTableObject.js.map +1 -1
- package/dist/dataLayer/delete.d.ts +1 -1
- package/dist/dataLayer/schema.js +6 -5
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +1 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +1 -1
- package/dist/resources/IterableEventQueue.d.ts +1 -1
- package/dist/resources/LMDBTransaction.d.ts +5 -1
- package/dist/resources/Resource.d.ts +1 -1
- package/dist/resources/RocksIndexStore.d.ts +3 -3
- package/dist/resources/RocksTransactionLogStore.d.ts +6 -3
- package/dist/resources/Table.d.ts +15 -6
- package/dist/resources/Table.js +4 -1
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/read.js +32 -22
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/analytics/write.js +3 -6
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +3 -3
- package/dist/resources/blob.d.ts +25 -2
- package/dist/resources/databases.d.ts +12 -2
- package/dist/resources/databases.js +22 -19
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/search.js +11 -5
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/transaction.d.ts +2 -1
- package/dist/security/auth.js +1 -1
- package/dist/security/auth.js.map +1 -1
- package/dist/security/cryptoHash.d.ts +2 -2
- package/dist/security/jsLoader.js +243 -66
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +4 -5
- package/dist/security/keys.js.map +1 -1
- package/dist/security/user.js +3 -3
- package/dist/security/user.js.map +1 -1
- package/dist/server/REST.js +16 -2
- package/dist/server/REST.js.map +1 -1
- package/dist/server/Server.d.ts +2 -1
- package/dist/server/Server.js.map +1 -1
- package/dist/server/fastifyRoutes/plugins/hdbCore.d.ts +6 -1
- package/dist/server/fastifyRoutes.js +2 -0
- package/dist/server/fastifyRoutes.js.map +1 -1
- package/dist/server/http.js +12 -6
- package/dist/server/http.js.map +1 -1
- package/dist/server/jobs/JobObject.d.ts +3 -3
- package/dist/server/loadRootComponents.js +1 -0
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/operationsServer.js +3 -1
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/JSONStream.d.ts +3 -3
- package/dist/server/serverHelpers/Request.d.ts +5 -5
- package/dist/server/serverHelpers/requestTimePlugin.d.ts +1 -1
- package/dist/server/threads/manageThreads.d.ts +2 -2
- package/dist/server/threads/manageThreads.js +50 -35
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -1
- package/dist/sqlTranslator/deleteTranslator.d.ts +1 -1
- package/dist/utility/AWS/AWSConnector.d.ts +3 -2
- package/dist/utility/common_utils.d.ts +3 -3
- package/dist/utility/environment/systemInformation.d.ts +1 -0
- package/dist/utility/functions/date/dateFunctions.d.ts +11 -11
- package/dist/utility/globalSchema.d.ts +1 -1
- package/dist/utility/hdbTerms.d.ts +3 -0
- package/dist/utility/hdbTerms.js +3 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/installation.d.ts +2 -4
- package/dist/utility/installation.js.map +1 -1
- package/dist/utility/lmdb/commonUtility.d.ts +1 -0
- package/dist/utility/lmdb/deleteUtility.d.ts +1 -0
- package/dist/utility/lmdb/environmentUtility.d.ts +1 -0
- package/dist/utility/lmdb/searchUtility.d.ts +2 -1
- package/dist/utility/lmdb/writeUtility.d.ts +1 -0
- package/dist/utility/logging/harper_logger.d.ts +6 -6
- package/dist/utility/processManagement/processManagement.d.ts +1 -1
- package/dist/utility/processManagement/servicesConfig.d.ts +12 -6
- package/dist/validation/common_validators.d.ts +4 -3
- package/dist/validation/configValidator.d.ts +3 -2
- package/index.d.ts +56 -0
- package/index.js +41 -0
- package/json/systemSchema.json +373 -0
- package/launchServiceScripts/launchHarperDB.js +3 -0
- package/launchServiceScripts/utility/checkNodeVersion.js +15 -0
- package/package.json +21 -3
- package/resources/DatabaseTransaction.ts +378 -0
- package/resources/ErrorResource.ts +57 -0
- package/resources/IterableEventQueue.ts +94 -0
- package/resources/LMDBTransaction.ts +349 -0
- package/resources/RecordEncoder.ts +702 -0
- package/resources/RequestTarget.ts +134 -0
- package/resources/Resource.ts +789 -0
- package/resources/ResourceInterface.ts +221 -0
- package/resources/ResourceInterfaceV2.ts +53 -0
- package/resources/ResourceV2.ts +67 -0
- package/resources/Resources.ts +162 -0
- package/resources/RocksIndexStore.ts +70 -0
- package/resources/RocksTransactionLogStore.ts +352 -0
- package/resources/Table.ts +4527 -0
- package/resources/analytics/hostnames.ts +72 -0
- package/resources/analytics/metadata.ts +10 -0
- package/resources/analytics/read.ts +252 -0
- package/resources/analytics/write.ts +803 -0
- package/resources/auditStore.ts +556 -0
- package/resources/blob.ts +1268 -0
- package/resources/crdt.ts +125 -0
- package/resources/dataLoader.ts +527 -0
- package/resources/databases.ts +1290 -0
- package/resources/graphql.ts +221 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +638 -0
- package/resources/indexes/customIndexes.ts +7 -0
- package/resources/indexes/vector.ts +38 -0
- package/resources/jsResource.ts +86 -0
- package/resources/loadEnv.ts +22 -0
- package/resources/login.ts +18 -0
- package/resources/openApi.ts +409 -0
- package/resources/registrationDeprecated.ts +8 -0
- package/resources/replayLogs.ts +136 -0
- package/resources/roles.ts +98 -0
- package/resources/search.ts +1301 -0
- package/resources/tracked.ts +584 -0
- package/resources/transaction.ts +89 -0
- package/resources/transactionBroadcast.ts +258 -0
- package/security/auth.ts +376 -0
- package/security/certificateVerification/certificateVerificationSource.ts +84 -0
- package/security/certificateVerification/configValidation.ts +107 -0
- package/security/certificateVerification/crlVerification.ts +623 -0
- package/security/certificateVerification/index.ts +121 -0
- package/security/certificateVerification/ocspVerification.ts +148 -0
- package/security/certificateVerification/pkijs-ed25519-patch.ts +188 -0
- package/security/certificateVerification/types.ts +128 -0
- package/security/certificateVerification/verificationConfig.ts +138 -0
- package/security/certificateVerification/verificationUtils.ts +447 -0
- package/security/cryptoHash.js +42 -0
- package/security/data_objects/PermissionAttributeResponseObject.js +15 -0
- package/security/data_objects/PermissionResponseObject.js +115 -0
- package/security/data_objects/PermissionTableResponseObject.js +20 -0
- package/security/fastifyAuth.js +169 -0
- package/security/impersonation.ts +160 -0
- package/security/jsLoader.ts +716 -0
- package/security/keys.js +948 -0
- package/security/permissionsTranslator.js +300 -0
- package/security/role.js +218 -0
- package/security/tokenAuthentication.ts +228 -0
- package/security/user.ts +449 -0
- package/server/DurableSubscriptionsSession.ts +503 -0
- package/server/REST.ts +407 -0
- package/server/Server.ts +89 -0
- package/server/fastifyRoutes/helpers/getCORSOptions.js +36 -0
- package/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +15 -0
- package/server/fastifyRoutes/helpers/getServerOptions.js +33 -0
- package/server/fastifyRoutes/plugins/hdbCore.js +39 -0
- package/server/fastifyRoutes.ts +205 -0
- package/server/graphqlQuerying.ts +700 -0
- package/server/http.ts +640 -0
- package/server/itc/serverHandlers.js +161 -0
- package/server/itc/utility/ITCEventObject.js +10 -0
- package/server/jobs/JobObject.js +24 -0
- package/server/jobs/jobProcess.js +69 -0
- package/server/jobs/jobRunner.js +162 -0
- package/server/jobs/jobs.js +304 -0
- package/server/loadRootComponents.js +44 -0
- package/server/mqtt.ts +485 -0
- package/server/nodeName.ts +75 -0
- package/server/operationsServer.ts +313 -0
- package/server/serverHelpers/Headers.ts +108 -0
- package/server/serverHelpers/JSONStream.ts +269 -0
- package/server/serverHelpers/OperationFunctionObject.ts +13 -0
- package/server/serverHelpers/Request.ts +158 -0
- package/server/serverHelpers/contentTypes.ts +637 -0
- package/server/serverHelpers/requestTimePlugin.js +57 -0
- package/server/serverHelpers/serverHandlers.js +148 -0
- package/server/serverHelpers/serverUtilities.ts +473 -0
- package/server/serverRegistry.ts +8 -0
- package/server/static.ts +187 -0
- package/server/status/definitions.ts +37 -0
- package/server/status/index.ts +125 -0
- package/server/storageReclamation.ts +93 -0
- package/server/threads/itc.js +89 -0
- package/server/threads/manageThreads.js +594 -0
- package/server/threads/socketRouter.ts +360 -0
- package/server/threads/threadServer.js +279 -0
- package/server/throttle.ts +73 -0
- package/sqlTranslator/SelectValidator.js +330 -0
- package/sqlTranslator/alasqlFunctionImporter.js +62 -0
- package/sqlTranslator/deleteTranslator.js +67 -0
- package/sqlTranslator/index.js +242 -0
- package/sqlTranslator/sql_statement_bucket.js +472 -0
- package/static/defaultConfig.yaml +3 -0
- package/studio/web/HDBDogOnly.svg +78 -0
- package/studio/web/assets/PPRadioGrotesk-Bold-DDaUYG8E.woff +0 -0
- package/studio/web/assets/fa-brands-400-CEJbCg16.woff +0 -0
- package/studio/web/assets/fa-brands-400-CSYNqBb_.ttf +0 -0
- package/studio/web/assets/fa-brands-400-DnkPfk3o.eot +0 -0
- package/studio/web/assets/fa-brands-400-UxlILjvJ.woff2 +0 -0
- package/studio/web/assets/fa-brands-400-cH1MgKbP.svg +3717 -0
- package/studio/web/assets/fa-regular-400-BhTwtT8w.eot +0 -0
- package/studio/web/assets/fa-regular-400-D1vz6WBx.ttf +0 -0
- package/studio/web/assets/fa-regular-400-DFnMcJPd.woff +0 -0
- package/studio/web/assets/fa-regular-400-DGzu1beS.woff2 +0 -0
- package/studio/web/assets/fa-regular-400-gwj8Pxq-.svg +801 -0
- package/studio/web/assets/fa-solid-900-B4ZZ7kfP.svg +5034 -0
- package/studio/web/assets/fa-solid-900-B6Axprfb.eot +0 -0
- package/studio/web/assets/fa-solid-900-BUswJgRo.woff2 +0 -0
- package/studio/web/assets/fa-solid-900-DOXgCApm.woff +0 -0
- package/studio/web/assets/fa-solid-900-mxuxnBEa.ttf +0 -0
- package/studio/web/assets/index-BTgXJX9d.js +235 -0
- package/studio/web/assets/index-BTgXJX9d.js.map +1 -0
- package/studio/web/assets/index-C-GXfcup.js +37 -0
- package/studio/web/assets/index-C-GXfcup.js.map +1 -0
- package/studio/web/assets/index-PFlNdimM.js +2 -0
- package/studio/web/assets/index-PFlNdimM.js.map +1 -0
- package/studio/web/assets/index-Y2g_iFpU.css +1 -0
- package/studio/web/assets/index-jiPwkrsB.css +1 -0
- package/studio/web/assets/index.lazy-C3TJZJ4o.js +266 -0
- package/studio/web/assets/index.lazy-C3TJZJ4o.js.map +1 -0
- package/studio/web/assets/profiler-DotzgiCJ.js +2 -0
- package/studio/web/assets/profiler-DotzgiCJ.js.map +1 -0
- package/studio/web/assets/react-redux-VxUEx_mU.js +6 -0
- package/studio/web/assets/react-redux-VxUEx_mU.js.map +1 -0
- package/studio/web/assets/startRecording-B_9J9Csd.js +3 -0
- package/studio/web/assets/startRecording-B_9J9Csd.js.map +1 -0
- package/studio/web/fabric-signup-background.webp +0 -0
- package/studio/web/fabric-signup-text.png +0 -0
- package/studio/web/favicon_purple.png +0 -0
- package/studio/web/github-icon.svg +15 -0
- package/studio/web/harper-fabric_black.png +0 -0
- package/studio/web/harper-fabric_white.png +0 -0
- package/studio/web/harper-studio_white.png +0 -0
- package/studio/web/index.html +16 -0
- package/studio/web/running.css +148 -0
- package/studio/web/running.html +147 -0
- package/studio/web/running.js +111 -0
- package/upgrade/UpgradeObjects.js +13 -0
- package/upgrade/directives/directivesController.js +90 -0
- package/upgrade/directivesManager.js +139 -0
- package/upgrade/upgradePrompt.js +124 -0
- package/upgrade/upgradeUtilities.js +28 -0
- package/utility/AWS/AWSConnector.js +29 -0
- package/utility/OperationFunctionCaller.js +63 -0
- package/utility/assignCmdEnvVariables.js +62 -0
- package/utility/common_utils.js +867 -0
- package/utility/environment/environmentManager.js +208 -0
- package/utility/environment/systemInformation.js +355 -0
- package/utility/errors/commonErrors.js +267 -0
- package/utility/errors/hdbError.js +146 -0
- package/utility/functions/date/dateFunctions.js +65 -0
- package/utility/functions/geo.js +355 -0
- package/utility/functions/sql/alaSQLExtension.js +104 -0
- package/utility/globalSchema.js +35 -0
- package/utility/hdbTerms.ts +819 -0
- package/utility/install/checkJWTTokensExist.js +62 -0
- package/utility/install/harperdb.conf +15 -0
- package/utility/install/harperdb.service +14 -0
- package/utility/install/installer.js +635 -0
- package/utility/installation.ts +30 -0
- package/utility/lmdb/DBIDefinition.js +20 -0
- package/utility/lmdb/DeleteRecordsResponseObject.js +25 -0
- package/utility/lmdb/InsertRecordsResponseObject.js +22 -0
- package/utility/lmdb/OpenDBIObject.js +31 -0
- package/utility/lmdb/OpenEnvironmentObject.js +41 -0
- package/utility/lmdb/UpdateRecordsResponseObject.js +25 -0
- package/utility/lmdb/UpsertRecordsResponseObject.js +22 -0
- package/utility/lmdb/cleanLMDBMap.js +65 -0
- package/utility/lmdb/commonUtility.js +119 -0
- package/utility/lmdb/deleteUtility.js +128 -0
- package/utility/lmdb/environmentUtility.js +477 -0
- package/utility/lmdb/searchCursorFunctions.js +187 -0
- package/utility/lmdb/searchUtility.js +918 -0
- package/utility/lmdb/terms.js +57 -0
- package/utility/lmdb/writeUtility.js +407 -0
- package/utility/logging/harper_logger.js +876 -0
- package/utility/logging/logRotator.js +157 -0
- package/utility/logging/logger.ts +24 -0
- package/utility/logging/readLog.js +355 -0
- package/utility/logging/transactionLog.js +57 -0
- package/utility/mount_hdb.js +59 -0
- package/utility/npmUtilities.js +102 -0
- package/utility/operationPermissions.ts +112 -0
- package/utility/operation_authorization.js +836 -0
- package/utility/packageUtils.js +55 -0
- package/utility/password.ts +99 -0
- package/utility/processManagement/processManagement.js +187 -0
- package/utility/processManagement/servicesConfig.js +56 -0
- package/utility/scripts/restartHdb.js +24 -0
- package/utility/scripts/user_data.sh +13 -0
- package/utility/signalling.js +36 -0
- package/utility/terms/certificates.js +81 -0
- package/utility/when.ts +20 -0
- package/v1.d.ts +39 -0
- package/v1.js +41 -0
- package/v2.d.ts +39 -0
- package/v2.js +41 -0
- package/validation/bulkDeleteValidator.js +24 -0
- package/validation/check_permissions.js +19 -0
- package/validation/common_validators.js +95 -0
- package/validation/configValidator.js +331 -0
- package/validation/deleteValidator.js +15 -0
- package/validation/fileLoadValidator.js +153 -0
- package/validation/insertValidator.js +40 -0
- package/validation/installValidator.js +37 -0
- package/validation/readLogValidator.js +64 -0
- package/validation/role_validation.js +320 -0
- package/validation/schemaMetadataValidator.js +42 -0
- package/validation/searchValidator.js +166 -0
- package/validation/statusValidator.ts +66 -0
- package/validation/transactionLogValidator.js +33 -0
- package/validation/user_validation.js +55 -0
- package/validation/validationWrapper.js +105 -0
- package/dist/resources/analytics/profile.d.ts +0 -2
- package/dist/resources/analytics/profile.js +0 -144
- package/dist/resources/analytics/profile.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{Y as createHttpRequest,an as jsonStringify,ao as objectEntries,_ as addTelemetryDebug,ap as buildTags,aq as currentDrift,ar as createValueHistory,as as RumPerformanceEntryType,at as RumLongTaskEntryType,au as addDuration,av as SESSION_TIME_OUT_DELAY,aw as mockable,z as addEventListener,ax as getGlobalObject,ay as display,U as setTimeout,az as clocksNow,T as clearTimeout,l as elapsed,aA as clocksOrigin,aB as monitorError}from"./index-BTgXJX9d.js";function createFormDataTransport(configuration,lifeCycle,createEncoder,streamId){const reportError=__name(error=>{lifeCycle.notify(14,{error}),addTelemetryDebug("Error reported to customer",{"error.message":error.message})},"reportError"),httpRequest=createHttpRequest([configuration.profilingEndpointBuilder],reportError),encoder=createEncoder(streamId);return{async send({event,...attachments}){const formData=new FormData,serializedEvent=jsonStringify(event);if(!serializedEvent)throw new Error("Failed to serialize event");formData.append("event",new Blob([serializedEvent],{type:"application/json"}),"event.json");let bytesCount=serializedEvent.length;for(const[key,value]of objectEntries(attachments)){const serializedValue=jsonStringify(value);if(!serializedValue)throw new Error("Failed to serialize attachment");const result=await encode(encoder,serializedValue);bytesCount+=result.outputBytesCount,formData.append(key,new Blob([result.output]),key)}httpRequest.send({data:formData,bytesCount})}}}__name(createFormDataTransport,"createFormDataTransport");function encode(encoder,data){return new Promise(resolve=>{encoder.write(data),encoder.finish(encoderResult=>{resolve(encoderResult)})})}__name(encode,"encode");function getNumberOfSamples(samples){let numberOfSamples=0;for(const sample of samples)sample.stackId!==void 0&&numberOfSamples++;return numberOfSamples}__name(getNumberOfSamples,"getNumberOfSamples");const PATH_MIXED_ALPHANUMERICS=/\/(?![vV]\d{1,2}\/)([^/\d?]*\d+[^/?]*)/g;function getDefaultViewName(viewPathUrl){return viewPathUrl?viewPathUrl.replace(PATH_MIXED_ALPHANUMERICS,"/?"):"/"}__name(getDefaultViewName,"getDefaultViewName");const getCustomOrDefaultViewName=__name((customViewName,viewPathUrl)=>customViewName||getDefaultViewName(viewPathUrl),"getCustomOrDefaultViewName");function buildProfileEventAttributes(profilerTrace,applicationId,sessionId){const{ids,names}=extractViewIdsAndNames(profilerTrace.views),longTaskIds=profilerTrace.longTasks.map(longTask=>longTask.id).filter(id=>id!==void 0),attributes={application:{id:applicationId}};return sessionId&&(attributes.session={id:sessionId}),ids.length&&(attributes.view={id:ids,name:names}),longTaskIds.length&&(attributes.long_task={id:longTaskIds}),attributes}__name(buildProfileEventAttributes,"buildProfileEventAttributes");function extractViewIdsAndNames(views){const result={ids:[],names:[]};for(const view of views)result.ids.push(view.viewId),view.viewName&&result.names.push(view.viewName);return result.names=Array.from(new Set(result.names)),result}__name(extractViewIdsAndNames,"extractViewIdsAndNames");function assembleProfilingPayload(profilerTrace,configuration,sessionId){return{event:buildProfileEvent(profilerTrace,configuration,sessionId),"wall-time.json":profilerTrace}}__name(assembleProfilingPayload,"assembleProfilingPayload");function buildProfileEvent(profilerTrace,configuration,sessionId){const tags=buildTags(configuration),profileAttributes=buildProfileEventAttributes(profilerTrace,configuration.applicationId,sessionId),profileEventTags=buildProfileEventTags(tags);return{...profileAttributes,attachments:["wall-time.json"],start:new Date(profilerTrace.startClocks.timeStamp).toISOString(),end:new Date(profilerTrace.endClocks.timeStamp).toISOString(),family:"chrome",runtime:"chrome",format:"json",version:4,tags_profiler:profileEventTags.join(","),_dd:{clock_drift:currentDrift()}}}__name(buildProfileEvent,"buildProfileEvent");function buildProfileEventTags(tags){return tags.concat(["language:javascript","runtime:chrome","family:chrome","host:browser"])}__name(buildProfileEventTags,"buildProfileEventTags");const LONG_TASK_ID_HISTORY_EXPIRE_DELAY=SESSION_TIME_OUT_DELAY;function createLongTaskHistory(lifeCycle){const history=createValueHistory({expireDelay:LONG_TASK_ID_HISTORY_EXPIRE_DELAY});return lifeCycle.subscribe(12,({rawRumEvent,startClocks,duration})=>{rawRumEvent.type==="long_task"&&history.add({id:rawRumEvent.long_task.id,startClocks,duration,entryType:rawRumEvent.long_task.entry_type===RumLongTaskEntryType.LONG_TASK?RumPerformanceEntryType.LONG_TASK:RumPerformanceEntryType.LONG_ANIMATION_FRAME},startClocks.relative).close(addDuration(startClocks.relative,duration))}),history}__name(createLongTaskHistory,"createLongTaskHistory");const DEFAULT_RUM_PROFILER_CONFIGURATION={sampleIntervalMs:10,collectIntervalMs:6e4,minProfileDurationMs:5e3,minNumberOfSamples:50};function createRumProfiler(configuration,lifeCycle,session,profilingContextManager,createEncoder,viewHistory,profilerConfiguration=DEFAULT_RUM_PROFILER_CONFIGURATION){const transport=createFormDataTransport(configuration,lifeCycle,createEncoder,6);let lastViewEntry;const globalCleanupTasks=[],longTaskHistory=mockable(createLongTaskHistory)(lifeCycle);let instance={state:"stopped",stateReason:"initializing"};lifeCycle.subscribe(9,()=>{stopProfiling("session-expired")}),lifeCycle.subscribe(10,()=>{instance.state==="stopped"&&instance.stateReason==="session-expired"&&start()});function start(){if(instance.state==="running")return;const viewEntry=viewHistory.findView();lastViewEntry=viewEntry?{startClocks:viewEntry.startClocks,viewId:viewEntry.id,viewName:getCustomOrDefaultViewName(viewEntry.name,document.location.pathname)}:void 0,globalCleanupTasks.push(addEventListener(configuration,window,"visibilitychange",handleVisibilityChange).stop,addEventListener(configuration,window,"beforeunload",handleBeforeUnload).stop),startNextProfilerInstance()}__name(start,"start");function stop(){stopProfiling("stopped-by-user")}__name(stop,"stop");function stopProfiling(reason){stopProfilerInstance(reason),globalCleanupTasks.forEach(task=>task()),globalCleanupTasks.length=0,profilingContextManager.set({status:"stopped",error_reason:void 0})}__name(stopProfiling,"stopProfiling");function addEventListeners(existingInstance){if(existingInstance.state==="running")return{cleanupTasks:existingInstance.cleanupTasks};const cleanupTasks=[],viewUpdatedSubscription=lifeCycle.subscribe(2,view=>{const viewEntry={viewId:view.id,viewName:getCustomOrDefaultViewName(view.name,document.location.pathname),startClocks:view.startClocks};collectViewEntry(viewEntry),lastViewEntry=viewEntry});return cleanupTasks.push(viewUpdatedSubscription.unsubscribe),{cleanupTasks}}__name(addEventListeners,"addEventListeners");function startNextProfilerInstance(){const globalThisProfiler=getGlobalObject().Profiler;if(!globalThisProfiler)throw profilingContextManager.set({status:"error",error_reason:"not-supported-by-browser"}),new Error("RUM Profiler is not supported in this browser.");instance.state==="running"&&collectProfilerInstance(instance);const{cleanupTasks}=addEventListeners(instance);let profiler;try{profiler=new globalThisProfiler({sampleInterval:profilerConfiguration.sampleIntervalMs,maxBufferSize:Math.round(profilerConfiguration.collectIntervalMs*1.5/profilerConfiguration.sampleIntervalMs)})}catch(e){e instanceof Error&&e.message.includes("disabled by Document Policy")?(display.warn("[DD_RUM] Profiler startup failed. Ensure your server includes the `Document-Policy: js-profiling` response header when serving HTML pages.",e),profilingContextManager.set({status:"error",error_reason:"missing-document-policy-header"})):profilingContextManager.set({status:"error",error_reason:"unexpected-exception"});return}profilingContextManager.set({status:"running",error_reason:void 0}),instance={state:"running",startClocks:clocksNow(),profiler,timeoutId:setTimeout(startNextProfilerInstance,profilerConfiguration.collectIntervalMs),views:[],cleanupTasks,longTasks:[]},collectViewEntry(lastViewEntry),profiler.addEventListener("samplebufferfull",handleSampleBufferFull)}__name(startNextProfilerInstance,"startNextProfilerInstance");function collectProfilerInstance(runningInstance){clearTimeout(runningInstance.timeoutId),runningInstance.profiler.removeEventListener("samplebufferfull",handleSampleBufferFull);const{startClocks,views}=runningInstance;runningInstance.profiler.stop().then(trace=>{const endClocks=clocksNow(),duration=elapsed(startClocks.timeStamp,endClocks.timeStamp),longTasks=longTaskHistory.findAll(startClocks.relative,duration),isBelowDurationThreshold=duration<profilerConfiguration.minProfileDurationMs,isBelowSampleThreshold=getNumberOfSamples(trace.samples)<profilerConfiguration.minNumberOfSamples;longTasks.length===0&&(isBelowDurationThreshold||isBelowSampleThreshold)||handleProfilerTrace(Object.assign(trace,{startClocks,endClocks,clocksOrigin:clocksOrigin(),longTasks,views,sampleInterval:profilerConfiguration.sampleIntervalMs}))}).catch(monitorError)}__name(collectProfilerInstance,"collectProfilerInstance");function stopProfilerInstance(stateReason){if(instance.state!=="running"){(instance.state==="paused"||instance.state==="stopped"&&stateReason==="stopped-by-user")&&(instance={state:"stopped",stateReason});return}const runningInstance=instance;instance={state:"stopped",stateReason},runningInstance.cleanupTasks.forEach(cleanupTask=>cleanupTask()),collectProfilerInstance(runningInstance)}__name(stopProfilerInstance,"stopProfilerInstance");function pauseProfilerInstance(){if(instance.state!=="running")return;const runningInstance=instance;instance={state:"paused"},runningInstance.cleanupTasks.forEach(cleanupTask=>cleanupTask()),collectProfilerInstance(runningInstance)}__name(pauseProfilerInstance,"pauseProfilerInstance");function collectViewEntry(viewEntry){instance.state!=="running"||!viewEntry||instance.views.push(viewEntry)}__name(collectViewEntry,"collectViewEntry");function handleProfilerTrace(trace){var _a;const sessionId=(_a=session.findTrackedSession())===null||_a===void 0?void 0:_a.id,payload=assembleProfilingPayload(trace,configuration,sessionId);transport.send(payload)}__name(handleProfilerTrace,"handleProfilerTrace");function handleSampleBufferFull(){startNextProfilerInstance()}__name(handleSampleBufferFull,"handleSampleBufferFull");function handleVisibilityChange(){document.visibilityState==="hidden"&&instance.state==="running"?pauseProfilerInstance():document.visibilityState==="visible"&&instance.state==="paused"&&startNextProfilerInstance()}__name(handleVisibilityChange,"handleVisibilityChange");function handleBeforeUnload(){startNextProfilerInstance()}__name(handleBeforeUnload,"handleBeforeUnload");function isStopped(){return instance.state==="stopped"}__name(isStopped,"isStopped");function isRunning(){return instance.state==="running"}__name(isRunning,"isRunning");function isPaused(){return instance.state==="paused"}return __name(isPaused,"isPaused"),{start,stop,isStopped,isRunning,isPaused}}__name(createRumProfiler,"createRumProfiler");export{DEFAULT_RUM_PROFILER_CONFIGURATION,createRumProfiler};
|
|
2
|
+
//# sourceMappingURL=profiler-DotzgiCJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiler-DotzgiCJ.js","sources":["../../node_modules/.pnpm/@datadog+browser-rum-core@6.28.1/node_modules/@datadog/browser-rum-core/esm/transport/formDataTransport.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/utils/getNumberOfSamples.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/utils/getDefaultViewName.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/utils/getCustomOrDefaultViewName.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/transport/buildProfileEventAttributes.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/transport/assembly.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/longTaskHistory.js","../../node_modules/.pnpm/@datadog+browser-rum@6.28.1/node_modules/@datadog/browser-rum/esm/domain/profiling/profiler.js"],"sourcesContent":["import { addTelemetryDebug, createHttpRequest, jsonStringify, objectEntries } from '@datadog/browser-core';\nexport function createFormDataTransport(configuration, lifeCycle, createEncoder, streamId) {\n const reportError = (error) => {\n lifeCycle.notify(14 /* LifeCycleEventType.RAW_ERROR_COLLECTED */, { error });\n // monitor-until: forever, to keep an eye on the errors reported to customers\n addTelemetryDebug('Error reported to customer', { 'error.message': error.message });\n };\n const httpRequest = createHttpRequest([configuration.profilingEndpointBuilder], reportError);\n const encoder = createEncoder(streamId);\n return {\n async send({ event, ...attachments }) {\n const formData = new FormData();\n const serializedEvent = jsonStringify(event);\n if (!serializedEvent) {\n throw new Error('Failed to serialize event');\n }\n formData.append('event', new Blob([serializedEvent], { type: 'application/json' }), 'event.json');\n let bytesCount = serializedEvent.length;\n for (const [key, value] of objectEntries(attachments)) {\n const serializedValue = jsonStringify(value);\n if (!serializedValue) {\n throw new Error('Failed to serialize attachment');\n }\n const result = await encode(encoder, serializedValue);\n bytesCount += result.outputBytesCount;\n formData.append(key, new Blob([result.output]), key);\n }\n httpRequest.send({\n data: formData,\n bytesCount,\n });\n },\n };\n}\nfunction encode(encoder, data) {\n return new Promise((resolve) => {\n encoder.write(data);\n encoder.finish((encoderResult) => {\n resolve(encoderResult);\n });\n });\n}\n//# sourceMappingURL=formDataTransport.js.map","/**\n * Counts number of samples when the thread was not idle (stackId is defined)\n *\n * @param samples - Array of collected samples\n * @returns Number of samples\n */\nexport function getNumberOfSamples(samples) {\n let numberOfSamples = 0;\n for (const sample of samples) {\n if (sample.stackId !== undefined) {\n numberOfSamples++;\n }\n }\n return numberOfSamples;\n}\n//# sourceMappingURL=getNumberOfSamples.js.map","// This is the regex used to extract the path from the url (from SimpleUrlGroupingProcessor.java)\n// It's a bit different from the one in the java code because we removed the lookbehind unsupported by Safari.\nconst PATH_MIXED_ALPHANUMERICS = /\\/(?![vV]\\d{1,2}\\/)([^/\\d?]*\\d+[^/?]*)/g;\nexport function getDefaultViewName(viewPathUrl) {\n if (!viewPathUrl) {\n return '/';\n }\n // Replace all the mixed alphanumerics with a ?\n return viewPathUrl.replace(PATH_MIXED_ALPHANUMERICS, '/?');\n}\n//# sourceMappingURL=getDefaultViewName.js.map","import { getDefaultViewName } from './getDefaultViewName';\nexport const getCustomOrDefaultViewName = (customViewName, viewPathUrl) => customViewName || getDefaultViewName(viewPathUrl);\n//# sourceMappingURL=getCustomOrDefaultViewName.js.map","/**\n * Builds attributes for the Profile Event.\n *\n * @param profilerTrace - Profiler trace\n * @param applicationId - application id.\n * @param sessionId - session id.\n * @returns Additional attributes.\n */\nexport function buildProfileEventAttributes(profilerTrace, applicationId, sessionId) {\n // Extract view ids and names from the profiler trace and add them as attributes of the profile event.\n // This will be used to filter the profiles by @view.id and/or @view.name.\n const { ids, names } = extractViewIdsAndNames(profilerTrace.views);\n const longTaskIds = profilerTrace.longTasks.map((longTask) => longTask.id).filter((id) => id !== undefined);\n const attributes = { application: { id: applicationId } };\n if (sessionId) {\n attributes.session = { id: sessionId };\n }\n if (ids.length) {\n attributes.view = { id: ids, name: names };\n }\n if (longTaskIds.length) {\n attributes.long_task = { id: longTaskIds };\n }\n return attributes;\n}\nfunction extractViewIdsAndNames(views) {\n const result = { ids: [], names: [] };\n for (const view of views) {\n result.ids.push(view.viewId);\n if (view.viewName) {\n result.names.push(view.viewName);\n }\n }\n // Remove duplicates\n result.names = Array.from(new Set(result.names));\n return result;\n}\n//# sourceMappingURL=buildProfileEventAttributes.js.map","import { buildTags, currentDrift } from '@datadog/browser-core';\nimport { buildProfileEventAttributes } from './buildProfileEventAttributes';\nexport function assembleProfilingPayload(profilerTrace, configuration, sessionId) {\n const event = buildProfileEvent(profilerTrace, configuration, sessionId);\n return {\n event,\n 'wall-time.json': profilerTrace,\n };\n}\nfunction buildProfileEvent(profilerTrace, configuration, sessionId) {\n const tags = buildTags(configuration); // TODO: get that from the tagContext hook\n const profileAttributes = buildProfileEventAttributes(profilerTrace, configuration.applicationId, sessionId);\n const profileEventTags = buildProfileEventTags(tags);\n const profileEvent = {\n ...profileAttributes,\n attachments: ['wall-time.json'],\n start: new Date(profilerTrace.startClocks.timeStamp).toISOString(),\n end: new Date(profilerTrace.endClocks.timeStamp).toISOString(),\n family: 'chrome',\n runtime: 'chrome',\n format: 'json',\n version: 4, // Ingestion event version (not the version application tag)\n tags_profiler: profileEventTags.join(','),\n _dd: {\n clock_drift: currentDrift(),\n },\n };\n return profileEvent;\n}\n/**\n * Builds tags for the Profile Event.\n *\n * @param tags - RUM tags\n * @returns Combined tags for the Profile Event.\n */\nfunction buildProfileEventTags(tags) {\n // Tags already contains the common tags for all events. (service, env, version, etc.)\n // Here we are adding some specific-to-profiling tags.\n const profileEventTags = tags.concat(['language:javascript', 'runtime:chrome', 'family:chrome', 'host:browser']);\n return profileEventTags;\n}\n//# sourceMappingURL=assembly.js.map","import { addDuration, createValueHistory, SESSION_TIME_OUT_DELAY } from '@datadog/browser-core';\nimport { RumPerformanceEntryType, RumLongTaskEntryType } from '@datadog/browser-rum-core';\nexport const LONG_TASK_ID_HISTORY_EXPIRE_DELAY = SESSION_TIME_OUT_DELAY;\nexport function createLongTaskHistory(lifeCycle) {\n const history = createValueHistory({\n expireDelay: LONG_TASK_ID_HISTORY_EXPIRE_DELAY,\n });\n lifeCycle.subscribe(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, ({ rawRumEvent, startClocks, duration }) => {\n if (rawRumEvent.type === 'long_task') {\n history\n .add({\n id: rawRumEvent.long_task.id,\n startClocks,\n duration: duration,\n entryType: rawRumEvent.long_task.entry_type === RumLongTaskEntryType.LONG_TASK\n ? RumPerformanceEntryType.LONG_TASK\n : RumPerformanceEntryType.LONG_ANIMATION_FRAME,\n }, startClocks.relative)\n .close(addDuration(startClocks.relative, duration));\n }\n });\n return history;\n}\n//# sourceMappingURL=longTaskHistory.js.map","import { addEventListener, clearTimeout, setTimeout, monitorError, display, getGlobalObject, clocksOrigin, clocksNow, elapsed, mockable, } from '@datadog/browser-core';\nimport { createFormDataTransport } from '@datadog/browser-rum-core';\nimport { getNumberOfSamples } from './utils/getNumberOfSamples';\nimport { getCustomOrDefaultViewName } from './utils/getCustomOrDefaultViewName';\nimport { assembleProfilingPayload } from './transport/assembly';\nimport { createLongTaskHistory } from './longTaskHistory';\nexport const DEFAULT_RUM_PROFILER_CONFIGURATION = {\n sampleIntervalMs: 10, // Sample stack trace every 10ms\n collectIntervalMs: 60000, // Collect data every minute\n minProfileDurationMs: 5000, // Require at least 5 seconds of profile data to reduce noise and cost\n minNumberOfSamples: 50, // Require at least 50 samples (~500 ms) to report a profile to reduce noise and cost\n};\nexport function createRumProfiler(configuration, lifeCycle, session, profilingContextManager, createEncoder, viewHistory, profilerConfiguration = DEFAULT_RUM_PROFILER_CONFIGURATION) {\n const transport = createFormDataTransport(configuration, lifeCycle, createEncoder, 6 /* DeflateEncoderStreamId.PROFILING */);\n let lastViewEntry;\n // Global clean-up tasks for listeners that are not specific to a profiler instance (eg. visibility change, before unload)\n const globalCleanupTasks = [];\n const longTaskHistory = mockable(createLongTaskHistory)(lifeCycle);\n let instance = { state: 'stopped', stateReason: 'initializing' };\n // Stops the profiler when session expires\n lifeCycle.subscribe(9 /* LifeCycleEventType.SESSION_EXPIRED */, () => {\n stopProfiling('session-expired');\n });\n // Start the profiler again when session is renewed\n lifeCycle.subscribe(10 /* LifeCycleEventType.SESSION_RENEWED */, () => {\n if (instance.state === 'stopped' && instance.stateReason === 'session-expired') {\n start();\n }\n });\n // Public API to start the profiler.\n function start() {\n if (instance.state === 'running') {\n return;\n }\n const viewEntry = viewHistory.findView();\n // Add initial view\n // Note: `viewEntry.name` is only filled when users use manual view creation via `startView` method.\n lastViewEntry = viewEntry\n ? {\n startClocks: viewEntry.startClocks,\n viewId: viewEntry.id,\n viewName: getCustomOrDefaultViewName(viewEntry.name, document.location.pathname),\n }\n : undefined;\n // Add global clean-up tasks for listeners that are not specific to a profiler instance (eg. visibility change, before unload)\n globalCleanupTasks.push(addEventListener(configuration, window, \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, handleVisibilityChange).stop, addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, handleBeforeUnload).stop);\n // Start profiler instance\n startNextProfilerInstance();\n }\n // Public API to manually stop the profiler.\n function stop() {\n stopProfiling('stopped-by-user');\n }\n function stopProfiling(reason) {\n // Stop current profiler instance (data collection happens async in background)\n stopProfilerInstance(reason);\n // Cleanup global listeners and reset the array to prevent accumulation across start/stop cycles\n globalCleanupTasks.forEach((task) => task());\n globalCleanupTasks.length = 0;\n // Update Profiling status once the Profiler has been stopped.\n profilingContextManager.set({ status: 'stopped', error_reason: undefined });\n }\n /**\n * Whenever a new Profiler instance is started, we need to add event listeners to surroundings (RUM Events, Long Tasks, etc) to enrich the Profiler data.\n * If the instance is already running, we can keep the same event listeners.\n */\n function addEventListeners(existingInstance) {\n if (existingInstance.state === 'running') {\n // Instance is already running, so we can keep same event listeners.\n return {\n cleanupTasks: existingInstance.cleanupTasks,\n };\n }\n // Store clean-up tasks for this instance (tasks to be executed when the Profiler is stopped or paused.)\n const cleanupTasks = [];\n // Whenever the View is updated, we add a views entry to the profiler instance.\n const viewUpdatedSubscription = lifeCycle.subscribe(2 /* LifeCycleEventType.VIEW_CREATED */, (view) => {\n const viewEntry = {\n viewId: view.id,\n // Note: `viewName` is only filled when users use manual view creation via `startView` method.\n viewName: getCustomOrDefaultViewName(view.name, document.location.pathname),\n startClocks: view.startClocks,\n };\n collectViewEntry(viewEntry);\n // Update last view entry\n lastViewEntry = viewEntry;\n });\n cleanupTasks.push(viewUpdatedSubscription.unsubscribe);\n return {\n cleanupTasks,\n };\n }\n function startNextProfilerInstance() {\n // These APIs might be unavailable in some browsers\n const globalThisProfiler = getGlobalObject().Profiler;\n if (!globalThisProfiler) {\n profilingContextManager.set({ status: 'error', error_reason: 'not-supported-by-browser' });\n throw new Error('RUM Profiler is not supported in this browser.');\n }\n // Collect data from previous running instance (fire-and-forget)\n if (instance.state === 'running') {\n collectProfilerInstance(instance);\n }\n const { cleanupTasks } = addEventListeners(instance);\n let profiler;\n try {\n // We have to create new Profiler each time we start a new instance\n profiler = new globalThisProfiler({\n sampleInterval: profilerConfiguration.sampleIntervalMs,\n // Keep buffer size at 1.5 times of minimum required to collect data for a profiling instance\n maxBufferSize: Math.round((profilerConfiguration.collectIntervalMs * 1.5) / profilerConfiguration.sampleIntervalMs),\n });\n }\n catch (e) {\n if (e instanceof Error && e.message.includes('disabled by Document Policy')) {\n // Missing Response Header (`js-profiling`) that is required to enable the profiler.\n // We should suggest the user to enable the Response Header in their server configuration.\n display.warn('[DD_RUM] Profiler startup failed. Ensure your server includes the `Document-Policy: js-profiling` response header when serving HTML pages.', e);\n profilingContextManager.set({ status: 'error', error_reason: 'missing-document-policy-header' });\n }\n else {\n profilingContextManager.set({ status: 'error', error_reason: 'unexpected-exception' });\n }\n return;\n }\n profilingContextManager.set({ status: 'running', error_reason: undefined });\n // Kick-off the new instance\n instance = {\n state: 'running',\n startClocks: clocksNow(),\n profiler,\n timeoutId: setTimeout(startNextProfilerInstance, profilerConfiguration.collectIntervalMs),\n views: [],\n cleanupTasks,\n longTasks: [],\n };\n // Add last view entry\n collectViewEntry(lastViewEntry);\n // Add event handler case we overflow the buffer\n profiler.addEventListener('samplebufferfull', handleSampleBufferFull);\n }\n function collectProfilerInstance(runningInstance) {\n // Cleanup instance\n clearTimeout(runningInstance.timeoutId);\n runningInstance.profiler.removeEventListener('samplebufferfull', handleSampleBufferFull);\n // Store instance data snapshot in local variables to use in async callback\n const { startClocks, views } = runningInstance;\n // Stop current profiler to get trace\n runningInstance.profiler\n .stop()\n .then((trace) => {\n const endClocks = clocksNow();\n const duration = elapsed(startClocks.timeStamp, endClocks.timeStamp);\n const longTasks = longTaskHistory.findAll(startClocks.relative, duration);\n const isBelowDurationThreshold = duration < profilerConfiguration.minProfileDurationMs;\n const isBelowSampleThreshold = getNumberOfSamples(trace.samples) < profilerConfiguration.minNumberOfSamples;\n if (longTasks.length === 0 && (isBelowDurationThreshold || isBelowSampleThreshold)) {\n // Skip very short profiles to reduce noise and cost, but keep them if they contain long tasks.\n return;\n }\n handleProfilerTrace(\n // Enrich trace with time and instance data\n Object.assign(trace, {\n startClocks,\n endClocks,\n clocksOrigin: clocksOrigin(),\n longTasks,\n views,\n sampleInterval: profilerConfiguration.sampleIntervalMs,\n }));\n })\n .catch(monitorError);\n }\n function stopProfilerInstance(stateReason) {\n if (instance.state !== 'running') {\n if (\n // If paused, profiler data was already collected during pause, just update state\n instance.state === 'paused' ||\n // Update stateReason when already stopped and the user explicitly stops the profiler,\n // so that SESSION_RENEWED does not override the user's intent.\n (instance.state === 'stopped' && stateReason === 'stopped-by-user')) {\n instance = { state: 'stopped', stateReason };\n }\n return;\n }\n // Capture the running instance before changing state\n const runningInstance = instance;\n // Update state synchronously so SESSION_RENEWED check works immediately\n instance = { state: 'stopped', stateReason };\n // Cleanup instance-specific tasks (e.g., view listener)\n runningInstance.cleanupTasks.forEach((cleanupTask) => cleanupTask());\n // Collect and send profile data in background - doesn't block state transitions\n collectProfilerInstance(runningInstance);\n }\n function pauseProfilerInstance() {\n if (instance.state !== 'running') {\n return;\n }\n // Capture the running instance before changing state\n const runningInstance = instance;\n // Update state synchronously\n instance = { state: 'paused' };\n // Cleanup instance-specific tasks\n runningInstance.cleanupTasks.forEach((cleanupTask) => cleanupTask());\n // Collect and send profile data in background\n collectProfilerInstance(runningInstance);\n }\n function collectViewEntry(viewEntry) {\n if (instance.state !== 'running' || !viewEntry) {\n return;\n }\n // Add entry to views\n instance.views.push(viewEntry);\n }\n function handleProfilerTrace(trace) {\n var _a;\n // Find current session to assign it to the Profile.\n const sessionId = (_a = session.findTrackedSession()) === null || _a === void 0 ? void 0 : _a.id;\n const payload = assembleProfilingPayload(trace, configuration, sessionId);\n void transport.send(payload);\n }\n function handleSampleBufferFull() {\n startNextProfilerInstance();\n }\n function handleVisibilityChange() {\n if (document.visibilityState === 'hidden' && instance.state === 'running') {\n // Pause when tab is hidden. We use paused state to distinguish between\n // paused by visibility change and stopped by user.\n // If profiler is paused by the visibility change, we should resume when\n // tab becomes visible again. That's not the case when user stops the profiler.\n pauseProfilerInstance();\n }\n else if (document.visibilityState === 'visible' && instance.state === 'paused') {\n // Resume when tab becomes visible again\n startNextProfilerInstance();\n }\n }\n function handleBeforeUnload() {\n // `unload` can in some cases be triggered while the page is still active (link to a different protocol like mailto:).\n // We can immediately flush (by starting a new profiler instance) to make sure we receive the data, and at the same time keep the profiler active.\n // In case of the regular unload, the profiler will be shut down anyway.\n startNextProfilerInstance();\n }\n function isStopped() {\n return instance.state === 'stopped';\n }\n function isRunning() {\n return instance.state === 'running';\n }\n function isPaused() {\n return instance.state === 'paused';\n }\n return { start, stop, isStopped, isRunning, isPaused };\n}\n//# sourceMappingURL=profiler.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{aQ as requireReact,a8 as reactExports}from"./index-BTgXJX9d.js";function formatProdErrorMessage(code){return`Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `}__name(formatProdErrorMessage,"formatProdErrorMessage");var $$observable=typeof Symbol=="function"&&Symbol.observable||"@@observable",symbol_observable_default=$$observable,randomString=__name(()=>Math.random().toString(36).substring(7).split("").join("."),"randomString"),ActionTypes={INIT:`@@redux/INIT${randomString()}`,REPLACE:`@@redux/REPLACE${randomString()}`,PROBE_UNKNOWN_ACTION:__name(()=>`@@redux/PROBE_UNKNOWN_ACTION${randomString()}`,"PROBE_UNKNOWN_ACTION")},actionTypes_default=ActionTypes;function isPlainObject(obj){if(typeof obj!="object"||obj===null)return!1;let proto=obj;for(;Object.getPrototypeOf(proto)!==null;)proto=Object.getPrototypeOf(proto);return Object.getPrototypeOf(obj)===proto||Object.getPrototypeOf(obj)===null}__name(isPlainObject,"isPlainObject");function createStore(reducer,preloadedState,enhancer){if(typeof reducer!="function")throw new Error(formatProdErrorMessage(2));if(typeof preloadedState=="function"&&typeof enhancer=="function"||typeof enhancer=="function"&&typeof arguments[3]=="function")throw new Error(formatProdErrorMessage(0));if(typeof preloadedState=="function"&&typeof enhancer>"u"&&(enhancer=preloadedState,preloadedState=void 0),typeof enhancer<"u"){if(typeof enhancer!="function")throw new Error(formatProdErrorMessage(1));return enhancer(createStore)(reducer,preloadedState)}let currentReducer=reducer,currentState=preloadedState,currentListeners=new Map,nextListeners=currentListeners,listenerIdCounter=0,isDispatching=!1;function ensureCanMutateNextListeners(){nextListeners===currentListeners&&(nextListeners=new Map,currentListeners.forEach((listener,key)=>{nextListeners.set(key,listener)}))}__name(ensureCanMutateNextListeners,"ensureCanMutateNextListeners");function getState(){if(isDispatching)throw new Error(formatProdErrorMessage(3));return currentState}__name(getState,"getState");function subscribe(listener){if(typeof listener!="function")throw new Error(formatProdErrorMessage(4));if(isDispatching)throw new Error(formatProdErrorMessage(5));let isSubscribed=!0;ensureCanMutateNextListeners();const listenerId=listenerIdCounter++;return nextListeners.set(listenerId,listener),__name(function(){if(isSubscribed){if(isDispatching)throw new Error(formatProdErrorMessage(6));isSubscribed=!1,ensureCanMutateNextListeners(),nextListeners.delete(listenerId),currentListeners=null}},"unsubscribe")}__name(subscribe,"subscribe");function dispatch(action){if(!isPlainObject(action))throw new Error(formatProdErrorMessage(7));if(typeof action.type>"u")throw new Error(formatProdErrorMessage(8));if(typeof action.type!="string")throw new Error(formatProdErrorMessage(17));if(isDispatching)throw new Error(formatProdErrorMessage(9));try{isDispatching=!0,currentState=currentReducer(currentState,action)}finally{isDispatching=!1}return(currentListeners=nextListeners).forEach(listener=>{listener()}),action}__name(dispatch,"dispatch");function replaceReducer(nextReducer){if(typeof nextReducer!="function")throw new Error(formatProdErrorMessage(10));currentReducer=nextReducer,dispatch({type:actionTypes_default.REPLACE})}__name(replaceReducer,"replaceReducer");function observable(){const outerSubscribe=subscribe;return{subscribe(observer){if(typeof observer!="object"||observer===null)throw new Error(formatProdErrorMessage(11));function observeState(){const observerAsObserver=observer;observerAsObserver.next&&observerAsObserver.next(getState())}return __name(observeState,"observeState"),observeState(),{unsubscribe:outerSubscribe(observeState)}},[symbol_observable_default](){return this}}}return __name(observable,"observable"),dispatch({type:actionTypes_default.INIT}),{dispatch,subscribe,getState,replaceReducer,[symbol_observable_default]:observable}}__name(createStore,"createStore");function assertReducerShape(reducers){Object.keys(reducers).forEach(key=>{const reducer=reducers[key];if(typeof reducer(void 0,{type:actionTypes_default.INIT})>"u")throw new Error(formatProdErrorMessage(12));if(typeof reducer(void 0,{type:actionTypes_default.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(formatProdErrorMessage(13))})}__name(assertReducerShape,"assertReducerShape");function combineReducers(reducers){const reducerKeys=Object.keys(reducers),finalReducers={};for(let i=0;i<reducerKeys.length;i++){const key=reducerKeys[i];typeof reducers[key]=="function"&&(finalReducers[key]=reducers[key])}const finalReducerKeys=Object.keys(finalReducers);let shapeAssertionError;try{assertReducerShape(finalReducers)}catch(e){shapeAssertionError=e}return __name(function(state={},action){if(shapeAssertionError)throw shapeAssertionError;let hasChanged=!1;const nextState={};for(let i=0;i<finalReducerKeys.length;i++){const key=finalReducerKeys[i],reducer=finalReducers[key],previousStateForKey=state[key],nextStateForKey=reducer(previousStateForKey,action);if(typeof nextStateForKey>"u")throw action&&action.type,new Error(formatProdErrorMessage(14));nextState[key]=nextStateForKey,hasChanged=hasChanged||nextStateForKey!==previousStateForKey}return hasChanged=hasChanged||finalReducerKeys.length!==Object.keys(state).length,hasChanged?nextState:state},"combination")}__name(combineReducers,"combineReducers");function bindActionCreator(actionCreator,dispatch){return function(...args){return dispatch(actionCreator.apply(this,args))}}__name(bindActionCreator,"bindActionCreator");function bindActionCreators$1(actionCreators,dispatch){if(typeof actionCreators=="function")return bindActionCreator(actionCreators,dispatch);if(typeof actionCreators!="object"||actionCreators===null)throw new Error(formatProdErrorMessage(16));const boundActionCreators={};for(const key in actionCreators){const actionCreator=actionCreators[key];typeof actionCreator=="function"&&(boundActionCreators[key]=bindActionCreator(actionCreator,dispatch))}return boundActionCreators}__name(bindActionCreators$1,"bindActionCreators$1");function compose(...funcs){return funcs.length===0?arg=>arg:funcs.length===1?funcs[0]:funcs.reduce((a,b)=>(...args)=>a(b(...args)))}__name(compose,"compose");function applyMiddleware(...middlewares){return createStore2=>(reducer,preloadedState)=>{const store=createStore2(reducer,preloadedState);let dispatch=__name(()=>{throw new Error(formatProdErrorMessage(15))},"dispatch");const middlewareAPI={getState:store.getState,dispatch:__name((action,...args)=>dispatch(action,...args),"dispatch")},chain=middlewares.map(middleware=>middleware(middlewareAPI));return dispatch=compose(...chain)(store.dispatch),{...store,dispatch}}}__name(applyMiddleware,"applyMiddleware");function isAction(action){return isPlainObject(action)&&"type"in action&&typeof action.type=="string"}__name(isAction,"isAction");function assertIsFunction(func,errorMessage=`expected a function, instead received ${typeof func}`){if(typeof func!="function")throw new TypeError(errorMessage)}__name(assertIsFunction,"assertIsFunction");function assertIsObject(object,errorMessage=`expected an object, instead received ${typeof object}`){if(typeof object!="object")throw new TypeError(errorMessage)}__name(assertIsObject,"assertIsObject");function assertIsArrayOfFunctions(array,errorMessage="expected all items to be functions, instead received the following types: "){if(!array.every(item=>typeof item=="function")){const itemTypes=array.map(item=>typeof item=="function"?`function ${item.name||"unnamed"}()`:typeof item).join(", ");throw new TypeError(`${errorMessage}[${itemTypes}]`)}}__name(assertIsArrayOfFunctions,"assertIsArrayOfFunctions");var ensureIsArray=__name(item=>Array.isArray(item)?item:[item],"ensureIsArray");function getDependencies(createSelectorArgs){const dependencies=Array.isArray(createSelectorArgs[0])?createSelectorArgs[0]:createSelectorArgs;return assertIsArrayOfFunctions(dependencies,"createSelector expects all input-selectors to be functions, but received the following types: "),dependencies}__name(getDependencies,"getDependencies");function collectInputSelectorResults(dependencies,inputSelectorArgs){const inputSelectorResults=[],{length}=dependencies;for(let i=0;i<length;i++)inputSelectorResults.push(dependencies[i].apply(null,inputSelectorArgs));return inputSelectorResults}__name(collectInputSelectorResults,"collectInputSelectorResults");var _a,StrongRef=(_a=class{constructor(value){this.value=value}deref(){return this.value}},__name(_a,"StrongRef"),_a),Ref=typeof WeakRef<"u"?WeakRef:StrongRef,UNTERMINATED=0,TERMINATED=1;function createCacheNode(){return{s:UNTERMINATED,v:void 0,o:null,p:null}}__name(createCacheNode,"createCacheNode");function weakMapMemoize(func,options={}){let fnNode=createCacheNode();const{resultEqualityCheck}=options;let lastResult,resultsCount=0;function memoized(){let cacheNode=fnNode;const{length}=arguments;for(let i=0,l=length;i<l;i++){const arg=arguments[i];if(typeof arg=="function"||typeof arg=="object"&&arg!==null){let objectCache=cacheNode.o;objectCache===null&&(cacheNode.o=objectCache=new WeakMap);const objectNode=objectCache.get(arg);objectNode===void 0?(cacheNode=createCacheNode(),objectCache.set(arg,cacheNode)):cacheNode=objectNode}else{let primitiveCache=cacheNode.p;primitiveCache===null&&(cacheNode.p=primitiveCache=new Map);const primitiveNode=primitiveCache.get(arg);primitiveNode===void 0?(cacheNode=createCacheNode(),primitiveCache.set(arg,cacheNode)):cacheNode=primitiveNode}}const terminatedNode=cacheNode;let result;if(cacheNode.s===TERMINATED)result=cacheNode.v;else if(result=func.apply(null,arguments),resultsCount++,resultEqualityCheck){const lastResultValue=lastResult?.deref?.()??lastResult;lastResultValue!=null&&resultEqualityCheck(lastResultValue,result)&&(result=lastResultValue,resultsCount!==0&&resultsCount--),lastResult=typeof result=="object"&&result!==null||typeof result=="function"?new Ref(result):result}return terminatedNode.s=TERMINATED,terminatedNode.v=result,result}return __name(memoized,"memoized"),memoized.clearCache=()=>{fnNode=createCacheNode(),memoized.resetResultsCount()},memoized.resultsCount=()=>resultsCount,memoized.resetResultsCount=()=>{resultsCount=0},memoized}__name(weakMapMemoize,"weakMapMemoize");function createSelectorCreator(memoizeOrOptions,...memoizeOptionsFromArgs){const createSelectorCreatorOptions=typeof memoizeOrOptions=="function"?{memoize:memoizeOrOptions,memoizeOptions:memoizeOptionsFromArgs}:memoizeOrOptions,createSelector2=__name((...createSelectorArgs)=>{let recomputations=0,dependencyRecomputations=0,lastResult,directlyPassedOptions={},resultFunc=createSelectorArgs.pop();typeof resultFunc=="object"&&(directlyPassedOptions=resultFunc,resultFunc=createSelectorArgs.pop()),assertIsFunction(resultFunc,`createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`);const combinedOptions={...createSelectorCreatorOptions,...directlyPassedOptions},{memoize,memoizeOptions=[],argsMemoize=weakMapMemoize,argsMemoizeOptions=[]}=combinedOptions,finalMemoizeOptions=ensureIsArray(memoizeOptions),finalArgsMemoizeOptions=ensureIsArray(argsMemoizeOptions),dependencies=getDependencies(createSelectorArgs),memoizedResultFunc=memoize(__name(function(){return recomputations++,resultFunc.apply(null,arguments)},"recomputationWrapper"),...finalMemoizeOptions),selector=argsMemoize(__name(function(){dependencyRecomputations++;const inputSelectorResults=collectInputSelectorResults(dependencies,arguments);return lastResult=memoizedResultFunc.apply(null,inputSelectorResults),lastResult},"dependenciesChecker"),...finalArgsMemoizeOptions);return Object.assign(selector,{resultFunc,memoizedResultFunc,dependencies,dependencyRecomputations:__name(()=>dependencyRecomputations,"dependencyRecomputations"),resetDependencyRecomputations:__name(()=>{dependencyRecomputations=0},"resetDependencyRecomputations"),lastResult:__name(()=>lastResult,"lastResult"),recomputations:__name(()=>recomputations,"recomputations"),resetRecomputations:__name(()=>{recomputations=0},"resetRecomputations"),memoize,argsMemoize})},"createSelector2");return Object.assign(createSelector2,{withTypes:__name(()=>createSelector2,"withTypes")}),createSelector2}__name(createSelectorCreator,"createSelectorCreator");var createSelector=createSelectorCreator(weakMapMemoize),createStructuredSelector=Object.assign((inputSelectorsObject,selectorCreator=createSelector)=>{assertIsObject(inputSelectorsObject,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`);const inputSelectorKeys=Object.keys(inputSelectorsObject),dependencies=inputSelectorKeys.map(key=>inputSelectorsObject[key]);return selectorCreator(dependencies,(...inputSelectorResults)=>inputSelectorResults.reduce((composition,value,index)=>(composition[inputSelectorKeys[index]]=value,composition),{}))},{withTypes:__name(()=>createStructuredSelector,"withTypes")}),withSelector={exports:{}},useSyncExternalStoreWithSelector_production={};var hasRequiredUseSyncExternalStoreWithSelector_production;function requireUseSyncExternalStoreWithSelector_production(){if(hasRequiredUseSyncExternalStoreWithSelector_production)return useSyncExternalStoreWithSelector_production;hasRequiredUseSyncExternalStoreWithSelector_production=1;var React=requireReact();function is2(x,y){return x===y&&(x!==0||1/x===1/y)||x!==x&&y!==y}__name(is2,"is");var objectIs=typeof Object.is=="function"?Object.is:is2,useSyncExternalStore=React.useSyncExternalStore,useRef=React.useRef,useEffect=React.useEffect,useMemo=React.useMemo,useDebugValue=React.useDebugValue;return useSyncExternalStoreWithSelector_production.useSyncExternalStoreWithSelector=function(subscribe,getSnapshot,getServerSnapshot,selector,isEqual){var instRef=useRef(null);if(instRef.current===null){var inst={hasValue:!1,value:null};instRef.current=inst}else inst=instRef.current;instRef=useMemo(function(){function memoizedSelector(nextSnapshot){if(!hasMemo){if(hasMemo=!0,memoizedSnapshot=nextSnapshot,nextSnapshot=selector(nextSnapshot),isEqual!==void 0&&inst.hasValue){var currentSelection=inst.value;if(isEqual(currentSelection,nextSnapshot))return memoizedSelection=currentSelection}return memoizedSelection=nextSnapshot}if(currentSelection=memoizedSelection,objectIs(memoizedSnapshot,nextSnapshot))return currentSelection;var nextSelection=selector(nextSnapshot);return isEqual!==void 0&&isEqual(currentSelection,nextSelection)?(memoizedSnapshot=nextSnapshot,currentSelection):(memoizedSnapshot=nextSnapshot,memoizedSelection=nextSelection)}__name(memoizedSelector,"memoizedSelector");var hasMemo=!1,memoizedSnapshot,memoizedSelection,maybeGetServerSnapshot=getServerSnapshot===void 0?null:getServerSnapshot;return[function(){return memoizedSelector(getSnapshot())},maybeGetServerSnapshot===null?void 0:function(){return memoizedSelector(maybeGetServerSnapshot())}]},[getSnapshot,getServerSnapshot,selector,isEqual]);var value=useSyncExternalStore(subscribe,instRef[0],instRef[1]);return useEffect(function(){inst.hasValue=!0,inst.value=value},[value]),useDebugValue(value),value},useSyncExternalStoreWithSelector_production}__name(requireUseSyncExternalStoreWithSelector_production,"requireUseSyncExternalStoreWithSelector_production");var hasRequiredWithSelector;function requireWithSelector(){return hasRequiredWithSelector||(hasRequiredWithSelector=1,withSelector.exports=requireUseSyncExternalStoreWithSelector_production()),withSelector.exports}__name(requireWithSelector,"requireWithSelector");requireWithSelector();var IS_REACT_19=reactExports.version.startsWith("19"),REACT_ELEMENT_TYPE=Symbol.for(IS_REACT_19?"react.transitional.element":"react.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),ForwardRef=REACT_FORWARD_REF_TYPE,Memo=REACT_MEMO_TYPE;function typeOf(object){if(typeof object=="object"&&object!==null){const{$$typeof}=object;switch($$typeof){case REACT_ELEMENT_TYPE:switch(object=object.type,object){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:return object;default:switch(object=object&&object.$$typeof,object){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return object;case REACT_CONSUMER_TYPE:return object;default:return $$typeof}}case REACT_PORTAL_TYPE:return $$typeof}}}__name(typeOf,"typeOf");function isMemo(object){return typeOf(object)===REACT_MEMO_TYPE}__name(isMemo,"isMemo");function pureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,{areStatesEqual,areOwnPropsEqual,areStatePropsEqual}){let hasRunAtLeastOnce=!1,state,ownProps,stateProps,dispatchProps,mergedProps;function handleFirstCall(firstState,firstOwnProps){return state=firstState,ownProps=firstOwnProps,stateProps=mapStateToProps(state,ownProps),dispatchProps=mapDispatchToProps(dispatch,ownProps),mergedProps=mergeProps(stateProps,dispatchProps,ownProps),hasRunAtLeastOnce=!0,mergedProps}__name(handleFirstCall,"handleFirstCall");function handleNewPropsAndNewState(){return stateProps=mapStateToProps(state,ownProps),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps),mergedProps}__name(handleNewPropsAndNewState,"handleNewPropsAndNewState");function handleNewProps(){return mapStateToProps.dependsOnOwnProps&&(stateProps=mapStateToProps(state,ownProps)),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps),mergedProps}__name(handleNewProps,"handleNewProps");function handleNewState(){const nextStateProps=mapStateToProps(state,ownProps),statePropsChanged=!areStatePropsEqual(nextStateProps,stateProps);return stateProps=nextStateProps,statePropsChanged&&(mergedProps=mergeProps(stateProps,dispatchProps,ownProps)),mergedProps}__name(handleNewState,"handleNewState");function handleSubsequentCalls(nextState,nextOwnProps){const propsChanged=!areOwnPropsEqual(nextOwnProps,ownProps),stateChanged=!areStatesEqual(nextState,state,nextOwnProps,ownProps);return state=nextState,ownProps=nextOwnProps,propsChanged&&stateChanged?handleNewPropsAndNewState():propsChanged?handleNewProps():stateChanged?handleNewState():mergedProps}return __name(handleSubsequentCalls,"handleSubsequentCalls"),__name(function(nextState,nextOwnProps){return hasRunAtLeastOnce?handleSubsequentCalls(nextState,nextOwnProps):handleFirstCall(nextState,nextOwnProps)},"pureFinalPropsSelector")}__name(pureFinalPropsSelectorFactory,"pureFinalPropsSelectorFactory");function finalPropsSelectorFactory(dispatch,{initMapStateToProps,initMapDispatchToProps,initMergeProps,...options}){const mapStateToProps=initMapStateToProps(dispatch,options),mapDispatchToProps=initMapDispatchToProps(dispatch,options),mergeProps=initMergeProps(dispatch,options);return pureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,options)}__name(finalPropsSelectorFactory,"finalPropsSelectorFactory");function bindActionCreators(actionCreators,dispatch){const boundActionCreators={};for(const key in actionCreators){const actionCreator=actionCreators[key];typeof actionCreator=="function"&&(boundActionCreators[key]=(...args)=>dispatch(actionCreator(...args)))}return boundActionCreators}__name(bindActionCreators,"bindActionCreators");function wrapMapToPropsConstant(getConstant){return __name(function(dispatch){const constant=getConstant(dispatch);function constantSelector(){return constant}return __name(constantSelector,"constantSelector"),constantSelector.dependsOnOwnProps=!1,constantSelector},"initConstantSelector")}__name(wrapMapToPropsConstant,"wrapMapToPropsConstant");function getDependsOnOwnProps(mapToProps){return mapToProps.dependsOnOwnProps?!!mapToProps.dependsOnOwnProps:mapToProps.length!==1}__name(getDependsOnOwnProps,"getDependsOnOwnProps");function wrapMapToPropsFunc(mapToProps,methodName){return __name(function(dispatch,{displayName}){const proxy=__name(function(stateOrDispatch,ownProps){return proxy.dependsOnOwnProps?proxy.mapToProps(stateOrDispatch,ownProps):proxy.mapToProps(stateOrDispatch,void 0)},"mapToPropsProxy");return proxy.dependsOnOwnProps=!0,proxy.mapToProps=__name(function(stateOrDispatch,ownProps){proxy.mapToProps=mapToProps,proxy.dependsOnOwnProps=getDependsOnOwnProps(mapToProps);let props=proxy(stateOrDispatch,ownProps);return typeof props=="function"&&(proxy.mapToProps=props,proxy.dependsOnOwnProps=getDependsOnOwnProps(props),props=proxy(stateOrDispatch,ownProps)),props},"detectFactoryAndVerify"),proxy},"initProxySelector")}__name(wrapMapToPropsFunc,"wrapMapToPropsFunc");function createInvalidArgFactory(arg,name){return(dispatch,options)=>{throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`)}}__name(createInvalidArgFactory,"createInvalidArgFactory");function mapDispatchToPropsFactory(mapDispatchToProps){return mapDispatchToProps&&typeof mapDispatchToProps=="object"?wrapMapToPropsConstant(dispatch=>bindActionCreators(mapDispatchToProps,dispatch)):mapDispatchToProps?typeof mapDispatchToProps=="function"?wrapMapToPropsFunc(mapDispatchToProps):createInvalidArgFactory(mapDispatchToProps,"mapDispatchToProps"):wrapMapToPropsConstant(dispatch=>({dispatch}))}__name(mapDispatchToPropsFactory,"mapDispatchToPropsFactory");function mapStateToPropsFactory(mapStateToProps){return mapStateToProps?typeof mapStateToProps=="function"?wrapMapToPropsFunc(mapStateToProps):createInvalidArgFactory(mapStateToProps,"mapStateToProps"):wrapMapToPropsConstant(()=>({}))}__name(mapStateToPropsFactory,"mapStateToPropsFactory");function defaultMergeProps(stateProps,dispatchProps,ownProps){return{...ownProps,...stateProps,...dispatchProps}}__name(defaultMergeProps,"defaultMergeProps");function wrapMergePropsFunc(mergeProps){return __name(function(dispatch,{displayName,areMergedPropsEqual}){let hasRunOnce=!1,mergedProps;return __name(function(stateProps,dispatchProps,ownProps){const nextMergedProps=mergeProps(stateProps,dispatchProps,ownProps);return hasRunOnce?areMergedPropsEqual(nextMergedProps,mergedProps)||(mergedProps=nextMergedProps):(hasRunOnce=!0,mergedProps=nextMergedProps),mergedProps},"mergePropsProxy")},"initMergePropsProxy")}__name(wrapMergePropsFunc,"wrapMergePropsFunc");function mergePropsFactory(mergeProps){return mergeProps?typeof mergeProps=="function"?wrapMergePropsFunc(mergeProps):createInvalidArgFactory(mergeProps,"mergeProps"):()=>defaultMergeProps}__name(mergePropsFactory,"mergePropsFactory");function defaultNoopBatch(callback){callback()}__name(defaultNoopBatch,"defaultNoopBatch");function createListenerCollection(){let first=null,last=null;return{clear(){first=null,last=null},notify(){defaultNoopBatch(()=>{let listener=first;for(;listener;)listener.callback(),listener=listener.next})},get(){const listeners=[];let listener=first;for(;listener;)listeners.push(listener),listener=listener.next;return listeners},subscribe(callback){let isSubscribed=!0;const listener=last={callback,next:null,prev:last};return listener.prev?listener.prev.next=listener:first=listener,__name(function(){!isSubscribed||first===null||(isSubscribed=!1,listener.next?listener.next.prev=listener.prev:last=listener.prev,listener.prev?listener.prev.next=listener.next:first=listener.next)},"unsubscribe")}}}__name(createListenerCollection,"createListenerCollection");var nullListeners={notify(){},get:__name(()=>[],"get")};function createSubscription(store,parentSub){let unsubscribe,listeners=nullListeners,subscriptionsAmount=0,selfSubscribed=!1;function addNestedSub(listener){trySubscribe();const cleanupListener=listeners.subscribe(listener);let removed=!1;return()=>{removed||(removed=!0,cleanupListener(),tryUnsubscribe())}}__name(addNestedSub,"addNestedSub");function notifyNestedSubs(){listeners.notify()}__name(notifyNestedSubs,"notifyNestedSubs");function handleChangeWrapper(){subscription.onStateChange&&subscription.onStateChange()}__name(handleChangeWrapper,"handleChangeWrapper");function isSubscribed(){return selfSubscribed}__name(isSubscribed,"isSubscribed");function trySubscribe(){subscriptionsAmount++,unsubscribe||(unsubscribe=parentSub?parentSub.addNestedSub(handleChangeWrapper):store.subscribe(handleChangeWrapper),listeners=createListenerCollection())}__name(trySubscribe,"trySubscribe");function tryUnsubscribe(){subscriptionsAmount--,unsubscribe&&subscriptionsAmount===0&&(unsubscribe(),unsubscribe=void 0,listeners.clear(),listeners=nullListeners)}__name(tryUnsubscribe,"tryUnsubscribe");function trySubscribeSelf(){selfSubscribed||(selfSubscribed=!0,trySubscribe())}__name(trySubscribeSelf,"trySubscribeSelf");function tryUnsubscribeSelf(){selfSubscribed&&(selfSubscribed=!1,tryUnsubscribe())}__name(tryUnsubscribeSelf,"tryUnsubscribeSelf");const subscription={addNestedSub,notifyNestedSubs,handleChangeWrapper,isSubscribed,trySubscribe:trySubscribeSelf,tryUnsubscribe:tryUnsubscribeSelf,getListeners:__name(()=>listeners,"getListeners")};return subscription}__name(createSubscription,"createSubscription");var canUseDOM=__name(()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u","canUseDOM"),isDOM=canUseDOM(),isRunningInReactNative=__name(()=>typeof navigator<"u"&&navigator.product==="ReactNative","isRunningInReactNative"),isReactNative=isRunningInReactNative(),getUseIsomorphicLayoutEffect=__name(()=>isDOM||isReactNative?reactExports.useLayoutEffect:reactExports.useEffect,"getUseIsomorphicLayoutEffect"),useIsomorphicLayoutEffect=getUseIsomorphicLayoutEffect();function is(x,y){return x===y?x!==0||y!==0||1/x===1/y:x!==x&&y!==y}__name(is,"is");function shallowEqual(objA,objB){if(is(objA,objB))return!0;if(typeof objA!="object"||objA===null||typeof objB!="object"||objB===null)return!1;const keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(let i=0;i<keysA.length;i++)if(!Object.prototype.hasOwnProperty.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]]))return!1;return!0}__name(shallowEqual,"shallowEqual");var REACT_STATICS={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS={[ForwardRef]:FORWARD_REF_STATICS,[Memo]:MEMO_STATICS};function getStatics(component){return isMemo(component)?MEMO_STATICS:TYPE_STATICS[component.$$typeof]||REACT_STATICS}__name(getStatics,"getStatics");var defineProperty=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,getPrototypeOf=Object.getPrototypeOf,objectPrototype=Object.prototype;function hoistNonReactStatics(targetComponent,sourceComponent){if(typeof sourceComponent!="string"){if(objectPrototype){const inheritedComponent=getPrototypeOf(sourceComponent);inheritedComponent&&inheritedComponent!==objectPrototype&&hoistNonReactStatics(targetComponent,inheritedComponent)}let keys=getOwnPropertyNames(sourceComponent);getOwnPropertySymbols&&(keys=keys.concat(getOwnPropertySymbols(sourceComponent)));const targetStatics=getStatics(targetComponent),sourceStatics=getStatics(sourceComponent);for(let i=0;i<keys.length;++i){const key=keys[i];if(!KNOWN_STATICS[key]&&!(sourceStatics&&sourceStatics[key])&&!(targetStatics&&targetStatics[key])){const descriptor=getOwnPropertyDescriptor(sourceComponent,key);try{defineProperty(targetComponent,key,descriptor)}catch{}}}}return targetComponent}__name(hoistNonReactStatics,"hoistNonReactStatics");var ContextKey=Symbol.for("react-redux-context"),gT=typeof globalThis<"u"?globalThis:{};function getContext(){if(!reactExports.createContext)return{};const contextMap=gT[ContextKey]??=new Map;let realContext=contextMap.get(reactExports.createContext);return realContext||(realContext=reactExports.createContext(null),contextMap.set(reactExports.createContext,realContext)),realContext}__name(getContext,"getContext");var ReactReduxContext=getContext(),NO_SUBSCRIPTION_ARRAY=[null,null];function useIsomorphicLayoutEffectWithArgs(effectFunc,effectArgs,dependencies){useIsomorphicLayoutEffect(()=>effectFunc(...effectArgs),dependencies)}__name(useIsomorphicLayoutEffectWithArgs,"useIsomorphicLayoutEffectWithArgs");function captureWrapperProps(lastWrapperProps,lastChildProps,renderIsScheduled,wrapperProps,childPropsFromStoreUpdate,notifyNestedSubs){lastWrapperProps.current=wrapperProps,renderIsScheduled.current=!1,childPropsFromStoreUpdate.current&&(childPropsFromStoreUpdate.current=null,notifyNestedSubs())}__name(captureWrapperProps,"captureWrapperProps");function subscribeUpdates(shouldHandleStateChanges,store,subscription,childPropsSelector,lastWrapperProps,lastChildProps,renderIsScheduled,isMounted,childPropsFromStoreUpdate,notifyNestedSubs,additionalSubscribeListener){if(!shouldHandleStateChanges)return()=>{};let didUnsubscribe=!1,lastThrownError=null;const checkForUpdates=__name(()=>{if(didUnsubscribe||!isMounted.current)return;const latestStoreState=store.getState();let newChildProps,error;try{newChildProps=childPropsSelector(latestStoreState,lastWrapperProps.current)}catch(e){error=e,lastThrownError=e}error||(lastThrownError=null),newChildProps===lastChildProps.current?renderIsScheduled.current||notifyNestedSubs():(lastChildProps.current=newChildProps,childPropsFromStoreUpdate.current=newChildProps,renderIsScheduled.current=!0,additionalSubscribeListener())},"checkForUpdates");return subscription.onStateChange=checkForUpdates,subscription.trySubscribe(),checkForUpdates(),__name(()=>{if(didUnsubscribe=!0,subscription.tryUnsubscribe(),subscription.onStateChange=null,lastThrownError)throw lastThrownError},"unsubscribeWrapper")}__name(subscribeUpdates,"subscribeUpdates");function strictEqual(a,b){return a===b}__name(strictEqual,"strictEqual");function connect(mapStateToProps,mapDispatchToProps,mergeProps,{pure,areStatesEqual=strictEqual,areOwnPropsEqual=shallowEqual,areStatePropsEqual=shallowEqual,areMergedPropsEqual=shallowEqual,forwardRef=!1,context=ReactReduxContext}={}){const Context=context,initMapStateToProps=mapStateToPropsFactory(mapStateToProps),initMapDispatchToProps=mapDispatchToPropsFactory(mapDispatchToProps),initMergeProps=mergePropsFactory(mergeProps),shouldHandleStateChanges=!!mapStateToProps;return __name(WrappedComponent=>{const wrappedComponentName=WrappedComponent.displayName||WrappedComponent.name||"Component",displayName=`Connect(${wrappedComponentName})`,selectorFactoryOptions={shouldHandleStateChanges,displayName,wrappedComponentName,WrappedComponent,initMapStateToProps,initMapDispatchToProps,initMergeProps,areStatesEqual,areStatePropsEqual,areOwnPropsEqual,areMergedPropsEqual};function ConnectFunction(props){const[propsContext,reactReduxForwardedRef,wrapperProps]=reactExports.useMemo(()=>{const{reactReduxForwardedRef:reactReduxForwardedRef2,...wrapperProps2}=props;return[props.context,reactReduxForwardedRef2,wrapperProps2]},[props]),ContextToUse=reactExports.useMemo(()=>{let ResultContext=Context;return propsContext?.Consumer,ResultContext},[propsContext,Context]),contextValue=reactExports.useContext(ContextToUse),didStoreComeFromProps=!!props.store&&!!props.store.getState&&!!props.store.dispatch,didStoreComeFromContext=!!contextValue&&!!contextValue.store,store=didStoreComeFromProps?props.store:contextValue.store,getServerState=didStoreComeFromContext?contextValue.getServerState:store.getState,childPropsSelector=reactExports.useMemo(()=>finalPropsSelectorFactory(store.dispatch,selectorFactoryOptions),[store]),[subscription,notifyNestedSubs]=reactExports.useMemo(()=>{if(!shouldHandleStateChanges)return NO_SUBSCRIPTION_ARRAY;const subscription2=createSubscription(store,didStoreComeFromProps?void 0:contextValue.subscription),notifyNestedSubs2=subscription2.notifyNestedSubs.bind(subscription2);return[subscription2,notifyNestedSubs2]},[store,didStoreComeFromProps,contextValue]),overriddenContextValue=reactExports.useMemo(()=>didStoreComeFromProps?contextValue:{...contextValue,subscription},[didStoreComeFromProps,contextValue,subscription]),lastChildProps=reactExports.useRef(void 0),lastWrapperProps=reactExports.useRef(wrapperProps),childPropsFromStoreUpdate=reactExports.useRef(void 0),renderIsScheduled=reactExports.useRef(!1),isMounted=reactExports.useRef(!1),latestSubscriptionCallbackError=reactExports.useRef(void 0);useIsomorphicLayoutEffect(()=>(isMounted.current=!0,()=>{isMounted.current=!1}),[]);const actualChildPropsSelector=reactExports.useMemo(()=>__name(()=>childPropsFromStoreUpdate.current&&wrapperProps===lastWrapperProps.current?childPropsFromStoreUpdate.current:childPropsSelector(store.getState(),wrapperProps),"selector"),[store,wrapperProps]),subscribeForReact=reactExports.useMemo(()=>__name(reactListener=>subscription?subscribeUpdates(shouldHandleStateChanges,store,subscription,childPropsSelector,lastWrapperProps,lastChildProps,renderIsScheduled,isMounted,childPropsFromStoreUpdate,notifyNestedSubs,reactListener):()=>{},"subscribe"),[subscription]);useIsomorphicLayoutEffectWithArgs(captureWrapperProps,[lastWrapperProps,lastChildProps,renderIsScheduled,wrapperProps,childPropsFromStoreUpdate,notifyNestedSubs]);let actualChildProps;try{actualChildProps=reactExports.useSyncExternalStore(subscribeForReact,actualChildPropsSelector,getServerState?()=>childPropsSelector(getServerState(),wrapperProps):actualChildPropsSelector)}catch(err){throw latestSubscriptionCallbackError.current&&(err.message+=`
|
|
2
|
+
The error may be correlated with this previous error:
|
|
3
|
+
${latestSubscriptionCallbackError.current.stack}
|
|
4
|
+
|
|
5
|
+
`),err}useIsomorphicLayoutEffect(()=>{latestSubscriptionCallbackError.current=void 0,childPropsFromStoreUpdate.current=void 0,lastChildProps.current=actualChildProps});const renderedWrappedComponent=reactExports.useMemo(()=>reactExports.createElement(WrappedComponent,{...actualChildProps,ref:reactReduxForwardedRef}),[reactReduxForwardedRef,WrappedComponent,actualChildProps]);return reactExports.useMemo(()=>shouldHandleStateChanges?reactExports.createElement(ContextToUse.Provider,{value:overriddenContextValue},renderedWrappedComponent):renderedWrappedComponent,[ContextToUse,renderedWrappedComponent,overriddenContextValue])}__name(ConnectFunction,"ConnectFunction");const Connect=reactExports.memo(ConnectFunction);if(Connect.WrappedComponent=WrappedComponent,Connect.displayName=ConnectFunction.displayName=displayName,forwardRef){const forwarded=reactExports.forwardRef(__name(function(props,ref){return reactExports.createElement(Connect,{...props,reactReduxForwardedRef:ref})},"forwardConnectRef"));return forwarded.displayName=displayName,forwarded.WrappedComponent=WrappedComponent,hoistNonReactStatics(forwarded,WrappedComponent)}return hoistNonReactStatics(Connect,WrappedComponent)},"wrapWithConnect")}__name(connect,"connect");var connect_default=connect;function Provider(providerProps){const{children,context,serverState,store}=providerProps,contextValue=reactExports.useMemo(()=>{const subscription=createSubscription(store);return{store,subscription,getServerState:serverState?()=>serverState:void 0}},[store,serverState]),previousState=reactExports.useMemo(()=>store.getState(),[store]);useIsomorphicLayoutEffect(()=>{const{subscription}=contextValue;return subscription.onStateChange=subscription.notifyNestedSubs,subscription.trySubscribe(),previousState!==store.getState()&&subscription.notifyNestedSubs(),()=>{subscription.tryUnsubscribe(),subscription.onStateChange=void 0}},[contextValue,previousState]);const Context=context||ReactReduxContext;return reactExports.createElement(Context.Provider,{value:contextValue},children)}__name(Provider,"Provider");var Provider_default=Provider;export{Provider_default as P,createStore as a,applyMiddleware as b,compose as c,createSelector as d,bindActionCreators$1 as e,connect_default as f,isPlainObject as g,combineReducers as h,isAction as i,shallowEqual as s};
|
|
6
|
+
//# sourceMappingURL=react-redux-VxUEx_mU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-redux-VxUEx_mU.js","sources":["../../node_modules/.pnpm/redux@5.0.1/node_modules/redux/dist/redux.mjs","../../node_modules/.pnpm/reselect@5.1.1/node_modules/reselect/dist/reselect.mjs","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.4/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.4/node_modules/use-sync-external-store/with-selector.js","../../node_modules/.pnpm/react-redux@9.2.0_@types+react@19.2.14_react@19.2.4_redux@5.0.1/node_modules/react-redux/dist/react-redux.mjs"],"sourcesContent":["// src/utils/formatProdErrorMessage.ts\nfunction formatProdErrorMessage(code) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n}\n\n// src/utils/symbol-observable.ts\nvar $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\nvar symbol_observable_default = $$observable;\n\n// src/utils/actionTypes.ts\nvar randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\nvar ActionTypes = {\n INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n};\nvar actionTypes_default = ActionTypes;\n\n// src/utils/isPlainObject.ts\nfunction isPlainObject(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n let proto = obj;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null;\n}\n\n// src/utils/kindOf.ts\nfunction miniKindOf(val) {\n if (val === void 0)\n return \"undefined\";\n if (val === null)\n return \"null\";\n const type = typeof val;\n switch (type) {\n case \"boolean\":\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"function\": {\n return type;\n }\n }\n if (Array.isArray(val))\n return \"array\";\n if (isDate(val))\n return \"date\";\n if (isError(val))\n return \"error\";\n const constructorName = ctorName(val);\n switch (constructorName) {\n case \"Symbol\":\n case \"Promise\":\n case \"WeakMap\":\n case \"WeakSet\":\n case \"Map\":\n case \"Set\":\n return constructorName;\n }\n return Object.prototype.toString.call(val).slice(8, -1).toLowerCase().replace(/\\s/g, \"\");\n}\nfunction ctorName(val) {\n return typeof val.constructor === \"function\" ? val.constructor.name : null;\n}\nfunction isError(val) {\n return val instanceof Error || typeof val.message === \"string\" && val.constructor && typeof val.constructor.stackTraceLimit === \"number\";\n}\nfunction isDate(val) {\n if (val instanceof Date)\n return true;\n return typeof val.toDateString === \"function\" && typeof val.getDate === \"function\" && typeof val.setDate === \"function\";\n}\nfunction kindOf(val) {\n let typeOfVal = typeof val;\n if (process.env.NODE_ENV !== \"production\") {\n typeOfVal = miniKindOf(val);\n }\n return typeOfVal;\n}\n\n// src/createStore.ts\nfunction createStore(reducer, preloadedState, enhancer) {\n if (typeof reducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? 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.\");\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n enhancer = preloadedState;\n preloadedState = void 0;\n }\n if (typeof enhancer !== \"undefined\") {\n if (typeof enhancer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, preloadedState);\n }\n let currentReducer = reducer;\n let currentState = preloadedState;\n let currentListeners = /* @__PURE__ */ new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = /* @__PURE__ */ new Map();\n currentListeners.forEach((listener, key) => {\n nextListeners.set(key, listener);\n });\n }\n }\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? 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.\");\n }\n return currentState;\n }\n function subscribe(listener) {\n if (typeof listener !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener)}'`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? 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.\");\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? 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.\");\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? 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.`);\n }\n if (typeof action.type === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== \"string\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach((listener) => {\n listener();\n });\n return action;\n }\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = nextReducer;\n dispatch({\n type: actionTypes_default.REPLACE\n });\n }\n function observable() {\n const outerSubscribe = subscribe;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer) {\n if (typeof observer !== \"object\" || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = observer;\n if (observerAsObserver.next) {\n observerAsObserver.next(getState());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [symbol_observable_default]() {\n return this;\n }\n };\n }\n dispatch({\n type: actionTypes_default.INIT\n });\n const store = {\n dispatch,\n subscribe,\n getState,\n replaceReducer,\n [symbol_observable_default]: observable\n };\n return store;\n}\nfunction legacy_createStore(reducer, preloadedState, enhancer) {\n return createStore(reducer, preloadedState, enhancer);\n}\n\n// src/utils/warning.ts\nfunction warning(message) {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(message);\n }\n try {\n throw new Error(message);\n } catch (e) {\n }\n}\n\n// src/combineReducers.ts\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n const reducerKeys = Object.keys(reducers);\n const argumentName = action && action.type === actionTypes_default.INIT ? \"preloadedState argument passed to createStore\" : \"previous state received by the reducer\";\n if (reducerKeys.length === 0) {\n return \"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";\n }\n if (!isPlainObject(inputState)) {\n return `The ${argumentName} has unexpected type of \"${kindOf(inputState)}\". Expected argument to be an object with the following keys: \"${reducerKeys.join('\", \"')}\"`;\n }\n const unexpectedKeys = Object.keys(inputState).filter((key) => !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]);\n unexpectedKeys.forEach((key) => {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === actionTypes_default.REPLACE)\n return;\n if (unexpectedKeys.length > 0) {\n return `Unexpected ${unexpectedKeys.length > 1 ? \"keys\" : \"key\"} \"${unexpectedKeys.join('\", \"')}\" found in ${argumentName}. Expected to find one of the known reducer keys instead: \"${reducerKeys.join('\", \"')}\". Unexpected keys will be ignored.`;\n }\n}\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach((key) => {\n const reducer = reducers[key];\n const initialState = reducer(void 0, {\n type: actionTypes_default.INIT\n });\n if (typeof initialState === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n }\n if (typeof reducer(void 0, {\n type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n }) === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n }\n });\n}\nfunction combineReducers(reducers) {\n const reducerKeys = Object.keys(reducers);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducers[key] === \"undefined\") {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers[key] === \"function\") {\n finalReducers[key] = reducers[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n let unexpectedKeyCache;\n if (process.env.NODE_ENV !== \"production\") {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state = {}, action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== \"production\") {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === \"undefined\") {\n const actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\n// src/bindActionCreators.ts\nfunction bindActionCreator(actionCreator, dispatch) {\n return function(...args) {\n return dispatch(actionCreator.apply(this, args));\n };\n}\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === \"function\") {\n return bindActionCreator(actionCreators, dispatch);\n }\n if (typeof actionCreators !== \"object\" || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : `bindActionCreators expected an object or a function, but instead received: '${kindOf(actionCreators)}'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?`);\n }\n const boundActionCreators = {};\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n if (typeof actionCreator === \"function\") {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n// src/compose.ts\nfunction compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n\n// src/applyMiddleware.ts\nfunction applyMiddleware(...middlewares) {\n return (createStore2) => (reducer, preloadedState) => {\n const store = createStore2(reducer, preloadedState);\n let dispatch = () => {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n };\n const middlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n}\n\n// src/utils/isAction.ts\nfunction isAction(action) {\n return isPlainObject(action) && \"type\" in action && typeof action.type === \"string\";\n}\nexport {\n actionTypes_default as __DO_NOT_USE__ActionTypes,\n applyMiddleware,\n bindActionCreators,\n combineReducers,\n compose,\n createStore,\n isAction,\n isPlainObject,\n legacy_createStore\n};\n//# sourceMappingURL=redux.mjs.map","// src/devModeChecks/identityFunctionCheck.ts\nvar runIdentityFunctionCheck = (resultFunc, inputSelectorsResults, outputSelectorResult) => {\n if (inputSelectorsResults.length === 1 && inputSelectorsResults[0] === outputSelectorResult) {\n let isInputSameAsOutput = false;\n try {\n const emptyObject = {};\n if (resultFunc(emptyObject) === emptyObject)\n isInputSameAsOutput = true;\n } catch {\n }\n if (isInputSameAsOutput) {\n let stack = void 0;\n try {\n throw new Error();\n } catch (e) {\n ;\n ({ stack } = e);\n }\n console.warn(\n \"The result function returned its own inputs without modification. e.g\\n`createSelector([state => state.todos], todos => todos)`\\nThis could lead to inefficient memoization and unnecessary re-renders.\\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.\",\n { stack }\n );\n }\n }\n};\n\n// src/devModeChecks/inputStabilityCheck.ts\nvar runInputStabilityCheck = (inputSelectorResultsObject, options, inputSelectorArgs) => {\n const { memoize, memoizeOptions } = options;\n const { inputSelectorResults, inputSelectorResultsCopy } = inputSelectorResultsObject;\n const createAnEmptyObject = memoize(() => ({}), ...memoizeOptions);\n const areInputSelectorResultsEqual = createAnEmptyObject.apply(null, inputSelectorResults) === createAnEmptyObject.apply(null, inputSelectorResultsCopy);\n if (!areInputSelectorResultsEqual) {\n let stack = void 0;\n try {\n throw new Error();\n } catch (e) {\n ;\n ({ stack } = e);\n }\n console.warn(\n \"An input selector returned a different result when passed same arguments.\\nThis means your output selector will likely run more frequently than intended.\\nAvoid returning a new reference inside your input selector, e.g.\\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`\",\n {\n arguments: inputSelectorArgs,\n firstInputs: inputSelectorResults,\n secondInputs: inputSelectorResultsCopy,\n stack\n }\n );\n }\n};\n\n// src/devModeChecks/setGlobalDevModeChecks.ts\nvar globalDevModeChecks = {\n inputStabilityCheck: \"once\",\n identityFunctionCheck: \"once\"\n};\nvar setGlobalDevModeChecks = (devModeChecks) => {\n Object.assign(globalDevModeChecks, devModeChecks);\n};\n\n// src/utils.ts\nvar NOT_FOUND = /* @__PURE__ */ Symbol(\"NOT_FOUND\");\nfunction assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {\n if (typeof func !== \"function\") {\n throw new TypeError(errorMessage);\n }\n}\nfunction assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {\n if (typeof object !== \"object\") {\n throw new TypeError(errorMessage);\n }\n}\nfunction assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {\n if (!array.every((item) => typeof item === \"function\")) {\n const itemTypes = array.map(\n (item) => typeof item === \"function\" ? `function ${item.name || \"unnamed\"}()` : typeof item\n ).join(\", \");\n throw new TypeError(`${errorMessage}[${itemTypes}]`);\n }\n}\nvar ensureIsArray = (item) => {\n return Array.isArray(item) ? item : [item];\n};\nfunction getDependencies(createSelectorArgs) {\n const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;\n assertIsArrayOfFunctions(\n dependencies,\n `createSelector expects all input-selectors to be functions, but received the following types: `\n );\n return dependencies;\n}\nfunction collectInputSelectorResults(dependencies, inputSelectorArgs) {\n const inputSelectorResults = [];\n const { length } = dependencies;\n for (let i = 0; i < length; i++) {\n inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));\n }\n return inputSelectorResults;\n}\nvar getDevModeChecksExecutionInfo = (firstRun, devModeChecks) => {\n const { identityFunctionCheck, inputStabilityCheck } = {\n ...globalDevModeChecks,\n ...devModeChecks\n };\n return {\n identityFunctionCheck: {\n shouldRun: identityFunctionCheck === \"always\" || identityFunctionCheck === \"once\" && firstRun,\n run: runIdentityFunctionCheck\n },\n inputStabilityCheck: {\n shouldRun: inputStabilityCheck === \"always\" || inputStabilityCheck === \"once\" && firstRun,\n run: runInputStabilityCheck\n }\n };\n};\n\n// src/autotrackMemoize/autotracking.ts\nvar $REVISION = 0;\nvar CURRENT_TRACKER = null;\nvar Cell = class {\n revision = $REVISION;\n _value;\n _lastValue;\n _isEqual = tripleEq;\n constructor(initialValue, isEqual = tripleEq) {\n this._value = this._lastValue = initialValue;\n this._isEqual = isEqual;\n }\n // Whenever a storage value is read, it'll add itself to the current tracker if\n // one exists, entangling its state with that cache.\n get value() {\n CURRENT_TRACKER?.add(this);\n return this._value;\n }\n // Whenever a storage value is updated, we bump the global revision clock,\n // assign the revision for this storage to the new value, _and_ we schedule a\n // rerender. This is important, and it's what makes autotracking _pull_\n // based. We don't actively tell the caches which depend on the storage that\n // anything has happened. Instead, we recompute the caches when needed.\n set value(newValue) {\n if (this.value === newValue)\n return;\n this._value = newValue;\n this.revision = ++$REVISION;\n }\n};\nfunction tripleEq(a, b) {\n return a === b;\n}\nvar TrackingCache = class {\n _cachedValue;\n _cachedRevision = -1;\n _deps = [];\n hits = 0;\n fn;\n constructor(fn) {\n this.fn = fn;\n }\n clear() {\n this._cachedValue = void 0;\n this._cachedRevision = -1;\n this._deps = [];\n this.hits = 0;\n }\n get value() {\n if (this.revision > this._cachedRevision) {\n const { fn } = this;\n const currentTracker = /* @__PURE__ */ new Set();\n const prevTracker = CURRENT_TRACKER;\n CURRENT_TRACKER = currentTracker;\n this._cachedValue = fn();\n CURRENT_TRACKER = prevTracker;\n this.hits++;\n this._deps = Array.from(currentTracker);\n this._cachedRevision = this.revision;\n }\n CURRENT_TRACKER?.add(this);\n return this._cachedValue;\n }\n get revision() {\n return Math.max(...this._deps.map((d) => d.revision), 0);\n }\n};\nfunction getValue(cell) {\n if (!(cell instanceof Cell)) {\n console.warn(\"Not a valid cell! \", cell);\n }\n return cell.value;\n}\nfunction setValue(storage, value) {\n if (!(storage instanceof Cell)) {\n throw new TypeError(\n \"setValue must be passed a tracked store created with `createStorage`.\"\n );\n }\n storage.value = storage._lastValue = value;\n}\nfunction createCell(initialValue, isEqual = tripleEq) {\n return new Cell(initialValue, isEqual);\n}\nfunction createCache(fn) {\n assertIsFunction(\n fn,\n \"the first parameter to `createCache` must be a function\"\n );\n return new TrackingCache(fn);\n}\n\n// src/autotrackMemoize/tracking.ts\nvar neverEq = (a, b) => false;\nfunction createTag() {\n return createCell(null, neverEq);\n}\nfunction dirtyTag(tag, value) {\n setValue(tag, value);\n}\nvar consumeCollection = (node) => {\n let tag = node.collectionTag;\n if (tag === null) {\n tag = node.collectionTag = createTag();\n }\n getValue(tag);\n};\nvar dirtyCollection = (node) => {\n const tag = node.collectionTag;\n if (tag !== null) {\n dirtyTag(tag, null);\n }\n};\n\n// src/autotrackMemoize/proxy.ts\nvar REDUX_PROXY_LABEL = Symbol();\nvar nextId = 0;\nvar proto = Object.getPrototypeOf({});\nvar ObjectTreeNode = class {\n constructor(value) {\n this.value = value;\n this.value = value;\n this.tag.value = value;\n }\n proxy = new Proxy(this, objectProxyHandler);\n tag = createTag();\n tags = {};\n children = {};\n collectionTag = null;\n id = nextId++;\n};\nvar objectProxyHandler = {\n get(node, key) {\n function calculateResult() {\n const { value } = node;\n const childValue = Reflect.get(value, key);\n if (typeof key === \"symbol\") {\n return childValue;\n }\n if (key in proto) {\n return childValue;\n }\n if (typeof childValue === \"object\" && childValue !== null) {\n let childNode = node.children[key];\n if (childNode === void 0) {\n childNode = node.children[key] = createNode(childValue);\n }\n if (childNode.tag) {\n getValue(childNode.tag);\n }\n return childNode.proxy;\n } else {\n let tag = node.tags[key];\n if (tag === void 0) {\n tag = node.tags[key] = createTag();\n tag.value = childValue;\n }\n getValue(tag);\n return childValue;\n }\n }\n const res = calculateResult();\n return res;\n },\n ownKeys(node) {\n consumeCollection(node);\n return Reflect.ownKeys(node.value);\n },\n getOwnPropertyDescriptor(node, prop) {\n return Reflect.getOwnPropertyDescriptor(node.value, prop);\n },\n has(node, prop) {\n return Reflect.has(node.value, prop);\n }\n};\nvar ArrayTreeNode = class {\n constructor(value) {\n this.value = value;\n this.value = value;\n this.tag.value = value;\n }\n proxy = new Proxy([this], arrayProxyHandler);\n tag = createTag();\n tags = {};\n children = {};\n collectionTag = null;\n id = nextId++;\n};\nvar arrayProxyHandler = {\n get([node], key) {\n if (key === \"length\") {\n consumeCollection(node);\n }\n return objectProxyHandler.get(node, key);\n },\n ownKeys([node]) {\n return objectProxyHandler.ownKeys(node);\n },\n getOwnPropertyDescriptor([node], prop) {\n return objectProxyHandler.getOwnPropertyDescriptor(node, prop);\n },\n has([node], prop) {\n return objectProxyHandler.has(node, prop);\n }\n};\nfunction createNode(value) {\n if (Array.isArray(value)) {\n return new ArrayTreeNode(value);\n }\n return new ObjectTreeNode(value);\n}\nfunction updateNode(node, newValue) {\n const { value, tags, children } = node;\n node.value = newValue;\n if (Array.isArray(value) && Array.isArray(newValue) && value.length !== newValue.length) {\n dirtyCollection(node);\n } else {\n if (value !== newValue) {\n let oldKeysSize = 0;\n let newKeysSize = 0;\n let anyKeysAdded = false;\n for (const _key in value) {\n oldKeysSize++;\n }\n for (const key in newValue) {\n newKeysSize++;\n if (!(key in value)) {\n anyKeysAdded = true;\n break;\n }\n }\n const isDifferent = anyKeysAdded || oldKeysSize !== newKeysSize;\n if (isDifferent) {\n dirtyCollection(node);\n }\n }\n }\n for (const key in tags) {\n const childValue = value[key];\n const newChildValue = newValue[key];\n if (childValue !== newChildValue) {\n dirtyCollection(node);\n dirtyTag(tags[key], newChildValue);\n }\n if (typeof newChildValue === \"object\" && newChildValue !== null) {\n delete tags[key];\n }\n }\n for (const key in children) {\n const childNode = children[key];\n const newChildValue = newValue[key];\n const childValue = childNode.value;\n if (childValue === newChildValue) {\n continue;\n } else if (typeof newChildValue === \"object\" && newChildValue !== null) {\n updateNode(childNode, newChildValue);\n } else {\n deleteNode(childNode);\n delete children[key];\n }\n }\n}\nfunction deleteNode(node) {\n if (node.tag) {\n dirtyTag(node.tag, null);\n }\n dirtyCollection(node);\n for (const key in node.tags) {\n dirtyTag(node.tags[key], null);\n }\n for (const key in node.children) {\n deleteNode(node.children[key]);\n }\n}\n\n// src/lruMemoize.ts\nfunction createSingletonCache(equals) {\n let entry;\n return {\n get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n return NOT_FOUND;\n },\n put(key, value) {\n entry = { key, value };\n },\n getEntries() {\n return entry ? [entry] : [];\n },\n clear() {\n entry = void 0;\n }\n };\n}\nfunction createLruCache(maxSize, equals) {\n let entries = [];\n function get(key) {\n const cacheIndex = entries.findIndex((entry) => equals(key, entry.key));\n if (cacheIndex > -1) {\n const entry = entries[cacheIndex];\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n return entry.value;\n }\n return NOT_FOUND;\n }\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n entries.unshift({ key, value });\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n function getEntries() {\n return entries;\n }\n function clear() {\n entries = [];\n }\n return { get, put, getEntries, clear };\n}\nvar referenceEqualityCheck = (a, b) => a === b;\nfunction createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n const { length } = prev;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n return true;\n };\n}\nfunction lruMemoize(func, equalityCheckOrOptions) {\n const providedOptions = typeof equalityCheckOrOptions === \"object\" ? equalityCheckOrOptions : { equalityCheck: equalityCheckOrOptions };\n const {\n equalityCheck = referenceEqualityCheck,\n maxSize = 1,\n resultEqualityCheck\n } = providedOptions;\n const comparator = createCacheKeyComparator(equalityCheck);\n let resultsCount = 0;\n const cache = maxSize <= 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);\n function memoized() {\n let value = cache.get(arguments);\n if (value === NOT_FOUND) {\n value = func.apply(null, arguments);\n resultsCount++;\n if (resultEqualityCheck) {\n const entries = cache.getEntries();\n const matchingEntry = entries.find(\n (entry) => resultEqualityCheck(entry.value, value)\n );\n if (matchingEntry) {\n value = matchingEntry.value;\n resultsCount !== 0 && resultsCount--;\n }\n }\n cache.put(arguments, value);\n }\n return value;\n }\n memoized.clearCache = () => {\n cache.clear();\n memoized.resetResultsCount();\n };\n memoized.resultsCount = () => resultsCount;\n memoized.resetResultsCount = () => {\n resultsCount = 0;\n };\n return memoized;\n}\n\n// src/autotrackMemoize/autotrackMemoize.ts\nfunction autotrackMemoize(func) {\n const node = createNode(\n []\n );\n let lastArgs = null;\n const shallowEqual = createCacheKeyComparator(referenceEqualityCheck);\n const cache = createCache(() => {\n const res = func.apply(null, node.proxy);\n return res;\n });\n function memoized() {\n if (!shallowEqual(lastArgs, arguments)) {\n updateNode(node, arguments);\n lastArgs = arguments;\n }\n return cache.value;\n }\n memoized.clearCache = () => {\n return cache.clear();\n };\n return memoized;\n}\n\n// src/weakMapMemoize.ts\nvar StrongRef = class {\n constructor(value) {\n this.value = value;\n }\n deref() {\n return this.value;\n }\n};\nvar Ref = typeof WeakRef !== \"undefined\" ? WeakRef : StrongRef;\nvar UNTERMINATED = 0;\nvar TERMINATED = 1;\nfunction createCacheNode() {\n return {\n s: UNTERMINATED,\n v: void 0,\n o: null,\n p: null\n };\n}\nfunction weakMapMemoize(func, options = {}) {\n let fnNode = createCacheNode();\n const { resultEqualityCheck } = options;\n let lastResult;\n let resultsCount = 0;\n function memoized() {\n let cacheNode = fnNode;\n const { length } = arguments;\n for (let i = 0, l = length; i < l; i++) {\n const arg = arguments[i];\n if (typeof arg === \"function\" || typeof arg === \"object\" && arg !== null) {\n let objectCache = cacheNode.o;\n if (objectCache === null) {\n cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();\n }\n const objectNode = objectCache.get(arg);\n if (objectNode === void 0) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n let primitiveCache = cacheNode.p;\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();\n }\n const primitiveNode = primitiveCache.get(arg);\n if (primitiveNode === void 0) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n const terminatedNode = cacheNode;\n let result;\n if (cacheNode.s === TERMINATED) {\n result = cacheNode.v;\n } else {\n result = func.apply(null, arguments);\n resultsCount++;\n if (resultEqualityCheck) {\n const lastResultValue = lastResult?.deref?.() ?? lastResult;\n if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {\n result = lastResultValue;\n resultsCount !== 0 && resultsCount--;\n }\n const needsWeakRef = typeof result === \"object\" && result !== null || typeof result === \"function\";\n lastResult = needsWeakRef ? new Ref(result) : result;\n }\n }\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n }\n memoized.clearCache = () => {\n fnNode = createCacheNode();\n memoized.resetResultsCount();\n };\n memoized.resultsCount = () => resultsCount;\n memoized.resetResultsCount = () => {\n resultsCount = 0;\n };\n return memoized;\n}\n\n// src/createSelectorCreator.ts\nfunction createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {\n const createSelectorCreatorOptions = typeof memoizeOrOptions === \"function\" ? {\n memoize: memoizeOrOptions,\n memoizeOptions: memoizeOptionsFromArgs\n } : memoizeOrOptions;\n const createSelector2 = (...createSelectorArgs) => {\n let recomputations = 0;\n let dependencyRecomputations = 0;\n let lastResult;\n let directlyPassedOptions = {};\n let resultFunc = createSelectorArgs.pop();\n if (typeof resultFunc === \"object\") {\n directlyPassedOptions = resultFunc;\n resultFunc = createSelectorArgs.pop();\n }\n assertIsFunction(\n resultFunc,\n `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`\n );\n const combinedOptions = {\n ...createSelectorCreatorOptions,\n ...directlyPassedOptions\n };\n const {\n memoize,\n memoizeOptions = [],\n argsMemoize = weakMapMemoize,\n argsMemoizeOptions = [],\n devModeChecks = {}\n } = combinedOptions;\n const finalMemoizeOptions = ensureIsArray(memoizeOptions);\n const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);\n const dependencies = getDependencies(createSelectorArgs);\n const memoizedResultFunc = memoize(function recomputationWrapper() {\n recomputations++;\n return resultFunc.apply(\n null,\n arguments\n );\n }, ...finalMemoizeOptions);\n let firstRun = true;\n const selector = argsMemoize(function dependenciesChecker() {\n dependencyRecomputations++;\n const inputSelectorResults = collectInputSelectorResults(\n dependencies,\n arguments\n );\n lastResult = memoizedResultFunc.apply(null, inputSelectorResults);\n if (process.env.NODE_ENV !== \"production\") {\n const { identityFunctionCheck, inputStabilityCheck } = getDevModeChecksExecutionInfo(firstRun, devModeChecks);\n if (identityFunctionCheck.shouldRun) {\n identityFunctionCheck.run(\n resultFunc,\n inputSelectorResults,\n lastResult\n );\n }\n if (inputStabilityCheck.shouldRun) {\n const inputSelectorResultsCopy = collectInputSelectorResults(\n dependencies,\n arguments\n );\n inputStabilityCheck.run(\n { inputSelectorResults, inputSelectorResultsCopy },\n { memoize, memoizeOptions: finalMemoizeOptions },\n arguments\n );\n }\n if (firstRun)\n firstRun = false;\n }\n return lastResult;\n }, ...finalArgsMemoizeOptions);\n return Object.assign(selector, {\n resultFunc,\n memoizedResultFunc,\n dependencies,\n dependencyRecomputations: () => dependencyRecomputations,\n resetDependencyRecomputations: () => {\n dependencyRecomputations = 0;\n },\n lastResult: () => lastResult,\n recomputations: () => recomputations,\n resetRecomputations: () => {\n recomputations = 0;\n },\n memoize,\n argsMemoize\n });\n };\n Object.assign(createSelector2, {\n withTypes: () => createSelector2\n });\n return createSelector2;\n}\nvar createSelector = /* @__PURE__ */ createSelectorCreator(weakMapMemoize);\n\n// src/createStructuredSelector.ts\nvar createStructuredSelector = Object.assign(\n (inputSelectorsObject, selectorCreator = createSelector) => {\n assertIsObject(\n inputSelectorsObject,\n `createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`\n );\n const inputSelectorKeys = Object.keys(inputSelectorsObject);\n const dependencies = inputSelectorKeys.map(\n (key) => inputSelectorsObject[key]\n );\n const structuredSelector = selectorCreator(\n dependencies,\n (...inputSelectorResults) => {\n return inputSelectorResults.reduce((composition, value, index) => {\n composition[inputSelectorKeys[index]] = value;\n return composition;\n }, {});\n }\n );\n return structuredSelector;\n },\n { withTypes: () => createStructuredSelector }\n);\nexport {\n createSelector,\n createSelectorCreator,\n createStructuredSelector,\n lruMemoize,\n referenceEqualityCheck,\n setGlobalDevModeChecks,\n autotrackMemoize as unstable_autotrackMemoize,\n weakMapMemoize\n};\n//# sourceMappingURL=reselect.mjs.map","/**\n * @license React\n * use-sync-external-store-with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = React.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/use-sync-external-store-with-selector.production.js');\n} else {\n module.exports = require('./cjs/use-sync-external-store-with-selector.development.js');\n}\n","// src/utils/react.ts\nimport * as React from \"react\";\n\n// src/utils/react-is.ts\nvar IS_REACT_19 = /* @__PURE__ */ React.version.startsWith(\"19\");\nvar REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\n IS_REACT_19 ? \"react.transitional.element\" : \"react.element\"\n);\nvar REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\nvar REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\nvar REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\nvar REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\nvar REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\nvar REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\nvar REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\nvar REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\nvar REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for(\n \"react.suspense_list\"\n);\nvar REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for(\"react.memo\");\nvar REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\nvar REACT_OFFSCREEN_TYPE = /* @__PURE__ */ Symbol.for(\"react.offscreen\");\nvar REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for(\n \"react.client.reference\"\n);\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nfunction isValidElementType(type) {\n return typeof type === \"string\" || typeof type === \"function\" || type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_OFFSCREEN_TYPE || typeof type === \"object\" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_CONSUMER_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_CLIENT_REFERENCE || type.getModuleId !== void 0) ? true : false;\n}\nfunction typeOf(object) {\n if (typeof object === \"object\" && object !== null) {\n const { $$typeof } = object;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (object = object.type, object) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (object = object && object.$$typeof, object) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nfunction isContextConsumer(object) {\n return IS_REACT_19 ? typeOf(object) === REACT_CONSUMER_TYPE : typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\n\n// src/utils/warning.ts\nfunction warning(message) {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(message);\n }\n try {\n throw new Error(message);\n } catch (e) {\n }\n}\n\n// src/connect/verifySubselectors.ts\nfunction verify(selector, methodName) {\n if (!selector) {\n throw new Error(`Unexpected value for ${methodName} in connect.`);\n } else if (methodName === \"mapStateToProps\" || methodName === \"mapDispatchToProps\") {\n if (!Object.prototype.hasOwnProperty.call(selector, \"dependsOnOwnProps\")) {\n warning(\n `The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`\n );\n }\n }\n}\nfunction verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) {\n verify(mapStateToProps, \"mapStateToProps\");\n verify(mapDispatchToProps, \"mapDispatchToProps\");\n verify(mergeProps, \"mergeProps\");\n}\n\n// src/connect/selectorFactory.ts\nfunction pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps)\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps)\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps)\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged)\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(\n nextState,\n state,\n nextOwnProps,\n ownProps\n );\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\nfunction finalPropsSelectorFactory(dispatch, {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps,\n ...options\n}) {\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n if (process.env.NODE_ENV !== \"production\") {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}\n\n// src/utils/bindActionCreators.ts\nfunction bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n if (typeof actionCreator === \"function\") {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n return boundActionCreators;\n}\n\n// src/utils/isPlainObject.ts\nfunction isPlainObject(obj) {\n if (typeof obj !== \"object\" || obj === null) return false;\n const proto = Object.getPrototypeOf(obj);\n if (proto === null) return true;\n let baseProto = proto;\n while (Object.getPrototypeOf(baseProto) !== null) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n return proto === baseProto;\n}\n\n// src/utils/verifyPlainObject.ts\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!isPlainObject(value)) {\n warning(\n `${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`\n );\n }\n}\n\n// src/connect/wrapMapToProps.ts\nfunction wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n function constantSelector() {\n return constant;\n }\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n}\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n}\nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, { displayName }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, void 0);\n };\n proxy.dependsOnOwnProps = true;\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n if (typeof props === \"function\") {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n if (process.env.NODE_ENV !== \"production\")\n verifyPlainObject(props, displayName, methodName);\n return props;\n };\n return proxy;\n };\n}\n\n// src/connect/invalidArgFactory.ts\nfunction createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(\n `Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`\n );\n };\n}\n\n// src/connect/mapDispatchToProps.ts\nfunction mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === \"object\" ? wrapMapToPropsConstant(\n (dispatch) => (\n // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch)\n )\n ) : !mapDispatchToProps ? wrapMapToPropsConstant((dispatch) => ({\n dispatch\n })) : typeof mapDispatchToProps === \"function\" ? (\n // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, \"mapDispatchToProps\")\n ) : createInvalidArgFactory(mapDispatchToProps, \"mapDispatchToProps\");\n}\n\n// src/connect/mapStateToProps.ts\nfunction mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) : typeof mapStateToProps === \"function\" ? (\n // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, \"mapStateToProps\")\n ) : createInvalidArgFactory(mapStateToProps, \"mapStateToProps\");\n}\n\n// src/connect/mergeProps.ts\nfunction defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return { ...ownProps, ...stateProps, ...dispatchProps };\n}\nfunction wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, { displayName, areMergedPropsEqual }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps))\n mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== \"production\")\n verifyPlainObject(mergedProps, displayName, \"mergeProps\");\n }\n return mergedProps;\n };\n };\n}\nfunction mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === \"function\" ? wrapMergePropsFunc(mergeProps) : createInvalidArgFactory(mergeProps, \"mergeProps\");\n}\n\n// src/utils/batch.ts\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\n// src/utils/Subscription.ts\nfunction createListenerCollection() {\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n notify() {\n defaultNoopBatch(() => {\n let listener = first;\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get() {\n const listeners = [];\n let listener = first;\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n return listeners;\n },\n subscribe(callback) {\n let isSubscribed = true;\n const listener = last = {\n callback,\n next: null,\n prev: last\n };\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\nvar nullListeners = {\n notify() {\n },\n get: () => []\n};\nfunction createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n let subscriptionsAmount = 0;\n let selfSubscribed = false;\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener);\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n function notifyNestedSubs() {\n listeners.notify();\n }\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n function isSubscribed() {\n return selfSubscribed;\n }\n function trySubscribe() {\n subscriptionsAmount++;\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n function tryUnsubscribe() {\n subscriptionsAmount--;\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = void 0;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}\n\n// src/utils/useIsomorphicLayoutEffect.ts\nvar canUseDOM = () => !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\nvar isDOM = /* @__PURE__ */ canUseDOM();\nvar isRunningInReactNative = () => typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\";\nvar isReactNative = /* @__PURE__ */ isRunningInReactNative();\nvar getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? React.useLayoutEffect : React.useEffect;\nvar useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();\n\n// src/utils/shallowEqual.ts\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\n// src/utils/hoistStatics.ts\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {\n [ForwardRef]: FORWARD_REF_STATICS,\n [Memo]: MEMO_STATICS\n};\nfunction getStatics(component) {\n if (isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component[\"$$typeof\"]] || REACT_STATICS;\n}\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent) {\n if (typeof sourceComponent !== \"string\") {\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent);\n }\n }\n let keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n const targetStatics = getStatics(targetComponent);\n const sourceStatics = getStatics(sourceComponent);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!KNOWN_STATICS[key] && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {\n }\n }\n }\n }\n return targetComponent;\n}\n\n// src/components/Context.ts\nvar ContextKey = /* @__PURE__ */ Symbol.for(`react-redux-context`);\nvar gT = typeof globalThis !== \"undefined\" ? globalThis : (\n /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n {}\n);\nfunction getContext() {\n if (!React.createContext) return {};\n const contextMap = gT[ContextKey] ??= /* @__PURE__ */ new Map();\n let realContext = contextMap.get(React.createContext);\n if (!realContext) {\n realContext = React.createContext(\n null\n );\n if (process.env.NODE_ENV !== \"production\") {\n realContext.displayName = \"ReactRedux\";\n }\n contextMap.set(React.createContext, realContext);\n }\n return realContext;\n}\nvar ReactReduxContext = /* @__PURE__ */ getContext();\n\n// src/components/connect.tsx\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\nvar stringifyComponent = (Comp) => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n}\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false;\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, additionalSubscribeListener) {\n if (!shouldHandleStateChanges) return () => {\n };\n let didUnsubscribe = false;\n let lastThrownError = null;\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n return;\n }\n const latestStoreState = store.getState();\n let newChildProps, error;\n try {\n newChildProps = childPropsSelector(\n latestStoreState,\n lastWrapperProps.current\n );\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n if (!error) {\n lastThrownError = null;\n }\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true;\n additionalSubscribeListener();\n }\n };\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n if (lastThrownError) {\n throw lastThrownError;\n }\n };\n return unsubscribeWrapper;\n}\nfunction strictEqual(a, b) {\n return a === b;\n}\nvar hasWarnedAboutDeprecatedPureOption = false;\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== \"production\") {\n if (pure !== void 0 && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning(\n 'The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component'\n );\n }\n }\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n const wrapWithConnect = (WrappedComponent) => {\n if (process.env.NODE_ENV !== \"production\") {\n const isValid = /* @__PURE__ */ isValidElementType(WrappedComponent);\n if (!isValid)\n throw new Error(\n `You must pass a component to the function returned by connect. Instead received ${stringifyComponent(\n WrappedComponent\n )}`\n );\n }\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => {\n const { reactReduxForwardedRef: reactReduxForwardedRef2, ...wrapperProps2 } = props;\n return [props.context, reactReduxForwardedRef2, wrapperProps2];\n }, [props]);\n const ContextToUse = React.useMemo(() => {\n let ResultContext = Context;\n if (propsContext?.Consumer) {\n if (process.env.NODE_ENV !== \"production\") {\n const isValid = /* @__PURE__ */ isContextConsumer(\n // @ts-ignore\n /* @__PURE__ */ React.createElement(propsContext.Consumer, null)\n );\n if (!isValid) {\n throw new Error(\n \"You must pass a valid React context consumer as `props.context`\"\n );\n }\n ResultContext = propsContext;\n }\n }\n return ResultContext;\n }, [propsContext, Context]);\n const contextValue = React.useContext(ContextToUse);\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n if (process.env.NODE_ENV !== \"production\" && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\n `Could not find \"store\" in the context of \"${displayName}\". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to ${displayName} in connect options.`\n );\n }\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = React.useMemo(() => {\n return finalPropsSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY;\n const subscription2 = createSubscription(\n store,\n didStoreComeFromProps ? void 0 : contextValue.subscription\n );\n const notifyNestedSubs2 = subscription2.notifyNestedSubs.bind(subscription2);\n return [subscription2, notifyNestedSubs2];\n }, [store, didStoreComeFromProps, contextValue]);\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n return contextValue;\n }\n return {\n ...contextValue,\n subscription\n };\n }, [didStoreComeFromProps, contextValue, subscription]);\n const lastChildProps = React.useRef(void 0);\n const lastWrapperProps = React.useRef(wrapperProps);\n const childPropsFromStoreUpdate = React.useRef(void 0);\n const renderIsScheduled = React.useRef(false);\n const isMounted = React.useRef(false);\n const latestSubscriptionCallbackError = React.useRef(\n void 0\n );\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n }\n return childPropsSelector(store.getState(), wrapperProps);\n };\n return selector;\n }, [store, wrapperProps]);\n const subscribeForReact = React.useMemo(() => {\n const subscribe = (reactListener) => {\n if (!subscription) {\n return () => {\n };\n }\n return subscribeUpdates(\n shouldHandleStateChanges,\n store,\n subscription,\n // @ts-ignore\n childPropsSelector,\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n isMounted,\n childPropsFromStoreUpdate,\n notifyNestedSubs,\n reactListener\n );\n };\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n wrapperProps,\n childPropsFromStoreUpdate,\n notifyNestedSubs\n ]);\n let actualChildProps;\n try {\n actualChildProps = React.useSyncExternalStore(\n // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact,\n // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector,\n getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector\n );\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\nThe error may be correlated with this previous error:\n${latestSubscriptionCallbackError.current.stack}\n\n`;\n }\n throw err;\n }\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = void 0;\n childPropsFromStoreUpdate.current = void 0;\n lastChildProps.current = actualChildProps;\n });\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n // @ts-ignore\n /* @__PURE__ */ React.createElement(\n WrappedComponent,\n {\n ...actualChildProps,\n ref: reactReduxForwardedRef\n }\n )\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]);\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n return /* @__PURE__ */ React.createElement(ContextToUse.Provider, { value: overriddenContextValue }, renderedWrappedComponent);\n }\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n const _Connect = React.memo(ConnectFunction);\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n if (forwardRef) {\n const _forwarded = React.forwardRef(\n function forwardConnectRef(props, ref) {\n return /* @__PURE__ */ React.createElement(Connect, { ...props, reactReduxForwardedRef: ref });\n }\n );\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return /* @__PURE__ */ hoistNonReactStatics(forwarded, WrappedComponent);\n }\n return /* @__PURE__ */ hoistNonReactStatics(Connect, WrappedComponent);\n };\n return wrapWithConnect;\n}\nvar connect_default = connect;\n\n// src/components/Provider.tsx\nfunction Provider(providerProps) {\n const { children, context, serverState, store } = providerProps;\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store);\n const baseContextValue = {\n store,\n subscription,\n getServerState: serverState ? () => serverState : void 0\n };\n if (process.env.NODE_ENV === \"production\") {\n return baseContextValue;\n } else {\n const { identityFunctionCheck = \"once\", stabilityCheck = \"once\" } = providerProps;\n return /* @__PURE__ */ Object.assign(baseContextValue, {\n stabilityCheck,\n identityFunctionCheck\n });\n }\n }, [store, serverState]);\n const previousState = React.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const { subscription } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = void 0;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext;\n return /* @__PURE__ */ React.createElement(Context.Provider, { value: contextValue }, children);\n}\nvar Provider_default = Provider;\n\n// src/hooks/useReduxContext.ts\nfunction createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext2() {\n const contextValue = React.useContext(context);\n if (process.env.NODE_ENV !== \"production\" && !contextValue) {\n throw new Error(\n \"could not find react-redux context value; please ensure the component is wrapped in a <Provider>\"\n );\n }\n return contextValue;\n };\n}\nvar useReduxContext = /* @__PURE__ */ createReduxContextHook();\n\n// src/hooks/useStore.ts\nfunction createStoreHook(context = ReactReduxContext) {\n const useReduxContext2 = context === ReactReduxContext ? useReduxContext : (\n // @ts-ignore\n createReduxContextHook(context)\n );\n const useStore2 = () => {\n const { store } = useReduxContext2();\n return store;\n };\n Object.assign(useStore2, {\n withTypes: () => useStore2\n });\n return useStore2;\n}\nvar useStore = /* @__PURE__ */ createStoreHook();\n\n// src/hooks/useDispatch.ts\nfunction createDispatchHook(context = ReactReduxContext) {\n const useStore2 = context === ReactReduxContext ? useStore : createStoreHook(context);\n const useDispatch2 = () => {\n const store = useStore2();\n return store.dispatch;\n };\n Object.assign(useDispatch2, {\n withTypes: () => useDispatch2\n });\n return useDispatch2;\n}\nvar useDispatch = /* @__PURE__ */ createDispatchHook();\n\n// src/hooks/useSelector.ts\nimport { useSyncExternalStoreWithSelector } from \"use-sync-external-store/with-selector.js\";\nvar refEquality = (a, b) => a === b;\nfunction createSelectorHook(context = ReactReduxContext) {\n const useReduxContext2 = context === ReactReduxContext ? useReduxContext : createReduxContextHook(context);\n const useSelector2 = (selector, equalityFnOrOptions = {}) => {\n const { equalityFn = refEquality } = typeof equalityFnOrOptions === \"function\" ? { equalityFn: equalityFnOrOptions } : equalityFnOrOptions;\n if (process.env.NODE_ENV !== \"production\") {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n if (typeof selector !== \"function\") {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n if (typeof equalityFn !== \"function\") {\n throw new Error(\n `You must pass a function as an equality function to useSelector`\n );\n }\n }\n const reduxContext = useReduxContext2();\n const { store, subscription, getServerState } = reduxContext;\n const firstRun = React.useRef(true);\n const wrappedSelector = React.useCallback(\n {\n [selector.name](state) {\n const selected = selector(state);\n if (process.env.NODE_ENV !== \"production\") {\n const { devModeChecks = {} } = typeof equalityFnOrOptions === \"function\" ? {} : equalityFnOrOptions;\n const { identityFunctionCheck, stabilityCheck } = reduxContext;\n const {\n identityFunctionCheck: finalIdentityFunctionCheck,\n stabilityCheck: finalStabilityCheck\n } = {\n stabilityCheck,\n identityFunctionCheck,\n ...devModeChecks\n };\n if (finalStabilityCheck === \"always\" || finalStabilityCheck === \"once\" && firstRun.current) {\n const toCompare = selector(state);\n if (!equalityFn(selected, toCompare)) {\n let stack = void 0;\n try {\n throw new Error();\n } catch (e) {\n ;\n ({ stack } = e);\n }\n console.warn(\n \"Selector \" + (selector.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\",\n {\n state,\n selected,\n selected2: toCompare,\n stack\n }\n );\n }\n }\n if (finalIdentityFunctionCheck === \"always\" || finalIdentityFunctionCheck === \"once\" && firstRun.current) {\n if (selected === state) {\n let stack = void 0;\n try {\n throw new Error();\n } catch (e) {\n ;\n ({ stack } = e);\n }\n console.warn(\n \"Selector \" + (selector.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.\",\n { stack }\n );\n }\n }\n if (firstRun.current) firstRun.current = false;\n }\n return selected;\n }\n }[selector.name],\n [selector]\n );\n const selectedState = useSyncExternalStoreWithSelector(\n subscription.addNestedSub,\n store.getState,\n getServerState || store.getState,\n wrappedSelector,\n equalityFn\n );\n React.useDebugValue(selectedState);\n return selectedState;\n };\n Object.assign(useSelector2, {\n withTypes: () => useSelector2\n });\n return useSelector2;\n}\nvar useSelector = /* @__PURE__ */ createSelectorHook();\n\n// src/exports.ts\nvar batch = defaultNoopBatch;\nexport {\n Provider_default as Provider,\n ReactReduxContext,\n batch,\n connect_default as connect,\n createDispatchHook,\n createSelectorHook,\n createStoreHook,\n shallowEqual,\n useDispatch,\n useSelector,\n useStore\n};\n//# sourceMappingURL=react-redux.mjs.map"],"names":["bindActionCreators","require$$0","is","withSelectorModule","React.version","React.useLayoutEffect","React.useEffect","React.createContext","React.useMemo","React.useContext","React.useRef","React.useSyncExternalStore","React.createElement","React.memo","React.forwardRef"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|