mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-08-04 00:00:08 +08:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7517aa234f |
@@ -111,6 +111,26 @@ export interface FirebaseUser {
|
||||
* name
|
||||
*/
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* whether the user is anonymous
|
||||
*/
|
||||
isAnonymous?: boolean;
|
||||
|
||||
/**
|
||||
* account creation timestamp in milliseconds
|
||||
*/
|
||||
creationTimestamp?: number;
|
||||
|
||||
/**
|
||||
* last sign-in timestamp in milliseconds
|
||||
*/
|
||||
lastSignInTimestamp?: number;
|
||||
|
||||
/**
|
||||
* array of linked provider info objects
|
||||
*/
|
||||
providers?: any[];
|
||||
}
|
||||
export interface MessagePayloadAps {
|
||||
alert?: {
|
||||
@@ -133,6 +153,59 @@ export interface MessagePayload {
|
||||
tap?: 'background' | 'foreground';
|
||||
aps?: MessagePayloadAps;
|
||||
}
|
||||
|
||||
export interface OnDeviceConversionUserIdentifier {
|
||||
/**
|
||||
* The user's email address. Mutually exclusive with phoneNumber.
|
||||
*/
|
||||
emailAddress?: string;
|
||||
|
||||
/**
|
||||
* The user's phone number in E.164 format. Mutually exclusive with emailAddress.
|
||||
*/
|
||||
phoneNumber?: string;
|
||||
}
|
||||
|
||||
export interface EnrollSecondAuthFactorOptions {
|
||||
/**
|
||||
* A display name for this factor. Auto-generated (masking all but the last 4 digits of the phone number) if not provided.
|
||||
*/
|
||||
displayName?: string;
|
||||
}
|
||||
|
||||
export interface VerifySecondAuthFactorParams {
|
||||
/**
|
||||
* Index of the enrolled factor to verify (for an MFA sign-in challenge).
|
||||
*/
|
||||
selectedIndex?: number;
|
||||
|
||||
/**
|
||||
* The verification ID from phone verification.
|
||||
*/
|
||||
verificationId?: string;
|
||||
|
||||
/**
|
||||
* The SMS verification code entered by the user.
|
||||
*/
|
||||
code?: string;
|
||||
}
|
||||
|
||||
export interface EnrolledSecondAuthFactor {
|
||||
/**
|
||||
* The factor's index.
|
||||
*/
|
||||
index: number;
|
||||
|
||||
/**
|
||||
* The enrolled phone number.
|
||||
*/
|
||||
phoneNumber: string;
|
||||
|
||||
/**
|
||||
* The display name for this factor, if set.
|
||||
*/
|
||||
displayName?: string;
|
||||
}
|
||||
/**
|
||||
* @name Firebase X
|
||||
* @description
|
||||
@@ -160,6 +233,10 @@ export interface MessagePayload {
|
||||
* ```
|
||||
* @interfaces
|
||||
* IChannelOptions
|
||||
* OnDeviceConversionUserIdentifier
|
||||
* EnrollSecondAuthFactorOptions
|
||||
* VerifySecondAuthFactorParams
|
||||
* EnrolledSecondAuthFactor
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FirebaseX',
|
||||
@@ -190,6 +267,66 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias for getId(). Returns the current Firebase Installation ID (FID).
|
||||
*
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getInstallationId(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a valid Firebase Installation auth token (always force-refreshed).
|
||||
*
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getInstallationToken(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the current Firebase Installation ID and all associated data. Firebase will generate a new FID on next access.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
deleteInstallationId(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a listener that is called whenever the Firebase Installation ID changes.
|
||||
*
|
||||
* @param {Function} fn - callback function to invoke with the new installation ID string
|
||||
*/
|
||||
@Cordova()
|
||||
registerInstallationIdChangeListener(fn: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a listener that is called when the application transitions to the foreground (iOS applicationDidBecomeActive / Android onResume).
|
||||
*
|
||||
* @param {Function} fn - callback function to invoke when the app becomes active
|
||||
*/
|
||||
@Cordova()
|
||||
registerApplicationDidBecomeActiveListener(fn: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a listener that is called when the application transitions to the background (iOS applicationDidEnterBackground / Android onPause).
|
||||
*
|
||||
* @param {Function} fn - callback function to invoke when the app enters the background
|
||||
*/
|
||||
@Cordova()
|
||||
registerApplicationDidEnterBackgroundListener(fn: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current FCM user.
|
||||
*
|
||||
@@ -261,6 +398,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* iOS 12+ only.
|
||||
* Get notified when the user taps the notification settings action in the system notification settings.
|
||||
* Requires UNAuthorizationOptionProvidesAppNotificationSettings.
|
||||
*
|
||||
* @returns {Observable<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
})
|
||||
onOpenSettings(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Grant permission to receive push notifications (will trigger prompt) and return hasPermission: true. iOS only (Android will always return true).
|
||||
*
|
||||
@@ -273,6 +424,19 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* iOS 12+ only. Grant critical alert permission (bypasses Do Not Disturb and the ringer switch). Requires a special Apple entitlement.
|
||||
* On Android this is a no-op and returns false.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['iOS'],
|
||||
})
|
||||
grantCriticalPermission(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check permission to receive push notifications and return hasPermission: true. iOS only (Android will always return true).
|
||||
*
|
||||
@@ -283,6 +447,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* iOS 12+ only. Check whether the app has critical alert permission. On Android this always returns false.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
hasCriticalPermission(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister from firebase, used to stop receiving push notifications. Call this when you logout user from your app.
|
||||
*/
|
||||
@@ -428,6 +602,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current analytics data collection enabled state.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isAnalyticsCollectionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable/disable Crashlytics collection.
|
||||
*
|
||||
@@ -439,6 +623,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current Crashlytics data collection enabled state.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isCrashlyticsCollectionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable/disable performance collection.
|
||||
*
|
||||
@@ -450,6 +644,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current performance data collection enabled state.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isPerformanceCollectionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log an event using Analytics
|
||||
*
|
||||
@@ -496,6 +700,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* iOS only. Initiates on-device conversion measurement using an email address or phone number.
|
||||
* Only one identifier type may be provided per call.
|
||||
*
|
||||
* @param {OnDeviceConversionUserIdentifier} userIdentifier
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['iOS'],
|
||||
})
|
||||
initiateOnDeviceConversionMeasurement(userIdentifier: OnDeviceConversionUserIdentifier): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Crashlytics user identifier.
|
||||
* To diagnose an issue, it’s often helpful to know which of your users experienced a given crash.
|
||||
@@ -512,6 +730,18 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a custom key-value pair for Crashlytics crash reports. Appears in the "Keys" tab of a crash report.
|
||||
*
|
||||
* @param {string} key
|
||||
* @param {string | number | boolean} value
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setCrashlyticsCustomKey(key: string, value: string | number | boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simulates (causes) a fatal native crash which causes a crash event to be sent to Crashlytics (useful for testing).
|
||||
* See the Firebase documentation regarding crash testing.
|
||||
@@ -552,6 +782,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the app crashed during the previous execution.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
didCrashOnPreviousExecution(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests verification of a phone number in order to authenticate a user and sign then into Firebase in your app.
|
||||
*
|
||||
@@ -583,6 +823,57 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrolls a phone number as a second authentication factor (MFA) for the current user.
|
||||
*
|
||||
* @param {string} number - phone number to enroll as a second factor, in E.164 format
|
||||
* @param {EnrollSecondAuthFactorOptions} [opts] - optional parameters
|
||||
* @returns {Promise<any>} resolves with the enrollment result (contains verificationId for SMS code entry)
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
enrollSecondAuthFactor(number: string, opts?: EnrollSecondAuthFactorOptions): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies a second authentication factor during an MFA sign-in challenge or enrollment.
|
||||
*
|
||||
* @param {VerifySecondAuthFactorParams} params
|
||||
* @param {object} [opts] - reserved for future use
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
verifySecondAuthFactor(params: VerifySecondAuthFactorParams, opts?: object): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists the second authentication factors enrolled for the current user.
|
||||
*
|
||||
* @returns {Promise<EnrolledSecondAuthFactor[]>}
|
||||
*/
|
||||
@Cordova()
|
||||
listEnrolledSecondAuthFactors(): Promise<EnrolledSecondAuthFactor[]> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes an enrolled second authentication factor from the current user.
|
||||
*
|
||||
* @param {number} selectedIndex - index of the enrolled factor to remove (from listEnrolledSecondAuthFactors())
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
unenrollSecondAuthFactor(selectedIndex: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switch current authentification system language, for example, the phone sms code.
|
||||
*
|
||||
@@ -626,6 +917,19 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an email/password credential without signing in. The returned credential can be used with
|
||||
* signInWithCredential(), linkUserWithCredential(), or reauthenticateWithCredential().
|
||||
*
|
||||
* @param email
|
||||
* @param password
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
authenticateUserWithEmailAndPassword(email: string, password: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signs in user with custom token.
|
||||
*
|
||||
@@ -666,6 +970,43 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticates the user with Microsoft Sign-In via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
|
||||
*
|
||||
* @param locale - optional locale to pass to the Microsoft sign-in provider
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
authenticateUserWithMicrosoft(locale?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticates the user with Facebook using an access token obtained from the Facebook SDK.
|
||||
* Returns a credential for use with signInWithCredential().
|
||||
*
|
||||
* @param accessToken - a Facebook access token obtained via the Facebook Login SDK
|
||||
*/
|
||||
@Cordova()
|
||||
authenticateUserWithFacebook(accessToken: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticates the user with a generic OAuth provider via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
|
||||
*
|
||||
* @param providerId - the OAuth provider ID (e.g. "github.com", "twitter.com", "yahoo.com")
|
||||
* @param customParameters - optional custom OAuth parameters to send to the provider
|
||||
* @param scopes - optional OAuth scopes to request from the provider
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
authenticateUserWithOAuth(providerId: string, customParameters?: object, scopes?: string[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Links the user account to an existing Firebase user account with credentials obtained using verifyPhoneNumber().
|
||||
* See the Android- and iOS-specific Firebase documentation for more info.
|
||||
@@ -691,6 +1032,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unlinks a provider from the currently signed-in user, removing that sign-in method.
|
||||
*
|
||||
* @param {string} providerId - the provider ID to unlink (e.g. "google.com", "password", "phone")
|
||||
*/
|
||||
@Cordova()
|
||||
unlinkUserWithProvider(providerId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if there is a current Firebase user signed into the app.
|
||||
*/
|
||||
@@ -729,6 +1080,17 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a verification email to the specified new email address before updating.
|
||||
* The email is only updated after the user clicks the verification link.
|
||||
*
|
||||
* @param email - the new email address to verify
|
||||
*/
|
||||
@Cordova()
|
||||
verifyBeforeUpdateEmail(email: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a verification email to the currently configured email address of the current Firebase user signed into the app.
|
||||
* When the user opens the contained link, their email address will have been verified.
|
||||
@@ -777,6 +1139,37 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a callback that fires whenever the user's ID token changes (sign-in, sign-out, and token refresh events).
|
||||
*
|
||||
* @param {Function} fn - callback function to invoke when the ID token changes
|
||||
*/
|
||||
@Cordova()
|
||||
registerAuthIdTokenChangeListener(fn: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures Firebase Auth to connect to a local Auth emulator for testing. Must be called before any other auth operations.
|
||||
*
|
||||
* @param {string} host - the emulator host (e.g. "localhost" or "10.0.2.2" for Android emulator)
|
||||
* @param {number} port - the emulator port (e.g. 9099)
|
||||
*/
|
||||
@Cordova()
|
||||
useAuthEmulator(host: string, port: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the custom claims from the current user's ID token. Custom claims are set server-side using the Firebase Admin SDK.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
getClaims(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch Remote Config parameter values for your app.
|
||||
*
|
||||
@@ -809,6 +1202,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset all Remote Config values back to defaults. Note: not currently available on iOS.
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
resetRemoteConfig(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a Map of Firebase Remote Config key value pairs.
|
||||
*
|
||||
@@ -834,6 +1237,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Android only. Retrieve a Remote Config byte array.
|
||||
*
|
||||
* @deprecated Removed upstream in cordova-plugin-firebasex 20.0.0 (modular plugin rewrite); no longer present in the Remote Config API.
|
||||
* @param {string} key
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@@ -1033,6 +1437,86 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a document exists in a Firestore collection.
|
||||
*
|
||||
* @param {string} documentId - document ID of the document to check.
|
||||
* @param {string} collection - name of top-level collection to check.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
documentExistsInFirestoreCollection(documentId: string, collection: string): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a real-time listener on a single document in a Firestore collection.
|
||||
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
|
||||
* then with {eventType: "change", snapshot, source, fromCache} on each change.
|
||||
* Call removeFirestoreListener() with the returned listener ID to stop listening.
|
||||
*
|
||||
* @param {string} documentId - document ID of the document to listen to.
|
||||
* @param {string} collection - name of top-level collection to listen to.
|
||||
* @param {boolean} includeMetadata - whether to include metadata-only changes.
|
||||
* @returns {Observable<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
observable: true,
|
||||
})
|
||||
listenToDocumentInFirestoreCollection(
|
||||
documentId: string,
|
||||
collection: string,
|
||||
includeMetadata?: boolean
|
||||
): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a real-time listener on an entire Firestore collection, optionally filtered.
|
||||
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
|
||||
* then with {eventType: "change", documents: {...}} on each change.
|
||||
* Call removeFirestoreListener() with the returned listener ID to stop listening.
|
||||
*
|
||||
* @param {string} collection - name of top-level collection to listen to.
|
||||
* @param {Array} filters - filters to apply to the collection (same format as fetchFirestoreCollection()).
|
||||
* @param {boolean} includeMetadata - whether to include metadata-only changes.
|
||||
* @returns {Observable<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
observable: true,
|
||||
})
|
||||
listenToFirestoreCollection(collection: string, filters?: any[], includeMetadata?: boolean): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a previously registered Firestore snapshot listener.
|
||||
*
|
||||
* @param {string} listenerId - the listener ID returned in the initial listener response.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
})
|
||||
removeFirestoreListener(listenerId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Invokes an HTTPS-callable Cloud Function by name.
|
||||
*
|
||||
* @param {string} name - the name of the Cloud Function to call.
|
||||
* @param {any} args - arguments to pass to the function (any JSON-serialisable value).
|
||||
* @returns {Promise<any>} the function's return value
|
||||
*/
|
||||
@Cordova()
|
||||
functionsHttpsCallable(name: string, args: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set new V2 consent mode
|
||||
*
|
||||
|
||||
@@ -40,15 +40,7 @@ export class GeniusScan extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
scanWithConfiguration(configuration?: ScanConfiguration): Promise<SuccessScanResult> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the barcode scanner module.
|
||||
*/
|
||||
@Cordova()
|
||||
scanBarcodesWithConfiguration(configuration?: BarcodeConfiguration): Promise<BarcodeResult> {
|
||||
scanWithConfiguration(configuration: ScanConfiguration): Promise<SuccessScanResult> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -82,31 +74,15 @@ interface ScanConfiguration {
|
||||
multiPageFormat?: 'pdf' | 'tiff' | 'none';
|
||||
|
||||
/**
|
||||
* The filter that will be applied by default to enhance scans, or 'none' if no
|
||||
* enhancement should be performed by default. Possible values include 'automatic',
|
||||
* 'automaticColor', 'automaticBlackAndWhite', 'automaticMonochrome', 'photo',
|
||||
* 'softBlackAndWhite', 'softColor', 'strongMonochrome', 'strongBlackAndWhite',
|
||||
* 'strongColor', 'darkBackground' and 'none' (defaults to 'automatic').
|
||||
* (by default, the filter is chosen automatically)
|
||||
*/
|
||||
defaultFilter?: string;
|
||||
|
||||
/**
|
||||
* an array of filters that the user can select when they tap on the edit filter button.
|
||||
* Defaults to ['none', 'automatic', 'automaticMonochrome', 'automaticBlackAndWhite', 'automaticColor', 'photo'].
|
||||
*/
|
||||
availableFilters?: string[];
|
||||
defaultFilter?: 'none' | 'blackAndWhite' | 'monochrome' | 'color' | 'photo';
|
||||
|
||||
/**
|
||||
* defaults to fit
|
||||
*/
|
||||
pdfPageSize?: 'fit' | 'a4' | 'letter';
|
||||
|
||||
/**
|
||||
* Optional password used to protect generated PDF documents. Empty passwords are
|
||||
* treated as no password. Only applies when multiPageFormat is 'pdf'.
|
||||
*/
|
||||
pdfPassword?: string;
|
||||
|
||||
/**
|
||||
* max dimension in pixels when images are scaled before PDF generation,
|
||||
* for example 2000 to fit both height and width within 2000px.
|
||||
@@ -127,42 +103,12 @@ interface ScanConfiguration {
|
||||
*/
|
||||
jpegQuality?: number;
|
||||
|
||||
/**
|
||||
* Whether to skip showing the post-processing screen. Only recommended when
|
||||
* scanning structured data; generally the user should visually confirm each scan.
|
||||
*/
|
||||
skipPostProcessingScreen?: boolean;
|
||||
|
||||
/**
|
||||
* an array with the desired actions to display during the post processing screen
|
||||
* (defaults to all actions).
|
||||
*/
|
||||
postProcessingActions?: ('rotate' | 'editFilter' | 'correctDistortion')[];
|
||||
|
||||
/**
|
||||
* whether a curvature correction should be applied by default (defaults to 'disabled').
|
||||
*/
|
||||
defaultCurvatureCorrection?: 'enabled' | 'disabled';
|
||||
|
||||
/**
|
||||
* automatically show crop validation after capture. 'never', 'always', or an object
|
||||
* with a confidence threshold below which validation should be shown.
|
||||
*/
|
||||
showCropValidation?:
|
||||
'never' | 'always' | { whenConfidenceBelowOrEqual: 'lowest' | 'low' | 'medium' | 'high' | 'highest' };
|
||||
|
||||
/**
|
||||
* 'automatic' to rotate scan automatically after capture or 'original' to keep the
|
||||
* original scan orientation (defaults to 'automatic').
|
||||
*/
|
||||
defaultScanOrientation?: 'automatic' | 'original';
|
||||
|
||||
/**
|
||||
* whether the button allowing the user to pick an image on the Camera screen
|
||||
* should be hidden (defaults to false).
|
||||
*/
|
||||
photoLibraryButtonHidden?: boolean;
|
||||
|
||||
/**
|
||||
* (default to false)
|
||||
*/
|
||||
@@ -214,68 +160,13 @@ interface ScanConfiguration {
|
||||
*/
|
||||
outputFormats?: ('rawText' | 'hOCR' | 'textLayerInPDF')[];
|
||||
};
|
||||
|
||||
/**
|
||||
* an array of the structured data you want to extract. E.g.: ['receipt', 'businessCard'].
|
||||
* Possible values are 'receipt', 'barcode', 'bankDetails' (iOS only), 'businessCard' (iOS only).
|
||||
*/
|
||||
structuredData?: string[];
|
||||
|
||||
/**
|
||||
* an array of the barcode types to extract, e.g. ['qr', 'code39']. Possible values are
|
||||
* 'aztec', 'code39', 'code93', 'code128', 'dataMatrix', 'ean8', 'ean13', 'itf', 'pdf417',
|
||||
* 'qr', 'upca' (Android only), 'upce', 'codabar' (iOS 15+ only), 'gs1DataBar' (iOS 15+ only),
|
||||
* 'microPDF417' (iOS 15+ only), 'microQR' (iOS 15+ only), 'msiPlessey' (iOS 17+ only).
|
||||
*/
|
||||
structuredDataBarcodeTypes?: string[];
|
||||
|
||||
/**
|
||||
* the required readability level below which a warning will be displayed to the user
|
||||
* (defaults to 'lowest', which means the warning will never be displayed).
|
||||
*/
|
||||
requiredReadabilityLevel?: 'lowest' | 'low' | 'medium' | 'high' | 'highest';
|
||||
|
||||
/**
|
||||
* whether the final review screen should be displayed before submission (default to false).
|
||||
*/
|
||||
showFinalReview?: boolean;
|
||||
}
|
||||
|
||||
interface BarcodeConfiguration {
|
||||
/**
|
||||
* whether the barcode scanner should keep scanning and accumulating results after
|
||||
* detecting a first barcode.
|
||||
*/
|
||||
isBatchModeEnabled?: boolean;
|
||||
|
||||
/**
|
||||
* an array of the barcode types to detect. Defaults to all supported types.
|
||||
*/
|
||||
supportedCodeTypes?: string[];
|
||||
}
|
||||
|
||||
interface BarcodeResult {
|
||||
/**
|
||||
* an array of the detected barcodes.
|
||||
*/
|
||||
barcodes: {
|
||||
/**
|
||||
* the decoded value of the barcode.
|
||||
*/
|
||||
value: string;
|
||||
|
||||
/**
|
||||
* the type of the barcode, e.g. 'qr', 'code128'.
|
||||
*/
|
||||
type: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
interface SuccessScanResult {
|
||||
/**
|
||||
* a document containing all the scanned pages (example: "file://.pdf")
|
||||
*/
|
||||
multiPageDocumentUrl?: string;
|
||||
multiPageDocumentUrl: string;
|
||||
|
||||
/**
|
||||
* an array of scan objects.
|
||||
@@ -292,9 +183,9 @@ interface SuccessScanResult {
|
||||
enhancedUrl: string;
|
||||
|
||||
/**
|
||||
* the result of text recognition for this scan, present when ocrConfiguration was set.
|
||||
* the result of text recognition for this scan
|
||||
*/
|
||||
ocrResult?: {
|
||||
ocrResult: {
|
||||
/**
|
||||
* the raw text that was recognized
|
||||
*/
|
||||
@@ -303,14 +194,8 @@ interface SuccessScanResult {
|
||||
/**
|
||||
* the recognized text in hOCR format (with position, style…)
|
||||
*/
|
||||
hocrTextLayout?: string;
|
||||
hocrTextLayout: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* the result of the structured data extraction, present when structuredData was set.
|
||||
* A subdictionary is present for each type of structured data detected.
|
||||
*/
|
||||
structuredData?: any;
|
||||
}[];
|
||||
}
|
||||
|
||||
@@ -324,7 +209,7 @@ interface GenerateDocumentPages {
|
||||
/**
|
||||
* the text layout in hOCR format
|
||||
*/
|
||||
hocrTextLayout?: string;
|
||||
hocrTextLayout: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user