capacitor-mlkit-digitalink-plugin
v0.3.0
Published
Capacitor plugin for use of the Google MLKit Digital Ink Recognition models.
Downloads
22
Readme
capacitor-mlkit-digitalink-plugin
Capacitor plugin for use of the Google MLKit Digital Ink Recognition models.
Install
npm install capacitor-mlkit-digitalink-plugin
npx cap sync
API
initializePlugin()
erase()
logStrokes(...)
doRecognition(...)
downloadSingularModel(...)
downloadMultipleModels(...)
deleteModel(...)
getDownloadedModels()
- Interfaces
- Type Aliases
initializePlugin()
initializePlugin() => Promise<{ ok: boolean; msg: string; }>
Initializes notifications on iOS -- NOT supported in Android due to the use of other event listeners
Returns: Promise<{ ok: boolean; msg: string; }>
erase()
erase() => Promise<{ ok: boolean; msg: string; }>
Erases natively stored stroke/point/ink data
Returns: Promise<{ ok: boolean; msg: string; }>
logStrokes(...)
logStrokes(options: XYTOptions) => Promise<{ ok: boolean; msg: string; options: XYTOptions; }>
Sends XY coordinate data to native code to be prepared for model inference Can include/exclude time values Ensure all units for coordinates/time are consistent between logs. Unit types don't matter, they just need to be the same -- all values are normalized
| Param | Type | Description |
| ------------- | ------------------------------------------------- | -------------------------------------------------------- |
| options
| XYTOptions | - [ X coordinate, Y coordinate, T time in milliseconds ] |
Returns: Promise<{ ok: boolean; msg: string; options: XYTOptions; }>
doRecognition(...)
doRecognition(options: RecognitionOptions) => Promise<{ ok: boolean; msg: string; results: { candidates: string[]; scores: number[]; }; options: RecognitionOptions; }>
Runs inference either on the provided model via the model param, or on the default English model. All params are optional.
| Param | Type |
| ------------- | ----------------------------------------------------------------- |
| options
| RecognitionOptions |
Returns: Promise<{ ok: boolean; msg: string; results: { candidates: string[]; scores: number[]; }; options: RecognitionOptions; }>
downloadSingularModel(...)
downloadSingularModel(model: Model, callback: SingularModelCallback) => Promise<CallbackID>
Downloads singular model. Last callback has the 'done' property set to true, and signals the last callback.
| Param | Type | Description |
| -------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| model
| Model | model to download. Native code checks if model is valid and if it's already downloaded. |
| callback
| SingularModelCallback | callback function that runs each time data is sent from the native code. |
Returns: Promise<string>
downloadMultipleModels(...)
downloadMultipleModels(models: Models, callback: MultipleModelCallback) => Promise<CallbackID>
Downloads multiple models from a given array. Callback function will return a response or an error dependent on whether a given model has already been downloaded, is a valid/invalid model, or is finished being downloaded. The last model will be have the 'done' property set to true and signals the last callback.
| Param | Type | Description |
| -------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------- |
| models
| Models | array of models to download. |
| callback
| MultipleModelCallback | callback that runs each time data is sent from the native code. |
Returns: Promise<string>
deleteModel(...)
deleteModel(options: DeleteModelOptions, callback: DeleteModelCallback) => Promise<CallbackID>
Deletes a singular/collection of models downloaded to the device, or all models.
| Param | Type | Description |
| -------------- | ------------------------------------------------------------------- | ----------------------------------------------------------- |
| options
| DeleteModelOptions | delete all models, a singular model, or an array of models. |
| callback
| DeleteModelCallback | |
Returns: Promise<string>
getDownloadedModels()
getDownloadedModels() => Promise<{ ok: true; msg: string; models: string[]; }>
Returns: Promise<{ ok: true; msg: string; models: string[]; }>
Interfaces
XYTOptions
| Prop | Type |
| ------- | --------------------- |
| x
| number[] |
| y
| number[] |
| t
| number[] |
RecognitionOptions
| Prop | Type |
| ----------------- | -------------------------------------- |
| model
| string |
| context
| string |
| writingArea
| { w: number; h: number; } |
Model
| Prop | Type |
| ----------- | ------------------- |
| model
| string |
Response
| Prop | Type |
| ---------- | -------------------- |
| ok
| boolean |
| done
| boolean |
| msg
| string |
Models
| Prop | Type |
| ------------ | --------------------- |
| models
| string[] |
DeleteModelOptions
| Prop | Type |
| ------------ | --------------------- |
| all
| boolean |
| model
| string |
| models
| string[] |
Type Aliases
SingularModelCallback
(response: Response, error?: any): void
CallbackID
string
MultipleModelCallback
(response: Response, error?: any): void
DeleteModelCallback
(response: Response, error?: any): void