-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: automatically generate declaration files (#310)
* feat: automatically generate declaration files * chore: add NamiPaywallEvent type
- Loading branch information
1 parent
74fbc48
commit 4637061
Showing
11 changed files
with
329 additions
and
414 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,113 +1,8 @@ | ||
export const Nami: { | ||
configure: ( | ||
config: NamiConfiguration, | ||
resultCallback?: (resultObject: { success: boolean }) => void, | ||
) => void; | ||
}; | ||
|
||
export type NamiConfiguration = { | ||
'appPlatformID-apple': string; | ||
'appPlatformID-android': string; | ||
logLevel: string; | ||
namiCommands?: string[]; | ||
namiLanguageCode?: NamiLanguageCodes; | ||
initialConfig?: string; | ||
}; | ||
|
||
export type NamiLanguageCodes = | ||
| 'af' | ||
| 'ar' | ||
| 'ar-dz' | ||
| 'ast' | ||
| 'az' | ||
| 'bg' | ||
| 'be' | ||
| 'bn' | ||
| 'br' | ||
| 'bs' | ||
| 'ca' | ||
| 'cs' | ||
| 'cy' | ||
| 'da' | ||
| 'de' | ||
| 'dsb' | ||
| 'el' | ||
| 'en' | ||
| 'en-au' | ||
| 'en-gb' | ||
| 'eo' | ||
| 'es' | ||
| 'es-ar' | ||
| 'es-co' | ||
| 'es-mx' | ||
| 'es-ni' | ||
| 'es-ve' | ||
| 'et' | ||
| 'eu' | ||
| 'fa' | ||
| 'fi' | ||
| 'fr' | ||
| 'fy' | ||
| 'ga' | ||
| 'gd' | ||
| 'gl' | ||
| 'he' | ||
| 'hi' | ||
| 'hr' | ||
| 'hsb' | ||
| 'hu' | ||
| 'hy' | ||
| 'ia' | ||
| 'id' | ||
| 'ig' | ||
| 'io' | ||
| 'is' | ||
| 'it' | ||
| 'ja' | ||
| 'ka' | ||
| 'kab' | ||
| 'kk' | ||
| 'km' | ||
| 'kn' | ||
| 'ko' | ||
| 'ky' | ||
| 'lb' | ||
| 'lt' | ||
| 'lv' | ||
| 'mk' | ||
| 'ml' | ||
| 'mn' | ||
| 'mr' | ||
| 'my' | ||
| 'nb' | ||
| 'ne' | ||
| 'nl' | ||
| 'nn' | ||
| 'os' | ||
| 'pa' | ||
| 'pl' | ||
| 'pt' | ||
| 'pt-br' | ||
| 'ro' | ||
| 'ru' | ||
| 'sk' | ||
| 'sl' | ||
| 'sq' | ||
| 'sr' | ||
| 'sr-latn' | ||
| 'sv' | ||
| 'sw' | ||
| 'ta' | ||
| 'te' | ||
| 'tg' | ||
| 'th' | ||
| 'tk' | ||
| 'tr' | ||
| 'tt' | ||
| 'udm' | ||
| 'uk' | ||
| 'ur' | ||
| 'uz' | ||
| 'vi' | ||
| 'zh-hans' | ||
| 'zh-hant'; | ||
import { NamiConfiguration } from './types'; | ||
export declare const NamiBridge: any, NamiManager: any; | ||
export interface INami { | ||
configure: (config: NamiConfiguration, resultCallback?: (resultObject: { | ||
success: boolean; | ||
}) => void) => void; | ||
} | ||
export declare const Nami: INami; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,98 +1,18 @@ | ||
import { EmitterSubscription } from 'react-native'; | ||
import { NamiPaywallAction, NamiPurchase, NamiSKU } from './types'; | ||
|
||
export const NamiCampaignManager: { | ||
allCampaigns: () => Promise<Array<NamiCampaign>>; | ||
isCampaignAvailable(campaignSource: string | null): Promise<boolean>; | ||
launch: ( | ||
label?: string, | ||
withUrl?: string, | ||
context?: PaywallLaunchContext, | ||
resultCallback?: (success: boolean, error?: LaunchCampaignError) => void, | ||
actionCallback?: ( | ||
action: NamiPaywallAction, | ||
campaignId: string, | ||
paywallId: string, | ||
campaignName?: string, | ||
campaignType?: string, | ||
campaignLabel?: string, | ||
campaignUrl?: string, | ||
paywallName?: string, | ||
segmentId?: string, | ||
externalSegmentId?: string, | ||
deeplinkUrl?: string, | ||
skuId?: string, | ||
componentChangeId?: string, | ||
componentChangeName?: string, | ||
purchaseError?: string, | ||
purchases?: NamiPurchase[], | ||
) => void, | ||
) => void; | ||
refresh: () => void; | ||
registerAvailableCampaignsHandler: ( | ||
callback: (availableCampaigns: NamiCampaign[]) => void, | ||
) => EmitterSubscription['remove']; | ||
}; | ||
|
||
export type NamiCampaign = { | ||
id: string; | ||
rule: string; | ||
segment: string; | ||
paywall: string; | ||
type: NamiCampaignRule; | ||
value?: string | null; | ||
}; | ||
|
||
export enum NamiCampaignRule { | ||
DEFAULT = 'default', | ||
LABEL = 'label', | ||
UNKNOWN = 'unknown', | ||
URL = 'url', | ||
import { NativeEventEmitter, EmitterSubscription } from 'react-native'; | ||
import { LaunchCampaignError, NamiCampaign, NamiPaywallAction, NamiPurchase, PaywallLaunchContext } from './types'; | ||
export declare const RNNamiCampaignManager: any; | ||
export declare enum NamiCampaignManagerEvents { | ||
ResultCampaign = "ResultCampaign", | ||
AvailableCampaignsChanged = "AvailableCampaignsChanged" | ||
} | ||
|
||
export enum LaunchCampaignError { | ||
DEFAULT_CAMPAIGN_NOT_FOUND = 0, | ||
LABELED_CAMPAIGN_NOT_FOUND = 1, | ||
CAMPAIGN_DATA_NOT_FOUND = 2, | ||
PAYWALL_ALREADY_DISPLAYED = 3, | ||
SDK_NOT_INITIALIZED = 4, | ||
interface ICampaignManager { | ||
launchSubscription: EmitterSubscription | undefined; | ||
emitter: NativeEventEmitter; | ||
allCampaigns: () => Promise<Array<NamiCampaign>>; | ||
isCampaignAvailable(campaignSource: string | null): Promise<boolean>; | ||
launch: (label?: string, withUrl?: string, context?: PaywallLaunchContext, resultCallback?: (success: boolean, error?: LaunchCampaignError) => void, actionCallback?: (action: NamiPaywallAction, campaignId: string, paywallId: string, campaignName?: string, campaignType?: string, campaignLabel?: string, campaignUrl?: string, paywallName?: string, segmentId?: string, externalSegmentId?: string, deeplinkUrl?: string, skuId?: string, componentChangeId?: string, componentChangeName?: string, purchaseError?: string, purchases?: NamiPurchase[]) => void) => void; | ||
refresh: () => void; | ||
registerAvailableCampaignsHandler: (callback: (availableCampaigns: NamiCampaign[]) => void) => EmitterSubscription['remove']; | ||
} | ||
|
||
export enum LaunchCampaignResultAction { | ||
FAILURE = 'FAILURE', | ||
SUCCESS = 'SUCCESS', | ||
} | ||
|
||
export type FailureResultObject = { | ||
error: string; | ||
}; | ||
|
||
export type PaywallLaunchContext = { | ||
productGroups?: string[]; | ||
customAttributes?: { | ||
[key: string]: string; | ||
}; | ||
}; | ||
|
||
export type NamiPaywallEvent = { | ||
action: NamiPaywallAction; | ||
campaignId?: string; | ||
campaignName?: string; | ||
campaignType?: string; | ||
campaignLabel?: string; | ||
campaignUrl?: string; | ||
paywallId?: string; | ||
paywallName?: string; | ||
componentChange?: NamiPaywallComponentChange; | ||
segmentId?: string; | ||
externalSegmentId?: string; | ||
deeplinkUrl?: string; | ||
sku?: NamiSKU; | ||
purchaseError?: string; | ||
purchases?: NamiPurchase[]; | ||
}; | ||
|
||
export type NamiPaywallComponentChange = { | ||
id?: string; | ||
name?: string; | ||
}; | ||
export declare const NamiCampaignManager: ICampaignManager; | ||
export {}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,27 @@ | ||
import { EmitterSubscription } from 'react-native'; | ||
import { AccountStateAction } from './types'; | ||
|
||
export const NamiCustomerManager: { | ||
setCustomerAttribute: (key: string, value: string) => void; | ||
getCustomerAttribute: (key: string) => Promise<string | undefined>; | ||
clearCustomerAttribute: (key: string) => void; | ||
clearAllCustomerAttributes: () => void; | ||
journeyState: () => Promise<CustomerJourneyState | undefined>; | ||
isLoggedIn: () => Promise<boolean>; | ||
loggedInId: () => Promise<string | undefined>; | ||
deviceId: () => Promise<string>; | ||
login: (customerId: string) => void; | ||
logout: () => void; | ||
registerJourneyStateHandler: ( | ||
callback: (journeyState: CustomerJourneyState) => void, | ||
) => EmitterSubscription['remove']; | ||
registerAccountStateHandler: ( | ||
callback: ( | ||
action: AccountStateAction, | ||
success: boolean, | ||
error?: number, | ||
) => void, | ||
) => EmitterSubscription['remove']; | ||
clearCustomerDataPlatformId: () => void; | ||
setCustomerDataPlatformId: (platformId: string) => void; | ||
setAnonymousMode: (anonymousMode: boolean) => void; | ||
inAnonymousMode: () => Promise<boolean>; | ||
}; | ||
|
||
export type CustomerJourneyState = { | ||
formerSubscriber: boolean; | ||
inGracePeriod: boolean; | ||
inTrialPeriod: boolean; | ||
inIntroOfferPeriod: boolean; | ||
isCancelled: boolean; | ||
inPause: boolean; | ||
inAccountHold: boolean; | ||
}; | ||
import { NativeEventEmitter, EmitterSubscription } from 'react-native'; | ||
import { AccountStateAction, CustomerJourneyState } from './types'; | ||
export declare const RNNamiCustomerManager: any; | ||
export declare enum NamiCustomerManagerEvents { | ||
JourneyStateChanged = "JourneyStateChanged", | ||
AccountStateChanged = "AccountStateChanged" | ||
} | ||
export interface INamiCustomerManager { | ||
emitter: NativeEventEmitter; | ||
setCustomerAttribute: (key: string, value: string) => void; | ||
getCustomerAttribute: (key: string) => Promise<string | undefined>; | ||
clearCustomerAttribute: (key: string) => void; | ||
clearAllCustomerAttributes: () => void; | ||
journeyState: () => Promise<CustomerJourneyState | undefined>; | ||
isLoggedIn: () => Promise<boolean>; | ||
loggedInId: () => Promise<string | undefined>; | ||
deviceId: () => Promise<string>; | ||
login: (customerId: string) => void; | ||
logout: () => void; | ||
registerJourneyStateHandler: (callback: (journeyState: CustomerJourneyState) => void) => EmitterSubscription['remove']; | ||
registerAccountStateHandler: (callback: (action: AccountStateAction, success: boolean, error?: number) => void) => EmitterSubscription['remove']; | ||
clearCustomerDataPlatformId: () => void; | ||
setCustomerDataPlatformId: (platformId: string) => void; | ||
setAnonymousMode: (anonymousMode: boolean) => void; | ||
inAnonymousMode: () => Promise<boolean>; | ||
} | ||
export declare const NamiCustomerManager: INamiCustomerManager; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,15 @@ | ||
import { EmitterSubscription } from 'react-native'; | ||
import { NamiPurchase, NamiSKU } from './types'; | ||
|
||
export const NamiEntitlementManager: { | ||
active: () => Promise<Array<NamiEntitlement>>; | ||
isEntitlementActive: (label?: string) => boolean; | ||
refresh: ( | ||
resultCallback?: (entitlements?: NamiEntitlement[]) => void, | ||
) => void; | ||
registerActiveEntitlementsHandler: ( | ||
callback: (activeEntitlements: NamiEntitlement[]) => void, | ||
) => EmitterSubscription['remove']; | ||
clearProvisionalEntitlementGrants: () => void; | ||
}; | ||
|
||
export type NamiEntitlement = { | ||
activePurchases: NamiPurchase[]; | ||
desc: string; | ||
name: string; | ||
purchasedSkus: NamiSKU[]; | ||
referenceId: string; | ||
relatedSkus: NamiSKU[]; | ||
}; | ||
import { NativeEventEmitter, EmitterSubscription } from 'react-native'; | ||
import { NamiEntitlement } from './types'; | ||
export declare const RNNamiEntitlementManager: any; | ||
export declare enum NamiEntitlementManagerEvents { | ||
EntitlementsChanged = "EntitlementsChanged" | ||
} | ||
export interface INamiEntitlementManager { | ||
emitter: NativeEventEmitter; | ||
active: () => Promise<Array<NamiEntitlement>>; | ||
isEntitlementActive: (label?: string) => boolean; | ||
refresh: (resultCallback?: (entitlements?: NamiEntitlement[]) => void) => void; | ||
registerActiveEntitlementsHandler: (callback: (activeEntitlements: NamiEntitlement[]) => void) => EmitterSubscription['remove']; | ||
clearProvisionalEntitlementGrants: () => void; | ||
} | ||
export declare const NamiEntitlementManager: INamiEntitlementManager; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,7 @@ | ||
export const NamiMLManager: { | ||
coreAction: (label: string) => void; | ||
enterCoreContent: (label: string | string[]) => void; | ||
exitCoreContent: (label: string | string[]) => void; | ||
}; | ||
export declare const NamiMLManagerBridge: any; | ||
export interface INamiMLManager { | ||
coreAction: (label: string) => void; | ||
enterCoreContent: (label: string | string[]) => void; | ||
exitCoreContent: (label: string | string[]) => void; | ||
} | ||
export declare const NamiMLManager: INamiMLManager; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
export const NamiManager: { | ||
sdkConfigured: () => Promise<boolean>; | ||
}; | ||
export declare const RNNamiManager: any; | ||
export interface INamiManager { | ||
sdkConfigured: () => Promise<boolean>; | ||
} | ||
export declare const NamiManager: INamiManager; |
Oops, something went wrong.