Initialisation

Added the packages and files for the backend server
This commit is contained in:
jackbeeby
2024-12-15 17:48:45 +11:00
parent 25066e1ee8
commit b412dfe2ca
2732 changed files with 330572 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
import { type DocumentNode, type GraphQLSchema } from "graphql";
import { ReferencedFieldsForType } from "@apollo/usage-reporting-protobuf";
export interface OperationDerivedData {
signature: string;
referencedFieldsByType: ReferencedFieldsByType;
}
export type ReferencedFieldsByType = Record<string, ReferencedFieldsForType>;
export declare function calculateReferencedFieldsByType({ document, schema, resolvedOperationName, }: {
document: DocumentNode;
resolvedOperationName: string | null;
schema: GraphQLSchema;
}): ReferencedFieldsByType;
//# sourceMappingURL=calculateReferencedFieldsByType.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"calculateReferencedFieldsByType.d.ts","sourceRoot":"","sources":["../src/calculateReferencedFieldsByType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAMnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,sBAAsB,CAAC;CAChD;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAE7E,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,MAAM,EACN,qBAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC;CACvB,GAAG,sBAAsB,CA8DzB"}

View File

@@ -0,0 +1,42 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateReferencedFieldsByType = void 0;
const graphql_1 = require("graphql");
const usage_reporting_protobuf_1 = require("@apollo/usage-reporting-protobuf");
function calculateReferencedFieldsByType({ document, schema, resolvedOperationName, }) {
const documentSeparatedByOperation = (0, graphql_1.separateOperations)(document);
const filteredDocument = documentSeparatedByOperation[resolvedOperationName !== null && resolvedOperationName !== void 0 ? resolvedOperationName : ""];
if (!filteredDocument) {
throw Error(`shouldn't happen: operation '${resolvedOperationName !== null && resolvedOperationName !== void 0 ? resolvedOperationName : ""}' not found`);
}
const typeInfo = new graphql_1.TypeInfo(schema);
const interfaces = new Set();
const referencedFieldSetByType = Object.create(null);
(0, graphql_1.visit)(filteredDocument, (0, graphql_1.visitWithTypeInfo)(typeInfo, {
Field(field) {
const fieldName = field.name.value;
const parentType = typeInfo.getParentType();
if (!parentType) {
throw Error(`shouldn't happen: missing parent type for field ${fieldName}`);
}
const parentTypeName = parentType.name;
if (!referencedFieldSetByType[parentTypeName]) {
referencedFieldSetByType[parentTypeName] = new Set();
if ((0, graphql_1.isInterfaceType)(parentType)) {
interfaces.add(parentTypeName);
}
}
referencedFieldSetByType[parentTypeName].add(fieldName);
},
}));
const referencedFieldsByType = Object.create(null);
for (const [typeName, fieldNames] of Object.entries(referencedFieldSetByType)) {
referencedFieldsByType[typeName] = new usage_reporting_protobuf_1.ReferencedFieldsForType({
fieldNames: [...fieldNames],
isInterface: interfaces.has(typeName),
});
}
return referencedFieldsByType;
}
exports.calculateReferencedFieldsByType = calculateReferencedFieldsByType;
//# sourceMappingURL=calculateReferencedFieldsByType.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"calculateReferencedFieldsByType.js","sourceRoot":"","sources":["../src/calculateReferencedFieldsByType.ts"],"names":[],"mappings":";;;AAAA,qCAQiB;AACjB,+EAA2E;AAS3E,SAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,MAAM,EACN,qBAAqB,GAKtB;IASC,MAAM,4BAA4B,GAAG,IAAA,4BAAkB,EAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,gBAAgB,GACpB,4BAA4B,CAAC,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,gBAAgB,EAAE;QAGrB,MAAM,KAAK,CACT,gCAAgC,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,aAAa,CACzE,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,wBAAwB,GAAgC,MAAM,CAAC,MAAM,CACzE,IAAI,CACL,CAAC;IACF,IAAA,eAAK,EACH,gBAAgB,EAChB,IAAA,2BAAiB,EAAC,QAAQ,EAAE;QAC1B,KAAK,CAAC,KAAK;YACT,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,KAAK,CACT,mDAAmD,SAAS,EAAE,CAC/D,CAAC;aACH;YACD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE;gBAC7C,wBAAwB,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC7D,IAAI,IAAA,yBAAe,EAAC,UAAU,CAAC,EAAE;oBAC/B,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;iBAChC;aACF;YAGD,wBAAwB,CAAC,cAAc,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC,CACH,CAAC;IAKF,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,wBAAwB,CACzB,EAAE;QACD,sBAAsB,CAAC,QAAQ,CAAC,GAAG,IAAI,kDAAuB,CAAC;YAC7D,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;YAC3B,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;KACJ;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAtED,0EAsEC"}

View File

@@ -0,0 +1,4 @@
export { calculateReferencedFieldsByType } from "./calculateReferencedFieldsByType";
export type { OperationDerivedData, ReferencedFieldsByType, } from "./calculateReferencedFieldsByType";
export { usageReportingSignature } from "./signature";
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}

View File

@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.usageReportingSignature = exports.calculateReferencedFieldsByType = void 0;
var calculateReferencedFieldsByType_1 = require("./calculateReferencedFieldsByType");
Object.defineProperty(exports, "calculateReferencedFieldsByType", { enumerable: true, get: function () { return calculateReferencedFieldsByType_1.calculateReferencedFieldsByType; } });
var signature_1 = require("./signature");
Object.defineProperty(exports, "usageReportingSignature", { enumerable: true, get: function () { return signature_1.usageReportingSignature; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qFAAoF;AAA3E,kJAAA,+BAA+B,OAAA;AAKxC,yCAAsD;AAA7C,oHAAA,uBAAuB,OAAA"}

View File

@@ -0,0 +1,3 @@
import type { DocumentNode } from "graphql";
export declare function usageReportingSignature(ast: DocumentNode, operationName: string): string;
//# sourceMappingURL=signature.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,YAAY,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,CAUR"}

View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.usageReportingSignature = void 0;
const utils_dropunuseddefinitions_1 = require("@apollo/utils.dropunuseddefinitions");
const utils_stripsensitiveliterals_1 = require("@apollo/utils.stripsensitiveliterals");
const utils_printwithreducedwhitespace_1 = require("@apollo/utils.printwithreducedwhitespace");
const utils_removealiases_1 = require("@apollo/utils.removealiases");
const utils_sortast_1 = require("@apollo/utils.sortast");
function usageReportingSignature(ast, operationName) {
return (0, utils_printwithreducedwhitespace_1.printWithReducedWhitespace)((0, utils_sortast_1.sortAST)((0, utils_removealiases_1.removeAliases)((0, utils_stripsensitiveliterals_1.stripSensitiveLiterals)((0, utils_dropunuseddefinitions_1.dropUnusedDefinitions)(ast, operationName), {
hideListAndObjectLiterals: true,
}))));
}
exports.usageReportingSignature = usageReportingSignature;
//# sourceMappingURL=signature.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":";;;AAqBA,qFAA4E;AAC5E,uFAA8E;AAC9E,+FAAsF;AACtF,qEAA4D;AAC5D,yDAAgD;AAGhD,SAAgB,uBAAuB,CACrC,GAAiB,EACjB,aAAqB;IAErB,OAAO,IAAA,6DAA0B,EAC/B,IAAA,uBAAO,EACL,IAAA,mCAAa,EACX,IAAA,qDAAsB,EAAC,IAAA,mDAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,EAAE;QAChE,yBAAyB,EAAE,IAAI;KAChC,CAAC,CACH,CACF,CACF,CAAC;AACJ,CAAC;AAbD,0DAaC"}