{"_id":"@cxra/routine-assistance","_rev":"7-f24c750ff80076671eadaa06193021a9","name":"@cxra/routine-assistance","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@cxra/routine-assistance","version":"0.1.0","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"devDependencies":{"@angular/common":"^14.0.0","@angular/compiler":"^14.0.0","@angular/core":"^14.0.0","@angular/cdk":"^14.0.0","rxjs":"~6.6.0","zone.js":"~0.11.4"},"gitHead":"523b325ff77ecd238a8966babb700d52755240a6","_id":"@cxra/routine-assistance@0.1.0","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-7ELQ8RvnrnNd1lelzdsNV94xASBoAMEMdms4BA34ZRVFdkUeaT7hnAp4jDCKMj2TbVHQR5DumR7KA4fEHBYnPg==","shasum":"a48dc7d57841f5b94cc6e89ce0740b3743f9650d","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.0.tgz","fileCount":10,"unpackedSize":4433,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtcEY6RvWiITtGdf2xSUK7EY9MmMnzrGLFPQM5nGHl6AiEAj2rBHQE5Imc0byAz2RYfdVwaX/tkgNnSVUnf4fNncRk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBIpmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXKQ/7BqDL+0BFnqNgQuUfWz4R/SdF9NZuU0PqotuHxMd+T5VwaidV\r\nD2LvMGXX7uPDAjbHWFPuX1xux7VfT69bZWRP2ZqeMfpXjmcs3FSF/y9DpvI0\r\nOHTb/3EIMR8sP0Dr+D8Z4thQ0O5W2cN89fv32E5BdGkb6+cugpLObImIHYKW\r\nE1+wi0hlAxxZ2+HM8FLaazGVY93O9+WXCxxJlvWprLAI7p1D0nEQD1y0jlEK\r\nGglN8N7czYti5/oYlLGkSg8XxEKqww3t5QXDuMWJtKEdN2Zj9oC7clCS9R4f\r\n3kl2FJDj88QvrzUyYAPA0AwAEVDeGfSP0Bt3W0AI2xMTM44IZoHFcRtFhZwq\r\nmQxEvD6cwpceyDvC9OvGJRSNHMkaZ+lhmPEzcBy49cw6xKMg/w9+0gqZvtMe\r\nTANbyxrAxGoboUgOCgxA+XNuax5ZhE5QEL0ipsj8PlnRpyRpd4j/aHSnK3Ja\r\nqouh7wSzdgLvb0mx9XuSH0NIg/L0BPNhm96yQ6cSNLl1yaO+N+JIEaNKsDrV\r\n/UdFXtaPOO3TLNqcJvJe4sanQ0WaJvXhEiU/tyE7eGAu4Ul9l1gckdlIWIDe\r\nFoFoILzPInbM4pfUZisXXNj8cbrBjSNWtrDLgtF78JxPhtTYCszLlN+xVLbd\r\nu6zoYWtL2S6/P3vbMa7STaR3JP4M9Wwdq18=\r\n=Gi7Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.0_1678019174287_0.033268812008247606"},"_hasShrinkwrap":false},"0.1.1":{"name":"@cxra/routine-assistance","version":"0.1.1","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"module":"fesm2015/cxra-routine-assistance.mjs","es2020":"fesm2020/cxra-routine-assistance.mjs","esm2020":"esm2020/cxra-routine-assistance.mjs","fesm2020":"fesm2020/cxra-routine-assistance.mjs","fesm2015":"fesm2015/cxra-routine-assistance.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/cxra-routine-assistance.mjs","es2020":"./fesm2020/cxra-routine-assistance.mjs","es2015":"./fesm2015/cxra-routine-assistance.mjs","node":"./fesm2015/cxra-routine-assistance.mjs","default":"./fesm2020/cxra-routine-assistance.mjs"}},"sideEffects":false,"gitHead":"523b325ff77ecd238a8966babb700d52755240a6","_id":"@cxra/routine-assistance@0.1.1","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-aK6wTOoJcKTTBpVJ8/+Q2SJN5SsGWPWkQPq1kfHaKpMYLqvMFsvGIEHUubQbm42AYOGcufNFVNX8khfj+DnkZQ==","shasum":"c6aa2270bfc61fe49154dd783603e898921a4746","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.1.tgz","fileCount":13,"unpackedSize":20036,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKEeM+AhHCKcE79gugSbMCZK1fs9XSEWY+k8tSRkZggAiAI8yHmSDUdFiIKTIccLP5xh9Bj1bCJyKnWeVq5vbDE6g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBIy5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3xg//dn0+glah3MRwkrsfaCYEoMMpIfywZXFhgip6c+K3e/V5IEcv\r\nnPYxikkj/g3aEyPl81iMgw86zNaLWKHXU01d9vJ9ImEkTv9ZAsixe4/3Nj8T\r\nodjdWpFXwRsWHqDzwKHoTkZfn8sZ3CFXIOyXpUMA49hdLjRwCt4eoqF9ydqa\r\n17HAH36OJOmxfJdGaO+Te5J5FX+rpc6hHz6PY134TnwTMIr9UYraatqtlmnu\r\n+0BR2Eti4h31GkJmiMTwYMFrNoQlBtcGhVJJlyN8vNPe+iCSmytr6d4wMCeF\r\n8PaFEctOzJ1EwK/ViHuxhiM96JI1MXqbvZ9HifHM/xUB1U79tHo5ACW3zxQK\r\nMvsM1lx+rh/h6W8pqNtmJQPQNfKJ2kN9kRjZ2TxNTCKCd08Ym7n0AqscyMxO\r\nFSANnGPxzmWE/Uk8VHiP5bUiuiaj9Ot2Lxv7pCs/4A3eb/qAoZmh4vh9YZdd\r\n8Yhu5TToWQUj/0Eqnb4cz6pllUHIK6O0DrKxaklDPM0dNJkrocqSjigS3PsG\r\nJhwHNOksx+zo/CKveVwV0yd5MUevGqqzx0ExQ+Xc9t/UOuc5iCHfWvgpd+rr\r\np+ZQK7k8Wgunzcwxwfr/iYEPFzO+2vHsKixqZjP32ooQGIwLoVSIMjDCDGDe\r\nvl0uXS58VY7eSvhJN9OVzqiYcuz0xxgInZw=\r\n=P1um\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.1_1678019769714_0.05828905981638721"},"_hasShrinkwrap":false},"0.1.2":{"name":"@cxra/routine-assistance","version":"0.1.2","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"module":"fesm2015/cxra-routine-assistance.mjs","es2020":"fesm2020/cxra-routine-assistance.mjs","esm2020":"esm2020/cxra-routine-assistance.mjs","fesm2020":"fesm2020/cxra-routine-assistance.mjs","fesm2015":"fesm2015/cxra-routine-assistance.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/cxra-routine-assistance.mjs","es2020":"./fesm2020/cxra-routine-assistance.mjs","es2015":"./fesm2015/cxra-routine-assistance.mjs","node":"./fesm2015/cxra-routine-assistance.mjs","default":"./fesm2020/cxra-routine-assistance.mjs"}},"sideEffects":false,"gitHead":"8e63a8c8cde63f39916b8ade052f83072301a53f","_id":"@cxra/routine-assistance@0.1.2","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-5rz1JpY4WmTycFW6nX+hpkU+dTmigpFk3eXJLGC6o94H9iCUf0T66VQ/mWYP7tDIQ3Di8a4bBajYm6Q6vAFFyQ==","shasum":"29612abfbe971d428917daeb6d2c646d55b6448a","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.2.tgz","fileCount":19,"unpackedSize":42308,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUdg4eAjQLRBRmeAsJFvbGS+Ij/cZL2Ty6LBo227edDgIgW6Bj0AFIH/i3FrT7wQ9F+CaXJuXi0Ea3AGdunSjLvQQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB0RuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoxgg/+PwUcemh/A9hx/nEmv0MYN7lWL4kI79Ktl5CxQgRuLWRwyty/\r\n67FWC13bok4b/k8qRZodrD/1CwbuRmvI0zetBPF5X+DXF/fvi4t+tn2Uik+g\r\nHnbTxxiEJLOZxhTGaIi39PM2afDivo+zGGwjDWHgjUdXDbEvxYfGP3iB0Mdz\r\nPhZVt03RG0PlBSVcbxbTug8QOxAx4Ux9XgtvQ1nLv6OyzN6fVKBSnoR7MMdX\r\nJk6q4b24pttvU+MtZyc2LlDMxPrtNBdVIEX21yTTTm/3EiVa5o/XpxpU5Hri\r\nZA/hMZ8GSik4D4neRGVhYIvpuZuCqOeiUG+7jQgxssPEmcDxmFKkooZ2nCBd\r\nhSs/5tF0M+iGREw5+MZa9D0mg+seWn3QvC+jE3di9Pjjzcom0c+AcXPFQ6uq\r\nJSbk2C+UUTGdjA5NcSAYPXhjDUa+3VbpruvYdr5uRpuwKLizAVYxYctafJGF\r\nL7x31Wg6Plr7kgUQr/4C7XS9tnYlMUSsYE4xwaxF+/Gd8QT7MySY3j6f3Mds\r\nLdcAMK0dcTag5aiq7xfwuFlWbUonzon9RIfNBN12dEIO0pYVOSi1OCanT92a\r\nb41c1LpzHRrG6dk8DWck2c9bNBubJ+XT3Sr/Uq9+eX9phVB5R4l/HvOVMfqm\r\nk5F9r1A49dUFnjAl9gfg3MrVXTOIj+G74pA=\r\n=7jMc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.2_1678197870365_0.6165134591528845"},"_hasShrinkwrap":false},"0.1.3":{"name":"@cxra/routine-assistance","version":"0.1.3","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"module":"fesm2015/cxra-routine-assistance.mjs","es2020":"fesm2020/cxra-routine-assistance.mjs","esm2020":"esm2020/cxra-routine-assistance.mjs","fesm2020":"fesm2020/cxra-routine-assistance.mjs","fesm2015":"fesm2015/cxra-routine-assistance.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/cxra-routine-assistance.mjs","es2020":"./fesm2020/cxra-routine-assistance.mjs","es2015":"./fesm2015/cxra-routine-assistance.mjs","node":"./fesm2015/cxra-routine-assistance.mjs","default":"./fesm2020/cxra-routine-assistance.mjs"}},"sideEffects":false,"gitHead":"323cb54b8d29de8ea09b59468d94a4efa47a6944","_id":"@cxra/routine-assistance@0.1.3","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-JBwmaMtFjlYYvRpOzd9XnUpTBqDXZ6LL1G5947tRWI8s/EHiprxI01vlLUX3+hRLFp2awgkS2pWggYenkzMGDw==","shasum":"90ba78a277af3b9cb3dc0bf136edb5b70f6c4238","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.3.tgz","fileCount":27,"unpackedSize":86071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7/kftCgQUjJ2x5XiqjWZtCv25sWgwpfQ0IcmUbrVPAwIhANYAYHVQOENEDS3MlbTEEe73juLovQimwM0ihRQ+Meab"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB/zoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVZQ/+Jm6OEVOD+MtAd4EPiQ/GzriEo24I+z+2q2AfqkrkiuE0bUf1\r\nqxYnKGQA8S9oQ8k7Y1AI6YEh4/sKD0v6NZbm1TUQ+BLvEDcjjqb828AqvIfG\r\nMG+b1RTmIE+GtVD81BHTh/J5sI5TPUbqI8K+3HpsE3dkc6G5yzHrNJt4Ug9s\r\nIuC9UaMbHYCgAwEwcqtsgxodr73fiESxJIujBnVZrlhGsxvyfR/5YQn2gC+2\r\nPiAlkLrlx+2lTxkab3TNZngK1m3ihoJ+7/zxGMdFB3bZHhxGkqCP1RUuF6Zn\r\nWyV4HPTKDNkxDgXW4kSKg4KTEqnxJaORIRVypHG8df4A6aKIGNIUbGXJSMje\r\nR92It1/tjhwP+NWzWqEFkIfLzOnAm2iGWkdzDsnf5juSBkm4oEAfk8XVsJlt\r\nyZVoHEhcHP6EOlUPoh7UQEMGQlkCo+bospDAEmhpGngDZKLXBETGxa4kD7il\r\nwo/nkHaj04bKG2wNr7jWiqnYAcaAjeWTgiHmj8PIIVSVZQg/abOWLcOY69rW\r\n00pw3DWMC/NIMl7U4uxZjguMR0T+anF/iI+sDVJOlbzPTwtSRnaugnwWw2PW\r\n0TnnsDWQIo4fYCKWsBanc0emwCgso3/H+uGNXzJuAefAO4bQLUqX+3iqrmfZ\r\nBnkllCUg8Xz6Dc4TxbkJ8uYfYaBbr6AEP9s=\r\n=7ioH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.3_1678245096504_0.9075480725855063"},"_hasShrinkwrap":false},"0.1.5":{"name":"@cxra/routine-assistance","version":"0.1.5","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"module":"fesm2015/cxra-routine-assistance.mjs","es2020":"fesm2020/cxra-routine-assistance.mjs","esm2020":"esm2020/cxra-routine-assistance.mjs","fesm2020":"fesm2020/cxra-routine-assistance.mjs","fesm2015":"fesm2015/cxra-routine-assistance.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/cxra-routine-assistance.mjs","es2020":"./fesm2020/cxra-routine-assistance.mjs","es2015":"./fesm2015/cxra-routine-assistance.mjs","node":"./fesm2015/cxra-routine-assistance.mjs","default":"./fesm2020/cxra-routine-assistance.mjs"}},"sideEffects":false,"gitHead":"e476df7400189d7726981bf63ea985525106460b","_id":"@cxra/routine-assistance@0.1.5","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-goGv9yafXQZP6A6CT7CI7yJo07wbA+KLXkzpeu2QErj7fhTY3sSCWliuFeSF3ZYRu37bCD6FR8ADzWnzv4Le6A==","shasum":"4952678a4ee1f0de50e5f1ef869a6e449b967b5c","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.5.tgz","fileCount":35,"unpackedSize":117573,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICbCGI0dXKq3OWE1NAqqdm2IJe3h4fXnyXJr2PTuQOTIAiAdaeVqJTTAoKHNTy9DDSak1gCjZa2ONnwfvy4ZRwv01A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDZOiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxsA/+KdJjmJqYQgYDOpW0F1O6kaIXzZ8Fnx/BJoFd+IVlMQXRfCHQ\r\nz/ZLGB0eXzVaot5SVG2gYtPpBMJqR2DPBOg6ZkHQULEky2ZlSo5zRMl6wiEM\r\nZmnHMQJMk1YS+HVKghXRA1ZMicpDTOOCu1f0xTDhAxbI2x4GFeJU50PwVSLH\r\nI1nfCXm08Z3l8W4w9LMalmOb7SUTSNxpu584YC+7u7TBRCQ+DagwC3ytAQSo\r\nUZ7of0TxiOt3m+4fgAMAwUw7ke7eKS88uHbDDwkB20eNdAxn3GHBnCwmOMSl\r\ncBgdvF6Uv8VL/NCdgKwsSILM3nQ1Xi8+SzIV255qR4xLA1I7SiTQJjeSGO81\r\niozO9nV7PsG/hOUTZReRN5JpNo14emZhUH6JRFBG5lrTknyh4+EcYMttj0Rt\r\nUChgjdJyHI9whQWBsX3/Z2sDWw/mbNrlxK7yUWFAdrc3bNUXa81VFkwiolZF\r\nmN163wA3XtEXfXtOXx4bPWFQjKtrHCrgRbw7sI+Nsi+z3n0gntVRu3bK+T9+\r\n5OBWrhj7QvaKsnrnYREMVUyFzhEBMSgfU8lGxIqHeRgWgffRNApmJ+vJxjRI\r\nbgBp6ECk25FgaHZPUfLgv/e4T41Xy9IVKJWVYunyhjhgdW3b8NbC4So/4ohU\r\n97zinSgw4gXqXAdSFz+AFjCrWa49tg+ERGo=\r\n=VwMI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.5_1678611362366_0.17201741312567154"},"_hasShrinkwrap":false},"0.1.6":{"name":"@cxra/routine-assistance","version":"0.1.6","description":"RA (Routine Assistance).","author":{"name":"coo.x63"},"keywords":["routine","assistance","module"],"dependencies":{"tslib":"^2.0.0"},"module":"fesm2015/cxra-routine-assistance.mjs","es2020":"fesm2020/cxra-routine-assistance.mjs","esm2020":"esm2020/cxra-routine-assistance.mjs","fesm2020":"fesm2020/cxra-routine-assistance.mjs","fesm2015":"fesm2015/cxra-routine-assistance.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/cxra-routine-assistance.mjs","es2020":"./fesm2020/cxra-routine-assistance.mjs","es2015":"./fesm2015/cxra-routine-assistance.mjs","node":"./fesm2015/cxra-routine-assistance.mjs","default":"./fesm2020/cxra-routine-assistance.mjs"}},"sideEffects":false,"gitHead":"7ae61035baa0457c45d8ecca56b1545786235184","_id":"@cxra/routine-assistance@0.1.6","_nodeVersion":"16.16.0","_npmVersion":"9.6.0","dist":{"integrity":"sha512-FpSZU9TXcv2cahWoIaiNsUg0qtsFxFjeBPNT2wePjtfhzUxWCn2811ppD5WPOhloLhMo0dJYq+lDvTArVmP0yQ==","shasum":"0ec1906b8d3e4a601933bd93ac48112e9ba7c23a","tarball":"https://registry.npmjs.org/@cxra/routine-assistance/-/routine-assistance-0.1.6.tgz","fileCount":41,"unpackedSize":128771,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj1sHpHGMB141Obdr5AFRDxrrnIkq8Fo2aGxm4hyyFTwIgdOLaw90+1FLXYBwIHHTROK621m6uP81pYbYxeOBEYHs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGW0iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrr5A//a99EvDPBrEPbekKBEqD/gK9doE6TICRxAr6qDA4wv3YSSxhA\r\noM/U0bX2eSxMqEY0nVH061IAn9wqLehGb3t3j+/rpEqVkrl+XEX7akCrQnSE\r\ncxf4Jh+NN/cflXs3NduVrWkgqRJtUdxDYNLiXGizuC3vqzi9elxbwA/BLQS1\r\n4zMJ13iQlt72Y3gVGUMStqo6OZ3eTQddw36zBRSeE5PVOMDeDkzZfy2WEO2m\r\nNZ+sJomjDUOqM5l6Q67e/UtwIdHsr+UPcgd72q1D8d2Pl1jjtPA/5m9ipHiP\r\nWMOFIkauGT15C3sNpYj+skBk40/vGq9ILfe5gMY403H6cBahavN35T3a5xsC\r\ni6JQZ642flh/cXEnVXInoJzgbiioFPQNwdXuvbpbfEafQax6k5/1FubKQz8X\r\n/GtUc49qZde1FDq0aYmipemMggMTT5GlApY1LbwNWPf7O2HMpAAUtCEbTRIE\r\nWO9zcOx4QLNuzIQ+02zUcjzka3CV0kQVVdKGDDMJ52NJuWsqmonFZHgUDSs5\r\nNxv/lGXixlyGZR4CYozh8ycRPKv4pR1cZ5wE7pvBiBNURHz8r6hLHsRPirM4\r\nOAJf9owMn/2l0yno66coE2YdhEqT0EjDbYT0t01QNwEJJArjudqwNUBOSAin\r\n64HkiIEypvpjkE1NlvAP44AOPHcNtjtKYAw=\r\n=YJ3A\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"coo.x63","email":"coo.x63@gmail.com"},"directories":{},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/routine-assistance_0.1.6_1679387938382_0.255149217978095"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-05T12:26:14.188Z","0.1.0":"2023-03-05T12:26:14.466Z","modified":"2023-03-21T08:38:58.733Z","0.1.1":"2023-03-05T12:36:09.850Z","0.1.2":"2023-03-07T14:04:30.547Z","0.1.3":"2023-03-08T03:11:36.709Z","0.1.4":"2023-03-12T08:41:28.585Z","0.1.5":"2023-03-12T08:56:02.519Z","0.1.6":"2023-03-21T08:38:58.550Z"},"maintainers":[{"name":"coo.x63","email":"coo.x63@gmail.com"}],"description":"RA (Routine Assistance).","keywords":["routine","assistance","module"],"author":{"name":"coo.x63"},"readme":"# @cxra/routine-assistance\r\n\r\n## Pipes\r\n\t\r\n`isD` checks if the value is defined\r\n\t\r\n`isND` checks if the value is undefined or null\r\n\t\r\n`asSanitizedHtml` is meant to be sanitized to declarative html for use in a template\r\n\r\n# @cxra/module-federation-navigator\r\n\r\nДанная библиотека, предназначена:\r\n* To make it a little easier to work with [Module Federation](https://github.com/angular-architects/module-federation-plugin/blob/main/libs/mf/README.md) in basic cases.\r\n* Автоматизировать не только управление модулями через файл конфигурации, но и управление навигацией к этим модулям и доступностью их для разных контекстов исполнения. _Данная потребность возникала:_\r\n\t* В продуктовой разработке когда один продукт разворачивается для разных заказчиков с разной конфигурациеи.\r\n\t* Когда нужно предоставить возможность devops быстро отключать, включать и конфигурировать состав. \r\n* Сохранить возможность ленивой загрузки и при этом дать возможность самим модулям предоставлять компонент который будет использован в качестве навигационного элемента\r\n\r\n## Конфигурирование\r\n\r\nОсновные настройки описываются в конфигурационном файле манифеста модулей `{manifest_name}.json` для изменения конфигурации после развертывания.\r\n\t\r\n* Рекомендуемым местом расположения файла конфигурации для проектов где основное приложение написано на angular является `.\\{app-name}\\src\\assets\\{manifest_name}.json` для публикации стандартными средствами\r\n* Так же регулярным вариантом использования является сборка и предоставления манифеста server-side в виде ответа на запрос, так как формат данных манифеста `json`\r\n\r\nRecommended point to load the configuration is to implement the standard angular app init loop, by provide `APP_INITIALIZER`\r\n\r\n```\r\n\tproviders: [{\r\n\t\tprovide: APP_INITIALIZER,\r\n\t\tuseFactory: (manifest: CXraModuleNavigatorManifest<cxra.module.federation.navigation.NavigableRemoteModuleConfig>) => \r\n\t\t\t(): Promise<void> => \r\n\t\t\t\tmanifest.load('/assets/modules.manifest.json'),\r\n\t\tdeps: [CXraModuleNavigatorManifest],\r\n\t\tmulti: true\r\n\t}],\r\n```\r\n\r\n### Настройка источников модулей\r\n\r\nДанная библиотека основана на [angular-architects/module-federation-plugin](https://github.com/angular-architects/module-federation-plugin/blob/main/libs/mf/README.md), по этому основными видами потребляемых модулей являются:\r\n\r\n* Модули `angular`. В качестве `type` указывается значение _module_.\r\n\r\n\t```\r\n\t\t\"module-a\": {\r\n\t\t\t\"type\": \"module\"\r\n\t\t\t\"remoteEntry\": \"http://localhost:3000/remoteEntry.js\"\r\n\t\t\t\"remoteName\": \"example-module-a\"\r\n\t\t\t\"exposedModule\": \"./Module\"\r\n\t\t\t\"elementName\": \"AppModule\"\r\n\t\t\t...\r\n\t\t}\r\n\t```\r\n\r\n\t`elementName` наименование основного класса публикуемого как angular module.\r\n\t\r\n\tВ частности пример приведенный выше, справедлив для внешнего модуль публикованного следующим образом \r\n\t```\r\n\t\tname: \"example-module-a\"\r\n\t\texposes: {\r\n\t\t\t\"./Module\": \"./examples/example-module-a/src/app/app.module.ts\"\r\n\t\t\t\"./Component\": \"./examples/example-module-a/src/app/components/nav/nav.component.ts\"\r\n\t\t}\r\n\t```\r\n\r\n* Скрипты `js`. В качестве `type` указывается значение _script_.\r\n\r\n\t```\r\n\t\t\"react-a\": {\r\n\t\t\t\"type\": \"script\"\r\n\t\t\t\"remoteEntry\": \"https://witty-wave-0a695f710.azurestaticapps.net/remoteEntry.js\"\r\n\t\t\t\"remoteName\": \"react\"\r\n\t\t\t\"exposedModule\": \"./web-components\"\r\n\t\t\t\"elementName\": \"react-element\"\r\n\t\t}\r\n\t```\r\n\r\n\t`elementName` наименование component получаемого из публикации в качестве root.\r\n\r\n---\r\n\r\nОбщие настройки вне зависимости от типа:\r\n\t\t\r\n`remoteEntry` публичный адрес размещения сгенерированного файла декларации интегрируемых модулей.\r\n\r\n`remoteName` наименование remote object используемое для публикации.\r\n\t\r\n`exposedModule` наименование секции размещения модуля в экспозиции.\r\n\r\n### Настройка навигации модуля\r\n\r\nНа базовом уровне навигация определяется свойством `navigation`.\r\n\r\n* Для модуля может быть определено поведение без навигационного элемента. \t\r\n\r\n\tДанное решение может быть применимо в случаях когда функциональность remote модуля должна быть доступна только из определенного блока интерфейса или как звено определенного бизнес сценария. Такой подход реализуется по средствам доступа по конкретному маршруту.\r\n\t\r\n\t`navigation` задается непосредственно строкой описывающей route.\r\n\r\n\t```\r\n\t\t\"navigation\": \"module-a/offers/:id/accepted\"\r\n\t```\r\n\r\n* Для модуля может быть определена глобальная навигация.\r\n\r\n\tДанное решение предоставляет возможность самому модулю запубликовать навигационный элемент, `component` который будет использован для отображения в меню, инвертировав данную зависимость из основного приложения. Или напрямую в конфигурационном файле определить `template` который будет использоваться в качестве навигационного элемента, что позволяет интегрироваться с remote module не публикующему навигационный элемент, например если он legacy или поставляется сторонним разработчиком.\r\n\r\n\t`navigation` задается объектом содержащим ряд конфигураций.\r\n\r\n\t```\r\n\t\t\"navigation\": {\r\n\t\t\t\"route\": {\r\n\t\t\t\t\"path\": \"module-a\"\r\n\t\t\t},\r\n\t\t\t\"component\": {\r\n\t\t\t\t\"type\": \"ModuleANavComponent\",\r\n\t\t\t\t\"remoteEntry\": \"http://localhost:3000/remoteEntry.js\",\r\n\t\t\t\t\"exposedModule\": \"./Component\"\r\n\t\t\t}\r\n\t\t}\r\n\t```\r\n\r\n\t* `route` описание route для lazy load сборки модуля\r\n\t\t* `path` обязательная характеристика задающая строкой route\r\n\t\t* `params` карта path параметров (_optional_)\r\n\t\t* `queries` карта условных параметров (_optional_)\r\n\t* `component` описание элемента для представления в навигации\r\n\t\t* Может быть представлен конфигурацией использующей remote `component` и в данном случае описывается радом свойств.\r\n\t\t\t* `type` название класса компонента из remote модуля который будет использоваться в качестве навигационного элемента\r\n\r\n\t\t\t\t⚠️ Рекомендуется оформлять как __standalone__ компонент\r\n\t\t\t\t```\r\n\t\t\t\t\t@Component({\r\n\t\t\t\t\t\tselector: 'module-a-nav'\r\n\t\t\t\t\t\tstandalone: true\r\n\t\t\t\t\t\t...\r\n\t\t\t\t\t})\r\n\t\t\t\t\texport class ModuleANavComponent {}\r\n\t\t\t\t```\r\n\r\n\t\t\t* `remoteEntry` публичный адрес размещения сгенерированного файла декларации модуля содержащего навигационный элемент.\r\n\t\t\t* `exposedModule` наименование секции размещения навигационного элемента в экспозиции.\r\n\r\n\t\t\t\t```\r\n\t\t\t\t\texposes: {\r\n\t\t\t\t\t\t\"./Module\": \"./examples/example-module-a/src/app/app.module.ts\"\r\n\t\t\t\t\t\t\"./Component\": \"./examples/example-module-a/src/app/components/nav/nav.component.ts\"\r\n\t\t\t\t\t}\r\n\t\t\t\t```\r\n\t\t* Может быть представлен конфигурацией использующей `template`\r\n\r\n\t\t\tВ данном случае описывается текстовым представлением шаблона напрямую в конфигурационном файле. И предоставляет возможность задания индивидуального значения каждому экземпляру развертывания силами devops.\r\n\r\n\t\t\t```\r\n\t\t\t\t\"component\": \"<span>to <b>reAct-B</b></span>\"\r\n\t\t\t```\r\n\r\n### Управление доступностью навигации к модулю, в зависимости от контекста или состояния\r\n\r\nВ конфигурационном файле манифеста модулей `{manifest_name}.json` активность модуля и его навигации, может быть установлена в три состояния 'on' | 'off' | 'promise'.\r\n\r\n```\r\n\t\"module-b\": {\r\n\t\t\"state\": \"on | off | promise\"\r\n\t\t...\r\n\t}\r\n\t...\r\n```\r\n\r\n* `on` - модуль активен сразу и будет доступен сразу после загрузки инициированной активацией маршрута\r\n* `off` - навигация к модулю не будет доступна и маршруты для активации модуля не будут опубликованы\r\n* `promise` - навигация к модулю будет разблокировано если будет найдено и выполнено положительно обещание активации, публикуемое по token в DI\r\n\r\n\t```\r\n\t\tproviders: [{\r\n\t\t\tprovide: CXRA_MODULE_OPTIONS,\r\n\t\t\tuseFactory: (_http: HttpClient) => ({\r\n\t\t\t\t['module-a']: {\r\n\t\t\t\t\tstate: new Promise<boolean>((resolve) => {\r\n\t\t\t\t\t\t_http.get<...>(...).pipe(\r\n\t\t\t\t\t\t\tmap(user => user.permissions.has(...)),\r\n\t\t\t\t\t\t\t...\r\n\t\t\t\t\t\t\ttakeUntil(...)\r\n\t\t\t\t\t\t).subscribe(() => resolve(true));\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdeps: [HttpClient],\r\n\t\t\tmulti: true\r\n\t\t}, ...],\r\n\t```\r\n\r\n_@see cxra.module.federation.navigation.RemoteModuleState_\r\n\r\n### Публикация пользовательских событий модуля\r\n\r\nДля публикации реализации возможности отображения факта наличия ии самих пользовательских уведомлений remote module в навигационной части приложения в едином стиле, предусмотрена возможность опубликовать источник событий через контракт __CXRA_MODULE_OPTIONS__ как в непосредственном модуле, так и в локализованном приложении потребителе. Тем самым инвертированная устранив зависимость на предоставление модулю интерфейсов для непосредственного размещения элементов в обобщенной части интерфейса приложения.\r\n\r\nДля каждого модуля имеющего оповещения в его секции публикуется:\r\n\t\r\n* `events` - представляющий реализацию _Observable<Array<TEvent>>_\r\n\r\n\t```\r\n\t\tproviders: [{\r\n\t\t\tprovide: CXRA_MODULE_OPTIONS,\r\n\t\t\tuseFactory: (...) => ({\r\n\t\t\t\t['module-a']: {\r\n\t\t\t\t\t...\r\n\t\t\t\t\tevents: new BehaviorSubject<unknown>(...)\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdeps: [...],\r\n\t\t\tmulti: true\r\n\t\t}]\r\n\t```\r\n\r\n## Общие настройки\r\n\r\nДля задания общих настроек навигации и менеджмента remote modules определен контракт __CXRA_MODULE_NAVIGATOR_OPTIONS__ обладающий рядом характеристик.\r\n\r\n* `undefined.component` предназначена для определения компонента который будет использован в случае перехода к неопределенному элементу маршрутизации, в случае необходимости задания такого поведения централизовано\r\n\r\n\t```\r\n\t\tproviders: [{\r\n\t\t\tprovide: CXRA_MODULE_NAVIGATOR_OPTIONS,\r\n\t\t\tuseValue: {\r\n\t\t\t\tundefined: {\r\n\t\t\t\t\tcomponent: UnfoundComponent\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}],\r\n\t```\r\n\r\n## Examples\r\n\r\nThis repository provides examples of an application using this approach.\r\n\r\nDescription | Project\r\n--- | ---\r\nКонтекст. Пример проекта используемого для публикации и обработки данных используемых между разными модулями. | examples\\example-context\r\nModule A. С примером отключения навигации модуля из самого себя. | examples\\example-module-a\r\nModule B. С примером инкапсуляции внутренних стилей и данных внешнего контекста. | examples\\example-module-b\r\nDirectly the application publishes different modules and navigation. | examples\\example-app\r\n\r\n## First run\r\n\r\n* Install packages: ``yarn install``\r\n\t\r\n\tPlease note, you **must** use **yarn** during the beta phase of CLI 11 b/c it allows to override dependencies to force the CLI into webpack 5.\r\n\r\n* Build lib`s\r\n\t\r\n\tNavigator: ``yarn build:module-federation-navigator``\r\n\r\n### Usage\r\n\r\n* Start all micro-frontend's and app: ``yarn start:example:navigator:all``\r\n\r\n![let's try example](/examples/example-app/src/assets/brave-cookie.webp)\r\n\r\n## More\r\n\r\nMore [about Module Federation](https://github.com/angular-architects/module-federation-plugin/blob/main/libs/mf/README.md)\r\n","readmeFilename":"README.md"}