/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * * @format */ 'use strict'; // As early as possible, check for the existence of the JavaScript globals which // Relay Runtime relies upon, and produce a clear message if they do not exist. if (process.env.NODE_ENV !== "production") { if (typeof Map !== 'function' || typeof Set !== 'function' || typeof Promise !== 'function' || typeof Object.assign !== 'function') { throw new Error('relay-runtime requires Map, Set, Promise, and Object.assign to exist. ' + 'Use a polyfill to provide these for older browsers.'); } } /** * The public interface to Relay Runtime. */ module.exports = { // Core API Environment: require("./RelayModernEnvironment"), Network: require("./RelayNetwork"), Observable: require("./RelayObservable"), QueryResponseCache: require("./RelayQueryResponseCache"), RecordSource: require("./RelayInMemoryRecordSource"), Store: require("./RelayModernStore"), areEqualSelectors: require("./RelayCore").areEqualSelectors, createFragmentSpecResolver: require("./RelayCore").createFragmentSpecResolver, createOperationDescriptor: require("./RelayCore").createOperationDescriptor, getDataIDsFromObject: require("./RelayCore").getDataIDsFromObject, getFragment: require("./RelayModernGraphQLTag").getFragment, getPaginationFragment: require("./RelayModernGraphQLTag").getPaginationFragment, getRefetchableFragment: require("./RelayModernGraphQLTag").getRefetchableFragment, getRequest: require("./RelayModernGraphQLTag").getRequest, getSelector: require("./RelayCore").getSelector, getSelectorList: require("./RelayCore").getSelectorList, getSelectorsFromObject: require("./RelayCore").getSelectorsFromObject, getStorageKey: require("./RelayStoreUtils").getStorageKey, getVariablesFromObject: require("./RelayCore").getVariablesFromObject, graphql: require("./RelayModernGraphQLTag").graphql, // Declarative mutation API MutationTypes: require("./RelayDeclarativeMutationConfig").MutationTypes, RangeOperations: require("./RelayDeclarativeMutationConfig").RangeOperations, // Extensions DefaultHandlerProvider: require("./RelayDefaultHandlerProvider"), ConnectionHandler: require("./RelayConnectionHandler"), ViewerHandler: require("./RelayViewerHandler"), // Helpers (can be implemented via the above API) applyOptimisticMutation: require("./applyRelayModernOptimisticMutation"), commitLocalUpdate: require("./commitLocalUpdate"), commitMutation: require("./commitRelayModernMutation"), fetchQuery: require("./fetchRelayModernQuery"), isRelayModernEnvironment: require("./isRelayModernEnvironment"), requestSubscription: require("./requestRelaySubscription"), // Configuration interface for legacy or special uses ConnectionInterface: require("./RelayConnectionInterface"), // Utilities RelayProfiler: require("./RelayProfiler"), // INTERNAL-ONLY: These exports might be removed at any point. RelayConcreteNode: require("./RelayConcreteNode"), RelayError: require("./RelayError"), RelayNetworkLoggerTransaction: require("./RelayNetworkLoggerTransaction"), DEFAULT_HANDLE_KEY: require("./RelayDefaultHandleKey").DEFAULT_HANDLE_KEY, FRAGMENTS_KEY: require("./RelayStoreUtils").FRAGMENTS_KEY, FRAGMENT_OWNER_KEY: require("./RelayStoreUtils").FRAGMENT_OWNER_KEY, ID_KEY: require("./RelayStoreUtils").ID_KEY, REF_KEY: require("./RelayStoreUtils").REF_KEY, REFS_KEY: require("./RelayStoreUtils").REFS_KEY, ROOT_ID: require("./RelayStoreUtils").ROOT_ID, ROOT_TYPE: require("./RelayStoreUtils").ROOT_TYPE, createRelayNetworkLogger: require("./createRelayNetworkLogger"), deepFreeze: require("./deepFreeze"), generateClientID: require("./generateRelayClientID"), getRelayHandleKey: require("./getRelayHandleKey"), isScalarAndEqual: require("./isScalarAndEqual"), recycleNodesInto: require("./recycleNodesInto"), simpleClone: require("./simpleClone"), stableCopy: require("./stableCopy"), __internal: { getModernOperationVariables: require("./RelayConcreteVariables").getOperationVariables } };