Files
30-seconds-of-code/node_modules/relay-runtime/lib/index.js
2019-08-20 15:52:05 +02:00

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
}
};