New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@types/relay-runtime

Package Overview
Dependencies
Maintainers
1
Versions
131
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@types/relay-runtime - npm Package Compare versions

Comparing version 6.0.2 to 6.0.3

relay-runtime/lib/handlers/RelayDefaultHandlerProvider.d.ts

1051

relay-runtime/index.d.ts

@@ -10,12 +10,112 @@ // Type definitions for relay-runtime 6.0

export { ConcreteRequest, GeneratedNode, RequestParameters } from './lib/util/RelayConcreteNode';
export { ConnectionMetadata } from './lib/handlers/connection/RelayConnectionHandler';
export { EdgeRecord, PageInfo } from './lib/handlers/connection/RelayConnectionInterface';
export {
DeclarativeMutationConfig,
MutationTypes,
RangeBehaviors,
RangeOperations,
} from './lib/mutations/RelayDeclarativeMutationConfig';
export {
MutationTypes as MutationType,
RangeOperations as RangeOperation,
} from './lib/mutations/RelayDeclarativeMutationConfig';
export { OptimisticMutationConfig } from './lib/mutations/applyOptimisticMutation';
export { MutationConfig, MutationParameters } from './lib/mutations/commitMutation';
export { RelayNetworkLog, LoggerTransactionConfig } from './lib/network/RelayNetworkLoggerTransaction';
export {
ExecuteFunction,
FetchFunction,
GraphQLResponse,
LogRequestInfoFunction,
Network as INetwork,
PayloadData,
PayloadError,
SubscribeFunction,
Uploadable,
UploadableMap,
} from './lib/network/RelayNetworkTypes';
export { ObservableFromValue, Observer, Subscribable, Subscription } from './lib/network/RelayObservable';
export { GraphiQLPrinter, NetworkLogger } from './lib/network/createRelayNetworkLogger';
export {
GraphQLTaggedNode,
graphql,
getFragment,
getInlineDataFragment,
getPaginationFragment,
getRefetchableFragment,
getRequest,
} from './lib/query/RelayModernGraphQLTag';
export {
ConnectionEvent,
ConnectionID,
ConnectionReference,
ConnectionReferenceObject,
ConnectionResolver,
ConnectionSnapshot,
} from './lib/store/RelayConnection';
export { TaskScheduler } from './lib/store/RelayModernQueryExecutor';
export { RecordState } from './lib/store/RelayRecordState';
export {
Environment as IEnvironment,
FragmentMap,
FragmentPointer,
FragmentReference,
FragmentSpecResolver,
HandleFieldPayload,
LogEvent,
LogFunction,
Logger,
LoggerProvider,
MissingFieldHandler,
ModuleImportPointer,
NormalizationSelector,
OperationDescriptor,
OperationLoader,
OperationTracker,
OptimisticResponseConfig,
OptimisticUpdate,
OptimisticUpdateFunction,
PluralReaderSelector,
Props,
PublishQueue,
ReaderSelector,
ReadOnlyRecordProxy,
RecordProxy,
RecordSourceProxy,
RecordSourceSelectorProxy,
RelayContext,
RequestDescriptor,
SelectorData,
SelectorStoreUpdater,
SingularReaderSelector,
Snapshot,
StoreUpdater,
} from './lib/store/RelayStoreTypes';
export { GraphQLSubscriptionConfig } from './lib/subscription/requestSubscription';
export {
NormalizationArgument,
NormalizationDefer,
NormalizationConnection,
NormalizationField,
NormalizationLinkedField,
NormalizationLinkedHandle,
NormalizationLocalArgumentDefinition,
NormalizationModuleImport,
NormalizationScalarField,
NormalizationSelection,
NormalizationSplitOperation,
NormalizationStream,
} from './lib/util/NormalizationNode';
export { NormalizationOperation } from './lib/util/NormalizationNode';
export {
ReaderArgument,
ReaderArgumentDefinition,
ReaderConnection,
ReaderField,
ReaderFragment,
ReaderInlineDataFragment,
ReaderInlineDataFragmentSpread,
ReaderLinkedField,
ReaderModuleImport,
ReaderPaginationMetadata,

@@ -27,901 +127,70 @@ ReaderRefetchableFragment,

} from './lib/util/ReaderNode';
export { ConcreteRequest, GeneratedNode, RequestParameters } from './lib/util/RelayConcreteNode';
export { CacheConfig, DataID, Disposable, OperationType, Variables } from './lib/util/RelayRuntimeTypes';
import RelayConcreteNode, { RequestParameters, ConcreteRequest } from './lib/util/RelayConcreteNode';
import * as ConnectionHandler from './lib/handlers/connection/RelayConnectionHandler';
import ConnectionInterface from './lib/handlers/connection/RelayConnectionInterface';
export { ConnectionHandler, ConnectionInterface, RelayConcreteNode };
import {
ReaderFragment,
ReaderSelectableNode,
ReaderPaginationFragment,
ReaderRefetchableFragment,
ReaderField,
} from './lib/util/ReaderNode';
import {
NormalizationSelectableNode,
NormalizationScalarField,
NormalizationLinkedField,
NormalizationSplitOperation,
NormalizationField,
NormalizationHandle,
} from './lib/util/NormalizationNode';
// ./mutations/RelayDeclarativeMutationConfig
interface RangeAddConfig {
type: 'RANGE_ADD';
parentName?: string;
parentID?: string;
connectionInfo?: ReadonlyArray<{
key: string;
filters?: Variables;
rangeBehavior: string;
}>;
connectionName?: string;
edgeName: string;
rangeBehaviors?: RangeBehaviors;
}
interface RangeDeleteConfig {
type: 'RANGE_DELETE';
parentName?: string;
parentID?: string;
connectionKeys?: ReadonlyArray<{
key: string;
filters?: Variables;
}>;
connectionName?: string;
deletedIDFieldName: string | ReadonlyArray<string>;
pathToConnection: ReadonlyArray<string>;
}
interface NodeDeleteConfig {
type: 'NODE_DELETE';
parentName?: string;
parentID?: string;
connectionName?: string;
deletedIDFieldName: string;
}
// Unused in Relay Modern
interface LegacyFieldsChangeConfig {
type: 'FIELDS_CHANGE';
fieldIDs: { [fieldName: string]: DataID | ReadonlyArray<DataID> };
}
// Unused in Relay Modern
interface LegacyRequiredChildrenConfig {
type: 'REQUIRED_CHILDREN';
children: ReadonlyArray<unknown>;
}
export type DeclarativeMutationConfig =
| RangeAddConfig
| RangeDeleteConfig
| NodeDeleteConfig
| LegacyFieldsChangeConfig
| LegacyRequiredChildrenConfig;
export type MutationType = 'RANGE_ADD' | 'RANGE_DELETE' | 'NODE_DELETE' | 'FIELDS_CHANGE' | 'REQUIRED_CHILDREN';
export type RangeOperation = 'append' | 'ignore' | 'prepend' | 'refetch' | 'remove';
export type RangeBehaviors =
| ((connectionArgs: { [name: string]: unknown }) => RangeOperation)
| {
[key: string]: RangeOperation;
};
// ./mutations/applyRelayModernOptimisticMutation
export interface OptimisticMutationConfig {
configs?: ReadonlyArray<DeclarativeMutationConfig> | null;
mutation: GraphQLTaggedNode;
variables: Variables;
optimisticUpdater?: SelectorStoreUpdater | null;
optimisticResponse?: object;
}
// ./mutations/commitRelayModernMutation
export interface MutationConfig<TOperation extends OperationType> {
configs?: ReadonlyArray<DeclarativeMutationConfig>;
mutation: GraphQLTaggedNode;
variables: TOperation['variables'];
uploadables?: UploadableMap;
onCompleted?:
| ((response: TOperation['response'], errors: ReadonlyArray<PayloadError> | null | undefined) => void)
| null;
onError?: ((error: Error) => void) | null;
optimisticUpdater?: SelectorStoreUpdater | null;
optimisticResponse?: TOperation['response'] | null;
updater?: SelectorStoreUpdater<TOperation['response']> | null;
}
// ./lib/network/RelayNetworkLoggerTransaction
export { RelayNetworkLoggerTransaction } from './lib/network/RelayNetworkLoggerTransaction';
// ./network/RelayNetworkTypes
export type ExecuteFunction = (
request: RequestParameters,
variables: Variables,
cacheConfig: CacheConfig,
uploadables?: UploadableMap | null,
) => RelayObservable<GraphQLResponse>;
export type FetchFunction = (
request: RequestParameters,
variables: Variables,
cacheConfig: CacheConfig,
uploadables?: UploadableMap | null,
) => ObservableFromValue<GraphQLResponse>;
export type GraphQLResponse =
| {
data: PayloadData;
errors?: ReadonlyArray<PayloadError>;
extensions?: PayloadExtensions;
}
| {
data?: PayloadData | null;
errors: ReadonlyArray<PayloadError>;
extensions?: PayloadExtensions;
};
export interface LegacyObserver<T> {
onCompleted?: () => void;
onError?: (error: Error) => void;
onNext?: (data: T) => void;
}
interface Network {
execute: ExecuteFunction;
}
export { Network as INetwork };
export interface PayloadData {
[key: string]: unknown;
}
export interface PayloadError {
message: string;
locations?: ReadonlyArray<{
line: number;
column: number;
}>;
severity?: 'CRITICAL' | 'ERROR' | 'WARNING'; // Not officially part of the spec, but used at Facebook
}
export type SubscribeFunction = (
request: RequestParameters,
variables: Variables,
cacheConfig: CacheConfig,
observer?: LegacyObserver<GraphQLResponse>,
) => RelayObservable<GraphQLResponse> | Disposable;
export type Uploadable = File | Blob;
export interface UploadableMap {
[key: string]: Uploadable;
}
interface PayloadExtensions {
[key: string]: unknown;
}
// ./network/RelayObservable
export type ObservableFromValue<T> = Subscribable<T> | Promise<T> | T;
export interface Observer<T> {
readonly start?: (subscription: Subscription) => void;
readonly next?: (value: T) => void;
readonly error?: (error: Error) => void;
readonly complete?: () => void;
readonly unsubscribe?: (subscription: Subscription) => void;
}
export interface Subscribable<T> {
subscribe(observer: Observer<T> | Sink<T>): Subscription;
}
interface Sink<T> {
next(value: T): void;
error(error: Error, isUncaughtThrownError?: boolean): void;
complete(): void;
readonly closed: boolean;
}
type Source<T> = (sink: Sink<T>) => void | Subscription | (() => unknown);
export interface Subscription {
unsubscribe(): void;
readonly closed: boolean;
}
// ./lib/network/createRelayNetworkLogger
export { createRelayNetworkLogger } from './lib/network/createRelayNetworkLogger';
// ./query/RelayModernGraphQLTag
export type GraphQLTaggedNode =
| ReaderFragment
| ConcreteRequest
| (() => ReaderFragment | ConcreteRequest)
| {
modern: () => ReaderFragment | ConcreteRequest;
};
// ./store/RelayRecordState
export type RecordState = 'EXISTENT' | 'NONEXISTENT' | 'UNKNOWN';
// ./store/RelayStoreTypes
interface Environment
extends CEnvironment<
Environment,
ReaderFragment,
GraphQLTaggedNode,
ReaderSelectableNode,
NormalizationSelectableNode,
ConcreteRequest,
GraphQLResponse,
OwnedReaderSelector
> {
applyUpdate(optimisticUpdate: OptimisticUpdate): Disposable;
commitUpdate(updater: StoreUpdater): void;
commitPayload(operationDescriptor: OperationDescriptor, payload: PayloadData): void;
getStore(): Store;
lookup(selector: ReaderSelector, owner?: OperationDescriptor): CSnapshot<ReaderSelectableNode, OperationDescriptor>;
executeMutation(data: {
operation: OperationDescriptor;
optimisticUpdater?: SelectorStoreUpdater | null;
optimisticResponse?: object | null;
updater?: SelectorStoreUpdater | null;
uploadables?: UploadableMap | null;
}): RelayObservable<GraphQLResponse>;
}
export { Environment as IEnvironment };
export type FragmentMap = CFragmentMap<ReaderFragment>;
export type FragmentReference = never & { __tag: 'FragmentReference' };
export interface FragmentPointer {
__id: DataID;
__fragments: { [fragmentName: string]: Variables };
__fragmentOwner: OperationDescriptor | null;
}
export interface HandleFieldPayload {
readonly args: Variables;
readonly dataID: DataID;
readonly fieldKey: string;
readonly handle: string;
readonly handleKey: string;
}
export interface MatchPointer {
__id: DataID;
__fragments: { [fragmentName: string]: Variables };
__fragmentPropName: string;
__module: unknown;
}
export type MissingFieldHandler =
| {
kind: 'scalar';
handle: (
field: NormalizationScalarField,
record: Record<string, unknown> | null | undefined,
args: Variables,
store: ReadonlyRecordSourceProxy,
) => unknown;
}
| {
kind: 'linked';
handle: (
field: NormalizationLinkedField,
record: Record<string, unknown> | null | undefined,
args: Variables,
store: ReadonlyRecordSourceProxy,
) => DataID | null | undefined;
}
| {
kind: 'pluralLinked';
handle: (
field: NormalizationLinkedField,
record: Record<string, unknown> | null | undefined,
args: Variables,
store: ReadonlyRecordSourceProxy,
) => ReadonlyArray<DataID | null | undefined> | null | undefined;
};
export const RelayDefaultMissingFieldHandlers: ReadonlyArray<MissingFieldHandler>;
export interface OperationLoader {
get(reference: unknown): NormalizationSplitOperation | null | undefined;
load(reference: unknown): Promise<NormalizationSplitOperation | null | undefined>;
}
export type OperationDescriptor = COperationDescriptor<
ReaderSelectableNode,
NormalizationSelectableNode,
ConcreteRequest
>;
export type OptimisticUpdate =
| {
storeUpdater: StoreUpdater;
}
| {
selectorStoreUpdater: SelectorStoreUpdater | null | undefined;
operation: OperationDescriptor;
response: object | null | undefined;
}
| {
source: RecordSource;
fieldPayloads?: ReadonlyArray<HandleFieldPayload> | null;
};
export interface OwnedReaderSelector {
owner: OperationDescriptor | null;
selector: ReaderSelector;
}
export interface RecordProxy {
copyFieldsFrom(source: RecordProxy): void;
getDataID(): DataID;
getLinkedRecord(name: string, args?: Variables | null): RecordProxy | null | undefined;
getLinkedRecords(
name: string,
args?: Variables | null,
): ReadonlyArray<RecordProxy | null | undefined> | null | undefined;
getOrCreateLinkedRecord(name: string, typeName: string, args?: Variables | null): RecordProxy;
getType(): string;
getValue(name: string, args?: Variables | null): unknown;
setLinkedRecord(record: RecordProxy, name: string, args?: Variables | null): RecordProxy;
setLinkedRecords(
records: Array<RecordProxy | null | undefined>,
name: string,
args?: Variables | null,
): RecordProxy;
setValue(value: unknown, name: string, args?: Variables | null): RecordProxy;
}
export interface RecordSourceProxy {
create(dataID: DataID, typeName: string): RecordProxy;
delete(dataID: DataID): void;
get(dataID: DataID): RecordProxy | null | undefined;
getRoot(): RecordProxy;
}
export interface RecordSourceSelectorProxy {
create(dataID: DataID, typeName: string): RecordProxy;
delete(dataID: DataID): void;
get(dataID: DataID): RecordProxy | null | undefined;
getRoot(): RecordProxy;
getRootField(fieldName: string): RecordProxy | null | undefined;
getPluralRootField(fieldName: string): ReadonlyArray<RecordProxy | null | undefined> | null | undefined;
}
export type RelayContext = CRelayContext<Environment>;
export type ReaderSelector = CReaderSelector<ReaderSelectableNode>;
export type NormalizationSelector = CNormalizationSelector<NormalizationSelectableNode>;
export type SelectorStoreUpdater<TData = unknown> = (store: RecordSourceSelectorProxy, data: TData) => void;
export type Snapshot = CSnapshot<ReaderSelectableNode, OperationDescriptor>;
export type StoreUpdater = (store: RecordSourceProxy) => void;
interface ReadonlyRecordSourceProxy {
get(dataID: DataID): ReadonlyRecordProxy | null | undefined;
getRoot(): ReadonlyRecordProxy;
}
export interface ReadonlyRecordProxy {
getDataID(): DataID;
getLinkedRecord(name: string, args?: Variables | null): RecordProxy | null | undefined;
getLinkedRecords(
name: string,
args?: Variables | null,
): ReadonlyArray<RecordProxy | null | undefined> | null | undefined;
getType(): string;
getValue(name: string, args?: Variables | null): unknown;
}
interface RecordSource {
get(dataID: DataID): Record<string, unknown> | null | undefined;
getRecordIDs(): ReadonlyArray<DataID>;
getStatus(dataID: DataID): RecordState;
has(dataID: DataID): boolean;
load(
dataID: DataID,
callback: (error: Error | null | undefined, record: Record<string, unknown> | null | undefined) => void,
): void;
size(): number;
toJSON(): Record<string, unknown>;
}
export { RecordSource as IRecordSource };
interface Store {
getSource(): RecordSource;
check(selector: NormalizationSelector): boolean;
lookup(selector: ReaderSelector, owner?: OperationDescriptor): Snapshot;
notify(): void;
publish(source: RecordSource): void;
retain(selector: NormalizationSelector): Disposable;
subscribe(snapshot: Snapshot, callback: (snapshot: Snapshot) => void): Disposable;
holdGC(): Disposable;
}
export interface MutableRecordSource extends RecordSource {
clear(): void;
delete(dataID: DataID): void;
remove(dataID: DataID): void;
set(dataID: DataID, record: Record<string, unknown>): void;
}
type Scheduler = (callback: () => void) => void;
// ./subscription/requestRelaySubscription
export interface GraphQLSubscriptionConfig<TSubscriptionPayload> {
configs?: ReadonlyArray<DeclarativeMutationConfig>;
subscription: GraphQLTaggedNode;
variables: Variables;
onCompleted?: () => void;
onError?: (error: Error) => void;
onNext?: (response: TSubscriptionPayload | null | undefined) => void;
updater?: SelectorStoreUpdater;
}
// ./util/RelayCombinedEnvironmentTypes
export interface CEnvironment<
TEnvironment,
TFragment,
TGraphQLTaggedNode,
TReaderNode,
TNormalizationNode,
TRequest,
TPayload,
TReaderSelector
> {
check(selector: CNormalizationSelector<TNormalizationNode>): boolean;
lookup(
selector: CReaderSelector<TReaderNode>,
): CSnapshot<TReaderNode, COperationDescriptor<TReaderNode, TNormalizationNode, TRequest>>;
subscribe(
snapshot: CSnapshot<TReaderNode, COperationDescriptor<TReaderNode, TNormalizationNode, TRequest>>,
callback: (
snapshot: CSnapshot<TReaderNode, COperationDescriptor<TReaderNode, TNormalizationNode, TRequest>>,
) => void,
): Disposable;
retain(selector: CNormalizationSelector<TNormalizationNode>): Disposable;
execute(config: {
operation: COperationDescriptor<TReaderNode, TNormalizationNode, TRequest>;
cacheConfig?: CacheConfig | null;
updater?: SelectorStoreUpdater | null;
}): RelayObservable<TPayload>;
}
export interface CFragmentMap<TFragment> {
[key: string]: TFragment;
}
export interface CNormalizationSelector<TNormalizationNode> {
dataID: DataID;
node: TNormalizationNode;
variables: Variables;
}
export interface COperationDescriptor<TReaderNode, TNormalizationNode, TRequest> {
fragment: CReaderSelector<TReaderNode>;
node: TRequest;
root: CNormalizationSelector<TNormalizationNode>;
variables: Variables;
}
export interface CReaderSelector<TReaderNode> {
dataID: DataID;
node: TReaderNode;
variables: Variables;
}
export interface CRelayContext<TEnvironment> {
environment: TEnvironment;
variables: Variables;
}
export interface CSnapshot<TReaderNode, TOwner> extends CReaderSelector<TReaderNode> {
data: SelectorData | null | undefined;
seenRecords: RecordMap;
isMissingData: boolean;
owner: TOwner | null;
}
export interface FragmentSpecResolver {
/**
* Stop watching for changes to the results of the fragments.
*/
dispose(): void;
/**
* Get the current results.
*/
resolve(): FragmentSpecResults;
/**
* Update the resolver with new inputs. Call `resolve()` to get the updated
* results.
*/
setProps(props: Props): void;
/**
* Override the variables used to read the results of the fragments. Call
* `resolve()` to get the updated results.
*/
setVariables(variables: Variables, request?: ConcreteRequest): void;
/**
* Subscribe to resolver updates.
* Overrides existing callback (if one has been specified).
*/
setCallback(callback: () => void): void;
}
export interface FragmentSpecResults {
[key: string]: unknown;
}
export interface Props {
[key: string]: unknown;
}
interface RecordMap {
// theoretically, this should be `[dataID: DataID]`, but `DataID` is a string.
[dataID: string]: Record<string, unknown> | undefined;
}
export interface SelectorData {
[key: string]: unknown;
}
// ./util/RelayRuntimeTypes
export interface CacheConfig {
force?: boolean | null;
poll?: number | null;
liveConfigId?: string | null;
metadata?: { [key: string]: unknown };
transactionId?: string | null;
}
export type DataID = string;
export interface Disposable {
dispose(): void;
}
export interface OperationType {
readonly variables: Variables;
readonly response: unknown;
}
export interface Variables {
[name: string]: any;
}
// Core API
export { RelayModernEnvironment as Environment } from './lib/store/RelayModernEnvironment';
export { RelayNetwork as Network } from './lib/network/RelayNetwork';
export { RelayObservable as Observable } from './lib/network/RelayObservable';
import QueryResponseCache from './lib/network/RelayQueryResponseCache';
export { QueryResponseCache };
export { RelayRecordSource as RecordSource } from './lib/store/RelayRecordSource';
export { RelayModernRecord as Record } from './lib/store/RelayModernRecord';
export { RelayModernStore as Store } from './lib/store/RelayModernStore';
// ./RelayModernEnvironment
interface EnvironmentConfig {
readonly configName?: string;
readonly handlerProvider?: HandlerProvider;
readonly operationLoader?: OperationLoader;
readonly network: Network;
readonly store: Store;
readonly missingFieldHandlers?: ReadonlyArray<MissingFieldHandler>;
}
declare class RelayModernEnvironment implements Environment {
readonly configName: string | null | undefined;
constructor(config: EnvironmentConfig);
getStore(): Store;
getNetwork(): Network;
applyUpdate(optimisticUpdate: OptimisticUpdate): Disposable;
revertUpdate(update: OptimisticUpdate): void;
replaceUpdate(update: OptimisticUpdate, newUpdate: OptimisticUpdate): void;
applyMutation(data: {
operation: OperationDescriptor;
optimisticUpdater?: SelectorStoreUpdater | null;
optimisticResponse?: object;
}): Disposable;
check(readSelector: NormalizationSelector): boolean;
commitPayload(operationDescriptor: OperationDescriptor, payload: PayloadData): void;
commitUpdate(updater: StoreUpdater): void;
lookup(readSelector: ReaderSelector, owner?: OperationDescriptor): Snapshot;
subscribe(snapshot: Snapshot, callback: (snapshot: Snapshot) => void): Disposable;
retain(selector: NormalizationSelector): Disposable;
execute(data: {
operation: OperationDescriptor;
cacheConfig?: CacheConfig | null;
updater?: SelectorStoreUpdater | null;
}): RelayObservable<GraphQLResponse>;
executeMutation({
operation,
optimisticResponse,
optimisticUpdater,
updater,
uploadables,
}: {
operation: OperationDescriptor;
optimisticUpdater?: SelectorStoreUpdater | null;
optimisticResponse?: object | null;
updater?: SelectorStoreUpdater | null;
uploadables?: UploadableMap | null;
}): RelayObservable<GraphQLResponse>;
}
export { RelayModernEnvironment as Environment };
export {
areEqualSelectors,
createNormalizationSelector,
createReaderSelector,
getDataIDsFromFragment,
getDataIDsFromObject,
getPluralSelector,
getSelector,
getSelectorsFromObject,
getSingularSelector,
getVariablesFromObject,
getVariablesFromFragment,
getVariablesFromPluralFragment,
getVariablesFromSingularFragment,
} from './lib/store/RelayModernSelector';
export { createOperationDescriptor, createRequestDescriptor } from './lib/store/RelayModernOperationDescriptor';
export {
getStorageKey,
getModuleComponentKey,
getModuleOperationKey,
FRAGMENTS_KEY,
FRAGMENT_OWNER_KEY,
ID_KEY,
REF_KEY,
REFS_KEY,
ROOT_ID,
ROOT_TYPE,
TYPENAME_KEY,
} from './lib/store/RelayStoreUtils';
export { createFragmentSpecResolver } from './lib/store/createFragmentSpecResolver';
type HandlerProvider = (name: string) => Handler | null | undefined;
// ./network/RelayNetwork
declare const RelayNetwork: {
create(fetchFn: FetchFunction, subscribeFn?: SubscribeFunction): Network;
};
export { RelayNetwork as Network };
// ./network/RelayObservable
declare class RelayObservable<T> implements Subscribable<T> {
// Use RelayObservable.create(source);
private constructor(source: never);
static create<V>(source: Source<V>): RelayObservable<V>;
static onUnhandledError(callback: (error: Error, isUncaughtThrownError: boolean) => void): void;
static from<V>(obj: ObservableFromValue<V>): RelayObservable<V>;
static fromLegacy<V>(
callback: (observer: LegacyObserver<V>) => Disposable | RelayObservable<V>,
): RelayObservable<V>;
catch<U>(fn: (error: Error) => RelayObservable<U>): RelayObservable<T | U>;
do(observer: Observer<T>): RelayObservable<T>;
finally(fn: () => unknown): RelayObservable<T>;
ifEmpty<U>(alternate: RelayObservable<U>): RelayObservable<T | U>;
subscribe(observer: Observer<T> | Sink<T>): Subscription;
subscribeLegacy(legacyObserver: LegacyObserver<T>): Disposable;
map<U>(fn: (value: T) => U): RelayObservable<U>;
mergeMap<U>(fn: (value: T) => ObservableFromValue<U>): RelayObservable<U>;
poll(pollInterval: number): RelayObservable<T>;
toPromise(): Promise<T | undefined>;
}
export { RelayObservable as Observable };
// ./networks/RelayQueryResponseCache
declare class RelayQueryResponseCache {
constructor(config: { size: number; ttl: number });
clear(): void;
get(queryID: string, variables: Variables): GraphQLResponse | null;
set(queryID: string, variables: Variables, payload: GraphQLResponse): void;
}
export { RelayQueryResponseCache as QueryResponseCache };
// ./store/RelayInMemoryRecordSource
declare class RelayInMemoryRecordSource implements MutableRecordSource {
constructor(records?: RecordMap);
clear(): void;
delete(dataID: DataID): void;
get(dataID: DataID): Record<string, unknown> | null | undefined;
getRecordIDs(): ReadonlyArray<DataID>;
getStatus(dataID: DataID): RecordState;
has(dataID: DataID): boolean;
load(
dataID: DataID,
callback: (error: Error | null | undefined, record: Record<string, unknown> | null | undefined) => void,
): void;
remove(dataID: DataID): void;
set(dataID: DataID, record: Record<string, unknown>): void;
size(): number;
toJSON(): Record<string, unknown>;
}
export { RelayInMemoryRecordSource as RecordSource };
// ./store/RelayModernStore
declare class RelayModernStore implements Store {
constructor(source: MutableRecordSource, gcScheduler?: Scheduler, operationLoader?: OperationLoader | null);
getSource(): RecordSource;
check(selector: NormalizationSelector): boolean;
retain(selector: NormalizationSelector): Disposable;
lookup(selector: ReaderSelector, owner?: OperationDescriptor): Snapshot;
notify(): void;
publish(source: RecordSource): void;
subscribe(snapshot: Snapshot, callback: (snapshot: Snapshot) => void): Disposable;
holdGC(): Disposable;
}
export { RelayModernStore as Store };
// ./store/RelayModernSelector via ./store/RelayCore
export function areEqualSelectors(thisSelector: OwnedReaderSelector, thatSelector: OwnedReaderSelector): boolean;
export function getDataIDsFromObject(
fragments: { [key: string]: ReaderFragment },
object: { [key: string]: unknown },
): { [key: string]: DataID | ReadonlyArray<DataID> | null | undefined };
export function getSelector(
operationVariables: Variables,
fragment: ReaderFragment,
item: unknown,
): OwnedReaderSelector | null | undefined;
export function getSelectorList(
operationVariables: Variables,
fragment: ReaderFragment,
items: ReadonlyArray<unknown>,
): ReadonlyArray<OwnedReaderSelector> | null | undefined;
export function getSelectorsFromObject(
operationVariables: Variables,
fragments: { [key: string]: ReaderFragment },
object: { [key: string]: unknown },
): {
[key: string]: OwnedReaderSelector | ReadonlyArray<OwnedReaderSelector> | null | undefined;
};
export function getVariablesFromObject(
operationVariables: Variables,
fragments: { [key: string]: ReaderFragment },
object: { [key: string]: unknown },
): Variables;
// ./store/RelayModernOperationDescriptor via ./store/RelayCore
export function createOperationDescriptor(request: ConcreteRequest, variables: Variables): OperationDescriptor;
// ./store/RelayCore
export function createFragmentSpecResolver(
context: RelayContext,
containerName: string,
fragments: FragmentMap,
props: Props,
callback?: () => void,
): FragmentSpecResolver;
// ./query/RelayModernGraphQLTag
export function getFragment(taggedNode: GraphQLTaggedNode): ReaderFragment;
export function getFragmentOwner(
fragmentNode: ReaderFragment,
fragmentRef: FragmentPointer | ReadonlyArray<FragmentPointer | null | undefined> | null | undefined,
): OperationDescriptor | null;
export function getFragmentOwners(
fragmentNodes: { [key: string]: ReaderFragment },
fragmentRefs: {
[key: string]: FragmentPointer | ReadonlyArray<FragmentPointer | null | undefined> | null | undefined;
},
): { [key: string]: OperationDescriptor | null };
export function getPaginationFragment(taggedNode: GraphQLTaggedNode): ReaderPaginationFragment | null;
export function getRefetchableFragment(taggedNode: GraphQLTaggedNode): ReaderRefetchableFragment | null;
export function getRequest(taggedNode: GraphQLTaggedNode): ConcreteRequest;
export function graphql(strings: ReadonlyArray<string>): GraphQLTaggedNode;
// ./store/RelayStoreUtils
export function getStorageKey(
field: NormalizationField | NormalizationHandle | ReaderField,
variables: Variables,
): string;
export function getModuleComponentKey(documentName: string): string;
export function getModuleOperationKey(documentName: string): string;
// Declarative mutation API
// ./mutations/RelayDeclarativeMutationConfig
export const MutationTypes: {
RANGE_ADD: 'RANGE_ADD';
RANGE_DELETE: 'RANGE_DELETE';
NODE_DELETE: 'NODE_DELETE';
FIELDS_CHANGE: 'FIELDS_CHANGE';
REQUIRED_CHILDREN: 'REQUIRED_CHILDREN';
};
export const RangeOperations: {
APPEND: 'append';
IGNORE: 'ignore';
PREPEND: 'prepend';
REFETCH: 'refetch'; // legacy only
REMOVE: 'remove'; // legacy only
};
export const FRAGMENTS_KEY: string;
export const FRAGMENT_OWNER_KEY: string;
export const ID_KEY: string;
export const REF_KEY: string;
export const REFS_KEY: string;
export const ROOT_ID: string;
export const ROOT_TYPE: string;
export const TYPENAME_KEY: string;
// Extensions
// ./handlers/RelayDefaultHandlerProvider
declare function RelayDefaultHandlerProvider(handle: string): Handler;
export { RelayDefaultHandlerProvider as DefaultHandlerProvider };
export { RelayDefaultHandlerProvider as DefaultHandlerProvider } from './lib/handlers/RelayDefaultHandlerProvider';
export {
missingViewerFieldHandler as DefaultMissingFieldHandlers,
} from './lib/handlers/RelayDefaultMissingFieldHandlers';
import * as ConnectionHandler from './lib/handlers/connection/RelayConnectionHandler';
export { ConnectionHandler };
// ./handlers/viewer/RelayViewerHandler
interface RelayViewerHandler {
readonly VIEWER_ID: DataID;
readonly VIEWER_TYPE: 'Viewer';
}
declare const RelayViewerHandler: RelayViewerHandler;
export { RelayViewerHandler as ViewerHandler };
// Helpers (can be implemented via the above API)
export { applyOptimisticMutation } from './lib/mutations/applyOptimisticMutation';
export { commitLocalUpdate } from './lib/mutations/commitLocalUpdate';
export { commitMutation } from './lib/mutations/commitMutation';
export { fetchQuery } from './lib/query/fetchQuery';
export { isRelayModernEnvironment } from './lib/store/isRelayModernEnvironment';
export { requestSubscription } from './lib/subscription/requestSubscription';
// ./mutations/applyRelayModernOptimisticMutation
declare function applyRelayModernOptimisticMutation(
environment: Environment,
config: OptimisticMutationConfig,
): Disposable;
export { applyRelayModernOptimisticMutation as applyOptimisticMutation };
// ./mutations/commitLocalUpdate
export function commitLocalUpdate(environment: Environment, updater: StoreUpdater): void;
// ./mutations/commitRelayModernMutation
declare function commitRelayModernMutation<TOperation extends OperationType = OperationType>(
environment: Environment,
// tslint:disable-next-line no-unnecessary-generics
config: MutationConfig<TOperation>,
): Disposable;
export { commitRelayModernMutation as commitMutation };
// ./query/fetchRelayModernQuery
declare function fetchRelayModernQuery<T extends OperationType>(
environment: RelayModernEnvironment,
taggedNode: GraphQLTaggedNode,
variables: T['variables'],
cacheConfig?: CacheConfig | null,
): Promise<T['response']>;
export { fetchRelayModernQuery as fetchQuery };
// ./store/isRelayModernEnvironment
export function isRelayModernEnvironment(environment: any): environment is RelayModernEnvironment;
// ./subscription/requestRelaySubscription
declare function requestRelaySubscription(environment: Environment, config: GraphQLSubscriptionConfig<{}>): Disposable;
export { requestRelaySubscription as requestSubscription };
// Utilities
interface Handler {
update: (store: RecordSourceProxy, fieldPayload: HandleFieldPayload) => void;
}
type ProfileHandler = (name: string, state?: any) => (error?: Error) => void;
export interface RelayProfiler {
instrumentMethods(object: object, names: { [key: string]: string }): void;
instrument<T extends (...args: any[]) => any>(name: string, originalFunction: T): T;
attachAggregateHandler(name: string, handler: Handler): void;
detachAggregateHandler(name: string, handler: Handler): void;
profile(name: string, state?: any): { stop: (error?: Error) => void };
attachProfileHandler(name: string, handler: ProfileHandler): void;
detachProfileHandler(name: string, handler: ProfileHandler): void;
}
export const RelayProfiler: RelayProfiler;
export { RelayProfiler } from './lib/util/RelayProfiler';
// Internal API
export function deepFreeze<T extends object>(value: T): T;
// ./utils/RelayFeatureFlags
interface FeatureFlags {
ENABLE_VARIABLE_CONNECTION_KEY: boolean;
}
export const RelayFeatureFlags: FeatureFlags;
// INTERNAL-ONLY
export { RelayConcreteNode } from './lib/util/RelayConcreteNode';
export { RelayFeatureFlags } from './lib/util/RelayFeatureFlags';
export { RelayNetworkLoggerTransaction } from './lib/network/RelayNetworkLoggerTransaction';
export { createRelayNetworkLogger } from './lib/network/createRelayNetworkLogger';
export { deepFreeze } from './lib/util/deepFreeze';

@@ -0,9 +1,8 @@

import { DataID, Variables } from '../../../lib/util/RelayRuntimeTypes';
import {
DataID,
RecordSourceProxy,
RecordProxy,
Variables,
ReadOnlyRecordProxy,
HandleFieldPayload,
ReadonlyRecordProxy,
} from '../../../index';
} from '../../../lib/store/RelayStoreTypes';

@@ -33,3 +32,3 @@ export interface ConnectionMetadata {

export function getConnection(
record: ReadonlyRecordProxy,
record: ReadOnlyRecordProxy,
key: string,

@@ -36,0 +35,0 @@ filters?: Variables | null,

@@ -1,2 +0,2 @@

import { DataID } from '../../../index';
import { DataID } from '../../../lib/util/RelayRuntimeTypes';

@@ -3,0 +3,0 @@ export interface EdgeRecord extends Record<string, unknown> {

import { RelayNetworkLoggerTransaction } from './RelayNetworkLoggerTransaction';
import { RequestParameters } from '../util/RelayConcreteNode';
import { Variables, FetchFunction, SubscribeFunction } from '../../index';
import { Variables } from '../util/RelayRuntimeTypes';
import { FetchFunction, SubscribeFunction } from './RelayNetworkTypes';

@@ -5,0 +6,0 @@ export type GraphiQLPrinter = (request: RequestParameters, variables: Variables) => string;

import { RequestParameters } from '../util/RelayConcreteNode';
import { Variables, CacheConfig, UploadableMap, GraphQLResponse } from '../../index';
import { Variables, CacheConfig } from '../util/RelayRuntimeTypes';
import { UploadableMap, GraphQLResponse } from './RelayNetworkTypes';

@@ -4,0 +5,0 @@ export interface RelayNetworkLog {

@@ -97,2 +97,25 @@ export type NormalizationArgument = NormalizationLiteral | NormalizationVariable;

export interface NormalizationConnection {
kind: string;
label: string;
name: string;
args: ReadonlyArray<NormalizationArgument>;
edges: NormalizationLinkedField;
pageInfo: NormalizationLinkedField;
}
export interface NormalizationLocalArgumentDefinition {
kind: string;
name: string;
type: string;
defaultValue: any;
}
export interface NormalizationModuleImport {
kind: string;
documentName: string;
fragmentPropName: string;
fragmentName: string;
}
export interface NormalizationLocalArgument {

@@ -99,0 +122,0 @@ readonly kind: string; // 'LocalArgument';

@@ -165,1 +165,23 @@ import { ConnectionMetadata } from '../handlers/connection/RelayConnectionHandler';

}
export interface ReaderConnection {
readonly kind: string;
readonly label: string;
readonly name: string;
readonly args: ReadonlyArray<ReaderArgument>;
readonly edges: ReaderLinkedField;
readonly pageInfo: ReaderLinkedField;
}
export interface ReaderInlineDataFragmentSpread {
readonly kind: string;
readonly name: string;
readonly selections: ReadonlyArray<ReaderSelection>;
}
export interface ReaderModuleImport {
readonly kind: string;
readonly documentName: string;
readonly fragmentPropName: string;
readonly fragmentName: string;
}

@@ -21,3 +21,3 @@ import { NormalizationOperation, NormalizationSplitOperation } from './NormalizationNode';

declare const RelayConcreteNode: {
export const RelayConcreteNode: {
CONDITION: 'Condition';

@@ -46,3 +46,1 @@ CLIENT_EXTENSION: 'ClientExtension';

};
export default RelayConcreteNode;
{
"name": "@types/relay-runtime",
"version": "6.0.2",
"version": "6.0.3",
"description": "TypeScript definitions for relay-runtime",

@@ -37,4 +37,4 @@ "license": "MIT",

"dependencies": {},
"typesPublisherContentHash": "0706db7eeb37618e236165d6833211acd793828b6e9ee7d2c1b0ea8d0549f501",
"typesPublisherContentHash": "dcbe519b1b253af51b7e69e226d04b78d6d572c77fc2828159ae8c9a3d7eb1dc",
"typeScriptVersion": "3.0"
}

@@ -11,3 +11,3 @@ # Installation

Additional Details
* Last updated: Tue, 24 Sep 2019 22:36:00 GMT
* Last updated: Fri, 27 Sep 2019 12:57:02 GMT
* Dependencies: none

@@ -14,0 +14,0 @@ * Global values: none

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc