LanguageDetector: measureInputUsage() method
Experimental:This is anexperimental technology
Check theBrowser compatibility table carefully before using this in production.
Secure context: This feature is available only insecure contexts (HTTPS), in some or allsupporting browsers.
ThemeasureInputUsage()
method of theLanguageDetector
interface reports how much input quota would be used by a language detection operation for a given text input.
In this article
Syntax
measureInputUsage(input)measureInputUsage(input, options)
Parameters
input
A string representing the input text you want an input usage measurement for.
options
OptionalAn object specifying configuration options for the
measureInputUsage()
operation. Possible values include:signal
An
AbortSignal
object instance, which allows themeasureInputUsage()
operation to be aborted via the associatedAbortController
.
Return value
APromise
that fulfills with a number specifying theinputQuota
usage of the given input text.
This number is implementation-dependant; if it is less than theinputQuota
, the string's language can be detected.
Exceptions
NotAllowedError
DOMException
Thrown if usage of the
LanguageDetector
API is blocked by alanguage-detector
Permissions-Policy
.UnknownError
DOMException
Thrown if the
measureInputUsage()
call failed for any other reason, or a reason the user agent did not wish to disclose.
Examples
>Checking if you have enough quota
In the below snippet, we create a newLanguageDetector
instance usingcreate()
, then return the total input quota viainputQuota
and the input quota usage for a detecting a particular text string's language viameasureInputUsage()
.
We then test to see if the individual input usage for that string is greater than the total available quota. If so, we throw an appropriate error; it not, we commence detecting the string's language usingdetect()
.
const detector = await LanguageDetector.create({ expectedInputLanguages: ["en-US", "zh"],});const totalInputQuota = detector.inputQuota;const inputUsage = await detector.measureInputUsage(myTextString);if (inputUsage > totalInputQuota) { throw new Error("Insufficient quota to detect languages.");} else { console.log("Quota available to detect languages."); const results = await detector.detect(myTextString); // ...}
Specifications
Specification |
---|
Translator and Language Detector APIs> # dom-languagedetector-measureinputusage> |
Browser compatibility
Loading…