@ethlete/query 5.16.0 → 5.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/esm2022/ethlete-query.mjs +5 -0
- package/esm2022/index.mjs +20 -0
- package/esm2022/lib/auth/auth-provider.types.mjs +2 -0
- package/esm2022/lib/auth/auth-provider.utils.mjs +25 -0
- package/esm2022/lib/auth/basic-auth-provider.mjs +15 -0
- package/esm2022/lib/auth/bearer-auth-provider.mjs +168 -0
- package/esm2022/lib/auth/custom-header-auth-provider.mjs +12 -0
- package/esm2022/lib/auth/index.mjs +6 -0
- package/esm2022/lib/class-validator/class-validator.types.mjs +2 -0
- package/esm2022/lib/class-validator/class-validator.utils.mjs +4 -0
- package/esm2022/lib/class-validator/index.mjs +3 -0
- package/esm2022/lib/devtools/components/query-devtools/index.mjs +2 -0
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +297 -0
- package/esm2022/lib/devtools/pipes/index.mjs +2 -0
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +24 -0
- package/esm2022/lib/devtools/utils/index.mjs +2 -0
- package/esm2022/lib/devtools/utils/query-client.utils.mjs +13 -0
- package/esm2022/lib/directives/index.mjs +4 -0
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +56 -0
- package/esm2022/lib/directives/infinity-query.directive.mjs +147 -0
- package/esm2022/lib/directives/query.directive.mjs +123 -0
- package/esm2022/lib/entity/entity-store.mjs +127 -0
- package/esm2022/lib/entity/entity.types.mjs +2 -0
- package/esm2022/lib/entity/entity.utils.mjs +29 -0
- package/esm2022/lib/entity/index.mjs +4 -0
- package/esm2022/lib/gql/gql.mjs +23 -0
- package/esm2022/lib/gql/index.mjs +2 -0
- package/esm2022/lib/infinite-query/index.mjs +4 -0
- package/esm2022/lib/infinite-query/infinity-query.mjs +171 -0
- package/esm2022/lib/infinite-query/infinity-query.types.mjs +2 -0
- package/esm2022/lib/infinite-query/infinity-query.utils.mjs +3 -0
- package/esm2022/lib/logger/index.mjs +2 -0
- package/esm2022/lib/logger/logger.mjs +16 -0
- package/esm2022/lib/query/index.mjs +4 -0
- package/esm2022/lib/query/query.mjs +430 -0
- package/esm2022/lib/query/query.types.mjs +2 -0
- package/esm2022/lib/query/query.utils.mjs +253 -0
- package/esm2022/lib/query-client/index.mjs +4 -0
- package/esm2022/lib/query-client/query-client.mjs +80 -0
- package/esm2022/lib/query-client/query-client.types.mjs +2 -0
- package/esm2022/lib/query-client/query-client.utils.mjs +20 -0
- package/esm2022/lib/query-creator/index.mjs +3 -0
- package/esm2022/lib/query-creator/query-creator.mjs +55 -0
- package/esm2022/lib/query-creator/query-creator.types.mjs +2 -0
- package/esm2022/lib/query-form/index.mjs +4 -0
- package/esm2022/lib/query-form/query-form.mjs +379 -0
- package/esm2022/lib/query-form/query-form.types.mjs +2 -0
- package/esm2022/lib/query-form/query-form.utils.mjs +97 -0
- package/esm2022/lib/query-store/index.mjs +2 -0
- package/esm2022/lib/query-store/query-store.mjs +144 -0
- package/esm2022/lib/request/index.mjs +4 -0
- package/esm2022/lib/request/request.mjs +196 -0
- package/esm2022/lib/request/request.types.mjs +2 -0
- package/esm2022/lib/request/request.util.mjs +252 -0
- package/esm2022/lib/symfony/index.mjs +3 -0
- package/esm2022/lib/symfony/symfony.types.mjs +2 -0
- package/esm2022/lib/symfony/symfony.utils.mjs +31 -0
- package/esm2022/lib/utils/data.utils.mjs +138 -0
- package/esm2022/lib/utils/deep-freeze.util.mjs +17 -0
- package/esm2022/lib/utils/def.util.mjs +8 -0
- package/esm2022/lib/utils/index.mjs +4 -0
- package/fesm2022/ethlete-query.mjs +3289 -0
- package/fesm2022/ethlete-query.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +0 -2
- package/lib/auth/auth-provider.types.d.ts +133 -0
- package/lib/auth/auth-provider.utils.d.ts +9 -0
- package/lib/auth/basic-auth-provider.d.ts +10 -0
- package/lib/auth/bearer-auth-provider.d.ts +23 -0
- package/lib/auth/custom-header-auth-provider.d.ts +9 -0
- package/{src/lib/class-validator/class-validator.types.ts → lib/class-validator/class-validator.types.d.ts} +3 -4
- package/lib/class-validator/class-validator.utils.d.ts +2 -0
- package/lib/devtools/components/query-devtools/query-devtools.component.d.ts +151 -0
- package/lib/devtools/pipes/query-short-name.pipe.d.ts +8 -0
- package/lib/devtools/utils/query-client.utils.d.ts +12 -0
- package/lib/directives/infinity-query-trigger.directive.d.ts +15 -0
- package/lib/directives/infinity-query.directive.d.ts +49 -0
- package/lib/directives/query.directive.d.ts +63 -0
- package/lib/entity/entity-store.d.ts +25 -0
- package/lib/entity/entity.types.d.ts +25 -0
- package/lib/entity/entity.utils.d.ts +12 -0
- package/lib/gql/gql.d.ts +6 -0
- package/lib/infinite-query/infinity-query.d.ts +29 -0
- package/lib/infinite-query/infinity-query.types.d.ts +104 -0
- package/lib/infinite-query/infinity-query.utils.d.ts +4 -0
- package/lib/logger/logger.d.ts +12 -0
- package/lib/query/query.d.ts +60 -0
- package/lib/query/query.types.d.ts +388 -0
- package/lib/query/query.utils.d.ts +82 -0
- package/lib/query-client/query-client.d.ts +29 -0
- package/lib/query-client/query-client.types.d.ts +82 -0
- package/lib/query-client/query-client.utils.d.ts +4 -0
- package/lib/query-creator/query-creator.d.ts +20 -0
- package/lib/query-creator/query-creator.types.d.ts +13 -0
- package/lib/query-form/query-form.d.ts +91 -0
- package/lib/query-form/query-form.types.d.ts +145 -0
- package/lib/query-form/query-form.utils.d.ts +13 -0
- package/lib/query-store/query-store.d.ts +31 -0
- package/lib/request/request.d.ts +3 -0
- package/lib/request/request.types.d.ts +126 -0
- package/lib/request/request.util.d.ts +92 -0
- package/lib/symfony/symfony.types.d.ts +19 -0
- package/lib/symfony/symfony.utils.d.ts +6 -0
- package/lib/utils/data.utils.d.ts +59 -0
- package/lib/utils/deep-freeze.util.d.ts +1 -0
- package/{src/lib/utils/def.util.ts → lib/utils/def.util.d.ts} +1 -1
- package/package.json +23 -6
- package/.eslintrc.json +0 -40
- package/jest.config.ts +0 -23
- package/ng-package.json +0 -8
- package/project.json +0 -37
- package/src/lib/auth/auth-provider.types.ts +0 -160
- package/src/lib/auth/auth-provider.utils.ts +0 -39
- package/src/lib/auth/basic-auth-provider.ts +0 -17
- package/src/lib/auth/bearer-auth-provider.ts +0 -243
- package/src/lib/auth/custom-header-auth-provider.ts +0 -13
- package/src/lib/class-validator/class-validator.utils.ts +0 -5
- package/src/lib/devtools/components/query-devtools/query-devtools.component.html +0 -402
- package/src/lib/devtools/components/query-devtools/query-devtools.component.scss +0 -360
- package/src/lib/devtools/components/query-devtools/query-devtools.component.ts +0 -427
- package/src/lib/devtools/pipes/query-short-name.pipe.ts +0 -24
- package/src/lib/devtools/utils/query-client.utils.ts +0 -25
- package/src/lib/directives/infinity-query-trigger.directive.ts +0 -58
- package/src/lib/directives/infinity-query.directive.ts +0 -208
- package/src/lib/directives/query.directive.ts +0 -201
- package/src/lib/entity/entity-store.ts +0 -180
- package/src/lib/entity/entity.types.ts +0 -34
- package/src/lib/entity/entity.utils.ts +0 -51
- package/src/lib/gql/gql.ts +0 -22
- package/src/lib/infinite-query/infinity-query.ts +0 -245
- package/src/lib/infinite-query/infinity-query.types.ts +0 -149
- package/src/lib/infinite-query/infinity-query.utils.ts +0 -14
- package/src/lib/logger/logger.ts +0 -30
- package/src/lib/query/query.ts +0 -631
- package/src/lib/query/query.types.ts +0 -532
- package/src/lib/query/query.utils.spec.ts +0 -92
- package/src/lib/query/query.utils.ts +0 -450
- package/src/lib/query-client/query-client.spec.ts +0 -77
- package/src/lib/query-client/query-client.ts +0 -195
- package/src/lib/query-client/query-client.types.ts +0 -101
- package/src/lib/query-client/query-client.utils.spec.ts +0 -61
- package/src/lib/query-client/query-client.utils.ts +0 -28
- package/src/lib/query-creator/query-creator.ts +0 -103
- package/src/lib/query-creator/query-creator.types.ts +0 -74
- package/src/lib/query-form/query-form.ts +0 -526
- package/src/lib/query-form/query-form.types.ts +0 -169
- package/src/lib/query-form/query-form.utils.ts +0 -116
- package/src/lib/query-store/query-store.ts +0 -192
- package/src/lib/request/request.ts +0 -253
- package/src/lib/request/request.types.ts +0 -164
- package/src/lib/request/request.util.spec.ts +0 -177
- package/src/lib/request/request.util.ts +0 -399
- package/src/lib/stories/angular-example-page.mdx +0 -85
- package/src/lib/stories/authentication-page.mdx +0 -35
- package/src/lib/stories/changelog-page.mdx +0 -9
- package/src/lib/stories/client-page.mdx +0 -100
- package/src/lib/stories/queries-page.mdx +0 -117
- package/src/lib/symfony/symfony.types.ts +0 -21
- package/src/lib/symfony/symfony.utils.ts +0 -43
- package/src/lib/utils/data.utils.ts +0 -280
- package/src/lib/utils/deep-freeze.util.ts +0 -21
- package/src/test-setup.ts +0 -1
- package/tsconfig.json +0 -29
- package/tsconfig.lib.json +0 -12
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -11
- /package/{src/lib/auth/index.ts → lib/auth/index.d.ts} +0 -0
- /package/{src/lib/class-validator/index.ts → lib/class-validator/index.d.ts} +0 -0
- /package/{src/lib/devtools/components/query-devtools/index.ts → lib/devtools/components/query-devtools/index.d.ts} +0 -0
- /package/{src/lib/devtools/pipes/index.ts → lib/devtools/pipes/index.d.ts} +0 -0
- /package/{src/lib/devtools/utils/index.ts → lib/devtools/utils/index.d.ts} +0 -0
- /package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -0
- /package/{src/lib/entity/index.ts → lib/entity/index.d.ts} +0 -0
- /package/{src/lib/gql/index.ts → lib/gql/index.d.ts} +0 -0
- /package/{src/lib/infinite-query/index.ts → lib/infinite-query/index.d.ts} +0 -0
- /package/{src/lib/logger/index.ts → lib/logger/index.d.ts} +0 -0
- /package/{src/lib/query/index.ts → lib/query/index.d.ts} +0 -0
- /package/{src/lib/query-client/index.ts → lib/query-client/index.d.ts} +0 -0
- /package/{src/lib/query-creator/index.ts → lib/query-creator/index.d.ts} +0 -0
- /package/{src/lib/query-form/index.ts → lib/query-form/index.d.ts} +0 -0
- /package/{src/lib/query-store/index.ts → lib/query-store/index.d.ts} +0 -0
- /package/{src/lib/request/index.ts → lib/request/index.d.ts} +0 -0
- /package/{src/lib/symfony/index.ts → lib/symfony/index.d.ts} +0 -0
- /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ethlete/query
|
|
2
2
|
|
|
3
|
+
## 5.16.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`5ce9f36`](https://github.com/ethlete-io/ethdk/commit/5ce9f36a62797e734ad624346139c7a3884caa4f) Thanks [@TomTomB](https://github.com/TomTomB)! - Update to angular 18.1
|
|
8
|
+
|
|
9
|
+
## 5.16.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`04b10fd`](https://github.com/ethlete-io/ethdk/commit/04b10fdd2dae55b32b863cf9f576b5818478811a) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix source code getting pushed to npm instead of compiled dist code
|
|
14
|
+
|
|
3
15
|
## 5.16.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRobGV0ZS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2V0aGxldGUtcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './lib/auth';
|
|
2
|
+
export * from './lib/class-validator';
|
|
3
|
+
export * from './lib/devtools/components/query-devtools';
|
|
4
|
+
export * from './lib/devtools/pipes';
|
|
5
|
+
export * from './lib/devtools/utils';
|
|
6
|
+
export * from './lib/directives';
|
|
7
|
+
export * from './lib/entity';
|
|
8
|
+
export * from './lib/gql';
|
|
9
|
+
export * from './lib/infinite-query';
|
|
10
|
+
export * from './lib/logger';
|
|
11
|
+
export * from './lib/query';
|
|
12
|
+
export * from './lib/query-client';
|
|
13
|
+
export * from './lib/query-creator';
|
|
14
|
+
export * from './lib/query-form';
|
|
15
|
+
export * from './lib/query-store';
|
|
16
|
+
export * from './lib/request';
|
|
17
|
+
export * from './lib/symfony';
|
|
18
|
+
export * from './lib/utils';
|
|
19
|
+
// Burst cache
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXZ0b29scy9jb21wb25lbnRzL3F1ZXJ5LWRldnRvb2xzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldnRvb2xzL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldnRvb2xzL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dxbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmZpbml0ZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVlcnktY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3F1ZXJ5LWNyZWF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVlcnktZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9xdWVyeS1zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N5bWZvbnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG4vLyBCdXJzdCBjYWNoZVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1wcm92aWRlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9hdXRoL2F1dGgtcHJvdmlkZXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFueVF1ZXJ5Q3JlYXRvciwgUXVlcnlBcmdzT2YsIFF1ZXJ5UmVzcG9uc2VPZiB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhQcm92aWRlciB7XG4gIC8qKlxuICAgKiBUaGUgdXAgdG8gZGF0ZSBhdXRoIGhlYWRlci5cbiAgICogVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgZ2V0IGluamVjdGVkIGludG8gZXZlcnkgcXVlcnkgdGhhdCBoYXMgdGhlIGBzZWN1cmVgIHByb3BlcnR5IHNldCB0byBgdHJ1ZWAuXG4gICAqL1xuICBoZWFkZXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIENsZWFudXAgZnVuY3Rpb24gdGhhdCBnZXRzIGNhbGxlZCBvbmNlIHRoZSBhdXRoIHByb3ZpZGVyIGdldHMgZGVzdHJveWVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNsZWFuVXAoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUHJvdmlkZXJCYXNpY0NvbmZpZyB7XG4gIC8qKlxuICAgKiBCYXNpYyBhdXRoIHVzZXJuYW1lXG4gICAqL1xuICB1c2VybmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYXNpYyBhdXRoIHBhc3N3b3JkXG4gICAqL1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhQcm92aWRlckN1c3RvbUhlYWRlckNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIGhlYWRlciBuYW1lXG4gICAqIEBleGFtcGxlIGBYLUFwaS1LZXlgXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gaGVhZGVyIHZhbHVlXG4gICAqIEBleGFtcGxlIGBteUFwaUtleWBcbiAgICovXG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFByb3ZpZGVyQmVhcmVyQ29uZmlnPFQgZXh0ZW5kcyBBbnlRdWVyeUNyZWF0b3I+IHtcbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIGp3dFxuICAgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdG9rZW4gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVmcmVzaENvbmZpZz86IEJlYXJlclJlZnJlc2hDb25maWc8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmVhcmVyUmVmcmVzaENvbmZpZzxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yPiB7XG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgdXNlZCB0byB0cmFkZSB0aGUgcmVmcmVzaCB0b2tlbiBmb3IgYSBuZXcgdG9rZW4gcmVzcG9uc2UuXG4gICAqL1xuICBxdWVyeUNyZWF0b3I6IFQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIHRva2VuIHNob3VsZCBiZSByZWZyZXNoZWQgaWYgKiphbnkqKiBxdWVyeSByZXR1cm5zIGEgNDAxIHJlc3BvbnNlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWZyZXNoT25VbmF1dGhvcml6ZWRSZXNwb25zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHJlZnJlc2ggdG9rZW5cbiAgICovXG4gIHRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29va2llIG5hbWUgd2hlcmUgdGhlIHJlZnJlc2ggdG9rZW4gaXMgc3RvcmVkXG4gICAqL1xuICBjb29raWVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG9mIHRoZSBjb29raWUuIElmIG5vdCBzZXQsIHRoZSBjdXJyZW50IG9yaWdpbiB3aWxsIGJlIHVzZWQuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIFwiaHR0cHM6Ly9leGFtcGxlLmNvbVwiIC0+IFwiZXhhbXBsZS5jb21cIlxuICAgKiBcImh0dHBzOi8vc3ViLmV4YW1wbGUuY29tXCIgLT4gXCJleGFtcGxlLmNvbVwiXG4gICAqL1xuICBjb29raWVEb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXlzIHVudGlsIHRoZSBjb29raWUgZXhwaXJlc1xuICAgKiBAZGVmYXVsdCAzMFxuICAgKi9cbiAgY29va2llRXhwaXJlc0luRGF5cz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIGNvb2tpZVxuICAgKiBAZGVmYXVsdCAnLydcbiAgICovXG4gIGNvb2tpZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSBjb29raWVcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgY29va2llRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzYW1lIHNpdGUgcHJvcGVydHkgb2YgdGhlIGNvb2tpZVxuICAgKiBAZGVmYXVsdCAnbGF4J1xuICAgKi9cbiAgY29va2llU2FtZVNpdGU/OiAnc3RyaWN0JyB8ICdub25lJyB8ICdsYXgnO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0b2tlbiBleHBpcmVzIHdoZW4gdGhlIHJlZnJlc2ggc2hvdWxkIGJlIHRyaWdnZXJlZC5cbiAgICogQGRlZmF1bHQgMzAwMDAwICg1IG1pbnV0ZXMpXG4gICAqL1xuICByZWZyZXNoQnVmZmVyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwaXJlcyBpbiBwcm9wZXJ0eSBuYW1lIGluc2lkZSB0aGUgand0IGJvZHlcbiAgICogQGRlZmF1bHQgJ2V4cCdcbiAgICovXG4gIGV4cGlyZXNJblByb3BlcnR5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGVuIHRoZSB0b2tlbiBzaG91bGQgYmUgcmVmcmVzaGVkLlxuICAgKiBAZGVmYXVsdCBBdXRoQmVhcmVyUmVmcmVzaFN0cmF0ZWd5LkJlZm9yZUV4cGlyYXRpb25cbiAgICovXG4gIHN0cmF0ZWd5PzogQXV0aEJlYXJlclJlZnJlc2hTdHJhdGVneTtcblxuICAvKipcbiAgICogQWRhcHRlciBmdW5jdGlvbiB1c2VkIHRvIGJ1aWxkIHRoZSByZXF1ZXN0IGJvZHkgZm9yIHRoZSByZWZyZXNoIHJlcXVlc3QuXG4gICAqIEBkZWZhdWx0IHsgYm9keTogeyByZWZyZXNoVG9rZW46IFwicmVmcmVzaFRva2VuXCIgfSB9XG4gICAqL1xuICByZXF1ZXN0QXJnc0FkYXB0ZXI/OiAodG9rZW5zOiB7IHRva2VuOiBzdHJpbmcgfCBudWxsOyByZWZyZXNoVG9rZW46IHN0cmluZyB9KSA9PiBRdWVyeUFyZ3NPZjxUPjtcblxuICAvKipcbiAgICogQWRhcHRlciBmdW5jdGlvbiB1c2VkIHRvIGV4dHJhY3QgdGhlIHRva2VuIGFuZCByZWZyZXNoVG9rZW4gZnJvbSB0aGUgcmVzcG9uc2UuXG4gICAqIEBkZWZhdWx0IHsgdG9rZW46IFwidG9rZW5cIiwgcmVmcmVzaFRva2VuOiBcInJlZnJlc2hUb2tlblwiIH1cbiAgICovXG4gIHJlc3BvbnNlQWRhcHRlcj86IChyZXNwb25zZTogTm9uTnVsbGFibGU8UXVlcnlSZXNwb25zZU9mPFQ+PikgPT4gVG9rZW5SZXNwb25zZTtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQXV0aEJlYXJlclJlZnJlc2hTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJlZnJlc2ggdGhlIHRva2VuIDUgbWludXRlcyBiZWZvcmUgZXhwaXJhdGlvbi5cbiAgICogVGhlIHRpbWUgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aCB0aGUgYHJlZnJlc2hCdWZmZXJgIHByb3BlcnR5LlxuICAgKi9cbiAgQmVmb3JlRXhwaXJhdGlvbiA9ICdiZWZvcmVFeHBpcmF0aW9uJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSBhY2Nlc3MgdG9rZW4gdXNlZCBpbnNpZGUgdGhlIGF1dGhvcml6YXRpb24gaHR0cCBoZWFkZXIuXG4gICAqL1xuICB0b2tlbjogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHJlZnJlc2ggdG9rZW4gdXNlZCBmb3IgcmVxdWVzdGluZyBhIG5ldyB0b2tlbiByZXNwb25zZSBvbmNlIHRoZSBjdXJyZW50IHRva2VzIGlzIGV4cGlyZWQuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgaWYgdGhlIGJlYXJlciByZWZyZXNoIGNvbmZpZyBpcyBzZXQuXG4gICAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZyB8IG51bGw7XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BasicAuthProvider } from './basic-auth-provider';
|
|
2
|
+
import { BearerAuthProvider } from './bearer-auth-provider';
|
|
3
|
+
import { CustomHeaderAuthProvider } from './custom-header-auth-provider';
|
|
4
|
+
export const isBasicAuthProvider = (authProvider) => authProvider instanceof BasicAuthProvider;
|
|
5
|
+
export const isBearerAuthProvider = (authProvider) => authProvider instanceof BearerAuthProvider;
|
|
6
|
+
export const isCustomHeaderAuthProvider = (authProvider) => authProvider instanceof CustomHeaderAuthProvider;
|
|
7
|
+
export const decryptBearer = (token) => {
|
|
8
|
+
try {
|
|
9
|
+
const base64Url = token.split('.')[1];
|
|
10
|
+
if (!base64Url) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
14
|
+
const jsonPayload = decodeURIComponent(atob(base64)
|
|
15
|
+
.split('')
|
|
16
|
+
.map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))
|
|
17
|
+
.join(''));
|
|
18
|
+
return JSON.parse(jsonPayload);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.error(`Invalid bearer token: ${token}`, error);
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1wcm92aWRlci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9hdXRoL2F1dGgtcHJvdmlkZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxZQUEwQixFQUFxQyxFQUFFLENBQ25HLFlBQVksWUFBWSxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxZQUEwQixFQUNhLEVBQUUsQ0FBQyxZQUFZLFlBQVksa0JBQWtCLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxZQUEwQixFQUE0QyxFQUFFLENBQ2pILFlBQVksWUFBWSx3QkFBd0IsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBbUMsS0FBYSxFQUFFLEVBQUU7SUFDL0UsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ1QsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNaLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFXLENBQUM7SUFDM0MsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlRdWVyeUNyZWF0b3IgfSBmcm9tICcuLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gJy4vYXV0aC1wcm92aWRlci50eXBlcyc7XG5pbXBvcnQgeyBCYXNpY0F1dGhQcm92aWRlciB9IGZyb20gJy4vYmFzaWMtYXV0aC1wcm92aWRlcic7XG5pbXBvcnQgeyBCZWFyZXJBdXRoUHJvdmlkZXIgfSBmcm9tICcuL2JlYXJlci1hdXRoLXByb3ZpZGVyJztcbmltcG9ydCB7IEN1c3RvbUhlYWRlckF1dGhQcm92aWRlciB9IGZyb20gJy4vY3VzdG9tLWhlYWRlci1hdXRoLXByb3ZpZGVyJztcblxuZXhwb3J0IGNvbnN0IGlzQmFzaWNBdXRoUHJvdmlkZXIgPSAoYXV0aFByb3ZpZGVyOiBBdXRoUHJvdmlkZXIpOiBhdXRoUHJvdmlkZXIgaXMgQmFzaWNBdXRoUHJvdmlkZXIgPT5cbiAgYXV0aFByb3ZpZGVyIGluc3RhbmNlb2YgQmFzaWNBdXRoUHJvdmlkZXI7XG5cbmV4cG9ydCBjb25zdCBpc0JlYXJlckF1dGhQcm92aWRlciA9IDxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yPihcbiAgYXV0aFByb3ZpZGVyOiBBdXRoUHJvdmlkZXIsXG4pOiBhdXRoUHJvdmlkZXIgaXMgQmVhcmVyQXV0aFByb3ZpZGVyPFQ+ID0+IGF1dGhQcm92aWRlciBpbnN0YW5jZW9mIEJlYXJlckF1dGhQcm92aWRlcjtcblxuZXhwb3J0IGNvbnN0IGlzQ3VzdG9tSGVhZGVyQXV0aFByb3ZpZGVyID0gKGF1dGhQcm92aWRlcjogQXV0aFByb3ZpZGVyKTogYXV0aFByb3ZpZGVyIGlzIEN1c3RvbUhlYWRlckF1dGhQcm92aWRlciA9PlxuICBhdXRoUHJvdmlkZXIgaW5zdGFuY2VvZiBDdXN0b21IZWFkZXJBdXRoUHJvdmlkZXI7XG5cbmV4cG9ydCBjb25zdCBkZWNyeXB0QmVhcmVyID0gPFJlc3VsdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih0b2tlbjogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgYmFzZTY0VXJsID0gdG9rZW4uc3BsaXQoJy4nKVsxXTtcblxuICAgIGlmICghYmFzZTY0VXJsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlNjQgPSBiYXNlNjRVcmwucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKTtcbiAgICBjb25zdCBqc29uUGF5bG9hZCA9IGRlY29kZVVSSUNvbXBvbmVudChcbiAgICAgIGF0b2IoYmFzZTY0KVxuICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgIC5tYXAoKGMpID0+ICclJyArICgnMDAnICsgYy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpKVxuICAgICAgICAuam9pbignJyksXG4gICAgKTtcblxuICAgIHJldHVybiBKU09OLnBhcnNlKGpzb25QYXlsb2FkKSBhcyBSZXN1bHQ7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBiZWFyZXIgdG9rZW46ICR7dG9rZW59YCwgZXJyb3IpO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class BasicAuthProvider {
|
|
2
|
+
get header() {
|
|
3
|
+
return { Authorization: `Basic ${this._basicAuthString}` };
|
|
4
|
+
}
|
|
5
|
+
get _basicAuthString() {
|
|
6
|
+
return btoa(`${this._config.username}:${this._config.password}`);
|
|
7
|
+
}
|
|
8
|
+
constructor(_config) {
|
|
9
|
+
this._config = _config;
|
|
10
|
+
}
|
|
11
|
+
cleanUp() {
|
|
12
|
+
// noop
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9hdXRoL2Jhc2ljLWF1dGgtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixJQUFJLE1BQU07UUFDUixPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFlBQW1CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO0lBQUcsQ0FBQztJQUV2RCxPQUFPO1FBQ0wsT0FBTztJQUNULENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhQcm92aWRlciwgQXV0aFByb3ZpZGVyQmFzaWNDb25maWcgfSBmcm9tICcuL2F1dGgtcHJvdmlkZXIudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQmFzaWNBdXRoUHJvdmlkZXIgaW1wbGVtZW50cyBBdXRoUHJvdmlkZXIge1xuICBnZXQgaGVhZGVyKCkge1xuICAgIHJldHVybiB7IEF1dGhvcml6YXRpb246IGBCYXNpYyAke3RoaXMuX2Jhc2ljQXV0aFN0cmluZ31gIH07XG4gIH1cblxuICBwcml2YXRlIGdldCBfYmFzaWNBdXRoU3RyaW5nKCkge1xuICAgIHJldHVybiBidG9hKGAke3RoaXMuX2NvbmZpZy51c2VybmFtZX06JHt0aGlzLl9jb25maWcucGFzc3dvcmR9YCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgX2NvbmZpZzogQXV0aFByb3ZpZGVyQmFzaWNDb25maWcpIHt9XG5cbiAgY2xlYW5VcCgpOiB2b2lkIHtcbiAgICAvLyBub29wXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { deleteCookie, getCookie, setCookie } from '@ethlete/core';
|
|
2
|
+
import { BehaviorSubject, Subject, takeUntil, tap, timer } from 'rxjs';
|
|
3
|
+
import { isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, switchQueryState, takeUntilResponse, } from '../query';
|
|
4
|
+
import { decryptBearer } from './auth-provider.utils';
|
|
5
|
+
export class BearerAuthProvider {
|
|
6
|
+
get header() {
|
|
7
|
+
return { Authorization: `Bearer ${this._tokens$.getValue().token}` };
|
|
8
|
+
}
|
|
9
|
+
get tokens$() {
|
|
10
|
+
return this._tokens$.asObservable();
|
|
11
|
+
}
|
|
12
|
+
get tokens() {
|
|
13
|
+
return this._tokens$.getValue();
|
|
14
|
+
}
|
|
15
|
+
get currentRefreshQuery$() {
|
|
16
|
+
return this._currentRefreshQuery$.asObservable();
|
|
17
|
+
}
|
|
18
|
+
get currentRefreshQuery() {
|
|
19
|
+
return this._currentRefreshQuery$.getValue();
|
|
20
|
+
}
|
|
21
|
+
get shouldRefreshOnUnauthorizedResponse() {
|
|
22
|
+
return (!!this._config.refreshConfig &&
|
|
23
|
+
(this._config.refreshConfig.refreshOnUnauthorizedResponse === undefined ||
|
|
24
|
+
this._config.refreshConfig.refreshOnUnauthorizedResponse));
|
|
25
|
+
}
|
|
26
|
+
constructor(_config) {
|
|
27
|
+
this._config = _config;
|
|
28
|
+
this._destroy$ = new Subject();
|
|
29
|
+
this._currentRefreshQuery$ = new BehaviorSubject(null);
|
|
30
|
+
this._tokens$ = new BehaviorSubject({
|
|
31
|
+
token: null,
|
|
32
|
+
refreshToken: null,
|
|
33
|
+
});
|
|
34
|
+
const cookieEnabled = _config.refreshConfig?.cookieEnabled ?? true;
|
|
35
|
+
const cookieToken = _config.refreshConfig?.cookieName && cookieEnabled ? getCookie(_config.refreshConfig.cookieName) ?? null : null;
|
|
36
|
+
this._tokens$.next({
|
|
37
|
+
token: _config.token || null,
|
|
38
|
+
refreshToken: _config.refreshConfig?.token || cookieToken || null,
|
|
39
|
+
});
|
|
40
|
+
if (!this.tokens.token && !this.tokens.refreshToken) {
|
|
41
|
+
if (!_config.refreshConfig?.cookieName) {
|
|
42
|
+
console.error('A BearerAuthProvider was created without token or refresh token. You should provide at least a cookieName where the refresh token might be stored.');
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (this.tokens.token) {
|
|
47
|
+
this._prepareForRefresh();
|
|
48
|
+
if (this.tokens.refreshToken && this._config.refreshConfig?.cookieName && cookieEnabled) {
|
|
49
|
+
this._setCookie();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (this.tokens.refreshToken) {
|
|
53
|
+
this._refreshQuery();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
cleanUp() {
|
|
57
|
+
this._destroy$.next(true);
|
|
58
|
+
this._destroy$.unsubscribe();
|
|
59
|
+
this._currentRefreshQuery$.next(null);
|
|
60
|
+
if (this._config.refreshConfig?.cookieName) {
|
|
61
|
+
this._deleteCookie();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
enableCookie() {
|
|
65
|
+
if (!this._config.refreshConfig?.cookieName) {
|
|
66
|
+
throw new Error('No cookie name was provided');
|
|
67
|
+
}
|
|
68
|
+
if (!this.tokens.refreshToken) {
|
|
69
|
+
throw new Error('No refresh token was provided');
|
|
70
|
+
}
|
|
71
|
+
this._config.refreshConfig.cookieEnabled = true;
|
|
72
|
+
this._setCookie();
|
|
73
|
+
}
|
|
74
|
+
disableCookie() {
|
|
75
|
+
if (!this._config.refreshConfig?.cookieName) {
|
|
76
|
+
throw new Error('No cookie name was provided');
|
|
77
|
+
}
|
|
78
|
+
this._config.refreshConfig.cookieEnabled = false;
|
|
79
|
+
this._deleteCookie();
|
|
80
|
+
}
|
|
81
|
+
_setCookie() {
|
|
82
|
+
if (!this._config.refreshConfig?.cookieName || !this.tokens.refreshToken)
|
|
83
|
+
return;
|
|
84
|
+
setCookie(this._config.refreshConfig.cookieName, this.tokens.refreshToken, this._config.refreshConfig.cookieExpiresInDays, this._config.refreshConfig.cookieDomain, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieSameSite);
|
|
85
|
+
}
|
|
86
|
+
_deleteCookie() {
|
|
87
|
+
if (!this._config.refreshConfig?.cookieName)
|
|
88
|
+
return;
|
|
89
|
+
deleteCookie(this._config.refreshConfig.cookieName, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieDomain);
|
|
90
|
+
}
|
|
91
|
+
_prepareForRefresh() {
|
|
92
|
+
if (!this.tokens.token || !this._config.refreshConfig) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const bearer = decryptBearer(this.tokens.token);
|
|
96
|
+
if (!bearer) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const expiresInPropertyName = this._config.refreshConfig.expiresInPropertyName || 'exp';
|
|
100
|
+
const expiresIn = bearer[expiresInPropertyName];
|
|
101
|
+
const fiveMinutes = 5 * 60 * 1000;
|
|
102
|
+
const refreshBuffer = this._config.refreshConfig.refreshBuffer ?? fiveMinutes;
|
|
103
|
+
if (expiresIn === undefined) {
|
|
104
|
+
throw new Error(`Bearer token does not contain an '${expiresInPropertyName}' property`);
|
|
105
|
+
}
|
|
106
|
+
const remainingTime = new Date(expiresIn * 1000).getTime() - refreshBuffer - new Date().getTime();
|
|
107
|
+
const strategy = this._config.refreshConfig.strategy ?? "beforeExpiration" /* AuthBearerRefreshStrategy.BeforeExpiration */;
|
|
108
|
+
switch (strategy) {
|
|
109
|
+
case "beforeExpiration" /* AuthBearerRefreshStrategy.BeforeExpiration */:
|
|
110
|
+
timer(remainingTime)
|
|
111
|
+
.pipe(takeUntil(this._destroy$))
|
|
112
|
+
.subscribe(() => this._refreshQuery());
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
_refreshQuery() {
|
|
120
|
+
const currentQuery = this._currentRefreshQuery$.getValue();
|
|
121
|
+
if (isQueryStateLoading(currentQuery?.rawState)) {
|
|
122
|
+
return currentQuery;
|
|
123
|
+
}
|
|
124
|
+
const currentRefreshToken = this.tokens.refreshToken;
|
|
125
|
+
if (!currentRefreshToken || !this._config.refreshConfig) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const args = this._config.refreshConfig.requestArgsAdapter?.({
|
|
129
|
+
token: this.tokens.token,
|
|
130
|
+
refreshToken: currentRefreshToken,
|
|
131
|
+
}) ?? {
|
|
132
|
+
body: { refreshToken: currentRefreshToken },
|
|
133
|
+
};
|
|
134
|
+
const query = this._config.refreshConfig.queryCreator.prepare(args).execute({ skipCache: true });
|
|
135
|
+
this._currentRefreshQuery$.next(query);
|
|
136
|
+
this._currentRefreshQuery$
|
|
137
|
+
.pipe(switchQueryState(), tap((state) => {
|
|
138
|
+
if (isQueryStateSuccess(state)) {
|
|
139
|
+
if (this._config.refreshConfig?.responseAdapter) {
|
|
140
|
+
const tokens = this._config.refreshConfig.responseAdapter(state.response);
|
|
141
|
+
this._tokens$.next(tokens);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this._tokens$.next({
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
|
+
token: state.response['token'],
|
|
147
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
148
|
+
refreshToken: state.response['refreshToken'],
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
const cookieEnabled = this._config.refreshConfig?.cookieEnabled ?? true;
|
|
152
|
+
if (this._config.refreshConfig?.cookieName && this.tokens.refreshToken && cookieEnabled) {
|
|
153
|
+
this._setCookie();
|
|
154
|
+
}
|
|
155
|
+
this._prepareForRefresh();
|
|
156
|
+
}
|
|
157
|
+
else if (isQueryStateFailure(state)) {
|
|
158
|
+
this._tokens$.next({ token: null, refreshToken: null });
|
|
159
|
+
if (this._config.refreshConfig?.cookieName) {
|
|
160
|
+
this._deleteCookie();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}), takeUntilResponse(), takeUntil(this._destroy$))
|
|
164
|
+
.subscribe();
|
|
165
|
+
return query;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhcmVyLWF1dGgtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvYXV0aC9iZWFyZXItYXV0aC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxVQUFVLENBQUM7QUFRbEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxtQ0FBbUM7UUFDckMsT0FB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QUFDLENBQUMsRUFDRixpQkFBaUIsRUFBRSxFQUNuQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxldGVDb29raWUsIGdldENvb2tpZSwgc2V0Q29va2llIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgaXNRdWVyeVN0YXRlRmFpbHVyZSxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2VzcyxcbiAgc3dpdGNoUXVlcnlTdGF0ZSxcbiAgdGFrZVVudGlsUmVzcG9uc2UsXG59IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IEFueVF1ZXJ5Q3JlYXRvciwgQ29uc3RydWN0UXVlcnksIFF1ZXJ5UmVzcG9uc2VPZiB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHtcbiAgQXV0aEJlYXJlclJlZnJlc2hTdHJhdGVneSxcbiAgQXV0aFByb3ZpZGVyLFxuICBBdXRoUHJvdmlkZXJCZWFyZXJDb25maWcsXG4gIFRva2VuUmVzcG9uc2UsXG59IGZyb20gJy4vYXV0aC1wcm92aWRlci50eXBlcyc7XG5pbXBvcnQgeyBkZWNyeXB0QmVhcmVyIH0gZnJvbSAnLi9hdXRoLXByb3ZpZGVyLnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJlYXJlckF1dGhQcm92aWRlcjxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yPiBpbXBsZW1lbnRzIEF1dGhQcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFJlZnJlc2hRdWVyeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbnN0cnVjdFF1ZXJ5PFQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdG9rZW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VG9rZW5SZXNwb25zZT4oe1xuICAgIHRva2VuOiBudWxsLFxuICAgIHJlZnJlc2hUb2tlbjogbnVsbCxcbiAgfSk7XG5cbiAgZ2V0IGhlYWRlcigpIHtcbiAgICByZXR1cm4geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5fdG9rZW5zJC5nZXRWYWx1ZSgpLnRva2VufWAgfTtcbiAgfVxuXG4gIGdldCB0b2tlbnMkKCkge1xuICAgIHJldHVybiB0aGlzLl90b2tlbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW5zJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRSZWZyZXNoUXVlcnkkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UmVmcmVzaFF1ZXJ5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50UmVmcmVzaFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UmVmcmVzaFF1ZXJ5JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHNob3VsZFJlZnJlc2hPblVuYXV0aG9yaXplZFJlc3BvbnNlKCkge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnICYmXG4gICAgICAodGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcucmVmcmVzaE9uVW5hdXRob3JpemVkUmVzcG9uc2UgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5yZWZyZXNoT25VbmF1dGhvcml6ZWRSZXNwb25zZSlcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIF9jb25maWc6IEF1dGhQcm92aWRlckJlYXJlckNvbmZpZzxUPikge1xuICAgIGNvbnN0IGNvb2tpZUVuYWJsZWQgPSBfY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZUVuYWJsZWQgPz8gdHJ1ZTtcbiAgICBjb25zdCBjb29raWVUb2tlbiA9XG4gICAgICBfY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZU5hbWUgJiYgY29va2llRW5hYmxlZCA/IGdldENvb2tpZShfY29uZmlnLnJlZnJlc2hDb25maWcuY29va2llTmFtZSkgPz8gbnVsbCA6IG51bGw7XG5cbiAgICB0aGlzLl90b2tlbnMkLm5leHQoe1xuICAgICAgdG9rZW46IF9jb25maWcudG9rZW4gfHwgbnVsbCxcbiAgICAgIHJlZnJlc2hUb2tlbjogX2NvbmZpZy5yZWZyZXNoQ29uZmlnPy50b2tlbiB8fCBjb29raWVUb2tlbiB8fCBudWxsLFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLnRva2Vucy50b2tlbiAmJiAhdGhpcy50b2tlbnMucmVmcmVzaFRva2VuKSB7XG4gICAgICBpZiAoIV9jb25maWcucmVmcmVzaENvbmZpZz8uY29va2llTmFtZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICdBIEJlYXJlckF1dGhQcm92aWRlciB3YXMgY3JlYXRlZCB3aXRob3V0IHRva2VuIG9yIHJlZnJlc2ggdG9rZW4uIFlvdSBzaG91bGQgcHJvdmlkZSBhdCBsZWFzdCBhIGNvb2tpZU5hbWUgd2hlcmUgdGhlIHJlZnJlc2ggdG9rZW4gbWlnaHQgYmUgc3RvcmVkLicsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMudG9rZW4pIHtcbiAgICAgIHRoaXMuX3ByZXBhcmVGb3JSZWZyZXNoKCk7XG5cbiAgICAgIGlmICh0aGlzLnRva2Vucy5yZWZyZXNoVG9rZW4gJiYgdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZU5hbWUgJiYgY29va2llRW5hYmxlZCkge1xuICAgICAgICB0aGlzLl9zZXRDb29raWUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLnJlZnJlc2hUb2tlbikge1xuICAgICAgdGhpcy5fcmVmcmVzaFF1ZXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYW5VcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fY3VycmVudFJlZnJlc2hRdWVyeSQubmV4dChudWxsKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZz8uY29va2llTmFtZSkge1xuICAgICAgdGhpcy5fZGVsZXRlQ29va2llKCk7XG4gICAgfVxuICB9XG5cbiAgZW5hYmxlQ29va2llKCkge1xuICAgIGlmICghdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gY29va2llIG5hbWUgd2FzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRva2Vucy5yZWZyZXNoVG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVmcmVzaCB0b2tlbiB3YXMgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5jb29raWVFbmFibGVkID0gdHJ1ZTtcblxuICAgIHRoaXMuX3NldENvb2tpZSgpO1xuICB9XG5cbiAgZGlzYWJsZUNvb2tpZSgpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnPy5jb29raWVOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGNvb2tpZSBuYW1lIHdhcyBwcm92aWRlZCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnLmNvb2tpZUVuYWJsZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuX2RlbGV0ZUNvb2tpZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29va2llKCkge1xuICAgIGlmICghdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZU5hbWUgfHwgIXRoaXMudG9rZW5zLnJlZnJlc2hUb2tlbikgcmV0dXJuO1xuXG4gICAgc2V0Q29va2llKFxuICAgICAgdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcuY29va2llTmFtZSxcbiAgICAgIHRoaXMudG9rZW5zLnJlZnJlc2hUb2tlbixcbiAgICAgIHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnLmNvb2tpZUV4cGlyZXNJbkRheXMsXG4gICAgICB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5jb29raWVEb21haW4sXG4gICAgICB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5jb29raWVQYXRoLFxuICAgICAgdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcuY29va2llU2FtZVNpdGUsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGV0ZUNvb2tpZSgpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnPy5jb29raWVOYW1lKSByZXR1cm47XG5cbiAgICBkZWxldGVDb29raWUoXG4gICAgICB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5jb29raWVOYW1lLFxuICAgICAgdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcuY29va2llUGF0aCxcbiAgICAgIHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnLmNvb2tpZURvbWFpbixcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZUZvclJlZnJlc2goKSB7XG4gICAgaWYgKCF0aGlzLnRva2Vucy50b2tlbiB8fCAhdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBiZWFyZXIgPSBkZWNyeXB0QmVhcmVyKHRoaXMudG9rZW5zLnRva2VuKTtcblxuICAgIGlmICghYmVhcmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXhwaXJlc0luUHJvcGVydHlOYW1lID0gdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcuZXhwaXJlc0luUHJvcGVydHlOYW1lIHx8ICdleHAnO1xuICAgIGNvbnN0IGV4cGlyZXNJbiA9IGJlYXJlcltleHBpcmVzSW5Qcm9wZXJ0eU5hbWVdIGFzIG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaXZlTWludXRlcyA9IDUgKiA2MCAqIDEwMDA7XG4gICAgY29uc3QgcmVmcmVzaEJ1ZmZlciA9IHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnLnJlZnJlc2hCdWZmZXIgPz8gZml2ZU1pbnV0ZXM7XG5cbiAgICBpZiAoZXhwaXJlc0luID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQmVhcmVyIHRva2VuIGRvZXMgbm90IGNvbnRhaW4gYW4gJyR7ZXhwaXJlc0luUHJvcGVydHlOYW1lfScgcHJvcGVydHlgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gbmV3IERhdGUoZXhwaXJlc0luICogMTAwMCkuZ2V0VGltZSgpIC0gcmVmcmVzaEJ1ZmZlciAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5zdHJhdGVneSA/PyBBdXRoQmVhcmVyUmVmcmVzaFN0cmF0ZWd5LkJlZm9yZUV4cGlyYXRpb247XG5cbiAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICBjYXNlIEF1dGhCZWFyZXJSZWZyZXNoU3RyYXRlZ3kuQmVmb3JlRXhwaXJhdGlvbjpcbiAgICAgICAgdGltZXIocmVtYWluaW5nVGltZSlcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaFF1ZXJ5KCkpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfcmVmcmVzaFF1ZXJ5KCkge1xuICAgIGNvbnN0IGN1cnJlbnRRdWVyeSA9IHRoaXMuX2N1cnJlbnRSZWZyZXNoUXVlcnkkLmdldFZhbHVlKCk7XG5cbiAgICBpZiAoaXNRdWVyeVN0YXRlTG9hZGluZyhjdXJyZW50UXVlcnk/LnJhd1N0YXRlKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRRdWVyeTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50UmVmcmVzaFRva2VuID0gdGhpcy50b2tlbnMucmVmcmVzaFRva2VuO1xuXG4gICAgaWYgKCFjdXJyZW50UmVmcmVzaFRva2VuIHx8ICF0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5yZXF1ZXN0QXJnc0FkYXB0ZXI/Lih7XG4gICAgICB0b2tlbjogdGhpcy50b2tlbnMudG9rZW4sXG4gICAgICByZWZyZXNoVG9rZW46IGN1cnJlbnRSZWZyZXNoVG9rZW4sXG4gICAgfSkgPz8ge1xuICAgICAgYm9keTogeyByZWZyZXNoVG9rZW46IGN1cnJlbnRSZWZyZXNoVG9rZW4gfSxcbiAgICB9O1xuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZy5xdWVyeUNyZWF0b3IucHJlcGFyZShhcmdzKS5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy5fY3VycmVudFJlZnJlc2hRdWVyeSQubmV4dChxdWVyeSBhcyBDb25zdHJ1Y3RRdWVyeTxUPik7XG5cbiAgICB0aGlzLl9jdXJyZW50UmVmcmVzaFF1ZXJ5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaFF1ZXJ5U3RhdGUoKSxcbiAgICAgICAgdGFwKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmIChpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnPy5yZXNwb25zZUFkYXB0ZXIpIHtcbiAgICAgICAgICAgICAgY29uc3QgdG9rZW5zID0gdGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWcucmVzcG9uc2VBZGFwdGVyKHN0YXRlLnJlc3BvbnNlIGFzIFF1ZXJ5UmVzcG9uc2VPZjxUPik7XG5cbiAgICAgICAgICAgICAgdGhpcy5fdG9rZW5zJC5uZXh0KHRva2Vucyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLl90b2tlbnMkLm5leHQoe1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICAgICAgdG9rZW46IChzdGF0ZS5yZXNwb25zZSBhcyBhbnkpWyd0b2tlbiddLFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICAgICAgcmVmcmVzaFRva2VuOiAoc3RhdGUucmVzcG9uc2UgYXMgYW55KVsncmVmcmVzaFRva2VuJ10sXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29va2llRW5hYmxlZCA9IHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnPy5jb29raWVFbmFibGVkID8/IHRydWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZz8uY29va2llTmFtZSAmJiB0aGlzLnRva2Vucy5yZWZyZXNoVG9rZW4gJiYgY29va2llRW5hYmxlZCkge1xuICAgICAgICAgICAgICB0aGlzLl9zZXRDb29raWUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZUZvclJlZnJlc2goKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpKSB7XG4gICAgICAgICAgICB0aGlzLl90b2tlbnMkLm5leHQoeyB0b2tlbjogbnVsbCwgcmVmcmVzaFRva2VuOiBudWxsIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLnJlZnJlc2hDb25maWc/LmNvb2tpZU5hbWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5fZGVsZXRlQ29va2llKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsUmVzcG9uc2UoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class CustomHeaderAuthProvider {
|
|
2
|
+
get header() {
|
|
3
|
+
return { [this._config.name]: this._config.value };
|
|
4
|
+
}
|
|
5
|
+
constructor(_config) {
|
|
6
|
+
this._config = _config;
|
|
7
|
+
}
|
|
8
|
+
cleanUp() {
|
|
9
|
+
// noop
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWhlYWRlci1hdXRoLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2F1dGgvY3VzdG9tLWhlYWRlci1hdXRoLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFtQixPQUF1QztRQUF2QyxZQUFPLEdBQVAsT0FBTyxDQUFnQztJQUFHLENBQUM7SUFFOUQsT0FBTztRQUNMLE9BQU87SUFDVCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoUHJvdmlkZXIsIEF1dGhQcm92aWRlckN1c3RvbUhlYWRlckNvbmZpZyB9IGZyb20gJy4vYXV0aC1wcm92aWRlci50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21IZWFkZXJBdXRoUHJvdmlkZXIgaW1wbGVtZW50cyBBdXRoUHJvdmlkZXIge1xuICBnZXQgaGVhZGVyKCkge1xuICAgIHJldHVybiB7IFt0aGlzLl9jb25maWcubmFtZV06IHRoaXMuX2NvbmZpZy52YWx1ZSB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIF9jb25maWc6IEF1dGhQcm92aWRlckN1c3RvbUhlYWRlckNvbmZpZykge31cblxuICBjbGVhblVwKCk6IHZvaWQge1xuICAgIC8vIG5vb3BcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './custom-header-auth-provider';
|
|
2
|
+
export * from './basic-auth-provider';
|
|
3
|
+
export * from './bearer-auth-provider';
|
|
4
|
+
export * from './auth-provider.types';
|
|
5
|
+
export * from './auth-provider.utils';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbS1oZWFkZXItYXV0aC1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2ljLWF1dGgtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtcHJvdmlkZXIudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLXByb3ZpZGVyLnV0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdmFsaWRhdG9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2NsYXNzLXZhbGlkYXRvci9jbGFzcy12YWxpZGF0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBTdGF0dXNDb2RlIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NWYWxpZGF0b3JFcnJvciB7XG4gIHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlO1xuICBtZXNzYWdlOiBzdHJpbmdbXTtcbiAgZXJyb3I6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const isClassValidatorError = (error) => {
|
|
2
|
+
return typeof error === 'object' && error !== null && 'statusCode' in error && 'message' in error && 'error' in error;
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdmFsaWRhdG9yLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2NsYXNzLXZhbGlkYXRvci9jbGFzcy12YWxpZGF0b3IudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQWdDLEVBQUU7SUFDcEYsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxZQUFZLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQztBQUN4SCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGFzc1ZhbGlkYXRvckVycm9yIH0gZnJvbSAnLi9jbGFzcy12YWxpZGF0b3IudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNDbGFzc1ZhbGlkYXRvckVycm9yID0gKGVycm9yOiB1bmtub3duKTogZXJyb3IgaXMgQ2xhc3NWYWxpZGF0b3JFcnJvciA9PiB7XG4gIHJldHVybiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmIGVycm9yICE9PSBudWxsICYmICdzdGF0dXNDb2RlJyBpbiBlcnJvciAmJiAnbWVzc2FnZScgaW4gZXJyb3IgJiYgJ2Vycm9yJyBpbiBlcnJvcjtcbn07XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './class-validator.types';
|
|
2
|
+
export * from './class-validator.utils';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvY2xhc3MtdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhc3MtdmFsaWRhdG9yLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3MtdmFsaWRhdG9yLnV0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './query-devtools.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZGV2dG9vbHMvY29tcG9uZW50cy9xdWVyeS1kZXZ0b29scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1kZXZ0b29scy5jb21wb25lbnQnO1xuIl19
|