Comparing version 1.2.0 to 1.2.1
@@ -0,1 +1,2 @@ | ||
import { XOR } from '../../util'; | ||
import { PostbackButton, URLButton } from './send'; | ||
@@ -96,4 +97,4 @@ export interface MessengerProfile { | ||
*/ | ||
call_to_actions: (PostbackButton | URLButton)[]; | ||
call_to_actions: (XOR<[PostbackButton, URLButton]>)[]; | ||
} | ||
export {}; |
@@ -0,1 +1,2 @@ | ||
import { XOR } from '../../util'; | ||
export interface PageMessageRequest { | ||
@@ -102,3 +103,3 @@ /** | ||
} | ||
declare type QuickReply = QuickReplyText | QuickReplyTextWithImage | QuickReplyUserInfo; | ||
declare type QuickReply = XOR<[QuickReplyText, QuickReplyTextWithImage, QuickReplyUserInfo]>; | ||
interface PageMessageWithText extends PageMessageBase { | ||
@@ -116,3 +117,3 @@ /** | ||
} | ||
declare type PageMessage = PageMessageWithText | PageMessageWithAttachment; | ||
declare type PageMessage = XOR<[PageMessageWithText, PageMessageWithAttachment]>; | ||
interface PageMessageAttachmentBase { | ||
@@ -148,4 +149,4 @@ /** | ||
} | ||
declare type PageMessageAttachment = PageMessageFileAttachment | PageMessageTemplateAttachment; | ||
declare type MessageTemplate = GenericTemplate | ButtonTemplate | MediaTemplate | ReceiptTemplate | AirlineBoardingPassTemplate | AirlineCheckInTemplate | AirlineItineraryTemplate | AirlineFlightUpdateTemplate; | ||
declare type PageMessageAttachment = XOR<[PageMessageFileAttachment, PageMessageTemplateAttachment]>; | ||
declare type MessageTemplate = XOR<[GenericTemplate, ButtonTemplate, MediaTemplate, ReceiptTemplate, AirlineBoardingPassTemplate, AirlineCheckInTemplate, AirlineItineraryTemplate, AirlineFlightUpdateTemplate]>; | ||
declare type AirlineTemplateType = `airline_${'boardingpass' | 'checkin' | 'itinerary' | 'update'}`; | ||
@@ -505,3 +506,3 @@ interface MessageTemplateBase { | ||
} | ||
declare type AirlineBoardingPassTemplateBoardingPass = AirlineBoardingPassTemplateBoardingPassWithQRCode | AirlineBoardingPassTemplateBoardingPassWithBarCode; | ||
declare type AirlineBoardingPassTemplateBoardingPass = XOR<[AirlineBoardingPassTemplateBoardingPassWithQRCode, AirlineBoardingPassTemplateBoardingPassWithBarCode]>; | ||
interface AirlineCheckInTemplate extends AirlineMessageTemplateBase { | ||
@@ -699,3 +700,3 @@ template_type: 'airline_checkin'; | ||
} | ||
export declare type URLButton = URLButtonBase | URLButtonUsingMessengerExtensions; | ||
export declare type URLButton = XOR<[URLButtonBase, URLButtonUsingMessengerExtensions]>; | ||
export interface PostbackButton extends MessageButtonBase { | ||
@@ -733,3 +734,3 @@ type: 'postback'; | ||
} | ||
declare type MessageButton = URLButton | PostbackButton | CallButton | LoginButton | LogoutButton; | ||
declare type MessageButton = XOR<[URLButton, PostbackButton, CallButton, LoginButton, LogoutButton]>; | ||
export {}; |
@@ -6,1 +6,12 @@ export declare type ValuesUnion<T> = T[keyof T]; | ||
export declare type DePromise<T> = T extends Promise<infer U> ? U : never; | ||
declare type XORBase<T1, T2> = (T1 & { | ||
[K in Exclude<keyof T2, keyof T1>]?: never; | ||
}) | (T2 & { | ||
[K in Exclude<keyof T1, keyof T2>]?: never; | ||
}); | ||
declare type XOR2<T1, T2> = XORBase<T1, T2>; | ||
declare type XOR3<T1, T2, T3> = XORBase<XORBase<T1, T2>, T3>; | ||
declare type HasAtLeastTwo<T extends {}[]> = T[0] & T[1] extends undefined ? false : true; | ||
declare type RemoveFirstTwo<T extends {}[]> = T extends [any, any, ...infer U] ? U : never; | ||
export declare type XOR<T extends {}[]> = HasAtLeastTwo<T> extends true ? HasAtLeastTwo<RemoveFirstTwo<T>> extends true ? XOR3<T[0], T[1], XOR<RemoveFirstTwo<T>>> : T[2] extends undefined ? XOR2<T[0], T[1]> : XOR3<T[0], T[1], T[2]> : never; | ||
export {}; |
{ | ||
"name": "fbsdk-ts", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"description": "Strongly-typed promise-based client library for Facebook's Graph API using TypeScript", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
375421
11598