@aws-amplify/datastore
Version:
AppSyncLocal support for aws-amplify
40 lines (39 loc) • 1.54 kB
TypeScript
import Observable from 'zen-observable-ts';
import { InternalSchema, PersistentModel, SchemaModel, ModelPredicate, AuthModeStrategy, ErrorHandler, AmplifyContext } from '../../types';
import { TransformerMutationType } from '../utils';
export declare enum CONTROL_MSG {
CONNECTED = "CONNECTED"
}
export declare enum USER_CREDENTIALS {
'none' = 0,
'unauth' = 1,
'auth' = 2
}
declare class SubscriptionProcessor {
private readonly schema;
private readonly syncPredicates;
private readonly amplifyConfig;
private readonly authModeStrategy;
private readonly errorHandler;
private readonly amplifyContext;
private readonly typeQuery;
private buffer;
private dataObserver;
private runningProcesses;
constructor(schema: InternalSchema, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any> | null>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy, errorHandler: ErrorHandler, amplifyContext?: AmplifyContext);
private buildSubscription;
private getAuthorizationInfo;
private hubQueryCompletionListener;
start(): [Observable<CONTROL_MSG>, Observable<[TransformerMutationType, SchemaModel, PersistentModel]>];
stop(): Promise<void>;
private passesPredicateValidation;
private pushToBuffer;
private drainBuffer;
/**
* @returns true if the service returned an RTF subscription error
* @remarks logs a warning with remediation instructions
*
*/
private catchRTFError;
}
export { SubscriptionProcessor };