graphql-persisted 0.0.6 → 0.0.7

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.
@@ -1,4 +1,16 @@
1
1
  import './types';
2
+ type Pretty<O> = {
3
+ [K in keyof O]: O[K];
4
+ } & {};
5
+ type UnwrapFragment<T> = T extends Array<infer U> ? Array<UnwrapFragment<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<ReadonlyArray<U>> : T extends object ? T extends {
6
+ ' $fragmentRefs'?: infer Refs;
7
+ } ? Pretty<{
8
+ [K in keyof T as K extends ' $fragmentName' | ' $fragmentRefs' ? never : K]: UnwrapFragment<T[K]>;
9
+ } & {
10
+ [K in keyof Refs]: UnwrapFragment<Refs[K]>;
11
+ }[keyof Refs]> : {
12
+ [K in keyof T as K extends ' $fragmentName' ? never : K]: UnwrapFragment<T[K]>;
13
+ } : T;
2
14
  export type FragmentType<Frag extends keyof GraphQLQuery.FragmentRegistry> = GraphQLQuery.FragmentRegistry[Frag] extends infer FragType ? FragType extends {
3
15
  ' $fragmentName'?: infer TKey;
4
16
  } ? TKey extends string ? {
@@ -6,8 +18,14 @@ export type FragmentType<Frag extends keyof GraphQLQuery.FragmentRegistry> = Gra
6
18
  [key in TKey]: FragType;
7
19
  };
8
20
  } : never : never : never;
21
+ export type FragmentTypeUnwrapped<Frag extends keyof GraphQLQuery.FragmentRegistry> = GraphQLQuery.FragmentRegistry[Frag] extends infer FragType ? FragType extends object ? UnwrapFragment<FragType> : never : never;
9
22
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag>): GraphQLQuery.FragmentRegistry[Frag];
10
23
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag> | null | undefined): GraphQLQuery.FragmentRegistry[Frag] | null | undefined;
11
24
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>>): ReadonlyArray<GraphQLQuery.FragmentRegistry[Frag]>;
12
25
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>> | null | undefined): ReadonlyArray<GraphQLQuery.FragmentRegistry[Frag]> | null | undefined;
13
- export declare function castFragmentData<F extends keyof GraphQLQuery.FragmentRegistry, FT extends GraphQLQuery.FragmentRegistry[F]>(_fragmentName: F, data: FT): FragmentType<F>;
26
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag>): FragmentTypeUnwrapped<Frag>;
27
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag> | null | undefined): FragmentTypeUnwrapped<Frag> | null | undefined;
28
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>>): ReadonlyArray<FragmentTypeUnwrapped<Frag>>;
29
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>> | null | undefined): ReadonlyArray<FragmentTypeUnwrapped<Frag>> | null | undefined;
30
+ export declare function castFragmentData<F extends keyof GraphQLQuery.FragmentRegistry, FT extends FragmentTypeUnwrapped<F>>(_fragmentName: F, data: FT): FragmentType<F>;
31
+ export {};
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.castFragmentData = exports.unwrapFragment = void 0;
3
+ exports.castFragmentData = exports.unwrapFragmentDeep = exports.unwrapFragment = void 0;
4
4
  require("./types");
5
5
  function unwrapFragment(_fragmentName, fragmentType) {
6
6
  return fragmentType;
7
7
  }
8
8
  exports.unwrapFragment = unwrapFragment;
9
+ function unwrapFragmentDeep(_fragmentName, fragmentType) {
10
+ return fragmentType;
11
+ }
12
+ exports.unwrapFragmentDeep = unwrapFragmentDeep;
9
13
  function castFragmentData(_fragmentName, data) {
10
14
  return data;
11
15
  }
package/cjs/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { usePersistedQuery, usePersistedMutation, usePreloadedPersistedQuery, useOnMutation, usePersistedSubscription, } from './graphqlHooks.js';
2
- export { unwrapFragment, castFragmentData } from './fragmentData.js';
3
- export type { FragmentType } from './fragmentData.js';
2
+ export { unwrapFragment, castFragmentData, unwrapFragmentDeep } from './fragmentData.js';
3
+ export type { FragmentType, FragmentTypeUnwrapped } from './fragmentData.js';
4
4
  export { GraphQLQueryCache } from './GraphQLQueryCache.js';
5
5
  export { useGraphQLQueryCache, GraphQLQueryProvider } from './context.js';
6
6
  export type { GraphQLPreloadedQueryResult, GraphQLQueryResult, GraphQLQueryCacheConfig } from './types.js';
package/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphQLQueryProvider = exports.useGraphQLQueryCache = exports.GraphQLQueryCache = exports.castFragmentData = exports.unwrapFragment = exports.usePersistedSubscription = exports.useOnMutation = exports.usePreloadedPersistedQuery = exports.usePersistedMutation = exports.usePersistedQuery = void 0;
3
+ exports.GraphQLQueryProvider = exports.useGraphQLQueryCache = exports.GraphQLQueryCache = exports.unwrapFragmentDeep = exports.castFragmentData = exports.unwrapFragment = exports.usePersistedSubscription = exports.useOnMutation = exports.usePreloadedPersistedQuery = exports.usePersistedMutation = exports.usePersistedQuery = void 0;
4
4
  var graphqlHooks_js_1 = require("./graphqlHooks.js");
5
5
  Object.defineProperty(exports, "usePersistedQuery", { enumerable: true, get: function () { return graphqlHooks_js_1.usePersistedQuery; } });
6
6
  Object.defineProperty(exports, "usePersistedMutation", { enumerable: true, get: function () { return graphqlHooks_js_1.usePersistedMutation; } });
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "usePersistedSubscription", { enumerable: true, g
10
10
  var fragmentData_js_1 = require("./fragmentData.js");
11
11
  Object.defineProperty(exports, "unwrapFragment", { enumerable: true, get: function () { return fragmentData_js_1.unwrapFragment; } });
12
12
  Object.defineProperty(exports, "castFragmentData", { enumerable: true, get: function () { return fragmentData_js_1.castFragmentData; } });
13
+ Object.defineProperty(exports, "unwrapFragmentDeep", { enumerable: true, get: function () { return fragmentData_js_1.unwrapFragmentDeep; } });
13
14
  var GraphQLQueryCache_js_1 = require("./GraphQLQueryCache.js");
14
15
  Object.defineProperty(exports, "GraphQLQueryCache", { enumerable: true, get: function () { return GraphQLQueryCache_js_1.GraphQLQueryCache; } });
15
16
  var context_js_1 = require("./context.js");
@@ -1,4 +1,16 @@
1
1
  import './types';
2
+ type Pretty<O> = {
3
+ [K in keyof O]: O[K];
4
+ } & {};
5
+ type UnwrapFragment<T> = T extends Array<infer U> ? Array<UnwrapFragment<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<ReadonlyArray<U>> : T extends object ? T extends {
6
+ ' $fragmentRefs'?: infer Refs;
7
+ } ? Pretty<{
8
+ [K in keyof T as K extends ' $fragmentName' | ' $fragmentRefs' ? never : K]: UnwrapFragment<T[K]>;
9
+ } & {
10
+ [K in keyof Refs]: UnwrapFragment<Refs[K]>;
11
+ }[keyof Refs]> : {
12
+ [K in keyof T as K extends ' $fragmentName' ? never : K]: UnwrapFragment<T[K]>;
13
+ } : T;
2
14
  export type FragmentType<Frag extends keyof GraphQLQuery.FragmentRegistry> = GraphQLQuery.FragmentRegistry[Frag] extends infer FragType ? FragType extends {
3
15
  ' $fragmentName'?: infer TKey;
4
16
  } ? TKey extends string ? {
@@ -6,8 +18,14 @@ export type FragmentType<Frag extends keyof GraphQLQuery.FragmentRegistry> = Gra
6
18
  [key in TKey]: FragType;
7
19
  };
8
20
  } : never : never : never;
21
+ export type FragmentTypeUnwrapped<Frag extends keyof GraphQLQuery.FragmentRegistry> = GraphQLQuery.FragmentRegistry[Frag] extends infer FragType ? FragType extends object ? UnwrapFragment<FragType> : never : never;
9
22
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag>): GraphQLQuery.FragmentRegistry[Frag];
10
23
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag> | null | undefined): GraphQLQuery.FragmentRegistry[Frag] | null | undefined;
11
24
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>>): ReadonlyArray<GraphQLQuery.FragmentRegistry[Frag]>;
12
25
  export declare function unwrapFragment<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>> | null | undefined): ReadonlyArray<GraphQLQuery.FragmentRegistry[Frag]> | null | undefined;
13
- export declare function castFragmentData<F extends keyof GraphQLQuery.FragmentRegistry, FT extends GraphQLQuery.FragmentRegistry[F]>(_fragmentName: F, data: FT): FragmentType<F>;
26
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag>): FragmentTypeUnwrapped<Frag>;
27
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: FragmentType<Frag> | null | undefined): FragmentTypeUnwrapped<Frag> | null | undefined;
28
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>>): ReadonlyArray<FragmentTypeUnwrapped<Frag>>;
29
+ export declare function unwrapFragmentDeep<Frag extends keyof GraphQLQuery.FragmentRegistry>(_fragmentName: Frag, fragmentType: ReadonlyArray<FragmentType<Frag>> | null | undefined): ReadonlyArray<FragmentTypeUnwrapped<Frag>> | null | undefined;
30
+ export declare function castFragmentData<F extends keyof GraphQLQuery.FragmentRegistry, FT extends FragmentTypeUnwrapped<F>>(_fragmentName: F, data: FT): FragmentType<F>;
31
+ export {};
@@ -2,6 +2,9 @@ import './types';
2
2
  export function unwrapFragment(_fragmentName, fragmentType) {
3
3
  return fragmentType;
4
4
  }
5
+ export function unwrapFragmentDeep(_fragmentName, fragmentType) {
6
+ return fragmentType;
7
+ }
5
8
  export function castFragmentData(_fragmentName, data) {
6
9
  return data;
7
10
  }
package/mjs/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { usePersistedQuery, usePersistedMutation, usePreloadedPersistedQuery, useOnMutation, usePersistedSubscription, } from './graphqlHooks.js';
2
- export { unwrapFragment, castFragmentData } from './fragmentData.js';
3
- export type { FragmentType } from './fragmentData.js';
2
+ export { unwrapFragment, castFragmentData, unwrapFragmentDeep } from './fragmentData.js';
3
+ export type { FragmentType, FragmentTypeUnwrapped } from './fragmentData.js';
4
4
  export { GraphQLQueryCache } from './GraphQLQueryCache.js';
5
5
  export { useGraphQLQueryCache, GraphQLQueryProvider } from './context.js';
6
6
  export type { GraphQLPreloadedQueryResult, GraphQLQueryResult, GraphQLQueryCacheConfig } from './types.js';
package/mjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { usePersistedQuery, usePersistedMutation, usePreloadedPersistedQuery, useOnMutation, usePersistedSubscription, } from './graphqlHooks.js';
2
- export { unwrapFragment, castFragmentData } from './fragmentData.js';
2
+ export { unwrapFragment, castFragmentData, unwrapFragmentDeep } from './fragmentData.js';
3
3
  export { GraphQLQueryCache } from './GraphQLQueryCache.js';
4
4
  export { useGraphQLQueryCache, GraphQLQueryProvider } from './context.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphql-persisted",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "WIP: An Opinionated GraphQL Query Library, with a focus on fully persisted queries",
5
5
  "keywords": [
6
6
  "graphql",
@@ -33,12 +33,13 @@
33
33
  "lodash.isequal": "^4.5.0"
34
34
  },
35
35
  "devDependencies": {
36
+ "@vitejs/plugin-react": "^3.0.0",
36
37
  "@types/lodash.isequal": "^4.5.6",
37
38
  "@types/node": "^18.11.18",
38
39
  "@types/react": "^18.0.27",
39
40
  "@typescript-eslint/eslint-plugin": "^5.49.0",
40
41
  "@typescript-eslint/parser": "^5.49.0",
41
- "cypress": "^12.6.0",
42
+ "cypress": "^12.12.0",
42
43
  "eslint": "^8.32.0",
43
44
  "eslint-plugin-react": "^7.32.1",
44
45
  "eslint-plugin-react-hooks": "^4.6.0",