@graphql-box/cache-manager 3.0.0 → 3.1.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/lib/browser/index.js +1 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/production.analysis.txt +32 -32
- package/lib/main/helpers/createFragmentSpreadChecklist.js +5 -2
- package/lib/main/helpers/createFragmentSpreadChecklist.js.map +1 -1
- package/lib/main/helpers/filterField.js.map +1 -1
- package/lib/main/helpers/filterFragmentDefinitions.js +5 -0
- package/lib/main/helpers/filterFragmentDefinitions.js.map +1 -1
- package/lib/main/helpers/filterFragmentSpreads.js +0 -1
- package/lib/main/helpers/filterFragmentSpreads.js.map +1 -1
- package/lib/main/helpers/filterIDsAndTypeNames.js.map +1 -1
- package/lib/main/helpers/filterInlineFragments.js.map +1 -1
- package/lib/main/helpers/filterOperationAndFragmentDefinitions.js +15 -0
- package/lib/main/helpers/filterOperationAndFragmentDefinitions.js.map +1 -0
- package/lib/main/helpers/filterQuery.js +5 -4
- package/lib/main/helpers/filterQuery.js.map +1 -1
- package/lib/module/helpers/createFragmentSpreadChecklist.js +5 -2
- package/lib/module/helpers/createFragmentSpreadChecklist.js.map +1 -1
- package/lib/module/helpers/filterField.js.map +1 -1
- package/lib/module/helpers/filterFragmentDefinitions.js +4 -0
- package/lib/module/helpers/filterFragmentDefinitions.js.map +1 -1
- package/lib/module/helpers/filterFragmentSpreads.js +0 -1
- package/lib/module/helpers/filterFragmentSpreads.js.map +1 -1
- package/lib/module/helpers/filterIDsAndTypeNames.js.map +1 -1
- package/lib/module/helpers/filterInlineFragments.js.map +1 -1
- package/lib/module/helpers/filterOperationAndFragmentDefinitions.js +5 -0
- package/lib/module/helpers/filterOperationAndFragmentDefinitions.js.map +1 -0
- package/lib/module/helpers/filterQuery.js +5 -4
- package/lib/module/helpers/filterQuery.js.map +1 -1
- package/lib/types/defs/index.d.ts +2 -1
- package/lib/types/defs/index.d.ts.map +1 -1
- package/lib/types/helpers/createFragmentSpreadChecklist.d.ts +2 -2
- package/lib/types/helpers/createFragmentSpreadChecklist.d.ts.map +1 -1
- package/lib/types/helpers/filterField.d.ts +2 -2
- package/lib/types/helpers/filterField.d.ts.map +1 -1
- package/lib/types/helpers/filterFragmentDefinitions.d.ts +1 -5
- package/lib/types/helpers/filterFragmentDefinitions.d.ts.map +1 -1
- package/lib/types/helpers/filterFragmentSpreads.d.ts +2 -2
- package/lib/types/helpers/filterFragmentSpreads.d.ts.map +1 -1
- package/lib/types/helpers/filterIDsAndTypeNames.d.ts +2 -2
- package/lib/types/helpers/filterIDsAndTypeNames.d.ts.map +1 -1
- package/lib/types/helpers/filterInlineFragments.d.ts +2 -2
- package/lib/types/helpers/filterInlineFragments.d.ts.map +1 -1
- package/lib/types/helpers/filterOperationAndFragmentDefinitions.d.ts +4 -0
- package/lib/types/helpers/filterOperationAndFragmentDefinitions.d.ts.map +1 -0
- package/lib/types/helpers/filterQuery.d.ts +1 -1
- package/lib/types/helpers/filterQuery.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/__snapshots__/index.test.ts.snap +25475 -0
- package/src/defs/index.ts +2 -1
- package/src/helpers/createFragmentSpreadChecklist.ts +3 -3
- package/src/helpers/filterField.ts +2 -2
- package/src/helpers/filterFragmentDefinitions.ts +4 -0
- package/src/helpers/filterFragmentSpreads.ts +2 -3
- package/src/helpers/filterIDsAndTypeNames.ts +5 -2
- package/src/helpers/filterInlineFragments.ts +5 -2
- package/src/helpers/filterOperationAndFragmentDefinitions.ts +10 -0
- package/src/helpers/filterQuery.ts +3 -2
- package/src/index.test.ts +52 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["ast","reduce","acc","name","deleted","paths","total"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["ast","request","reduce","acc","name","deleted","paths","total","match","RegExp","length"],"mappings":";;;;;;;;;;;AACA;;eAWe,CAAC;AAAEA,EAAAA,GAAF;AAAOC,EAAAA;AAAP,CAAD;AAAA;;AAAA,SACb,6CAAK,qCAAuBD,GAAvB,CAAL,yEAAoC,EAApC,EAAwCE,MAAxC,CAA+C,CAACC,GAAD,EAA8BC,IAA9B,KAAuC;AACpFD,IAAAA,GAAG,CAACC,IAAD,CAAH,GAAY;AAAEC,MAAAA,OAAO,EAAE,CAAX;AAAcC,MAAAA,KAAK,EAAE,EAArB;AAAyBC,MAAAA,KAAK,EAAE,CAACN,OAAO,CAACO,KAAR,CAAc,IAAIC,MAAJ,CAAY,YAAWL,IAAK,EAA5B,EAA+B,GAA/B,CAAd,KAAsD,EAAvD,EAA2DM;AAA3F,KAAZ;AACA,WAAOP,GAAP;AACD,GAHD,EAGG,EAHH,CADa;AAAA,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { keys } from \"lodash\";\n\nexport type FragmentSpreadCheckist = {\n [key: string]: {\n deleted: number;\n paths: string[];\n total: number;\n };\n};\n\nexport default ({ ast, request }: RequestData) =>\n keys(getFragmentDefinitions(ast) ?? {}).reduce((acc: FragmentSpreadCheckist, name) => {\n acc[name] = { deleted: 0, paths: [], total: (request.match(new RegExp(`\\\\.\\\\.\\\\.${name}`, \"g\")) || []).length };\n return acc;\n }, {});\n"],"file":"createFragmentSpreadChecklist.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","FRAGMENT_SPREAD","hasData","total","childFieldName","TYPE_NAME_KEY","requestFieldPath","typeUnused","get"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AAEA,MAAMA,WAAW,GAAG,CAClBC,KADkB,EAElBC,kBAFkB,EAGlBC,uBAHkB,EAIlBC,wBAJkB,EAKlBC,OALkB,KAMN;AACZ,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAqCF,OAA3C;AACA,QAAMG,kBAAkB,GAAG,6BAAeP,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAA3B;;AAEA,MAAI,CAACE,kBAAL,EAAyB;AACvB,WAAO,KAAP;AACD;;AAED,QAAMC,0BAAsD,GAAG,EAA/D;;AAEA,OAAK,IAAIC,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA,SAAS,EAAEC,UAAb;AAAyBC,MAAAA,YAAzB;AAAuCC,MAAAA,YAAvC;AAAqDC,MAAAA,QAAQ,EAAEC;AAA/D,QAAiFT,kBAAkB,CAACE,CAAD,CAAzG;;AAEA,QAAII,YAAY,KAAKI,wBAAjB,IAAoCH,YAApC,IAAoD,CAACN,0BAA0B,CAACM,YAAD,CAAnF,EAAmG;AAAA;;AACjGN,MAAAA,0BAA0B,CAACM,YAAD,CAA1B,GAA2C;AACzCI,QAAAA,OAAO,EAAE,CADgC;AAEzCC,QAAAA,KAAK,EAAEd,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,IAAAA,mBAAmB,CAAGS,YAAH,CAAnB,+CACH,6BAAeT,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAGS,YAAH,CAAlC,EAAoD;AAAET,UAAAA;AAAF,SAApD,CADG,oDACH,gBAA8EK,MAD3E,yEACqF,CADrF,GAEH;AAJqC,OAA3C;AAMD;;AAED,UAAMU,cAAc,GAAG,sBAAQR,UAAR,CAAvB;;AAEA,QAAIQ,cAAc,KAAKd,SAAnB,IAAgCc,cAAc,KAAKC,mBAAvD,EAAsE;AACpE;AACD;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAuB,+CAC3BV,UAD2B,EAE3B;AACEU,MAAAA,gBAAgB,EAAEnB;AADpB,KAF2B,EAK3BC,OAL2B,CAA7B;AAQA,UAAM;AAAEc,MAAAA,OAAF;AAAWK,MAAAA;AAAX,QAA0B,sCAAwBtB,kBAAkB,CAACuB,GAAnB,CAAuBF,gBAAvB,CAAxB,EAAkEN,aAAlE,CAAhC;;AAEA,QAAIE,OAAO,IAAIK,UAAf,EAA2B;AACzB,UAAIV,YAAY,KAAKI,wBAArB,EAAsC;AACpCT,QAAAA,0BAA0B,CAACM,YAAD,CAA1B,CAAmDI,OAAnD,IAA8D,CAA9D;AACD,OAFD,MAEO,IAAI,CAAC,6BAAeN,UAAf,EAA2B;AAAEP,QAAAA;AAAF,OAA3B,CAAL,EAA0D;AAC/D,wCAAkBL,KAAlB,EAAyBY,UAAzB;AACD,OAFM,MAEA,IAAIb,WAAW,CAACa,UAAD,EAAaX,kBAAb,EAAiCC,uBAAjC,EAA0DoB,gBAA1D,EAA4ElB,OAA5E,CAAf,EAAqG;AAC1G,wCAAkBJ,KAAlB,EAAyBY,UAAzB;AACD;AACF;AACF;;AAED,sCAAsBZ,KAAtB,EAA6BQ,0BAA7B,EAAyDN,uBAAzD,EAAkFC,wBAAlF;AACA,sCAAsBH,KAAtB,EAA6BI,OAA7B;AACA,sCAAsBJ,KAAtB,EAA6BI,OAA7B;AACA,SAAO,CAAC,6BAAeJ,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAAR;AACD,CA3DD;;eA6DeN,W","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { FRAGMENT_SPREAD, deleteChildFields, getChildFields, getName, hasChildFields } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","FRAGMENT_SPREAD","hasData","total","childFieldName","TYPE_NAME_KEY","requestFieldPath","typeUnused","get"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AAEA,MAAMA,WAAW,GAAG,CAClBC,KADkB,EAElBC,kBAFkB,EAGlBC,uBAHkB,EAIlBC,wBAJkB,EAKlBC,OALkB,KAMN;AACZ,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAqCF,OAA3C;AACA,QAAMG,kBAAkB,GAAG,6BAAeP,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAA3B;;AAEA,MAAI,CAACE,kBAAL,EAAyB;AACvB,WAAO,KAAP;AACD;;AAED,QAAMC,0BAAsD,GAAG,EAA/D;;AAEA,OAAK,IAAIC,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA,SAAS,EAAEC,UAAb;AAAyBC,MAAAA,YAAzB;AAAuCC,MAAAA,YAAvC;AAAqDC,MAAAA,QAAQ,EAAEC;AAA/D,QAAiFT,kBAAkB,CAACE,CAAD,CAAzG;;AAEA,QAAII,YAAY,KAAKI,wBAAjB,IAAoCH,YAApC,IAAoD,CAACN,0BAA0B,CAACM,YAAD,CAAnF,EAAmG;AAAA;;AACjGN,MAAAA,0BAA0B,CAACM,YAAD,CAA1B,GAA2C;AACzCI,QAAAA,OAAO,EAAE,CADgC;AAEzCC,QAAAA,KAAK,EAAEd,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,IAAAA,mBAAmB,CAAGS,YAAH,CAAnB,+CACH,6BAAeT,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAGS,YAAH,CAAlC,EAAoD;AAAET,UAAAA;AAAF,SAApD,CADG,oDACH,gBAA8EK,MAD3E,yEACqF,CADrF,GAEH;AAJqC,OAA3C;AAMD;;AAED,UAAMU,cAAc,GAAG,sBAAQR,UAAR,CAAvB;;AAEA,QAAIQ,cAAc,KAAKd,SAAnB,IAAgCc,cAAc,KAAKC,mBAAvD,EAAsE;AACpE;AACD;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAuB,+CAC3BV,UAD2B,EAE3B;AACEU,MAAAA,gBAAgB,EAAEnB;AADpB,KAF2B,EAK3BC,OAL2B,CAA7B;AAQA,UAAM;AAAEc,MAAAA,OAAF;AAAWK,MAAAA;AAAX,QAA0B,sCAAwBtB,kBAAkB,CAACuB,GAAnB,CAAuBF,gBAAvB,CAAxB,EAAkEN,aAAlE,CAAhC;;AAEA,QAAIE,OAAO,IAAIK,UAAf,EAA2B;AACzB,UAAIV,YAAY,KAAKI,wBAArB,EAAsC;AACpCT,QAAAA,0BAA0B,CAACM,YAAD,CAA1B,CAAmDI,OAAnD,IAA8D,CAA9D;AACD,OAFD,MAEO,IAAI,CAAC,6BAAeN,UAAf,EAA2B;AAAEP,QAAAA;AAAF,OAA3B,CAAL,EAA0D;AAC/D,wCAAkBL,KAAlB,EAAyBY,UAAzB;AACD,OAFM,MAEA,IAAIb,WAAW,CAACa,UAAD,EAAaX,kBAAb,EAAiCC,uBAAjC,EAA0DoB,gBAA1D,EAA4ElB,OAA5E,CAAf,EAAqG;AAC1G,wCAAkBJ,KAAlB,EAAyBY,UAAzB;AACD;AACF;AACF;;AAED,sCAAsBZ,KAAtB,EAA6BQ,0BAA7B,EAAyDN,uBAAzD,EAAkFC,wBAAlF;AACA,sCAAsBH,KAAtB,EAA6BI,OAA7B;AACA,sCAAsBJ,KAAtB,EAA6BI,OAA7B;AACA,SAAO,CAAC,6BAAeJ,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAAR;AACD,CA3DD;;eA6DeN,W","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { FRAGMENT_SPREAD, deleteChildFields, getChildFields, getName, hasChildFields } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
|
|
@@ -41,6 +41,11 @@ var _default = (ast, fieldPathChecklist, fragmentSpreadChecklist, context) => {
|
|
|
41
41
|
} = fragmentSpreadChecklist[key];
|
|
42
42
|
return deleted > 0 && deleted === total ? [...names, key] : names;
|
|
43
43
|
}, []);
|
|
44
|
+
|
|
45
|
+
if (!definitionsToDelete.length) {
|
|
46
|
+
return ast;
|
|
47
|
+
}
|
|
48
|
+
|
|
44
49
|
return (0, _helpers.deleteFragmentDefinitions)(ast, {
|
|
45
50
|
include: definitionsToDelete
|
|
46
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","include"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;eAEe,CACbA,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AAAA;;AACH,QAAMC,mBAAmB,GAAG,oBAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;AAWA,QAAMO,mBAAmB,4BAAG,qCAAuBb,GAAvB,CAAH,yEAAkC,EAA3D;AAEAI,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACA,8BAAYK,kBAAZ,EAAgCd,kBAAhC,EAAoDC,uBAApD,EAA6ES,IAA7E,EAAmFR,OAAnF;AACD,GAHD;AAKA,QAAMa,mBAAmB,GAAG,oBAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","length","include"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;eAEe,CACbA,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AAAA;;AACH,QAAMC,mBAAmB,GAAG,oBAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;AAWA,QAAMO,mBAAmB,4BAAG,qCAAuBb,GAAvB,CAAH,yEAAkC,EAA3D;AAEAI,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACA,8BAAYK,kBAAZ,EAAgCd,kBAAhC,EAAoDC,uBAApD,EAA6ES,IAA7E,EAAmFR,OAAnF;AACD,GAHD;AAKA,QAAMa,mBAAmB,GAAG,oBAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B;;AAKA,MAAI,CAACD,mBAAmB,CAACE,MAAzB,EAAiC;AAC/B,WAAOlB,GAAP;AACD;;AAED,SAAO,wCAA0BA,GAA1B,EAA+B;AACpCmB,IAAAA,OAAO,EAAEH;AAD2B,GAA/B,CAAP;AAGD,C","sourcesContent":["import { deleteFragmentDefinitions, getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { DocumentNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext, FieldPathChecklist } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\n\nexport default (\n ast: DocumentNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n context: CacheManagerContext,\n) => {\n const definitionsToFilter = keys(fragmentSpreadChecklist).reduce(\n (namesAndPaths: { name: string; path: string }[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n\n return deleted === 0 && total === 1\n ? [...namesAndPaths, { name: key, path: fragmentSpreadChecklist[key].paths[0] as string }]\n : namesAndPaths;\n },\n [],\n );\n\n const fragmentDefinitions = getFragmentDefinitions(ast) ?? {};\n\n definitionsToFilter.forEach(({ name, path }) => {\n const fragmentDefinition = fragmentDefinitions[name];\n filterField(fragmentDefinition, fieldPathChecklist, fragmentSpreadChecklist, path, context);\n });\n\n const definitionsToDelete = keys(fragmentSpreadChecklist).reduce((names: string[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n return deleted > 0 && deleted === total ? [...names, key] : names;\n }, []);\n\n if (!definitionsToDelete.length) {\n return ast;\n }\n\n return deleteFragmentDefinitions(ast, {\n include: definitionsToDelete,\n });\n};\n"],"file":"filterFragmentDefinitions.js"}
|
|
@@ -19,7 +19,6 @@ var _default = (field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ance
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
(0, _keys2.default)(fragmentSpreadFieldCounter).forEach(key => {
|
|
22
|
-
fragmentSpreadChecklist[key].total += 1;
|
|
23
22
|
fragmentSpreadChecklist[key].paths.push(ancestorRequestFieldPath);
|
|
24
23
|
const {
|
|
25
24
|
hasData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":["field","fragmentSpreadFieldCounter","fragmentSpreadChecklist","ancestorRequestFieldPath","forEach","key","
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":["field","fragmentSpreadFieldCounter","fragmentSpreadChecklist","ancestorRequestFieldPath","forEach","key","paths","push","hasData","total","deleted"],"mappings":";;;;;;;;;;;;;AAAA;;eAMe,CACbA,KADa,EAEbC,0BAFa,EAGbC,uBAHa,EAIbC,wBAJa,KAKV;AACH,MAAI,uBAAQF,0BAAR,CAAJ,EAAyC;AACvC;AACD;;AAED,sBAAKA,0BAAL,EAAiCG,OAAjC,CAAyCC,GAAG,IAAI;AAC9CH,IAAAA,uBAAuB,CAACG,GAAD,CAAvB,CAA6BC,KAA7B,CAAmCC,IAAnC,CAAwCJ,wBAAxC;AAEA,UAAM;AAAEK,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBR,0BAA0B,CAACI,GAAD,CAArD;;AAEA,QAAIG,OAAO,KAAKC,KAAhB,EAAuB;AACrB,0CAAsBT,KAAtB,EAA6BK,GAA7B;AACAH,MAAAA,uBAAuB,CAACG,GAAD,CAAvB,CAA6BK,OAA7B,IAAwC,CAAxC;AACD;AACF,GATD;AAUD,C","sourcesContent":["import { deleteFragmentSpreads } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { isEmpty, keys } from \"lodash\";\nimport { FragmentSpreadFieldCounter } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fragmentSpreadFieldCounter: FragmentSpreadFieldCounter,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n) => {\n if (isEmpty(fragmentSpreadFieldCounter)) {\n return;\n }\n\n keys(fragmentSpreadFieldCounter).forEach(key => {\n fragmentSpreadChecklist[key].paths.push(ancestorRequestFieldPath);\n\n const { hasData, total } = fragmentSpreadFieldCounter[key];\n\n if (hasData === total) {\n deleteFragmentSpreads(field, key);\n fragmentSpreadChecklist[key].deleted += 1;\n }\n });\n};\n"],"file":"filterFragmentSpreads.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":["field","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","length","fieldNames","map","fieldNode","every","name","TYPE_NAME_KEY"],"mappings":";;;;;;;AAAA;;AACA;;eAIe,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":["field","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","length","fieldNames","map","fieldNode","every","name","TYPE_NAME_KEY"],"mappings":";;;;;;;AAAA;;AACA;;eAIe,CACbA,KADa,EAEb;AAAEC,EAAAA,mBAAF;AAAuBC,EAAAA;AAAvB,CAFa,KAGV;AACH,QAAMC,kBAAkB,GAAG,6BAAeH,KAAf,EAAsB;AAAEC,IAAAA;AAAF,GAAtB,CAA3B;;AAEA,MAAI,CAACE,kBAAD,IAAuBA,kBAAkB,CAACC,MAAnB,GAA4B,CAAvD,EAA0D;AACxD,WAAO,KAAP;AACD;;AAED,QAAMC,UAAU,GAAGF,kBAAkB,CAACG,GAAnB,CAAuB,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAmB,sBAAQA,SAAR,CAA1C,CAAnB;;AAEA,MAAIF,UAAU,CAACD,MAAX,KAAsB,CAAtB,IAA2BC,UAAU,CAACG,KAAX,CAAiBC,IAAI,IAAIA,IAAI,KAAKP,SAAT,IAAsBO,IAAI,KAAKC,mBAAxD,CAA/B,EAAuG;AACrG,oCACEV,KADF,EAEEG,kBAAkB,CAACG,GAAnB,CAAuB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAmBA,SAA1C,CAFF;AAKA,WAAO,IAAP;AACD;;AAED,MAAKF,UAAU,CAACD,MAAX,KAAsB,CAAtB,IAA2BC,UAAU,CAAC,CAAD,CAAV,KAAkBH,SAA9C,IAA4DG,UAAU,CAAC,CAAD,CAAV,KAAkBK,mBAAlF,EAAiG;AAC/F,UAAM;AAAEH,MAAAA;AAAF,QAAgBJ,kBAAkB,CAAC,CAAD,CAAxC;AACA,oCAAkBH,KAAlB,EAAyBO,SAAzB;AACA,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD,C","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { deleteChildFields, getChildFields, getName } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext } from \"../defs\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n { fragmentDefinitions, typeIDKey }: CacheManagerContext,\n) => {\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames || fieldsAndTypeNames.length > 3) {\n return false;\n }\n\n const fieldNames = fieldsAndTypeNames.map(({ fieldNode }) => getName(fieldNode) as FieldNode[\"name\"][\"value\"]);\n\n if (fieldNames.length === 2 && fieldNames.every(name => name === typeIDKey || name === TYPE_NAME_KEY)) {\n deleteChildFields(\n field,\n fieldsAndTypeNames.map(({ fieldNode }) => fieldNode),\n );\n\n return true;\n }\n\n if ((fieldNames.length === 1 && fieldNames[0] === typeIDKey) || fieldNames[0] === TYPE_NAME_KEY) {\n const { fieldNode } = fieldsAndTypeNames[0];\n deleteChildFields(field, fieldNode);\n return true;\n }\n\n return false;\n};\n"],"file":"filterIDsAndTypeNames.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterInlineFragments.ts"],"names":["field","fragmentDefinitions","typeIDKey","inlineFragments","filtered","forEach","fragment","fieldsAndTypeNames","length","fieldNode"],"mappings":";;;;;;;AAAA;;eAIe,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterInlineFragments.ts"],"names":["field","fragmentDefinitions","typeIDKey","inlineFragments","filtered","forEach","fragment","fieldsAndTypeNames","length","fieldNode"],"mappings":";;;;;;;AAAA;;eAIe,CACbA,KADa,EAEb;AAAEC,EAAAA,mBAAF;AAAuBC,EAAAA;AAAvB,CAFa,KAGV;AACH,QAAMC,eAAe,GAAG,iCAAmBH,KAAnB,CAAxB;AACA,MAAII,QAAQ,GAAG,KAAf;AAEAD,EAAAA,eAAe,CAACE,OAAhB,CAAwBC,QAAQ,IAAI;AAClC,UAAMC,kBAAkB,GAAG,6BAAeD,QAAf,EAAyB;AAAEL,MAAAA;AAAF,KAAzB,CAA3B;;AAEA,QAAI,CAACM,kBAAD,IAAuB,CAACA,kBAAkB,CAACC,MAA/C,EAAuD;AACrD,0CAAsBR,KAAtB,EAA6BM,QAA7B;AACAF,MAAAA,QAAQ,GAAG,IAAX;AACA;AACD;;AAED,QAAIG,kBAAkB,CAACC,MAAnB,KAA8B,CAAlC,EAAqC;AACnC,YAAM;AAAEC,QAAAA;AAAF,UAAgBF,kBAAkB,CAAC,CAAD,CAAxC;;AAEA,UAAI,sBAAQE,SAAR,MAAuBP,SAA3B,EAAsC;AACpC,4CAAsBF,KAAtB,EAA6BM,QAA7B;AACAF,QAAAA,QAAQ,GAAG,IAAX;AACD;AACF;AACF,GAjBD;AAmBA,SAAOA,QAAP;AACD,C","sourcesContent":["import { deleteInlineFragments, getChildFields, getInlineFragments, getName } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext } from \"..\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n { fragmentDefinitions, typeIDKey }: CacheManagerContext,\n) => {\n const inlineFragments = getInlineFragments(field);\n let filtered = false;\n\n inlineFragments.forEach(fragment => {\n const fieldsAndTypeNames = getChildFields(fragment, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames || !fieldsAndTypeNames.length) {\n deleteInlineFragments(field, fragment);\n filtered = true;\n return;\n }\n\n if (fieldsAndTypeNames.length === 1) {\n const { fieldNode } = fieldsAndTypeNames[0];\n\n if (getName(fieldNode) === typeIDKey) {\n deleteInlineFragments(field, fragment);\n filtered = true;\n }\n }\n });\n\n return filtered;\n};\n"],"file":"filterInlineFragments.js"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _helpers = require("@graphql-box/helpers");
|
|
9
|
+
|
|
10
|
+
var _default = ast => {
|
|
11
|
+
return ast.definitions.filter(definition => (0, _helpers.isKind)(definition, _helpers.OPERATION_DEFINITION) || (0, _helpers.isKind)(definition, _helpers.FRAGMENT_DEFINITION));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.default = _default;
|
|
15
|
+
//# sourceMappingURL=filterOperationAndFragmentDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterOperationAndFragmentDefinitions.ts"],"names":["ast","definitions","filter","definition","OPERATION_DEFINITION","FRAGMENT_DEFINITION"],"mappings":";;;;;;;AAAA;;eAGgBA,GAAD,IAAuB;AACpC,SAAOA,GAAG,CAACC,WAAJ,CAAgBC,MAAhB,CACLC,UAAU,IACR,qBAAgCA,UAAhC,EAA4CC,6BAA5C,KACA,qBAA+BD,UAA/B,EAA2CE,4BAA3C,CAHG,CAAP;AAKD,C","sourcesContent":["import { FRAGMENT_DEFINITION, OPERATION_DEFINITION, isKind } from \"@graphql-box/helpers\";\nimport { DocumentNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\n\nexport default (ast: DocumentNode) => {\n return ast.definitions.filter(\n definition =>\n isKind<OperationDefinitionNode>(definition, OPERATION_DEFINITION) ||\n isKind<FragmentDefinitionNode>(definition, FRAGMENT_DEFINITION),\n ) as (OperationDefinitionNode | FragmentDefinitionNode)[];\n};\n"],"file":"filterOperationAndFragmentDefinitions.js"}
|
|
@@ -17,11 +17,12 @@ var _filterField = _interopRequireDefault(require("./filterField"));
|
|
|
17
17
|
|
|
18
18
|
var _filterFragmentDefinitions = _interopRequireDefault(require("./filterFragmentDefinitions"));
|
|
19
19
|
|
|
20
|
-
var _default = ({
|
|
21
|
-
ast
|
|
22
|
-
}, {
|
|
20
|
+
var _default = (requestData, {
|
|
23
21
|
fieldPathChecklist
|
|
24
22
|
}, context) => {
|
|
23
|
+
const {
|
|
24
|
+
ast
|
|
25
|
+
} = requestData;
|
|
25
26
|
const queryNode = (0, _helpers.getOperationDefinitions)(ast, context.operation)[0];
|
|
26
27
|
const {
|
|
27
28
|
fragmentDefinitions
|
|
@@ -34,7 +35,7 @@ var _default = ({
|
|
|
34
35
|
return ast;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
const fragmentSpreadChecklist = (0, _createFragmentSpreadChecklist.default)(
|
|
38
|
+
const fragmentSpreadChecklist = (0, _createFragmentSpreadChecklist.default)(requestData);
|
|
38
39
|
|
|
39
40
|
for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {
|
|
40
41
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["requestData","fieldPathChecklist","context","ast","queryNode","operation","fragmentDefinitions","fieldsAndTypeNames","fragmentSpreadChecklist","i","length","fieldNode","requestFieldPath","queryFiltered"],"mappings":";;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;eAEe,CAACA,WAAD,EAA2B;AAAEC,EAAAA;AAAF,CAA3B,EAAuEC,OAAvE,KAAwG;AACrH,QAAM;AAAEC,IAAAA;AAAF,MAAUH,WAAhB;AACA,QAAMI,SAAS,GAAG,sCAAwBD,GAAxB,EAA6BD,OAAO,CAACG,SAArC,EAAgD,CAAhD,CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0BJ,OAAhC;AACA,QAAMK,kBAAkB,GAAG,6BAAeH,SAAf,EAA0B;AAAEE,IAAAA;AAAF,GAA1B,CAA3B;;AAEA,MAAI,CAACC,kBAAL,EAAyB;AACvB,WAAOJ,GAAP;AACD;;AAED,QAAMK,uBAAuB,GAAG,4CAA8BR,WAA9B,CAAhC;;AAEA,OAAK,IAAIS,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA;AAAF,QAAgBJ,kBAAkB,CAACE,CAAD,CAAxC;AAEA,UAAM;AAAEG,MAAAA;AAAF,QAAuB,+CAC3BD,SAD2B,EAE3B;AACEC,MAAAA,gBAAgB,EAAEV,OAAO,CAACG;AAD5B,KAF2B,EAK3BH,OAL2B,CAA7B;;AAQA,QAAI,0BAAYS,SAAZ,EAAuBV,kBAAvB,EAA2CO,uBAA3C,EAAoEI,gBAApE,EAAsFV,OAAtF,CAAJ,EAAoG;AAClG,sCAAkBE,SAAlB,EAA6BO,SAA7B;AACD;AACF;;AAEDT,EAAAA,OAAO,CAACW,aAAR,GAAwB,IAAxB;AACA,SAAO,wCAA0BV,GAA1B,EAA+BF,kBAA/B,EAAmDO,uBAAnD,EAA4EN,OAA5E,CAAP;AACD,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { deleteChildFields, getChildFields, getOperationDefinitions } from \"@graphql-box/helpers\";\nimport { CacheManagerContext, CachedResponseData } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport createFragmentSpreadChecklist from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\nimport filterFragmentDefinitions from \"./filterFragmentDefinitions\";\n\nexport default (requestData: RequestData, { fieldPathChecklist }: CachedResponseData, context: CacheManagerContext) => {\n const { ast } = requestData;\n const queryNode = getOperationDefinitions(ast, context.operation)[0];\n const { fragmentDefinitions } = context;\n const fieldsAndTypeNames = getChildFields(queryNode, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return ast;\n }\n\n const fragmentSpreadChecklist = createFragmentSpreadChecklist(requestData);\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode } = fieldsAndTypeNames[i];\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n fieldNode,\n {\n requestFieldPath: context.operation,\n },\n context,\n );\n\n if (filterField(fieldNode, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(queryNode, fieldNode);\n }\n }\n\n context.queryFiltered = true;\n return filterFragmentDefinitions(ast, fieldPathChecklist, fragmentSpreadChecklist, context);\n};\n"],"file":"filterQuery.js"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import _keys from "lodash/keys";
|
|
2
2
|
import { getFragmentDefinitions } from "@graphql-box/helpers";
|
|
3
|
-
export default (
|
|
3
|
+
export default (({
|
|
4
|
+
ast,
|
|
5
|
+
request
|
|
6
|
+
}) => {
|
|
4
7
|
var _getFragmentDefinitio;
|
|
5
8
|
|
|
6
9
|
return _keys((_getFragmentDefinitio = getFragmentDefinitions(ast)) !== null && _getFragmentDefinitio !== void 0 ? _getFragmentDefinitio : {}).reduce((acc, name) => {
|
|
7
10
|
acc[name] = {
|
|
8
11
|
deleted: 0,
|
|
9
12
|
paths: [],
|
|
10
|
-
total:
|
|
13
|
+
total: (request.match(new RegExp(`\\.\\.\\.${name}`, "g")) || []).length
|
|
11
14
|
};
|
|
12
15
|
return acc;
|
|
13
16
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["getFragmentDefinitions","ast","reduce","acc","name","deleted","paths","total"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["getFragmentDefinitions","ast","request","reduce","acc","name","deleted","paths","total","match","RegExp","length"],"mappings":";AACA,SAASA,sBAAT,QAAuC,sBAAvC;AAWA,gBAAe,CAAC;AAAEC,EAAAA,GAAF;AAAOC,EAAAA;AAAP,CAAD;AAAA;;AAAA,SACb,+BAAKF,sBAAsB,CAACC,GAAD,CAA3B,yEAAoC,EAApC,EAAwCE,MAAxC,CAA+C,CAACC,GAAD,EAA8BC,IAA9B,KAAuC;AACpFD,IAAAA,GAAG,CAACC,IAAD,CAAH,GAAY;AAAEC,MAAAA,OAAO,EAAE,CAAX;AAAcC,MAAAA,KAAK,EAAE,EAArB;AAAyBC,MAAAA,KAAK,EAAE,CAACN,OAAO,CAACO,KAAR,CAAc,IAAIC,MAAJ,CAAY,YAAWL,IAAK,EAA5B,EAA+B,GAA/B,CAAd,KAAsD,EAAvD,EAA2DM;AAA3F,KAAZ;AACA,WAAOP,GAAP;AACD,GAHD,EAGG,EAHH,CADa;AAAA,CAAf","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { keys } from \"lodash\";\n\nexport type FragmentSpreadCheckist = {\n [key: string]: {\n deleted: number;\n paths: string[];\n total: number;\n };\n};\n\nexport default ({ ast, request }: RequestData) =>\n keys(getFragmentDefinitions(ast) ?? {}).reduce((acc: FragmentSpreadCheckist, name) => {\n acc[name] = { deleted: 0, paths: [], total: (request.match(new RegExp(`\\\\.\\\\.\\\\.${name}`, \"g\")) || []).length };\n return acc;\n }, {});\n"],"file":"createFragmentSpreadChecklist.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["TYPE_NAME_KEY","FRAGMENT_SPREAD","deleteChildFields","getChildFields","getName","hasChildFields","buildFieldKeysAndPaths","checkFieldPathChecklist","filterFragmentSpreads","filterIDsAndTypeNames","filterInlineFragments","filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","hasData","total","childFieldName","requestFieldPath","typeUnused","get"],"mappings":"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","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { FRAGMENT_SPREAD, deleteChildFields, getChildFields, getName, hasChildFields } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["TYPE_NAME_KEY","FRAGMENT_SPREAD","deleteChildFields","getChildFields","getName","hasChildFields","buildFieldKeysAndPaths","checkFieldPathChecklist","filterFragmentSpreads","filterIDsAndTypeNames","filterInlineFragments","filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","hasData","total","childFieldName","requestFieldPath","typeUnused","get"],"mappings":"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","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { FRAGMENT_SPREAD, deleteChildFields, getChildFields, getName, hasChildFields } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
|
|
@@ -32,6 +32,10 @@ export default ((ast, fieldPathChecklist, fragmentSpreadChecklist, context) => {
|
|
|
32
32
|
return deleted > 0 && deleted === total ? [...names, key] : names;
|
|
33
33
|
}, []);
|
|
34
34
|
|
|
35
|
+
if (!definitionsToDelete.length) {
|
|
36
|
+
return ast;
|
|
37
|
+
}
|
|
38
|
+
|
|
35
39
|
return deleteFragmentDefinitions(ast, {
|
|
36
40
|
include: definitionsToDelete
|
|
37
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["deleteFragmentDefinitions","getFragmentDefinitions","filterField","ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","include"],"mappings":";AAAA,SAASA,yBAAT,EAAoCC,sBAApC,QAAkE,sBAAlE;AAKA,OAAOC,WAAP,MAAwB,eAAxB;AAEA,gBAAe,CACbC,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AAAA;;AACH,QAAMC,mBAAmB,GAAG,MAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;;AAWA,QAAMO,mBAAmB,4BAAGf,sBAAsB,CAACE,GAAD,CAAzB,yEAAkC,EAA3D;AAEAI,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACAX,IAAAA,WAAW,CAACgB,kBAAD,EAAqBd,kBAArB,EAAyCC,uBAAzC,EAAkES,IAAlE,EAAwER,OAAxE,CAAX;AACD,GAHD;;AAKA,QAAMa,mBAAmB,GAAG,MAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B;;AAKA,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["deleteFragmentDefinitions","getFragmentDefinitions","filterField","ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","length","include"],"mappings":";AAAA,SAASA,yBAAT,EAAoCC,sBAApC,QAAkE,sBAAlE;AAKA,OAAOC,WAAP,MAAwB,eAAxB;AAEA,gBAAe,CACbC,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AAAA;;AACH,QAAMC,mBAAmB,GAAG,MAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;;AAWA,QAAMO,mBAAmB,4BAAGf,sBAAsB,CAACE,GAAD,CAAzB,yEAAkC,EAA3D;AAEAI,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACAX,IAAAA,WAAW,CAACgB,kBAAD,EAAqBd,kBAArB,EAAyCC,uBAAzC,EAAkES,IAAlE,EAAwER,OAAxE,CAAX;AACD,GAHD;;AAKA,QAAMa,mBAAmB,GAAG,MAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B;;AAKA,MAAI,CAACD,mBAAmB,CAACE,MAAzB,EAAiC;AAC/B,WAAOlB,GAAP;AACD;;AAED,SAAOH,yBAAyB,CAACG,GAAD,EAAM;AACpCmB,IAAAA,OAAO,EAAEH;AAD2B,GAAN,CAAhC;AAGD,CApCD","sourcesContent":["import { deleteFragmentDefinitions, getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { DocumentNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext, FieldPathChecklist } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\n\nexport default (\n ast: DocumentNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n context: CacheManagerContext,\n) => {\n const definitionsToFilter = keys(fragmentSpreadChecklist).reduce(\n (namesAndPaths: { name: string; path: string }[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n\n return deleted === 0 && total === 1\n ? [...namesAndPaths, { name: key, path: fragmentSpreadChecklist[key].paths[0] as string }]\n : namesAndPaths;\n },\n [],\n );\n\n const fragmentDefinitions = getFragmentDefinitions(ast) ?? {};\n\n definitionsToFilter.forEach(({ name, path }) => {\n const fragmentDefinition = fragmentDefinitions[name];\n filterField(fragmentDefinition, fieldPathChecklist, fragmentSpreadChecklist, path, context);\n });\n\n const definitionsToDelete = keys(fragmentSpreadChecklist).reduce((names: string[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n return deleted > 0 && deleted === total ? [...names, key] : names;\n }, []);\n\n if (!definitionsToDelete.length) {\n return ast;\n }\n\n return deleteFragmentDefinitions(ast, {\n include: definitionsToDelete,\n });\n};\n"],"file":"filterFragmentDefinitions.js"}
|
|
@@ -7,7 +7,6 @@ export default ((field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, anc
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
_keys(fragmentSpreadFieldCounter).forEach(key => {
|
|
10
|
-
fragmentSpreadChecklist[key].total += 1;
|
|
11
10
|
fragmentSpreadChecklist[key].paths.push(ancestorRequestFieldPath);
|
|
12
11
|
const {
|
|
13
12
|
hasData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":["deleteFragmentSpreads","field","fragmentSpreadFieldCounter","fragmentSpreadChecklist","ancestorRequestFieldPath","forEach","key","
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":["deleteFragmentSpreads","field","fragmentSpreadFieldCounter","fragmentSpreadChecklist","ancestorRequestFieldPath","forEach","key","paths","push","hasData","total","deleted"],"mappings":";;AAAA,SAASA,qBAAT,QAAsC,sBAAtC;AAMA,gBAAe,CACbC,KADa,EAEbC,0BAFa,EAGbC,uBAHa,EAIbC,wBAJa,KAKV;AACH,MAAI,SAAQF,0BAAR,CAAJ,EAAyC;AACvC;AACD;;AAED,QAAKA,0BAAL,EAAiCG,OAAjC,CAAyCC,GAAG,IAAI;AAC9CH,IAAAA,uBAAuB,CAACG,GAAD,CAAvB,CAA6BC,KAA7B,CAAmCC,IAAnC,CAAwCJ,wBAAxC;AAEA,UAAM;AAAEK,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBR,0BAA0B,CAACI,GAAD,CAArD;;AAEA,QAAIG,OAAO,KAAKC,KAAhB,EAAuB;AACrBV,MAAAA,qBAAqB,CAACC,KAAD,EAAQK,GAAR,CAArB;AACAH,MAAAA,uBAAuB,CAACG,GAAD,CAAvB,CAA6BK,OAA7B,IAAwC,CAAxC;AACD;AACF,GATD;AAUD,CApBD","sourcesContent":["import { deleteFragmentSpreads } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { isEmpty, keys } from \"lodash\";\nimport { FragmentSpreadFieldCounter } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fragmentSpreadFieldCounter: FragmentSpreadFieldCounter,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n) => {\n if (isEmpty(fragmentSpreadFieldCounter)) {\n return;\n }\n\n keys(fragmentSpreadFieldCounter).forEach(key => {\n fragmentSpreadChecklist[key].paths.push(ancestorRequestFieldPath);\n\n const { hasData, total } = fragmentSpreadFieldCounter[key];\n\n if (hasData === total) {\n deleteFragmentSpreads(field, key);\n fragmentSpreadChecklist[key].deleted += 1;\n }\n });\n};\n"],"file":"filterFragmentSpreads.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":["TYPE_NAME_KEY","deleteChildFields","getChildFields","getName","field","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","length","fieldNames","map","fieldNode","every","name"],"mappings":"AAAA,SAASA,aAAT,QAA8B,mBAA9B;AACA,SAASC,iBAAT,EAA4BC,cAA5B,EAA4CC,OAA5C,QAA2D,sBAA3D;AAIA,gBAAe,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":["TYPE_NAME_KEY","deleteChildFields","getChildFields","getName","field","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","length","fieldNames","map","fieldNode","every","name"],"mappings":"AAAA,SAASA,aAAT,QAA8B,mBAA9B;AACA,SAASC,iBAAT,EAA4BC,cAA5B,EAA4CC,OAA5C,QAA2D,sBAA3D;AAIA,gBAAe,CACbC,KADa,EAEb;AAAEC,EAAAA,mBAAF;AAAuBC,EAAAA;AAAvB,CAFa,KAGV;AACH,QAAMC,kBAAkB,GAAGL,cAAc,CAACE,KAAD,EAAQ;AAAEC,IAAAA;AAAF,GAAR,CAAzC;;AAEA,MAAI,CAACE,kBAAD,IAAuBA,kBAAkB,CAACC,MAAnB,GAA4B,CAAvD,EAA0D;AACxD,WAAO,KAAP;AACD;;AAED,QAAMC,UAAU,GAAGF,kBAAkB,CAACG,GAAnB,CAAuB,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAmBR,OAAO,CAACQ,SAAD,CAAjD,CAAnB;;AAEA,MAAIF,UAAU,CAACD,MAAX,KAAsB,CAAtB,IAA2BC,UAAU,CAACG,KAAX,CAAiBC,IAAI,IAAIA,IAAI,KAAKP,SAAT,IAAsBO,IAAI,KAAKb,aAAxD,CAA/B,EAAuG;AACrGC,IAAAA,iBAAiB,CACfG,KADe,EAEfG,kBAAkB,CAACG,GAAnB,CAAuB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAmBA,SAA1C,CAFe,CAAjB;AAKA,WAAO,IAAP;AACD;;AAED,MAAKF,UAAU,CAACD,MAAX,KAAsB,CAAtB,IAA2BC,UAAU,CAAC,CAAD,CAAV,KAAkBH,SAA9C,IAA4DG,UAAU,CAAC,CAAD,CAAV,KAAkBT,aAAlF,EAAiG;AAC/F,UAAM;AAAEW,MAAAA;AAAF,QAAgBJ,kBAAkB,CAAC,CAAD,CAAxC;AACAN,IAAAA,iBAAiB,CAACG,KAAD,EAAQO,SAAR,CAAjB;AACA,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD,CA5BD","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { deleteChildFields, getChildFields, getName } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext } from \"../defs\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n { fragmentDefinitions, typeIDKey }: CacheManagerContext,\n) => {\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames || fieldsAndTypeNames.length > 3) {\n return false;\n }\n\n const fieldNames = fieldsAndTypeNames.map(({ fieldNode }) => getName(fieldNode) as FieldNode[\"name\"][\"value\"]);\n\n if (fieldNames.length === 2 && fieldNames.every(name => name === typeIDKey || name === TYPE_NAME_KEY)) {\n deleteChildFields(\n field,\n fieldsAndTypeNames.map(({ fieldNode }) => fieldNode),\n );\n\n return true;\n }\n\n if ((fieldNames.length === 1 && fieldNames[0] === typeIDKey) || fieldNames[0] === TYPE_NAME_KEY) {\n const { fieldNode } = fieldsAndTypeNames[0];\n deleteChildFields(field, fieldNode);\n return true;\n }\n\n return false;\n};\n"],"file":"filterIDsAndTypeNames.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterInlineFragments.ts"],"names":["deleteInlineFragments","getChildFields","getInlineFragments","getName","field","fragmentDefinitions","typeIDKey","inlineFragments","filtered","forEach","fragment","fieldsAndTypeNames","length","fieldNode"],"mappings":"AAAA,SAASA,qBAAT,EAAgCC,cAAhC,EAAgDC,kBAAhD,EAAoEC,OAApE,QAAmF,sBAAnF;AAIA,gBAAe,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterInlineFragments.ts"],"names":["deleteInlineFragments","getChildFields","getInlineFragments","getName","field","fragmentDefinitions","typeIDKey","inlineFragments","filtered","forEach","fragment","fieldsAndTypeNames","length","fieldNode"],"mappings":"AAAA,SAASA,qBAAT,EAAgCC,cAAhC,EAAgDC,kBAAhD,EAAoEC,OAApE,QAAmF,sBAAnF;AAIA,gBAAe,CACbC,KADa,EAEb;AAAEC,EAAAA,mBAAF;AAAuBC,EAAAA;AAAvB,CAFa,KAGV;AACH,QAAMC,eAAe,GAAGL,kBAAkB,CAACE,KAAD,CAA1C;AACA,MAAII,QAAQ,GAAG,KAAf;AAEAD,EAAAA,eAAe,CAACE,OAAhB,CAAwBC,QAAQ,IAAI;AAClC,UAAMC,kBAAkB,GAAGV,cAAc,CAACS,QAAD,EAAW;AAAEL,MAAAA;AAAF,KAAX,CAAzC;;AAEA,QAAI,CAACM,kBAAD,IAAuB,CAACA,kBAAkB,CAACC,MAA/C,EAAuD;AACrDZ,MAAAA,qBAAqB,CAACI,KAAD,EAAQM,QAAR,CAArB;AACAF,MAAAA,QAAQ,GAAG,IAAX;AACA;AACD;;AAED,QAAIG,kBAAkB,CAACC,MAAnB,KAA8B,CAAlC,EAAqC;AACnC,YAAM;AAAEC,QAAAA;AAAF,UAAgBF,kBAAkB,CAAC,CAAD,CAAxC;;AAEA,UAAIR,OAAO,CAACU,SAAD,CAAP,KAAuBP,SAA3B,EAAsC;AACpCN,QAAAA,qBAAqB,CAACI,KAAD,EAAQM,QAAR,CAArB;AACAF,QAAAA,QAAQ,GAAG,IAAX;AACD;AACF;AACF,GAjBD;AAmBA,SAAOA,QAAP;AACD,CA3BD","sourcesContent":["import { deleteInlineFragments, getChildFields, getInlineFragments, getName } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext } from \"..\";\n\nexport default (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n { fragmentDefinitions, typeIDKey }: CacheManagerContext,\n) => {\n const inlineFragments = getInlineFragments(field);\n let filtered = false;\n\n inlineFragments.forEach(fragment => {\n const fieldsAndTypeNames = getChildFields(fragment, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames || !fieldsAndTypeNames.length) {\n deleteInlineFragments(field, fragment);\n filtered = true;\n return;\n }\n\n if (fieldsAndTypeNames.length === 1) {\n const { fieldNode } = fieldsAndTypeNames[0];\n\n if (getName(fieldNode) === typeIDKey) {\n deleteInlineFragments(field, fragment);\n filtered = true;\n }\n }\n });\n\n return filtered;\n};\n"],"file":"filterInlineFragments.js"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FRAGMENT_DEFINITION, OPERATION_DEFINITION, isKind } from "@graphql-box/helpers";
|
|
2
|
+
export default (ast => {
|
|
3
|
+
return ast.definitions.filter(definition => isKind(definition, OPERATION_DEFINITION) || isKind(definition, FRAGMENT_DEFINITION));
|
|
4
|
+
});
|
|
5
|
+
//# sourceMappingURL=filterOperationAndFragmentDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterOperationAndFragmentDefinitions.ts"],"names":["FRAGMENT_DEFINITION","OPERATION_DEFINITION","isKind","ast","definitions","filter","definition"],"mappings":"AAAA,SAASA,mBAAT,EAA8BC,oBAA9B,EAAoDC,MAApD,QAAkE,sBAAlE;AAGA,gBAAgBC,GAAD,IAAuB;AACpC,SAAOA,GAAG,CAACC,WAAJ,CAAgBC,MAAhB,CACLC,UAAU,IACRJ,MAAM,CAA0BI,UAA1B,EAAsCL,oBAAtC,CAAN,IACAC,MAAM,CAAyBI,UAAzB,EAAqCN,mBAArC,CAHH,CAAP;AAKD,CAND","sourcesContent":["import { FRAGMENT_DEFINITION, OPERATION_DEFINITION, isKind } from \"@graphql-box/helpers\";\nimport { DocumentNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\n\nexport default (ast: DocumentNode) => {\n return ast.definitions.filter(\n definition =>\n isKind<OperationDefinitionNode>(definition, OPERATION_DEFINITION) ||\n isKind<FragmentDefinitionNode>(definition, FRAGMENT_DEFINITION),\n ) as (OperationDefinitionNode | FragmentDefinitionNode)[];\n};\n"],"file":"filterOperationAndFragmentDefinitions.js"}
|
|
@@ -3,11 +3,12 @@ import { buildFieldKeysAndPaths } from "./buildKeysAndPaths";
|
|
|
3
3
|
import createFragmentSpreadChecklist from "./createFragmentSpreadChecklist";
|
|
4
4
|
import filterField from "./filterField";
|
|
5
5
|
import filterFragmentDefinitions from "./filterFragmentDefinitions";
|
|
6
|
-
export default (({
|
|
7
|
-
ast
|
|
8
|
-
}, {
|
|
6
|
+
export default ((requestData, {
|
|
9
7
|
fieldPathChecklist
|
|
10
8
|
}, context) => {
|
|
9
|
+
const {
|
|
10
|
+
ast
|
|
11
|
+
} = requestData;
|
|
11
12
|
const queryNode = getOperationDefinitions(ast, context.operation)[0];
|
|
12
13
|
const {
|
|
13
14
|
fragmentDefinitions
|
|
@@ -20,7 +21,7 @@ export default (({
|
|
|
20
21
|
return ast;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
const fragmentSpreadChecklist = createFragmentSpreadChecklist(
|
|
24
|
+
const fragmentSpreadChecklist = createFragmentSpreadChecklist(requestData);
|
|
24
25
|
|
|
25
26
|
for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {
|
|
26
27
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["deleteChildFields","getChildFields","getOperationDefinitions","buildFieldKeysAndPaths","createFragmentSpreadChecklist","filterField","filterFragmentDefinitions","
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["deleteChildFields","getChildFields","getOperationDefinitions","buildFieldKeysAndPaths","createFragmentSpreadChecklist","filterField","filterFragmentDefinitions","requestData","fieldPathChecklist","context","ast","queryNode","operation","fragmentDefinitions","fieldsAndTypeNames","fragmentSpreadChecklist","i","length","fieldNode","requestFieldPath","queryFiltered"],"mappings":"AACA,SAASA,iBAAT,EAA4BC,cAA5B,EAA4CC,uBAA5C,QAA2E,sBAA3E;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;AACA,OAAOC,6BAAP,MAA0C,iCAA1C;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AAEA,gBAAe,CAACC,WAAD,EAA2B;AAAEC,EAAAA;AAAF,CAA3B,EAAuEC,OAAvE,KAAwG;AACrH,QAAM;AAAEC,IAAAA;AAAF,MAAUH,WAAhB;AACA,QAAMI,SAAS,GAAGT,uBAAuB,CAACQ,GAAD,EAAMD,OAAO,CAACG,SAAd,CAAvB,CAAgD,CAAhD,CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0BJ,OAAhC;AACA,QAAMK,kBAAkB,GAAGb,cAAc,CAACU,SAAD,EAAY;AAAEE,IAAAA;AAAF,GAAZ,CAAzC;;AAEA,MAAI,CAACC,kBAAL,EAAyB;AACvB,WAAOJ,GAAP;AACD;;AAED,QAAMK,uBAAuB,GAAGX,6BAA6B,CAACG,WAAD,CAA7D;;AAEA,OAAK,IAAIS,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA;AAAF,QAAgBJ,kBAAkB,CAACE,CAAD,CAAxC;AAEA,UAAM;AAAEG,MAAAA;AAAF,QAAuBhB,sBAAsB,CACjDe,SADiD,EAEjD;AACEC,MAAAA,gBAAgB,EAAEV,OAAO,CAACG;AAD5B,KAFiD,EAKjDH,OALiD,CAAnD;;AAQA,QAAIJ,WAAW,CAACa,SAAD,EAAYV,kBAAZ,EAAgCO,uBAAhC,EAAyDI,gBAAzD,EAA2EV,OAA3E,CAAf,EAAoG;AAClGT,MAAAA,iBAAiB,CAACW,SAAD,EAAYO,SAAZ,CAAjB;AACD;AACF;;AAEDT,EAAAA,OAAO,CAACW,aAAR,GAAwB,IAAxB;AACA,SAAOd,yBAAyB,CAACI,GAAD,EAAMF,kBAAN,EAA0BO,uBAA1B,EAAmDN,OAAnD,CAAhC;AACD,CA9BD","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { deleteChildFields, getChildFields, getOperationDefinitions } from \"@graphql-box/helpers\";\nimport { CacheManagerContext, CachedResponseData } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport createFragmentSpreadChecklist from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\nimport filterFragmentDefinitions from \"./filterFragmentDefinitions\";\n\nexport default (requestData: RequestData, { fieldPathChecklist }: CachedResponseData, context: CacheManagerContext) => {\n const { ast } = requestData;\n const queryNode = getOperationDefinitions(ast, context.operation)[0];\n const { fragmentDefinitions } = context;\n const fieldsAndTypeNames = getChildFields(queryNode, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return ast;\n }\n\n const fragmentSpreadChecklist = createFragmentSpreadChecklist(requestData);\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode } = fieldsAndTypeNames[i];\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n fieldNode,\n {\n requestFieldPath: context.operation,\n },\n context,\n );\n\n if (filterField(fieldNode, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(queryNode, fieldNode);\n }\n }\n\n context.queryFiltered = true;\n return filterFragmentDefinitions(ast, fieldPathChecklist, fragmentSpreadChecklist, context);\n};\n"],"file":"filterQuery.js"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import Cachemap, { CacheHeaders
|
|
1
|
+
import Cachemap, { CacheHeaders } from "@cachemap/core";
|
|
2
|
+
import { Metadata } from "@cachemap/types";
|
|
2
3
|
import { CacheMetadata, CacheTypes, DehydratedCacheMetadata, FieldTypeInfo, PlainObjectMap, PlainObjectStringMap, RawResponseDataWithMaybeCacheMetadata, RequestContext, RequestData, RequestOptions, ResponseData } from "@graphql-box/core";
|
|
3
4
|
import { FragmentDefinitionNodeMap } from "@graphql-box/helpers";
|
|
4
5
|
import Cacheability from "cacheability";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defs/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RequestData } from "@graphql-box/core";
|
|
2
2
|
export declare type FragmentSpreadCheckist = {
|
|
3
3
|
[key: string]: {
|
|
4
4
|
deleted: number;
|
|
@@ -6,6 +6,6 @@ export declare type FragmentSpreadCheckist = {
|
|
|
6
6
|
total: number;
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
|
-
declare const _default: (ast:
|
|
9
|
+
declare const _default: ({ ast, request }: RequestData) => FragmentSpreadCheckist;
|
|
10
10
|
export default _default;
|
|
11
11
|
//# sourceMappingURL=createFragmentSpreadChecklist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFragmentSpreadChecklist.d.ts","sourceRoot":"","sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createFragmentSpreadChecklist.d.ts","sourceRoot":"","sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,oBAAY,sBAAsB,GAAG;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;2CAEgC,WAAW;AAA7C,wBAIS"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FieldNode, FragmentDefinitionNode } from "graphql";
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
|
|
2
2
|
import { CacheManagerContext, FieldPathChecklist } from "../defs";
|
|
3
3
|
import { FragmentSpreadCheckist } from "./createFragmentSpreadChecklist";
|
|
4
|
-
declare const filterField: (field: FieldNode | FragmentDefinitionNode, fieldPathChecklist: FieldPathChecklist, fragmentSpreadChecklist: FragmentSpreadCheckist, ancestorRequestFieldPath: string, context: CacheManagerContext) => boolean;
|
|
4
|
+
declare const filterField: (field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode, fieldPathChecklist: FieldPathChecklist, fragmentSpreadChecklist: FragmentSpreadCheckist, ancestorRequestFieldPath: string, context: CacheManagerContext) => boolean;
|
|
5
5
|
export default filterField;
|
|
6
6
|
//# sourceMappingURL=filterField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterField.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"filterField.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAA8B,MAAM,SAAS,CAAC;AAG9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAKzE,QAAA,MAAM,WAAW,UACR,SAAS,GAAG,sBAAsB,GAAG,uBAAuB,mEAE1C,sBAAsB,4BACrB,MAAM,WACvB,mBAAmB,KAC3B,OAqDF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { DocumentNode } from "graphql";
|
|
2
2
|
import { CacheManagerContext, FieldPathChecklist } from "../defs";
|
|
3
3
|
import { FragmentSpreadCheckist } from "./createFragmentSpreadChecklist";
|
|
4
|
-
declare const _default: (ast: DocumentNode, fieldPathChecklist: FieldPathChecklist, fragmentSpreadChecklist: FragmentSpreadCheckist, context: CacheManagerContext) =>
|
|
5
|
-
definitions: import("graphql").DefinitionNode[];
|
|
6
|
-
kind: import("graphql").Kind.DOCUMENT;
|
|
7
|
-
loc?: import("graphql").Location | undefined;
|
|
8
|
-
};
|
|
4
|
+
declare const _default: (ast: DocumentNode, fieldPathChecklist: FieldPathChecklist, fragmentSpreadChecklist: FragmentSpreadCheckist, context: CacheManagerContext) => DocumentNode;
|
|
9
5
|
export default _default;
|
|
10
6
|
//# sourceMappingURL=filterFragmentDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFragmentDefinitions.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;8BAIlE,YAAY,mEAEQ,sBAAsB,WACtC,mBAAmB
|
|
1
|
+
{"version":3,"file":"filterFragmentDefinitions.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;8BAIlE,YAAY,mEAEQ,sBAAsB,WACtC,mBAAmB;AAJ9B,wBAoCE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FieldNode, FragmentDefinitionNode } from "graphql";
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
|
|
2
2
|
import { FragmentSpreadFieldCounter } from "../defs";
|
|
3
3
|
import { FragmentSpreadCheckist } from "./createFragmentSpreadChecklist";
|
|
4
|
-
declare const _default: (field: FieldNode | FragmentDefinitionNode, fragmentSpreadFieldCounter: FragmentSpreadFieldCounter, fragmentSpreadChecklist: FragmentSpreadCheckist, ancestorRequestFieldPath: string) => void;
|
|
4
|
+
declare const _default: (field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode, fragmentSpreadFieldCounter: FragmentSpreadFieldCounter, fragmentSpreadChecklist: FragmentSpreadCheckist, ancestorRequestFieldPath: string) => void;
|
|
5
5
|
export default _default;
|
|
6
6
|
//# sourceMappingURL=filterFragmentSpreads.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFragmentSpreads.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"filterFragmentSpreads.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterFragmentSpreads.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAErF,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;gCAGhE,SAAS,GAAG,sBAAsB,GAAG,uBAAuB,8BACvC,0BAA0B,2BAC7B,sBAAsB,4BACrB,MAAM;AAJlC,wBAoBE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FieldNode, FragmentDefinitionNode } from "graphql";
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
|
|
2
2
|
import { CacheManagerContext } from "../defs";
|
|
3
|
-
declare const _default: (field: FieldNode | FragmentDefinitionNode, { fragmentDefinitions, typeIDKey }: CacheManagerContext) => boolean;
|
|
3
|
+
declare const _default: (field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode, { fragmentDefinitions, typeIDKey }: CacheManagerContext) => boolean;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=filterIDsAndTypeNames.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterIDsAndTypeNames.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"filterIDsAndTypeNames.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterIDsAndTypeNames.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;gCAGrC,SAAS,GAAG,sBAAsB,GAAG,uBAAuB,sCAC/B,mBAAmB;AAFzD,wBA4BE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FieldNode, FragmentDefinitionNode } from "graphql";
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
|
|
2
2
|
import { CacheManagerContext } from "..";
|
|
3
|
-
declare const _default: (field: FieldNode | FragmentDefinitionNode, { fragmentDefinitions, typeIDKey }: CacheManagerContext) => boolean;
|
|
3
|
+
declare const _default: (field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode, { fragmentDefinitions, typeIDKey }: CacheManagerContext) => boolean;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=filterInlineFragments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterInlineFragments.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterInlineFragments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"filterInlineFragments.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterInlineFragments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;gCAGhC,SAAS,GAAG,sBAAsB,GAAG,uBAAuB,sCAC/B,mBAAmB;AAFzD,wBA2BE"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DocumentNode, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
|
|
2
|
+
declare const _default: (ast: DocumentNode) => (OperationDefinitionNode | FragmentDefinitionNode)[];
|
|
3
|
+
export default _default;
|
|
4
|
+
//# sourceMappingURL=filterOperationAndFragmentDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterOperationAndFragmentDefinitions.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterOperationAndFragmentDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;8BAEnE,YAAY;AAAjC,wBAME"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestData } from "@graphql-box/core";
|
|
2
2
|
import { CacheManagerContext, CachedResponseData } from "../defs";
|
|
3
|
-
declare const _default: (
|
|
3
|
+
declare const _default: (requestData: RequestData, { fieldPathChecklist }: CachedResponseData, context: CacheManagerContext) => import("graphql").DocumentNode;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=filterQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterQuery.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"filterQuery.d.ts","sourceRoot":"","sources":["../../../src/helpers/filterQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;sCAMrC,WAAW,0BAA0B,kBAAkB,WAAW,mBAAmB;AAAlH,wBA8BE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-box/cache-manager",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "The GraphQL Box cache manager module.",
|
|
5
5
|
"author": "Dylan Aubrey <dylanaubrey@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@babel/runtime": "< 8",
|
|
43
|
-
"@graphql-box/core": "<
|
|
44
|
-
"@graphql-box/helpers": "<
|
|
43
|
+
"@graphql-box/core": "< 4",
|
|
44
|
+
"@graphql-box/helpers": "< 4",
|
|
45
45
|
"core-js": "< 4",
|
|
46
46
|
"graphql": "< 17",
|
|
47
47
|
"lodash": "< 5"
|