{"_id":"@anzflex/ngx-permissions","_rev":"12-a5eed15f6b53d293e4003df65db401b0","name":"@anzflex/ngx-permissions","dist-tags":{"latest":"21.2.7"},"versions":{"21.2.0":{"name":"@anzflex/ngx-permissions","version":"21.2.0","keywords":["angular","angular2","angular 2","angular4","angular 4","angular5","angular 5","angular 6","angular6","angular7","angular8","angular 8","angularx","angular-x","ng","ngx","ng2","ng4","ng5","permissions","permission","role","roles","guard","router","ngx-router","angular2-router","angular4-router","access-control","access","acl","rbac"],"author":{"name":"Nassor kh. Nassor","email":"alanzuann@gmail.com"},"license":"MIT","_id":"@anzflex/ngx-permissions@21.2.0","maintainers":[{"name":"anzuannbabu","email":"alanzuann@gmail.com"}],"homepage":"https://github.com/anzuannbabu/ngx-permissions#readme","bugs":{"url":"https://github.com/anzuannbabu/ngx-permissions/issues"},"dist":{"shasum":"278b13c89578016974fe2954ba33c14e681ecd8f","tarball":"https://registry.npmjs.org/@anzflex/ngx-permissions/-/ngx-permissions-21.2.0.tgz","fileCount":5,"integrity":"sha512-BpZf4oQ3Qk9En4/l3WM+7kQ6u4iT206kYbgdBTj37G0cyOxzP4Z1I1yZpF9SXI2djpj/znffWcfKfmhIZaRLxQ==","signatures":[{"sig":"MEYCIQDANdJEiDQnDJxDPVuCWvL+1bg7PZ9c4s6E+lWaMihbbQIhAOYveSuhrvU8re4Hze1666lm5ZvJFfBI6l4XN59K0Qnm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153107},"type":"module","module":"fesm2022/anzflex-ngx-permissions.mjs","exports":{".":{"types":"./types/anzflex-ngx-permissions.d.ts","default":"./fesm2022/anzflex-ngx-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"1891faec01ac4956afe4e8579f0b1044cda00a76","typings":"types/anzflex-ngx-permissions.d.ts","_npmUser":{"name":"anzuannbabu","email":"alanzuann@gmail.com"},"repository":{"url":"git+https://github.com/anzuannbabu/ngx-permissions.git","type":"git"},"_npmVersion":"10.9.2","description":"This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.2.0.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=^21.2.0","@angular/common":">=^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-permissions_21.2.0_1776242739212_0.7918418591796672","host":"s3://npm-registry-packages-npm-production"}},"21.2.5":{"name":"@anzflex/ngx-permissions","version":"21.2.5","keywords":["angular","angular2","angular 2","angular4","angular 4","angular5","angular 5","angular 6","angular6","angular7","angular8","angular 8","angularx","angular-x","ng","ngx","ng2","ng4","ng5","permissions","permission","role","roles","guard","router","ngx-router","angular2-router","angular4-router","access-control","access","acl","rbac"],"author":{"name":"Nassor kh. Nassor","email":"alanzuann@gmail.com"},"license":"MIT","_id":"@anzflex/ngx-permissions@21.2.5","maintainers":[{"name":"anzuannbabu","email":"alanzuann@gmail.com"}],"homepage":"https://github.com/anzuannbabu/ngx-permissions#readme","bugs":{"url":"https://github.com/anzuannbabu/ngx-permissions/issues"},"dist":{"shasum":"08020ae0729d09b4615df9a8e73f5d29addabc74","tarball":"https://registry.npmjs.org/@anzflex/ngx-permissions/-/ngx-permissions-21.2.5.tgz","fileCount":5,"integrity":"sha512-CuMB5ceUu5ncxQ7KFCUGQQ8ZNSOgMV00mg7pcwvTvVFIwwTz59rr+c3VfEe1xdBBwD3QnCWcqBpMVfyWyLkccw==","signatures":[{"sig":"MEQCIEaMd3bgPlndLXTdEiWb33UwNMHGuM795Ygys0+JPRluAiAUKXchgyKZXgx8rsQLdIoNfCRdTlc88OD6u+DQcwh5bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154242},"type":"module","module":"fesm2022/anzflex-ngx-permissions.mjs","exports":{".":{"types":"./types/anzflex-ngx-permissions.d.ts","default":"./fesm2022/anzflex-ngx-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"1891faec01ac4956afe4e8579f0b1044cda00a76","typings":"types/anzflex-ngx-permissions.d.ts","_npmUser":{"name":"anzuannbabu","email":"alanzuann@gmail.com"},"repository":{"url":"git+https://github.com/anzuannbabu/ngx-permissions.git","type":"git"},"_npmVersion":"10.9.2","description":"Permission and roles based access control for your angular(angular 21.x.x) applications","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=^21.2.0","@angular/common":">=^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-permissions_21.2.5_1776245218441_0.6760129951271681","host":"s3://npm-registry-packages-npm-production"}},"21.2.6":{"name":"@anzflex/ngx-permissions","version":"21.2.6","keywords":["angular","angular2","angular 2","angular4","angular 4","angular5","angular 5","angular 6","angular6","angular7","angular8","angular 8","angularx","angular-x","ng","ngx","ng2","ng4","ng5","permissions","permission","role","roles","guard","router","ngx-router","angular2-router","angular4-router","access-control","access","acl","rbac"],"author":{"name":"Nassor kh. Nassor","email":"alanzuann@gmail.com"},"license":"MIT","_id":"@anzflex/ngx-permissions@21.2.6","maintainers":[{"name":"anzuannbabu","email":"alanzuann@gmail.com"}],"homepage":"https://github.com/anzuannbabu/ngx-permissions#readme","bugs":{"url":"https://github.com/anzuannbabu/ngx-permissions/issues"},"dist":{"shasum":"e3fffc0a4dcd12cfa62596c080f068bdd57192df","tarball":"https://registry.npmjs.org/@anzflex/ngx-permissions/-/ngx-permissions-21.2.6.tgz","fileCount":5,"integrity":"sha512-83nfkVZvF1Q4OhETvkOrHzVzP4iwilGHiJ/Q1Vk6Jcr1PViM3bDPRN6Wmt/wU6ufjuv4DcJ6vXo4hSkPivictQ==","signatures":[{"sig":"MEYCIQCVOkWFhVNv7+Yvwj+LpvXs7mppx6g7IGmnPb7GNebUEwIhAKovHmLkscueq+TDf+JugmvkACdTT4sFtsNt4yD1yWbq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154240},"type":"module","module":"fesm2022/anzflex-ngx-permissions.mjs","exports":{".":{"types":"./types/anzflex-ngx-permissions.d.ts","default":"./fesm2022/anzflex-ngx-permissions.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"1891faec01ac4956afe4e8579f0b1044cda00a76","typings":"types/anzflex-ngx-permissions.d.ts","_npmUser":{"name":"anzuannbabu","email":"alanzuann@gmail.com"},"repository":{"url":"git+https://github.com/anzuannbabu/ngx-permissions.git","type":"git"},"_npmVersion":"10.9.2","description":"Permission and roles based access control for your angular(angular 21.x.x) applications","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@angular/core":">=21.2.0","@angular/common":">=21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-permissions_21.2.6_1776245431674_0.18601777629885263","host":"s3://npm-registry-packages-npm-production"}},"21.2.7":{"name":"@anzflex/ngx-permissions","version":"21.2.7","repository":{"type":"git","url":"git+https://github.com/anzuannbabu/ngx-permissions.git"},"author":{"name":"Nassor kh. Nassor","email":"alanzuann@gmail.com"},"keywords":["angular","angular2","angular 2","angular4","angular 4","angular5","angular 5","angular 6","angular6","angular7","angular8","angular 8","angularx","angular-x","ng","ngx","ng2","ng4","ng5","permissions","permission","role","roles","guard","router","ngx-router","angular2-router","angular4-router","access-control","access","acl","rbac"],"license":"MIT","peerDependencies":{"@angular/common":">=21.2.0","@angular/core":">=21.2.0"},"dependencies":{"tslib":"^2.3.0"},"sideEffects":false,"module":"fesm2022/anzflex-ngx-permissions.mjs","typings":"types/anzflex-ngx-permissions.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./types/anzflex-ngx-permissions.d.ts","default":"./fesm2022/anzflex-ngx-permissions.mjs"}},"type":"module","_id":"@anzflex/ngx-permissions@21.2.7","gitHead":"4e752e62e1e2d40bea1cb2c47922054ec84b5a04","description":"Permission and roles based access control for your angular(angular 21.x.x) applications","bugs":{"url":"https://github.com/anzuannbabu/ngx-permissions/issues"},"homepage":"https://github.com/anzuannbabu/ngx-permissions#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-PxCvs4OH2ACDlfaf9C21FMcjeXlh/iW+XDOx1WP0xi9J/xnBhWuMTtng1CqVKmxsei/mateatBR6xQUwzWxhYg==","shasum":"c20548a1de95dc6c0358b8f67107cc8b7600976a","tarball":"https://registry.npmjs.org/@anzflex/ngx-permissions/-/ngx-permissions-21.2.7.tgz","fileCount":5,"unpackedSize":155033,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCfpmNNgsw1601140r/7VYqgJL6v0Bbg/+xVOWaxdxTOgIgLjDrXxNKA19QwywMyD7JwArlDzxpYLz0i3M2oC2a+e0="}]},"_npmUser":{"name":"anzuannbabu","email":"alanzuann@gmail.com"},"directories":{},"maintainers":[{"name":"anzuannbabu","email":"alanzuann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ngx-permissions_21.2.7_1776246884545_0.7755672757947554"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T08:45:39.110Z","modified":"2026-04-15T09:54:44.802Z","21.2.0":"2026-04-15T08:45:39.377Z","21.2.1":"2026-04-15T09:06:16.264Z","21.2.2":"2026-04-15T09:07:35.594Z","21.2.3":"2026-04-15T09:08:43.604Z","21.2.4":"2026-04-15T09:21:54.633Z","21.2.5":"2026-04-15T09:26:58.577Z","21.2.6":"2026-04-15T09:30:31.833Z","21.2.7":"2026-04-15T09:54:44.675Z"},"bugs":{"url":"https://github.com/anzuannbabu/ngx-permissions/issues"},"author":{"name":"Nassor kh. Nassor","email":"alanzuann@gmail.com"},"license":"MIT","homepage":"https://github.com/anzuannbabu/ngx-permissions#readme","keywords":["angular","angular2","angular 2","angular4","angular 4","angular5","angular 5","angular 6","angular6","angular7","angular8","angular 8","angularx","angular-x","ng","ngx","ng2","ng4","ng5","permissions","permission","role","roles","guard","router","ngx-router","angular2-router","angular4-router","access-control","access","acl","rbac"],"repository":{"type":"git","url":"git+https://github.com/anzuannbabu/ngx-permissions.git"},"description":"Permission and roles based access control for your angular(angular 21.x.x) applications","maintainers":[{"name":"anzuannbabu","email":"alanzuann@gmail.com"}],"readme":"# ngx-permissions\n\nPermission and roles based access control for your angular(angular 21.x.x) applications\n\n\n\n\n## Installation\n\nTo install this library, run:\n\n```bash\n$ npm install @anzflex/ngx-permissions --save\n```\n\n## Consuming library\n\nYou can import library in any Angular application by running:\n\n```bash\n$ npm install @anzflex/ngx-permissions  --save\n```\n\nand then from your Angular `app.config.ts`:\n\n```typescript\n\nimport { provideNgxPermissions, provideNgxPermissionsChild } from '@anzflex/ngx-permissions';\n\nexport const appConfig: ApplicationConfig = {\n  providers: [\n    \n     provideNgxPermissions(),\n      //...your other providers\n\n  ]\n};\n\n```\n\nSharedModule\n\nIf you use a SharedModule that you import in multiple other standalone components, you can export the NgxPermissionsModule to make sure you don't have to import it in every component.\n```typescript\n@NgModule({\n    exports: [\n        CommonModule,\n        NgxPermissionsModule\n    ]\n})\nexport class SharedModule { }\n```\n\n\n\nOnce your library is imported, you can use its components, directives and pipes in your Angular application:\n\nImport service to the main application and load permissions\n\n```typescript\nimport { Component, OnInit } from '@angular/core';\nimport { NgxPermissionsService } from '@anzflex/ngx-permissions';\nimport { HttpClient } from '@angular/common/http';\n@Component({\n  selector: 'app-root',\n  templateUrl: './app.component.html',\n  styleUrls: ['./app.component.scss'],\n  imports: [],\n})\nexport class AppComponent implements OnInit {\n\n   title = 'app';\n   permissionsService = inject(NgxPermissionsService)\n   http = inject(HttpClient)\n\n  ngOnInit(): void {\n    const perm = [\"ADMIN\", \"EDITOR\"];\n\n    this.permissionsService.loadPermissions(perm);\n    \n     this.http.get('url').subscribe((permissions) => {\n       //const perm = [\"ADMIN\", \"EDITOR\"]; example of permissions\n       this.permissionsService.loadPermissions(permissions);\n    })\n  }\n}\n```\n\nUsage in templates\n\n```html\n<div *ngxPermissionsOnly=\"['ADMIN', 'GUEST']\">\n    <div>You can see this text congrats</div>\n</div>\n\n<ng-template ngxPermissionsOnly=\"ADMIN\">\n  <div>You can see this text congrats</div>\n </ng-template>\n \n <ng-template [ngxPermissionsExcept]=\"['JOHNY']\">\n   <div> All will see it except JOHNY</div>\n </ng-template>\n```\n### To load permissions before application start up\n\nAPP_INITIALIZER is defined in angular/core. You include it in your app.module.ts like this.\n\n\nAPP_INITIALIZER is an OpaqueToken that references the ApplicationInitStatus service. ApplicationInitStatus is a multi provider. It supports multiple dependencies and you can use it in your providers list multiple times. It is used like this.\n```typescript\nimport { APP_INITIALIZER } from '@angular/core';\n\n@NgModule({\n  providers: [\n    DictionaryService,\n    {\n      provide: APP_INITIALIZER,\n      useFactory: (ds: DictionaryService, ps: NgxPermissionsService ) => function() {return ds.load().then((data) => {return ps.loadPermissions(data)})},\n      deps: [LoadService, NgxPermissionsService],\n      multi: true\n    }]\n})\nexport class AppModule { }\n```\n\n\n\n## For google\nangular 2 permissions, angular 4 permissions, angular permissions, angular 5 permissions ng2 permissions ng permissions\nng-permissions ng2-permissions angular2 permissions  angular4 permissions angular 5 permissions\n\n## License\n\nMIT © [Nassor Anzuann](mailto:alanzuann@gmail.com)\n","readmeFilename":"README.md"}