87 lines
4.1 KiB
JavaScript
87 lines
4.1 KiB
JavaScript
/**
|
|
* 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
|
|
}
|
|
}; |