@ethlete/query 5.33.2 → 5.34.0

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.
@@ -66,7 +66,7 @@ export type BearerAuthProviderCookieConfig<TTokenRefreshArgs extends QueryArgs>
66
66
  */
67
67
  autoLoginExcludeRoutes?: string[];
68
68
  };
69
- export type CreateBearerAuthProviderConfigOptions<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs> = {
69
+ export type CreateBearerAuthProviderConfigOptions<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = {
70
70
  /**
71
71
  * The name of the auth provider
72
72
  */
@@ -110,10 +110,14 @@ export type CreateBearerAuthProviderConfigOptions<TLoginArgs extends QueryArgs,
110
110
  * @default true
111
111
  */
112
112
  refreshOnUnauthorizedResponse?: boolean;
113
+ /**
114
+ * A function that decrypts the bearer token
115
+ */
116
+ bearerDecryptFn?: (token: string) => TBearerData;
113
117
  };
114
- export type BearerAuthProviderConfig<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs> = CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs> & {
115
- token: BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>;
118
+ export type BearerAuthProviderConfig<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData> & {
119
+ token: BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
116
120
  };
117
- export type AnyBearerAuthProviderConfig = BearerAuthProviderConfig<any, any, any, any>;
118
- export type BearerAuthProviderRef<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs> = InjectionToken<BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>>;
119
- export declare const createBearerAuthProviderConfig: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs>(options: CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>) => BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>;
121
+ export type AnyBearerAuthProviderConfig = BearerAuthProviderConfig<any, any, any, any, any>;
122
+ export type BearerAuthProviderRef<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = InjectionToken<BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>>;
123
+ export declare const createBearerAuthProviderConfig: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(options: CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
@@ -10,7 +10,7 @@ type QuerySnapshotWithType<TLoginArgs extends QueryArgs, TTokenLoginArgs extends
10
10
  } & QuerySnapshot<TTokenRefreshArgs>) | ({
11
11
  type: 'selectRole';
12
12
  } & QuerySnapshot<TSelectRoleArgs>);
13
- export type BearerAuthProvider<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs> = {
13
+ export type BearerAuthProvider<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = {
14
14
  /**
15
15
  * Logs in the user with the given args.
16
16
  */
@@ -56,10 +56,14 @@ export type BearerAuthProvider<TLoginArgs extends QueryArgs, TTokenLoginArgs ext
56
56
  * A signal that contains the current access and refresh tokens.
57
57
  */
58
58
  tokens: Signal<BearerAuthProviderTokens | null>;
59
+ /**
60
+ * The bearer data that was decrypted from the access token.
61
+ */
62
+ bearerData: Signal<TBearerData | null>;
59
63
  };
60
- export declare const createBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs>(options: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>) => BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>;
61
- export declare const provideBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs>(config: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>) => {
62
- provide: import("./bearer-auth-provider-config").BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>;
63
- useFactory: () => BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs>;
64
+ export declare const createBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(options: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
65
+ export declare const provideBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(config: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => {
66
+ provide: import("./bearer-auth-provider-config").BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
67
+ useFactory: () => BearerAuthProvider<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
64
68
  };
65
69
  export {};
@@ -24,10 +24,6 @@ export type InternalRunQueryExecuteOptions = {
24
24
  * - `undefined` means the request will be cached if the method is GET, OPTIONS or HEAD
25
25
  */
26
26
  useQueryRepositoryCache?: boolean;
27
- /**
28
- * If true, the query will be forced to use JSON.stringify on the query params.
29
- */
30
- forceJsonStringifyInQueryParams?: boolean;
31
27
  };
32
28
  export type QueryExecuteOptions<TArgs extends QueryArgs> = {
33
29
  executeOptions: CreateQueryExecuteOptions<TArgs>;
package/lib/gql/gql.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type TransformedGqlQuery = {
2
2
  query: string;
3
- variables?: Record<string, unknown>;
3
+ variables?: string;
4
4
  operationName?: string;
5
5
  };
6
6
  export declare const transformGql: (str: string) => (variables: Record<string, unknown> | null | undefined) => TransformedGqlQuery;
@@ -90,9 +90,13 @@ export interface BuildQueryStringConfig {
90
90
  * // bracket notation
91
91
  * { foo: { bar: 'baz' } } => "foo[bar]=baz"
92
92
  *
93
+ * @example
94
+ * // json-stringify notation
95
+ * { foo: { bar: 'baz' } } => "foo={\"bar\":\"baz\"}"
96
+ *
93
97
  * @default 'bracket'
94
98
  */
95
- objectNotation?: 'dot' | 'bracket';
99
+ objectNotation?: 'dot' | 'bracket' | 'json-stringify';
96
100
  /**
97
101
  * Whether to write array indexes in bracket notation.
98
102
  *
@@ -123,11 +127,4 @@ export interface BuildQueryStringConfig {
123
127
  * @default [isNaN, isEmptyString]
124
128
  */
125
129
  ignoredValuesFns?: Array<(value: unknown) => boolean>;
126
- /**
127
- * Whether to use `JSON.stringify` for nested objects.
128
- * Should be used for GraphQL queries.
129
- *
130
- * @default false
131
- */
132
- useJsonStringify?: boolean;
133
130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/query",
3
- "version": "5.33.2",
3
+ "version": "5.34.0",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "19.2.2",