Capacitor plugin for use of the Google MLKit Digital Ink Recognition models.
npm install capacitor-mlkit-digitalink-plugin
npx cap sync
initializePlugin()
erase()
logStrokes(...)
doRecognition(...)
downloadSingularModel(...)
downloadMultipleModels(...)
deleteModel(...)
getDownloadedModels()
- Interfaces
- Type Aliases
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() => Promise<{ ok: boolean; msg: string; }>
Erases natively stored stroke/point/ink data
Returns: Promise<{ ok: boolean; msg: string; }>
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(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(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(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(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() => Promise<{ ok: true; msg: string; models: string[]; }>
Returns: Promise<{ ok: true; msg: string; models: string[]; }>
Prop | Type |
---|---|
x |
number[] |
y |
number[] |
t |
number[] |
Prop | Type |
---|---|
model |
string |
context |
string |
writingArea |
{ w: number; h: number; } |
Prop | Type |
---|---|
model |
string |
Prop | Type |
---|---|
ok |
boolean |
done |
boolean |
msg |
string |
Prop | Type |
---|---|
models |
string[] |
Prop | Type |
---|---|
all |
boolean |
model |
string |
models |
string[] |
(response: Response, error?: any): void
string
(response: Response, error?: any): void
(response: Response, error?: any): void