UNPKG

@apollo/client

Version:

A fully-featured caching GraphQL client.

1 lines 30.2 kB
{"version":3,"file":"experimental.cjs","sources":["graphql-tools/utils.js","createTestSchema.js","../internal/disposables/withCleanup.js","../core/wait.js","createSchemaFetch.js"],"sourcesContent":["import { __assign, __spreadArray } from \"tslib\";\nimport { GraphQLInterfaceType, GraphQLString, GraphQLUnionType, defaultFieldResolver, getNullableType, isAbstractType, isEnumType, isInterfaceType, isListType, isObjectType, isScalarType, isUnionType, } from \"graphql\";\nimport { isNonNullObject } from \"../../../utilities/index.js\";\nimport { MapperKind, mapSchema, getRootTypeNames } from \"@graphql-tools/utils\";\n// Taken from @graphql-tools/mock:\n// https://github.com/ardatan/graphql-tools/blob/4b56b04d69b02919f6c5fa4f97d33da63f36e8c8/packages/mock/src/utils.ts#L20\nvar takeRandom = function (arr) { return arr[Math.floor(Math.random() * arr.length)]; };\n/**\n * A function that accepts a static `schema` and a `mocks` object for specifying\n * default scalar mocks and returns a `GraphQLSchema`.\n *\n * @param staticSchema - A static `GraphQLSchema`.\n * @param mocks - An object containing scalar mocks.\n * @returns A `GraphQLSchema` with scalar mocks.\n *\n * @example\n * ```js\n * const mockedSchema = createMockSchema(schema, {\n ID: () => \"1\",\n Int: () => 42,\n String: () => \"String\",\n Date: () => new Date(\"January 1, 2024 01:00:00\").toJSON().split(\"T\")[0],\n });\n * ```\n * @since 3.10.0\n * @alpha\n */\nvar createMockSchema = function (staticSchema, mocks) {\n var _a;\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/MockStore.ts#L613\n var getType = function (typeName) {\n var type = staticSchema.getType(typeName);\n if (!type || !(isObjectType(type) || isInterfaceType(type))) {\n throw new Error(\"\".concat(typeName, \" does not exist on schema or is not an object or interface\"));\n }\n return type;\n };\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/MockStore.ts#L597\n var getFieldType = function (typeName, fieldName) {\n if (fieldName === \"__typename\") {\n return GraphQLString;\n }\n var type = getType(typeName);\n var field = type.getFields()[fieldName];\n if (!field) {\n throw new Error(\"\".concat(fieldName, \" does not exist on type \").concat(typeName));\n }\n return field.type;\n };\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/MockStore.ts#L527\n var generateValueFromType = function (fieldType) {\n var nullableType = getNullableType(fieldType);\n if (isScalarType(nullableType)) {\n var mockFn = mocks[nullableType.name];\n if (typeof mockFn !== \"function\") {\n throw new Error(\"No mock defined for type \\\"\".concat(nullableType.name, \"\\\"\"));\n }\n return mockFn();\n }\n else if (isEnumType(nullableType)) {\n var mockFn = mocks[nullableType.name];\n if (typeof mockFn === \"function\")\n return mockFn();\n var values = nullableType.getValues().map(function (v) { return v.value; });\n return takeRandom(values);\n }\n else if (isObjectType(nullableType)) {\n return {};\n }\n else if (isListType(nullableType)) {\n return __spreadArray([], new Array(2), true).map(function () {\n return generateValueFromType(nullableType.ofType);\n });\n }\n else if (isAbstractType(nullableType)) {\n var mock = mocks[nullableType.name];\n var typeName = void 0;\n var values = {};\n if (!mock) {\n typeName = takeRandom(staticSchema.getPossibleTypes(nullableType).map(function (t) { return t.name; }));\n }\n else if (typeof mock === \"function\") {\n var mockRes = mock();\n if (mockRes === null)\n return null;\n if (!isNonNullObject(mockRes)) {\n throw new Error(\"Value returned by the mock for \".concat(nullableType.name, \" is not an object or null\"));\n }\n values = mockRes;\n if (typeof values[\"__typename\"] !== \"string\") {\n throw new Error(\"Please return a __typename in \\\"\".concat(nullableType.name, \"\\\"\"));\n }\n typeName = values[\"__typename\"];\n }\n else if (isNonNullObject(mock) &&\n typeof mock[\"__typename\"] === \"function\") {\n var mockRes = mock[\"__typename\"]();\n if (typeof mockRes !== \"string\") {\n throw new Error(\"'__typename' returned by the mock for abstract type \".concat(nullableType.name, \" is not a string\"));\n }\n typeName = mockRes;\n }\n else {\n throw new Error(\"Please return a __typename in \\\"\".concat(nullableType.name, \"\\\"\"));\n }\n return typeName;\n }\n else {\n throw new Error(\"\".concat(nullableType, \" not implemented\"));\n }\n };\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/utils.ts#L53\n var isRootType = function (type, schema) {\n var rootTypeNames = getRootTypeNames(schema);\n return rootTypeNames.has(type.name);\n };\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/addMocksToSchema.ts#L123\n var mockResolver = function (source, args, contex, info) {\n var defaultResolvedValue = defaultFieldResolver(source, args, contex, info);\n // priority to default resolved value\n if (defaultResolvedValue !== undefined)\n return defaultResolvedValue;\n // we have to handle the root mutation, root query and root subscription types\n // differently, because no resolver is called at the root\n if (isRootType(info.parentType, info.schema)) {\n return {\n typeName: info.parentType.name,\n key: \"ROOT\",\n fieldName: info.fieldName,\n fieldArgs: args,\n };\n }\n if (defaultResolvedValue === undefined) {\n var fieldType = getFieldType(info.parentType.name, info.fieldName);\n return generateValueFromType(fieldType);\n }\n return undefined;\n };\n // Taken from @graphql-tools/mock:\n // https://github.com/ardatan/graphql-tools/blob/5ed60e44f94868f976cd28fe1b6a764fb146bbe9/packages/mock/src/addMocksToSchema.ts#L176\n return mapSchema(staticSchema, (_a = {},\n _a[MapperKind.OBJECT_FIELD] = function (fieldConfig) {\n var newFieldConfig = __assign({}, fieldConfig);\n var oldResolver = fieldConfig.resolve;\n if (!oldResolver) {\n newFieldConfig.resolve = mockResolver;\n }\n return newFieldConfig;\n },\n _a[MapperKind.ABSTRACT_TYPE] = function (type) {\n if (type.resolveType != null && type.resolveType.length) {\n return;\n }\n var typeResolver = function (typename) {\n return typename;\n };\n if (isUnionType(type)) {\n return new GraphQLUnionType(__assign(__assign({}, type.toConfig()), { resolveType: typeResolver }));\n }\n else {\n return new GraphQLInterfaceType(__assign(__assign({}, type.toConfig()), { resolveType: typeResolver }));\n }\n },\n _a));\n};\nexport { createMockSchema };\n//# sourceMappingURL=utils.js.map","import { __assign } from \"tslib\";\nimport { addResolversToSchema } from \"@graphql-tools/schema\";\nimport { mergeResolvers } from \"@graphql-tools/merge\";\nimport { createMockSchema } from \"./graphql-tools/utils.js\";\n/**\n * A function that creates a [Proxy object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy)\n * around a given `schema` with `resolvers`. This proxied schema can be used to\n * progressively layer resolvers on top of the original schema using the `add`\n * method. The `fork` method can be used to create a new proxied schema which\n * can be modified independently of the original schema. `reset` will restore\n * resolvers to the original proxied schema.\n *\n * @param schema - A `GraphQLSchema`.\n * @param options - An `options` object that accepts `scalars` and `resolvers` objects.\n * @returns A `ProxiedSchema` with `add`, `fork` and `reset` methods.\n *\n * @example\n * ```js\n *\n * const schema = createTestSchema(schemaWithTypeDefs, {\n * resolvers: {\n Query: {\n writer: () => ({\n name: \"Ada Lovelace\",\n }),\n }\n },\n scalars: {\n ID: () => \"1\",\n Int: () => 36,\n String: () => \"String\",\n Date: () => new Date(\"December 10, 1815 01:00:00\").toJSON().split(\"T\")[0],\n }\n });\n * ```\n * @since 3.9.0\n * @alpha\n * @deprecated `createTestSchema` is deprecated and will be removed in 3.12.0.\n * Please migrate to [`@apollo/graphql-testing-library`](https://github.com/apollographql/graphql-testing-library).\n */\nvar createTestSchema = function (schemaWithTypeDefs, options) {\n var _a;\n var targetResolvers = __assign({}, options.resolvers);\n var targetSchema = addResolversToSchema({\n schema: createMockSchema(schemaWithTypeDefs, (_a = options.scalars) !== null && _a !== void 0 ? _a : {}),\n resolvers: targetResolvers,\n });\n var fns = {\n add: function (_a) {\n var newResolvers = _a.resolvers;\n // @ts-ignore TODO(fixme): IResolvers type does not play well with our Resolvers\n targetResolvers = mergeResolvers([targetResolvers, newResolvers]);\n targetSchema = addResolversToSchema({\n schema: targetSchema,\n resolvers: targetResolvers,\n });\n return targetSchema;\n },\n fork: function (_a) {\n var _b;\n var _c = _a === void 0 ? {} : _a, newResolvers = _c.resolvers;\n return createTestSchema(targetSchema, {\n // @ts-ignore TODO(fixme): IResolvers type does not play well with our Resolvers\n resolvers: (_b = mergeResolvers([targetResolvers, newResolvers])) !== null && _b !== void 0 ? _b : targetResolvers,\n scalars: options.scalars,\n });\n },\n reset: function () {\n targetSchema = addResolversToSchema({\n schema: schemaWithTypeDefs,\n resolvers: options.resolvers,\n });\n },\n };\n var schema = new Proxy(targetSchema, {\n get: function (_target, p) {\n if (p in fns) {\n return Reflect.get(fns, p);\n }\n // An optimization that eliminates round-trips through the proxy\n // on class methods invoked via `this` on a base class instance wrapped by\n // the proxy.\n //\n // For example, consider the following class:\n //\n // class Base {\n // foo(){\n // this.bar()\n // }\n // bar(){\n // ...\n // }\n // }\n //\n // Calling `proxy.foo()` would call `foo` with `this` being the proxy.\n // This would result in calling `proxy.bar()` which would again invoke\n // the proxy to resolve `bar` and call that method.\n //\n // Instead, calls to `proxy.foo()` should result in a call to\n // `innerObject.foo()` with a `this` of `innerObject`, and that call\n // should directly call `innerObject.bar()`.\n var property = Reflect.get(targetSchema, p);\n if (typeof property === \"function\") {\n return property.bind(targetSchema);\n }\n return property;\n },\n });\n return schema;\n};\nexport { createTestSchema };\n//# sourceMappingURL=createTestSchema.js.map","import { __assign } from \"tslib\";\n/** @internal */\nexport function withCleanup(item, cleanup) {\n var _a;\n return __assign(__assign({}, item), (_a = {}, _a[Symbol.dispose] = function () {\n cleanup(item);\n // if `item` already has a cleanup function, we also need to call the original cleanup function\n // (e.g. if something is wrapped in `withCleanup` twice)\n if (Symbol.dispose in item) {\n item[Symbol.dispose]();\n }\n }, _a));\n}\n//# sourceMappingURL=withCleanup.js.map","import { __awaiter, __generator } from \"tslib\";\nexport function wait(ms) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, ms); })];\n });\n });\n}\nexport function tick() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, wait(0)];\n });\n });\n}\n//# sourceMappingURL=wait.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { execute, GraphQLError, validate } from \"graphql\";\nimport { gql } from \"../../core/index.js\";\nimport { withCleanup } from \"../internal/index.js\";\nimport { wait } from \"../core/wait.js\";\n/**\n * A function that accepts a static `schema` and a `mockFetchOpts` object and\n * returns a disposable object with `mock` and `restore` functions.\n *\n * The `mock` function is a mock fetch function that is set on the global\n * `window` object. This function intercepts any fetch requests and\n * returns a response by executing the operation against the provided schema.\n *\n * The `restore` function is a cleanup function that will restore the previous\n * `fetch`. It is automatically called if the function's return value is\n * declared with `using`. If your environment does not support the language\n * feature `using`, you should manually invoke the `restore` function.\n *\n * @param schema - A `GraphQLSchema`.\n * @param mockFetchOpts - Configuration options.\n * @returns An object with both `mock` and `restore` functions.\n *\n * @example\n * ```js\n * using _fetch = createSchemaFetch(schema); // automatically restores fetch after exiting the block\n *\n * const { restore } = createSchemaFetch(schema);\n * restore(); // manually restore fetch if `using` is not supported\n * ```\n * @since 3.10.0\n * @alpha\n * @deprecated `createSchemaFetch` is deprecated and will be removed in 3.12.0.\n * Please migrate to [`@apollo/graphql-testing-library`](https://github.com/apollographql/graphql-testing-library).\n */\nvar createSchemaFetch = function (schema, mockFetchOpts) {\n var _a, _b, _c, _d;\n if (mockFetchOpts === void 0) { mockFetchOpts = { validate: true }; }\n var prevFetch = window.fetch;\n var delayMin = (_b = (_a = mockFetchOpts.delay) === null || _a === void 0 ? void 0 : _a.min) !== null && _b !== void 0 ? _b : 3;\n var delayMax = (_d = (_c = mockFetchOpts.delay) === null || _c === void 0 ? void 0 : _c.max) !== null && _d !== void 0 ? _d : delayMin + 2;\n if (delayMin > delayMax) {\n throw new Error(\"Please configure a minimum delay that is less than the maximum delay. The default minimum delay is 3ms.\");\n }\n var mockFetch = function (_uri, options) { return __awaiter(void 0, void 0, void 0, function () {\n var randomDelay, body, document, validationErrors, result, stringifiedResult;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(delayMin > 0)) return [3 /*break*/, 2];\n randomDelay = Math.random() * (delayMax - delayMin) + delayMin;\n return [4 /*yield*/, wait(randomDelay)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n body = JSON.parse(options.body);\n document = gql(body.query);\n if (mockFetchOpts.validate) {\n validationErrors = [];\n try {\n validationErrors = validate(schema, document);\n }\n catch (e) {\n validationErrors = [\n e instanceof Error ?\n GraphQLError.prototype.toJSON.apply(e)\n : e,\n ];\n }\n if ((validationErrors === null || validationErrors === void 0 ? void 0 : validationErrors.length) > 0) {\n return [2 /*return*/, new Response(JSON.stringify({ errors: validationErrors }))];\n }\n }\n return [4 /*yield*/, execute({\n schema: schema,\n document: document,\n variableValues: body.variables,\n operationName: body.operationName,\n })];\n case 3:\n result = _a.sent();\n stringifiedResult = JSON.stringify(result);\n return [2 /*return*/, new Response(stringifiedResult)];\n }\n });\n }); };\n function mockGlobal() {\n window.fetch = mockFetch;\n var restore = function () {\n if (window.fetch === mockFetch) {\n window.fetch = prevFetch;\n }\n };\n return withCleanup({ restore: restore }, restore);\n }\n return Object.assign(mockFetch, {\n mockGlobal: mockGlobal,\n // if https://github.com/rbuckton/proposal-using-enforcement lands\n // [Symbol.enter]: mockGlobal\n });\n};\nexport { createSchemaFetch };\n//# sourceMappingURL=createSchemaFetch.js.map"],"names":["isObjectType","isInterfaceType","GraphQLString","getNullableType","isScalarType","isEnumType","isListType","__spreadArray","isAbstractType","isNonNullObject","getRootTypeNames","defaultFieldResolver","mapSchema","MapperKind","__assign","isUnionType","GraphQLUnionType","GraphQLInterfaceType","addResolversToSchema","mergeResolvers","schema","__awaiter","__generator","gql","validate","GraphQLError","execute"],"mappings":"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"}