{"_id":"@astral/mobx-router","_rev":"58-ac25a926ad9b23b08ec88dfae38874ea","name":"@astral/mobx-router","dist-tags":{"rc":"1.12.0-rc.0","latest":"1.13.2"},"versions":{"0.1.0":{"name":"@astral/mobx-router","version":"0.1.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@0.1.0","maintainers":[{"name":"and_tem","email":"ipad_nw@icloud.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"82bbf7aebeac1e52f7b06509109d8a77520c9f63","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-0.1.0.tgz","fileCount":170,"integrity":"sha512-MW8Y3/+JW73nV2zUVshlZoK0NN+vQXdfRzChZq6hlIrzRnoIpdPhZ7WaSzl7fN9MHJUxixjqvSSke+PpQfgl0g==","signatures":[{"sig":"MEQCICKmxzhpiH9U7LukO62eX/lbw5h95dF1xOujuojXkrN9AiBvaeI29FOmJsANaTRfrzUG/sxIZplRvLGmE62/UnCRjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209328},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"d5ce5acd156078ea49d5fba213bfddcf79e77c45","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-query","type":"git"},"_npmVersion":"11.3.0","description":"Абстрактный реактивный router service, позволяющий использовать один интерфейс взаимодействия для разных роутеров: - react-router v5 - react-router v6 и v7 - nextjs router","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.30.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_0.1.0_1756712076277_0.04010960477633452","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@astral/mobx-router","version":"0.2.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@0.2.0","maintainers":[{"name":"and_tem","email":"ipad_nw@icloud.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"4681deef793c2ef157ca0ab52f04bde9cadfdbf0","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-0.2.0.tgz","fileCount":170,"integrity":"sha512-jTu3R6bvdYtZ1KfjE+LFTj0wGgDT/LSH9u64EH1Z39U1GajbpUW5dFAqDlxskFvXsiAvWH3mREQTOt9eqlM4mw==","signatures":[{"sig":"MEYCIQDh+uS3LOSgD0x2eBiAxYiIipSCOQG3rw255DCEYOaJrQIhAOBvB9M/+M28r3ANGDOX5Gx/hdm0BhMe/8lrtQfbJSh7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215229},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"7f77b9caf5e401a119fd78888ad02d3f2c832047","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-query","type":"git"},"_npmVersion":"11.3.0","description":"Абстрактный реактивный router service, позволяющий использовать один интерфейс взаимодействия для разных роутеров: - react-router v5 - react-router v6 и v7 - nextjs router","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.30.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_0.2.0_1756990004199_0.917187630803453","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astral/mobx-router","version":"1.0.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.0.0","maintainers":[{"name":"and_tem","email":"ipad_nw@icloud.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"ffa1d9d7cb9183b6aed297e6c07bc300b465d18d","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.0.0.tgz","fileCount":182,"integrity":"sha512-L/y//daNqtu9G2IRLpmAuSZ5lvOGOTy49fwnqhgPoREJxbL77llHKsDCdDWblGiS6ffB+I0ANWd0e3dNgVBcsQ==","signatures":[{"sig":"MEYCIQCeXx0vlVyZVaZ/Wxr3Ma9g+7OHCfsjAfS3qJXhD9bDmQIhAIUpSK6+IZP5+aziZq+/lPJePm98Jg7gwFGrbXv4cTua","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238986},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"af9c1aa502e6955d6781155c32a8949c1b40100a","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-query","type":"git"},"_npmVersion":"10.9.3","description":"Абстрактный реактивный router service, позволяющий использовать один интерфейс взаимодействия для разных роутеров: - react-router v5 - react-router v6 и v7 - nextjs router","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.0.0_1757424520560_0.4749354112903268","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@astral/mobx-router","version":"1.0.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.0.2","maintainers":[{"name":"and_tem","email":"ipad_nw@icloud.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"02ecb9f0166d4f2a3673adbae6c73f9ae8aad080","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.0.2.tgz","fileCount":182,"integrity":"sha512-bzwl+6IE48ICwu3nIWV85QVK8AkqpSwzaqlx0R7Dr9MflNd8/Ddn85ThBkSuF44bP5GFTSrpN/KeqY71/Bearg==","signatures":[{"sig":"MEUCIQCcyw4oPltF31WVnt1MgWaU6lfaic+j5bJrGrQRJb16QwIgcHqMW7mCUlQ4Iecd3t+R+rnwF6Zqw74rgcoJm4ser7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239671},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"ae90e2bbd0914f8d3e635c00301d5e0e43625d8b","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"Абстрактный реактивный router service, позволяющий использовать один интерфейс взаимодействия для разных роутеров: - react-router v5 - react-router v6 и v7 - nextjs router","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.0.2_1757485017808_0.8920949854215499","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@astral/mobx-router","version":"1.0.3","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.0.3","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"888aa2202552ea74020389984c7362cb5bf4fd9d","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.0.3.tgz","fileCount":182,"integrity":"sha512-FhcSL/TvIBmFuSR6A0gaqCc4spGZBg2CFK2+6rzMz4YXIshRGY6k96Vu3hJF8Php5Z174oVDHDVLAxSSk7IVPg==","signatures":[{"sig":"MEUCIFf29zEGh7xgmtd/lwMSKM7+vUJ0F29e7orxSXC9tN5MAiEA6PqyMC0A1mHxAeeWKu3dBLa4nZ8Iw0juNehcYW1rx4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265162},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"7cf5bb35813b02b917cf2b7187d4dbd535d32f80","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px; align: center\" width=\"150px\" height=\"150px\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.0.3_1757514770199_0.5060213838411243","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@astral/mobx-router","version":"1.0.4","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.0.4","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"c8e0897ca43ddecc12900e1b236c83537589b74e","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.0.4.tgz","fileCount":182,"integrity":"sha512-ntqENp7cK3wGn1IWanoT8ZfwJ5TEcVzimOsuM7X7tHqCo6eraAIdY9Tu76knOOeq/85nq36N/Sjccz3MqPELkQ==","signatures":[{"sig":"MEYCIQCBgzsmg9RRXOHGBHY1u8RYrltCrA+GMAoqcqvhTZC24gIhAJnhwvMWDrSe30fo6b/Xc+sUXZMWTEf47gr3ntm5NiYH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240097},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"292310b9deab9e3f9d07a94a6d7e32355f1a2e81","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.0.4_1757578323237_0.7666823996972953","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@astral/mobx-router","version":"1.0.5","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.0.5","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"90130ab8dd7841b071623e72afd463a809778cdd","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.0.5.tgz","fileCount":182,"integrity":"sha512-Axg1tgADpzEhQgSkEgsb3jSuJuj7xvyRCAqMK+lkJQbMwE+cIlxWjh2dpPTq6Sw6iADBuPLgxchcv/Ap6uDg3w==","signatures":[{"sig":"MEQCIG4CnW9/VcJ/AiR61anTIka8wrOqqHWj9vICEzJUQ4rAAiAHR/Cc3vAdChuoBejMKu9aNLOT3r1nva8ZfqZfRjzwaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240728},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"097364c7694049473f9d1baf27acb63d1eb3b029","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.0.5_1758181923156_0.44727593642334207","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@astral/mobx-router","version":"1.1.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.1.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"25021903a3654cd6f3ba00a489c9c8806b46b1b8","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.1.0.tgz","fileCount":182,"integrity":"sha512-xhI9zdfiZBpapXIm/FlH7nRjIKsxFaquwOa6XuyC2CfL/jFdfilHlYJu9/VJgUneBn4k5RTVdgqoovyESHGlWw==","signatures":[{"sig":"MEUCIQD3+LXnIwTsfNkQDvegQ+jp2BFejs92oVzHUrlvxJsjnwIgFuX1ecXvdypkxO9ihEp+7l82SkNrw8+DKKud7gV5Ybk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240852},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"04c6f0a2ffeef1f3e82ec68d4159dbfaae28fc04","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.1.0_1759310616200_0.7739272263223758","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@astral/mobx-router","version":"1.1.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.1.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"d99ee4c2ca240a021e5d271b8635b608662170d8","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.1.1.tgz","fileCount":182,"integrity":"sha512-24wPP4DAaS/tiILZhA66t5JcklLEHRDrCdeZdeyBNqpVRVHnwWBFGqxfj/sZlDtUkoJ+XaGxdqSUo8fvcTo2Sw==","signatures":[{"sig":"MEYCIQChiM0yV2igbHXBa4oArTa902LNf//w4jFmqlZh3edaiAIhAJSiW+3ZYhH148Xg5zNS1jTZnZjMlWrIO/cStQ/5tFp+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241769},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"e4781a224f48008ec372863e4ba06341f9f41da8","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.1.1_1759327513561_0.7208263994046353","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@astral/mobx-router","version":"1.1.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.1.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"cbb6be390dca719781dd12d20b4ebf206abba0b1","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.1.2.tgz","fileCount":182,"integrity":"sha512-iqYeCBOpbFiLXTkOB63b5mArsnHIL9+qus9uj0CFzFI7Lg00jAr0CIx6BqmWE6rK24Q4i9uYv/LdauoQ/M4XoA==","signatures":[{"sig":"MEYCIQDjAGeFL9tp4FJAyWzDFtgzMOyZ+Wzn1WYTk/n7C2vyZQIhALMh6kli9M4Is1II38PZozh/tuQZVggW548PMsNNL/kh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241775},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"f2ad624fbbd0b7279fc64613c510f7a9ed696d3a","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.1.2_1759390161092_0.6799282046218871","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@astral/mobx-router","version":"1.1.3","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.1.3","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"b3309ce841a2a09c4055fe194926834831c13958","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.1.3.tgz","fileCount":206,"integrity":"sha512-3Ik6BD4fZGN+bkAD/+8yYo0ADjeCtkTzgw1+ay9hku6scxkRCRG0B54m8Tr5MNI4Ts7esLWaMVTNFiXOSjQRrw==","signatures":[{"sig":"MEYCIQC7+OyaG21163UT0sTDsiirbMs60sLRbDtRX9LYOdgXhwIhAJOB6Qda4b5xwJmMio990+AW/Pkk4fQGeNLmbyObot1e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268175},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"a868a7d954c181923ea4bd11252f179f945c8f79","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.1.3_1759752807686_0.8116183947529196","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@astral/mobx-router","version":"1.2.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.2.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"d162c7056e3b74cb8e84e58f1d7829d85ab4074e","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.2.0.tgz","fileCount":214,"integrity":"sha512-G1wWUzS6u28BcvUKQuwL8prSz4fEtmWDF8uGuOVOxVxkNDCiDBB8PYUu6ylD52MbKuvZtFpVqbS2FzfIRrCFgQ==","signatures":[{"sig":"MEUCIF8UV6/sy8zoyn8Ee54fTw9zR4T86D5O/mSgZJ6Ez1RwAiEArimkPFvvqqpF1EzikhHawLv6gGLUMfqj7kL21PRNWvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275944},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"1f92ab1c2199527f9265298ade411768f32c5291","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.2.0_1759823866388_0.8150230784104593","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@astral/mobx-router","version":"1.2.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.2.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"684a9c0d399f28d6f02f38488ab255e8de986fa6","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.2.1.tgz","fileCount":214,"integrity":"sha512-P6ZNjzlt2XsJoswpPrLwjnbeKuCaMDEhegcaL80sKFs2pVGPnMKm57fQvxA6tF4ncuqNQu7/9+E7/dYU8pgAlw==","signatures":[{"sig":"MEUCIFVrVO5IN+jqsX4FIikO542Zh2xWr4gB4N4k0yiBGGygAiEAq7A/GFIc7KoTBLFO/xP2Mc1ADMLzlJHByqIv8EtT+7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275735},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"abbe7f0060a32ae7fd00a56dab457eb7be08f0d4","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.2.1_1759834331826_0.07016551827317397","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-rc.2":{"name":"@astral/mobx-router","version":"1.2.2-rc.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.2.2-rc.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"54bb8f362cc32037bdb82b4c57f5940715b000ee","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.2.2-rc.2.tgz","fileCount":214,"integrity":"sha512-r4YngEJlZK3kNX5icF8m1B7RtMy+vviZBOSgX5p46gU7RoF4YK0YSnGulRdYqr1QDrMoLwdYQmBltY2TdjnbBA==","signatures":[{"sig":"MEQCIHv3aoJ9KlYpQD15xPRuE0TZPZzMbri8XnoxjR/dSpMjAiBNAI6gJtlwhe8jS3yu/7AxkKQTvCwroeEFG/Paulo/qQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277890},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"65c31ba8e408d131e42dba29d8791259fb3d4c7e","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.2.2-rc.2_1760006700809_0.4853124093592065","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-rc.6":{"name":"@astral/mobx-router","version":"1.2.2-rc.6","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.2.2-rc.6","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"50a9aa3e63dda6f0a9d6382bd67a31f9b5259821","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.2.2-rc.6.tgz","fileCount":218,"integrity":"sha512-A9rmFRgiqjba9Zl+0ZjgjwcoqyrS2lMwZCgjavqPKA2aIhH3WcW60UpF0rCZgvTvF86f9Dc5yd4irZ4xkN5JMQ==","signatures":[{"sig":"MEQCIGOMe0zABBaH0X04iUHJpXN4cCE2k84CjVZ9lUrO4yxAAiATDIswHAvONEmc2+8kkUgWVlBNnwGExF+I8owY4I7u6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294750},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"6db473457026784bfb29ab37ea0d9e34cd720ab0","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.2.2-rc.6_1760088257478_0.34069047092065996","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-rc.7":{"name":"@astral/mobx-router","version":"1.2.2-rc.7","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.2.2-rc.7","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"82623b6fc5c8b9dc8833ee6fbae12a10b6c94a07","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.2.2-rc.7.tgz","fileCount":218,"integrity":"sha512-MueA/5BrBjGZFQp0Fy74Xcm7NEleQEvL2UgxE2HOp196ySStIHJucI9U+srGdwFkC5UUvhXgou6Q53h9h1FlOA==","signatures":[{"sig":"MEYCIQC4LOYC5hc06i0NJ0ZRNyh/kLZzPFg12hT60wPR+nlZ4QIhAIuVdNdYFzK/p6J8vcC/pZjTQ5rBqCunW1mlTJjL4403","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296119},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"e14b43e0c55d644a1f50d3c6f3bcfb7771ab45e8","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.2.2-rc.7_1760092267522_0.5351553930221429","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@astral/mobx-router","version":"1.3.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"183b9a91d79d58d390bb818fdef3f4f5fcf1bc10","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.0.tgz","fileCount":218,"integrity":"sha512-1DMO5ht/DE4qNSrb825b1750F+l+jGDsg8l7w2dseIWCvTUAijeryEuOHid05EYJN1V0u/v+Cv0Z9cyfnxMAjQ==","signatures":[{"sig":"MEQCIHo0KQBLnOyUTFRha+A4taCglbf/YM83AJxRJvNdOAdkAiBLYjuembnhMhMb9XSRFHfO46D/ufATb7V9tXbxF2m8QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300240},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"ad8f04a0665bd7ef3ff6becccf3dd715993d3850","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.0_1760349807371_0.17300706302672264","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@astral/mobx-router","version":"1.3.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"39e56d9b12a47e22fa2434cb916142e6618d9e47","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.1.tgz","fileCount":218,"integrity":"sha512-bVt+dbV4Ruzo3iAYMkarNs7dU/e7gS14dSTwUsBUpGgSZWS5xJKkVPwi4IyC0FmWY0Td3ajixcmTkXVmg7tMpQ==","signatures":[{"sig":"MEUCIDMmAYhIzqHUA9qCMR3CyLDViMfc+STXr9Hnft5/gRJtAiEA/+ABBxQcM7WCcODWgBbDOSxAAIxKBnBD3VkOpuPfeP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300240},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"387303c8206c214caf0cdf68f1bba2224b8c798b","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.1_1760451222146_0.8692060967270583","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@astral/mobx-router","version":"1.3.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"61b19dae9f2676b982ad25f10f18a44d384e5e3c","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.2.tgz","fileCount":218,"integrity":"sha512-eg28moxn51RSbSaGDSwc8R8hsB7FI5W+bYkwmNDMaxAvRpP4rUcHrDqBl4EKivONeU5xCCfmcxgVHOLKWiCNTA==","signatures":[{"sig":"MEUCIDl9m1cz4UdOtbKIvEoxtmpDLAY6TkHSfPHhdLuWw2CZAiEA3sl7+HysZmSBSizk33EaDq5E0XJyETEfDzSa1O+Up0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301846},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"0d04717f85ddcf1340803a5bb3f07dcc746eb770","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.2_1760524722607_0.5487685678019087","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.1":{"name":"@astral/mobx-router","version":"1.3.3-rc.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"4ff7c6ece300c521b2c4ad04a666097db3f90dd1","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.1.tgz","fileCount":218,"integrity":"sha512-iGsMbR4g0d8TvQL/HEeGQrcJtphclP7Xi29QhgEW0AERy7VZd+WazzazcwZE6cun+DyUueF2Y4xfuY0ifBsNHw==","signatures":[{"sig":"MEUCIQC0CJdZlyR1zg/URm4rXZm2ziN9RMuL7LrqMEDj5CDBPQIgXToeE9hIbFvi6zLUfQiKwFju036piSUC05/OHyAYzfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303244},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"96ea4f592999d0e3e832a12704b9b9763198286a","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.1_1760535415658_0.1580532468764302","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.2":{"name":"@astral/mobx-router","version":"1.3.3-rc.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"fa1a3bd5f441eeb7f3a395283f3d8056b1c7b659","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.2.tgz","fileCount":218,"integrity":"sha512-lkAQOemDIfCpqK+z6WHDa3Jpt4sTpBb+PUGumKAj2hS4BDMtgsIH7Wb3ieo/XPTZ0nHKKbum4hYZNBaeypDm0w==","signatures":[{"sig":"MEUCIQD5ok7xkJUalPyyyJ6Y0ufyALYGki+aVZo9LoaZ0el+agIgGOV+RP6auByp9NhqIV0A9cPEQ+USwSIpOFBxQpQ9LlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303020},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"061d04148955c9a5c2c12e6ad19d2e767b5b03a4","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.2_1760539648341_0.6610607191820985","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.3":{"name":"@astral/mobx-router","version":"1.3.3-rc.3","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.3","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"75989b615f710b12f415b8a0ee097eb77efe51ca","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.3.tgz","fileCount":218,"integrity":"sha512-ac+6rYmlk18SvXo5YV40i3J4Tp2cs0mB0zmznhIsSZbA5HBYc6BlP1ytoixGbNqQ4cYA/e/Z1bGe26eO7geS2Q==","signatures":[{"sig":"MEYCIQDd6NTPhEB3MHItSr4i+hKJK7fl4V2VGcr777eA6IR2agIhAPPpgJBL+7eIhDvgY+JeKz8Z/OjX3eRwXEghPPjF+yxU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303216},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"061d04148955c9a5c2c12e6ad19d2e767b5b03a4","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.3_1760542405242_0.6611081716015526","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.4":{"name":"@astral/mobx-router","version":"1.3.3-rc.4","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.4","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"fbb4aa05c8801bcb45b46c6cd78ea0d7326c9d67","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.4.tgz","fileCount":218,"integrity":"sha512-f8vpStZxfrtc2qY72z+cy5vis1gKlWvAFM3CVJ4Ihzb6l72SuYR/cqxrLAFj+AmEjmw6dwy2EV9xulvKAPDTJw==","signatures":[{"sig":"MEYCIQCrD87Porgp8NZs3w2+r2a3INZ4LcgGFxpo3E1HrmtQuAIhALPYFAsl8ZDN4/HAJwlglWKrtdJJ7r9MloSohSIjU5vW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303019},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"1cef5e620ebbdccc05a9dd4072374f7d211bc759","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.4_1760609777122_0.5236074712100653","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.5":{"name":"@astral/mobx-router","version":"1.3.3-rc.5","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.5","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"f45eb523cc11cbbf7fe113d456821413f5357f9d","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.5.tgz","fileCount":218,"integrity":"sha512-zdy3UUMd26Aw8U1Y3Ay7eZJEMDtIc+utFygumwzZhXrK+Qx/RiRkMo+sSghfgU+ueSUPOwkH6YNPC6uKmL3Eig==","signatures":[{"sig":"MEUCIQDZZk7WfR+UGv3xG7jY/9Gq3ubYusFFzfYU0hhulKR2IAIgMQpgGho2Or4FuREMGsU02ZsVFIT1t9e8ydBmb4P7450=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303870},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"f5a1c2ecf3322f13e0f3e0e3edf6cf66128c2e10","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.5_1760990975155_0.0749835971274666","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-rc.6":{"name":"@astral/mobx-router","version":"1.3.3-rc.6","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3-rc.6","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"23c2bdddec085f487319487eb8b4c4885c842196","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3-rc.6.tgz","fileCount":218,"integrity":"sha512-saK/LT+s7JUmaI19GbqjwIjy61ZVWWydvXE1/xYDxguLSeBXzHSZnXwHQBHEAqc5E1GO93tRYMTkotP8Y/VBIg==","signatures":[{"sig":"MEUCIQDUWE5FjzDAdOFGpVhxdMTFtKMklYq7f6OcN3goBpVZKAIgfX+FawZVpHtHnzwdit1+HDWIHCBY+TL/UluwGN+MkS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306385},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"75c61358947f9e7725f0a6c790e4c0202590e549","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3-rc.6_1761057981012_0.6554715663955646","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@astral/mobx-router","version":"1.3.3","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.3","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"5d544b391ae53cc10ded140d9a3ce027f89254dd","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.3.tgz","fileCount":218,"integrity":"sha512-u/zw5sC4bfnA8WWWe/w9AdPHGNPMqJI0XyxPySmhuZd5Ra1E2VibRePuwZ2dV8qH/Se3uZ5EwD7ytLrjuANmvg==","signatures":[{"sig":"MEQCICUcqzScfqXB+7NmC6o4NUQ413i24W8cVPeojZHLG3O3AiBf7L/BaKfmNnRpYvSKgb72E9Uc47gWtGmssO1cklswkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306380},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"d2afebacdc710e11fb30b5fdb6e70ebea3a274f3","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.3","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.3_1761065873216_0.4996114125273876","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-rc.1":{"name":"@astral/mobx-router","version":"1.4.0-rc.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0-rc.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"731962f10d835232498c99ac1ce3f5fffc26b291","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0-rc.1.tgz","fileCount":218,"integrity":"sha512-OGP2dMcRcaUpYGpREYDriJX5Pm8pmKwPW3F68RnY0DkrEfPCqSdL/49YhOPpp+nMs2PXbi22YUA63fUKd6nLDw==","signatures":[{"sig":"MEUCIQDAKxeiFBhFy7lBamrbBv+egIF2s12Oi4+skqOZL25IaAIgZOl7KsudnhunIjqW7/gR/R2RGFj/OHoBsX1AApDkdjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309506},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"e414f1c0ce04c4d183c6a25b9c189f1b762f368c","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0-rc.1_1761138790420_0.6806608230499258","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-rc.2":{"name":"@astral/mobx-router","version":"1.4.0-rc.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0-rc.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"d10666a562b95d55deb35f92756ee308da5f451e","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0-rc.2.tgz","fileCount":218,"integrity":"sha512-hP4BNa49JM5i23QBwP/5bGtGIGlLHFZGkXTHQ2bh/dZgPrMn5Jh+FR+DX+08/wm2Mq670rHEW1kx9I+zWEYmlw==","signatures":[{"sig":"MEQCICgXokd1LhCTkodiAg/6o3WIWqwiUTenvE+eknWrgyZiAiAYs6TzQkfS0BIs5QiAGm/yKs7w5OGMQ18dlgkwS+pzOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308896},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"edbd4c2a7e7a5638af08204a2f7da027ef1da796","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0-rc.2_1761161583409_0.7720590321481551","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-rc.3":{"name":"@astral/mobx-router","version":"1.4.0-rc.3","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0-rc.3","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"e2cd8f97d4c4668a25bb5f4c7f3c2c80ea40baa2","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0-rc.3.tgz","fileCount":218,"integrity":"sha512-slh+HLkr9RT3avdlaZV4KljGERlIYvOqQpP7/y9KQVMDur5LdmGCT2A38a5sdVuYuz7s2TZLnSKW+sku7if1hg==","signatures":[{"sig":"MEQCIEkwNdqAnxiV8Qpr4oJwAclFwS8jjEK9VzYXM53LhiTAAiAYQbpGeJz9bIRbi1dkESv1H0BTPxwKSqThDL9iGLV/2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310658},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"af3fe61e994376a5ff2c3afe30adebfbe2caa909","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0-rc.3_1761163710700_0.5239018999436866","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-rc.4":{"name":"@astral/mobx-router","version":"1.4.0-rc.4","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0-rc.4","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"1da53466e1a6d2b7d7a927c7744358e522369c1a","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0-rc.4.tgz","fileCount":210,"integrity":"sha512-egp7hYzULEJO54fSdRzsPcxGPhmCUC/FMN6uLYXf9IhswdlLTSQy6jQzNGjnJ2rXkDb5ElXF+ZvBuDBOMhQcpg==","signatures":[{"sig":"MEQCIG/nuLOaM9qjbRLZCQdiqydT5wGLuoF487opZGZLDAMFAiAVNAl5wIdqP9MSRAfLSpZpmfL9uUX2GHF3iMvG2GS7Tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310395},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"1381c80ced530b0190381c27806c33955cf2c413","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0-rc.4_1761816285170_0.40992967926674817","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-rc.5":{"name":"@astral/mobx-router","version":"1.4.0-rc.5","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0-rc.5","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"5442ec857d4e85962326c144b0de4a223abda4f6","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0-rc.5.tgz","fileCount":210,"integrity":"sha512-NcNAA26Zja99/yfkypc4Vp+q9HjuWX09ms3y0dCYwA+CbApOd8yTst6MkS6C75P1jwTBHyMiQiPKb1Qt3nDceg==","signatures":[{"sig":"MEYCIQCpXcv6flObvUPXxJcDyVL58hyNrttKz0dEiJ2TDJW7JAIhANxbPyr0FLy3rDnp11hQji33Z/sSmXxXyhG8BLJjFIVK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310749},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"1b8f23fbc00926a6008ed628b13a91c8caffc2a5","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0-rc.5_1761817355446_0.4585400163348645","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@astral/mobx-router","version":"1.3.4","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.3.4","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"20d4b4dd3e35cfce312b8512dc97a91c1bb6e1ce","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.3.4.tgz","fileCount":218,"integrity":"sha512-cBaUG4YdMM8TC5dvL5DJzHq8Rux4bUbGy7uOpnOa1agxgE2Qv8DS7KPxTw8vQGo1t2DGjb+WkDZjW7wJ2cJZsg==","signatures":[{"sig":"MEUCIQDvtPumNWxFoeDx5ViZHzdDs6ZIPBAzEDuBnm3SR6ccfgIgYZ8wXvgqfuxERw/wRUmBh7r99WTjM2RPiAjvrXzAGV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308376},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"84c969e409a592a570072518d96628932eae9372","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.3.4_1761831245906_0.8769819647633561","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@astral/mobx-router","version":"1.4.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.4.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"f16e775137ed402f01b5ed4a5574a586fe4fa09d","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.4.0.tgz","fileCount":210,"integrity":"sha512-3e6P0cBC8y3FGfQXcK3E5+NYgl7FSzoE/bIEoXR6xTslKZaGAygoWxn+Y5STlW1yga82Sa7LDFFxVu7kRAUrVg==","signatures":[{"sig":"MEUCIGttrpCfT/g77gRnVon02696ZJ4I0Z+sFI0vanubC23gAiEAkT8y+F2hdxxyCUFJA+yjJEHDhmo5ns55os6J9H30JvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312740},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"016cc3ffbffd8136f858acfc65c8b4aa52fe6a0f","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.4.0_1762008958885_0.5495226858214395","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@astral/mobx-router","version":"1.5.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.5.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"f6df329b019be0adc44d15467044b8ce0244a339","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.5.0.tgz","fileCount":218,"integrity":"sha512-IYtZENvHiYJLwu2O/rfhS2n9S6Kyij6zy6HXOlURN5L/k3eMEsd/Joff45832PjWFH1wKhLlb2mmp26yNvc6uQ==","signatures":[{"sig":"MEUCIFJsu5pZOosZmSdNsS4PQJUQou1l/wFEAqrWp5bfd6J8AiEAjvW9Sp03RxA3MorbVLglAgWRBrHyDenNUf8LilKdsHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331160},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"683bed88c63d9be6260d90074543969349d8626e","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.5.0_1766049468089_0.6367336522751295","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@astral/mobx-router","version":"1.5.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.5.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"3be20e20faab530ee4963328492979bf662b75dc","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.5.1.tgz","fileCount":218,"integrity":"sha512-xv7BSuQ/YgBjAkJG+dIolnjhn8G1huPNmytolTg1QZp+unYa50BPh5mgFmBzX5P4IWMqsb5/st0LFuPMS/17pw==","signatures":[{"sig":"MEUCIFVHYaUirGffLqYNqbXemXQNq8O9LMvOtYcomiXqz5zyAiEAt3AVd1YJuJiccbkpb/QKlzC5DK/q8rDN1nbdDlBpefI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331160},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"3a402930ef87d17ff92b7fa8730fd502d65bc4a5","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.5.1_1766415141555_0.8318459451567874","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@astral/mobx-router","version":"1.5.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.5.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"27dd071b332c13f776fe72367a1dee138b96e5e6","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.5.2.tgz","fileCount":218,"integrity":"sha512-3Y4lnmjrk+oy/LuO7JYOZbzE2mqCQR87LU4hNqrjP4lTC27Hm+iw+uXCu7rtR/G/s88SbgBv0ZLmKTpTAvnZ6Q==","signatures":[{"sig":"MEQCIDH2H6QDgUBt3wa/LzIOvTdw4nNnjtDiy08vjMNWKgRHAiA+NAwfnulE2k8F9fsP9jH+8FfbeS2sd6ovT7bzbCvDNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331186},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"98c2ca3cbfc86d80f43132d23011452e8db6ce4c","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.5.2_1768392165822_0.18952960403469654","host":"s3://npm-registry-packages-npm-production"}},"1.5.3-rc.0":{"name":"@astral/mobx-router","version":"1.5.3-rc.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.5.3-rc.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"b6b0fee251952ea24ae151787c7cb13a844e8c93","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.5.3-rc.0.tgz","fileCount":226,"integrity":"sha512-YeRylc39lTqM/msS28xQduTHDh6x/T55DXCdlF45u4gQ+W8JEsJF+4a12H5yreqj6SgosWk4NIqBmw+KOkBDrA==","signatures":[{"sig":"MEUCIGjHb9WyOfNwJte3wTfc9cwAiIKWj3kZ8py6IXze0UboAiEAiaZMWSRWREoDXkS7LeQ8cTxf3pCA9nrjJiI/PhNuwJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346464},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"fe99f78754752a841a6dc3c09223ae2990a039bd","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.31.0","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.5.3-rc.0_1769523260043_0.5144830077141138","host":"s3://npm-registry-packages-npm-production"}},"1.5.3-rc.1":{"name":"@astral/mobx-router","version":"1.5.3-rc.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.5.3-rc.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"f1cb69225cefa38ae5211f95bb5f4866fbf6609f","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.5.3-rc.1.tgz","fileCount":238,"integrity":"sha512-ab4FXWrYjQYfIETgjjllgNHv4/CYD70WNoXJwBhhJT2uw3RgL+TWAHtJBiWXNFu+/bqdsymstKyAf5qKk1Ox0Q==","signatures":[{"sig":"MEYCIQCGkHusibBNlU3trD6o5meMejGTugn7ODWtQDNaEg26XQIhAJUCNaX84YB5Nje5vtp+m2UJruYjfbVt5+wjYFFX4x+1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356492},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"2e2b0cc9e79da5aa7fc5f19933d7c698dfee8601","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.5.3-rc.1_1769601433552_0.5114789651300344","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@astral/mobx-router","version":"1.6.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.6.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"baeab259d1a21df5342b0136c2db7fa0bb8992ef","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.6.0.tgz","fileCount":238,"integrity":"sha512-FZDYCkl2FVfH4i0bfmVa9IP4Gi8EQf+RLaN3kqglWgsgP820WizBfx35VyFrRWBqQPKTkYZUq4uZJQFjM8e9xw==","signatures":[{"sig":"MEUCIGOl32leyjOrcCgbLWOq2b+v9rB9EhDX/lq1KKjQ0xT/AiEA/t1+fCvdHxJvn0b85+fmh3XjJ5IQEm/qx7iPCuhogOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357184},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"4b496ac413cae92906fb6cdeec3a0ea44e32e672","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.6.0_1769676575475_0.8887565525405261","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@astral/mobx-router","version":"1.7.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.7.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"4a1853775ec5ab5d1c0cda01524e15b5786403f9","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.7.0.tgz","fileCount":246,"integrity":"sha512-uIdFqs9FDlWwTxRhbGk9xHpi6cK62uiJrLGHCsXhGvJh8V2yFReVjiqAcB1YrUrVeK5FEX75JQFWhrn9MXv5Uw==","signatures":[{"sig":"MEUCIQCSQEo0L1ocukvb/bCqcMnHjHUEKMW14THbH26W6dMRpwIgMQnzPNTnBPxDYmhfZt7psuTWRFS7UZH1FrurOXQ4fjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365502},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"8c47305763adda9f476fbc20dbaacf75cc993e6c","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.7.0_1769693310594_0.9217366805135105","host":"s3://npm-registry-packages-npm-production"}},"1.7.1-rc.0":{"name":"@astral/mobx-router","version":"1.7.1-rc.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.7.1-rc.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"afe602fa9ffbc2788a783b14b0d529ab5e38eab6","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.7.1-rc.0.tgz","fileCount":246,"integrity":"sha512-fQoLwY/wbeyCSmtzR+bUWnhP/GhwLBSGLDo9jeioZCDpPF/UyNp4/ptXF5q23jrSsp18Vz2gJPfPITALNOd0gA==","signatures":[{"sig":"MEYCIQDW0/egT8wM16QbTa7VaI+r9UQFcYFkm6iM8IR+XsvygQIhAK13qojkWHqHGmD81Q/kC4g1+efZMgaun5kaAMoeWpYg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366028},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"c7c104549d859f00dd468137e9b857318231c346","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.7.1-rc.0_1770034898616_0.019569227434598213","host":"s3://npm-registry-packages-npm-production"}},"1.7.1-rc.1":{"name":"@astral/mobx-router","version":"1.7.1-rc.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.7.1-rc.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"504fd48386ce9944e01eda26a2d1bc1a4ae5743c","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.7.1-rc.1.tgz","fileCount":246,"integrity":"sha512-H5fFuntykhINUj4RkMhSvd4454fa20hWrz/HUfW3RKfThme3RMRGfldtbwnwGHPJRxTDLPuKwIKFe9gSX7EGDA==","signatures":[{"sig":"MEUCIQDVVDPhY85wdvbhnH5+tqzWNYbMfHXRPQP2H0rACZxkMAIgX5kpJACeheAiQVmzGuUERbayoErKzq4PnzQbtcOCqoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369037},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"a13adfe42ae77ede345e53eeff260e121d90aa71","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.7.1-rc.1_1770101751148_0.311086386206346","host":"s3://npm-registry-packages-npm-production"}},"1.7.1-rc.2":{"name":"@astral/mobx-router","version":"1.7.1-rc.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.7.1-rc.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"005c051134589a08025a226b1a916e85dfcbca8b","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.7.1-rc.2.tgz","fileCount":246,"integrity":"sha512-nkx8E+pYtqfs3gq2wlpplhUoR1G6ya5I25lTiW7gaEvNt7K154QiLE1Lf6azL+gXQfkkx/ap2NAHPEqE5XXp3w==","signatures":[{"sig":"MEQCIF3wsmM9HzP3VQeFub1PvUAEvkQ4NtujHGfuFL1ivUfzAiBFYU66n5yML/03sxBBi4klrvw7rgbvRNtR+/vFXoXTCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372207},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"d1be78ccccb0be9b7bf50d378d4299dfda60d2d8","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.7.1-rc.2_1770111869475_0.7533260786388993","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@astral/mobx-router","version":"1.8.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.8.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"a3283b8c48898b254c1b61bfa0ec724bafa75d54","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.8.0.tgz","fileCount":246,"integrity":"sha512-hYa03tR7PRXE2UpQB9BT85UcZPLc7iczu2NTZ5PfHt0B9bWraDYQzi8Xf4DiUqCRMEvO9jLv7ETrasRMOWb9dQ==","signatures":[{"sig":"MEYCIQDdAYzJg6YMcZS9k5L5gn2/CJIyYPSxEE14ndPoM3t4ggIhAOZf1J5/H147CoTrZB55Dbb60Ypep7rgdj/cno/OdEa7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372234},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"9db07d517619c51aec413883a1ab64ddb6db3032","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.8.0_1770113727653_0.6502795010141225","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@astral/mobx-router","version":"1.8.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.8.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"06a41d4bbb990c42d84a8413bc782a598f0eb04e","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.8.1.tgz","fileCount":246,"integrity":"sha512-NTGTho5N5wUEFeY2qSJ/6Fe6BsRRMBFiABlW5FDXKWuqMyc7ZoFJ22eir1g6gFlEeshASQLtH6p26Met4KXqMg==","signatures":[{"sig":"MEUCIQDB7657luwcrEB5a2UpEFlKBTb+U8pBhHmHCbP6RmFy0gIgOZ44q5TmGN8FY9W8IAb1YCz4+OMYhbAY2dX90LdUKp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372234},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"6780ae77c92cc8662dfae8b66c514512c235490f","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.8.1_1770187847237_0.4524789577328039","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@astral/mobx-router","version":"1.9.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.9.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"a95772ecd877fccf556c777851464c22c3212859","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.9.0.tgz","fileCount":246,"integrity":"sha512-jJpO8qcmZufHYuzC//ALK6geYspVlB6aUh3bajl+dwwrchk/WK8vYLNvqHx+JkSW18vWvxbPRrO4gKoOfdp3sw==","signatures":[{"sig":"MEQCIHVlr/d7MoPgYitIqKIe4+ZDwRoFpme9DOEnbFhbw6lMAiBxnemGD+/9NHBNLWisS8HytEK5V/8MnHi4IO+vXdFTHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375059},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"238e5bddd9930e8cd281076fa45500997b82e6ff","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"10.9.4","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.9.0_1771568704343_0.4334735295491381","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@astral/mobx-router","version":"1.9.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.9.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"1450718b9f4fa30d04d6cc57248bb697d86aa537","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.9.1.tgz","fileCount":246,"integrity":"sha512-EeyPEKvUIlyHar55GCYXXs1SnCde7eW2XyYdsHbrLLre5c0afLrb+y0fkrkIXFvVnPgePPO0mZQB7Qv3O2nJAg==","signatures":[{"sig":"MEQCIFAYwQQhGoEtkixppwAYkRvk7ps9BinZ2zYzNgI71pfSAiAhktsInMtx7OTkBD6gwUbiP55OQ8I//s3I3Un1x34m3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375907},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"3cef5eea062267131b298d440de6c541f18fb089","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.9.1_1772091905364_0.6637134731322036","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@astral/mobx-router","version":"1.10.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.10.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"c39d5414b9a4da8c80173ca355403dd6aae24cdd","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.10.0.tgz","fileCount":246,"integrity":"sha512-QCw1zBjpcJt3/FZVrx+l/NrJUoyDUasMsBrn2aNjz88MLj9/WuFb4HCE6J58yCtP3pv/5WopZwbjjBaKF2poLQ==","signatures":[{"sig":"MEYCIQDk8UJJwNgwH0vey3cWSjHSI0wagoiasTiHB/vauW7zhAIhAIDkeVfDr/QtbQDD/ZS4ZkZ7HiiCxiQbh53KL5BuxU67","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376054},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"4e9b370219ea705b5c75b6f53a58d39f38b6b885","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.10.0_1772799595797_0.22204527009399477","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@astral/mobx-router","version":"1.10.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.10.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"7809ccb37ffc981499005c00ee79335cebfa61bc","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.10.1.tgz","fileCount":246,"integrity":"sha512-mDAaO5hbglGSpJtB/IlmkH8GGgNyEZVxOMZRIw5okwPTWBmiKRERDQDKFLzJjg4LtDrioRhv9f1f6G3f/nIcWA==","signatures":[{"sig":"MEYCIQCuK+9gr4lJPtGWy7TgJK9BVV7I13McmLiW9cGLRWeBSwIhAOnyH/k9jO12mGPN55mwOsrDFGLDWwKHC17+VgVGLXdP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376054},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"4cd1716be0bd040d8d20021117d124f644cb845d","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.11.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.10.1_1774615824548_0.7475792604396478","host":"s3://npm-registry-packages-npm-production"}},"1.11.0-rc.0":{"name":"@astral/mobx-router","version":"1.11.0-rc.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.11.0-rc.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"8787e7e850925cb478f5a298f3d8c5b5e0087e60","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.11.0-rc.0.tgz","fileCount":246,"integrity":"sha512-lxIOa1DzhcF+/tc7JBApJp3PUWmnjO37vWobKC4wd7pCvX17/A64pZCo27UTQdO/DEnIRfId5YIkUtbS3hCK4g==","signatures":[{"sig":"MEUCID0frKw4l2O5aeJ4315PNhhslpG39H/JKuCS/bauEBEEAiEApLF2WNDE3wRDOtjoR++oQAKsL0YzGUI3pc4dN+DhXyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377205},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"8bb9c6380998fe0a33f5f3e2aae678e35e2fb367","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.11.0-rc.0_1776422250060_0.06446381311550109","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@astral/mobx-router","version":"1.11.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.11.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"1135bb3026a16f15855aa3d65359dfa097a355a9","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.11.0.tgz","fileCount":246,"integrity":"sha512-m9BYm4v8nLhZJEEJaCZ31bmI1u9dzT1kDFSSj4/7Ufawbii0oLLRvHiGc1+OO66rmpRuZZJ61MEObc061v7SqQ==","signatures":[{"sig":"MEYCIQCxiEkn1t+r+EZ7gRYhh1no/raZnGIdIMJxdheW1zhsTwIhAPKTZpwARJyQC5xXKaYTAh9drdWmAz2lMSGj2OfwWDSx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378436},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"}},"gitHead":"5ddf7c2d36b20a634562632dae4d6585b8b8adae","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.12.1","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.11.0_1776432301465_0.3377445784663491","host":"s3://npm-registry-packages-npm-production"}},"1.12.0-rc.0":{"name":"@astral/mobx-router","version":"1.12.0-rc.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.12.0-rc.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"a0b90c998eb615efc6f4a54a90f6bace97ad3ed7","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.12.0-rc.0.tgz","fileCount":246,"integrity":"sha512-50YpKTGVNrWeC7BAlMFi0Cdf6vqPqdLckhOKKEcvux2XVo3/m2ZWg+oAPpvrSxQ5CsJQKxXDkb9BY7a4tVhibw==","signatures":[{"sig":"MEQCICFgdV6ApzEAOREKjs66XaUynFd27PiIpmSOO4pppBg8AiB01LK0a4fS/PvtY2PGWmnoXRtwGjMOITbPMZPd8uLfWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380952},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"7358c54696d3cb207d2321232041dfdd06810cae","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.6.2","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.12.0-rc.0_1778146120817_0.5071858324134699","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"@astral/mobx-router","version":"1.11.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.11.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"8566330d7099b10fd7c872b116b54c130ef6ff87","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.11.1.tgz","fileCount":246,"integrity":"sha512-T6MfTA16/uIlZZ/6MRdAVMqjqEYduqTNJxFwCq4nGKpnsaVsTeat47jV/RWl2FkL/mp65dXVyskbzVRbvLAD8A==","signatures":[{"sig":"MEYCIQC+kl+HhFEUAzEdfPxu5iL0ObbU5Elk4czptFzfR9cHqgIhAJkiVy1BJ4U6jwU6+Okz3kgHY8129mAu4lgimUQ82FrS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376634},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"68bfbd732d6b6b9e8d5fc30e6ea57131c78a672d","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.16.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.11.1_1783332215233_0.08945242187711999","host":"s3://npm-registry-packages-npm-production"}},"1.11.2":{"name":"@astral/mobx-router","version":"1.11.2","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.11.2","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"c187bb1cb9a17b79608b0cb7d1ef2948e04377b5","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.11.2.tgz","fileCount":246,"integrity":"sha512-B9SYQVPHSDVFtfWYv9dFbLx2PAyZfIOF1ZD1MUnXYq7IO7yJxYgC368GTTFg+oXkqy2HPtHnqK90f4tmJ9EEug==","signatures":[{"sig":"MEUCICXv5AbCLKQHUJAA4o+h4LKS4jj49fcNBTayZ0AOF5ksAiEAmJuTchDrJQeYuJCv7bXC1SlpItAQhvAVlj8ti8p7BRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376678},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"9e44dd0d57aa665f5359a6a687557882dad32155","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.16.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.18.1","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.11.2_1785738323940_0.004657146219070318","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@astral/mobx-router","version":"1.12.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.12.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"d08a2ebf2c19e35af6f1daf9ffab740fdbbfe85f","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.12.0.tgz","fileCount":246,"integrity":"sha512-FF06JsSKTiaaP4gVGDneAIUNcKiR1ctrL/jAqx5JZKL7XXuxrQiVYTUXPyFFyo+F+6bk6o9JEOz1rS4BIdcr7Q==","signatures":[{"sig":"MEUCIQClpk6y5HSGtXnMoOjstX6qMRraUe1cUJKjxWUPdUoYMQIgdlWYQ6lNtgx5oNzgad/KTY/2+3P/YEvMPP83tNFRzDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376545},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"af47fc1897b2485ab358c848a214e4b7eba6b9ff","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.17.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.12.0_1786438317324_0.43759128738568664","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@astral/mobx-router","version":"1.13.0","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.13.0","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"9ef1678210e5bed0b9084a4bf576a1e007b97755","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.13.0.tgz","fileCount":246,"integrity":"sha512-6JNKKaa5MEYVvslxGbobMP6IP9ahgz7VCxXySLyBay6LS+0vDF6LxxjUR7B0bEA5cRCOTekHQdIWTjodVA+leQ==","signatures":[{"sig":"MEQCIAds8G3mj/WiaFZuqb+TituSYQkp1ahridSYLj4luYkiAiAD9DNwUvzaEMSFPYZFNb3WLUk+f0X5OSz2f5JcbRBpKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378777},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"38dacb968e191834bb1efe4d396ea6b36339fa56","_npmUser":{"name":"astral_frontend","email":"frontendastral@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.17.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.13.0_1786968569194_0.504630022831295","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@astral/mobx-router","version":"1.13.1","author":{"name":"Astral.Soft"},"license":"MIT","_id":"@astral/mobx-router@1.13.1","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"dist":{"shasum":"1d0d3a66b9d3f50ac2b42d727b08194a4b3b3305","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.13.1.tgz","fileCount":246,"integrity":"sha512-ZvM4ituwwiFPvjSnjOhlXOLxzt9u6nLmWU89Cj9vOj9eoi9Z5HW+8h++Hmu/3yoIK+iGtmGohP41mz2zINEl6g==","signatures":[{"sig":"MEYCIQCSwiV21F7PTFTdOfvDWus5F64x3Ypw4liHgApazSeNFgIhAIK8x2MsI2Ft4Nm31AJ9Z1dgfCb33Pe5LjautB8KeaVj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA3270W0iPdrKL9MTGd0r540RJD4CE5oEz2Jf3CIREsOAiEAsIdJcch9IJ5CEzanq4rLKq0WY+bQQShQpk7Unoi/aTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378777},"main":"./node/index.js","types":"./index.d.ts","module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"6cf0723d5a6d4aebc357639466d0375877007687","_npmUser":{"name":"and_tem","email":"and.tem.dev@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.19.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"tmp":"tmp/mobx-router_1.13.1_1789540533318_0.01618669996276001","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"_id":"@astral/mobx-router@1.13.2","dist":{"shasum":"3ef3a8cd6c5566dbbff4b36c79ed7ff1c7aa7850","tarball":"https://registry.npmjs.org/@astral/mobx-router/-/mobx-router-1.13.2.tgz","fileCount":246,"integrity":"sha512-tN20nAKE2UOAjUZsU6V9gtjLCrjpqA++PghF2W2kog28wHAbfBAsTcvyLljR+gZoIARnS4/b6emzPECClRILVQ==","signatures":[{"sig":"MEUCICE+MBw99w91jCMG+cH0TEy9cu/8deV069k9XaSZM2ILAiEAtQpaAsseTve9v/PFUJtVCy87xr6Ykt3WQBwUYqi6HDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAb/zJUkwPI9yaLuIhQKIGeNXrLOSGY6LrJjcN6C5Z1WAiEAmfLaow9coLJzgxQcmsyjVb2tpTESyYb7DeyGmCI2WBA="}],"unpackedSize":381373},"main":"./node/index.js","name":"@astral/mobx-router","types":"./index.d.ts","author":{"name":"Astral.Soft"},"module":"./index.js","browser":"./index.js","exports":{".":{"node":"./node/index.js","types":"./index.d.ts","import":"./index.js","module":"./index.js","default":"./index.js","require":"./node/index.js"},"./_mocks":{"node":"./node/_mocks/index.js","types":"./_mocks/index.d.ts","import":"./_mocks/index.js","module":"./_mocks/index.js","default":"./_mocks/index.js","require":"./node/_mocks/index.js"},"./_tests/*":{"node":"./node/_tests/*","types":"./_tests/*","import":"./_tests/*","module":"./_tests/*","default":"./_tests/*","require":"./node/_tests/*"}},"gitHead":"2bf1cd2d4f7bb5116f839b82d7664a12af0791fd","license":"MIT","version":"1.13.2","_npmUser":{"name":"and_tem","email":"and.tem.dev@gmail.com"},"repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"_npmVersion":"11.19.0","description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","directories":{},"maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"remeda":"^2.33.4","@astral/validations":"^4.25.0"},"_hasShrinkwrap":false,"peerDependencies":{"mobx":"6.x.x"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mobx-router_1.13.2_1790004236642_0.1505688528874729"}}},"time":{"created":"2025-09-01T07:34:36.208Z","modified":"2026-09-21T15:23:56.928Z","0.1.0":"2025-09-01T07:34:36.441Z","0.2.0":"2025-09-04T12:46:44.637Z","1.0.0":"2025-09-09T13:28:40.755Z","1.0.2":"2025-09-10T06:16:58.002Z","1.0.3":"2025-09-10T14:32:50.446Z","1.0.4":"2025-09-11T08:12:03.410Z","1.0.5":"2025-09-18T07:52:03.370Z","1.1.0":"2025-10-01T09:23:36.388Z","1.1.1":"2025-10-01T14:05:13.766Z","1.1.2":"2025-10-02T07:29:21.281Z","1.1.3":"2025-10-06T12:13:27.882Z","1.2.0":"2025-10-07T07:57:46.639Z","1.2.1":"2025-10-07T10:52:11.999Z","1.2.2-rc.2":"2025-10-09T10:45:00.990Z","1.2.2-rc.6":"2025-10-10T09:24:17.651Z","1.2.2-rc.7":"2025-10-10T10:31:07.706Z","1.3.0":"2025-10-13T10:03:27.600Z","1.3.1":"2025-10-14T14:13:42.324Z","1.3.2":"2025-10-15T10:38:42.792Z","1.3.3-rc.1":"2025-10-15T13:36:55.864Z","1.3.3-rc.2":"2025-10-15T14:47:28.536Z","1.3.3-rc.3":"2025-10-15T15:33:25.434Z","1.3.3-rc.4":"2025-10-16T10:16:17.333Z","1.3.3-rc.5":"2025-10-20T20:09:35.409Z","1.3.3-rc.6":"2025-10-21T14:46:21.259Z","1.3.3":"2025-10-21T16:57:53.418Z","1.4.0-rc.1":"2025-10-22T13:13:10.625Z","1.4.0-rc.2":"2025-10-22T19:33:03.616Z","1.4.0-rc.3":"2025-10-22T20:08:30.889Z","1.4.0-rc.4":"2025-10-30T09:24:45.379Z","1.4.0-rc.5":"2025-10-30T09:42:35.619Z","1.3.4":"2025-10-30T13:34:06.111Z","1.4.0":"2025-11-01T14:55:59.096Z","1.5.0":"2025-12-18T09:17:48.235Z","1.5.1":"2025-12-22T14:52:21.712Z","1.5.2":"2026-01-14T12:02:46.039Z","1.5.3-rc.0":"2026-01-27T14:14:20.257Z","1.5.3-rc.1":"2026-01-28T11:57:13.724Z","1.6.0":"2026-01-29T08:49:35.634Z","1.7.0":"2026-01-29T13:28:30.758Z","1.7.1-rc.0":"2026-02-02T12:21:38.780Z","1.7.1-rc.1":"2026-02-03T06:55:51.290Z","1.7.1-rc.2":"2026-02-03T09:44:29.656Z","1.8.0":"2026-02-03T10:15:27.823Z","1.8.1":"2026-02-04T06:50:47.387Z","1.9.0":"2026-02-20T06:25:04.532Z","1.9.1":"2026-02-26T07:45:05.507Z","1.10.0":"2026-03-06T12:19:55.995Z","1.10.1":"2026-03-27T12:50:24.704Z","1.11.0-rc.0":"2026-04-17T10:37:30.202Z","1.11.0":"2026-04-17T13:25:01.630Z","1.12.0-rc.0":"2026-05-07T09:28:40.982Z","1.11.1":"2026-07-06T10:03:35.408Z","1.11.2":"2026-08-03T06:25:24.098Z","1.12.0":"2026-08-11T08:51:57.489Z","1.13.0":"2026-08-17T12:09:29.343Z","1.13.1":"2026-09-16T06:35:33.406Z","1.13.2":"2026-09-21T15:23:56.732Z"},"author":{"name":"Astral.Soft"},"license":"MIT","repository":{"url":"https://git.astralnalog.ru/frontend.shared/mobx-router","type":"git"},"description":"<p align=\"center\">   <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\"> </p>","maintainers":[{"name":"and_tem","email":"and.tem.dev@gmail.com"},{"name":"astral_frontend","email":"frontendastral@gmail.com"}],"readme":"<p align=\"center\">\n  <img style=\"background-color: white; border-radius: 38px;\" width=\"110px\" height=\"110px\" src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-logo.png\">\n</p>\n\n# @astral/mobx-router\n\nАбстрактный реактивный router service, позволяющий использовать один интерфейс взаимодействия для разных роутеров:\n- react-router v6 и v7\n- nextjs router\n\n## Краткий обзор\n\n<div align=\"center\">\n  <a href=\"https://www.youtube.com/watch?v=a8Bh92baVmI\">\n    <img src=\"https://storage.yandexcloud.net/astral-frontend/mobx-router-record.png\" style=\"max-width: 650px\">\n  </a>\n</div>\n\n## Содержание\n\n- [Getting Started](#getting-started)\n  - [React Router v6/v7](#react-router-v6v7)\n  - [Next.js (Pages Router)](#nextjs-pages-router)\n  - [Использование](#использование)\n- [Определение routes](#определение-routes)\n  - [Навигация (`navigate`)](#навигация-navigate)\n  - [Генерация ссылок](#генерация-ссылок)\n- [Базовый путь приложения (baseName)](#базовый-путь-приложения-basename)\n  <!-- cspell:ignore: routeparams -->\n- [RouteParams](#routeparams)\n- [Навигация](#навигация)\n  - [Типобезопасная навигация](#типобезопасная-навигация)\n  - [Метод `navigate`](#метод-navigate)\n    - [Асинхронный переход `navigateAsync`](#асинхронный-переход-navigateasync)\n    - [Возврат по истории назад (back)](#возврат-по-истории-назад-back)\n    - [Перезагрузка страницы (reload)](#перезагрузка-страницы-reload)\n    - [State при навигации](#state-при-навигации)\n- [Работа с SearchParams](#работа-с-searchparams)\n    - [Типобезопасные изолированные searchParams](#типобезопасные-изолированные-searchparams)\n      - [Values](#values)\n      - [Валидация](#валидация)\n        - [Валидация дат](#валидация-дат)\n      <!-- cspell:ignore: setall -->\n      - [Установка значений (set, setAll)](#установка-значений-set-setall)\n      - [Удаление параметров (delete)](#удаление-параметров-delete)\n      - [Сброс значений (reset)](#сброс-значений-reset)\n      <!-- cspell:ignore: searchparamsstore -->\n      - [Создание нескольких searchParamsStore](#создание-нескольких-searchparamsstore)\n      <!-- cspell:ignore: initialvalues -->\n      - [initialValues](#initialvalues)\n      <!-- cspell:ignore: defaultvalues -->\n      - [defaultValues](#defaultvalues)\n  - [Особенности работы с nextjs](#особенности-работы-с-nextjs)\n  - [Не типизированные searchParams, приведенные к js структурам](#не-типизированные-searchparams-приведенные-к-js-структурам)\n  - [Парсинг и сериализация searchParams](#парсинг-и-сериализация-searchparams)\n  - [Кастомный парсинг и сериализация searchParams](#кастомный-парсинг-и-сериализация-searchparams)\n  - [Сохранение Search параметров при навигации](#сохранение-search-параметров-при-навигации)\n- [Блокировка маршрутов (blocker)](#блокировка-маршрутов-blocker)\n  - [Состояние блокировки](#состояние-блокировки)\n  - [Управления блокировкой](#управления-блокировкой)\n  - [Работа с несколькими блокерами](#работа-с-несколькими-блокерами)\n  - [Управление жизненным циклом (destroy)](#управление-жизненным-циклом-destroy)\n- [MatchPath - Сопоставление маршрутов](#matchpath---сопоставление-маршрутов)\n  - [API](#api)\n  - [Базовый пример](#базовый-пример)\n  - [Полное сопоставление](#полное-сопоставление)\n  - [Практические примеры](#практические-примеры)\n- [Location](#location)\n  - [API](#api-1)\n  - [pathname](#pathname)\n- [SubscribeRoute](#подписка-на-события-маршрутизации)\n- [Debug](#debug)\n- [Тестирование](#тестирование)\n\n## Getting Started\n\n### React Router v6/v7\n\n#### Установка\n\n```bash\nnpm install @astral/mobx-router @astral/mobx-router-react mobx react-router\n```\n\n#### Подготовка\n\n- Для работы с react-router v6/v7 **необходимо использовать [`DataRouter`](https://reactrouter.com/start/data/installation)**. Ниже описан пример настройки\n\n- Все импорты должны быть из `react-router`, а не из `react-router-dom`\n\n```typescript\n// ✅\nimport { createBrowserRouter, useLocation } from 'react-router';\n\n// ❌\nimport { createBrowserRouter, useLocation } from 'react-router-dom';\n```\n\n#### Настройка\n\n**Важно**: Для работы с react-router v6/v7 необходимо использовать [`DataRouter`](https://reactrouter.com/start/data/installation).\n\n```shared/services/Router```\n```typescript\nimport { MobxRouter } from '@astral/mobx-router';\nimport { ReactRouterProvider } from '@astral/mobx-router-react';\n\nexport const reactRouterProvider = new ReactRouterProvider();\n\nconst routesConfig = {\n  home: MobxRouter.defineRoute({\n    pattern: '/home',\n  }),\n  \n  user: MobxRouter.defineRoute({\n    pattern: '/user/:id',\n    generatePath: (params: { id: string }) => `/user/${params.id}`,\n  }),\n  \n  profile: MobxRouter.defineRoute({\n    pattern: '/profile/:userId?',\n    generatePath: ({ userId }: { userId?: string }) => userId ? `/profile/${userId}` : '/profile' ,\n  }),\n};\n\nexport const router = new MobxRouter(reactRouterProvider, routesConfig);\n\n// Необходим для инжектирования в MobX store, чтобы в типах были routes приложения\nexport type Router = typeof router;\n```\n\n```application/routes.tsx```\n```typescript\nimport { lazy, Suspense } from 'react';\nimport { ProviderAdapter } from '@astral/mobx-router-react';\nimport { createBrowserRouter, Outlet } from 'react-router';\n\nimport { MainLayout } from '#modules/layout';\nimport { ContentState, reactRouterProvider, router } from '#shared';\n\nconst IndexPage = lazy(() => import('./pages/index'));\n\nconst HomePage = lazy(() => import('./pages/home'));\n\nconst UserPage = lazy(() => import('./pages/user'));\n\nconst ProfilePage = lazy(() => import('./pages/profile'));\n\nexport const browserRouter = createBrowserRouter([\n  {\n    element: (\n      <>\n        <ProviderAdapter provider={reactRouterProvider} />\n        <MainLayout>\n          <Suspense\n            fallback={<ContentState isLoading>loading...</ContentState>}\n          >\n            <Outlet />\n          </Suspense>\n        </MainLayout>\n      </>\n    ),\n    children: [\n      {\n        path: '/',\n        element: <IndexPage />,\n      },\n      {\n        path: router.routes.home.pattern,\n        element: <HomePage />,\n      },\n      {\n        path: router.routes.user.pattern,\n        element: <UserPage />,\n      },\n      {\n        path: router.routes.profile.pattern,\n        element: <ProfilePage />,\n      },\n    ],\n  },\n]);\n```\n\n```application/app```\n```typescript\nimport { ProviderAdapter } from '@astral/mobx-router-react';\nimport { RouterProvider as ReactRouterProvider } from 'react-router/dom';\n\nimport { browserRouter } from './routes';\n\nconst App = () => {\n  return (\n    <ReactRouterProvider router={browserRouter} />\n  );\n};\n```\n\n### Next.js (Pages Router)\n\n**Поддерживает только pages routing**\n\n#### Установка\n\n```bash\nnpm install @astral/mobx-router @astral/mobx-router-nextjs-pages mobx\n```\n\n#### Настройка\n\n```shared/services/Router```\n```typescript\nimport { MobxRouter } from '@astral/mobx-router';\nimport { NextjsPagesRouterProvider } from '@astral/mobx-router-nextjs-pages';\n\nconst provider = new NextjsPagesRouterProvider();\n\nconst routesConfig = {\n  home: MobxRouter.defineRoute({\n    pattern: '/home',\n  }),\n  \n  user: MobxRouter.defineRoute({\n    pattern: '/user/[id]',\n    generatePath: (params: { id: string }) => `/user/${params.id}` ,\n  }),\n  \n  profile: MobxRouter.defineRoute({\n    pattern: '/profile/[[userId]]',\n    generatePath: ({ userId }: { userId?: string }) => userId ? `/profile/${userId}` : '/profile' ,\n  }),\n};\n\nexport const router = new MobxRouter(provider, routesConfig);\n\n// Необходим для инжектирования в MobX store, чтобы в типах были routes приложения\nexport type Router = typeof router;\n```\n\n```pages/_app.tsx```\n```typescript\nimport { ProviderAdapter } from '@astral/mobx-router-nextjs-pages';\nimport type { AppProps } from 'next/app';\n\nimport { provider } from '#shared/services/Router';\n\nfunction MyApp({ Component, pageProps }: AppProps) {\n  return (\n    <>\n      <ProviderAdapter provider={provider} />\n      <Component {...pageProps} />\n    </>\n  );\n}\n\nexport default MyApp;\n```\n\n### Использование\n\nПосле настройки вы можете использовать роутер для навигации:\n```typescript\n// Простой переход\nrouter.navigate('/dashboard');\n\n// Переход с заменой истории\nrouter.navigate('/login', { replace: true });\n```\n\nИли подписываться на изменения роутера в mobx:\n```typescript\nimport { makeAutoObservable } from 'mobx';\nimport type { Router } from '#shared';\n\nclass Store {\n  constructor(private readonly _router: Router) {\n    makeAutoObservable(this);\n  }\n\n  get isAdminPage() {\n    return this._router.location.pathname.startsWith('/admin');\n  }\n}\n```\n\n## Определение routes\n\nПосле создания роутера необходимо определить маршруты приложения:\n- Для статических маршрутов достаточно указать только `pattern`. Он будет использоваться как pathname для переходов\n- Для динамических маршрутов с использованием routeParams необходимо определять `generatePath`. Если `generatePath` не будет принимать параметров, возникнет исключение\n\n```typescript\nimport { MobxRouter } from '@astral/mobx-router';\n\n// Определяем конфигурацию routes\nconst routesConfig = {\n  // Для статичных путей без параметров достаточно указать pattern\n  home: MobxRouter.defineRoute({\n    pattern: '/home', // pathname будет '/home'\n  }),\n  \n  // Для путей с параметрами рекомендуется указывать generatePath\n  user: MobxRouter.defineRoute({\n    pattern: '/user/:id',\n    generatePath: (params: { id: string }) => `/user/${params.id}` ,\n  }),\n  \n  profile: MobxRouter.defineRoute({\n    pattern: '/profile/:userId?',\n    generatePath: ({ userId }: { userId?: string }) => userId ? `/profile/${userId}` : '/profile' ,\n  }),\n};\n\n// Создаем роутер с конфигурацией\nexport const router = new MobxRouter(provider, routesConfig);\n```\n\n### Навигация (`navigate`)\n\nИнтерфейс `navigate` аналогичен интерфейсу корневого [`navigate`](#метод-navigate).\n\nПосле определения routes вы можете использовать их для типобезопасной навигации:\n\n```typescript\n// Простая навигация без параметров\nrouter.routes.home.navigate();\n\n// Навигация с обязательными параметрами\nrouter.routes.user.navigate({ params: { id: '123' } });\n\n// Навигация с опциональными параметрами\nrouter.routes.profile.navigate(); // без параметров\nrouter.routes.profile.navigate({ params: { userId } }); // с параметрами\n```\n\n\n### RouteParams\n\nКаждый маршрут также предоставляет доступ к своим параметрам через свойство `routeParams`:\n\n```typescript\ntype Params = { id: string };\n\nconst routesConfig = {\n  user: Router.defineRoute({\n    pattern: '/user/:id',\n    generatePath: (params: Params) => `/user/${params.id}`,\n  }),\n};\n\n// Получение параметров конкретного маршрута\nrouter.routes.user.routeParams; // { id: '123' }\n```\n\nВ примере выше `router.routes.user.routeParams` будет соответствовать типу:\n```typescript\n{ id: string } | undefined\n```\n\n`undefined`, если маршрут не активен.\n\n### Проверка активности route (isActive)\n\nКаждый route предоставляет свойство `isActive`, которое позволяет определить, является ли данный route активным в текущий момент. Это свойство является MobX observable и автоматически обновляется при изменении URL.\n\n#### Синтаксис\n\n```typescript\nrouter.routes.routeName.isActive: boolean\n```\n\n#### Пример\n\n```typescript\nimport { MobxRouter } from '@astral/mobx-router';\n\nconst routesConfig = {\n  user: MobxRouter.defineRoute({\n    pattern: '/user/:id',\n    generatePath: ({ id }: { id: string }) => `/user/${params.id}`,\n  }),\n};\n\nexport const router = new MobxRouter(provider, routesConfig);\n...\n```\n\n```typescript\nimport { makeAutoObservable } from 'mobx';\n\nclass SidebarStore {\n  constructor(private readonly _router: Router) {\n    makeAutoObservable(this);\n  }\n\n  get isUserRouteActive() {\n    return this._router.routes.user.isActive;\n  }\n}\n```\n\n### Генерация ссылок (`generateHref`)\n\nДля создания ссылок на route используйте метод `generateHref`:\n\n```typescript\nconst profileLink = router.routes.profile.generateHref({\n  userId: '456',\n}); // /profile/456\n\n// Использование в компонентах\n<Link to={profileLink}>Мой профиль</Link>\n```\n\n#### Генерация ссылки с searchParams\n\n```typescript\nconst userLink = router.routes.user.generateHref(\n  { id: '123' },\n  { searchParams: { page: 1 } },\n); // /user/123?page=1\n\n// Использование в компонентах\n<Link to={userLink}>Мой профиль</Link>;\n```\n\n## Базовый путь приложения (baseName)\n\nДля настройки базового пути приложения используйте опцию `baseName` при создании MobxRouter.\n\n⚠️ В Next.js Router этот параметр **не поддерживается**\n\n```typescript\nconst browserRouter = createBrowserRouter(routes, {\n   basename: '/app',\n});\n\nconst router = new MobxRouter(reactRouterProvider, routesConfig, {\n  // Должен совпадать с basename, переданным в React Router\n  baseName: '/app',\n});\n```\n\n## RouteParams\n\nРоутер предоставляет доступ к параметрам текущего активного маршрута через свойство `routeParams`:\n\n```typescript\nconst routesConfig = {\n  user: Router.defineRoute({\n    pattern: '/user/:id',\n    generatePath: (params: { id: string }) => `/user/${params.id}`,\n  }),\n};\n\nconst router = new Router(provider, routesConfig);\n\n// Получение параметров текущего активного маршрута\nconsole.log(router.routeParams); // { id: '123' }\n```\n\n## Навигация\n\n### Метод `navigate`\n\nОсновной метод для навигации между страницами приложения.\n\n#### Синтаксис\n\n```typescript\nrouter.navigate(to: string | Location, options?: NavigateOptions)\n```\n\n#### Параметры\n\n- `to` (string | Location) - путь для перехода (строка или объект)\n- `options` (NavigateOptions, опционально) - дополнительные параметры навигации\n\n#### Тип NavigateOptions\n\n```typescript\ntype NavigateOptions = {\n  /**\n   * Позволяет сделать переход без сохранения в history\n   */\n  replace?: boolean;\n  /**\n   * @sse https://developer.mozilla.org/en-US/docs/Web/API/History/scrollRestoration\n   */\n  scrollRestoration?: 'auto' | 'manual';\n  /**\n   * SearchParams в виде plain object для перехода\n   */\n  searchParams?: SearchParams;\n  /**\n   * Дополнительные данные, которые будут переданы в `location.state`\n   * при навигации (поддерживается только в react-router).\n   *\n   * ⚠️ В Next.js Router этот параметр **не поддерживается**\n   */\n   state?: unknown;\n};\n```\n\n#### Примеры использования\n\n```typescript\n// Простой переход на страницу (строка)\nrouter.navigate('/main');\n\n// Переход с заменой текущей записи в истории браузера\nrouter.navigate('/main', { replace: true });\n\n// Переход с отключением автоматической прокрутки\nrouter.navigate('/main', { scrollRestoration: 'manual' });\n\n// Комбинирование параметров\nrouter.navigate('/main', {                                                                                                                                                                                                                                                                                                                                              \n  replace: true, \n  scrollRestoration: 'manual' \n});\n```\n\n#### Переход с установкой searchParams\n\n```typescript\nrouter.navigate({\n  pathname: '/user/123',\n  // ?page=1&filters=[1,2]\n  searchParams: { page: 1, filters: [1, 2] }\n});\n```\n\n#### Передача search строки\n\nSearch можно передавать как `?`, так и без:\n```typescript\n// Переход с search параметрами (с ?)\nrouter.navigate({\n  pathname: '/search',\n  search: '?query=test&page=1'\n});\n\n// Переход с search параметрами (без ?)\nrouter.navigate({\n  pathname: '/search',\n  search: 'query=test&page=1'\n});\n```\n\n#### Особенности реализации\n\n- `navigate` не синхронный:\n\n```typescript\nrouter.location.pathname; // /main\nrouter.navigate('/user');\nrouter.location.pathname; // /user\n```\n\n#### Асинхронный переход `navigateAsync`\n\nАсинхронный метод для перехода между страницами приложения, который позволяет дождаться завершения навигации.\n\nЗавершение навигации - успешный рендеринг нового маршрута.\n\n```typescript\n// Переход на страницу и ожидание завершения\nawait router.navigateAsync('/main');\n\n// Переход с заменой текущей записи в истории\nawait router.navigateAsync('/main', { replace: true });\n\n// Переход с отключением автоматической прокрутки\nawait router.navigateAsync('/main', { scrollRestoration: 'manual' });\n\n// Переход с передачей searchParams\nawait router.navigateAsync({\n    pathname: '/user/123',\n    searchParams: { page: 1, filters: [1, 2] }\n});\n```\n\n#### Возврат по истории назад (`back`)\n\nМетод позволяющий вернутся на предыдущий URL в истории\n\n```typescript\nrouter.navigate('/user'); // /main -> /user\n\nrouter.back(); // возврат на /main\n```\n\n#### Перезагрузка страницы (`reload`)\n\nМетод перезагружает текущую страницу\n\n```typescript\nrouter.reload();\n```\n\n#### `state` при навигации\n\nО работе `state` можно ознакомиться [здесь](https://developer.mozilla.org/en-US/docs/Web/API/History/state)\n\n##### Особенности реализации\n\n- **NextRouter**: параметр `state` не поддерживается\n\n##### Тип NavigationState\n\n```typescript\ntype NavigationState = {\n  /**\n   * Информация о предыдущем location, с которого был совершен переход\n   */\n  referer: {\n    /**\n     * Путь предыдущего location\n     */\n    pathname: string;\n    /**\n     * search предыдущего location\n     */\n    search?: string;\n  };\n} & Record<string, unknown>;\n```\n\n##### Пример использования\n\n```typescript\n// Навигация с передачей state и сохранением referer\nrouter.routes.user.navigate({\n  params: { id: '123' },\n  state: { filter: 'value' },\n});\n\nrouter.location \n// { \n//    pathname: '/user/123', \n//    search: '', \n//    state: { referer: { pathname: currentLocation.pathname, search: currentLocation.search }, filter: 'value' },\n// }\n```\n\n## Работа с SearchParams\n\nРоутер предоставляет несколько способов работы с search параметрами URL.\n\n### Типобезопасные изолированные searchParams\n\n#### Базовая концепция\n\n- **Типобезопасность**: `router.createSearchParamsStore` гарантирует, что `values` содержит именно те типы данных, которые были переданы в generic и заданы через валидацию.\n- **Изолированность**: `router.createSearchParamsStore` работает только с теми параметрами, которые были переданы в generic и заданы через валидацию, никак не влияя при этом на другие searchParams.\n\n#### Пример использования\n\n```typescript\nimport { makeAutoObservable } from 'mobx';\nimport * as v from '@astral/validations';\nimport type {Router} from '#shared';\n\ntype SearchParams = {\n    id: string;\n    page?: number;\n    filters?: string[];\n};\n\nclass UIStore {\n    private readonly searchStore;\n\n    public constructor(private readonly _router: Router) {\n        makeAutoObservable(this, {}, {autoBind: true});\n        \n        this.searchStore = this._router.createSearchParamsStore<SearchParams>({\n            validationSchema: {\n                id: v.string(),\n                page: v.optional(v.number()),\n                filters: v.optional(v.array(v.arrayItem(v.string()))),\n            },\n        });\n    }\n\n    public get userId() {\n        // Values === undefined, если валидация не прошла\n        return this.searchStore.values?.id;\n    }\n\n    public get currentPage() {\n        return this.searchStore.values?.page || 1;\n    }\n\n    public get activeFilters() {\n        return this.searchStore.values?.filters || [];\n    }\n\n    public setUserId(id: string) {\n        this.searchStore.set('id', id);\n    }\n\n    public setFilters = (filters: string[]) => {\n        this.searchStore.set('filters', filters);\n    }\n\n    public deleteFilters = () => {\n        this.searchStore.delete('filters');\n    }\n}\n```\n\n#### Values\n\n`store.values` является observable.\n\n#### Валидация\n\nВалидация происходит:\n- При инициализации `SearchParamsStore`\n- При обращении к `values` или `validationErrors`\n- При изменении `searchParams` в рамках текущего store или в глобальном `router.searchParams`\n\n`store.values` содержат:\n- `undefined` если валидация завершилась ошибкой\n- значения после парсинга если валидация завершилась без ошибок\n\n`validationSchema` принимает [схему объекта для @astral/validations](https://www.npmjs.com/package/@astral/validations#basic-usage).\n\n<!-- llm-ignore:enable -->\n\n##### Тип SearchParamsValidationSchema\n\n```typescript\n// Schema - схема объекта из @astral/validations\ntype SearchParamsValidationSchema<TSearchParams> = Schema<TSearchParams>;\n```\n\nЕсли схему нужно вынести из вызова `createSearchParamsStore` в отдельную переменную, константу или поле класса,\nто для ее типизации используется `SearchParamsValidationSchema`:\n\n```typescript\nimport * as v from '@astral/validations';\nimport type { SearchParamsValidationSchema } from '@astral/mobx-router';\n\ntype SearchParams = {\n  id: string;\n  page?: number;\n};\n\nconst searchParamsSchema: SearchParamsValidationSchema<SearchParams> = {\n  id: v.string(),\n  page: v.optional(v.number()),\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: searchParamsSchema,\n});\n```\n\nВ схеме должны быть описаны **все** параметры, включая опциональные: для `page?: number` в схеме\nвсе равно требуется ключ `page` со значением `v.optional(...)`.\n\n<!-- llm-ignore:disable -->\n\n##### Валидация при инициализации `SearchParamsStore`\n\nЕсли валидация при инициализации `SearchParamsStore` завершилась ошибкой, то `values` будут содержать `undefined`, **при этом `router.searchParams` не изменится** если не заданы [`defaultValues`](#defaultvalues).\n\n##### Валидация при обращении к `values`\n\nВалидация при обращении к values никак не меняет `router.searchParams`.\n\n##### Валидация дат\n\nДля валидации дат необходимо использовать метод [transform](https://www.npmjs.com/package/@astral/validations#transform)\n\n```typescript\nimport * as v from '@astral/validations';\n\ntype SearchParams = {\n  date: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n    validationSchema: {\n      date: v.string(v.transform((value) => new Date(value))),\n    },\n  })\n\n// values === undefined, если валидация не прошла\nsearchStore.values?.date;\n```\n\n##### Обработка ошибок валидации\n\nЕсли валидация завершилась ошибкой, то `values` будут содержать `undefined`, а `validationErrors` объект с информацией об ошибке:\n\n```ts\nimport * as v from '@astral/validations';\n\ntype SearchParams = {\n  id: string;\n};\n\n// В url search отсутствует id\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n    validationSchema: {\n      id: v.string(),\n    },\n  });\n\nsearchStore.values; // undefined\nsearchStore.validationErrors; // { id: { message: 'Не является строкой', code: 'astral-validations-string' } }\n\nif (searchStore.validationErrors?.id.code === v.STRING_TYPE_ERROR_INFO.code) {  \n  console.log('Передан не корректный id. Попробуйте...');\n}\n```\n\n---\n\n#### Установка значений (`set`, `setAll`)\n\nSearchParamsStore предоставляет несколько методов для изменения параметров.\n\nПо умолчанию все изменения не сохраняются в истории браузера (используется `replace: true`).\n\n##### `set`\n\nУстанавливает значение для конкретного параметра, сохраняя остальные параметры без изменений.\n\n```typescript\n// Установка обязательного параметра\nsearchStore.set('id', '123');\n\n// Установка массива\nsearchStore.set('filters', ['active', 'verified']);\n\n// Сохранение в истории браузера\nsearchStore.set('page', 3, { replace: false });\n```\n\n##### `setAll`\n\nУстанавливает все параметры сразу, позволяя полностью перезаписать текущие значения или модифицировать их на основе предыдущих.\n\n```typescript\n// Полная замена всех параметров\nsearchStore.setAll({ id: '456', page: 1 });\n\n// Модификация на основе предыдущих значений\n// prev может быть undefined\nsearchStore.setAll((prev) => ({\n  ...prev,\n  page: (prev?.page || 0) + 1,\n}));\n\n// Сохранение в истории браузера\nsearchStore.setAll({ id: '789' }, { replace: false });\n```\n\n**Важно**: `setAll` изменяет только те параметры, которые указаны в validationSchema.\n\n```typescript\nrouter.setSearchParams({ id: '1', page: 1, test: 'test' });\n\nsearchStore.setAll({ id: '2', page: 2, isShowModal: true });\n\nrouter.searchParams // { id: '2', page: 2, isShowModal: true }\n```\n\n#### Удаление параметров (`delete`)\n\n`delete` Удаляет конкретный параметр.\n\nПо-умолчанию удаление параметра не сохраняется в истории браузера (используется `replace: true`).\n\n**TypeScript не позволит удалить обязательные параметры** - только опциональные.\n\n```typescript\ntype SearchParams = {\n  id: string;        // Обязательный - нельзя удалить\n  page?: number;     // Опциональный - можно удалить\n  filters?: string[]; // Опциональный - можно удалить\n};\n\n// ✅ Можно удалить опциональные параметры\nsearchStore.delete('page');\nsearchStore.delete('filters');\n\n// ❌ TypeScript ошибка - нельзя удалить обязательный параметр\n// searchStore.delete('id'); // Error: Argument of type '\"id\"' is not assignable to parameter of type '\"page\" | \"filters\"'\n\n// Сохранение в истории браузера\nsearchStore.delete('page', { replace: false });\n```\n\n#### Сброс значений (`reset`)\n\n`reset` удаляет все параметры, которые указаны в generic и validationSchema.\n\nПо-умолчанию сброс не сохраняется в истории браузера (используется `replace: true`).\n\n```typescript\nrouter.setSearchParams({ id: '1', page: 1, test: 'test' });\n\nsearchStore.reset();\n\nrouter.searchParams // { test: 'test' }\n\n// Сброс с сохранением в истории браузера\nsearchStore.reset({ replace: false });\n```\n\n##### Частичный сброс значений\n\n`include` и `exclude` позволяют сбросить только определенные параметры.\n\n```typescript\nsearchStore.setAll({ id: '1', page: 1 });\n\n// Сброс только id\nsearchStore.reset({ include: ['id'] }); // { page: 1 }\n```\n\n```typescript\nsearchStore.setAll({ id: '1', page: 1 });\n\n// Сброс всех параметров, кроме id\nsearchStore.reset({ exclude: ['id'] }); // { id: '1' }\n```\n\n#### Создание нескольких `searchParamsStore`\n\nВ приложении можно создавать несколько `searchParamsStore` с разными validationSchema.\nТак как `searchParamsStore` изолированы, то они не будут влиять друг на друга.\n\n\n```typescript\nconst tableFiltersStore = router.createSearchParamsStore<{\n  page: number;\n  filters: string[];\n}>({\n  validationSchema: {\n    page: v.optional(v.number()),\n    filters: v.optional(v.array(v.arrayItem(v.string()))),\n  },\n});\n\n// Если в searchParams есть modalOrgId, то открывается модалка\nconst detailsModalSearchParamsStore = router.createSearchParamsStore<{\n  modalOrgId: string;\n}>({\n  validationSchema: {\n    modalOrgId: v.optional(v.string(v.guid())),\n  },\n});\n\n// Никак не повлияет на modalOrgId\ntableFiltersStore.setAll({ page: 1, filters: ['active', 'verified'] });\n\ndetailsModalSearchParamsStore.set('modalOrgId', '123');\n\n// Никак не повлияет на modalOrgId\ntableFiltersStore.reset();\n```\n\n#### defaultValues\n\n`defaultValues` применяются только при инициализации `SearchParamsStore` или сбросе значений.\n\nПодробнее ниже:\n\n##### При инициализации `SearchParamsStore` searchParams пустые\n\n```typescript\nrouter.setSearchParams({});\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.optional(v.string()),\n  },\n  defaultValues: {\n    id: 'default-user',\n  },\n});\n\nsearchStore.values; // { id: 'default-user' }\nrouter.searchParams; // { id: 'default-user' }\n```\n\n##### При инициализации `SearchParamsStore` searchParams частично пустые\n\n```typescript\nrouter.setSearchParams({ page: 2 });\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n    page: v.optional(v.number()),\n  },\n  defaultValues: {\n    id: 'default-user',\n    page: 1,\n  },\n});\n\n// Сохранился исходный page, а для id установлено defaultValues\nsearchStore.values; // { id: 'default-user', page: 2 }\nrouter.searchParams; // { id: 'default-user', page: 2 }\n```\n\n##### При инициализации `SearchParamsStore` валидация не прошла\n\n```typescript\nrouter.setSearchParams({ id: 1 });\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n  },\n  defaultValues: {\n    id: 'default-user',\n  },\n});\n\nsearchStore.values; // { id: 'default-user' }\nrouter.searchParams; // { id: 'default-user' }\n```\n\n##### После вызова `reset()`\n\n```typescript\nrouter.setSearchParams({ id: '1' });\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n  },\n  defaultValues: {\n    id: 'default-user',\n  },\n});\n\nsearchStore.reset();\n\nrouter.searchParams // { test: 'test' }\n```\n\n##### При инициализации `SearchParamsStore` валидация прошла, но не все optional параметры находились в исходном searchParams\n\n```typescript\nrouter.setSearchParams({ id: '1' });\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n    page: v.optional(v.number()),\n  },\n  defaultValues: {\n    id: 'default-user',\n    page: 1,\n  },\n});\n\nsearchStore.values; // { id: '1', page: 1 }\nrouter.searchParams // { id: '1', page: 1 }\n```\n\n##### defaultValues как функция. Динамическая установка defaultValues \n\n`defaultValues` может быть функцией `(values: ParsedSearchParams<TSearchParamsParser>) => TSearchParams`.\n\n```typescript\ntype SearchParams = {\n  dateFrom?: string;\n  dateTo?: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    dateFrom: v.optional(v.string(v.transform((value) => new Date(value)))),\n    dateTo: v.optional(v.string(v.transform((value) => new Date(value)))),\n  },\n  defaultValues: (values) => {\n    // Содержит сырые и не провалидированные values\n    // Если в searchParams уже есть хотя бы одна дата — не подставляем defaultValues\n    if (values?.fromDate || values?.toDate) {\n      return values;\n    }\n    \n    return {\n      dateFrom: this.defaultDateRange.start,\n      dateTo: this.defaultDateRange.end,\n    };\n  },\n});\n```\n\n#### initialValues\n\n`initialValues` - делают hard set значений в values и глобальные searchParams.\n\n```typescript\ntype SearchParams = {\n  id: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n  },\n  initialValues: {\n    id: '1',\n  },\n});\n\nsearchStore.values; // { id: '1' }\nrouter.searchParams; // { id: '1' }\n```\n\nАналогичный пример:\n```typescript\ntype SearchParams = {\n  id: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n  validationSchema: {\n    id: v.string(),\n  },\n});\n\nsearchStore.setAll({ id: '1' });\n\nsearchStore.values; // { id: '1' }\nrouter.searchParams; // { id: '1' }\n```\n\n---\n\n### Особенности работы с nextjs\n\n#### SearchParams недоступны на сервере без `getServerSideProps`\n\nПри обращении к `router.searchParams` на сервере nextjs `searchParams` будут `{}`.\n\nДля того чтобы значение на сервере было актуальным, необходимо для конкретной страницы определить `getServerSideProps`:\n```tsx\nexport default () => {...}\n\n// Достаточно просто определить функцию\nexport async function getServerSideProps() {\n\treturn {\n\t\tprops: {},\n\t};\n}\n```\n\n#### При частичной интеграции mobx-router в `nextRouter.query` строки записываются с кавычками\n\nЕсли вы одновременно используете `nextRouter.query` и `mobxRouter.setSearchParams`, то при вызове `mobxRouter.setSearchParams` в `nextRouter.query` будут находится строки в кавычках:\n```js\n{\n  id: '\"123\"'\n}\n```\n\nДля решения данной проблемы необходимо реализовывать кастомный парсер searchParams. [Инструкции](#кастомный-парсинг-и-сериализация-searchparams)\n\n---\n\n### Не типизированные searchParams, приведенные к js структурам\n\n**Рекомендуется использовать [типобезопасные searchParams из `router.createSearchParamsStore`](#типобезопасные-изолированные-searchparams)**.\n\n`router.searchParams` содержит не типизированные searchParams, приведенные к js структурам.\n\n`router.searchParams` в качестве значений может содержать:\n```ts\ntype ParsedSearchParamsValue =\n  | string\n  | boolean\n  | number\n  | null\n  | undefined\n  | ParsedSearchParamsValue[]\n  | Record<string, ParsedSearchParamsValue>;\n```\n\n`router.searchParams` является observable.\n\n**Пример использования**:\n```typescript\nimport { makeAutoObservable } from 'mobx';\n\nclass Store {\n  constructor(private readonly _router: Router) {\n    makeAutoObservable(this);\n  }\n\n  get currentPage() {\n    return this._router.searchParams.page || 1;\n  }\n}\n```\n\n#### Установка searchParams\n\nМетод `setSearchParams` позволяет изменять search параметры с сохранением текущего пути:\n\n```typescript\nrouter.setSearchParams({ page: 1, type: 'request' });\n\n// Изменение с доступом к предыдущим параметрам\ntype PrevParams = { page: number };\n\nrouter.setSearchParams((prev) => ({ page: ++(prev as PrevParams).page }));\n\n// Установка с заменой записи в истории (по умолчанию replace: true)\nrouter.setSearchParams({ page: 1 }, { replace: false });\n```\n\n#### Сброс searchParams\n\nДля сброса достаточно пробросить пустой объект:\n```typescript\nrouter.setSearchParams({});\n```\n\n### Парсинг и сериализация searchParams\n\nПарсинг и сериализация параметров **по-дефолту** осуществляется через `JSON.parse` и `JSON.stringify`.\n\n#### Сериализация \n\n- Строки сериализуются с кавычками: `{ param: 'test' }` → `?param=\"test\"`\n- Числа и булевы значения преобразуются напрямую: `{ num: 123, bool: true }` → `?num=123&bool=true`\n- Массивы и объекты сериализуются в JSON: `{ arr: [1,2,3] }` → `?arr=[1,2,3]`\n- Значения `undefined`, `null`, `NaN`, пустые строки, пустые массивы, пустые объекты пропускаются и не добавляются в URL\n\n#### Парсинг\n\n- Строки в кавычках парсятся как строки: `?param=\"test\"` → `{ param: 'test' }`\n- Числа и булевы значения автоматически приводятся к соответствующим типам: `?num=123` → `{ num: 123 }`\n- Массивы парсятся как json: `?arr=[1,2,3]` → `{ arr: [1,2,3] }`\n- Объекты парсятся как json: `?obj={\"a\":2}` → `{ obj: { a: 2 } }`\n- Строка `\"undefined\"` преобразуется в `undefined`\n- Строка `\"null\"` преобразуется в `null`\n- При ошибке парсинга значение остается строкой: `?arr=[1,2-3]` →  `{ arr: '[1,2,3]' }`, `?param=str` →  `{ param: 'str' }`\n- Повторяющиеся параметры собираются в массив: `?arr=1&arr=2` → `{ arr: [1,2] }`\n\n#### Кастомный парсинг и сериализация searchParams\n\nМожет потребоваться изменить поведение дефолтного парсера.\nДля этого необходимо реализовать class имплементирующий интерфейс `ISearchParamsParser`:\n```ts\ntype CustomParsedSearchParams = Record<string, string>;\n\n// import { ISearchParamsParser } from '@astral/mobx-router';\ninterface ISearchParamsParser {\n  parse(rawSearchParams: URLSearchParams): CustomParsedSearchParams;\n  serialize(searchParams: CustomParsedSearchParams): URLSearchParams;\n}\n```\n\nИ передать его при создании `router`:\n```ts\nnew Router(\n  provider,\n  routesConfig,\n  { searchParamsParser: customParser }\n);\n```\n\nПосле этого searchParams и setSearchParams будут работать с типом `CustomParsedSearchParams`.\n```ts\nrouter.searchParams; // Record<string, string>\nrouter.setSearchParams; // (searchParams: Record<string, string>) => void \n```\n\n`SearchParamsStore` также начнет использовать тип, заданный в парсере, и не позволит передать в generic неправильный тип:\n```ts\nrouter.createSearchParamsStore<{ id: number }>(); // Будет ошибка потому что тип должен соответствовать Record<string, string>\n```\n\n### Сохранение Search параметров при навигации\n\nРоутер предоставляет возможность сохранять существующие search параметры при переходах между маршрутами. \nФункция полезна в сценариях, где нужно сохранить состояние фильтров, сортировок или других параметров\nпри навигации между разными страницами приложения.\n\nДля сохранения параметров, необходимо передать параметр preserveOnNavigate=true и [установить](#установка-значений-set-setall)\nзначения. После редиректа, все параметры, входящие в validationSchema и установленные в URL, будут сохранены \n\n```typescript\ntype SearchParams = {\n    id: string;\n    redirectUrl: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n    preserveOnNavigate: true,\n    validationSchema: {\n        id: v.string(),\n        redirectUrl: v.string(),\n    },\n});\n\nstore.setAll({\n    id: '1',\n    redirectUrl: '2',\n});\n\nrouter.navigate('/');\n\nrouter.searchParams; // { id: '1', redirectUrl: '2' }\n```\n\nЕсли нужно сохранять только определенные параметры - необходимо передать их ключи массивом в preserveOnNavigate: \n\n```typescript\ntype SearchParams = {\n    id: string;\n    redirectUrl: string;\n};\n\nconst searchStore = router.createSearchParamsStore<SearchParams>({\n    preserveOnNavigate: ['redirectUrl'],\n    validationSchema: {\n        id: v.string(),\n        redirectUrl: v.string(),\n    },\n});\n\nstore.setAll({\n    id: '1',\n    redirectUrl: '2',\n});\n\nrouter.navigate('/');\n\nrouter.searchParams; // { redirectUrl: '2' }\n```\n#### Сброс сохраненного параметра\n\nПосле сброса сохраненного параметра, он более не будет сохраняться при переходах.\n\n#### Сохранение при перезагрузке страницы\n\nЧтобы при перезагрузке страницы preserveOnNavigate параметры продолжали сохраняться при навигации, SearchParamsStore,\nинициализирующий их сохранение должен создаваться глобально.\n\n#### Особенности реализации\n\nМеханизм сохранения search параметров основан на blocker, необходимо учитывать особенности его реализации\n\n### Debug\n\nЕсли возникают проблемы установки значений - включите [debug режим](#debug).\n\n### Особенности реализации\n\n#### SearchParams устанавливаются синхронно\n\nМетоды `setSearchParams`, `setAll`, `set` устанавливают значения синхронно.\n\n```typescript\nrouter.searchParams; // {}\nrouter.setSearchParams({ test: 1 });\nrouter.searchParams; // { test: 1 }\n```\n\nВ отличии от `navigate`:\n```typescript\nrouter.location.pathname; // /main\nrouter.navigate('/user');\nrouter.location.pathname; // /user\n```\n\n## Location\n\n### Свойство `location`\n\nРоутер предоставляет реактивное свойство `location`, которое автоматически обновляется при изменении URL в браузере.\n\n```typescript\ntype Location = {\n  pathname: string;  // Текущий путь (например, '/dashboard')\n  search?: string;   // Query параметры (например, '?id=123')\n  hash?: string;     // Hash фрагмент (например, '#section')\n};\n```\n\n### Типобезопасная навигация\n\nДля типобезопасной навигации используйте предопределенные routes.\n\nСм. раздел [Использование routes](#использование-routes) для подробной информации о навигации по routes.\n\n## Блокировка маршрутов (blocker)\n\n#### Базовая концепция\n\n`router.createBlocker(shouldBlock)` создаёт блокер. **Не забудьте его активировать**.\n\n`shouldBlock(nextLocation)` — функция, которая возвращает true, если переход нужно остановить и false если его нужно продолжить.\n\nКогда переход заблокирован, `blocker.isBlocked === true`.\n\nДля управления блокировкой используются методы: `activate`, `proceed`, `reset`, `destroy`\n\n#### Пример использования\n\n```typescript\nimport { makeAutoObservable } from 'mobx';\nimport type { Router } from '#shared';\n\nclass UIStore {\n    private readonly blocker;\n    \n    public isDirty: boolean = false;\n    \n    public showModal: boolean = false;\n\n    public constructor(private readonly _router: Router) {\n        makeAutoObservable(this, {}, {autoBind: true});\n\n        /**\n         * Создаём блокер, который будет перехватывать навигацию.\n         * Функция обратного вызова вызывается перед каждым переходом.\n         * Если возвращается true — переход блокируется.\n         */\n        this.blocker = this._router.createBlocker((nextLocation) => {\n          const isBlocked = this.isDirty;\n\n           if(isBlocked) {\n               this.openModal();\n           }\n\n           return isBlocked;\n        });\n    }\n    \n    public mount = () => {\n        this.blocker.activate();\n    };\n\n    public unmount = () => {\n        this.blocker.destroy();\n    };\n\n    private openModal = () => {\n        this.showModal = true;\n    };\n    \n    public confirm = () => {\n        // Продолжаем переход на заблокированный маршрут\n        this.blocker.proceed();\n    };\n    \n    public cancel = () => {\n        // Снимаем блокировку и остаемся на текущей странице\n        this.blocker.reset();\n    };\n}\n\nconst Component = observer(() => {\n  const [store] = useState(createUIStore);\n\n  useEffect(() => {\n    store.mount();\n\n    return () => {\n      store.unmount();\n    };\n  }, []);\n});\n```\n\n### Особенности реализации\n\n**React Router v6 и v7**: Блокеры, созданные через `createBlocker`, не будут работать одновременно с хуком `useBlocker`.\nЕсли вы используете `useBlocker`, необходимо полностью полагаться на него для управления блокировкой переходов, или использовать подход через метод `createBlocker`\n\n**Next.js**: Для блокировки навигации используется выброс исключения `throw new Error` при попытке перехода на заблокированный маршрут.\nЭто позволяет остановить переход до того, как **NextRouter** выполнит смену URL.\n\n### Активация блокера\n\nКаждый блокер должен быть активирован перед началом работы.\n\n```typescript\nblocker.activate();\n```\n\n#### Использование в компоненте\n\nПри использовании блокера в компоненте, его необходимо активировать и деактивировать в useEffect:\n\n```tsx\nuseEffect(() => {\n  blocker.activate();\n\n  return () => {\n    blocker.destroy();\n  };\n}, []);\n```\n\n**Если этого не сделать, то в Strict Mode будут проблемы в работе блокера**\n\n#### Глобальный store\n\nПри использовании блокера вне компонента его можно активировать сразу в конструкторе класса:\n```typescript\nclass GlobalStore {\n  constructor(private readonly _router: Router) {\n    this.blocker = this._router.createBlocker((nextLocation) => {\n      return nextLocation.pathname === '/main';\n    });\n\n    this.blocker.activate();\n  }\n}\n```\n\n\n### Состояние блокировки\n\nblocker.isBlocked является observable\n\n```typescript\nconst blocker = router.createBlocker((nextLocation) => {\n    return nextLocation.pathname === '/main'\n})\n\nrouter.navigate('/main')\n\nblocker.isBlocked // true\n```\n\n### Управления блокировкой\n\n```typescript\n// Активировать блокировку\nblocker.activate()\n\n// Продолжить переход на заблокированный маршрут.\nblocker.proceed() \n\n// Отменить переход и остаться на текущей странице.\nblocker.reset()\n\n// Удалить блокер\nblocker.destroy()\n```\n\n### Работа с несколькими блокерами\n\nМожно создавать несколько блокеров одновременно. Навигация будет заблокирована, если хотя бы один из активных блокеров запретит переход на другую страницу.\nКаждый блокер имеет свое независимое состояние `isBlocked`\n\n```typescript\nconst blockMain = router.createBlocker((next) => next.pathname === '/main');\nblockMain.activate();\n\nconst blockUsers = router.createBlocker((next) => next.pathname === '/users');\nblockUsers.activate();\n\nrouter.navigate('/users'); // переход заблокирован\nrouter.navigate('/settings'); // переход разрешён\n```\n\n### Управление жизненным циклом (destroy)\n\nКаждый блокер подписывается на события изменения маршрута. Необходимо удалять его, если он больше не используется.\n\nЕсли не вызывать `destroy`, блокер продолжит слушать изменения маршрутов, что может привести к непредсказуемому поведению в навигации.\n\n```typescript\nconst blocker = router.createBlocker((nextLocation) => nextLocation.pathname === '/main');\n\nblocker.activate();\n\nblocker.destroy(); // снимает все подписки и очищает внутренние ссылки\n```\n\n## MatchPath - Сопоставление маршрутов\n\nФункция `matchPath` позволяет получить детальную информацию о текущем маршруте и извлечь параметры из URL. Это мощный инструмент для анализа URL и получения метаданных о совпадении паттерна маршрута с текущим путем.\n\n### API\n\n#### Синтаксис\n\n```typescript\nrouter.matchPath(pattern: MatchPathPattern | string, path: string): MatchPathInfo | null\n```\n\n#### Параметры\n\n- `pattern` - Паттерн маршрута (строка или объект `MatchPathPattern`)\n  - При передаче строки используется точное сопоставление (`isExact: true` по умолчанию)\n  - При передаче объекта `MatchPathPattern` можно указать `isExact: false` для частичного сопоставления\n- `path` - URL pathname для сопоставления\n\n#### Возвращаемое значение\n\n```typescript\ntype MatchPathInfo = {\n  // Динамические параметры из URL.\n  // Если опциональный параметр не задан, его значение равно undefined\n  params: Record<string, string>;\n  pathname: string;                  // Полный совпадающий путь\n  pathnameBase: string;              // Базовый путь для дочерних маршрутов\n  pattern: string;                   // Исходный паттерн маршрута\n};\n```\n\n### Базовый пример\n\nСамый простой способ использования - сопоставление строкового паттерна с URL:\n\n```typescript\n// Сопоставление простого маршрута\nconst match = router.matchPath('/user/:id', '/user/123');\n// {\n//   params: { id: '123' },\n//   pathname: '/user/123',\n//   pattern: '/user/:id',\n//   pathnameBase: '/user/123'\n// }\n\n// Сопоставление с несколькими параметрами\nconst postMatch = router.matchPath('/posts/:category/:id', '/posts/tech/456');\n// {\n//   params: { category: 'tech', id: '456' },\n//   pathname: '/posts/tech/456',\n//   pattern: '/posts/:category/:id',\n//   pathnameBase: '/posts/tech/456'\n// }\n\n// Когда сопоставления нет - возвращается null\nconst noMatch = router.matchPath('/user/:id', '/posts/123');\n// null\n```\n\n### Опциональные параметры\n\nСинтаксис паттерна задает провайдер: `:id?` у react-router и `[[id]]` у next.js.\nПуть сопоставляется и с опциональным параметром, и без него; если параметр не задан,\nего значение в `params` равно `undefined`:\n\n```typescript\n// react-router\nrouter.matchPath('/posts/:id?', '/posts/123'); // params: { id: '123' }\nrouter.matchPath('/posts/:id?', '/posts');     // params: { id: undefined }\n\n// next.js\nrouter.matchPath('/posts/[[id]]', '/posts/123'); // params: { id: '123' }\nrouter.matchPath('/posts/[[id]]', '/posts');     // params: { id: undefined }\n```\n\nОпциональный параметр может стоять и в середине паттерна — остальные параметры\nизвлекаются независимо от того, задан он в пути или нет:\n\n```typescript\nconst pattern = '/letters/[[folder]]/[guid]/answer';\n\nrouter.matchPath(pattern, '/letters/f1/abc/answer'); // params: { folder: 'f1', guid: 'abc' }\nrouter.matchPath(pattern, '/letters/abc/answer');    // params: { folder: undefined, guid: 'abc' }\n```\n\nЕсли опциональных параметров несколько, а в пути задано меньше значений, значения\nдостаются первым по порядку:\n\n```typescript\nrouter.matchPath('/letters/[[first]]/[[second]]', '/letters/abc');\n// params: { first: 'abc', second: undefined }\n```\n\nПо URL невозможно определить, какой именно из опциональных параметров не задан, поэтому\nдля сценария «задан только второй» нужен разделяющий статический сегмент или отдельный route.\n\n### Полное сопоставление `isExact`\n\nПо умолчанию `isExact` равен `true`, что означает точное сопоставление пути.\n\nДля более точного контроля над сопоставлением используйте объект `MatchPathPattern`:\n\n```typescript\n// Точное сопоставление (значение по умолчанию)\nconst exactMatch = router.matchPath(\n  { path: '/user/:id' }, \n  '/user/123'\n);\n// {\n//   params: { id: '123' },\n//   pathname: '/user/123',\n//   pattern: '/user/:id',\n//   pathnameBase: '/user/123'\n// }\n\n// Частичное сопоставление (isExact: false)\nconst partialMatch = router.matchPath(\n  { path: '/user', isExact: false }, \n  '/user/123/settings'\n);\n// {\n//   params: {},\n//   pathname: '/user/123/settings',\n//   pattern: '/user',\n//   pathnameBase: '/user'\n// }\n```\n\n### Сопоставление с wildcard\n\n```typescript\n// Сопоставит любые пути, начинающиеся с '/posts/'\nconst wildcardMatch = router.matchPath(\n  { path: '/posts/*' }, \n  '/posts/tech/123/comments'\n);\n// {\n//   params: {},\n//   pathname: '/posts/tech/123/comments',\n//   pattern: '/posts/*',\n//   pathnameBase: '/posts'\n// }\n```\n\n## Location\n\n`router.location` - это MobX observable.\n\n### API\n\n```typescript\ntype Location = {\n  pathname: string;  // Текущий путь (например, '/dashboard')\n  search?: string;   // Query параметры (например, '?id=123&tab=settings')\n  hash?: string;     // Hash фрагмент (например, '#section')\n  state?: NavigationState; \n};\n```\n\n### pathname\n\nОсновное свойство `pathname` содержит текущий путь URL без query параметров и hash фрагмента.\n\n#### Примеры использования\n\n```typescript\n// Получение текущего пути\nconst currentPath = router.location.pathname;\nconsole.log(currentPath); // '/user/123'\n```\n\n#### Реактивное использование с MobX\n\n```typescript\nimport { makeAutoObservable } from 'mobx';\n\nclass NavigationStore {\n  constructor(private readonly _router: Router) {\n    makeAutoObservable(this);\n  }\n\n  // Computed свойства на основе pathname\n  get isAdminPage() {\n    return this._router.location.pathname.startsWith('/admin');\n  }\n}\n```\n\n## Подписка на события маршрутизации\n\nМетоды `subscribeRouteChangeStart` и `subscribeRouteChangeEnd` позволяют подписываться на начало и окончание навигации.\n\n#### Особенности реализации\n\n- Начало навигации (subscribeRouteChangeStart) — вызывается сразу после инициирования перехода на новый маршрут, до фактической активации/рендера компонентов.\n- Окончание навигации (subscribeRouteChangeEnd) — вызывается после успешного завершения перехода и рендера нового маршрута.\n\n### API\n\n#### Синтаксис\n\n```typescript\nconst disposeStart = router.subscribeRouteChangeStart(handler: (location: Location) => void): () => void;\nconst disposeEnd = router.subscribeRouteChangeEnd(handler: (location: Location) => void): () => void;\n```\n\n#### Параметры\n\n- `handler` - функция-обработчик, которая будет вызвана с объектом [Location](#location) или строкой `url`:\n  - для `subscribeRouteChangeStart` — при начале навигации\n  - для `subscribeRouteChangeEnd` — после завершения навигации\n\n#### Возвращаемое значение\n\nФункция `subscribeRouteChangeStart` и `subscribeRouteChangeEnd` возвращает функцию `dispose`, которая отписывает обработчик от событий.\n\n#### Примеры использования\n\n```typescript\n// Подписка на начало перехода:\nconst disposeStart = router.subscribeRouteChangeStart((location) => {\n    console.log('Начинается переход на:', location.pathname);\n});\n\n// Отписка от события перехода:\ndisposeStart();\n\n// Подписка на окончание перехода:\nconst disposeEnd = router.subscribeRouteChangeEnd((location) => {\n    console.log('Переход завершён:', location.pathname);\n});\n\n// Отписка от события перехода:\ndisposeEnd();\n```\n\n## Debug\n\nВ debug режиме router будет логировать внутренние операции.\n\n```typescript\nconst router = new MobxRouter(\n  provider,\n  routesConfig,\n  { logLevel: 'debug' },\n);\n```\n\n## Тестирование\n\n<!-- llm-section-id: mobx-router:tests -->\n\nДля мока роутера используйте `createRouterMockFactory`.\n\n`RouterMock` полностью эмулирует поведение реального роутера в памяти, сохраняя реактивность и особенности поведения (например, асинхронный `navigate`).\n\n`RouterMock` создается на основе реального роутера, что позволяет переиспользовать его конфигурацию и маршруты.\n\n### Фабрика `createRouterMock` (задается один раз)\n\n```shared/services/Router/Router.ts```\n```typescript\nimport { MobxRouter } from '@astral/mobx-router';\n\nconst routesConfig = {\n  home: MobxRouter.defineRoute({\n    pattern: '/home',\n  }),\n};\n\nexport const router = new MobxRouter(reactRouterProvider, routesConfig);\n```\n\n```shared/tests/RouterMock/RouterMock.ts```\n```typescript\nimport { createRouterMockFactory } from '@astral/mobx-router';\n\nimport { router } from '#shared/services/Router';\n\nexport const createRouterMock = createRouterMockFactory(router);\n```\n\n### Использование `routerMock`\n\n#### Для каждого теста свой routerMock instance\n\n```ts\nconst setup = () => {\n  const routerMock = createRouterMock();\n\n  const sut = new Store(routerMock);\n};\n```\n\n#### Проверка состояния location, searchParams, routeParams\n\n```ts\nexpect(routerMock.location.pathname).toBe('/main');\n\nexpect(routerMock.searchParams).toBeEqual({ page: 1 });\n```\n\n#### Initial path, searchParams, routeParams\n\n```ts\ncreateRouterMock({\n  initialLocation: { pathname: '/main/:userId' },\n  searchParams: { page: 1 }\n});\n```\n\n#### Ожидание завершения navigate\n\n```ts\nawait routerMock.waitNavigation();\n```\n\n#### Изменение location\n\n```ts\nawait routerMock.navigateAsync('/main/123')\n```\n\n#### Изменение searchParams\n\n```ts\nrouter.setSearchParams({ page: 1 });\n```\n\n#### SearchParamsStore\n\n`SearchParamsStore` получает состояние из `router.searchParams`: установка значений через `router.setSearchParams` установит `values` и в `SearchParamsStore`.\n","readmeFilename":"README.md"}