npm.io
3.0.4 • Published 8 months ago

@nativescript/mlkit-barcode-scanning

Licence
Apache-2.0
Version
3.0.4
Deps
0
Size
26 kB
Vulns
0
Weekly
0
Stars
29

@nativescript/mlkit-barcode-scanning

This plugin is used with @nativescript/mlkit-core. It enables barcode scanning and provides the BarcodeResult type for the barcode-scanned data.

Contents

Installation

npm install @nativescript/mlkit-barcode-scanning

Use @nativescript/mlkit-barcode-scanning

Follow these steps to scan a barcode:

  1. Add MLKitView to your page and set the detectionType property to "barcode".
<StackLayout>
    <MLKitView
    detectionType="barcode" 
    detection="{{ onDetection }}"
    />
    <Label row="6">
        <FormattedString>
            <Span text="Barcode: "/>
            <Span text="{{ barcode }}" class="text-green-500"/>
        </FormattedString>
    </Label>
</StackLayout>
  1. To receive the scanned barcode data, handle the detection event and get the data if the event's type is "barcode".
import { Observable } from "@nativescript/core"
import { DetectionEvent, DetectionType } from "@nativescript/mlkit-core";
import { BarcodeResult } from "@nativescript/mlkit-barcode-scanning";

export class BarcodeScannerViewModel extends Observable {
    barcode = ""
...
    onDetection(event: DetectionEvent){

        if(event.type == DetectionType.Barcode){
            const barcodeData: BarcodeResult = event.data[0] as BarcodeResult;
            this.set("barcode", barcodeData?.rawValue)
        }
}
}
Demo app

You can try a demo app at StackBlitz with the NativeScript Preview app.

API

Interfaces
BarcodeResult

The scanned barcode data object has the following properties:

Property Type Optional
format BarcodeFormats No
calendarEvent CalenderEvent Yes
contactInfo ContactInfo Yes
bounds Bounds Yes
points Point[] Yes
displayValue string Yes
driverLicense DriverLicense Yes
email Email Yes
geoPoint GeoPoint Yes
phone Phone Yes
rawBytes any[] Yes
rawValue string Yes
sms Sms Yes
url UrlBookmark Yes
valueType ValueType Yes
wifi WiFi Yes
WiFi
Property Type Optional
encryptionType string No
password string No
ssid string No
UrlBookmark
Property Type Optional
title string Yes
url string Yes
Sms
Property Type Optional
message string No
honeNumber string No
Phone
Property Type Optional
number string No
type PhoneType No
Email
Property Type Optional
address string No
subject string No
body string No
type EmailType
DriverLicense
Property Type Optional
documentType string No
firstName string No
middleName string No
lastName string No
gender string No
addressStreet string No
addressCity string No
addressState string No
addressZip string No
licenseNumber string No
issueDate string No
expiryDate string No
birthDate string No
issuingCountry string No
CalenderEvent
Property Type Optional
description string Yes
location string Yes
organizer string Yes
status string Yes
summary string Yes
start string Yes
end string Yes
Address
Property Type Optional
addressLines string[] No
type AddressType No
ContactInfo
Property Type Optional
addresses Address[] No
Origin
Property Type Optional
x number No
y number No
Size
Property Type Optional
width number No
height number No
Bounds
Property Type Optional
origin Origin No
size Size No
Point
Property Type Optional
x number No
y number No
GeoPoint
Property Type Optional
lat number No
lng number No
Enums
EncryptionType
  • Open = 'open'
  • WPA = 'wpa'
  • WEP = 'wep'
  • Unknown = 'unknown'
PhoneType
  • Unknown = "unknown"
  • Home = "home"
  • Work = "work"
  • Fax = "fax"
  • Mobile = "mobile"
EmailType
  • Unknown = "unknown"
  • Home = "home"
  • Work = "work"
AddressType
  • Unknown = "unknown"
  • Home = "home"
  • Work = "work"
ValueType
  • ContactInfo= "contactInfo"
  • Email= "email"
  • ISBN= "isbn"
  • Phone= "phone"
  • Product= "product"
  • Text= "text"
  • Sms= "sms"
  • URL= "url"
  • WiFi= "wifi"
  • Geo= "geo"
  • CalenderEvent= "calender"
  • DriverLicense= "driverLicense"
  • Unknown= "unknown"
BarcodeFormats
  • ALL = 'all'
  • CODE_128 = 'code_128'
  • CODE_39 = 'code_39'
  • CODE_93 = 'code_93'
  • CODABAR = 'codabar'
  • DATA_MATRIX = 'data_matrix'
  • EAN_13 = 'ean_13'
  • EAN_8 = 'ean_8'
  • ITF = 'itf'
  • QR_CODE = 'qr_code'
  • UPC_A = 'upc_a'
  • UPC_E = 'upc_e'
  • PDF417 = 'pdf417'
  • AZTEC = 'aztec'
  • UNKOWN = 'unknown'

License

Apache License Version 2.0