UNPKG

@greg-md/ng-facebook

Version:
62 lines (61 loc) 2.11 kB
import { NgZone } from '@angular/core'; import { Observable, ReplaySubject } from 'rxjs'; export interface FacebookInitParams { appId?: string; status?: boolean; xfbml?: boolean; version?: string; } export interface FacebookAuth { accessToken: string; expiresIn: number; signedRequest: string; userID: string; } export interface FacebookLoginResponse { status: string; authResponse: FacebookAuth; } export interface FacebookLoginOptions { auth_type?: 'rerequest'; scope?: string; return_scopes?: boolean; enable_profile_selector?: boolean; profile_selector_ids?: string; } export interface FacebookApiError { message: string; } export declare const enum FacebookApiMethod { Get = "get", Post = "post", Delete = "delete", } export interface FacebookApiParams { [propName: string]: any; } export declare type FacebookApiCallback = (response?: { error?: FacebookApiError; [propName: string]: any; }) => void; export interface Facebook { XFBML: { parse: (element: HTMLElement, cb?: () => void) => void; }; init: (params: FacebookInitParams) => void; login: (callback?: (response: FacebookLoginResponse) => void, options?: FacebookLoginOptions) => void; api: (path: string, method?: FacebookApiMethod | FacebookApiParams | FacebookApiCallback, params?: FacebookApiParams | FacebookApiCallback, callback?: FacebookApiCallback) => void; } export declare const FACEBOOK_DEFAULTS: FacebookInitParams; export declare class FacebookService { private ngZone; private platformId; sdk: ReplaySubject<Facebook>; constructor(ngZone: NgZone, platformId: string); load(locale?: string): Observable<Facebook>; init(params?: FacebookInitParams, locale?: string): Observable<Facebook>; login(options?: FacebookLoginOptions): Observable<FacebookAuth>; api(path: string, method?: FacebookApiMethod | FacebookApiParams, params?: FacebookApiParams): Observable<Object>; parse(element: HTMLElement): Observable<HTMLElement>; reloadRenderedElements(): Observable<HTMLElement>; }