UNPKG

@first-line/firstline-angular

Version:

Firstline SDK for Angular Single Page Applications (SPA)

25 lines 4.14 kB
import { inject } from '@angular/core'; import { AuthGuard } from './guard'; import { AuthHttpInterceptor } from './interceptor'; /** * Functional AuthGuard to ensure routes can only be accessed when authenticated. * * Note: Should only be used as of Angular 15 * * @param route Contains the information about a route associated with a component loaded in an outlet at a particular moment in time. * @param state Represents the state of the router at a moment in time. * @returns An Observable, indicating if the route can be accessed or not */ export const authGuardFn = (route, state) => inject(AuthGuard).canActivate(route, state); /** * Functional AuthHttpInterceptor to include the access token in matching requests. * * Note: Should only be used as of Angular 15 * * @param req An outgoing HTTP request with an optional typed body. * @param handle Represents the next interceptor in an interceptor chain, or the real backend if there are no * further interceptors. * @returns An Observable representing the intercepted HttpRequest */ export const authHttpInterceptorFn = (req, handle) => inject(AuthHttpInterceptor).intercept(req, { handle }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZnVuY3Rpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQ3pCLEtBQTZCLEVBQzdCLEtBQTBCLEVBQzFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVqRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxHQUFxQixFQUNyQixNQUFxRSxFQUNyRSxFQUFFLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9ndWFyZCc7XHJcbmltcG9ydCB7IEF1dGhIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9yJztcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbmFsIEF1dGhHdWFyZCB0byBlbnN1cmUgcm91dGVzIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gYXV0aGVudGljYXRlZC5cclxuICpcclxuICogTm90ZTogU2hvdWxkIG9ubHkgYmUgdXNlZCBhcyBvZiBBbmd1bGFyIDE1XHJcbiAqXHJcbiAqIEBwYXJhbSByb3V0ZSBDb250YWlucyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSByb3V0ZSBhc3NvY2lhdGVkIHdpdGggYSBjb21wb25lbnQgbG9hZGVkIGluIGFuIG91dGxldCBhdCBhIHBhcnRpY3VsYXIgbW9tZW50IGluIHRpbWUuXHJcbiAqIEBwYXJhbSBzdGF0ZSBSZXByZXNlbnRzIHRoZSBzdGF0ZSBvZiB0aGUgcm91dGVyIGF0IGEgbW9tZW50IGluIHRpbWUuXHJcbiAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUsIGluZGljYXRpbmcgaWYgdGhlIHJvdXRlIGNhbiBiZSBhY2Nlc3NlZCBvciBub3RcclxuICovXHJcbmV4cG9ydCBjb25zdCBhdXRoR3VhcmRGbiA9IChcclxuICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4pID0+IGluamVjdChBdXRoR3VhcmQpLmNhbkFjdGl2YXRlKHJvdXRlLCBzdGF0ZSk7XHJcblxyXG4vKipcclxuICogRnVuY3Rpb25hbCBBdXRoSHR0cEludGVyY2VwdG9yIHRvIGluY2x1ZGUgdGhlIGFjY2VzcyB0b2tlbiBpbiBtYXRjaGluZyByZXF1ZXN0cy5cclxuICpcclxuICogTm90ZTogU2hvdWxkIG9ubHkgYmUgdXNlZCBhcyBvZiBBbmd1bGFyIDE1XHJcbiAqXHJcbiAqIEBwYXJhbSByZXEgQW4gb3V0Z29pbmcgSFRUUCByZXF1ZXN0IHdpdGggYW4gb3B0aW9uYWwgdHlwZWQgYm9keS5cclxuICogQHBhcmFtIGhhbmRsZSBSZXByZXNlbnRzIHRoZSBuZXh0IGludGVyY2VwdG9yIGluIGFuIGludGVyY2VwdG9yIGNoYWluLCBvciB0aGUgcmVhbCBiYWNrZW5kIGlmIHRoZXJlIGFyZSBub1xyXG4gKiBmdXJ0aGVyIGludGVyY2VwdG9ycy5cclxuICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSByZXByZXNlbnRpbmcgdGhlIGludGVyY2VwdGVkIEh0dHBSZXF1ZXN0XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgYXV0aEh0dHBJbnRlcmNlcHRvckZuID0gKFxyXG4gIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcclxuICBoYW5kbGU6IChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+KSA9PiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj5cclxuKSA9PiBpbmplY3QoQXV0aEh0dHBJbnRlcmNlcHRvcikuaW50ZXJjZXB0KHJlcSwgeyBoYW5kbGUgfSk7XHJcbiJdfQ==