1e41f4b71Sopenharmony_ci# @ohos.util (util) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe util module provides common utility functions, such as [TextEncoder](#textencoder) and [TextDecoder](#textdecoder) for string encoding and decoding, [RationalNumber<sup>8+</sup>](#rationalnumber8) for rational number operations, [LRUCache<sup>9+</sup>](#lrucache9) for cache management, [ScopeHelper<sup>9+</sup>](#scopehelper9) for range determination, [Base64Helper<sup>9+</sup>](#base64helper9) for Base64 encoding and decoding, [types<sup>8+</sup>](#types8) for built-in object type check, and [Aspect<sup>11+</sup>](#aspect11) for instrumentation and replacement on methods. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## Modules to Import 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { util } from '@kit.ArkTS'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci## util.format<sup>9+</sup> 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciformat(format: string, ...args: Object[]): string 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciFormats a string by replacing the placeholders in it. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**Parameters** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 28e41f4b71Sopenharmony_ci| ------- | -------- | ---- | -------------- | 29e41f4b71Sopenharmony_ci| format | string | Yes | Format string. This string contains zero or more placeholders, which specify the position and format of the arguments to be inserted.| 30e41f4b71Sopenharmony_ci| ...args | Object[] | No | Data used to replace the placeholders in **format**. If **null** is passed in, the first argument is returned by default.| 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**Return value** 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci| Type | Description | 35e41f4b71Sopenharmony_ci| ------ | -----------------| 36e41f4b71Sopenharmony_ci| string | Formatted string.| 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci**Error codes** 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci| ID| Error Message| 43e41f4b71Sopenharmony_ci| -------- | -------- | 44e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci**Format Specifiers** 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci| Specifier| Description | 49e41f4b71Sopenharmony_ci| ------ | -------------------------------- | 50e41f4b71Sopenharmony_ci| %s | Converts a parameter into a string for all values except **Object**, **BigInt**, and **-0**.| 51e41f4b71Sopenharmony_ci| %d | Converts a parameter into a decimal integer for all values except **Symbol** and **BigInt**.| 52e41f4b71Sopenharmony_ci| %i | Converts a string into a decimal integer for all values except **Symbol** and **BigInt**.| 53e41f4b71Sopenharmony_ci| %f | Converts a string into a floating point number for all values except **Symbol** and **BigInt**.| 54e41f4b71Sopenharmony_ci| %j | Converts a JavaScript object into a JSON string.| 55e41f4b71Sopenharmony_ci| %o | Converts a JavaScript object into a string, without containing the prototype chain information of the object.| 56e41f4b71Sopenharmony_ci| %O | Converts a JavaScript object into a string.| 57e41f4b71Sopenharmony_ci| %c | Valid only in the browser. It is ignored in other environments.| 58e41f4b71Sopenharmony_ci| %% | Placeholder for escaping the percent sign.| 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci**Example** 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci```ts 63e41f4b71Sopenharmony_ciimport { util } from '@kit.ArkTS'; 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ciinterface utilAddresstype { 66e41f4b71Sopenharmony_ci city: string; 67e41f4b71Sopenharmony_ci country: string; 68e41f4b71Sopenharmony_ci} 69e41f4b71Sopenharmony_ciinterface utilPersontype { 70e41f4b71Sopenharmony_ci name: string; 71e41f4b71Sopenharmony_ci age: number; 72e41f4b71Sopenharmony_ci address: utilAddresstype; 73e41f4b71Sopenharmony_ci} 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_cilet name = 'John'; 76e41f4b71Sopenharmony_cilet age = 20; 77e41f4b71Sopenharmony_cilet formattedString = util.format('My name is %s and I am %s years old', name, age); 78e41f4b71Sopenharmony_ciconsole.info(formattedString); 79e41f4b71Sopenharmony_ci// Output: My name is John and I am 20 years old 80e41f4b71Sopenharmony_cilet num = 10.5; 81e41f4b71Sopenharmony_ciformattedString = util.format('The number is %d', num); 82e41f4b71Sopenharmony_ciconsole.info(formattedString); 83e41f4b71Sopenharmony_ci// Output: The number is 10.5. 84e41f4b71Sopenharmony_cinum = 100.5; 85e41f4b71Sopenharmony_ciformattedString = util.format('The number is %i', num); 86e41f4b71Sopenharmony_ciconsole.info(formattedString); 87e41f4b71Sopenharmony_ci// Output: The number is 100. 88e41f4b71Sopenharmony_ciconst pi = 3.141592653; 89e41f4b71Sopenharmony_ciformattedString = util.format('The value of pi is %f', pi); 90e41f4b71Sopenharmony_ciconsole.info(formattedString); 91e41f4b71Sopenharmony_ci// Output: The value of pi is 3.141592653 92e41f4b71Sopenharmony_ciconst obj: Record<string,number | string> = { "name": 'John', "age": 20 }; 93e41f4b71Sopenharmony_ciformattedString = util.format('The object is %j', obj); 94e41f4b71Sopenharmony_ciconsole.info(formattedString); 95e41f4b71Sopenharmony_ci// Output: The object is {"name":"John","age":20}. 96e41f4b71Sopenharmony_ciconst person: utilPersontype = { 97e41f4b71Sopenharmony_ci name: 'John', 98e41f4b71Sopenharmony_ci age: 20, 99e41f4b71Sopenharmony_ci address: { 100e41f4b71Sopenharmony_ci city: 'New York', 101e41f4b71Sopenharmony_ci country: 'USA' 102e41f4b71Sopenharmony_ci } 103e41f4b71Sopenharmony_ci}; 104e41f4b71Sopenharmony_ciconsole.info(util.format('Formatted object using %%O: %O', person)); 105e41f4b71Sopenharmony_ciconsole.info(util.format('Formatted object using %%o: %o', person)); 106e41f4b71Sopenharmony_ci/* 107e41f4b71Sopenharmony_ciOutput: 108e41f4b71Sopenharmony_ciFormatted object using %O: { name: 'John', 109e41f4b71Sopenharmony_ci age: 20, 110e41f4b71Sopenharmony_ci address: 111e41f4b71Sopenharmony_ci { city: 'New York', 112e41f4b71Sopenharmony_ci country: 'USA' } } 113e41f4b71Sopenharmony_ciFormatted object using %o: { name: 'John', 114e41f4b71Sopenharmony_ci age: 20, 115e41f4b71Sopenharmony_ci address: 116e41f4b71Sopenharmony_ci { city: 'New York', 117e41f4b71Sopenharmony_ci country: 'USA' } } 118e41f4b71Sopenharmony_ci*/ 119e41f4b71Sopenharmony_ciconst percentage = 80; 120e41f4b71Sopenharmony_cilet arg = 'homework'; 121e41f4b71Sopenharmony_ciformattedString = util.format('John finished %d%% of the %s', percentage, arg); 122e41f4b71Sopenharmony_ciconsole.info(formattedString); 123e41f4b71Sopenharmony_ci// Output: John finished 80% of the homework 124e41f4b71Sopenharmony_ci``` 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci## util.errnoToString<sup>9+</sup> 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_cierrnoToString(errno: number): string 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ciObtains detailed information about a system error code. 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci**Parameters** 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 139e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------------- | 140e41f4b71Sopenharmony_ci| errno | number | Yes | Error code generated.| 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**Return value** 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci| Type | Description | 145e41f4b71Sopenharmony_ci| ------ | ---------------------- | 146e41f4b71Sopenharmony_ci| string | Detailed information about the error code.| 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**Error codes** 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| ID| Error Message| 153e41f4b71Sopenharmony_ci| -------- | -------- | 154e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci**Example** 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci```ts 159e41f4b71Sopenharmony_cilet errnum = -1; // -1 is a system error code. 160e41f4b71Sopenharmony_cilet result = util.errnoToString(errnum); 161e41f4b71Sopenharmony_ciconsole.info("result = " + result); 162e41f4b71Sopenharmony_ci``` 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci**Some error code and message examples** 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci| Error Code| Message | 167e41f4b71Sopenharmony_ci| ------ | -------------------------------- | 168e41f4b71Sopenharmony_ci| -1 | operation not permitted | 169e41f4b71Sopenharmony_ci| -2 | no such file or directory | 170e41f4b71Sopenharmony_ci| -3 | no such process | 171e41f4b71Sopenharmony_ci| -4 | interrupted system call | 172e41f4b71Sopenharmony_ci| -5 | i/o error | 173e41f4b71Sopenharmony_ci| -11 | resource temporarily unavailable | 174e41f4b71Sopenharmony_ci| -12 | not enough memory | 175e41f4b71Sopenharmony_ci| -13 | permission denied | 176e41f4b71Sopenharmony_ci| -100 | network is down | 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci## util.callbackWrapper 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_cicallbackWrapper(original: Function): (err: Object, value: Object )=>void 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ciCalls back an asynchronous function. In the callback, the first parameter indicates the cause of the rejection (the value is **null** if the promise has been resolved), and the second parameter indicates the resolved value. 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_ci> **NOTE** 185e41f4b71Sopenharmony_ci> 186e41f4b71Sopenharmony_ci> **original** must be an asynchronous function. If a non-asynchronous function is passed in, the function is not intercepted, but the error message "callbackWrapper: The type of Parameter must be AsyncFunction" is displayed. 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci**Parameters** 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 195e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 196e41f4b71Sopenharmony_ci| original | Function | Yes| Asynchronous function.| 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci**Return value** 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ci| Type| Description| 201e41f4b71Sopenharmony_ci| -------- | -------- | 202e41f4b71Sopenharmony_ci| Function | Callback function, in which the first parameter **err** indicates the cause of the rejection (the value is **null** if the promise has been resolved) and the second parameter **value** indicates the resolved value.| 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci**Error codes** 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci| ID| Error Message| 209e41f4b71Sopenharmony_ci| -------- | -------- | 210e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci**Example** 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci```ts 215e41f4b71Sopenharmony_ciasync function fn() { 216e41f4b71Sopenharmony_ci return 'hello world'; 217e41f4b71Sopenharmony_ci} 218e41f4b71Sopenharmony_cilet cb = util.callbackWrapper(fn); 219e41f4b71Sopenharmony_cicb(1, (err : Object, ret : string) => { 220e41f4b71Sopenharmony_ci if (err) throw new Error; 221e41f4b71Sopenharmony_ci console.info(ret); 222e41f4b71Sopenharmony_ci}); 223e41f4b71Sopenharmony_ci``` 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci## util.promisify<sup>9+</sup> 226e41f4b71Sopenharmony_ci 227e41f4b71Sopenharmony_cipromisify(original: (err: Object, value: Object) => void): Function 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ciProcesses an asynchronous function and returns a promise. 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci**Parameters** 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 238e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 239e41f4b71Sopenharmony_ci| original | Function | Yes| Function, in which the first parameter **err** indicates the cause of the rejection (the value is **null** if the promise has been resolved) and the second parameter **value** indicates the resolved value. | 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci**Return value** 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci| Type| Description| 244e41f4b71Sopenharmony_ci| -------- | -------- | 245e41f4b71Sopenharmony_ci| Function | Promise function.| 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci**Error codes** 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci| ID| Error Message| 252e41f4b71Sopenharmony_ci| -------- | -------- | 253e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_ci**Example** 256e41f4b71Sopenharmony_ci 257e41f4b71Sopenharmony_ci```ts 258e41f4b71Sopenharmony_ciasync function fn() { 259e41f4b71Sopenharmony_ci return 'hello world'; 260e41f4b71Sopenharmony_ci} 261e41f4b71Sopenharmony_ciconst addCall = util.promisify(util.callbackWrapper(fn)); 262e41f4b71Sopenharmony_ci(async () => { 263e41f4b71Sopenharmony_ci try { 264e41f4b71Sopenharmony_ci let res: string = await addCall(); 265e41f4b71Sopenharmony_ci console.info(res); 266e41f4b71Sopenharmony_ci } catch (err) { 267e41f4b71Sopenharmony_ci console.info(err); 268e41f4b71Sopenharmony_ci } 269e41f4b71Sopenharmony_ci})(); 270e41f4b71Sopenharmony_ci``` 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci## util.generateRandomUUID<sup>9+</sup> 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_cigenerateRandomUUID(entropyCache?: boolean): string 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ciUses a secure random number generator to generate a random universally unique identifier (UUID) of the string type in RFC 4122 version 4. When this API is called for the first time, the API behavior is the same regardless of whether **true** or **false** is passed in. In this case, two UUIDs are generated: one used for caching and the other for output. However, when this API is called again with **true** passed in, the last UUID is cached and a new UUID is generated; when this API is called again with **false** passed in, two UUIDs are generated: one for caching and the other for output. 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**Parameters** 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 285e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 286e41f4b71Sopenharmony_ci| entropyCache | boolean | No| Whether a cached UUID can be used. The default value is **true**.| 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci**Return value** 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci| Type| Description| 291e41f4b71Sopenharmony_ci| -------- | -------- | 292e41f4b71Sopenharmony_ci| string | A string representing the UUID generated.| 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci**Error codes** 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci| ID| Error Message| 299e41f4b71Sopenharmony_ci| -------- | -------- | 300e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci**Example** 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci```ts 305e41f4b71Sopenharmony_cilet uuid = util.generateRandomUUID(true); 306e41f4b71Sopenharmony_ciconsole.info("RFC 4122 Version 4 UUID:" + uuid); 307e41f4b71Sopenharmony_ci// Output a random UUID. 308e41f4b71Sopenharmony_ci``` 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci## util.generateRandomBinaryUUID<sup>9+</sup> 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_cigenerateRandomBinaryUUID(entropyCache?: boolean): Uint8Array 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ciUses a secure random number generator to generate a random UUID of the Uint8Array type in RFC 4122 version 4. 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 317e41f4b71Sopenharmony_ci 318e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**Parameters** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 323e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 324e41f4b71Sopenharmony_ci| entropyCache | boolean | No| Whether a cached UUID can be used. The default value is **true**.| 325e41f4b71Sopenharmony_ci 326e41f4b71Sopenharmony_ci**Return value** 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci| Type| Description| 329e41f4b71Sopenharmony_ci| -------- | -------- | 330e41f4b71Sopenharmony_ci| Uint8Array | A Uint8Array value representing the UUID generated.| 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci**Error codes** 333e41f4b71Sopenharmony_ci 334e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci| ID| Error Message| 337e41f4b71Sopenharmony_ci| -------- | -------- | 338e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ci**Example** 341e41f4b71Sopenharmony_ci 342e41f4b71Sopenharmony_ci```ts 343e41f4b71Sopenharmony_cilet uuid = util.generateRandomBinaryUUID(true); 344e41f4b71Sopenharmony_ciconsole.info(JSON.stringify(uuid)); 345e41f4b71Sopenharmony_ci// Output a random UUID. 346e41f4b71Sopenharmony_ci``` 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ci## util.parseUUID<sup>9+</sup> 349e41f4b71Sopenharmony_ci 350e41f4b71Sopenharmony_ciparseUUID(uuid: string): Uint8Array 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ciConverts a UUID of the string type generated by **generateRandomUUID** to a UUID of the Uint8Array type generated by **generateRandomBinaryUUID**, as described in RFC 4122 version 4. 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 355e41f4b71Sopenharmony_ci 356e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 357e41f4b71Sopenharmony_ci 358e41f4b71Sopenharmony_ci**Parameters** 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 361e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 362e41f4b71Sopenharmony_ci| uuid | string | Yes| A string representing the UUID.| 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci**Return value** 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci| Type| Description| 367e41f4b71Sopenharmony_ci| -------- | -------- | 368e41f4b71Sopenharmony_ci| Uint8Array | A Uint8Array value representing the UUID parsed. If the parsing fails, **SyntaxError** is thrown.| 369e41f4b71Sopenharmony_ci 370e41f4b71Sopenharmony_ci**Error codes** 371e41f4b71Sopenharmony_ci 372e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md). 373e41f4b71Sopenharmony_ci 374e41f4b71Sopenharmony_ci| ID| Error Message| 375e41f4b71Sopenharmony_ci| -------- | -------- | 376e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 377e41f4b71Sopenharmony_ci| 10200002 | Invalid uuid string. | 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**Example** 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci```ts 382e41f4b71Sopenharmony_cilet uuid = util.parseUUID("84bdf796-66cc-4655-9b89-d6218d100f9c"); 383e41f4b71Sopenharmony_ciconsole.info(JSON.stringify(uuid)); 384e41f4b71Sopenharmony_ci// Output: 385e41f4b71Sopenharmony_ci// 132,189,247,150,102,204,70,85,155,137,214,33,141,16,15,156 386e41f4b71Sopenharmony_ci``` 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci## util.printf<sup>(deprecated)</sup> 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ciprintf(format: string, ...args: Object[]): string 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ciFormats a string by replacing the placeholders in it. 393e41f4b71Sopenharmony_ci 394e41f4b71Sopenharmony_ci> **NOTE** 395e41f4b71Sopenharmony_ci> 396e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [util.format<sup>9+</sup>](#utilformat9) instead. 397e41f4b71Sopenharmony_ci 398e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci**Parameters** 401e41f4b71Sopenharmony_ci 402e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 403e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 404e41f4b71Sopenharmony_ci| format | string | Yes| Format string.| 405e41f4b71Sopenharmony_ci| ...args | Object[] | No| Data used to replace the placeholders in **format**. If **null** is passed in, the first argument is returned by default.| 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci**Return value** 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci| Type| Description| 410e41f4b71Sopenharmony_ci| -------- | -------- | 411e41f4b71Sopenharmony_ci| string | String containing the formatted values.| 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**Example** 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ci```ts 416e41f4b71Sopenharmony_cilet res = util.printf("%s", "hello world!"); 417e41f4b71Sopenharmony_ciconsole.info(res); 418e41f4b71Sopenharmony_ci``` 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_ci 421e41f4b71Sopenharmony_ci## util.getErrorString<sup>(deprecated)</sup> 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_cigetErrorString(errno: number): string 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ciObtains detailed information about a system error code. 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci> **NOTE** 428e41f4b71Sopenharmony_ci> 429e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [util.errnoToString<sup>9+</sup>](#utilerrnotostring9) instead. 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 432e41f4b71Sopenharmony_ci 433e41f4b71Sopenharmony_ci**Parameters** 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 436e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 437e41f4b71Sopenharmony_ci| errno | number | Yes| Error code generated.| 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci**Return value** 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ci| Type| Description| 442e41f4b71Sopenharmony_ci| -------- | -------- | 443e41f4b71Sopenharmony_ci| string | Detailed information about the error code.| 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**Example** 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci```ts 448e41f4b71Sopenharmony_cilet errnum = -1; // -1 is a system error code. 449e41f4b71Sopenharmony_cilet result = util.getErrorString(errnum); 450e41f4b71Sopenharmony_ciconsole.info("result = " + result); 451e41f4b71Sopenharmony_ci``` 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci## util.promiseWrapper<sup>(deprecated)</sup> 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_cipromiseWrapper(original: (err: Object, value: Object) => void): Object 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ciProcesses an asynchronous function and returns a promise. 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci> **NOTE** 460e41f4b71Sopenharmony_ci> 461e41f4b71Sopenharmony_ci> This API is unavailable. You are advised to use [util.promisify<sup>9+</sup>](#utilpromisify9) instead. 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci**Parameters** 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 468e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 469e41f4b71Sopenharmony_ci| original | Function | Yes| Asynchronous function.| 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci**Return value** 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_ci| Type| Description| 474e41f4b71Sopenharmony_ci| -------- | -------- | 475e41f4b71Sopenharmony_ci| Function | Function in the error-first style (that is, **(err, value) =>...** is called as the last parameter) and the promise.| 476e41f4b71Sopenharmony_ci 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci## util.getHash<sup>12+</sup> 479e41f4b71Sopenharmony_ci 480e41f4b71Sopenharmony_cigetHash(object: object): number 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ciObtains the hash value of an object. If no hash value has been obtained, a random hash value is generated, saved to the **hash** field of the object, and returned. If a hash value has been obtained, the hash value saved in the **hash** field is returned (the same value is returned for the same object). 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 485e41f4b71Sopenharmony_ci 486e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 487e41f4b71Sopenharmony_ci 488e41f4b71Sopenharmony_ci**Parameters** 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 491e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 492e41f4b71Sopenharmony_ci| object | object | Yes| Object whose hash value is to be obtained.| 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci**Return value** 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci| Type| Description| 497e41f4b71Sopenharmony_ci| -------- | -------- | 498e41f4b71Sopenharmony_ci| number | Hash value.| 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci**Error codes** 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 503e41f4b71Sopenharmony_ci 504e41f4b71Sopenharmony_ci| ID| Error Message| 505e41f4b71Sopenharmony_ci| -------- | -------- | 506e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci**Example** 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci```ts 511e41f4b71Sopenharmony_ciinterface Person { 512e41f4b71Sopenharmony_ci name: string, 513e41f4b71Sopenharmony_ci age: number 514e41f4b71Sopenharmony_ci} 515e41f4b71Sopenharmony_cilet obj: Person = { name: 'Jack', age: 20 }; 516e41f4b71Sopenharmony_cilet result1 = util.getHash(obj); 517e41f4b71Sopenharmony_ciconsole.info('result1 is ' + result1); 518e41f4b71Sopenharmony_cilet result2 = util.getHash(obj); 519e41f4b71Sopenharmony_ciconsole.info('result2 is ' + result2); 520e41f4b71Sopenharmony_ci// Output: The values of **result1** and **result2** are the same and are a random hash value. 521e41f4b71Sopenharmony_ci``` 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci 524e41f4b71Sopenharmony_ci## TextDecoderOptions<sup>11+</sup> 525e41f4b71Sopenharmony_ci 526e41f4b71Sopenharmony_ciDescribes decoding-related options, which include **fatal** and **ignoreBOM**. 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci| Name | Type| Mandatory| Description | 533e41f4b71Sopenharmony_ci| --------- | -------- | ---- | ------------------ | 534e41f4b71Sopenharmony_ci| fatal | boolean | No | Whether to display fatal errors. The default value is **false**.| 535e41f4b71Sopenharmony_ci| ignoreBOM | boolean | No | Whether to ignore the BOM. The default value is **false**. | 536e41f4b71Sopenharmony_ci 537e41f4b71Sopenharmony_ci## DecodeToStringOptions<sup>12+</sup> 538e41f4b71Sopenharmony_ci 539e41f4b71Sopenharmony_ciDescribes the options used during the decoding to a string. 540e41f4b71Sopenharmony_ci 541e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 546e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 547e41f4b71Sopenharmony_ci| stream | boolean | No| Whether the incomplete byte sequence at the end of the input needs to be appended to the parameter for the next call of **decodeToString**. The value **true** means that the incomplete byte sequence is stored in the internal buffer until the function is called next time. If the value is false, the byte sequence is directly decoded when the function is called currently. The default value is **false**.| 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci## DecodeWithStreamOptions<sup>11+</sup> 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_ciDefines whether decoding follows data blocks. 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 556e41f4b71Sopenharmony_ci 557e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 558e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 559e41f4b71Sopenharmony_ci| stream | boolean | No| Whether to allow data blocks in subsequent **decodeWithStream()**. If data is processed in blocks, set this parameter to **true**. If this is the last data block to process or data is not divided into blocks, set this parameter to **false**. The default value is **false**.| 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci## Aspect<sup>11+</sup> 562e41f4b71Sopenharmony_ci 563e41f4b71Sopenharmony_ciProvides APIs that support Aspect Oriented Programming (AOP). These APIs can be used to perform instrumentation or replacement on class methods. 564e41f4b71Sopenharmony_ci 565e41f4b71Sopenharmony_ci### addBefore<sup>11+</sup> 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_cistatic addBefore(targetClass: Object, methodName: string, isStatic: boolean, before: Function): void 568e41f4b71Sopenharmony_ci 569e41f4b71Sopenharmony_ciInserts a function before a method of a class object. The inserted function is executed in prior to the original method of the class object. 570e41f4b71Sopenharmony_ci 571e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 572e41f4b71Sopenharmony_ci 573e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci**Parameters** 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 578e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 579e41f4b71Sopenharmony_ci| targetClass | Object | Yes | Target class object. | 580e41f4b71Sopenharmony_ci| methodName | string | Yes | Name of the method. | 581e41f4b71Sopenharmony_ci| isStatic | boolean | Yes | Whether the method is a static method. The value **true** indicates a static method, and **false** indicates an instance method. | 582e41f4b71Sopenharmony_ci| before | Function | Yes | Function to insert. If the function carries parameters, then the first parameter is the **this** object, which is the target class object (specified by **targetClass**) if **isStatic** is **true** or the instance object of the method if **isStatic** is **false**; other parameters are the parameters carried in the original method. If the function does not carry any parameter, no processing is performed.| 583e41f4b71Sopenharmony_ci 584e41f4b71Sopenharmony_ci**Error codes** 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci| ID| Error Message| 589e41f4b71Sopenharmony_ci| -------- | -------- | 590e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci**Example** 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci```ts 595e41f4b71Sopenharmony_ciclass MyClass { 596e41f4b71Sopenharmony_ci msg: string = 'msg000'; 597e41f4b71Sopenharmony_ci foo(arg: string): string { 598e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 599e41f4b71Sopenharmony_ci return this.msg; 600e41f4b71Sopenharmony_ci } 601e41f4b71Sopenharmony_ci 602e41f4b71Sopenharmony_ci static data: string = 'data000'; 603e41f4b71Sopenharmony_ci static bar(arg: string): string { 604e41f4b71Sopenharmony_ci console.info('bar arg is ' + arg); 605e41f4b71Sopenharmony_ci return MyClass.data; 606e41f4b71Sopenharmony_ci } 607e41f4b71Sopenharmony_ci} 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_cilet asp = new MyClass(); 610e41f4b71Sopenharmony_cilet result = asp.foo('123'); 611e41f4b71Sopenharmony_ci// Output: foo arg is 123 612e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 613e41f4b71Sopenharmony_ci// Output: result is msg000 614e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 615e41f4b71Sopenharmony_ci// Output: asp.msg is msg000 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ciutil.Aspect.addBefore(MyClass, 'foo', false, (instance: MyClass, arg: string) => { 618e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 619e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 620e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg) 621e41f4b71Sopenharmony_ci}); 622e41f4b71Sopenharmony_ci 623e41f4b71Sopenharmony_ciresult = asp.foo('123'); 624e41f4b71Sopenharmony_ci// Output: arg is 123 625e41f4b71Sopenharmony_ci// Output: msg is changed to msg111 626e41f4b71Sopenharmony_ci// Output: foo arg is 123 627e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 628e41f4b71Sopenharmony_ci// Output: result is msg111 629e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 630e41f4b71Sopenharmony_ci// Output: asp.msg is msg111 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci 633e41f4b71Sopenharmony_cilet res = MyClass.bar('456'); 634e41f4b71Sopenharmony_ci// Output: bar arg is 456 635e41f4b71Sopenharmony_ciconsole.info('res is ' + res); 636e41f4b71Sopenharmony_ci// Output: res is data000 637e41f4b71Sopenharmony_ciconsole.info('MyClass.data is ' + MyClass.data); 638e41f4b71Sopenharmony_ci// Output: MyClass.data is data000 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ciutil.Aspect.addBefore(MyClass, 'bar', true, (target: Object, arg: string) => { 641e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 642e41f4b71Sopenharmony_ci let newVal = 'data111'; 643e41f4b71Sopenharmony_ci Reflect.set(target, 'data', newVal); 644e41f4b71Sopenharmony_ci console.info('data is changed to ' + newVal); 645e41f4b71Sopenharmony_ci}); 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_cires = MyClass.bar('456'); 648e41f4b71Sopenharmony_ci// Output: arg is 456 649e41f4b71Sopenharmony_ci// Output: data is changed to data111 650e41f4b71Sopenharmony_ci// Output: bar arg is 456 651e41f4b71Sopenharmony_ciconsole.info('res is ' + res); 652e41f4b71Sopenharmony_ci//Output: res is data111 653e41f4b71Sopenharmony_ciconsole.info('MyClass.data is ' + MyClass.data); 654e41f4b71Sopenharmony_ci// Output: MyClass.data is data111 655e41f4b71Sopenharmony_ci``` 656e41f4b71Sopenharmony_ci 657e41f4b71Sopenharmony_ci### addAfter<sup>11+</sup> 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_cistatic addAfter(targetClass: Object, methodName: string, isStatic: boolean, after: Function): void 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ciInserts a function after a method of a class object. The final return value is the return value of the function inserted. 662e41f4b71Sopenharmony_ci 663e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 664e41f4b71Sopenharmony_ci 665e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 666e41f4b71Sopenharmony_ci 667e41f4b71Sopenharmony_ci**Parameters** 668e41f4b71Sopenharmony_ci 669e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 670e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 671e41f4b71Sopenharmony_ci| targetClass | Object | Yes | Target class object. | 672e41f4b71Sopenharmony_ci| methodName | string | Yes | Name of the method. | 673e41f4b71Sopenharmony_ci| isStatic | boolean | Yes | Whether the method is a static method. The value **true** indicates a static method, and **false** indicates an instance method. | 674e41f4b71Sopenharmony_ci| after | Function | Yes | Function to insert. If the function carries parameters, then the first parameter is the **this** object, which is the target class object (specified by **targetClass**) if **isStatic** is **true** or the instance object of the method if **isStatic** is **false**; the second parameter is the return value of the original method (**undefined** if the original method does not have a return value); other parameters are the parameters carried by the original method. If the function does not carry any parameter, no processing is performed. | 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**Error codes** 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci| ID| Error Message| 681e41f4b71Sopenharmony_ci| -------- | -------- | 682e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**Example** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci```ts 687e41f4b71Sopenharmony_ciclass MyClass { 688e41f4b71Sopenharmony_ci msg: string = 'msg000'; 689e41f4b71Sopenharmony_ci foo(arg: string): string { 690e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 691e41f4b71Sopenharmony_ci return this.msg; 692e41f4b71Sopenharmony_ci } 693e41f4b71Sopenharmony_ci} 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_cilet asp = new MyClass(); 696e41f4b71Sopenharmony_cilet result = asp.foo('123'); 697e41f4b71Sopenharmony_ci// Output: foo arg is 123 698e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 699e41f4b71Sopenharmony_ci// Output: result is msg000 700e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 701e41f4b71Sopenharmony_ci// Output: asp.msg is msg000 702e41f4b71Sopenharmony_ci 703e41f4b71Sopenharmony_ciutil.Aspect.addAfter(MyClass, 'foo', false, (instance: MyClass, ret: string, arg: string): string => { 704e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 705e41f4b71Sopenharmony_ci console.info('ret is ' + ret); 706e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 707e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg); 708e41f4b71Sopenharmony_ci return 'msg222'; 709e41f4b71Sopenharmony_ci}); 710e41f4b71Sopenharmony_ci 711e41f4b71Sopenharmony_ciresult = asp.foo('123'); 712e41f4b71Sopenharmony_ci// Output: foo arg is 123 713e41f4b71Sopenharmony_ci// Output: arg is 123 714e41f4b71Sopenharmony_ci// Output: ret is msg000 715e41f4b71Sopenharmony_ci// Output: msg is changed to msg111 716e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 717e41f4b71Sopenharmony_ci// Output: result is msg222 718e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 719e41f4b71Sopenharmony_ci// Output: asp.msg is msg111 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci// Examples of addBefore() and addAfter() 722e41f4b71Sopenharmony_ciclass AroundTest { 723e41f4b71Sopenharmony_ci foo(arg: string) { 724e41f4b71Sopenharmony_ci console.info('execute foo with arg ' + arg); 725e41f4b71Sopenharmony_ci } 726e41f4b71Sopenharmony_ci} 727e41f4b71Sopenharmony_ciutil.Aspect.addBefore(AroundTest, 'foo', false, () => { 728e41f4b71Sopenharmony_ci console.info('execute before'); 729e41f4b71Sopenharmony_ci}); 730e41f4b71Sopenharmony_ciutil.Aspect.addAfter(AroundTest, 'foo', false, () => { 731e41f4b71Sopenharmony_ci console.info('execute after'); 732e41f4b71Sopenharmony_ci}); 733e41f4b71Sopenharmony_ci 734e41f4b71Sopenharmony_ci(new AroundTest()).foo('hello'); 735e41f4b71Sopenharmony_ci// Output: execute before 736e41f4b71Sopenharmony_ci// Output: execute foo with arg hello 737e41f4b71Sopenharmony_ci// Output: execute after 738e41f4b71Sopenharmony_ci``` 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci### replace<sup>11+</sup> 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_cistatic replace(targetClass: Object, methodName: string, isStatic: boolean, instead: Function) : void 743e41f4b71Sopenharmony_ci 744e41f4b71Sopenharmony_ciReplaces a method of a class object with another function. After the replacement, only the new function logic is executed. The final return value is the return value of the new function. 745e41f4b71Sopenharmony_ci 746e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 747e41f4b71Sopenharmony_ci 748e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 749e41f4b71Sopenharmony_ci 750e41f4b71Sopenharmony_ci**Parameters** 751e41f4b71Sopenharmony_ci 752e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 753e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 754e41f4b71Sopenharmony_ci| targetClass | Object | Yes | Target class object. | 755e41f4b71Sopenharmony_ci| methodName | string | Yes | Name of the method. | 756e41f4b71Sopenharmony_ci| isStatic | boolean | Yes | Whether the method is a static method. The value **true** indicates a static method, and **false** indicates an instance method. | 757e41f4b71Sopenharmony_ci| instead | Function | Yes | Function to be used replacement. If the function carries parameters, then the first parameter is the **this** object, which is the target class object (specified by **targetClass**) if **isStatic** is **true** or the instance object of the method if **isStatic** is **false**; other parameters are the parameters carried in the original method. If the function does not carry any parameter, no processing is performed. | 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ci**Error codes** 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 762e41f4b71Sopenharmony_ci 763e41f4b71Sopenharmony_ci| ID| Error Message| 764e41f4b71Sopenharmony_ci| -------- | -------- | 765e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci**Example** 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_ci```ts 770e41f4b71Sopenharmony_ciclass MyClass { 771e41f4b71Sopenharmony_ci msg: string = 'msg000'; 772e41f4b71Sopenharmony_ci foo(arg: string): string { 773e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 774e41f4b71Sopenharmony_ci return this.msg; 775e41f4b71Sopenharmony_ci } 776e41f4b71Sopenharmony_ci} 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_cilet asp = new MyClass(); 779e41f4b71Sopenharmony_cilet result = asp.foo('123'); 780e41f4b71Sopenharmony_ci// Output: foo arg is 123 781e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 782e41f4b71Sopenharmony_ci// Output: result is msg000 783e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 784e41f4b71Sopenharmony_ci// Output: asp.msg is msg000 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ciutil.Aspect.replace(MyClass, 'foo', false, (instance: MyClass, arg: string): string => { 787e41f4b71Sopenharmony_ci console.info('execute instead') 788e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 789e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 790e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg); 791e41f4b71Sopenharmony_ci return 'msg222'; 792e41f4b71Sopenharmony_ci}); 793e41f4b71Sopenharmony_ci 794e41f4b71Sopenharmony_ciresult = asp.foo('123'); 795e41f4b71Sopenharmony_ci// Output: execute instead 796e41f4b71Sopenharmony_ci// Output: foo arg is 123 797e41f4b71Sopenharmony_ci// Output: msg is changed to msg111 798e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 799e41f4b71Sopenharmony_ci// Output: result is msg222 800e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 801e41f4b71Sopenharmony_ci//Output: asp.msg is msg111 802e41f4b71Sopenharmony_ci``` 803e41f4b71Sopenharmony_ci 804e41f4b71Sopenharmony_ci## TextDecoder 805e41f4b71Sopenharmony_ci 806e41f4b71Sopenharmony_ciProvides APIs to decode byte arrays into strings. It supports multiple formats, including UTF-8, UTF-16LE, UTF-16BE, ISO-8859, and Windows-1251. 807e41f4b71Sopenharmony_ci 808e41f4b71Sopenharmony_ci### Attributes 809e41f4b71Sopenharmony_ci 810e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 813e41f4b71Sopenharmony_ci 814e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 815e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 816e41f4b71Sopenharmony_ci| encoding | string | Yes| No| Encoding format.<br>The following formats are supported: utf-8, ibm866, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-8-i, iso-8859-10, iso-8859-13, iso-8859-14, iso-8859-15, koi8-r, koi8-u, macintosh, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic, gbk, gb18030, big5, euc-jp, iso-2022-jp, shift_jis, euc-kr, utf-16be, utf-16le, UTF-8, GBK, GB2312, gb2312, GB18030 and iso-8859-1.| 817e41f4b71Sopenharmony_ci| fatal | boolean | Yes| No| Whether to display fatal errors.| 818e41f4b71Sopenharmony_ci| ignoreBOM | boolean | Yes| No| Whether to ignore the byte order marker (BOM). The default value is **false**, which indicates that the result contains the BOM.| 819e41f4b71Sopenharmony_ci 820e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ciconstructor() 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ciA constructor used to create a **TextDecoder** object. 825e41f4b71Sopenharmony_ci 826e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 829e41f4b71Sopenharmony_ci 830e41f4b71Sopenharmony_ci**Example** 831e41f4b71Sopenharmony_ci 832e41f4b71Sopenharmony_ci```ts 833e41f4b71Sopenharmony_cilet result = new util.TextDecoder(); 834e41f4b71Sopenharmony_cilet retStr = result.encoding; 835e41f4b71Sopenharmony_ci``` 836e41f4b71Sopenharmony_ci### create<sup>9+</sup> 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_cistatic create(encoding?: string, options?: TextDecoderOptions): TextDecoder 839e41f4b71Sopenharmony_ci 840e41f4b71Sopenharmony_ciCreates a **TextDecoder** object. It provides the same function as the deprecated argument constructor. 841e41f4b71Sopenharmony_ci 842e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 843e41f4b71Sopenharmony_ci 844e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci**Parameters** 847e41f4b71Sopenharmony_ci 848e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 849e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ------------------------------------------------ | 850e41f4b71Sopenharmony_ci| encoding | string | No | Encoding format. The default format is **'utf-8'**. | 851e41f4b71Sopenharmony_ci| options | [TextDecoderOptions](#textdecoderoptions11) | No | Decoding-related options, which include **fatal** and **ignoreBOM**.| 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci**Error codes** 854e41f4b71Sopenharmony_ci 855e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 856e41f4b71Sopenharmony_ci 857e41f4b71Sopenharmony_ci| ID| Error Message| 858e41f4b71Sopenharmony_ci| -------- | -------- | 859e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 860e41f4b71Sopenharmony_ci 861e41f4b71Sopenharmony_ci**Example** 862e41f4b71Sopenharmony_ci 863e41f4b71Sopenharmony_ci```ts 864e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 865e41f4b71Sopenharmony_ci fatal: false, 866e41f4b71Sopenharmony_ci ignoreBOM : true 867e41f4b71Sopenharmony_ci} 868e41f4b71Sopenharmony_cilet result = util.TextDecoder.create('utf-8', textDecoderOptions) 869e41f4b71Sopenharmony_cilet retStr = result.encoding 870e41f4b71Sopenharmony_ci``` 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci### decodeToString<sup>12+</sup> 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_cidecodeToString(input: Uint8Array, options?: DecodeToStringOptions): string 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ciDecodes the input content into a string. 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 881e41f4b71Sopenharmony_ci 882e41f4b71Sopenharmony_ci**Parameters** 883e41f4b71Sopenharmony_ci 884e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 885e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 886e41f4b71Sopenharmony_ci| input | Uint8Array | Yes| Uint8Array object to decode.| 887e41f4b71Sopenharmony_ci| options | [DecodeToStringOptions](#decodetostringoptions12) | No| Decoding-related options. The default value is **undefined**.| 888e41f4b71Sopenharmony_ci 889e41f4b71Sopenharmony_ci**Return value** 890e41f4b71Sopenharmony_ci 891e41f4b71Sopenharmony_ci| Type| Description| 892e41f4b71Sopenharmony_ci| -------- | -------- | 893e41f4b71Sopenharmony_ci| string | String obtained.| 894e41f4b71Sopenharmony_ci 895e41f4b71Sopenharmony_ci**Error codes** 896e41f4b71Sopenharmony_ci 897e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 898e41f4b71Sopenharmony_ci 899e41f4b71Sopenharmony_ci| ID| Error Message| 900e41f4b71Sopenharmony_ci| -------- | -------- | 901e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 902e41f4b71Sopenharmony_ci 903e41f4b71Sopenharmony_ci**Example** 904e41f4b71Sopenharmony_ci 905e41f4b71Sopenharmony_ci```ts 906e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 907e41f4b71Sopenharmony_ci fatal: false, 908e41f4b71Sopenharmony_ci ignoreBOM : true 909e41f4b71Sopenharmony_ci} 910e41f4b71Sopenharmony_cilet decodeToStringOptions: util.DecodeToStringOptions = { 911e41f4b71Sopenharmony_ci stream: false 912e41f4b71Sopenharmony_ci} 913e41f4b71Sopenharmony_cilet textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 914e41f4b71Sopenharmony_cilet result = new Uint8Array([0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63]); 915e41f4b71Sopenharmony_cilet retStr = textDecoder.decodeToString(result, decodeToStringOptions); 916e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 917e41f4b71Sopenharmony_ci``` 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci### decodeWithStream<sup>(deprecated)</sup> 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_cidecodeWithStream(input: Uint8Array, options?: DecodeWithStreamOptions): string 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ciDecodes the input content into a string. If **input** is an empty array, **undefined** is returned. 924e41f4b71Sopenharmony_ci 925e41f4b71Sopenharmony_ci> **NOTE** 926e41f4b71Sopenharmony_ci> 927e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 12. You are advised to use [decodeToString<sup>12+</sup>](#decodetostring12) instead. 928e41f4b71Sopenharmony_ci 929e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 930e41f4b71Sopenharmony_ci 931e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 932e41f4b71Sopenharmony_ci 933e41f4b71Sopenharmony_ci**Parameters** 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 936e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 937e41f4b71Sopenharmony_ci| input | Uint8Array | Yes| Uint8Array object to decode.| 938e41f4b71Sopenharmony_ci| options | [DecodeWithStreamOptions](#decodewithstreamoptions11) | No| Decoding-related options.| 939e41f4b71Sopenharmony_ci 940e41f4b71Sopenharmony_ci**Return value** 941e41f4b71Sopenharmony_ci 942e41f4b71Sopenharmony_ci| Type| Description| 943e41f4b71Sopenharmony_ci| -------- | -------- | 944e41f4b71Sopenharmony_ci| string | String obtained.| 945e41f4b71Sopenharmony_ci 946e41f4b71Sopenharmony_ci**Error codes** 947e41f4b71Sopenharmony_ci 948e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci| ID| Error Message| 951e41f4b71Sopenharmony_ci| -------- | -------- | 952e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 953e41f4b71Sopenharmony_ci 954e41f4b71Sopenharmony_ci**Example** 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci```ts 957e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 958e41f4b71Sopenharmony_ci fatal: false, 959e41f4b71Sopenharmony_ci ignoreBOM : true 960e41f4b71Sopenharmony_ci} 961e41f4b71Sopenharmony_cilet decodeWithStreamOptions: util.DecodeWithStreamOptions = { 962e41f4b71Sopenharmony_ci stream: false 963e41f4b71Sopenharmony_ci} 964e41f4b71Sopenharmony_cilet textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 965e41f4b71Sopenharmony_cilet result = new Uint8Array(6); 966e41f4b71Sopenharmony_ciresult[0] = 0xEF; 967e41f4b71Sopenharmony_ciresult[1] = 0xBB; 968e41f4b71Sopenharmony_ciresult[2] = 0xBF; 969e41f4b71Sopenharmony_ciresult[3] = 0x61; 970e41f4b71Sopenharmony_ciresult[4] = 0x62; 971e41f4b71Sopenharmony_ciresult[5] = 0x63; 972e41f4b71Sopenharmony_ciconsole.info("input num:"); 973e41f4b71Sopenharmony_cilet retStr = textDecoder.decodeWithStream(result , decodeWithStreamOptions); 974e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 975e41f4b71Sopenharmony_ci``` 976e41f4b71Sopenharmony_ci 977e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ciconstructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean }) 980e41f4b71Sopenharmony_ci 981e41f4b71Sopenharmony_ciA constructor used to create a **TextDecoder** object. 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci> **NOTE** 984e41f4b71Sopenharmony_ci> 985e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [create<sup>9+</sup>](#create9) instead. 986e41f4b71Sopenharmony_ci 987e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 988e41f4b71Sopenharmony_ci 989e41f4b71Sopenharmony_ci**Parameters** 990e41f4b71Sopenharmony_ci 991e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 992e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 993e41f4b71Sopenharmony_ci| encoding | string | No| Encoding format. The default format is **'utf-8'**.| 994e41f4b71Sopenharmony_ci| options | object | No| Decoding-related options, which include **fatal** and **ignoreBOM**.| 995e41f4b71Sopenharmony_ci 996e41f4b71Sopenharmony_ci **Table 1** options 997e41f4b71Sopenharmony_ci 998e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 999e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1000e41f4b71Sopenharmony_ci| fatal | boolean | No| Whether to display fatal errors. The default value is **false**.| 1001e41f4b71Sopenharmony_ci| ignoreBOM | boolean | No| Whether to ignore the BOM. The default value is **false**.| 1002e41f4b71Sopenharmony_ci 1003e41f4b71Sopenharmony_ci**Example** 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci```ts 1006e41f4b71Sopenharmony_cilet textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 1007e41f4b71Sopenharmony_ci``` 1008e41f4b71Sopenharmony_ci 1009e41f4b71Sopenharmony_ci### decode<sup>(deprecated)</sup> 1010e41f4b71Sopenharmony_ci 1011e41f4b71Sopenharmony_cidecode(input: Uint8Array, options?: { stream?: false }): string 1012e41f4b71Sopenharmony_ci 1013e41f4b71Sopenharmony_ciDecodes the input content into a string. 1014e41f4b71Sopenharmony_ci 1015e41f4b71Sopenharmony_ci> **NOTE** 1016e41f4b71Sopenharmony_ci> 1017e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [decodeToString<sup>12+</sup>](#decodetostring12) instead. 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ci**Parameters** 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1024e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1025e41f4b71Sopenharmony_ci| input | Uint8Array | Yes| Uint8Array object to decode.| 1026e41f4b71Sopenharmony_ci| options | object | No| Decoding-related options.| 1027e41f4b71Sopenharmony_ci 1028e41f4b71Sopenharmony_ci**Table 2** options 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1031e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1032e41f4b71Sopenharmony_ci| stream | boolean | No| Whether to allow data blocks in subsequent **decode()**. If data is processed in blocks, set this parameter to **true**. If this is the last data block to process or data is not divided into blocks, set this parameter to **false**. The default value is **false**.| 1033e41f4b71Sopenharmony_ci 1034e41f4b71Sopenharmony_ci**Return value** 1035e41f4b71Sopenharmony_ci 1036e41f4b71Sopenharmony_ci| Type| Description| 1037e41f4b71Sopenharmony_ci| -------- | -------- | 1038e41f4b71Sopenharmony_ci| string | String obtained.| 1039e41f4b71Sopenharmony_ci 1040e41f4b71Sopenharmony_ci**Example** 1041e41f4b71Sopenharmony_ci 1042e41f4b71Sopenharmony_ci```ts 1043e41f4b71Sopenharmony_cilet textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 1044e41f4b71Sopenharmony_cilet result = new Uint8Array(6); 1045e41f4b71Sopenharmony_ciresult[0] = 0xEF; 1046e41f4b71Sopenharmony_ciresult[1] = 0xBB; 1047e41f4b71Sopenharmony_ciresult[2] = 0xBF; 1048e41f4b71Sopenharmony_ciresult[3] = 0x61; 1049e41f4b71Sopenharmony_ciresult[4] = 0x62; 1050e41f4b71Sopenharmony_ciresult[5] = 0x63; 1051e41f4b71Sopenharmony_ciconsole.info("input num:"); 1052e41f4b71Sopenharmony_cilet retStr = textDecoder.decode( result , {stream: false}); 1053e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 1054e41f4b71Sopenharmony_ci``` 1055e41f4b71Sopenharmony_ci 1056e41f4b71Sopenharmony_ci## EncodeIntoUint8ArrayInfo<sup>11+</sup> 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1059e41f4b71Sopenharmony_ci 1060e41f4b71Sopenharmony_ciDefines encoded text. 1061e41f4b71Sopenharmony_ci 1062e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 1063e41f4b71Sopenharmony_ci 1064e41f4b71Sopenharmony_ci| Name | Type| Readable |Writable | Description | 1065e41f4b71Sopenharmony_ci| --------- | -------- | -------- |-------- |------------------ | 1066e41f4b71Sopenharmony_ci| read | number | Yes| No|Number of characters that have been read.| 1067e41f4b71Sopenharmony_ci| written | number | Yes|No|Number of bytes that have been written. | 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ci 1070e41f4b71Sopenharmony_ci## TextEncoder 1071e41f4b71Sopenharmony_ci 1072e41f4b71Sopenharmony_ciProvides APIs to encode strings into byte arrays. Multiple encoding formats are supported. 1073e41f4b71Sopenharmony_ci 1074e41f4b71Sopenharmony_ciNote that when **TextEncoder** is used for encoding, the number of bytes occupied by a character varies according to the encoding format. Therefore, when using **TextEncoder**, you must explicitly specify the encoding format to be used to obtain the required encoding result. 1075e41f4b71Sopenharmony_ci 1076e41f4b71Sopenharmony_ci### Attributes 1077e41f4b71Sopenharmony_ci 1078e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1079e41f4b71Sopenharmony_ci 1080e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1081e41f4b71Sopenharmony_ci 1082e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 1083e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1084e41f4b71Sopenharmony_ci| encoding | string | Yes| No| Encoding format.<br>The following formats are supported: utf-8, UTF-8, GBK, GB2312, gb2312, GB18030, gb18030, ibm866, iso-8859-1, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-8-i, iso-8859-10, iso-8859-13, iso-8859-14, iso-8859-15, koi8-r, koi8-u, macintosh, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, gbk, big5, euc-jp, iso-2022-jp, shift_jis, euc-kr, x-mac-cyrillic, utf-16be, and utf-16le.<br>The default value is **'utf-8'**.| 1085e41f4b71Sopenharmony_ci 1086e41f4b71Sopenharmony_ci 1087e41f4b71Sopenharmony_ci### constructor 1088e41f4b71Sopenharmony_ci 1089e41f4b71Sopenharmony_ciconstructor() 1090e41f4b71Sopenharmony_ci 1091e41f4b71Sopenharmony_ciA constructor used to create a **TextEncoder** object. 1092e41f4b71Sopenharmony_ci 1093e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 1094e41f4b71Sopenharmony_ci 1095e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1096e41f4b71Sopenharmony_ci 1097e41f4b71Sopenharmony_ci**Example** 1098e41f4b71Sopenharmony_ci 1099e41f4b71Sopenharmony_ci```ts 1100e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1101e41f4b71Sopenharmony_ci``` 1102e41f4b71Sopenharmony_ci 1103e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1104e41f4b71Sopenharmony_ci 1105e41f4b71Sopenharmony_ciconstructor(encoding?: string) 1106e41f4b71Sopenharmony_ci 1107e41f4b71Sopenharmony_ciA constructor used to create a **TextEncoder** object. 1108e41f4b71Sopenharmony_ci 1109e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 1110e41f4b71Sopenharmony_ci 1111e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1112e41f4b71Sopenharmony_ci 1113e41f4b71Sopenharmony_ci**Parameters** 1114e41f4b71Sopenharmony_ci 1115e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1116e41f4b71Sopenharmony_ci| ----- | ---- | ---- | ---- | 1117e41f4b71Sopenharmony_ci| encoding | string | No| Encoding format. The default format is **'utf-8'**.| 1118e41f4b71Sopenharmony_ci 1119e41f4b71Sopenharmony_ci**Error codes** 1120e41f4b71Sopenharmony_ci 1121e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1122e41f4b71Sopenharmony_ci 1123e41f4b71Sopenharmony_ci| ID| Error Message| 1124e41f4b71Sopenharmony_ci| -------- | -------- | 1125e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci**Example** 1128e41f4b71Sopenharmony_ci 1129e41f4b71Sopenharmony_ci```ts 1130e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder("utf-8"); 1131e41f4b71Sopenharmony_ci``` 1132e41f4b71Sopenharmony_ci 1133e41f4b71Sopenharmony_ci### create<sup>12+</sup> 1134e41f4b71Sopenharmony_ci 1135e41f4b71Sopenharmony_cistatic create(encoding?: string): TextEncoder 1136e41f4b71Sopenharmony_ci 1137e41f4b71Sopenharmony_ciCreates a **TextEncoder** object. 1138e41f4b71Sopenharmony_ci 1139e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1140e41f4b71Sopenharmony_ci 1141e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1142e41f4b71Sopenharmony_ci 1143e41f4b71Sopenharmony_ci**Parameters** 1144e41f4b71Sopenharmony_ci 1145e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1146e41f4b71Sopenharmony_ci| ----- | ---- | ---- | ---- | 1147e41f4b71Sopenharmony_ci| encoding | string | No| Encoding format. The default format is **'utf-8'**.| 1148e41f4b71Sopenharmony_ci 1149e41f4b71Sopenharmony_ci**Error codes** 1150e41f4b71Sopenharmony_ci 1151e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1152e41f4b71Sopenharmony_ci 1153e41f4b71Sopenharmony_ci| ID| Error Message| 1154e41f4b71Sopenharmony_ci| -------- | -------- | 1155e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1156e41f4b71Sopenharmony_ci 1157e41f4b71Sopenharmony_ci**Example** 1158e41f4b71Sopenharmony_ci 1159e41f4b71Sopenharmony_ci```ts 1160e41f4b71Sopenharmony_cilet textEncoder = util.TextEncoder.create("utf-8"); 1161e41f4b71Sopenharmony_ci``` 1162e41f4b71Sopenharmony_ci 1163e41f4b71Sopenharmony_ci### encodeInto<sup>9+</sup> 1164e41f4b71Sopenharmony_ci 1165e41f4b71Sopenharmony_ciencodeInto(input?: string): Uint8Array 1166e41f4b71Sopenharmony_ci 1167e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. 1168e41f4b71Sopenharmony_ci 1169e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 1170e41f4b71Sopenharmony_ci 1171e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1172e41f4b71Sopenharmony_ci 1173e41f4b71Sopenharmony_ci**Parameters** 1174e41f4b71Sopenharmony_ci 1175e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 1176e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ | 1177e41f4b71Sopenharmony_ci| input | string | No | String to encode. The default value is an empty string.| 1178e41f4b71Sopenharmony_ci 1179e41f4b71Sopenharmony_ci**Return value** 1180e41f4b71Sopenharmony_ci 1181e41f4b71Sopenharmony_ci| Type | Description | 1182e41f4b71Sopenharmony_ci| ---------- | ------------------ | 1183e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 1184e41f4b71Sopenharmony_ci 1185e41f4b71Sopenharmony_ci**Error codes** 1186e41f4b71Sopenharmony_ci 1187e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1188e41f4b71Sopenharmony_ci 1189e41f4b71Sopenharmony_ci| ID| Error Message| 1190e41f4b71Sopenharmony_ci| -------- | -------- | 1191e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci**Example** 1194e41f4b71Sopenharmony_ci 1195e41f4b71Sopenharmony_ci```ts 1196e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1197e41f4b71Sopenharmony_cilet result = textEncoder.encodeInto("\uD800¥¥"); 1198e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1199e41f4b71Sopenharmony_ci// Output: result = 237,160,128,194,165,194,165 1200e41f4b71Sopenharmony_ci``` 1201e41f4b71Sopenharmony_ci 1202e41f4b71Sopenharmony_ci### encodeIntoUint8Array<sup>9+</sup> 1203e41f4b71Sopenharmony_ci 1204e41f4b71Sopenharmony_ciencodeIntoUint8Array(input: string, dest: Uint8Array): EncodeIntoUint8ArrayInfo 1205e41f4b71Sopenharmony_ci 1206e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. 1207e41f4b71Sopenharmony_ci 1208e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 1209e41f4b71Sopenharmony_ci 1210e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1211e41f4b71Sopenharmony_ci 1212e41f4b71Sopenharmony_ci**Parameters** 1213e41f4b71Sopenharmony_ci 1214e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 1215e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------------------------------------------- | 1216e41f4b71Sopenharmony_ci| input | string | Yes | String to encode. | 1217e41f4b71Sopenharmony_ci| dest | Uint8Array | Yes | Uint8Array object used to store the UTF-8 encoded text.| 1218e41f4b71Sopenharmony_ci 1219e41f4b71Sopenharmony_ci**Return value** 1220e41f4b71Sopenharmony_ci 1221e41f4b71Sopenharmony_ci| Type | Description | 1222e41f4b71Sopenharmony_ci| ---------- | ------------------ | 1223e41f4b71Sopenharmony_ci| [EncodeIntoUint8ArrayInfo](#encodeintouint8arrayinfo11) | Object obtained. **read** indicates the number of encoded characters, and **write** indicates the number of bytes in the encoded characters.| 1224e41f4b71Sopenharmony_ci 1225e41f4b71Sopenharmony_ci**Error codes** 1226e41f4b71Sopenharmony_ci 1227e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1228e41f4b71Sopenharmony_ci 1229e41f4b71Sopenharmony_ci| ID| Error Message| 1230e41f4b71Sopenharmony_ci| -------- | -------- | 1231e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1232e41f4b71Sopenharmony_ci 1233e41f4b71Sopenharmony_ci**Example** 1234e41f4b71Sopenharmony_ci 1235e41f4b71Sopenharmony_ci```ts 1236e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1237e41f4b71Sopenharmony_cilet buffer = new ArrayBuffer(4); 1238e41f4b71Sopenharmony_cilet dest = new Uint8Array(buffer); 1239e41f4b71Sopenharmony_cilet result = textEncoder.encodeIntoUint8Array('abcd', dest); 1240e41f4b71Sopenharmony_ciconsole.info("dest = " + dest); 1241e41f4b71Sopenharmony_ci// Output: dest = 97,98,99,100 1242e41f4b71Sopenharmony_ci``` 1243e41f4b71Sopenharmony_ci 1244e41f4b71Sopenharmony_ci### encodeInto<sup>(deprecated)</sup> 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ciencodeInto(input: string, dest: Uint8Array): { read: number; written: number } 1247e41f4b71Sopenharmony_ci 1248e41f4b71Sopenharmony_ciStores the UTF-8 encoded text. 1249e41f4b71Sopenharmony_ci 1250e41f4b71Sopenharmony_ci> **NOTE** 1251e41f4b71Sopenharmony_ci> 1252e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [encodeIntoUint8Array<sup>9+</sup>](#encodeintouint8array9) instead. 1253e41f4b71Sopenharmony_ci 1254e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1255e41f4b71Sopenharmony_ci 1256e41f4b71Sopenharmony_ci**Parameters** 1257e41f4b71Sopenharmony_ci 1258e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1259e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1260e41f4b71Sopenharmony_ci| input | string | Yes| String to encode.| 1261e41f4b71Sopenharmony_ci| dest | Uint8Array | Yes| Uint8Array object used to store the UTF-8 encoded text.| 1262e41f4b71Sopenharmony_ci 1263e41f4b71Sopenharmony_ci**Return value** 1264e41f4b71Sopenharmony_ci 1265e41f4b71Sopenharmony_ci| Type| Description| 1266e41f4b71Sopenharmony_ci| -------- | -------- | 1267e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_ci**Example** 1270e41f4b71Sopenharmony_ci 1271e41f4b71Sopenharmony_ci```ts 1272e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1273e41f4b71Sopenharmony_cilet buffer = new ArrayBuffer(4); 1274e41f4b71Sopenharmony_cilet dest = new Uint8Array(buffer); 1275e41f4b71Sopenharmony_cilet result = textEncoder.encodeInto('abcd', dest); 1276e41f4b71Sopenharmony_ciconsole.info("dest = " + dest); 1277e41f4b71Sopenharmony_ci// Output: dest = 97,98,99,100 1278e41f4b71Sopenharmony_ci``` 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci### encode<sup>(deprecated)</sup> 1281e41f4b71Sopenharmony_ci 1282e41f4b71Sopenharmony_ciencode(input?: string): Uint8Array 1283e41f4b71Sopenharmony_ci 1284e41f4b71Sopenharmony_ciEncodes the input content in to a Uint8Array object. 1285e41f4b71Sopenharmony_ci 1286e41f4b71Sopenharmony_ci> **NOTE** 1287e41f4b71Sopenharmony_ci> 1288e41f4b71Sopenharmony_ci> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [encodeInto<sup>9+</sup>](#encodeinto9) instead. 1289e41f4b71Sopenharmony_ci 1290e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1291e41f4b71Sopenharmony_ci 1292e41f4b71Sopenharmony_ci**Parameters** 1293e41f4b71Sopenharmony_ci 1294e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1295e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1296e41f4b71Sopenharmony_ci| input | string | No| String to encode. The default value is an empty string.| 1297e41f4b71Sopenharmony_ci 1298e41f4b71Sopenharmony_ci**Return value** 1299e41f4b71Sopenharmony_ci 1300e41f4b71Sopenharmony_ci| Type| Description| 1301e41f4b71Sopenharmony_ci| -------- | -------- | 1302e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 1303e41f4b71Sopenharmony_ci 1304e41f4b71Sopenharmony_ci**Example** 1305e41f4b71Sopenharmony_ci 1306e41f4b71Sopenharmony_ci```ts 1307e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1308e41f4b71Sopenharmony_cilet result = textEncoder.encode("\uD800¥¥"); 1309e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1310e41f4b71Sopenharmony_ci// Output: result = 237,160,128,194,165,194,165 1311e41f4b71Sopenharmony_ci``` 1312e41f4b71Sopenharmony_ci 1313e41f4b71Sopenharmony_ci## RationalNumber<sup>8+</sup> 1314e41f4b71Sopenharmony_ci 1315e41f4b71Sopenharmony_ciProvides APIs to compare rational numbers and obtain numerators and denominators. For example, the **toString()** API can be used to convert a rational number into a string. 1316e41f4b71Sopenharmony_ci 1317e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1318e41f4b71Sopenharmony_ci 1319e41f4b71Sopenharmony_ciconstructor() 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ciA constructor used to create a **RationalNumber** object. 1322e41f4b71Sopenharmony_ci 1323e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1324e41f4b71Sopenharmony_ci 1325e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1326e41f4b71Sopenharmony_ci 1327e41f4b71Sopenharmony_ci**Example** 1328e41f4b71Sopenharmony_ci 1329e41f4b71Sopenharmony_ci```ts 1330e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(); 1331e41f4b71Sopenharmony_ci``` 1332e41f4b71Sopenharmony_ci 1333e41f4b71Sopenharmony_ci### parseRationalNumber<sup>9+</sup> 1334e41f4b71Sopenharmony_ci 1335e41f4b71Sopenharmony_ciparseRationalNumber(numerator: number,denominator: number): RationalNumber 1336e41f4b71Sopenharmony_ci 1337e41f4b71Sopenharmony_ciCreate a **RationalNumber** instance with a given numerator and denominator. 1338e41f4b71Sopenharmony_ci 1339e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1340e41f4b71Sopenharmony_ci 1341e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1342e41f4b71Sopenharmony_ci 1343e41f4b71Sopenharmony_ci**Parameters** 1344e41f4b71Sopenharmony_ci 1345e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1346e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------- | 1347e41f4b71Sopenharmony_ci| numerator | number | Yes | Numerator, which is an integer.| 1348e41f4b71Sopenharmony_ci| denominator | number | Yes | Denominator, which is an integer.| 1349e41f4b71Sopenharmony_ci 1350e41f4b71Sopenharmony_ci**Error codes** 1351e41f4b71Sopenharmony_ci 1352e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1353e41f4b71Sopenharmony_ci 1354e41f4b71Sopenharmony_ci| ID| Error Message| 1355e41f4b71Sopenharmony_ci| -------- | -------- | 1356e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1357e41f4b71Sopenharmony_ci 1358e41f4b71Sopenharmony_ci**Example** 1359e41f4b71Sopenharmony_ci 1360e41f4b71Sopenharmony_ci```ts 1361e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1362e41f4b71Sopenharmony_ci``` 1363e41f4b71Sopenharmony_ci 1364e41f4b71Sopenharmony_ci### createRationalFromString<sup>8+</sup> 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_cistatic createRationalFromString(rationalString: string): RationalNumber 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ciCreates a **RationalNumber** object based on the given string. 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ci**Parameters** 1375e41f4b71Sopenharmony_ci 1376e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1377e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1378e41f4b71Sopenharmony_ci| rationalString | string | Yes| String used to create the **RationalNumber** object.| 1379e41f4b71Sopenharmony_ci 1380e41f4b71Sopenharmony_ci**Return value** 1381e41f4b71Sopenharmony_ci 1382e41f4b71Sopenharmony_ci| Type| Description| 1383e41f4b71Sopenharmony_ci| -------- | -------- | 1384e41f4b71Sopenharmony_ci| Object | **RationalNumber** object obtained.| 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci**Error codes** 1387e41f4b71Sopenharmony_ci 1388e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1389e41f4b71Sopenharmony_ci 1390e41f4b71Sopenharmony_ci| ID| Error Message| 1391e41f4b71Sopenharmony_ci| -------- | -------- | 1392e41f4b71Sopenharmony_ci| 401 | The type of rationalString must be string. | 1393e41f4b71Sopenharmony_ci 1394e41f4b71Sopenharmony_ci**Example** 1395e41f4b71Sopenharmony_ci 1396e41f4b71Sopenharmony_ci```ts 1397e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1398e41f4b71Sopenharmony_ci``` 1399e41f4b71Sopenharmony_ci 1400e41f4b71Sopenharmony_ci### compare<sup>9+</sup> 1401e41f4b71Sopenharmony_ci 1402e41f4b71Sopenharmony_cicompare(another: RationalNumber): number 1403e41f4b71Sopenharmony_ci 1404e41f4b71Sopenharmony_ciCompares this **RationalNumber** object with another **RationalNumber** object. 1405e41f4b71Sopenharmony_ci 1406e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1407e41f4b71Sopenharmony_ci 1408e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1409e41f4b71Sopenharmony_ci 1410e41f4b71Sopenharmony_ci**Parameters** 1411e41f4b71Sopenharmony_ci 1412e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1413e41f4b71Sopenharmony_ci| ------- | -------------- | ---- | ------------------ | 1414e41f4b71Sopenharmony_ci| another | [RationalNumber](#rationalnumber8) | Yes | Object used to compare with this **RationalNumber** object.| 1415e41f4b71Sopenharmony_ci 1416e41f4b71Sopenharmony_ci**Return value** 1417e41f4b71Sopenharmony_ci 1418e41f4b71Sopenharmony_ci| Type | Description | 1419e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ | 1420e41f4b71Sopenharmony_ci| number | Returns **0** if the two objects are equal; returns **1** if the given object is less than this object; return **-1** if the given object is greater than this object.| 1421e41f4b71Sopenharmony_ci 1422e41f4b71Sopenharmony_ci**Error codes** 1423e41f4b71Sopenharmony_ci 1424e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci| ID| Error Message| 1427e41f4b71Sopenharmony_ci| -------- | -------- | 1428e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci**Example** 1431e41f4b71Sopenharmony_ci 1432e41f4b71Sopenharmony_ci```ts 1433e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1434e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1435e41f4b71Sopenharmony_cilet result = rationalNumber.compare(rational); 1436e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1437e41f4b71Sopenharmony_ci// Output: result = -1 1438e41f4b71Sopenharmony_ci``` 1439e41f4b71Sopenharmony_ci 1440e41f4b71Sopenharmony_ci### valueOf<sup>8+</sup> 1441e41f4b71Sopenharmony_ci 1442e41f4b71Sopenharmony_civalueOf(): number 1443e41f4b71Sopenharmony_ci 1444e41f4b71Sopenharmony_ciObtains the value of this **RationalNumber** object as an integer or a floating-point number. 1445e41f4b71Sopenharmony_ci 1446e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1447e41f4b71Sopenharmony_ci 1448e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1449e41f4b71Sopenharmony_ci 1450e41f4b71Sopenharmony_ci**Return value** 1451e41f4b71Sopenharmony_ci 1452e41f4b71Sopenharmony_ci| Type| Description| 1453e41f4b71Sopenharmony_ci| -------- | -------- | 1454e41f4b71Sopenharmony_ci| number | An integer or a floating-point number.| 1455e41f4b71Sopenharmony_ci 1456e41f4b71Sopenharmony_ci**Example** 1457e41f4b71Sopenharmony_ci 1458e41f4b71Sopenharmony_ci```ts 1459e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1460e41f4b71Sopenharmony_cilet result = rationalNumber.valueOf(); 1461e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1462e41f4b71Sopenharmony_ci// Output: result = 0.5 1463e41f4b71Sopenharmony_ci``` 1464e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1465e41f4b71Sopenharmony_ci```ts 1466e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1467e41f4b71Sopenharmony_cilet result = rationalNumber.valueOf(); 1468e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1469e41f4b71Sopenharmony_ci// Output: result = 0.5 1470e41f4b71Sopenharmony_ci``` 1471e41f4b71Sopenharmony_ci 1472e41f4b71Sopenharmony_ci### equals<sup>8+</sup> 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_ciequals(obj: Object): boolean 1475e41f4b71Sopenharmony_ci 1476e41f4b71Sopenharmony_ciChecks whether this **RationalNumber** object equals the given object. 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1479e41f4b71Sopenharmony_ci 1480e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1481e41f4b71Sopenharmony_ci 1482e41f4b71Sopenharmony_ci**Parameters** 1483e41f4b71Sopenharmony_ci 1484e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1485e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1486e41f4b71Sopenharmony_ci| obj | Object | Yes| Object used to compare with this **RationalNumber** object.| 1487e41f4b71Sopenharmony_ci 1488e41f4b71Sopenharmony_ci**Return value** 1489e41f4b71Sopenharmony_ci 1490e41f4b71Sopenharmony_ci| Type| Description| 1491e41f4b71Sopenharmony_ci| -------- | -------- | 1492e41f4b71Sopenharmony_ci| boolean | Returns **true** if the two objects are equal; returns **false** otherwise.| 1493e41f4b71Sopenharmony_ci 1494e41f4b71Sopenharmony_ci**Example** 1495e41f4b71Sopenharmony_ci 1496e41f4b71Sopenharmony_ci```ts 1497e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1498e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1499e41f4b71Sopenharmony_cilet result = rationalNumber.equals(rational); 1500e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1501e41f4b71Sopenharmony_ci// Output: result = false 1502e41f4b71Sopenharmony_ci``` 1503e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1504e41f4b71Sopenharmony_ci```ts 1505e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1506e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1507e41f4b71Sopenharmony_cilet result = rationalNumber.equals(rational); 1508e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1509e41f4b71Sopenharmony_ci// Output: result = false 1510e41f4b71Sopenharmony_ci``` 1511e41f4b71Sopenharmony_ci 1512e41f4b71Sopenharmony_ci### getCommonFactor<sup>9+</sup> 1513e41f4b71Sopenharmony_ci 1514e41f4b71Sopenharmony_cigetCommonFactor(number1: number,number2: number): number 1515e41f4b71Sopenharmony_ci 1516e41f4b71Sopenharmony_ciObtains the greatest common divisor of two specified integers. 1517e41f4b71Sopenharmony_ci 1518e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1519e41f4b71Sopenharmony_ci 1520e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1521e41f4b71Sopenharmony_ci 1522e41f4b71Sopenharmony_ci**Parameters** 1523e41f4b71Sopenharmony_ci 1524e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1525e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ---------- | 1526e41f4b71Sopenharmony_ci| number1 | number | Yes | The first integer used to get the greatest common divisor.| 1527e41f4b71Sopenharmony_ci| number2 | number | Yes | The second integer used to get the greatest common divisor.| 1528e41f4b71Sopenharmony_ci 1529e41f4b71Sopenharmony_ci**Return value** 1530e41f4b71Sopenharmony_ci 1531e41f4b71Sopenharmony_ci| Type | Description | 1532e41f4b71Sopenharmony_ci| ------ | ------------------------------ | 1533e41f4b71Sopenharmony_ci| number | Greatest common divisor obtained.| 1534e41f4b71Sopenharmony_ci 1535e41f4b71Sopenharmony_ci**Error codes** 1536e41f4b71Sopenharmony_ci 1537e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1538e41f4b71Sopenharmony_ci 1539e41f4b71Sopenharmony_ci| ID| Error Message| 1540e41f4b71Sopenharmony_ci| -------- | -------- | 1541e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1542e41f4b71Sopenharmony_ci 1543e41f4b71Sopenharmony_ci**Example** 1544e41f4b71Sopenharmony_ci 1545e41f4b71Sopenharmony_ci```ts 1546e41f4b71Sopenharmony_cilet result = util.RationalNumber.getCommonFactor(4,6); 1547e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1548e41f4b71Sopenharmony_ci// Output: result = 2 1549e41f4b71Sopenharmony_ci``` 1550e41f4b71Sopenharmony_ci 1551e41f4b71Sopenharmony_ci### getNumerator<sup>8+</sup> 1552e41f4b71Sopenharmony_ci 1553e41f4b71Sopenharmony_cigetNumerator(): number 1554e41f4b71Sopenharmony_ci 1555e41f4b71Sopenharmony_ciObtains the numerator of this **RationalNumber** object. 1556e41f4b71Sopenharmony_ci 1557e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1558e41f4b71Sopenharmony_ci 1559e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1560e41f4b71Sopenharmony_ci 1561e41f4b71Sopenharmony_ci**Return value** 1562e41f4b71Sopenharmony_ci 1563e41f4b71Sopenharmony_ci| Type| Description| 1564e41f4b71Sopenharmony_ci| -------- | -------- | 1565e41f4b71Sopenharmony_ci| number | Numerator of this **RationalNumber** object.| 1566e41f4b71Sopenharmony_ci 1567e41f4b71Sopenharmony_ci**Example** 1568e41f4b71Sopenharmony_ci 1569e41f4b71Sopenharmony_ci```ts 1570e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1571e41f4b71Sopenharmony_cilet result = rationalNumber.getNumerator(); 1572e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1573e41f4b71Sopenharmony_ci// Output: result = 1 1574e41f4b71Sopenharmony_ci``` 1575e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1576e41f4b71Sopenharmony_ci```ts 1577e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1578e41f4b71Sopenharmony_cilet result = rationalNumber.getNumerator(); 1579e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1580e41f4b71Sopenharmony_ci// Output: result = 1 1581e41f4b71Sopenharmony_ci``` 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ci### getDenominator<sup>8+</sup> 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_cigetDenominator(): number 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ciObtains the denominator of this **RationalNumber** object. 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1590e41f4b71Sopenharmony_ci 1591e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1592e41f4b71Sopenharmony_ci 1593e41f4b71Sopenharmony_ci**Return value** 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci| Type| Description| 1596e41f4b71Sopenharmony_ci| -------- | -------- | 1597e41f4b71Sopenharmony_ci| number | Denominator of this **RationalNumber** object.| 1598e41f4b71Sopenharmony_ci 1599e41f4b71Sopenharmony_ci**Example** 1600e41f4b71Sopenharmony_ci 1601e41f4b71Sopenharmony_ci```ts 1602e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1603e41f4b71Sopenharmony_cilet result = rationalNumber.getDenominator(); 1604e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1605e41f4b71Sopenharmony_ci// Output: result = 2 1606e41f4b71Sopenharmony_ci``` 1607e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1608e41f4b71Sopenharmony_ci```ts 1609e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2) 1610e41f4b71Sopenharmony_cilet result = rationalNumber.getDenominator(); 1611e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1612e41f4b71Sopenharmony_ci// Output: result = 2 1613e41f4b71Sopenharmony_ci``` 1614e41f4b71Sopenharmony_ci 1615e41f4b71Sopenharmony_ci### isZero<sup>8+</sup> 1616e41f4b71Sopenharmony_ci 1617e41f4b71Sopenharmony_ciisZero():boolean 1618e41f4b71Sopenharmony_ci 1619e41f4b71Sopenharmony_ciChecks whether this **RationalNumber** object is **0**. 1620e41f4b71Sopenharmony_ci 1621e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ci**Return value** 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci| Type| Description| 1628e41f4b71Sopenharmony_ci| -------- | -------- | 1629e41f4b71Sopenharmony_ci| boolean | Returns **true** if the value of this **RationalNumber** object is **0**; returns **false** otherwise.| 1630e41f4b71Sopenharmony_ci 1631e41f4b71Sopenharmony_ci**Example** 1632e41f4b71Sopenharmony_ci 1633e41f4b71Sopenharmony_ci```ts 1634e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1635e41f4b71Sopenharmony_cilet result = rationalNumber.isZero(); 1636e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1637e41f4b71Sopenharmony_ci// Output: result = false 1638e41f4b71Sopenharmony_ci``` 1639e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1640e41f4b71Sopenharmony_ci```ts 1641e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1642e41f4b71Sopenharmony_cilet result = rationalNumber.isZero(); 1643e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1644e41f4b71Sopenharmony_ci// Output: result = false 1645e41f4b71Sopenharmony_ci``` 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ci### isNaN<sup>8+</sup> 1648e41f4b71Sopenharmony_ci 1649e41f4b71Sopenharmony_ciisNaN(): boolean 1650e41f4b71Sopenharmony_ci 1651e41f4b71Sopenharmony_ciChecks whether this **RationalNumber** object is a Not a Number (NaN). 1652e41f4b71Sopenharmony_ci 1653e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1654e41f4b71Sopenharmony_ci 1655e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1656e41f4b71Sopenharmony_ci 1657e41f4b71Sopenharmony_ci**Return value** 1658e41f4b71Sopenharmony_ci 1659e41f4b71Sopenharmony_ci| Type| Description| 1660e41f4b71Sopenharmony_ci| -------- | -------- | 1661e41f4b71Sopenharmony_ci| boolean | Returns **true** if this **RationalNumber** object is a NaN (the denominator and numerator are both **0**); returns **false** otherwise.| 1662e41f4b71Sopenharmony_ci 1663e41f4b71Sopenharmony_ci**Example** 1664e41f4b71Sopenharmony_ci 1665e41f4b71Sopenharmony_ci```ts 1666e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1667e41f4b71Sopenharmony_cilet result = rationalNumber.isNaN(); 1668e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1669e41f4b71Sopenharmony_ci// Output: result = false 1670e41f4b71Sopenharmony_ci``` 1671e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1672e41f4b71Sopenharmony_ci```ts 1673e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1674e41f4b71Sopenharmony_cilet result = rationalNumber.isNaN(); 1675e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1676e41f4b71Sopenharmony_ci// Output: result = false 1677e41f4b71Sopenharmony_ci``` 1678e41f4b71Sopenharmony_ci 1679e41f4b71Sopenharmony_ci### isFinite<sup>8+</sup> 1680e41f4b71Sopenharmony_ci 1681e41f4b71Sopenharmony_ciisFinite():boolean 1682e41f4b71Sopenharmony_ci 1683e41f4b71Sopenharmony_ciChecks whether this **RationalNumber** object represents a finite value. 1684e41f4b71Sopenharmony_ci 1685e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1686e41f4b71Sopenharmony_ci 1687e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1688e41f4b71Sopenharmony_ci 1689e41f4b71Sopenharmony_ci**Return value** 1690e41f4b71Sopenharmony_ci 1691e41f4b71Sopenharmony_ci| Type| Description| 1692e41f4b71Sopenharmony_ci| -------- | -------- | 1693e41f4b71Sopenharmony_ci| boolean | Returns **true** if this **RationalNumber** object represents a finite value (the denominator is not **0**); returns **false** otherwise.| 1694e41f4b71Sopenharmony_ci 1695e41f4b71Sopenharmony_ci**Example** 1696e41f4b71Sopenharmony_ci 1697e41f4b71Sopenharmony_ci```ts 1698e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1699e41f4b71Sopenharmony_cilet result = rationalNumber.isFinite(); 1700e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1701e41f4b71Sopenharmony_ci// Output: result = true 1702e41f4b71Sopenharmony_ci``` 1703e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1704e41f4b71Sopenharmony_ci```ts 1705e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1706e41f4b71Sopenharmony_cilet result = rationalNumber.isFinite(); 1707e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1708e41f4b71Sopenharmony_ci// Output: result = true 1709e41f4b71Sopenharmony_ci``` 1710e41f4b71Sopenharmony_ci 1711e41f4b71Sopenharmony_ci### toString<sup>8+</sup> 1712e41f4b71Sopenharmony_ci 1713e41f4b71Sopenharmony_citoString(): string 1714e41f4b71Sopenharmony_ci 1715e41f4b71Sopenharmony_ciObtains the string representation of this **RationalNumber** object. 1716e41f4b71Sopenharmony_ci 1717e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1718e41f4b71Sopenharmony_ci 1719e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1720e41f4b71Sopenharmony_ci 1721e41f4b71Sopenharmony_ci**Return value** 1722e41f4b71Sopenharmony_ci 1723e41f4b71Sopenharmony_ci| Type| Description| 1724e41f4b71Sopenharmony_ci| -------- | -------- | 1725e41f4b71Sopenharmony_ci| string | Returns a string in Numerator/Denominator format in normal cases, for example, 3/5; returns **0/1** if the numerator of this object is **0**; returns **Infinity** if the denominator is **0**; returns **NaN** if the numerator and denominator are both **0**.| 1726e41f4b71Sopenharmony_ci 1727e41f4b71Sopenharmony_ci**Example** 1728e41f4b71Sopenharmony_ci 1729e41f4b71Sopenharmony_ci```ts 1730e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1731e41f4b71Sopenharmony_cilet result = rationalNumber.toString(); 1732e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1733e41f4b71Sopenharmony_ci// Output: result = 1/2 1734e41f4b71Sopenharmony_ci``` 1735e41f4b71Sopenharmony_ciYou are advised to use the following code snippet for API version 9 and later versions: 1736e41f4b71Sopenharmony_ci```ts 1737e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1738e41f4b71Sopenharmony_cilet result = rationalNumber.toString(); 1739e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1740e41f4b71Sopenharmony_ci// Output: result = 1/2 1741e41f4b71Sopenharmony_ci``` 1742e41f4b71Sopenharmony_ci 1743e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ciconstructor(numerator: number,denominator: number) 1746e41f4b71Sopenharmony_ci 1747e41f4b71Sopenharmony_ciA constructor used to create a **RationalNumber** object. 1748e41f4b71Sopenharmony_ci 1749e41f4b71Sopenharmony_ci> **NOTE** 1750e41f4b71Sopenharmony_ci> 1751e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [parserationalnumber<sup>9+</sup>](#parserationalnumber9) instead. 1752e41f4b71Sopenharmony_ci 1753e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1754e41f4b71Sopenharmony_ci 1755e41f4b71Sopenharmony_ci**Parameters** 1756e41f4b71Sopenharmony_ci 1757e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1758e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1759e41f4b71Sopenharmony_ci| numerator | number | Yes| Numerator, which is an integer.| 1760e41f4b71Sopenharmony_ci| denominator | number | Yes| Denominator, which is an integer.| 1761e41f4b71Sopenharmony_ci 1762e41f4b71Sopenharmony_ci**Example** 1763e41f4b71Sopenharmony_ci 1764e41f4b71Sopenharmony_ci```ts 1765e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1766e41f4b71Sopenharmony_ci``` 1767e41f4b71Sopenharmony_ci 1768e41f4b71Sopenharmony_ci### compareTo<sup>(deprecated)</sup> 1769e41f4b71Sopenharmony_ci 1770e41f4b71Sopenharmony_cicompareTo(another: RationalNumber): number 1771e41f4b71Sopenharmony_ci 1772e41f4b71Sopenharmony_ciCompares this **RationalNumber** object with a given object. 1773e41f4b71Sopenharmony_ci 1774e41f4b71Sopenharmony_ci> **NOTE** 1775e41f4b71Sopenharmony_ci> 1776e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [compare<sup>9+</sup>](#compare9) instead. 1777e41f4b71Sopenharmony_ci 1778e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1779e41f4b71Sopenharmony_ci 1780e41f4b71Sopenharmony_ci**Parameters** 1781e41f4b71Sopenharmony_ci 1782e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1783e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1784e41f4b71Sopenharmony_ci| another | RationalNumber | Yes| Object used to compare with this **RationalNumber** object.| 1785e41f4b71Sopenharmony_ci 1786e41f4b71Sopenharmony_ci**Return value** 1787e41f4b71Sopenharmony_ci 1788e41f4b71Sopenharmony_ci| Type| Description| 1789e41f4b71Sopenharmony_ci| -------- | -------- | 1790e41f4b71Sopenharmony_ci| number | Returns **0** if the two objects are equal; returns **1** if the given object is less than this object; return **-1** if the given object is greater than this object.| 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci**Example** 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ci```ts 1795e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1796e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1797e41f4b71Sopenharmony_cilet result = rationalNumber.compareTo(rational); 1798e41f4b71Sopenharmony_ci``` 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_ci### getCommonDivisor<sup>(deprecated)</sup> 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_cistatic getCommonDivisor(number1: number,number2: number): number 1803e41f4b71Sopenharmony_ci 1804e41f4b71Sopenharmony_ciObtains the greatest common divisor of two specified integers. 1805e41f4b71Sopenharmony_ci 1806e41f4b71Sopenharmony_ci> **NOTE** 1807e41f4b71Sopenharmony_ci> 1808e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [getCommonFactor<sup>9+</sup>](#getcommonfactor9) instead. 1809e41f4b71Sopenharmony_ci 1810e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1811e41f4b71Sopenharmony_ci 1812e41f4b71Sopenharmony_ci**Parameters** 1813e41f4b71Sopenharmony_ci 1814e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1815e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1816e41f4b71Sopenharmony_ci| number1 | number | Yes| The first integer used to get the greatest common divisor.| 1817e41f4b71Sopenharmony_ci| number2 | number | Yes| The second integer used to get the greatest common divisor.| 1818e41f4b71Sopenharmony_ci 1819e41f4b71Sopenharmony_ci**Return value** 1820e41f4b71Sopenharmony_ci 1821e41f4b71Sopenharmony_ci| Type| Description| 1822e41f4b71Sopenharmony_ci| -------- | -------- | 1823e41f4b71Sopenharmony_ci| number | Greatest common divisor obtained.| 1824e41f4b71Sopenharmony_ci 1825e41f4b71Sopenharmony_ci**Example** 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci```ts 1828e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1829e41f4b71Sopenharmony_cilet result = util.RationalNumber.getCommonDivisor(4,6); 1830e41f4b71Sopenharmony_ci``` 1831e41f4b71Sopenharmony_ci 1832e41f4b71Sopenharmony_ci## LRUCache<sup>9+</sup> 1833e41f4b71Sopenharmony_ci 1834e41f4b71Sopenharmony_ciProvides APIs to discard the least recently used data to make rooms for new elements when the cache is full. This class uses the Least Recently Used (LRU) algorithm, which believes that the recently used data may be accessed again in the near future and the least accessed data is the least valuable data and should be removed from the cache. 1835e41f4b71Sopenharmony_ci 1836e41f4b71Sopenharmony_ci### Attributes 1837e41f4b71Sopenharmony_ci 1838e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1839e41f4b71Sopenharmony_ci 1840e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1841e41f4b71Sopenharmony_ci 1842e41f4b71Sopenharmony_ci| Name | Type | Readable| Writable| Description | 1843e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ---------------------- | 1844e41f4b71Sopenharmony_ci| length | number | Yes | No | Total number of values in this cache.| 1845e41f4b71Sopenharmony_ci 1846e41f4b71Sopenharmony_ci**Example** 1847e41f4b71Sopenharmony_ci 1848e41f4b71Sopenharmony_ci```ts 1849e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1850e41f4b71Sopenharmony_cipro.put(2, 10); 1851e41f4b71Sopenharmony_cipro.put(1, 8); 1852e41f4b71Sopenharmony_cilet result = pro.length; 1853e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 1854e41f4b71Sopenharmony_ci// Output: result = 2 1855e41f4b71Sopenharmony_ci``` 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ciconstructor(capacity?: number) 1860e41f4b71Sopenharmony_ci 1861e41f4b71Sopenharmony_ciA constructor used to create a **LRUCache** instance. The default capacity of the cache is 64. 1862e41f4b71Sopenharmony_ci 1863e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1864e41f4b71Sopenharmony_ci 1865e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1866e41f4b71Sopenharmony_ci 1867e41f4b71Sopenharmony_ci**Parameters** 1868e41f4b71Sopenharmony_ci 1869e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1870e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---------------------------- | 1871e41f4b71Sopenharmony_ci| capacity | number | No | Capacity of the cache to create. The default value is **64**, and the maximum value is **2147483647**.| 1872e41f4b71Sopenharmony_ci 1873e41f4b71Sopenharmony_ci**Error codes** 1874e41f4b71Sopenharmony_ci 1875e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1876e41f4b71Sopenharmony_ci 1877e41f4b71Sopenharmony_ci| ID| Error Message| 1878e41f4b71Sopenharmony_ci| -------- | -------- | 1879e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 1880e41f4b71Sopenharmony_ci 1881e41f4b71Sopenharmony_ci**Example** 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci```ts 1884e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1885e41f4b71Sopenharmony_ci``` 1886e41f4b71Sopenharmony_ci 1887e41f4b71Sopenharmony_ci 1888e41f4b71Sopenharmony_ci### updateCapacity<sup>9+</sup> 1889e41f4b71Sopenharmony_ci 1890e41f4b71Sopenharmony_ciupdateCapacity(newCapacity: number): void 1891e41f4b71Sopenharmony_ci 1892e41f4b71Sopenharmony_ciChanges the cache capacity. If the new capacity is less than or equal to **0**, an exception will be thrown. If the total number of values in the cache is greater than the specified capacity, the deletion operation is performed. 1893e41f4b71Sopenharmony_ci 1894e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1895e41f4b71Sopenharmony_ci 1896e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1897e41f4b71Sopenharmony_ci 1898e41f4b71Sopenharmony_ci**Parameters** 1899e41f4b71Sopenharmony_ci 1900e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1901e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------------------- | 1902e41f4b71Sopenharmony_ci| newCapacity | number | Yes | New capacity of the cache. The maximum value is **2147483647**.| 1903e41f4b71Sopenharmony_ci 1904e41f4b71Sopenharmony_ci**Error codes** 1905e41f4b71Sopenharmony_ci 1906e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci| ID| Error Message| 1909e41f4b71Sopenharmony_ci| -------- | -------- | 1910e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. | 1911e41f4b71Sopenharmony_ci 1912e41f4b71Sopenharmony_ci**Example** 1913e41f4b71Sopenharmony_ci 1914e41f4b71Sopenharmony_ci```ts 1915e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1916e41f4b71Sopenharmony_cipro.updateCapacity(100); 1917e41f4b71Sopenharmony_ci``` 1918e41f4b71Sopenharmony_ci 1919e41f4b71Sopenharmony_ci### toString<sup>9+</sup> 1920e41f4b71Sopenharmony_ci 1921e41f4b71Sopenharmony_citoString(): string 1922e41f4b71Sopenharmony_ci 1923e41f4b71Sopenharmony_ciObtains the string representation of this cache. 1924e41f4b71Sopenharmony_ci 1925e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1926e41f4b71Sopenharmony_ci 1927e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1928e41f4b71Sopenharmony_ci 1929e41f4b71Sopenharmony_ci**Return value** 1930e41f4b71Sopenharmony_ci 1931e41f4b71Sopenharmony_ci| Type | Description | 1932e41f4b71Sopenharmony_ci| ------ | -------------------------- | 1933e41f4b71Sopenharmony_ci| string | String representation of this cache.| 1934e41f4b71Sopenharmony_ci 1935e41f4b71Sopenharmony_ci**Example** 1936e41f4b71Sopenharmony_ci 1937e41f4b71Sopenharmony_ci```ts 1938e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1939e41f4b71Sopenharmony_cipro.put(2, 10); 1940e41f4b71Sopenharmony_cipro.get(2); 1941e41f4b71Sopenharmony_cipro.get(3); 1942e41f4b71Sopenharmony_ciconsole.info(pro.toString()); 1943e41f4b71Sopenharmony_ci// Output: LRUCache[ maxSize = 64, hits = 1, misses = 1, hitRate = 50% ] 1944e41f4b71Sopenharmony_ci// maxSize: maximum size of the cache. hits: number of matched queries. misses: number of mismatched queries. hitRate: matching rate. 1945e41f4b71Sopenharmony_ci``` 1946e41f4b71Sopenharmony_ci 1947e41f4b71Sopenharmony_ci### getCapacity<sup>9+</sup> 1948e41f4b71Sopenharmony_ci 1949e41f4b71Sopenharmony_cigetCapacity(): number 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ciObtains the capacity of this cache. 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1956e41f4b71Sopenharmony_ci 1957e41f4b71Sopenharmony_ci**Return value** 1958e41f4b71Sopenharmony_ci 1959e41f4b71Sopenharmony_ci| Type | Description | 1960e41f4b71Sopenharmony_ci| ------ | ---------------------- | 1961e41f4b71Sopenharmony_ci| number | Capacity of the cache.| 1962e41f4b71Sopenharmony_ci 1963e41f4b71Sopenharmony_ci**Example** 1964e41f4b71Sopenharmony_ci 1965e41f4b71Sopenharmony_ci```ts 1966e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1967e41f4b71Sopenharmony_cilet result = pro.getCapacity(); 1968e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 1969e41f4b71Sopenharmony_ci// Output: result = 64 1970e41f4b71Sopenharmony_ci``` 1971e41f4b71Sopenharmony_ci 1972e41f4b71Sopenharmony_ci### clear<sup>9+</sup> 1973e41f4b71Sopenharmony_ci 1974e41f4b71Sopenharmony_ciclear(): void 1975e41f4b71Sopenharmony_ci 1976e41f4b71Sopenharmony_ciClears key-value pairs from this cache. 1977e41f4b71Sopenharmony_ci 1978e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1979e41f4b71Sopenharmony_ci 1980e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 1981e41f4b71Sopenharmony_ci 1982e41f4b71Sopenharmony_ci**Example** 1983e41f4b71Sopenharmony_ci 1984e41f4b71Sopenharmony_ci```ts 1985e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1986e41f4b71Sopenharmony_cipro.put(2, 10); 1987e41f4b71Sopenharmony_cilet result = pro.length; 1988e41f4b71Sopenharmony_cipro.clear(); 1989e41f4b71Sopenharmony_cilet res = pro.length; 1990e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 1991e41f4b71Sopenharmony_ciconsole.info('res = ' + res); 1992e41f4b71Sopenharmony_ci// Output: result = 1 1993e41f4b71Sopenharmony_ci// Output: res = 0 1994e41f4b71Sopenharmony_ci``` 1995e41f4b71Sopenharmony_ci 1996e41f4b71Sopenharmony_ci### getCreateCount<sup>9+</sup> 1997e41f4b71Sopenharmony_ci 1998e41f4b71Sopenharmony_cigetCreateCount(): number 1999e41f4b71Sopenharmony_ci 2000e41f4b71Sopenharmony_ciObtains the number of times that an object is created. 2001e41f4b71Sopenharmony_ci 2002e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2003e41f4b71Sopenharmony_ci 2004e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2005e41f4b71Sopenharmony_ci 2006e41f4b71Sopenharmony_ci**Return value** 2007e41f4b71Sopenharmony_ci 2008e41f4b71Sopenharmony_ci| Type | Description | 2009e41f4b71Sopenharmony_ci| ------ | -------------------| 2010e41f4b71Sopenharmony_ci| number | Number of times that objects are created.| 2011e41f4b71Sopenharmony_ci 2012e41f4b71Sopenharmony_ci**Example** 2013e41f4b71Sopenharmony_ci 2014e41f4b71Sopenharmony_ci```ts 2015e41f4b71Sopenharmony_ci// Create the ChildLRUCache class that inherits LRUCache, and override createDefault() to return a non-undefined value. 2016e41f4b71Sopenharmony_ciclass ChildLRUCache extends util.LRUCache<number, number> { 2017e41f4b71Sopenharmony_ci constructor() { 2018e41f4b71Sopenharmony_ci super(); 2019e41f4b71Sopenharmony_ci } 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_ci createDefault(key: number): number { 2022e41f4b71Sopenharmony_ci return key; 2023e41f4b71Sopenharmony_ci } 2024e41f4b71Sopenharmony_ci} 2025e41f4b71Sopenharmony_cilet lru = new ChildLRUCache(); 2026e41f4b71Sopenharmony_cilru.put(2, 10); 2027e41f4b71Sopenharmony_cilru.get(3); 2028e41f4b71Sopenharmony_cilru.get(5); 2029e41f4b71Sopenharmony_cilet res = lru.getCreateCount(); 2030e41f4b71Sopenharmony_ciconsole.info('res = ' + res); 2031e41f4b71Sopenharmony_ci// Output: res = 2 2032e41f4b71Sopenharmony_ci``` 2033e41f4b71Sopenharmony_ci 2034e41f4b71Sopenharmony_ci### getMissCount<sup>9+</sup> 2035e41f4b71Sopenharmony_ci 2036e41f4b71Sopenharmony_cigetMissCount(): number 2037e41f4b71Sopenharmony_ci 2038e41f4b71Sopenharmony_ciObtains the number of times that the queried values are mismatched. 2039e41f4b71Sopenharmony_ci 2040e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2041e41f4b71Sopenharmony_ci 2042e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2043e41f4b71Sopenharmony_ci 2044e41f4b71Sopenharmony_ci**Return value** 2045e41f4b71Sopenharmony_ci 2046e41f4b71Sopenharmony_ci| Type | Description | 2047e41f4b71Sopenharmony_ci| ------ | ------------------------ | 2048e41f4b71Sopenharmony_ci| number | Number of times that the queried values are mismatched.| 2049e41f4b71Sopenharmony_ci 2050e41f4b71Sopenharmony_ci**Example** 2051e41f4b71Sopenharmony_ci 2052e41f4b71Sopenharmony_ci```ts 2053e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2054e41f4b71Sopenharmony_cipro.put(2, 10); 2055e41f4b71Sopenharmony_cipro.get(2); 2056e41f4b71Sopenharmony_cilet result = pro.getMissCount(); 2057e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2058e41f4b71Sopenharmony_ci// Output: result = 0 2059e41f4b71Sopenharmony_ci``` 2060e41f4b71Sopenharmony_ci 2061e41f4b71Sopenharmony_ci### getRemovalCount<sup>9+</sup> 2062e41f4b71Sopenharmony_ci 2063e41f4b71Sopenharmony_cigetRemovalCount(): number 2064e41f4b71Sopenharmony_ci 2065e41f4b71Sopenharmony_ciObtains the number of times that key-value pairs in the cache are recycled. 2066e41f4b71Sopenharmony_ci 2067e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2068e41f4b71Sopenharmony_ci 2069e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2070e41f4b71Sopenharmony_ci 2071e41f4b71Sopenharmony_ci**Return value** 2072e41f4b71Sopenharmony_ci 2073e41f4b71Sopenharmony_ci| Type | Description | 2074e41f4b71Sopenharmony_ci| ------ | -------------------------- | 2075e41f4b71Sopenharmony_ci| number | Number of times that key-value pairs in the cache are recycled.| 2076e41f4b71Sopenharmony_ci 2077e41f4b71Sopenharmony_ci**Example** 2078e41f4b71Sopenharmony_ci 2079e41f4b71Sopenharmony_ci```ts 2080e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2081e41f4b71Sopenharmony_cipro.put(2, 10); 2082e41f4b71Sopenharmony_cipro.updateCapacity(2); 2083e41f4b71Sopenharmony_cipro.put(50, 22); 2084e41f4b71Sopenharmony_cilet result = pro.getRemovalCount(); 2085e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2086e41f4b71Sopenharmony_ci// Output: result = 0 2087e41f4b71Sopenharmony_ci``` 2088e41f4b71Sopenharmony_ci 2089e41f4b71Sopenharmony_ci### getMatchCount<sup>9+</sup> 2090e41f4b71Sopenharmony_ci 2091e41f4b71Sopenharmony_cigetMatchCount(): number 2092e41f4b71Sopenharmony_ci 2093e41f4b71Sopenharmony_ciObtains the number of times that the queried values are matched. 2094e41f4b71Sopenharmony_ci 2095e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2096e41f4b71Sopenharmony_ci 2097e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2098e41f4b71Sopenharmony_ci 2099e41f4b71Sopenharmony_ci**Return value** 2100e41f4b71Sopenharmony_ci 2101e41f4b71Sopenharmony_ci| Type | Description | 2102e41f4b71Sopenharmony_ci| ------ | -------------------------- | 2103e41f4b71Sopenharmony_ci| number | Number of times that the queried values are matched.| 2104e41f4b71Sopenharmony_ci 2105e41f4b71Sopenharmony_ci**Example** 2106e41f4b71Sopenharmony_ci 2107e41f4b71Sopenharmony_ci ```ts 2108e41f4b71Sopenharmony_ci let pro = new util.LRUCache<number, number>(); 2109e41f4b71Sopenharmony_ci pro.put(2, 10); 2110e41f4b71Sopenharmony_ci pro.get(2); 2111e41f4b71Sopenharmony_ci let result = pro.getMatchCount(); 2112e41f4b71Sopenharmony_ci console.info('result = ' + result); 2113e41f4b71Sopenharmony_ci // Output: result = 1 2114e41f4b71Sopenharmony_ci ``` 2115e41f4b71Sopenharmony_ci 2116e41f4b71Sopenharmony_ci### getPutCount<sup>9+</sup> 2117e41f4b71Sopenharmony_ci 2118e41f4b71Sopenharmony_cigetPutCount(): number 2119e41f4b71Sopenharmony_ci 2120e41f4b71Sopenharmony_ciObtains the number of additions to this cache. 2121e41f4b71Sopenharmony_ci 2122e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2123e41f4b71Sopenharmony_ci 2124e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2125e41f4b71Sopenharmony_ci 2126e41f4b71Sopenharmony_ci**Return value** 2127e41f4b71Sopenharmony_ci 2128e41f4b71Sopenharmony_ci| Type | Description | 2129e41f4b71Sopenharmony_ci| ------ | ---------------------------- | 2130e41f4b71Sopenharmony_ci| number | Number of additions to the cache.| 2131e41f4b71Sopenharmony_ci 2132e41f4b71Sopenharmony_ci**Example** 2133e41f4b71Sopenharmony_ci 2134e41f4b71Sopenharmony_ci```ts 2135e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2136e41f4b71Sopenharmony_cipro.put(2, 10); 2137e41f4b71Sopenharmony_cilet result = pro.getPutCount(); 2138e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2139e41f4b71Sopenharmony_ci// Output: result = 1 2140e41f4b71Sopenharmony_ci``` 2141e41f4b71Sopenharmony_ci 2142e41f4b71Sopenharmony_ci### isEmpty<sup>9+</sup> 2143e41f4b71Sopenharmony_ci 2144e41f4b71Sopenharmony_ciisEmpty(): boolean 2145e41f4b71Sopenharmony_ci 2146e41f4b71Sopenharmony_ciChecks whether this cache is empty. 2147e41f4b71Sopenharmony_ci 2148e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2149e41f4b71Sopenharmony_ci 2150e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2151e41f4b71Sopenharmony_ci 2152e41f4b71Sopenharmony_ci**Return value** 2153e41f4b71Sopenharmony_ci 2154e41f4b71Sopenharmony_ci| Type | Description | 2155e41f4b71Sopenharmony_ci| ------- | ---------------------------------------- | 2156e41f4b71Sopenharmony_ci| boolean | Returns **true** if the cache does not contain any value.| 2157e41f4b71Sopenharmony_ci 2158e41f4b71Sopenharmony_ci**Example** 2159e41f4b71Sopenharmony_ci 2160e41f4b71Sopenharmony_ci```ts 2161e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2162e41f4b71Sopenharmony_cipro.put(2, 10); 2163e41f4b71Sopenharmony_cilet result = pro.isEmpty(); 2164e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2165e41f4b71Sopenharmony_ci// Output: result = false 2166e41f4b71Sopenharmony_ci``` 2167e41f4b71Sopenharmony_ci 2168e41f4b71Sopenharmony_ci### get<sup>9+</sup> 2169e41f4b71Sopenharmony_ci 2170e41f4b71Sopenharmony_ciget(key: K): V | undefined 2171e41f4b71Sopenharmony_ci 2172e41f4b71Sopenharmony_ciObtains the value of a key. If the key is not in the cache, [createDefault<sup>9+</sup>](#createdefault9) is called to create the key. If the value specified in **createDefault** is not **undefined**, [afterRemoval<sup>9+</sup>](#afterremoval9) is called to return the value specified in **createDefault**. 2173e41f4b71Sopenharmony_ci 2174e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2175e41f4b71Sopenharmony_ci 2176e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2177e41f4b71Sopenharmony_ci 2178e41f4b71Sopenharmony_ci**Parameters** 2179e41f4b71Sopenharmony_ci 2180e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description | 2181e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ------------ | 2182e41f4b71Sopenharmony_ci| key | K | Yes | Key based on which the value is queried.| 2183e41f4b71Sopenharmony_ci 2184e41f4b71Sopenharmony_ci**Return value** 2185e41f4b71Sopenharmony_ci 2186e41f4b71Sopenharmony_ci| Type | Description | 2187e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 2188e41f4b71Sopenharmony_ci| V \| undefined | Returns the value of the key if a match is found in the cache; returns the value specified in **createDefault** otherwise.| 2189e41f4b71Sopenharmony_ci 2190e41f4b71Sopenharmony_ci**Error codes** 2191e41f4b71Sopenharmony_ci 2192e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2193e41f4b71Sopenharmony_ci 2194e41f4b71Sopenharmony_ci| ID| Error Message| 2195e41f4b71Sopenharmony_ci| -------- | -------- | 2196e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2197e41f4b71Sopenharmony_ci 2198e41f4b71Sopenharmony_ci**Example** 2199e41f4b71Sopenharmony_ci 2200e41f4b71Sopenharmony_ci```ts 2201e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2202e41f4b71Sopenharmony_cipro.put(2, 10); 2203e41f4b71Sopenharmony_cilet result = pro.get(2); 2204e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2205e41f4b71Sopenharmony_ci// Output: result = 10 2206e41f4b71Sopenharmony_ci``` 2207e41f4b71Sopenharmony_ci 2208e41f4b71Sopenharmony_ci### put<sup>9+</sup> 2209e41f4b71Sopenharmony_ci 2210e41f4b71Sopenharmony_ciput(key: K,value: V): V 2211e41f4b71Sopenharmony_ci 2212e41f4b71Sopenharmony_ciAdds a key-value pair to this cache and returns the value associated with the key. If the total number of values in the cache is greater than the specified capacity, the deletion operation is performed. 2213e41f4b71Sopenharmony_ci 2214e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2215e41f4b71Sopenharmony_ci 2216e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2217e41f4b71Sopenharmony_ci 2218e41f4b71Sopenharmony_ci**Parameters** 2219e41f4b71Sopenharmony_ci 2220e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description | 2221e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------------------- | 2222e41f4b71Sopenharmony_ci| key | K | Yes | Key of the key-value pair to add. | 2223e41f4b71Sopenharmony_ci| value | V | Yes | Value of the key-value pair to add.| 2224e41f4b71Sopenharmony_ci 2225e41f4b71Sopenharmony_ci**Return value** 2226e41f4b71Sopenharmony_ci 2227e41f4b71Sopenharmony_ci| Type| Description | 2228e41f4b71Sopenharmony_ci| ---- | ------------------------------------------------------------ | 2229e41f4b71Sopenharmony_ci| V | Value of the key-value pair added. If the key or value is empty, an exception is thrown.| 2230e41f4b71Sopenharmony_ci 2231e41f4b71Sopenharmony_ci**Error codes** 2232e41f4b71Sopenharmony_ci 2233e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2234e41f4b71Sopenharmony_ci 2235e41f4b71Sopenharmony_ci| ID| Error Message| 2236e41f4b71Sopenharmony_ci| -------- | -------- | 2237e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2238e41f4b71Sopenharmony_ci 2239e41f4b71Sopenharmony_ci**Example** 2240e41f4b71Sopenharmony_ci 2241e41f4b71Sopenharmony_ci```ts 2242e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2243e41f4b71Sopenharmony_cilet result = pro.put(2, 10); 2244e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2245e41f4b71Sopenharmony_ci// Output: result = 10 2246e41f4b71Sopenharmony_ci``` 2247e41f4b71Sopenharmony_ci 2248e41f4b71Sopenharmony_ci### values<sup>9+</sup> 2249e41f4b71Sopenharmony_ci 2250e41f4b71Sopenharmony_civalues(): V[] 2251e41f4b71Sopenharmony_ci 2252e41f4b71Sopenharmony_ciObtains all values in this cache, listed from the most to the least recently accessed. 2253e41f4b71Sopenharmony_ci 2254e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2255e41f4b71Sopenharmony_ci 2256e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2257e41f4b71Sopenharmony_ci 2258e41f4b71Sopenharmony_ci**Return value** 2259e41f4b71Sopenharmony_ci 2260e41f4b71Sopenharmony_ci| Type | Description | 2261e41f4b71Sopenharmony_ci| --------- | ------------------------------------------------------------ | 2262e41f4b71Sopenharmony_ci| V [] | All values in the cache, listed from the most to the least recently accessed.| 2263e41f4b71Sopenharmony_ci 2264e41f4b71Sopenharmony_ci**Example** 2265e41f4b71Sopenharmony_ci 2266e41f4b71Sopenharmony_ci```ts 2267e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number|string,number|string>(); 2268e41f4b71Sopenharmony_cipro.put(2, 10); 2269e41f4b71Sopenharmony_cipro.put(2, "anhu"); 2270e41f4b71Sopenharmony_cipro.put("afaf", "grfb"); 2271e41f4b71Sopenharmony_cilet result = pro.values(); 2272e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2273e41f4b71Sopenharmony_ci// Output: result = anhu,grfb 2274e41f4b71Sopenharmony_ci``` 2275e41f4b71Sopenharmony_ci 2276e41f4b71Sopenharmony_ci### keys<sup>9+</sup> 2277e41f4b71Sopenharmony_ci 2278e41f4b71Sopenharmony_cikeys(): K[] 2279e41f4b71Sopenharmony_ci 2280e41f4b71Sopenharmony_ciObtains all keys in this cache, listed from the most to the least recently accessed. 2281e41f4b71Sopenharmony_ci 2282e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2283e41f4b71Sopenharmony_ci 2284e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2285e41f4b71Sopenharmony_ci 2286e41f4b71Sopenharmony_ci**Return value** 2287e41f4b71Sopenharmony_ci 2288e41f4b71Sopenharmony_ci| Type | Description | 2289e41f4b71Sopenharmony_ci| --------- | ------------------------------------------------------------ | 2290e41f4b71Sopenharmony_ci| K [] | All keys in the cache, listed from the most to the least recently accessed.| 2291e41f4b71Sopenharmony_ci 2292e41f4b71Sopenharmony_ci**Example** 2293e41f4b71Sopenharmony_ci 2294e41f4b71Sopenharmony_ci```ts 2295e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2296e41f4b71Sopenharmony_cipro.put(2, 10); 2297e41f4b71Sopenharmony_cipro.put(3, 1); 2298e41f4b71Sopenharmony_cilet result = pro.keys(); 2299e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2300e41f4b71Sopenharmony_ci// Output: result = 2,3 2301e41f4b71Sopenharmony_ci``` 2302e41f4b71Sopenharmony_ci 2303e41f4b71Sopenharmony_ci### remove<sup>9+</sup> 2304e41f4b71Sopenharmony_ci 2305e41f4b71Sopenharmony_ciremove(key: K): V | undefined 2306e41f4b71Sopenharmony_ci 2307e41f4b71Sopenharmony_ciRemoves a key and its associated value from this cache and returns the value associated with the key. If the key does not exist, **undefined** is returned. 2308e41f4b71Sopenharmony_ci 2309e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2310e41f4b71Sopenharmony_ci 2311e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2312e41f4b71Sopenharmony_ci 2313e41f4b71Sopenharmony_ci**Parameters** 2314e41f4b71Sopenharmony_ci 2315e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description | 2316e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2317e41f4b71Sopenharmony_ci| key | K | Yes | Key to remove.| 2318e41f4b71Sopenharmony_ci 2319e41f4b71Sopenharmony_ci**Return value** 2320e41f4b71Sopenharmony_ci 2321e41f4b71Sopenharmony_ci| Type | Description | 2322e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 2323e41f4b71Sopenharmony_ci| V \| undefined | Returns an **Optional** object containing the removed key-value pair if the key exists in the cache; returns **undefined** if the key does not exist; throws an error if **null** is passed in for **key**.| 2324e41f4b71Sopenharmony_ci 2325e41f4b71Sopenharmony_ci**Error codes** 2326e41f4b71Sopenharmony_ci 2327e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2328e41f4b71Sopenharmony_ci 2329e41f4b71Sopenharmony_ci| ID| Error Message| 2330e41f4b71Sopenharmony_ci| -------- | -------- | 2331e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2332e41f4b71Sopenharmony_ci 2333e41f4b71Sopenharmony_ci**Example** 2334e41f4b71Sopenharmony_ci 2335e41f4b71Sopenharmony_ci```ts 2336e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2337e41f4b71Sopenharmony_cipro.put(2, 10); 2338e41f4b71Sopenharmony_cilet result = pro.remove(20); 2339e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2340e41f4b71Sopenharmony_ci// Output: result = undefined 2341e41f4b71Sopenharmony_ci``` 2342e41f4b71Sopenharmony_ci 2343e41f4b71Sopenharmony_ci### afterRemoval<sup>9+</sup> 2344e41f4b71Sopenharmony_ci 2345e41f4b71Sopenharmony_ciafterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void 2346e41f4b71Sopenharmony_ci 2347e41f4b71Sopenharmony_ciPerforms subsequent operations after a value is removed. The subsequent operations must be implemented by developers. This API is called during deletion operations, such as [get<sup>9+</sup>](#get9), [put<sup>9+</sup>](#put9), [remove<sup>9+</sup>](#remove9), [clear<sup>9+</sup>](#clear9), and [updateCapacity<sup>9+</sup>] (#updatecapacity9). 2348e41f4b71Sopenharmony_ci 2349e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2350e41f4b71Sopenharmony_ci 2351e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2352e41f4b71Sopenharmony_ci 2353e41f4b71Sopenharmony_ci**Parameters** 2354e41f4b71Sopenharmony_ci 2355e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2356e41f4b71Sopenharmony_ci| -------- | ------- | ---- | ------------------------------------------------------------ | 2357e41f4b71Sopenharmony_ci| isEvict | boolean | Yes | Whether the capacity is insufficient. If the value is **true**, this API is called due to insufficient capacity. | 2358e41f4b71Sopenharmony_ci| key | K | Yes | Key removed. | 2359e41f4b71Sopenharmony_ci| value | V | Yes | Value removed. | 2360e41f4b71Sopenharmony_ci| newValue | V | Yes | New value for the key if the **put()** method is called and the key to be added already exists. In other cases, this parameter is left blank.| 2361e41f4b71Sopenharmony_ci 2362e41f4b71Sopenharmony_ci**Error codes** 2363e41f4b71Sopenharmony_ci 2364e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2365e41f4b71Sopenharmony_ci 2366e41f4b71Sopenharmony_ci| ID| Error Message| 2367e41f4b71Sopenharmony_ci| -------- | -------- | 2368e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2369e41f4b71Sopenharmony_ci 2370e41f4b71Sopenharmony_ci**Example** 2371e41f4b71Sopenharmony_ci 2372e41f4b71Sopenharmony_ci```ts 2373e41f4b71Sopenharmony_ciclass ChildLRUCache<K, V> extends util.LRUCache<K, V> { 2374e41f4b71Sopenharmony_ci constructor(capacity?: number) { 2375e41f4b71Sopenharmony_ci super(capacity); 2376e41f4b71Sopenharmony_ci } 2377e41f4b71Sopenharmony_ci 2378e41f4b71Sopenharmony_ci afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void { 2379e41f4b71Sopenharmony_ci if (isEvict === true) { 2380e41f4b71Sopenharmony_ci console.info('key = ' + key); 2381e41f4b71Sopenharmony_ci // Output: key = 1 2382e41f4b71Sopenharmony_ci console.info('value = ' + value); 2383e41f4b71Sopenharmony_ci // Output: value = 1 2384e41f4b71Sopenharmony_ci console.info('newValue = ' + newValue); 2385e41f4b71Sopenharmony_ci // Output: newValue = null 2386e41f4b71Sopenharmony_ci } 2387e41f4b71Sopenharmony_ci } 2388e41f4b71Sopenharmony_ci} 2389e41f4b71Sopenharmony_cilet lru = new ChildLRUCache<number, number>(2); 2390e41f4b71Sopenharmony_cilru.put(1, 1); 2391e41f4b71Sopenharmony_cilru.put(2, 2); 2392e41f4b71Sopenharmony_cilru.put(3, 3); 2393e41f4b71Sopenharmony_ci``` 2394e41f4b71Sopenharmony_ci 2395e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 2396e41f4b71Sopenharmony_ci 2397e41f4b71Sopenharmony_cicontains(key: K): boolean 2398e41f4b71Sopenharmony_ci 2399e41f4b71Sopenharmony_ciChecks whether this cache contains the specified key. 2400e41f4b71Sopenharmony_ci 2401e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2402e41f4b71Sopenharmony_ci 2403e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2404e41f4b71Sopenharmony_ci 2405e41f4b71Sopenharmony_ci**Parameters** 2406e41f4b71Sopenharmony_ci 2407e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 2408e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------- | 2409e41f4b71Sopenharmony_ci| key | K | Yes | Key to check.| 2410e41f4b71Sopenharmony_ci 2411e41f4b71Sopenharmony_ci**Return value** 2412e41f4b71Sopenharmony_ci 2413e41f4b71Sopenharmony_ci| Type | Description | 2414e41f4b71Sopenharmony_ci| ------- | ------------------------------------------ | 2415e41f4b71Sopenharmony_ci| boolean | Returns **true** if the cache contains the specified key; returns **false** otherwise.| 2416e41f4b71Sopenharmony_ci 2417e41f4b71Sopenharmony_ci**Error codes** 2418e41f4b71Sopenharmony_ci 2419e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2420e41f4b71Sopenharmony_ci 2421e41f4b71Sopenharmony_ci| ID| Error Message| 2422e41f4b71Sopenharmony_ci| -------- | -------- | 2423e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2424e41f4b71Sopenharmony_ci 2425e41f4b71Sopenharmony_ci**Example** 2426e41f4b71Sopenharmony_ci 2427e41f4b71Sopenharmony_ci```ts 2428e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2429e41f4b71Sopenharmony_cipro.put(2, 10); 2430e41f4b71Sopenharmony_cilet result = pro.contains(2); 2431e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2432e41f4b71Sopenharmony_ci// Output: result = true 2433e41f4b71Sopenharmony_ci``` 2434e41f4b71Sopenharmony_ci 2435e41f4b71Sopenharmony_ci### createDefault<sup>9+</sup> 2436e41f4b71Sopenharmony_ci 2437e41f4b71Sopenharmony_cicreateDefault(key: K): V 2438e41f4b71Sopenharmony_ci 2439e41f4b71Sopenharmony_ciPerforms subsequent operations if no key is matched in the cache and returns the value (**undefined** by default) associated with the key. 2440e41f4b71Sopenharmony_ci 2441e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2442e41f4b71Sopenharmony_ci 2443e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2444e41f4b71Sopenharmony_ci 2445e41f4b71Sopenharmony_ci**Parameters** 2446e41f4b71Sopenharmony_ci 2447e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description | 2448e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2449e41f4b71Sopenharmony_ci| key | K | Yes | Key.| 2450e41f4b71Sopenharmony_ci 2451e41f4b71Sopenharmony_ci**Return value** 2452e41f4b71Sopenharmony_ci 2453e41f4b71Sopenharmony_ci| Type| Description | 2454e41f4b71Sopenharmony_ci| ---- | ------------------ | 2455e41f4b71Sopenharmony_ci| V | Value of the key.| 2456e41f4b71Sopenharmony_ci 2457e41f4b71Sopenharmony_ci**Error codes** 2458e41f4b71Sopenharmony_ci 2459e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2460e41f4b71Sopenharmony_ci 2461e41f4b71Sopenharmony_ci| ID| Error Message| 2462e41f4b71Sopenharmony_ci| -------- | -------- | 2463e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2464e41f4b71Sopenharmony_ci 2465e41f4b71Sopenharmony_ci**Example** 2466e41f4b71Sopenharmony_ci 2467e41f4b71Sopenharmony_ci```ts 2468e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2469e41f4b71Sopenharmony_cilet result = pro.createDefault(50); 2470e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2471e41f4b71Sopenharmony_ci// Output: result = undefined 2472e41f4b71Sopenharmony_ci``` 2473e41f4b71Sopenharmony_ci 2474e41f4b71Sopenharmony_ci### entries<sup>9+</sup> 2475e41f4b71Sopenharmony_ci 2476e41f4b71Sopenharmony_cientries(): IterableIterator<[K,V]> 2477e41f4b71Sopenharmony_ci 2478e41f4b71Sopenharmony_ciObtains a new iterator object that contains all key-value pairs in this object. 2479e41f4b71Sopenharmony_ci 2480e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2481e41f4b71Sopenharmony_ci 2482e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2483e41f4b71Sopenharmony_ci 2484e41f4b71Sopenharmony_ci**Return value** 2485e41f4b71Sopenharmony_ci 2486e41f4b71Sopenharmony_ci| Type | Description | 2487e41f4b71Sopenharmony_ci| ----------- | -------------------- | 2488e41f4b71Sopenharmony_ci| [K, V] | Iterable array.| 2489e41f4b71Sopenharmony_ci 2490e41f4b71Sopenharmony_ci**Example** 2491e41f4b71Sopenharmony_ci 2492e41f4b71Sopenharmony_ci```ts 2493e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2494e41f4b71Sopenharmony_cipro.put(2, 10); 2495e41f4b71Sopenharmony_cipro.put(3, 15); 2496e41f4b71Sopenharmony_cilet pair:Iterable<Object[]> = pro.entries(); 2497e41f4b71Sopenharmony_cilet arrayValue = Array.from(pair); 2498e41f4b71Sopenharmony_cifor (let value of arrayValue) { 2499e41f4b71Sopenharmony_ci console.info(value[0]+ ', '+ value[1]); 2500e41f4b71Sopenharmony_ci // Output: 2501e41f4b71Sopenharmony_ci // 2, 10 2502e41f4b71Sopenharmony_ci // 3, 15 2503e41f4b71Sopenharmony_ci} 2504e41f4b71Sopenharmony_ci``` 2505e41f4b71Sopenharmony_ci 2506e41f4b71Sopenharmony_ci### [Symbol.iterator]<sup>9+</sup> 2507e41f4b71Sopenharmony_ci 2508e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<[K, V]> 2509e41f4b71Sopenharmony_ci 2510e41f4b71Sopenharmony_ciObtains a two-dimensional array in key-value pairs. 2511e41f4b71Sopenharmony_ci 2512e41f4b71Sopenharmony_ci> **NOTE** 2513e41f4b71Sopenharmony_ci> 2514e41f4b71Sopenharmony_ci> This API cannot be used in .ets files. 2515e41f4b71Sopenharmony_ci 2516e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2517e41f4b71Sopenharmony_ci 2518e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2519e41f4b71Sopenharmony_ci 2520e41f4b71Sopenharmony_ci**Return value** 2521e41f4b71Sopenharmony_ci 2522e41f4b71Sopenharmony_ci| Type | Description | 2523e41f4b71Sopenharmony_ci| ----------- | ------------------------------ | 2524e41f4b71Sopenharmony_ci| [K, V] | Two-dimensional array in key-value pairs.| 2525e41f4b71Sopenharmony_ci 2526e41f4b71Sopenharmony_ci**Example** 2527e41f4b71Sopenharmony_ci 2528e41f4b71Sopenharmony_ci<!--code_no_check--> 2529e41f4b71Sopenharmony_ci```ts 2530e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2531e41f4b71Sopenharmony_cipro.put(2, 10); 2532e41f4b71Sopenharmony_cipro.put(3, 15); 2533e41f4b71Sopenharmony_cilet pair:Iterable<Object[]> = pro[Symbol.iterator](); 2534e41f4b71Sopenharmony_cilet arrayValue = Array.from(pair); 2535e41f4b71Sopenharmony_cifor (let value of arrayValue) { 2536e41f4b71Sopenharmony_ci console.info(value[0]+ ', '+ value[1]); 2537e41f4b71Sopenharmony_ci // Output: 2538e41f4b71Sopenharmony_ci // 2, 10 2539e41f4b71Sopenharmony_ci // 3, 15 2540e41f4b71Sopenharmony_ci} 2541e41f4b71Sopenharmony_ci``` 2542e41f4b71Sopenharmony_ci 2543e41f4b71Sopenharmony_ci## ScopeComparable<sup>8+</sup> 2544e41f4b71Sopenharmony_ci 2545e41f4b71Sopenharmony_ciThe values of the **ScopeComparable** type are used to implement the **compareTo** method. Therefore, ensure that the input parameters are comparable. 2546e41f4b71Sopenharmony_ci 2547e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2548e41f4b71Sopenharmony_ci 2549e41f4b71Sopenharmony_ci### compareTo<sup>8+</sup> 2550e41f4b71Sopenharmony_ci 2551e41f4b71Sopenharmony_cicompareTo(other: ScopeComparable): boolean 2552e41f4b71Sopenharmony_ci 2553e41f4b71Sopenharmony_ciCompares two values and returns a Boolean value. 2554e41f4b71Sopenharmony_ci 2555e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2556e41f4b71Sopenharmony_ci 2557e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2558e41f4b71Sopenharmony_ci 2559e41f4b71Sopenharmony_ci**Parameters** 2560e41f4b71Sopenharmony_ci 2561e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description | 2562e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2563e41f4b71Sopenharmony_ci| other | [ScopeComparable](#scopecomparable8) | Yes | The other value to be compared with the current value.| 2564e41f4b71Sopenharmony_ci 2565e41f4b71Sopenharmony_ci**Return value** 2566e41f4b71Sopenharmony_ci 2567e41f4b71Sopenharmony_ci| Type| Description | 2568e41f4b71Sopenharmony_ci| ---- | ------------------ | 2569e41f4b71Sopenharmony_ci| boolean | If the current value is greater than or equal to the input value, **true** is returned. Otherwise, **false** is returned.| 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_ci**Example** 2572e41f4b71Sopenharmony_ci 2573e41f4b71Sopenharmony_ciCreate a class to implement the **compareTo** method. The **Temperature** class is used as an example in the following sample code. 2574e41f4b71Sopenharmony_ci 2575e41f4b71Sopenharmony_ci```ts 2576e41f4b71Sopenharmony_ciclass Temperature{ 2577e41f4b71Sopenharmony_ci private readonly _temp: number; 2578e41f4b71Sopenharmony_ci constructor(value : number) { 2579e41f4b71Sopenharmony_ci this._temp = value; 2580e41f4b71Sopenharmony_ci } 2581e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2582e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2583e41f4b71Sopenharmony_ci } 2584e41f4b71Sopenharmony_ci getTemp() { 2585e41f4b71Sopenharmony_ci return this._temp; 2586e41f4b71Sopenharmony_ci } 2587e41f4b71Sopenharmony_ci toString() : string { 2588e41f4b71Sopenharmony_ci return this._temp.toString(); 2589e41f4b71Sopenharmony_ci } 2590e41f4b71Sopenharmony_ci} 2591e41f4b71Sopenharmony_ci``` 2592e41f4b71Sopenharmony_ci 2593e41f4b71Sopenharmony_ci## ScopeType<sup>8+</sup> 2594e41f4b71Sopenharmony_ci 2595e41f4b71Sopenharmony_citype ScopeType = ScopeComparable | number 2596e41f4b71Sopenharmony_ci 2597e41f4b71Sopenharmony_ciDefines the type of values in a **Scope** object. 2598e41f4b71Sopenharmony_ci 2599e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2600e41f4b71Sopenharmony_ci 2601e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2602e41f4b71Sopenharmony_ci 2603e41f4b71Sopenharmony_ci| Type| Description| 2604e41f4b71Sopenharmony_ci| -------- | -------- | 2605e41f4b71Sopenharmony_ci| number | The value type is a number.| 2606e41f4b71Sopenharmony_ci| [ScopeComparable](#scopecomparable8) | The value type is ScopeComparable.| 2607e41f4b71Sopenharmony_ci 2608e41f4b71Sopenharmony_ci## ScopeHelper<sup>9+</sup> 2609e41f4b71Sopenharmony_ci 2610e41f4b71Sopenharmony_ciProvides APIs to define the valid range of a field. The constructor of this class creates comparable objects with lower and upper limits. 2611e41f4b71Sopenharmony_ci 2612e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 2613e41f4b71Sopenharmony_ci 2614e41f4b71Sopenharmony_ciconstructor(lowerObj: ScopeType, upperObj: ScopeType) 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ciA constructor used to create a **ScopeHelper** object with the specified upper and lower limits. 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2619e41f4b71Sopenharmony_ci 2620e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2621e41f4b71Sopenharmony_ci 2622e41f4b71Sopenharmony_ci**Parameters** 2623e41f4b71Sopenharmony_ci 2624e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2625e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------------- | 2626e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes | Lower limit of the **Scope** object.| 2627e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes | Upper limit of the **Scope** object.| 2628e41f4b71Sopenharmony_ci 2629e41f4b71Sopenharmony_ci**Error codes** 2630e41f4b71Sopenharmony_ci 2631e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2632e41f4b71Sopenharmony_ci 2633e41f4b71Sopenharmony_ci| ID| Error Message| 2634e41f4b71Sopenharmony_ci| -------- | -------- | 2635e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2636e41f4b71Sopenharmony_ci 2637e41f4b71Sopenharmony_ci**Example** 2638e41f4b71Sopenharmony_ci 2639e41f4b71Sopenharmony_ci```ts 2640e41f4b71Sopenharmony_ciclass Temperature{ 2641e41f4b71Sopenharmony_ci private readonly _temp: number; 2642e41f4b71Sopenharmony_ci constructor(value : number) { 2643e41f4b71Sopenharmony_ci this._temp = value; 2644e41f4b71Sopenharmony_ci } 2645e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2646e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2647e41f4b71Sopenharmony_ci } 2648e41f4b71Sopenharmony_ci getTemp() { 2649e41f4b71Sopenharmony_ci return this._temp; 2650e41f4b71Sopenharmony_ci } 2651e41f4b71Sopenharmony_ci toString() : string { 2652e41f4b71Sopenharmony_ci return this._temp.toString(); 2653e41f4b71Sopenharmony_ci } 2654e41f4b71Sopenharmony_ci} 2655e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2656e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2657e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2658e41f4b71Sopenharmony_ci``` 2659e41f4b71Sopenharmony_ci 2660e41f4b71Sopenharmony_ci### toString<sup>9+</sup> 2661e41f4b71Sopenharmony_ci 2662e41f4b71Sopenharmony_citoString(): string 2663e41f4b71Sopenharmony_ci 2664e41f4b71Sopenharmony_ciObtains a string representation that contains this **Scope**. 2665e41f4b71Sopenharmony_ci 2666e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2667e41f4b71Sopenharmony_ci 2668e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2669e41f4b71Sopenharmony_ci 2670e41f4b71Sopenharmony_ci**Return value** 2671e41f4b71Sopenharmony_ci 2672e41f4b71Sopenharmony_ci| Type | Description | 2673e41f4b71Sopenharmony_ci| ------ | -------------------------------------- | 2674e41f4b71Sopenharmony_ci| string | String representation containing the **Scope**.| 2675e41f4b71Sopenharmony_ci 2676e41f4b71Sopenharmony_ci**Example** 2677e41f4b71Sopenharmony_ci 2678e41f4b71Sopenharmony_ci```ts 2679e41f4b71Sopenharmony_ciclass Temperature{ 2680e41f4b71Sopenharmony_ci private readonly _temp: number; 2681e41f4b71Sopenharmony_ci constructor(value : number) { 2682e41f4b71Sopenharmony_ci this._temp = value; 2683e41f4b71Sopenharmony_ci } 2684e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2685e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2686e41f4b71Sopenharmony_ci } 2687e41f4b71Sopenharmony_ci getTemp() { 2688e41f4b71Sopenharmony_ci return this._temp; 2689e41f4b71Sopenharmony_ci } 2690e41f4b71Sopenharmony_ci toString() : string { 2691e41f4b71Sopenharmony_ci return this._temp.toString(); 2692e41f4b71Sopenharmony_ci } 2693e41f4b71Sopenharmony_ci} 2694e41f4b71Sopenharmony_ci 2695e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2696e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2697e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2698e41f4b71Sopenharmony_cilet result = range.toString(); 2699e41f4b71Sopenharmony_ci``` 2700e41f4b71Sopenharmony_ci 2701e41f4b71Sopenharmony_ci### intersect<sup>9+</sup> 2702e41f4b71Sopenharmony_ci 2703e41f4b71Sopenharmony_ciintersect(range: ScopeHelper): ScopeHelper 2704e41f4b71Sopenharmony_ci 2705e41f4b71Sopenharmony_ciObtains the intersection of this **Scope** and the given **Scope**. 2706e41f4b71Sopenharmony_ci 2707e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2708e41f4b71Sopenharmony_ci 2709e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2710e41f4b71Sopenharmony_ci 2711e41f4b71Sopenharmony_ci**Parameters** 2712e41f4b71Sopenharmony_ci 2713e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 2714e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 2715e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | Yes | **Scope** specified.| 2716e41f4b71Sopenharmony_ci 2717e41f4b71Sopenharmony_ci**Return value** 2718e41f4b71Sopenharmony_ci 2719e41f4b71Sopenharmony_ci| Type | Description | 2720e41f4b71Sopenharmony_ci| ------------------------------ | ------------------------------ | 2721e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | Intersection of this **Scope** and the given **Scope**.| 2722e41f4b71Sopenharmony_ci 2723e41f4b71Sopenharmony_ci**Error codes** 2724e41f4b71Sopenharmony_ci 2725e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2726e41f4b71Sopenharmony_ci 2727e41f4b71Sopenharmony_ci| ID| Error Message| 2728e41f4b71Sopenharmony_ci| -------- | -------- | 2729e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2730e41f4b71Sopenharmony_ci 2731e41f4b71Sopenharmony_ci**Example** 2732e41f4b71Sopenharmony_ci 2733e41f4b71Sopenharmony_ci```ts 2734e41f4b71Sopenharmony_ciclass Temperature{ 2735e41f4b71Sopenharmony_ci private readonly _temp: number; 2736e41f4b71Sopenharmony_ci constructor(value : number) { 2737e41f4b71Sopenharmony_ci this._temp = value; 2738e41f4b71Sopenharmony_ci } 2739e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2740e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2741e41f4b71Sopenharmony_ci } 2742e41f4b71Sopenharmony_ci getTemp() { 2743e41f4b71Sopenharmony_ci return this._temp; 2744e41f4b71Sopenharmony_ci } 2745e41f4b71Sopenharmony_ci toString() : string { 2746e41f4b71Sopenharmony_ci return this._temp.toString(); 2747e41f4b71Sopenharmony_ci } 2748e41f4b71Sopenharmony_ci} 2749e41f4b71Sopenharmony_ci 2750e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2751e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2752e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2753e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2754e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2755e41f4b71Sopenharmony_cilet rangeFir = new util.ScopeHelper(tempMiDF, tempMidS); 2756e41f4b71Sopenharmony_cirange.intersect(rangeFir); 2757e41f4b71Sopenharmony_ci``` 2758e41f4b71Sopenharmony_ci 2759e41f4b71Sopenharmony_ci### intersect<sup>9+</sup> 2760e41f4b71Sopenharmony_ci 2761e41f4b71Sopenharmony_ciintersect(lowerObj:ScopeType,upperObj:ScopeType):ScopeHelper 2762e41f4b71Sopenharmony_ci 2763e41f4b71Sopenharmony_ciObtains the intersection of this **Scope** and the given lower and upper limits. 2764e41f4b71Sopenharmony_ci 2765e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2768e41f4b71Sopenharmony_ci 2769e41f4b71Sopenharmony_ci**Parameters** 2770e41f4b71Sopenharmony_ci 2771e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2772e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------- | 2773e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes | Lower limit.| 2774e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes | Upper limit.| 2775e41f4b71Sopenharmony_ci 2776e41f4b71Sopenharmony_ci**Return value** 2777e41f4b71Sopenharmony_ci 2778e41f4b71Sopenharmony_ci| Type | Description | 2779e41f4b71Sopenharmony_ci| ---------------------------- | ---------------------------------------- | 2780e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | Intersection of this **Scope** and the given lower and upper limits.| 2781e41f4b71Sopenharmony_ci 2782e41f4b71Sopenharmony_ci**Error codes** 2783e41f4b71Sopenharmony_ci 2784e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2785e41f4b71Sopenharmony_ci 2786e41f4b71Sopenharmony_ci| ID| Error Message| 2787e41f4b71Sopenharmony_ci| -------- | -------- | 2788e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2789e41f4b71Sopenharmony_ci 2790e41f4b71Sopenharmony_ci**Example** 2791e41f4b71Sopenharmony_ci 2792e41f4b71Sopenharmony_ci```ts 2793e41f4b71Sopenharmony_ciclass Temperature{ 2794e41f4b71Sopenharmony_ci private readonly _temp: number; 2795e41f4b71Sopenharmony_ci constructor(value : number) { 2796e41f4b71Sopenharmony_ci this._temp = value; 2797e41f4b71Sopenharmony_ci } 2798e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2799e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2800e41f4b71Sopenharmony_ci } 2801e41f4b71Sopenharmony_ci getTemp() { 2802e41f4b71Sopenharmony_ci return this._temp; 2803e41f4b71Sopenharmony_ci } 2804e41f4b71Sopenharmony_ci toString() : string { 2805e41f4b71Sopenharmony_ci return this._temp.toString(); 2806e41f4b71Sopenharmony_ci } 2807e41f4b71Sopenharmony_ci} 2808e41f4b71Sopenharmony_ci 2809e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2810e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2811e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2812e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2813e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2814e41f4b71Sopenharmony_cilet result = range.intersect(tempMiDF, tempMidS); 2815e41f4b71Sopenharmony_ci``` 2816e41f4b71Sopenharmony_ci 2817e41f4b71Sopenharmony_ci### getUpper<sup>9+</sup> 2818e41f4b71Sopenharmony_ci 2819e41f4b71Sopenharmony_cigetUpper(): ScopeType 2820e41f4b71Sopenharmony_ci 2821e41f4b71Sopenharmony_ciObtains the upper limit of this **Scope**. 2822e41f4b71Sopenharmony_ci 2823e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2824e41f4b71Sopenharmony_ci 2825e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2826e41f4b71Sopenharmony_ci 2827e41f4b71Sopenharmony_ci**Return value** 2828e41f4b71Sopenharmony_ci 2829e41f4b71Sopenharmony_ci| Type | Description | 2830e41f4b71Sopenharmony_ci| ------------------------ | ---------------------- | 2831e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Upper limit of this **Scope**.| 2832e41f4b71Sopenharmony_ci 2833e41f4b71Sopenharmony_ci**Example** 2834e41f4b71Sopenharmony_ci 2835e41f4b71Sopenharmony_ci```ts 2836e41f4b71Sopenharmony_ciclass Temperature{ 2837e41f4b71Sopenharmony_ci private readonly _temp: number; 2838e41f4b71Sopenharmony_ci constructor(value : number) { 2839e41f4b71Sopenharmony_ci this._temp = value; 2840e41f4b71Sopenharmony_ci } 2841e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2842e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2843e41f4b71Sopenharmony_ci } 2844e41f4b71Sopenharmony_ci getTemp() { 2845e41f4b71Sopenharmony_ci return this._temp; 2846e41f4b71Sopenharmony_ci } 2847e41f4b71Sopenharmony_ci toString() : string { 2848e41f4b71Sopenharmony_ci return this._temp.toString(); 2849e41f4b71Sopenharmony_ci } 2850e41f4b71Sopenharmony_ci} 2851e41f4b71Sopenharmony_ci 2852e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2853e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2854e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2855e41f4b71Sopenharmony_cilet result = range.getUpper(); 2856e41f4b71Sopenharmony_ci``` 2857e41f4b71Sopenharmony_ci 2858e41f4b71Sopenharmony_ci### getLower<sup>9+</sup> 2859e41f4b71Sopenharmony_ci 2860e41f4b71Sopenharmony_cigetLower(): ScopeType 2861e41f4b71Sopenharmony_ci 2862e41f4b71Sopenharmony_ciObtains the lower limit of this **Scope**. 2863e41f4b71Sopenharmony_ci 2864e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2865e41f4b71Sopenharmony_ci 2866e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2867e41f4b71Sopenharmony_ci 2868e41f4b71Sopenharmony_ci**Return value** 2869e41f4b71Sopenharmony_ci 2870e41f4b71Sopenharmony_ci| Type | Description | 2871e41f4b71Sopenharmony_ci| ------------------------ | ---------------------- | 2872e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Lower limit of this **Scope**.| 2873e41f4b71Sopenharmony_ci 2874e41f4b71Sopenharmony_ci**Example** 2875e41f4b71Sopenharmony_ci 2876e41f4b71Sopenharmony_ci```ts 2877e41f4b71Sopenharmony_ciclass Temperature{ 2878e41f4b71Sopenharmony_ci private readonly _temp: number; 2879e41f4b71Sopenharmony_ci constructor(value : number) { 2880e41f4b71Sopenharmony_ci this._temp = value; 2881e41f4b71Sopenharmony_ci } 2882e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2883e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2884e41f4b71Sopenharmony_ci } 2885e41f4b71Sopenharmony_ci getTemp() { 2886e41f4b71Sopenharmony_ci return this._temp; 2887e41f4b71Sopenharmony_ci } 2888e41f4b71Sopenharmony_ci toString() : string { 2889e41f4b71Sopenharmony_ci return this._temp.toString(); 2890e41f4b71Sopenharmony_ci } 2891e41f4b71Sopenharmony_ci} 2892e41f4b71Sopenharmony_ci 2893e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2894e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2895e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2896e41f4b71Sopenharmony_cilet result = range.getLower(); 2897e41f4b71Sopenharmony_ci``` 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 2900e41f4b71Sopenharmony_ci 2901e41f4b71Sopenharmony_ciexpand(lowerObj: ScopeType,upperObj: ScopeType): ScopeHelper 2902e41f4b71Sopenharmony_ci 2903e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given lower and upper limits. 2904e41f4b71Sopenharmony_ci 2905e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2906e41f4b71Sopenharmony_ci 2907e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2908e41f4b71Sopenharmony_ci 2909e41f4b71Sopenharmony_ci**Parameters** 2910e41f4b71Sopenharmony_ci 2911e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2912e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------- | 2913e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes | Lower limit.| 2914e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes | Upper limit.| 2915e41f4b71Sopenharmony_ci 2916e41f4b71Sopenharmony_ci**Return value** 2917e41f4b71Sopenharmony_ci 2918e41f4b71Sopenharmony_ci| Type | Description | 2919e41f4b71Sopenharmony_ci| ---------------------------- | ------------------------------------ | 2920e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | Union set of this **Scope** and the given lower and upper limits.| 2921e41f4b71Sopenharmony_ci 2922e41f4b71Sopenharmony_ci**Error codes** 2923e41f4b71Sopenharmony_ci 2924e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2925e41f4b71Sopenharmony_ci 2926e41f4b71Sopenharmony_ci| ID| Error Message| 2927e41f4b71Sopenharmony_ci| -------- | -------- | 2928e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2929e41f4b71Sopenharmony_ci 2930e41f4b71Sopenharmony_ci**Example** 2931e41f4b71Sopenharmony_ci 2932e41f4b71Sopenharmony_ci```ts 2933e41f4b71Sopenharmony_ciclass Temperature{ 2934e41f4b71Sopenharmony_ci private readonly _temp: number; 2935e41f4b71Sopenharmony_ci constructor(value : number) { 2936e41f4b71Sopenharmony_ci this._temp = value; 2937e41f4b71Sopenharmony_ci } 2938e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2939e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2940e41f4b71Sopenharmony_ci } 2941e41f4b71Sopenharmony_ci getTemp() { 2942e41f4b71Sopenharmony_ci return this._temp; 2943e41f4b71Sopenharmony_ci } 2944e41f4b71Sopenharmony_ci toString() : string { 2945e41f4b71Sopenharmony_ci return this._temp.toString(); 2946e41f4b71Sopenharmony_ci } 2947e41f4b71Sopenharmony_ci} 2948e41f4b71Sopenharmony_ci 2949e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2950e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2951e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2952e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2953e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2954e41f4b71Sopenharmony_cilet result = range.expand(tempMiDF, tempMidS); 2955e41f4b71Sopenharmony_ci``` 2956e41f4b71Sopenharmony_ci 2957e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 2958e41f4b71Sopenharmony_ci 2959e41f4b71Sopenharmony_ciexpand(range: ScopeHelper): ScopeHelper 2960e41f4b71Sopenharmony_ci 2961e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given **Scope**. 2962e41f4b71Sopenharmony_ci 2963e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ci**Parameters** 2968e41f4b71Sopenharmony_ci 2969e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 2970e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 2971e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | Yes | **Scope** specified.| 2972e41f4b71Sopenharmony_ci 2973e41f4b71Sopenharmony_ci**Return value** 2974e41f4b71Sopenharmony_ci 2975e41f4b71Sopenharmony_ci| Type | Description | 2976e41f4b71Sopenharmony_ci| ---------------------------- | ---------------------------------- | 2977e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | Union set of this **Scope** and the given **Scope**.| 2978e41f4b71Sopenharmony_ci 2979e41f4b71Sopenharmony_ci**Error codes** 2980e41f4b71Sopenharmony_ci 2981e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2982e41f4b71Sopenharmony_ci 2983e41f4b71Sopenharmony_ci| ID| Error Message| 2984e41f4b71Sopenharmony_ci| -------- | -------- | 2985e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2986e41f4b71Sopenharmony_ci 2987e41f4b71Sopenharmony_ci**Example** 2988e41f4b71Sopenharmony_ci 2989e41f4b71Sopenharmony_ci```ts 2990e41f4b71Sopenharmony_ciclass Temperature{ 2991e41f4b71Sopenharmony_ci private readonly _temp: number; 2992e41f4b71Sopenharmony_ci constructor(value : number) { 2993e41f4b71Sopenharmony_ci this._temp = value; 2994e41f4b71Sopenharmony_ci } 2995e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2996e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2997e41f4b71Sopenharmony_ci } 2998e41f4b71Sopenharmony_ci getTemp() { 2999e41f4b71Sopenharmony_ci return this._temp; 3000e41f4b71Sopenharmony_ci } 3001e41f4b71Sopenharmony_ci toString() : string { 3002e41f4b71Sopenharmony_ci return this._temp.toString(); 3003e41f4b71Sopenharmony_ci } 3004e41f4b71Sopenharmony_ci} 3005e41f4b71Sopenharmony_ci 3006e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3007e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3008e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3009e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 3010e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3011e41f4b71Sopenharmony_cilet rangeFir = new util.ScopeHelper(tempMiDF, tempMidS); 3012e41f4b71Sopenharmony_cilet result = range.expand(rangeFir); 3013e41f4b71Sopenharmony_ci``` 3014e41f4b71Sopenharmony_ci 3015e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 3016e41f4b71Sopenharmony_ci 3017e41f4b71Sopenharmony_ciexpand(value: ScopeType): ScopeHelper 3018e41f4b71Sopenharmony_ci 3019e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given value. 3020e41f4b71Sopenharmony_ci 3021e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3022e41f4b71Sopenharmony_ci 3023e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3024e41f4b71Sopenharmony_ci 3025e41f4b71Sopenharmony_ci**Parameters** 3026e41f4b71Sopenharmony_ci 3027e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3028e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | ---------------- | 3029e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes | Value specified.| 3030e41f4b71Sopenharmony_ci 3031e41f4b71Sopenharmony_ci**Return value** 3032e41f4b71Sopenharmony_ci 3033e41f4b71Sopenharmony_ci| Type | Description | 3034e41f4b71Sopenharmony_ci| ---------------------------- | -------------------------------- | 3035e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | Union set of this **Scope** and the given value.| 3036e41f4b71Sopenharmony_ci 3037e41f4b71Sopenharmony_ci**Error codes** 3038e41f4b71Sopenharmony_ci 3039e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3040e41f4b71Sopenharmony_ci 3041e41f4b71Sopenharmony_ci| ID| Error Message| 3042e41f4b71Sopenharmony_ci| -------- | -------- | 3043e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3044e41f4b71Sopenharmony_ci 3045e41f4b71Sopenharmony_ci**Example** 3046e41f4b71Sopenharmony_ci 3047e41f4b71Sopenharmony_ci```ts 3048e41f4b71Sopenharmony_ciclass Temperature{ 3049e41f4b71Sopenharmony_ci private readonly _temp: number; 3050e41f4b71Sopenharmony_ci constructor(value : number) { 3051e41f4b71Sopenharmony_ci this._temp = value; 3052e41f4b71Sopenharmony_ci } 3053e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3054e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3055e41f4b71Sopenharmony_ci } 3056e41f4b71Sopenharmony_ci getTemp() { 3057e41f4b71Sopenharmony_ci return this._temp; 3058e41f4b71Sopenharmony_ci } 3059e41f4b71Sopenharmony_ci toString() : string { 3060e41f4b71Sopenharmony_ci return this._temp.toString(); 3061e41f4b71Sopenharmony_ci } 3062e41f4b71Sopenharmony_ci} 3063e41f4b71Sopenharmony_ci 3064e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3065e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3066e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3067e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3068e41f4b71Sopenharmony_cilet result = range.expand(tempMiDF); 3069e41f4b71Sopenharmony_ci``` 3070e41f4b71Sopenharmony_ci 3071e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 3072e41f4b71Sopenharmony_ci 3073e41f4b71Sopenharmony_cicontains(value: ScopeType): boolean 3074e41f4b71Sopenharmony_ci 3075e41f4b71Sopenharmony_ciChecks whether a value is within this **Scope**. 3076e41f4b71Sopenharmony_ci 3077e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3078e41f4b71Sopenharmony_ci 3079e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3080e41f4b71Sopenharmony_ci 3081e41f4b71Sopenharmony_ci**Parameters** 3082e41f4b71Sopenharmony_ci 3083e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3084e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | ---------------- | 3085e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes | Value specified.| 3086e41f4b71Sopenharmony_ci 3087e41f4b71Sopenharmony_ci**Return value** 3088e41f4b71Sopenharmony_ci 3089e41f4b71Sopenharmony_ci| Type | Description | 3090e41f4b71Sopenharmony_ci| ------- | --------------------------------------------------- | 3091e41f4b71Sopenharmony_ci| boolean | Returns **true** if the value is within this **Scope**; returns **false** otherwise.| 3092e41f4b71Sopenharmony_ci 3093e41f4b71Sopenharmony_ci**Error codes** 3094e41f4b71Sopenharmony_ci 3095e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3096e41f4b71Sopenharmony_ci 3097e41f4b71Sopenharmony_ci| ID| Error Message| 3098e41f4b71Sopenharmony_ci| -------- | -------- | 3099e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3100e41f4b71Sopenharmony_ci 3101e41f4b71Sopenharmony_ci**Example** 3102e41f4b71Sopenharmony_ci 3103e41f4b71Sopenharmony_ci```ts 3104e41f4b71Sopenharmony_ciclass Temperature{ 3105e41f4b71Sopenharmony_ci private readonly _temp: number; 3106e41f4b71Sopenharmony_ci constructor(value : number) { 3107e41f4b71Sopenharmony_ci this._temp = value; 3108e41f4b71Sopenharmony_ci } 3109e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3110e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3111e41f4b71Sopenharmony_ci } 3112e41f4b71Sopenharmony_ci getTemp() { 3113e41f4b71Sopenharmony_ci return this._temp; 3114e41f4b71Sopenharmony_ci } 3115e41f4b71Sopenharmony_ci toString() : string { 3116e41f4b71Sopenharmony_ci return this._temp.toString(); 3117e41f4b71Sopenharmony_ci } 3118e41f4b71Sopenharmony_ci} 3119e41f4b71Sopenharmony_ci 3120e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3121e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3122e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3123e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3124e41f4b71Sopenharmony_cilet result = range.contains(tempMiDF); 3125e41f4b71Sopenharmony_ci``` 3126e41f4b71Sopenharmony_ci 3127e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 3128e41f4b71Sopenharmony_ci 3129e41f4b71Sopenharmony_cicontains(range: ScopeHelper): boolean 3130e41f4b71Sopenharmony_ci 3131e41f4b71Sopenharmony_ciChecks whether a range is within this **Scope**. 3132e41f4b71Sopenharmony_ci 3133e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3134e41f4b71Sopenharmony_ci 3135e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3136e41f4b71Sopenharmony_ci 3137e41f4b71Sopenharmony_ci**Parameters** 3138e41f4b71Sopenharmony_ci 3139e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3140e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 3141e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | Yes | **Scope** specified.| 3142e41f4b71Sopenharmony_ci 3143e41f4b71Sopenharmony_ci**Return value** 3144e41f4b71Sopenharmony_ci 3145e41f4b71Sopenharmony_ci| Type | Description | 3146e41f4b71Sopenharmony_ci| ------- | ----------------------------------------------------- | 3147e41f4b71Sopenharmony_ci| boolean | Returns **true** if the range is within this **Scope**; returns **false** otherwise.| 3148e41f4b71Sopenharmony_ci 3149e41f4b71Sopenharmony_ci**Error codes** 3150e41f4b71Sopenharmony_ci 3151e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3152e41f4b71Sopenharmony_ci 3153e41f4b71Sopenharmony_ci| ID| Error Message| 3154e41f4b71Sopenharmony_ci| -------- | -------- | 3155e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3156e41f4b71Sopenharmony_ci 3157e41f4b71Sopenharmony_ci**Example** 3158e41f4b71Sopenharmony_ci 3159e41f4b71Sopenharmony_ci```ts 3160e41f4b71Sopenharmony_ciclass Temperature{ 3161e41f4b71Sopenharmony_ci private readonly _temp: number; 3162e41f4b71Sopenharmony_ci constructor(value : number) { 3163e41f4b71Sopenharmony_ci this._temp = value; 3164e41f4b71Sopenharmony_ci } 3165e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3166e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3167e41f4b71Sopenharmony_ci } 3168e41f4b71Sopenharmony_ci getTemp() { 3169e41f4b71Sopenharmony_ci return this._temp; 3170e41f4b71Sopenharmony_ci } 3171e41f4b71Sopenharmony_ci toString() : string { 3172e41f4b71Sopenharmony_ci return this._temp.toString(); 3173e41f4b71Sopenharmony_ci } 3174e41f4b71Sopenharmony_ci} 3175e41f4b71Sopenharmony_ci 3176e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3177e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3178e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3179e41f4b71Sopenharmony_cilet tempLess = new Temperature(20); 3180e41f4b71Sopenharmony_cilet tempMore = new Temperature(45); 3181e41f4b71Sopenharmony_cilet rangeSec = new util.ScopeHelper(tempLess, tempMore); 3182e41f4b71Sopenharmony_cilet result = range.contains(rangeSec); 3183e41f4b71Sopenharmony_ci``` 3184e41f4b71Sopenharmony_ci 3185e41f4b71Sopenharmony_ci### clamp<sup>9+</sup> 3186e41f4b71Sopenharmony_ci 3187e41f4b71Sopenharmony_ciclamp(value: ScopeType): ScopeType 3188e41f4b71Sopenharmony_ci 3189e41f4b71Sopenharmony_ciLimits a value to this **Scope**. 3190e41f4b71Sopenharmony_ci 3191e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3192e41f4b71Sopenharmony_ci 3193e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3194e41f4b71Sopenharmony_ci 3195e41f4b71Sopenharmony_ci**Parameters** 3196e41f4b71Sopenharmony_ci 3197e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3198e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | -------------- | 3199e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes | Value specified.| 3200e41f4b71Sopenharmony_ci 3201e41f4b71Sopenharmony_ci**Return value** 3202e41f4b71Sopenharmony_ci 3203e41f4b71Sopenharmony_ci| Type | Description | 3204e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 3205e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Returns **lowerObj** if the specified value is less than the lower limit; returns **upperObj** if the specified value is greater than the upper limit; returns the specified value if it is within this **Scope**.| 3206e41f4b71Sopenharmony_ci 3207e41f4b71Sopenharmony_ci**Error codes** 3208e41f4b71Sopenharmony_ci 3209e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3210e41f4b71Sopenharmony_ci 3211e41f4b71Sopenharmony_ci| ID| Error Message| 3212e41f4b71Sopenharmony_ci| -------- | -------- | 3213e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3214e41f4b71Sopenharmony_ci 3215e41f4b71Sopenharmony_ci**Example** 3216e41f4b71Sopenharmony_ci 3217e41f4b71Sopenharmony_ci```ts 3218e41f4b71Sopenharmony_ciclass Temperature{ 3219e41f4b71Sopenharmony_ci private readonly _temp: number; 3220e41f4b71Sopenharmony_ci constructor(value : number) { 3221e41f4b71Sopenharmony_ci this._temp = value; 3222e41f4b71Sopenharmony_ci } 3223e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3224e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3225e41f4b71Sopenharmony_ci } 3226e41f4b71Sopenharmony_ci getTemp() { 3227e41f4b71Sopenharmony_ci return this._temp; 3228e41f4b71Sopenharmony_ci } 3229e41f4b71Sopenharmony_ci toString() : string { 3230e41f4b71Sopenharmony_ci return this._temp.toString(); 3231e41f4b71Sopenharmony_ci } 3232e41f4b71Sopenharmony_ci} 3233e41f4b71Sopenharmony_ci 3234e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3235e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3236e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3237e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3238e41f4b71Sopenharmony_cilet result = range.clamp(tempMiDF); 3239e41f4b71Sopenharmony_ci``` 3240e41f4b71Sopenharmony_ci 3241e41f4b71Sopenharmony_ci## Base64Helper<sup>9+</sup> 3242e41f4b71Sopenharmony_ci 3243e41f4b71Sopenharmony_ciProvides encoding and decoding for Base64 and Base64URL. The Base64 encoding table contains 64 characters, which are the uppercase letters (A-Z), lowercase letters (a-z), digits (0-9), and the special characters plus sign (+) and slash (/). During encoding, the original data is divided into groups of three bytes, and each group contains a 6-bit number. Then, the corresponding characters in the Base64 encoding table are used to represent these numbers. If the last group contains only one or two bytes, the equal sign (=) is used for padding. The Base64URL encoding table contains 64 characters, which are the uppercase letters (A-Z), lowercase letters (a-z), digits (0-9), and the special characters plus sign (+) and slash (/). The Base64URL encoding result does not contain equal signs (=). 3244e41f4b71Sopenharmony_ci 3245e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 3246e41f4b71Sopenharmony_ci 3247e41f4b71Sopenharmony_ciconstructor() 3248e41f4b71Sopenharmony_ci 3249e41f4b71Sopenharmony_ciA constructor used to create a **Base64Helper** instance. 3250e41f4b71Sopenharmony_ci 3251e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3252e41f4b71Sopenharmony_ci 3253e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 3254e41f4b71Sopenharmony_ci 3255e41f4b71Sopenharmony_ci**Example** 3256e41f4b71Sopenharmony_ci 3257e41f4b71Sopenharmony_ci ```ts 3258e41f4b71Sopenharmony_ci let base64 = new util.Base64Helper(); 3259e41f4b71Sopenharmony_ci ``` 3260e41f4b71Sopenharmony_ci 3261e41f4b71Sopenharmony_ci### encodeSync<sup>9+</sup> 3262e41f4b71Sopenharmony_ci 3263e41f4b71Sopenharmony_ciencodeSync(src: Uint8Array, options?: Type): Uint8Array 3264e41f4b71Sopenharmony_ci 3265e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. 3266e41f4b71Sopenharmony_ci 3267e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 3268e41f4b71Sopenharmony_ci 3269e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3270e41f4b71Sopenharmony_ci 3271e41f4b71Sopenharmony_ci**Parameters** 3272e41f4b71Sopenharmony_ci 3273e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3274e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3275e41f4b71Sopenharmony_ci| src | Uint8Array | Yes | Uint8Array object to encode.| 3276e41f4b71Sopenharmony_ci| options<sup>12+</sup> | [Type](#type10) | No| Encoding format.<br>The following values are available:<br>- **util.Type.BASIC** (default): Base64 encoding.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL encoding.| 3277e41f4b71Sopenharmony_ci 3278e41f4b71Sopenharmony_ci**Return value** 3279e41f4b71Sopenharmony_ci 3280e41f4b71Sopenharmony_ci| Type | Description | 3281e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3282e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 3283e41f4b71Sopenharmony_ci 3284e41f4b71Sopenharmony_ci**Error codes** 3285e41f4b71Sopenharmony_ci 3286e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3287e41f4b71Sopenharmony_ci 3288e41f4b71Sopenharmony_ci| ID| Error Message| 3289e41f4b71Sopenharmony_ci| -------- | -------- | 3290e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3291e41f4b71Sopenharmony_ci 3292e41f4b71Sopenharmony_ci**Example** 3293e41f4b71Sopenharmony_ci 3294e41f4b71Sopenharmony_ci ```ts 3295e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3296e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 3297e41f4b71Sopenharmony_ci let result = base64Helper.encodeSync(array); 3298e41f4b71Sopenharmony_ci ``` 3299e41f4b71Sopenharmony_ci 3300e41f4b71Sopenharmony_ci 3301e41f4b71Sopenharmony_ci### encodeToStringSync<sup>9+</sup> 3302e41f4b71Sopenharmony_ci 3303e41f4b71Sopenharmony_ciencodeToStringSync(src: Uint8Array, options?: Type): string 3304e41f4b71Sopenharmony_ci 3305e41f4b71Sopenharmony_ciEncodes the input content into a string. This API returns the result synchronously. 3306e41f4b71Sopenharmony_ci 3307e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 3308e41f4b71Sopenharmony_ci 3309e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3310e41f4b71Sopenharmony_ci 3311e41f4b71Sopenharmony_ci**Parameters** 3312e41f4b71Sopenharmony_ci 3313e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3314e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3315e41f4b71Sopenharmony_ci| src | Uint8Array | Yes | Uint8Array object to encode.| 3316e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | No | Encoding format.<br>The following values are available:<br>- **util.Type.BASIC** (default): Base64 encoding. The return value does not contain carriage return characters or newline characters.<br>- **util.Type.MIME**: Base64 encoding. Each line of the return value contains a maximum of 76 characters and ends with '\r\n'.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL encoding. The return value does not contain carriage return characters or newline characters.<br>- **util.Type.MIME_URL_SAFE**: Base64URL encoding. Each line in the return value contains a maximum of 76 characters and ends with '\r\n'.| 3317e41f4b71Sopenharmony_ci 3318e41f4b71Sopenharmony_ci**Return value** 3319e41f4b71Sopenharmony_ci 3320e41f4b71Sopenharmony_ci| Type | Description | 3321e41f4b71Sopenharmony_ci| ------ | -------------------- | 3322e41f4b71Sopenharmony_ci| string | String obtained.| 3323e41f4b71Sopenharmony_ci 3324e41f4b71Sopenharmony_ci**Error codes** 3325e41f4b71Sopenharmony_ci 3326e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3327e41f4b71Sopenharmony_ci 3328e41f4b71Sopenharmony_ci| ID| Error Message| 3329e41f4b71Sopenharmony_ci| -------- | -------- | 3330e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3331e41f4b71Sopenharmony_ci 3332e41f4b71Sopenharmony_ci**Example** 3333e41f4b71Sopenharmony_ci 3334e41f4b71Sopenharmony_ci ```ts 3335e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3336e41f4b71Sopenharmony_ci let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); 3337e41f4b71Sopenharmony_ci let result = base64Helper.encodeToStringSync(array, util.Type.MIME); 3338e41f4b71Sopenharmony_ci ``` 3339e41f4b71Sopenharmony_ci 3340e41f4b71Sopenharmony_ci 3341e41f4b71Sopenharmony_ci### decodeSync<sup>9+</sup> 3342e41f4b71Sopenharmony_ci 3343e41f4b71Sopenharmony_cidecodeSync(src: Uint8Array | string, options?: Type): Uint8Array 3344e41f4b71Sopenharmony_ci 3345e41f4b71Sopenharmony_ciDecodes a string into a Uint8Array object. This API returns the result synchronously. 3346e41f4b71Sopenharmony_ci 3347e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 3348e41f4b71Sopenharmony_ci 3349e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3350e41f4b71Sopenharmony_ci 3351e41f4b71Sopenharmony_ci**Parameters** 3352e41f4b71Sopenharmony_ci 3353e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3354e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | ----------------------------- | 3355e41f4b71Sopenharmony_ci| src | Uint8Array \| string | Yes | Uint8Array object or string to decode.| 3356e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | No | Decoding format.<br>The following values are available:<br>- **util.Type.BASIC** (default): Base64 decoding.<br>- **util.Type.MIME**: Base64 decoding. The input parameter **src** contains carriage return characters and newline characters.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL decoding.<br>- **util.Type.MIME_URL_SAFE**: Base64 URL decoding. The input parameter **src** contains carriage return characters and newline characters.| 3357e41f4b71Sopenharmony_ci 3358e41f4b71Sopenharmony_ci**Return value** 3359e41f4b71Sopenharmony_ci 3360e41f4b71Sopenharmony_ci| Type | Description | 3361e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3362e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 3363e41f4b71Sopenharmony_ci 3364e41f4b71Sopenharmony_ci**Error codes** 3365e41f4b71Sopenharmony_ci 3366e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3367e41f4b71Sopenharmony_ci 3368e41f4b71Sopenharmony_ci| ID| Error Message| 3369e41f4b71Sopenharmony_ci| -------- | -------- | 3370e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3371e41f4b71Sopenharmony_ci 3372e41f4b71Sopenharmony_ci**Example** 3373e41f4b71Sopenharmony_ci 3374e41f4b71Sopenharmony_ci ```ts 3375e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3376e41f4b71Sopenharmony_ci let buff = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; 3377e41f4b71Sopenharmony_ci let result = base64Helper.decodeSync(buff, util.Type.MIME); 3378e41f4b71Sopenharmony_ci ``` 3379e41f4b71Sopenharmony_ci 3380e41f4b71Sopenharmony_ci 3381e41f4b71Sopenharmony_ci### encode<sup>9+</sup> 3382e41f4b71Sopenharmony_ci 3383e41f4b71Sopenharmony_ciencode(src: Uint8Array, options?: Type): Promise<Uint8Array> 3384e41f4b71Sopenharmony_ci 3385e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. This API uses a promise to return the result. 3386e41f4b71Sopenharmony_ci 3387e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 3388e41f4b71Sopenharmony_ci 3389e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3390e41f4b71Sopenharmony_ci 3391e41f4b71Sopenharmony_ci**Parameters** 3392e41f4b71Sopenharmony_ci 3393e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3394e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ----------------------- | 3395e41f4b71Sopenharmony_ci| src | Uint8Array | Yes | Uint8Array object to encode.| 3396e41f4b71Sopenharmony_ci| options<sup>12+</sup> | [Type](#type10) | No| Encoding format.<br>The following values are available:<br>- **util.Type.BASIC**: Base64 encoding.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL encoding.| 3397e41f4b71Sopenharmony_ci 3398e41f4b71Sopenharmony_ci**Return value** 3399e41f4b71Sopenharmony_ci 3400e41f4b71Sopenharmony_ci| Type | Description | 3401e41f4b71Sopenharmony_ci| ------------------------- | --------------------------------- | 3402e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise used to return the Uint8Array object obtained.| 3403e41f4b71Sopenharmony_ci 3404e41f4b71Sopenharmony_ci**Error codes** 3405e41f4b71Sopenharmony_ci 3406e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3407e41f4b71Sopenharmony_ci 3408e41f4b71Sopenharmony_ci| ID| Error Message| 3409e41f4b71Sopenharmony_ci| -------- | -------- | 3410e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3411e41f4b71Sopenharmony_ci 3412e41f4b71Sopenharmony_ci**Example** 3413e41f4b71Sopenharmony_ci 3414e41f4b71Sopenharmony_ci ```ts 3415e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3416e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 3417e41f4b71Sopenharmony_ci base64Helper.encode(array).then((val) => { 3418e41f4b71Sopenharmony_ci console.info(val.toString()); 3419e41f4b71Sopenharmony_ci }) 3420e41f4b71Sopenharmony_ci ``` 3421e41f4b71Sopenharmony_ci 3422e41f4b71Sopenharmony_ci 3423e41f4b71Sopenharmony_ci### encodeToString<sup>9+</sup> 3424e41f4b71Sopenharmony_ci 3425e41f4b71Sopenharmony_ciencodeToString(src: Uint8Array, options?: Type): Promise<string> 3426e41f4b71Sopenharmony_ci 3427e41f4b71Sopenharmony_ciEncodes the input content into a string. This API uses a promise to return the result. 3428e41f4b71Sopenharmony_ci 3429e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3430e41f4b71Sopenharmony_ci 3431e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3432e41f4b71Sopenharmony_ci 3433e41f4b71Sopenharmony_ci**Parameters** 3434e41f4b71Sopenharmony_ci 3435e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3436e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ----------------------- | 3437e41f4b71Sopenharmony_ci| src | Uint8Array | Yes | Uint8Array object to encode.| 3438e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | No | Encoding format.<br>The following values are available:<br>- **util.Type.BASIC** (default): Base64 encoding. The return value does not contain carriage return characters or newline characters.<br>- **util.Type.MIME**: Base64 encoding. Each line of the return value contains a maximum of 76 characters and ends with '\r\n'.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL encoding. The return value does not contain carriage return characters or newline characters.<br>- **util.Type.MIME_URL_SAFE**: Base64URL encoding. Each line in the return value contains a maximum of 76 characters and ends with '\r\n'.| 3439e41f4b71Sopenharmony_ci 3440e41f4b71Sopenharmony_ci**Return value** 3441e41f4b71Sopenharmony_ci 3442e41f4b71Sopenharmony_ci| Type | Description | 3443e41f4b71Sopenharmony_ci| --------------------- | ------------------------ | 3444e41f4b71Sopenharmony_ci| Promise<string> | Promise used to return the string obtained.| 3445e41f4b71Sopenharmony_ci 3446e41f4b71Sopenharmony_ci**Error codes** 3447e41f4b71Sopenharmony_ci 3448e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3449e41f4b71Sopenharmony_ci 3450e41f4b71Sopenharmony_ci| ID| Error Message| 3451e41f4b71Sopenharmony_ci| -------- | -------- | 3452e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3453e41f4b71Sopenharmony_ci 3454e41f4b71Sopenharmony_ci**Example** 3455e41f4b71Sopenharmony_ci 3456e41f4b71Sopenharmony_ci ```ts 3457e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3458e41f4b71Sopenharmony_ci let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); 3459e41f4b71Sopenharmony_ci base64Helper.encodeToString(array, util.Type.MIME).then((val) => { 3460e41f4b71Sopenharmony_ci console.info(val); 3461e41f4b71Sopenharmony_ci }) 3462e41f4b71Sopenharmony_ci ``` 3463e41f4b71Sopenharmony_ci 3464e41f4b71Sopenharmony_ci 3465e41f4b71Sopenharmony_ci### decode<sup>9+</sup> 3466e41f4b71Sopenharmony_ci 3467e41f4b71Sopenharmony_cidecode(src: Uint8Array | string, options?: Type): Promise<Uint8Array> 3468e41f4b71Sopenharmony_ci 3469e41f4b71Sopenharmony_ciDecodes the input content into a Uint8Array object. This API uses a promise to return the result. 3470e41f4b71Sopenharmony_ci 3471e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3472e41f4b71Sopenharmony_ci 3473e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3474e41f4b71Sopenharmony_ci 3475e41f4b71Sopenharmony_ci**Parameters** 3476e41f4b71Sopenharmony_ci 3477e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3478e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | --------------------------------- | 3479e41f4b71Sopenharmony_ci| src | Uint8Array \| string | Yes | Uint8Array object or string to decode.| 3480e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | No | Decoding format.<br>The following values are available:<br>- **util.Type.BASIC** (default): Base64 decoding.<br>- **util.Type.MIME**: Base64 decoding. The input parameter **src** contains carriage return characters and newline characters.<br>- **util.Type.BASIC_URL_SAFE**: Base64URL decoding.<br>- **util.Type.MIME_URL_SAFE**: Base64 URL decoding. The input parameter **src** contains carriage return characters and newline characters.| 3481e41f4b71Sopenharmony_ci 3482e41f4b71Sopenharmony_ci**Return value** 3483e41f4b71Sopenharmony_ci 3484e41f4b71Sopenharmony_ci| Type | Description | 3485e41f4b71Sopenharmony_ci| ------------------------- | --------------------------------- | 3486e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise used to return the Uint8Array object obtained.| 3487e41f4b71Sopenharmony_ci 3488e41f4b71Sopenharmony_ci**Error codes** 3489e41f4b71Sopenharmony_ci 3490e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3491e41f4b71Sopenharmony_ci 3492e41f4b71Sopenharmony_ci| ID| Error Message| 3493e41f4b71Sopenharmony_ci| -------- | -------- | 3494e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3495e41f4b71Sopenharmony_ci 3496e41f4b71Sopenharmony_ci**Example** 3497e41f4b71Sopenharmony_ci 3498e41f4b71Sopenharmony_ci ```ts 3499e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3500e41f4b71Sopenharmony_ci let array = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; 3501e41f4b71Sopenharmony_ci base64Helper.decode(array, util.Type.MIME).then((val) => { 3502e41f4b71Sopenharmony_ci console.info(val.toString()); 3503e41f4b71Sopenharmony_ci }) 3504e41f4b71Sopenharmony_ci ``` 3505e41f4b71Sopenharmony_ci 3506e41f4b71Sopenharmony_ci## StringDecoder<sup>12+</sup> 3507e41f4b71Sopenharmony_ci 3508e41f4b71Sopenharmony_ciProvides the capability of decoding binary streams into strings. The following encoding types are supported: utf-8, iso-8859-2, koi8-r, macintosh, windows-1250, windows-1251, gbk, gb18030, big5, utf-16be, and UTF-16le. 3509e41f4b71Sopenharmony_ci 3510e41f4b71Sopenharmony_ci### constructor<sup>12+</sup> 3511e41f4b71Sopenharmony_ci 3512e41f4b71Sopenharmony_ciconstructor(encoding?: string) 3513e41f4b71Sopenharmony_ci 3514e41f4b71Sopenharmony_ciConstructor used to create a **StringDecoder** instance. 3515e41f4b71Sopenharmony_ci 3516e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3517e41f4b71Sopenharmony_ci 3518e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3519e41f4b71Sopenharmony_ci 3520e41f4b71Sopenharmony_ci**Parameters** 3521e41f4b71Sopenharmony_ci 3522e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3523e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | --------------------------------- | 3524e41f4b71Sopenharmony_ci| encoding | string | No | Encoding type of the input data. The default value is **utf-8**.| 3525e41f4b71Sopenharmony_ci 3526e41f4b71Sopenharmony_ci**Error codes** 3527e41f4b71Sopenharmony_ci 3528e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3529e41f4b71Sopenharmony_ci 3530e41f4b71Sopenharmony_ci| ID| Error Message| 3531e41f4b71Sopenharmony_ci| -------- | -------- | 3532e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3533e41f4b71Sopenharmony_ci 3534e41f4b71Sopenharmony_ci**Example** 3535e41f4b71Sopenharmony_ci 3536e41f4b71Sopenharmony_ci ```ts 3537e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder(); 3538e41f4b71Sopenharmony_ci ``` 3539e41f4b71Sopenharmony_ci 3540e41f4b71Sopenharmony_ci### write<sup>12+</sup> 3541e41f4b71Sopenharmony_ci 3542e41f4b71Sopenharmony_ciwrite(chunk: string | Uint8Array): string 3543e41f4b71Sopenharmony_ci 3544e41f4b71Sopenharmony_ciDecodes a string. Any incomplete multi-byte characters at the end of Uint8Array are filtered out from the returned string and stored in an internal buffer for the next call. 3545e41f4b71Sopenharmony_ci 3546e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3547e41f4b71Sopenharmony_ci 3548e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3549e41f4b71Sopenharmony_ci 3550e41f4b71Sopenharmony_ci**Parameters** 3551e41f4b71Sopenharmony_ci 3552e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3553e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3554e41f4b71Sopenharmony_ci| chunk | string \| Uint8Array | Yes | String to decode. Decoding is performed based on the input encoding type. If the input is of the Uint8Array type, decoding is performed normally. If the input is of the string type, decoding is performed in the original path.| 3555e41f4b71Sopenharmony_ci 3556e41f4b71Sopenharmony_ci**Return value** 3557e41f4b71Sopenharmony_ci 3558e41f4b71Sopenharmony_ci| Type | Description | 3559e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3560e41f4b71Sopenharmony_ci| string | String decoded.| 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci**Error codes** 3563e41f4b71Sopenharmony_ci 3564e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3565e41f4b71Sopenharmony_ci 3566e41f4b71Sopenharmony_ci| ID| Error Message| 3567e41f4b71Sopenharmony_ci| -------- | -------- | 3568e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3569e41f4b71Sopenharmony_ci 3570e41f4b71Sopenharmony_ci**Example** 3571e41f4b71Sopenharmony_ci 3572e41f4b71Sopenharmony_ci ```ts 3573e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder('utf-8'); 3574e41f4b71Sopenharmony_ci let input = new Uint8Array([0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD]); 3575e41f4b71Sopenharmony_ci const decoded = decoder.write(input); 3576e41f4b71Sopenharmony_ci console.info("decoder:", decoded));// Hi You 3577e41f4b71Sopenharmony_ci ``` 3578e41f4b71Sopenharmony_ci 3579e41f4b71Sopenharmony_ci### end<sup>12+</sup> 3580e41f4b71Sopenharmony_ci 3581e41f4b71Sopenharmony_ciend(chunk?: string | Uint8Array): string 3582e41f4b71Sopenharmony_ci 3583e41f4b71Sopenharmony_ciEnds the decoding process and returns any remaining input stored in the internal buffer as a string. 3584e41f4b71Sopenharmony_ci 3585e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3586e41f4b71Sopenharmony_ci 3587e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci**Parameters** 3590e41f4b71Sopenharmony_ci 3591e41f4b71Sopenharmony_ci| Name| Type | Mandatory| Description | 3592e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3593e41f4b71Sopenharmony_ci| chunk | string \| Uint8Array | No | String to decode. The default value is **undefined**.| 3594e41f4b71Sopenharmony_ci 3595e41f4b71Sopenharmony_ci**Return value** 3596e41f4b71Sopenharmony_ci 3597e41f4b71Sopenharmony_ci| Type | Description | 3598e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3599e41f4b71Sopenharmony_ci| string | String decoded.| 3600e41f4b71Sopenharmony_ci 3601e41f4b71Sopenharmony_ci**Error codes** 3602e41f4b71Sopenharmony_ci 3603e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 3604e41f4b71Sopenharmony_ci 3605e41f4b71Sopenharmony_ci| ID| Error Message| 3606e41f4b71Sopenharmony_ci| -------- | -------- | 3607e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3608e41f4b71Sopenharmony_ci 3609e41f4b71Sopenharmony_ci**Example** 3610e41f4b71Sopenharmony_ci 3611e41f4b71Sopenharmony_ci ```ts 3612e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder('utf-8'); 3613e41f4b71Sopenharmony_ci let input = new Uint8Array([0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD]); 3614e41f4b71Sopenharmony_ci const decoded = decoder.write(input.slice(0, 5)); 3615e41f4b71Sopenharmony_ci const decodedend = decoder.end(input.slice(5)); 3616e41f4b71Sopenharmony_ci console.info("decoded:", decoded));// Hi 3617e41f4b71Sopenharmony_ci console.info("decodedend:", decodedend);// You 3618e41f4b71Sopenharmony_ci ``` 3619e41f4b71Sopenharmony_ci 3620e41f4b71Sopenharmony_ci## Type<sup>10+</sup> 3621e41f4b71Sopenharmony_ci 3622e41f4b71Sopenharmony_ciEnumerates the Base64 encoding formats. 3623e41f4b71Sopenharmony_ci 3624e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3625e41f4b71Sopenharmony_ci 3626e41f4b71Sopenharmony_ci 3627e41f4b71Sopenharmony_ci| Name |Value| Description | 3628e41f4b71Sopenharmony_ci| ----- |---| ----------------- | 3629e41f4b71Sopenharmony_ci| BASIC | 0 | Basic format. **Atomic service API**: This API can be used in atomic services since API version 11.| 3630e41f4b71Sopenharmony_ci| MIME | 1 | MIME format. **Atomic service API**: This API can be used in atomic services since API version 11.| 3631e41f4b71Sopenharmony_ci| BASIC_URL_SAFE<sup>12+</sup> | 2 | BASIC_URL_SAFE format.<br>This value is supported since API version 12. **Atomic service API**: This API can be used in atomic services since API version 12.| 3632e41f4b71Sopenharmony_ci| MIME_URL_SAFE<sup>12+</sup> | 3 | MIME_URL_SAFE format.<br>This value is supported since API version 12. **Atomic service API**: This API can be used in atomic services since API version 12.| 3633e41f4b71Sopenharmony_ci 3634e41f4b71Sopenharmony_ci 3635e41f4b71Sopenharmony_ci## types<sup>8+</sup> 3636e41f4b71Sopenharmony_ci 3637e41f4b71Sopenharmony_ciProvides APIs to check different types of built-in objects, such as ArrayBuffer, Map, and Set, so as to avoid exceptions or crashes caused by type errors. 3638e41f4b71Sopenharmony_ci 3639e41f4b71Sopenharmony_ci### constructor<sup>8+</sup> 3640e41f4b71Sopenharmony_ci 3641e41f4b71Sopenharmony_ciconstructor() 3642e41f4b71Sopenharmony_ci 3643e41f4b71Sopenharmony_ciA constructor used to create a **Types** object. 3644e41f4b71Sopenharmony_ci 3645e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3646e41f4b71Sopenharmony_ci 3647e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3648e41f4b71Sopenharmony_ci 3649e41f4b71Sopenharmony_ci**Example** 3650e41f4b71Sopenharmony_ci 3651e41f4b71Sopenharmony_ci ```ts 3652e41f4b71Sopenharmony_ci let type = new util.types(); 3653e41f4b71Sopenharmony_ci ``` 3654e41f4b71Sopenharmony_ci 3655e41f4b71Sopenharmony_ci 3656e41f4b71Sopenharmony_ci### isAnyArrayBuffer<sup>8+</sup> 3657e41f4b71Sopenharmony_ci 3658e41f4b71Sopenharmony_ciisAnyArrayBuffer(value: Object): boolean 3659e41f4b71Sopenharmony_ci 3660e41f4b71Sopenharmony_ciChecks whether the input value is of the ArrayBuffer or SharedArrayBuffer type. 3661e41f4b71Sopenharmony_ci 3662e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3663e41f4b71Sopenharmony_ci 3664e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3665e41f4b71Sopenharmony_ci 3666e41f4b71Sopenharmony_ci**Parameters** 3667e41f4b71Sopenharmony_ci 3668e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3669e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3670e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3671e41f4b71Sopenharmony_ci 3672e41f4b71Sopenharmony_ci**Return value** 3673e41f4b71Sopenharmony_ci 3674e41f4b71Sopenharmony_ci| Type| Description| 3675e41f4b71Sopenharmony_ci| -------- | -------- | 3676e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the ArrayBuffer or SharedArrayBuffer type; returns **false** otherwise.| 3677e41f4b71Sopenharmony_ci 3678e41f4b71Sopenharmony_ci**Example** 3679e41f4b71Sopenharmony_ci 3680e41f4b71Sopenharmony_ci ```ts 3681e41f4b71Sopenharmony_ci let type = new util.types(); 3682e41f4b71Sopenharmony_ci let result = type.isAnyArrayBuffer(new ArrayBuffer(0)); 3683e41f4b71Sopenharmony_ci console.info("result = " + result); 3684e41f4b71Sopenharmony_ci // Output: result = true 3685e41f4b71Sopenharmony_ci ``` 3686e41f4b71Sopenharmony_ci 3687e41f4b71Sopenharmony_ci 3688e41f4b71Sopenharmony_ci### isArrayBufferView<sup>8+</sup> 3689e41f4b71Sopenharmony_ci 3690e41f4b71Sopenharmony_ciisArrayBufferView(value: Object): boolean 3691e41f4b71Sopenharmony_ci 3692e41f4b71Sopenharmony_ciChecks whether the input value is of the ArrayBufferView type. 3693e41f4b71Sopenharmony_ci 3694e41f4b71Sopenharmony_ci**ArrayBufferView** is a helper type representing any of the following: Int8Array, Int16Array, Int32Array, Uint8Array, Uint8ClampedArray, Uint32Array, Float32Array, **Float64Array**, and DataView. 3695e41f4b71Sopenharmony_ci 3696e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3697e41f4b71Sopenharmony_ci 3698e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3699e41f4b71Sopenharmony_ci 3700e41f4b71Sopenharmony_ci**Parameters** 3701e41f4b71Sopenharmony_ci 3702e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3703e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3704e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3705e41f4b71Sopenharmony_ci 3706e41f4b71Sopenharmony_ci**Return value** 3707e41f4b71Sopenharmony_ci 3708e41f4b71Sopenharmony_ci| Type| Description| 3709e41f4b71Sopenharmony_ci| -------- | -------- | 3710e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the ArrayBufferView type; returns **false** otherwise.| 3711e41f4b71Sopenharmony_ci 3712e41f4b71Sopenharmony_ci**Example** 3713e41f4b71Sopenharmony_ci 3714e41f4b71Sopenharmony_ci ```ts 3715e41f4b71Sopenharmony_ci let type = new util.types(); 3716e41f4b71Sopenharmony_ci let result = type.isArrayBufferView(new Int8Array([])); 3717e41f4b71Sopenharmony_ci console.info("result = " + result); 3718e41f4b71Sopenharmony_ci // Output: result = true 3719e41f4b71Sopenharmony_ci ``` 3720e41f4b71Sopenharmony_ci 3721e41f4b71Sopenharmony_ci 3722e41f4b71Sopenharmony_ci### isArgumentsObject<sup>8+</sup> 3723e41f4b71Sopenharmony_ci 3724e41f4b71Sopenharmony_ciisArgumentsObject(value: Object): boolean 3725e41f4b71Sopenharmony_ci 3726e41f4b71Sopenharmony_ciChecks whether the input value is an arguments object. 3727e41f4b71Sopenharmony_ci 3728e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3729e41f4b71Sopenharmony_ci 3730e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3731e41f4b71Sopenharmony_ci 3732e41f4b71Sopenharmony_ci**Parameters** 3733e41f4b71Sopenharmony_ci 3734e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3735e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3736e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3737e41f4b71Sopenharmony_ci 3738e41f4b71Sopenharmony_ci**Return value** 3739e41f4b71Sopenharmony_ci 3740e41f4b71Sopenharmony_ci| Type| Description| 3741e41f4b71Sopenharmony_ci| -------- | -------- | 3742e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is an arguments object; returns **false** otherwise.| 3743e41f4b71Sopenharmony_ci 3744e41f4b71Sopenharmony_ci**Example** 3745e41f4b71Sopenharmony_ci 3746e41f4b71Sopenharmony_ci ```ts 3747e41f4b71Sopenharmony_ci let type = new util.types(); 3748e41f4b71Sopenharmony_ci function foo() { 3749e41f4b71Sopenharmony_ci let result = type.isArgumentsObject(arguments); 3750e41f4b71Sopenharmony_ci console.info("result = " + result); 3751e41f4b71Sopenharmony_ci } 3752e41f4b71Sopenharmony_ci let f = foo(); 3753e41f4b71Sopenharmony_ci // Output: result = true 3754e41f4b71Sopenharmony_ci ``` 3755e41f4b71Sopenharmony_ci 3756e41f4b71Sopenharmony_ci 3757e41f4b71Sopenharmony_ci### isArrayBuffer<sup>8+</sup> 3758e41f4b71Sopenharmony_ci 3759e41f4b71Sopenharmony_ciisArrayBuffer(value: Object): boolean 3760e41f4b71Sopenharmony_ci 3761e41f4b71Sopenharmony_ciChecks whether the input value is of the ArrayBuffer type. 3762e41f4b71Sopenharmony_ci 3763e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3764e41f4b71Sopenharmony_ci 3765e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3766e41f4b71Sopenharmony_ci 3767e41f4b71Sopenharmony_ci**Parameters** 3768e41f4b71Sopenharmony_ci 3769e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3770e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3771e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3772e41f4b71Sopenharmony_ci 3773e41f4b71Sopenharmony_ci**Return value** 3774e41f4b71Sopenharmony_ci 3775e41f4b71Sopenharmony_ci| Type| Description| 3776e41f4b71Sopenharmony_ci| -------- | -------- | 3777e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the ArrayBuffer type; returns **false** otherwise.| 3778e41f4b71Sopenharmony_ci 3779e41f4b71Sopenharmony_ci**Example** 3780e41f4b71Sopenharmony_ci 3781e41f4b71Sopenharmony_ci ```ts 3782e41f4b71Sopenharmony_ci let type = new util.types(); 3783e41f4b71Sopenharmony_ci let result = type.isArrayBuffer(new ArrayBuffer(0)); 3784e41f4b71Sopenharmony_ci console.info("result = " + result); 3785e41f4b71Sopenharmony_ci // Output: result = true 3786e41f4b71Sopenharmony_ci ``` 3787e41f4b71Sopenharmony_ci 3788e41f4b71Sopenharmony_ci 3789e41f4b71Sopenharmony_ci### isAsyncFunction<sup>8+</sup> 3790e41f4b71Sopenharmony_ci 3791e41f4b71Sopenharmony_ciisAsyncFunction(value: Object): boolean 3792e41f4b71Sopenharmony_ci 3793e41f4b71Sopenharmony_ciChecks whether the input value is an asynchronous function. 3794e41f4b71Sopenharmony_ci 3795e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3796e41f4b71Sopenharmony_ci 3797e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3798e41f4b71Sopenharmony_ci 3799e41f4b71Sopenharmony_ci**Parameters** 3800e41f4b71Sopenharmony_ci 3801e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3802e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3803e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3804e41f4b71Sopenharmony_ci 3805e41f4b71Sopenharmony_ci**Return value** 3806e41f4b71Sopenharmony_ci 3807e41f4b71Sopenharmony_ci| Type| Description| 3808e41f4b71Sopenharmony_ci| -------- | -------- | 3809e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is an asynchronous function; returns **false** otherwise.| 3810e41f4b71Sopenharmony_ci 3811e41f4b71Sopenharmony_ci**Example** 3812e41f4b71Sopenharmony_ci 3813e41f4b71Sopenharmony_ci ```ts 3814e41f4b71Sopenharmony_ci let type = new util.types(); 3815e41f4b71Sopenharmony_ci let result = type.isAsyncFunction(async () => {}); 3816e41f4b71Sopenharmony_ci console.info("result = " + result); 3817e41f4b71Sopenharmony_ci // Output: result = true 3818e41f4b71Sopenharmony_ci ``` 3819e41f4b71Sopenharmony_ci 3820e41f4b71Sopenharmony_ci 3821e41f4b71Sopenharmony_ci### isBooleanObject<sup>8+</sup> 3822e41f4b71Sopenharmony_ci 3823e41f4b71Sopenharmony_ciisBooleanObject(value: Object): boolean 3824e41f4b71Sopenharmony_ci 3825e41f4b71Sopenharmony_ciChecks whether the input value is of the Boolean type. 3826e41f4b71Sopenharmony_ci 3827e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3828e41f4b71Sopenharmony_ci 3829e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3830e41f4b71Sopenharmony_ci 3831e41f4b71Sopenharmony_ci**Parameters** 3832e41f4b71Sopenharmony_ci 3833e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3834e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3835e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3836e41f4b71Sopenharmony_ci 3837e41f4b71Sopenharmony_ci**Return value** 3838e41f4b71Sopenharmony_ci 3839e41f4b71Sopenharmony_ci| Type| Description| 3840e41f4b71Sopenharmony_ci| -------- | -------- | 3841e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Boolean type; returns **false** otherwise.| 3842e41f4b71Sopenharmony_ci 3843e41f4b71Sopenharmony_ci**Example** 3844e41f4b71Sopenharmony_ci 3845e41f4b71Sopenharmony_ci ```ts 3846e41f4b71Sopenharmony_ci let type = new util.types(); 3847e41f4b71Sopenharmony_ci let result = type.isBooleanObject(new Boolean(true)); 3848e41f4b71Sopenharmony_ci console.info("result = " + result); 3849e41f4b71Sopenharmony_ci // Output: result = true 3850e41f4b71Sopenharmony_ci ``` 3851e41f4b71Sopenharmony_ci 3852e41f4b71Sopenharmony_ci 3853e41f4b71Sopenharmony_ci### isBoxedPrimitive<sup>8+</sup> 3854e41f4b71Sopenharmony_ci 3855e41f4b71Sopenharmony_ciisBoxedPrimitive(value: Object): boolean 3856e41f4b71Sopenharmony_ci 3857e41f4b71Sopenharmony_ciChecks whether the input value is of the Boolean, Number, String, or Symbol type. 3858e41f4b71Sopenharmony_ci 3859e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3860e41f4b71Sopenharmony_ci 3861e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3862e41f4b71Sopenharmony_ci 3863e41f4b71Sopenharmony_ci**Parameters** 3864e41f4b71Sopenharmony_ci 3865e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3866e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3867e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3868e41f4b71Sopenharmony_ci 3869e41f4b71Sopenharmony_ci**Return value** 3870e41f4b71Sopenharmony_ci 3871e41f4b71Sopenharmony_ci| Type| Description| 3872e41f4b71Sopenharmony_ci| -------- | -------- | 3873e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Boolean, Number, String, or Symbol type; returns **false** otherwise.| 3874e41f4b71Sopenharmony_ci 3875e41f4b71Sopenharmony_ci**Example** 3876e41f4b71Sopenharmony_ci 3877e41f4b71Sopenharmony_ci ```ts 3878e41f4b71Sopenharmony_ci let type = new util.types(); 3879e41f4b71Sopenharmony_ci let result = type.isBoxedPrimitive(new Boolean(false)); 3880e41f4b71Sopenharmony_ci console.info("result = " + result); 3881e41f4b71Sopenharmony_ci // Output: result = true 3882e41f4b71Sopenharmony_ci ``` 3883e41f4b71Sopenharmony_ci 3884e41f4b71Sopenharmony_ci 3885e41f4b71Sopenharmony_ci### isDataView<sup>8+</sup> 3886e41f4b71Sopenharmony_ci 3887e41f4b71Sopenharmony_ciisDataView(value: Object): boolean 3888e41f4b71Sopenharmony_ci 3889e41f4b71Sopenharmony_ciChecks whether the input value is of the DataView type. 3890e41f4b71Sopenharmony_ci 3891e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3892e41f4b71Sopenharmony_ci 3893e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3894e41f4b71Sopenharmony_ci 3895e41f4b71Sopenharmony_ci**Parameters** 3896e41f4b71Sopenharmony_ci 3897e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3898e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3899e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3900e41f4b71Sopenharmony_ci 3901e41f4b71Sopenharmony_ci**Return value** 3902e41f4b71Sopenharmony_ci 3903e41f4b71Sopenharmony_ci| Type| Description| 3904e41f4b71Sopenharmony_ci| -------- | -------- | 3905e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the DataView type; returns **false** otherwise.| 3906e41f4b71Sopenharmony_ci 3907e41f4b71Sopenharmony_ci**Example** 3908e41f4b71Sopenharmony_ci 3909e41f4b71Sopenharmony_ci ```ts 3910e41f4b71Sopenharmony_ci let type = new util.types(); 3911e41f4b71Sopenharmony_ci const ab = new ArrayBuffer(20); 3912e41f4b71Sopenharmony_ci let result = type.isDataView(new DataView(ab)); 3913e41f4b71Sopenharmony_ci console.info("result = " + result); 3914e41f4b71Sopenharmony_ci // Output: result = true 3915e41f4b71Sopenharmony_ci ``` 3916e41f4b71Sopenharmony_ci 3917e41f4b71Sopenharmony_ci 3918e41f4b71Sopenharmony_ci### isDate<sup>8+</sup> 3919e41f4b71Sopenharmony_ci 3920e41f4b71Sopenharmony_ciisDate(value: Object): boolean 3921e41f4b71Sopenharmony_ci 3922e41f4b71Sopenharmony_ciChecks whether the input value is of the Date type. 3923e41f4b71Sopenharmony_ci 3924e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3925e41f4b71Sopenharmony_ci 3926e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3927e41f4b71Sopenharmony_ci 3928e41f4b71Sopenharmony_ci**Parameters** 3929e41f4b71Sopenharmony_ci 3930e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3931e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3932e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3933e41f4b71Sopenharmony_ci 3934e41f4b71Sopenharmony_ci**Return value** 3935e41f4b71Sopenharmony_ci 3936e41f4b71Sopenharmony_ci| Type| Description| 3937e41f4b71Sopenharmony_ci| -------- | -------- | 3938e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Date type; returns **false** otherwise.| 3939e41f4b71Sopenharmony_ci 3940e41f4b71Sopenharmony_ci**Example** 3941e41f4b71Sopenharmony_ci 3942e41f4b71Sopenharmony_ci ```ts 3943e41f4b71Sopenharmony_ci let type = new util.types(); 3944e41f4b71Sopenharmony_ci let result = type.isDate(new Date()); 3945e41f4b71Sopenharmony_ci console.info("result = " + result); 3946e41f4b71Sopenharmony_ci // Output: result = true 3947e41f4b71Sopenharmony_ci ``` 3948e41f4b71Sopenharmony_ci 3949e41f4b71Sopenharmony_ci 3950e41f4b71Sopenharmony_ci### isExternal<sup>8+</sup> 3951e41f4b71Sopenharmony_ci 3952e41f4b71Sopenharmony_ciisExternal(value: Object): boolean 3953e41f4b71Sopenharmony_ci 3954e41f4b71Sopenharmony_ciChecks whether the input value is of the native external type. 3955e41f4b71Sopenharmony_ci 3956e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 3957e41f4b71Sopenharmony_ci 3958e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 3959e41f4b71Sopenharmony_ci 3960e41f4b71Sopenharmony_ci**Parameters** 3961e41f4b71Sopenharmony_ci 3962e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 3963e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3964e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 3965e41f4b71Sopenharmony_ci 3966e41f4b71Sopenharmony_ci**Return value** 3967e41f4b71Sopenharmony_ci 3968e41f4b71Sopenharmony_ci| Type| Description| 3969e41f4b71Sopenharmony_ci| -------- | -------- | 3970e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the native external type; returns **false** otherwise.| 3971e41f4b71Sopenharmony_ci 3972e41f4b71Sopenharmony_ci**Example** 3973e41f4b71Sopenharmony_ci 3974e41f4b71Sopenharmony_ci ```cpp 3975e41f4b71Sopenharmony_ci // /entry/src/main/cpp/napi_init.cpp 3976e41f4b71Sopenharmony_ci #include "napi/native_api.h" 3977e41f4b71Sopenharmony_ci #include <js_native_api.h> 3978e41f4b71Sopenharmony_ci #include <stdlib.h> 3979e41f4b71Sopenharmony_ci 3980e41f4b71Sopenharmony_ci napi_value result; 3981e41f4b71Sopenharmony_ci static napi_value Testexternal(napi_env env, napi_callback_info info) { 3982e41f4b71Sopenharmony_ci int* raw = (int*) malloc(1024); 3983e41f4b71Sopenharmony_ci napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result); 3984e41f4b71Sopenharmony_ci if (status != napi_ok) { 3985e41f4b71Sopenharmony_ci napi_throw_error(env, NULL, "create external failed"); 3986e41f4b71Sopenharmony_ci return NULL; 3987e41f4b71Sopenharmony_ci } 3988e41f4b71Sopenharmony_ci return result; 3989e41f4b71Sopenharmony_ci } 3990e41f4b71Sopenharmony_ci 3991e41f4b71Sopenharmony_ci EXTERN_C_START 3992e41f4b71Sopenharmony_ci static napi_value Init(napi_env env, napi_value exports) 3993e41f4b71Sopenharmony_ci { 3994e41f4b71Sopenharmony_ci napi_property_descriptor desc[] = { 3995e41f4b71Sopenharmony_ci {"testexternal", nullptr, Testexternal, nullptr, nullptr, nullptr, napi_default, nullptr}, 3996e41f4b71Sopenharmony_ci }; 3997e41f4b71Sopenharmony_ci napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); 3998e41f4b71Sopenharmony_ci return exports; 3999e41f4b71Sopenharmony_ci } 4000e41f4b71Sopenharmony_ci EXTERN_C_END 4001e41f4b71Sopenharmony_ci // The code for module registration is omitted here. You may need to register the Testexternal method. 4002e41f4b71Sopenharmony_ci ... 4003e41f4b71Sopenharmony_ci 4004e41f4b71Sopenharmony_ci ``` 4005e41f4b71Sopenharmony_ci 4006e41f4b71Sopenharmony_ci <!--code_no_check--> 4007e41f4b71Sopenharmony_ci ```ts 4008e41f4b71Sopenharmony_ci import testNapi from 'libentry.so'; 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_ci let type = new util.types(); 4011e41f4b71Sopenharmony_ci const data = testNapi.testexternal(); 4012e41f4b71Sopenharmony_ci let result = type.isExternal(data); 4013e41f4b71Sopenharmony_ci 4014e41f4b71Sopenharmony_ci let result01 = type.isExternal(true); 4015e41f4b71Sopenharmony_ci console.info("result = " + result); 4016e41f4b71Sopenharmony_ci console.info("result01 = " + result01); 4017e41f4b71Sopenharmony_ci // Output: result = true 4018e41f4b71Sopenharmony_ci // Output: result01 = false 4019e41f4b71Sopenharmony_ci ``` 4020e41f4b71Sopenharmony_ci 4021e41f4b71Sopenharmony_ci 4022e41f4b71Sopenharmony_ci### isFloat32Array<sup>8+</sup> 4023e41f4b71Sopenharmony_ci 4024e41f4b71Sopenharmony_ciisFloat32Array(value: Object): boolean 4025e41f4b71Sopenharmony_ci 4026e41f4b71Sopenharmony_ciChecks whether the input value is of the Float32Array type. 4027e41f4b71Sopenharmony_ci 4028e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4029e41f4b71Sopenharmony_ci 4030e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4031e41f4b71Sopenharmony_ci 4032e41f4b71Sopenharmony_ci**Parameters** 4033e41f4b71Sopenharmony_ci 4034e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4035e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4036e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4037e41f4b71Sopenharmony_ci 4038e41f4b71Sopenharmony_ci**Return value** 4039e41f4b71Sopenharmony_ci 4040e41f4b71Sopenharmony_ci| Type| Description| 4041e41f4b71Sopenharmony_ci| -------- | -------- | 4042e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Float32Array type; returns **false** otherwise.| 4043e41f4b71Sopenharmony_ci 4044e41f4b71Sopenharmony_ci**Example** 4045e41f4b71Sopenharmony_ci 4046e41f4b71Sopenharmony_ci ```ts 4047e41f4b71Sopenharmony_ci let type = new util.types(); 4048e41f4b71Sopenharmony_ci let result = type.isFloat32Array(new Float32Array()); 4049e41f4b71Sopenharmony_ci console.info("result = " + result); 4050e41f4b71Sopenharmony_ci // Output: result = true 4051e41f4b71Sopenharmony_ci ``` 4052e41f4b71Sopenharmony_ci 4053e41f4b71Sopenharmony_ci 4054e41f4b71Sopenharmony_ci### isFloat64Array<sup>8+</sup> 4055e41f4b71Sopenharmony_ci 4056e41f4b71Sopenharmony_ciisFloat64Array(value: Object): boolean 4057e41f4b71Sopenharmony_ci 4058e41f4b71Sopenharmony_ciChecks whether the input value is of the Float64Array type. 4059e41f4b71Sopenharmony_ci 4060e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4061e41f4b71Sopenharmony_ci 4062e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4063e41f4b71Sopenharmony_ci 4064e41f4b71Sopenharmony_ci**Parameters** 4065e41f4b71Sopenharmony_ci 4066e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4067e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4068e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4069e41f4b71Sopenharmony_ci 4070e41f4b71Sopenharmony_ci**Return value** 4071e41f4b71Sopenharmony_ci 4072e41f4b71Sopenharmony_ci| Type| Description| 4073e41f4b71Sopenharmony_ci| -------- | -------- | 4074e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Float64Array type; returns **false** otherwise.| 4075e41f4b71Sopenharmony_ci 4076e41f4b71Sopenharmony_ci**Example** 4077e41f4b71Sopenharmony_ci 4078e41f4b71Sopenharmony_ci ```ts 4079e41f4b71Sopenharmony_ci let type = new util.types(); 4080e41f4b71Sopenharmony_ci let result = type.isFloat64Array(new Float64Array()); 4081e41f4b71Sopenharmony_ci console.info("result = " + result); 4082e41f4b71Sopenharmony_ci // Output: result = true 4083e41f4b71Sopenharmony_ci ``` 4084e41f4b71Sopenharmony_ci 4085e41f4b71Sopenharmony_ci 4086e41f4b71Sopenharmony_ci### isGeneratorFunction<sup>8+</sup> 4087e41f4b71Sopenharmony_ci 4088e41f4b71Sopenharmony_ciisGeneratorFunction(value: Object): boolean 4089e41f4b71Sopenharmony_ci 4090e41f4b71Sopenharmony_ciChecks whether the input value is a generator function. 4091e41f4b71Sopenharmony_ci 4092e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4093e41f4b71Sopenharmony_ci 4094e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4095e41f4b71Sopenharmony_ci 4096e41f4b71Sopenharmony_ci**Parameters** 4097e41f4b71Sopenharmony_ci 4098e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4099e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4100e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4101e41f4b71Sopenharmony_ci 4102e41f4b71Sopenharmony_ci**Return value** 4103e41f4b71Sopenharmony_ci 4104e41f4b71Sopenharmony_ci| Type| Description| 4105e41f4b71Sopenharmony_ci| -------- | -------- | 4106e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a generator function; returns **false** otherwise.| 4107e41f4b71Sopenharmony_ci 4108e41f4b71Sopenharmony_ci**Example** 4109e41f4b71Sopenharmony_ci 4110e41f4b71Sopenharmony_ci ```ts 4111e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4112e41f4b71Sopenharmony_ci export function* foo() {} 4113e41f4b71Sopenharmony_ci ``` 4114e41f4b71Sopenharmony_ci 4115e41f4b71Sopenharmony_ci ```ts 4116e41f4b71Sopenharmony_ci import { foo } from './test' 4117e41f4b71Sopenharmony_ci 4118e41f4b71Sopenharmony_ci let type = new util.types(); 4119e41f4b71Sopenharmony_ci let result = type.isGeneratorFunction(foo); 4120e41f4b71Sopenharmony_ci console.info("result = " + result); 4121e41f4b71Sopenharmony_ci // Output: result = true 4122e41f4b71Sopenharmony_ci ``` 4123e41f4b71Sopenharmony_ci 4124e41f4b71Sopenharmony_ci 4125e41f4b71Sopenharmony_ci### isGeneratorObject<sup>8+</sup> 4126e41f4b71Sopenharmony_ci 4127e41f4b71Sopenharmony_ciisGeneratorObject(value: Object): boolean 4128e41f4b71Sopenharmony_ci 4129e41f4b71Sopenharmony_ciChecks whether the input value is a generator object. 4130e41f4b71Sopenharmony_ci 4131e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4132e41f4b71Sopenharmony_ci 4133e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4134e41f4b71Sopenharmony_ci 4135e41f4b71Sopenharmony_ci**Parameters** 4136e41f4b71Sopenharmony_ci 4137e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4138e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4139e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4140e41f4b71Sopenharmony_ci 4141e41f4b71Sopenharmony_ci**Return value** 4142e41f4b71Sopenharmony_ci 4143e41f4b71Sopenharmony_ci| Type| Description| 4144e41f4b71Sopenharmony_ci| -------- | -------- | 4145e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a generator object; returns **false** otherwise.| 4146e41f4b71Sopenharmony_ci 4147e41f4b71Sopenharmony_ci**Example** 4148e41f4b71Sopenharmony_ci 4149e41f4b71Sopenharmony_ci ```ts 4150e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4151e41f4b71Sopenharmony_ci function* foo() {} 4152e41f4b71Sopenharmony_ci export const generator = foo(); 4153e41f4b71Sopenharmony_ci ``` 4154e41f4b71Sopenharmony_ci 4155e41f4b71Sopenharmony_ci ```ts 4156e41f4b71Sopenharmony_ci import { generator } from './test' 4157e41f4b71Sopenharmony_ci 4158e41f4b71Sopenharmony_ci let type = new util.types(); 4159e41f4b71Sopenharmony_ci let result = type.isGeneratorObject(generator); 4160e41f4b71Sopenharmony_ci console.info("result = " + result); 4161e41f4b71Sopenharmony_ci // Output: result = true 4162e41f4b71Sopenharmony_ci ``` 4163e41f4b71Sopenharmony_ci 4164e41f4b71Sopenharmony_ci 4165e41f4b71Sopenharmony_ci### isInt8Array<sup>8+</sup> 4166e41f4b71Sopenharmony_ci 4167e41f4b71Sopenharmony_ciisInt8Array(value: Object): boolean 4168e41f4b71Sopenharmony_ci 4169e41f4b71Sopenharmony_ciChecks whether the input value is of the Int8Array type. 4170e41f4b71Sopenharmony_ci 4171e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4172e41f4b71Sopenharmony_ci 4173e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4174e41f4b71Sopenharmony_ci 4175e41f4b71Sopenharmony_ci**Parameters** 4176e41f4b71Sopenharmony_ci 4177e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4178e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4179e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4180e41f4b71Sopenharmony_ci 4181e41f4b71Sopenharmony_ci**Return value** 4182e41f4b71Sopenharmony_ci 4183e41f4b71Sopenharmony_ci| Type| Description| 4184e41f4b71Sopenharmony_ci| -------- | -------- | 4185e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Int8Array type; returns **false** otherwise.| 4186e41f4b71Sopenharmony_ci 4187e41f4b71Sopenharmony_ci**Example** 4188e41f4b71Sopenharmony_ci 4189e41f4b71Sopenharmony_ci ```ts 4190e41f4b71Sopenharmony_ci let type = new util.types(); 4191e41f4b71Sopenharmony_ci let result = type.isInt8Array(new Int8Array([])); 4192e41f4b71Sopenharmony_ci console.info("result = " + result); 4193e41f4b71Sopenharmony_ci // Output: result = true 4194e41f4b71Sopenharmony_ci ``` 4195e41f4b71Sopenharmony_ci 4196e41f4b71Sopenharmony_ci 4197e41f4b71Sopenharmony_ci### isInt16Array<sup>8+</sup> 4198e41f4b71Sopenharmony_ci 4199e41f4b71Sopenharmony_ciisInt16Array(value: Object): boolean 4200e41f4b71Sopenharmony_ci 4201e41f4b71Sopenharmony_ciChecks whether the input value is of the Int16Array type. 4202e41f4b71Sopenharmony_ci 4203e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4204e41f4b71Sopenharmony_ci 4205e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4206e41f4b71Sopenharmony_ci 4207e41f4b71Sopenharmony_ci**Parameters** 4208e41f4b71Sopenharmony_ci 4209e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4210e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4211e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4212e41f4b71Sopenharmony_ci 4213e41f4b71Sopenharmony_ci**Return value** 4214e41f4b71Sopenharmony_ci 4215e41f4b71Sopenharmony_ci| Type| Description| 4216e41f4b71Sopenharmony_ci| -------- | -------- | 4217e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Int16Array type; returns **false** otherwise.| 4218e41f4b71Sopenharmony_ci 4219e41f4b71Sopenharmony_ci**Example** 4220e41f4b71Sopenharmony_ci 4221e41f4b71Sopenharmony_ci ```ts 4222e41f4b71Sopenharmony_ci let type = new util.types(); 4223e41f4b71Sopenharmony_ci let result = type.isInt16Array(new Int16Array([])); 4224e41f4b71Sopenharmony_ci console.info("result = " + result); 4225e41f4b71Sopenharmony_ci // Output: result = true 4226e41f4b71Sopenharmony_ci ``` 4227e41f4b71Sopenharmony_ci 4228e41f4b71Sopenharmony_ci 4229e41f4b71Sopenharmony_ci### isInt32Array<sup>8+</sup> 4230e41f4b71Sopenharmony_ci 4231e41f4b71Sopenharmony_ciisInt32Array(value: Object): boolean 4232e41f4b71Sopenharmony_ci 4233e41f4b71Sopenharmony_ciChecks whether the input value is of the Int32Array type. 4234e41f4b71Sopenharmony_ci 4235e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4236e41f4b71Sopenharmony_ci 4237e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4238e41f4b71Sopenharmony_ci 4239e41f4b71Sopenharmony_ci**Parameters** 4240e41f4b71Sopenharmony_ci 4241e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4242e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4243e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4244e41f4b71Sopenharmony_ci 4245e41f4b71Sopenharmony_ci**Return value** 4246e41f4b71Sopenharmony_ci 4247e41f4b71Sopenharmony_ci| Type| Description| 4248e41f4b71Sopenharmony_ci| -------- | -------- | 4249e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Int32Array type; returns **false** otherwise.| 4250e41f4b71Sopenharmony_ci 4251e41f4b71Sopenharmony_ci**Example** 4252e41f4b71Sopenharmony_ci 4253e41f4b71Sopenharmony_ci ```ts 4254e41f4b71Sopenharmony_ci let type = new util.types(); 4255e41f4b71Sopenharmony_ci let result = type.isInt32Array(new Int32Array([])); 4256e41f4b71Sopenharmony_ci console.info("result = " + result); 4257e41f4b71Sopenharmony_ci // Output: result = true 4258e41f4b71Sopenharmony_ci ``` 4259e41f4b71Sopenharmony_ci 4260e41f4b71Sopenharmony_ci 4261e41f4b71Sopenharmony_ci### isMap<sup>8+</sup> 4262e41f4b71Sopenharmony_ci 4263e41f4b71Sopenharmony_ciisMap(value: Object): boolean 4264e41f4b71Sopenharmony_ci 4265e41f4b71Sopenharmony_ciChecks whether the input value is of the Map type. 4266e41f4b71Sopenharmony_ci 4267e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4268e41f4b71Sopenharmony_ci 4269e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4270e41f4b71Sopenharmony_ci 4271e41f4b71Sopenharmony_ci**Parameters** 4272e41f4b71Sopenharmony_ci 4273e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4274e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4275e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4276e41f4b71Sopenharmony_ci 4277e41f4b71Sopenharmony_ci**Return value** 4278e41f4b71Sopenharmony_ci 4279e41f4b71Sopenharmony_ci| Type| Description| 4280e41f4b71Sopenharmony_ci| -------- | -------- | 4281e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Map type; returns **false** otherwise.| 4282e41f4b71Sopenharmony_ci 4283e41f4b71Sopenharmony_ci**Example** 4284e41f4b71Sopenharmony_ci 4285e41f4b71Sopenharmony_ci ```ts 4286e41f4b71Sopenharmony_ci let type = new util.types(); 4287e41f4b71Sopenharmony_ci let result = type.isMap(new Map()); 4288e41f4b71Sopenharmony_ci console.info("result = " + result); 4289e41f4b71Sopenharmony_ci // Output: result = true 4290e41f4b71Sopenharmony_ci ``` 4291e41f4b71Sopenharmony_ci 4292e41f4b71Sopenharmony_ci 4293e41f4b71Sopenharmony_ci### isMapIterator<sup>8+</sup> 4294e41f4b71Sopenharmony_ci 4295e41f4b71Sopenharmony_ciisMapIterator(value: Object): boolean 4296e41f4b71Sopenharmony_ci 4297e41f4b71Sopenharmony_ciChecks whether the input value is of the MapIterator type. 4298e41f4b71Sopenharmony_ci 4299e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4300e41f4b71Sopenharmony_ci 4301e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4302e41f4b71Sopenharmony_ci 4303e41f4b71Sopenharmony_ci**Parameters** 4304e41f4b71Sopenharmony_ci 4305e41f4b71Sopenharmony_ci 4306e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4307e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4308e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4309e41f4b71Sopenharmony_ci 4310e41f4b71Sopenharmony_ci**Return value** 4311e41f4b71Sopenharmony_ci 4312e41f4b71Sopenharmony_ci| Type| Description| 4313e41f4b71Sopenharmony_ci| -------- | -------- | 4314e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the MapIterator type; returns **false** otherwise.| 4315e41f4b71Sopenharmony_ci 4316e41f4b71Sopenharmony_ci**Example** 4317e41f4b71Sopenharmony_ci 4318e41f4b71Sopenharmony_ci ```ts 4319e41f4b71Sopenharmony_ci let type = new util.types(); 4320e41f4b71Sopenharmony_ci const map : Map<number,number> = new Map(); 4321e41f4b71Sopenharmony_ci let result = type.isMapIterator(map.keys()); 4322e41f4b71Sopenharmony_ci console.info("result = " + result); 4323e41f4b71Sopenharmony_ci // Output: result = true 4324e41f4b71Sopenharmony_ci ``` 4325e41f4b71Sopenharmony_ci 4326e41f4b71Sopenharmony_ci 4327e41f4b71Sopenharmony_ci### isNativeError<sup>8+</sup> 4328e41f4b71Sopenharmony_ci 4329e41f4b71Sopenharmony_ciisNativeError(value: Object): boolean 4330e41f4b71Sopenharmony_ci 4331e41f4b71Sopenharmony_ciChecks whether the input value is of the Error type. 4332e41f4b71Sopenharmony_ci 4333e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4334e41f4b71Sopenharmony_ci 4335e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4336e41f4b71Sopenharmony_ci 4337e41f4b71Sopenharmony_ci**Parameters** 4338e41f4b71Sopenharmony_ci 4339e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4340e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4341e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4342e41f4b71Sopenharmony_ci 4343e41f4b71Sopenharmony_ci**Return value** 4344e41f4b71Sopenharmony_ci 4345e41f4b71Sopenharmony_ci| Type| Description| 4346e41f4b71Sopenharmony_ci| -------- | -------- | 4347e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Error type; returns **false** otherwise.| 4348e41f4b71Sopenharmony_ci 4349e41f4b71Sopenharmony_ci**Example** 4350e41f4b71Sopenharmony_ci 4351e41f4b71Sopenharmony_ci ```ts 4352e41f4b71Sopenharmony_ci let type = new util.types(); 4353e41f4b71Sopenharmony_ci let result = type.isNativeError(new TypeError()); 4354e41f4b71Sopenharmony_ci console.info("result = " + result); 4355e41f4b71Sopenharmony_ci // Output: result = true 4356e41f4b71Sopenharmony_ci ``` 4357e41f4b71Sopenharmony_ci 4358e41f4b71Sopenharmony_ci 4359e41f4b71Sopenharmony_ci### isNumberObject<sup>8+</sup> 4360e41f4b71Sopenharmony_ci 4361e41f4b71Sopenharmony_ciisNumberObject(value: Object): boolean 4362e41f4b71Sopenharmony_ci 4363e41f4b71Sopenharmony_ciChecks whether the input value is a number object. 4364e41f4b71Sopenharmony_ci 4365e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4366e41f4b71Sopenharmony_ci 4367e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4368e41f4b71Sopenharmony_ci 4369e41f4b71Sopenharmony_ci**Parameters** 4370e41f4b71Sopenharmony_ci 4371e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4372e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4373e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4374e41f4b71Sopenharmony_ci 4375e41f4b71Sopenharmony_ci**Return value** 4376e41f4b71Sopenharmony_ci 4377e41f4b71Sopenharmony_ci| Type| Description| 4378e41f4b71Sopenharmony_ci| -------- | -------- | 4379e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a number object; returns **false** otherwise.| 4380e41f4b71Sopenharmony_ci 4381e41f4b71Sopenharmony_ci**Example** 4382e41f4b71Sopenharmony_ci 4383e41f4b71Sopenharmony_ci ```ts 4384e41f4b71Sopenharmony_ci let type = new util.types(); 4385e41f4b71Sopenharmony_ci let result = type.isNumberObject(new Number(0)); 4386e41f4b71Sopenharmony_ci console.info("result = " + result); 4387e41f4b71Sopenharmony_ci // Output: result = true 4388e41f4b71Sopenharmony_ci ``` 4389e41f4b71Sopenharmony_ci 4390e41f4b71Sopenharmony_ci 4391e41f4b71Sopenharmony_ci### isPromise<sup>8+</sup> 4392e41f4b71Sopenharmony_ci 4393e41f4b71Sopenharmony_ciisPromise(value: Object): boolean 4394e41f4b71Sopenharmony_ci 4395e41f4b71Sopenharmony_ciChecks whether the input value is a promise. 4396e41f4b71Sopenharmony_ci 4397e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4398e41f4b71Sopenharmony_ci 4399e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4400e41f4b71Sopenharmony_ci 4401e41f4b71Sopenharmony_ci**Parameters** 4402e41f4b71Sopenharmony_ci 4403e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4404e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4405e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4406e41f4b71Sopenharmony_ci 4407e41f4b71Sopenharmony_ci**Return value** 4408e41f4b71Sopenharmony_ci 4409e41f4b71Sopenharmony_ci| Type| Description| 4410e41f4b71Sopenharmony_ci| -------- | -------- | 4411e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a promise; returns **false** otherwise.| 4412e41f4b71Sopenharmony_ci 4413e41f4b71Sopenharmony_ci**Example** 4414e41f4b71Sopenharmony_ci 4415e41f4b71Sopenharmony_ci ```ts 4416e41f4b71Sopenharmony_ci let type = new util.types(); 4417e41f4b71Sopenharmony_ci let result = type.isPromise(Promise.resolve(1)); 4418e41f4b71Sopenharmony_ci console.info("result = " + result); 4419e41f4b71Sopenharmony_ci // Output: result = true 4420e41f4b71Sopenharmony_ci ``` 4421e41f4b71Sopenharmony_ci 4422e41f4b71Sopenharmony_ci 4423e41f4b71Sopenharmony_ci### isProxy<sup>8+</sup> 4424e41f4b71Sopenharmony_ci 4425e41f4b71Sopenharmony_ciisProxy(value: Object): boolean 4426e41f4b71Sopenharmony_ci 4427e41f4b71Sopenharmony_ciChecks whether the input value is a proxy. 4428e41f4b71Sopenharmony_ci 4429e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4430e41f4b71Sopenharmony_ci 4431e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4432e41f4b71Sopenharmony_ci 4433e41f4b71Sopenharmony_ci**Parameters** 4434e41f4b71Sopenharmony_ci 4435e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4436e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4437e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4438e41f4b71Sopenharmony_ci 4439e41f4b71Sopenharmony_ci**Return value** 4440e41f4b71Sopenharmony_ci 4441e41f4b71Sopenharmony_ci| Type| Description| 4442e41f4b71Sopenharmony_ci| -------- | -------- | 4443e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a proxy; returns **false** otherwise.| 4444e41f4b71Sopenharmony_ci 4445e41f4b71Sopenharmony_ci**Example** 4446e41f4b71Sopenharmony_ci 4447e41f4b71Sopenharmony_ci ```ts 4448e41f4b71Sopenharmony_ci class Target{ 4449e41f4b71Sopenharmony_ci } 4450e41f4b71Sopenharmony_ci let type = new util.types(); 4451e41f4b71Sopenharmony_ci const target : Target = {}; 4452e41f4b71Sopenharmony_ci const proxy = new Proxy(target, target); 4453e41f4b71Sopenharmony_ci let result = type.isProxy(proxy); 4454e41f4b71Sopenharmony_ci console.info("result = " + result); 4455e41f4b71Sopenharmony_ci // Output: result = true 4456e41f4b71Sopenharmony_ci ``` 4457e41f4b71Sopenharmony_ci 4458e41f4b71Sopenharmony_ci 4459e41f4b71Sopenharmony_ci### isRegExp<sup>8+</sup> 4460e41f4b71Sopenharmony_ci 4461e41f4b71Sopenharmony_ciisRegExp(value: Object): boolean 4462e41f4b71Sopenharmony_ci 4463e41f4b71Sopenharmony_ciChecks whether the input value is of the RegExp type. 4464e41f4b71Sopenharmony_ci 4465e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4466e41f4b71Sopenharmony_ci 4467e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4468e41f4b71Sopenharmony_ci 4469e41f4b71Sopenharmony_ci**Parameters** 4470e41f4b71Sopenharmony_ci 4471e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4472e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4473e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4474e41f4b71Sopenharmony_ci 4475e41f4b71Sopenharmony_ci**Return value** 4476e41f4b71Sopenharmony_ci 4477e41f4b71Sopenharmony_ci| Type| Description| 4478e41f4b71Sopenharmony_ci| -------- | -------- | 4479e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the RegExp type; returns **false** otherwise.| 4480e41f4b71Sopenharmony_ci 4481e41f4b71Sopenharmony_ci**Example** 4482e41f4b71Sopenharmony_ci 4483e41f4b71Sopenharmony_ci ```ts 4484e41f4b71Sopenharmony_ci let type = new util.types(); 4485e41f4b71Sopenharmony_ci let result = type.isRegExp(new RegExp('abc')); 4486e41f4b71Sopenharmony_ci console.info("result = " + result); 4487e41f4b71Sopenharmony_ci // Output: result = true 4488e41f4b71Sopenharmony_ci ``` 4489e41f4b71Sopenharmony_ci 4490e41f4b71Sopenharmony_ci 4491e41f4b71Sopenharmony_ci### isSet<sup>8+</sup> 4492e41f4b71Sopenharmony_ci 4493e41f4b71Sopenharmony_ciisSet(value: Object): boolean 4494e41f4b71Sopenharmony_ci 4495e41f4b71Sopenharmony_ciChecks whether the input value is of the Set type. 4496e41f4b71Sopenharmony_ci 4497e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4498e41f4b71Sopenharmony_ci 4499e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4500e41f4b71Sopenharmony_ci 4501e41f4b71Sopenharmony_ci**Parameters** 4502e41f4b71Sopenharmony_ci 4503e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4504e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4505e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4506e41f4b71Sopenharmony_ci 4507e41f4b71Sopenharmony_ci**Return value** 4508e41f4b71Sopenharmony_ci 4509e41f4b71Sopenharmony_ci| Type| Description| 4510e41f4b71Sopenharmony_ci| -------- | -------- | 4511e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Set type; returns **false** otherwise.| 4512e41f4b71Sopenharmony_ci 4513e41f4b71Sopenharmony_ci**Example** 4514e41f4b71Sopenharmony_ci 4515e41f4b71Sopenharmony_ci ```ts 4516e41f4b71Sopenharmony_ci let type = new util.types(); 4517e41f4b71Sopenharmony_ci let set : Set<number> = new Set(); 4518e41f4b71Sopenharmony_ci let result = type.isSet(set); 4519e41f4b71Sopenharmony_ci console.info("result = " + result); 4520e41f4b71Sopenharmony_ci // Output: result = true 4521e41f4b71Sopenharmony_ci ``` 4522e41f4b71Sopenharmony_ci 4523e41f4b71Sopenharmony_ci 4524e41f4b71Sopenharmony_ci### isSetIterator<sup>8+</sup> 4525e41f4b71Sopenharmony_ci 4526e41f4b71Sopenharmony_ciisSetIterator(value: Object): boolean 4527e41f4b71Sopenharmony_ci 4528e41f4b71Sopenharmony_ciChecks whether the input value is of the SetIterator type. 4529e41f4b71Sopenharmony_ci 4530e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4531e41f4b71Sopenharmony_ci 4532e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4533e41f4b71Sopenharmony_ci 4534e41f4b71Sopenharmony_ci**Parameters** 4535e41f4b71Sopenharmony_ci 4536e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4537e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4538e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4539e41f4b71Sopenharmony_ci 4540e41f4b71Sopenharmony_ci**Return value** 4541e41f4b71Sopenharmony_ci 4542e41f4b71Sopenharmony_ci| Type| Description| 4543e41f4b71Sopenharmony_ci| -------- | -------- | 4544e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the SetIterator type; returns **false** otherwise.| 4545e41f4b71Sopenharmony_ci 4546e41f4b71Sopenharmony_ci**Example** 4547e41f4b71Sopenharmony_ci 4548e41f4b71Sopenharmony_ci ```ts 4549e41f4b71Sopenharmony_ci let type = new util.types(); 4550e41f4b71Sopenharmony_ci const set : Set<number> = new Set(); 4551e41f4b71Sopenharmony_ci let result = type.isSetIterator(set.keys()); 4552e41f4b71Sopenharmony_ci console.info("result = " + result); 4553e41f4b71Sopenharmony_ci // Output: result = true 4554e41f4b71Sopenharmony_ci ``` 4555e41f4b71Sopenharmony_ci 4556e41f4b71Sopenharmony_ci 4557e41f4b71Sopenharmony_ci### isStringObject<sup>8+</sup> 4558e41f4b71Sopenharmony_ci 4559e41f4b71Sopenharmony_ciisStringObject(value: Object): boolean 4560e41f4b71Sopenharmony_ci 4561e41f4b71Sopenharmony_ciChecks whether the input value is a string object. 4562e41f4b71Sopenharmony_ci 4563e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4564e41f4b71Sopenharmony_ci 4565e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4566e41f4b71Sopenharmony_ci 4567e41f4b71Sopenharmony_ci**Parameters** 4568e41f4b71Sopenharmony_ci 4569e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4570e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4571e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4572e41f4b71Sopenharmony_ci 4573e41f4b71Sopenharmony_ci**Return value** 4574e41f4b71Sopenharmony_ci 4575e41f4b71Sopenharmony_ci| Type| Description| 4576e41f4b71Sopenharmony_ci| -------- | -------- | 4577e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a string object; returns **false** otherwise.| 4578e41f4b71Sopenharmony_ci 4579e41f4b71Sopenharmony_ci**Example** 4580e41f4b71Sopenharmony_ci 4581e41f4b71Sopenharmony_ci ```ts 4582e41f4b71Sopenharmony_ci let type = new util.types(); 4583e41f4b71Sopenharmony_ci let result = type.isStringObject(new String('foo')); 4584e41f4b71Sopenharmony_ci console.info("result = " + result); 4585e41f4b71Sopenharmony_ci // Output: result = true 4586e41f4b71Sopenharmony_ci ``` 4587e41f4b71Sopenharmony_ci 4588e41f4b71Sopenharmony_ci 4589e41f4b71Sopenharmony_ci### isSymbolObject<sup>8+</sup> 4590e41f4b71Sopenharmony_ci 4591e41f4b71Sopenharmony_ciisSymbolObject(value: Object): boolean 4592e41f4b71Sopenharmony_ci 4593e41f4b71Sopenharmony_ciChecks whether the input value is a symbol object. 4594e41f4b71Sopenharmony_ci 4595e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4596e41f4b71Sopenharmony_ci 4597e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4598e41f4b71Sopenharmony_ci 4599e41f4b71Sopenharmony_ci**Parameters** 4600e41f4b71Sopenharmony_ci 4601e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4602e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4603e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4604e41f4b71Sopenharmony_ci 4605e41f4b71Sopenharmony_ci**Return value** 4606e41f4b71Sopenharmony_ci 4607e41f4b71Sopenharmony_ci| Type| Description| 4608e41f4b71Sopenharmony_ci| -------- | -------- | 4609e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a symbol object; returns **false** otherwise.| 4610e41f4b71Sopenharmony_ci 4611e41f4b71Sopenharmony_ci**Example** 4612e41f4b71Sopenharmony_ci 4613e41f4b71Sopenharmony_ci ```ts 4614e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4615e41f4b71Sopenharmony_ci export const symbols = Symbol('foo'); 4616e41f4b71Sopenharmony_ci ``` 4617e41f4b71Sopenharmony_ci 4618e41f4b71Sopenharmony_ci ```ts 4619e41f4b71Sopenharmony_ci import { symbols } from './test' 4620e41f4b71Sopenharmony_ci 4621e41f4b71Sopenharmony_ci let type = new util.types(); 4622e41f4b71Sopenharmony_ci let result = type.isSymbolObject(Object(symbols)); 4623e41f4b71Sopenharmony_ci console.info("result = " + result); 4624e41f4b71Sopenharmony_ci // Output: result = true 4625e41f4b71Sopenharmony_ci ``` 4626e41f4b71Sopenharmony_ci 4627e41f4b71Sopenharmony_ci 4628e41f4b71Sopenharmony_ci### isTypedArray<sup>8+</sup> 4629e41f4b71Sopenharmony_ci 4630e41f4b71Sopenharmony_ciisTypedArray(value: Object): boolean 4631e41f4b71Sopenharmony_ci 4632e41f4b71Sopenharmony_ciChecks whether the input value is of the TypedArray type. 4633e41f4b71Sopenharmony_ci 4634e41f4b71Sopenharmony_ci**TypedArray** is a helper type representing any of the following: Int8Array, Int16Array, Int32Array, Uint8Array, Uint8ClampedArray, Uint16Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, and BigUint64Array. 4635e41f4b71Sopenharmony_ci 4636e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4637e41f4b71Sopenharmony_ci 4638e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4639e41f4b71Sopenharmony_ci 4640e41f4b71Sopenharmony_ci**Parameters** 4641e41f4b71Sopenharmony_ci 4642e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4643e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4644e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4645e41f4b71Sopenharmony_ci 4646e41f4b71Sopenharmony_ci**Return value** 4647e41f4b71Sopenharmony_ci 4648e41f4b71Sopenharmony_ci| Type| Description| 4649e41f4b71Sopenharmony_ci| -------- | -------- | 4650e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the TypedArray type; returns **false** otherwise.| 4651e41f4b71Sopenharmony_ci 4652e41f4b71Sopenharmony_ci**Example** 4653e41f4b71Sopenharmony_ci 4654e41f4b71Sopenharmony_ci ```ts 4655e41f4b71Sopenharmony_ci let type = new util.types(); 4656e41f4b71Sopenharmony_ci let result = type.isTypedArray(new Float64Array([])); 4657e41f4b71Sopenharmony_ci console.info("result = " + result); 4658e41f4b71Sopenharmony_ci // Output: result = true 4659e41f4b71Sopenharmony_ci ``` 4660e41f4b71Sopenharmony_ci 4661e41f4b71Sopenharmony_ci 4662e41f4b71Sopenharmony_ci### isUint8Array<sup>8+</sup> 4663e41f4b71Sopenharmony_ci 4664e41f4b71Sopenharmony_ciisUint8Array(value: Object): boolean 4665e41f4b71Sopenharmony_ci 4666e41f4b71Sopenharmony_ciChecks whether the input value is of the Uint8Array type. 4667e41f4b71Sopenharmony_ci 4668e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4669e41f4b71Sopenharmony_ci 4670e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4671e41f4b71Sopenharmony_ci 4672e41f4b71Sopenharmony_ci**Parameters** 4673e41f4b71Sopenharmony_ci 4674e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4675e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4676e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4677e41f4b71Sopenharmony_ci 4678e41f4b71Sopenharmony_ci**Return value** 4679e41f4b71Sopenharmony_ci 4680e41f4b71Sopenharmony_ci| Type| Description| 4681e41f4b71Sopenharmony_ci| -------- | -------- | 4682e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Uint8Array type; returns **false** otherwise.| 4683e41f4b71Sopenharmony_ci 4684e41f4b71Sopenharmony_ci**Example** 4685e41f4b71Sopenharmony_ci 4686e41f4b71Sopenharmony_ci ```ts 4687e41f4b71Sopenharmony_ci let type = new util.types(); 4688e41f4b71Sopenharmony_ci let result = type.isUint8Array(new Uint8Array([])); 4689e41f4b71Sopenharmony_ci console.info("result = " + result); 4690e41f4b71Sopenharmony_ci // Output: result = true 4691e41f4b71Sopenharmony_ci ``` 4692e41f4b71Sopenharmony_ci 4693e41f4b71Sopenharmony_ci 4694e41f4b71Sopenharmony_ci### isUint8ClampedArray<sup>8+</sup> 4695e41f4b71Sopenharmony_ci 4696e41f4b71Sopenharmony_ciisUint8ClampedArray(value: Object): boolean 4697e41f4b71Sopenharmony_ci 4698e41f4b71Sopenharmony_ciChecks whether the input value is of the Uint8ClampedArray type. 4699e41f4b71Sopenharmony_ci 4700e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4701e41f4b71Sopenharmony_ci 4702e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4703e41f4b71Sopenharmony_ci 4704e41f4b71Sopenharmony_ci**Parameters** 4705e41f4b71Sopenharmony_ci 4706e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4707e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4708e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4709e41f4b71Sopenharmony_ci 4710e41f4b71Sopenharmony_ci**Return value** 4711e41f4b71Sopenharmony_ci 4712e41f4b71Sopenharmony_ci| Type| Description| 4713e41f4b71Sopenharmony_ci| -------- | -------- | 4714e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Uint8ClampedArray type; returns **false** otherwise.| 4715e41f4b71Sopenharmony_ci 4716e41f4b71Sopenharmony_ci**Example** 4717e41f4b71Sopenharmony_ci 4718e41f4b71Sopenharmony_ci ```ts 4719e41f4b71Sopenharmony_ci let type = new util.types(); 4720e41f4b71Sopenharmony_ci let result = type.isUint8ClampedArray(new Uint8ClampedArray([])); 4721e41f4b71Sopenharmony_ci console.info("result = " + result); 4722e41f4b71Sopenharmony_ci // Output: result = true 4723e41f4b71Sopenharmony_ci ``` 4724e41f4b71Sopenharmony_ci 4725e41f4b71Sopenharmony_ci 4726e41f4b71Sopenharmony_ci### isUint16Array<sup>8+</sup> 4727e41f4b71Sopenharmony_ci 4728e41f4b71Sopenharmony_ciisUint16Array(value: Object): boolean 4729e41f4b71Sopenharmony_ci 4730e41f4b71Sopenharmony_ciChecks whether the input value is of the Uint16Array type. 4731e41f4b71Sopenharmony_ci 4732e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4733e41f4b71Sopenharmony_ci 4734e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4735e41f4b71Sopenharmony_ci 4736e41f4b71Sopenharmony_ci**Parameters** 4737e41f4b71Sopenharmony_ci 4738e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4739e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4740e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4741e41f4b71Sopenharmony_ci 4742e41f4b71Sopenharmony_ci**Return value** 4743e41f4b71Sopenharmony_ci 4744e41f4b71Sopenharmony_ci| Type| Description| 4745e41f4b71Sopenharmony_ci| -------- | -------- | 4746e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Uint16Array type; returns **false** otherwise.| 4747e41f4b71Sopenharmony_ci 4748e41f4b71Sopenharmony_ci**Example** 4749e41f4b71Sopenharmony_ci 4750e41f4b71Sopenharmony_ci ```ts 4751e41f4b71Sopenharmony_ci let type = new util.types(); 4752e41f4b71Sopenharmony_ci let result = type.isUint16Array(new Uint16Array([])); 4753e41f4b71Sopenharmony_ci console.info("result = " + result); 4754e41f4b71Sopenharmony_ci // Output: result = true 4755e41f4b71Sopenharmony_ci ``` 4756e41f4b71Sopenharmony_ci 4757e41f4b71Sopenharmony_ci 4758e41f4b71Sopenharmony_ci### isUint32Array<sup>8+</sup> 4759e41f4b71Sopenharmony_ci 4760e41f4b71Sopenharmony_ciisUint32Array(value: Object): boolean 4761e41f4b71Sopenharmony_ci 4762e41f4b71Sopenharmony_ciChecks whether the input value is of the Uint32Array type. 4763e41f4b71Sopenharmony_ci 4764e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4765e41f4b71Sopenharmony_ci 4766e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4767e41f4b71Sopenharmony_ci 4768e41f4b71Sopenharmony_ci**Parameters** 4769e41f4b71Sopenharmony_ci 4770e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4771e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4772e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4773e41f4b71Sopenharmony_ci 4774e41f4b71Sopenharmony_ci**Return value** 4775e41f4b71Sopenharmony_ci 4776e41f4b71Sopenharmony_ci| Type| Description| 4777e41f4b71Sopenharmony_ci| -------- | -------- | 4778e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the Uint32Array type; returns **false** otherwise.| 4779e41f4b71Sopenharmony_ci 4780e41f4b71Sopenharmony_ci**Example** 4781e41f4b71Sopenharmony_ci 4782e41f4b71Sopenharmony_ci ```ts 4783e41f4b71Sopenharmony_ci let type = new util.types(); 4784e41f4b71Sopenharmony_ci let result = type.isUint32Array(new Uint32Array([])); 4785e41f4b71Sopenharmony_ci console.info("result = " + result); 4786e41f4b71Sopenharmony_ci // Output: result = true 4787e41f4b71Sopenharmony_ci ``` 4788e41f4b71Sopenharmony_ci 4789e41f4b71Sopenharmony_ci 4790e41f4b71Sopenharmony_ci### isWeakMap<sup>8+</sup> 4791e41f4b71Sopenharmony_ci 4792e41f4b71Sopenharmony_ciisWeakMap(value: Object): boolean 4793e41f4b71Sopenharmony_ci 4794e41f4b71Sopenharmony_ciChecks whether the input value is of the WeakMap type. 4795e41f4b71Sopenharmony_ci 4796e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4797e41f4b71Sopenharmony_ci 4798e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4799e41f4b71Sopenharmony_ci 4800e41f4b71Sopenharmony_ci**Parameters** 4801e41f4b71Sopenharmony_ci 4802e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4803e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4804e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4805e41f4b71Sopenharmony_ci 4806e41f4b71Sopenharmony_ci**Return value** 4807e41f4b71Sopenharmony_ci 4808e41f4b71Sopenharmony_ci| Type| Description| 4809e41f4b71Sopenharmony_ci| -------- | -------- | 4810e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the WeakMap type; returns **false** otherwise.| 4811e41f4b71Sopenharmony_ci 4812e41f4b71Sopenharmony_ci**Example** 4813e41f4b71Sopenharmony_ci 4814e41f4b71Sopenharmony_ci ```ts 4815e41f4b71Sopenharmony_ci let type = new util.types(); 4816e41f4b71Sopenharmony_ci let value : WeakMap<object, number> = new WeakMap(); 4817e41f4b71Sopenharmony_ci let result = type.isWeakMap(value); 4818e41f4b71Sopenharmony_ci console.info("result = " + result); 4819e41f4b71Sopenharmony_ci // Output: result = true 4820e41f4b71Sopenharmony_ci ``` 4821e41f4b71Sopenharmony_ci 4822e41f4b71Sopenharmony_ci 4823e41f4b71Sopenharmony_ci### isWeakSet<sup>8+</sup> 4824e41f4b71Sopenharmony_ci 4825e41f4b71Sopenharmony_ciisWeakSet(value: Object): boolean 4826e41f4b71Sopenharmony_ci 4827e41f4b71Sopenharmony_ciChecks whether the input value is of the WeakSet type. 4828e41f4b71Sopenharmony_ci 4829e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4830e41f4b71Sopenharmony_ci 4831e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4832e41f4b71Sopenharmony_ci 4833e41f4b71Sopenharmony_ci**Parameters** 4834e41f4b71Sopenharmony_ci 4835e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4836e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4837e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4838e41f4b71Sopenharmony_ci 4839e41f4b71Sopenharmony_ci**Return value** 4840e41f4b71Sopenharmony_ci 4841e41f4b71Sopenharmony_ci| Type| Description| 4842e41f4b71Sopenharmony_ci| -------- | -------- | 4843e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the WeakSet type; returns **false** otherwise.| 4844e41f4b71Sopenharmony_ci 4845e41f4b71Sopenharmony_ci**Example** 4846e41f4b71Sopenharmony_ci 4847e41f4b71Sopenharmony_ci ```ts 4848e41f4b71Sopenharmony_ci let type = new util.types(); 4849e41f4b71Sopenharmony_ci let result = type.isWeakSet(new WeakSet()); 4850e41f4b71Sopenharmony_ci console.info("result = " + result); 4851e41f4b71Sopenharmony_ci // Output: result = true 4852e41f4b71Sopenharmony_ci ``` 4853e41f4b71Sopenharmony_ci 4854e41f4b71Sopenharmony_ci 4855e41f4b71Sopenharmony_ci### isBigInt64Array<sup>8+</sup> 4856e41f4b71Sopenharmony_ci 4857e41f4b71Sopenharmony_ciisBigInt64Array(value: Object): boolean 4858e41f4b71Sopenharmony_ci 4859e41f4b71Sopenharmony_ciChecks whether the input value is of the BigInt64Array type. 4860e41f4b71Sopenharmony_ci 4861e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4862e41f4b71Sopenharmony_ci 4863e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4864e41f4b71Sopenharmony_ci 4865e41f4b71Sopenharmony_ci**Parameters** 4866e41f4b71Sopenharmony_ci 4867e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4868e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4869e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4870e41f4b71Sopenharmony_ci 4871e41f4b71Sopenharmony_ci**Return value** 4872e41f4b71Sopenharmony_ci 4873e41f4b71Sopenharmony_ci| Type| Description| 4874e41f4b71Sopenharmony_ci| -------- | -------- | 4875e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the BigInt64Array type; returns **false** otherwise.| 4876e41f4b71Sopenharmony_ci 4877e41f4b71Sopenharmony_ci**Example** 4878e41f4b71Sopenharmony_ci 4879e41f4b71Sopenharmony_ci ```ts 4880e41f4b71Sopenharmony_ci let type = new util.types(); 4881e41f4b71Sopenharmony_ci let result = type.isBigInt64Array(new BigInt64Array([])); 4882e41f4b71Sopenharmony_ci console.info("result = " + result); 4883e41f4b71Sopenharmony_ci // Output: result = true 4884e41f4b71Sopenharmony_ci ``` 4885e41f4b71Sopenharmony_ci 4886e41f4b71Sopenharmony_ci 4887e41f4b71Sopenharmony_ci### isBigUint64Array<sup>8+</sup> 4888e41f4b71Sopenharmony_ci 4889e41f4b71Sopenharmony_ciisBigUint64Array(value: Object): boolean 4890e41f4b71Sopenharmony_ci 4891e41f4b71Sopenharmony_ciChecks whether the input value is of the BigUint64Array type. 4892e41f4b71Sopenharmony_ci 4893e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4894e41f4b71Sopenharmony_ci 4895e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4896e41f4b71Sopenharmony_ci 4897e41f4b71Sopenharmony_ci**Parameters** 4898e41f4b71Sopenharmony_ci 4899e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4900e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4901e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4902e41f4b71Sopenharmony_ci 4903e41f4b71Sopenharmony_ci**Return value** 4904e41f4b71Sopenharmony_ci 4905e41f4b71Sopenharmony_ci| Type| Description| 4906e41f4b71Sopenharmony_ci| -------- | -------- | 4907e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the BigUint64Array type; returns **false** otherwise.| 4908e41f4b71Sopenharmony_ci 4909e41f4b71Sopenharmony_ci**Example** 4910e41f4b71Sopenharmony_ci 4911e41f4b71Sopenharmony_ci ```ts 4912e41f4b71Sopenharmony_ci let type = new util.types(); 4913e41f4b71Sopenharmony_ci let result = type.isBigUint64Array(new BigUint64Array([])); 4914e41f4b71Sopenharmony_ci console.info("result = " + result); 4915e41f4b71Sopenharmony_ci // Output: result = true 4916e41f4b71Sopenharmony_ci ``` 4917e41f4b71Sopenharmony_ci 4918e41f4b71Sopenharmony_ci 4919e41f4b71Sopenharmony_ci### isModuleNamespaceObject<sup>8+</sup> 4920e41f4b71Sopenharmony_ci 4921e41f4b71Sopenharmony_ciisModuleNamespaceObject(value: Object): boolean 4922e41f4b71Sopenharmony_ci 4923e41f4b71Sopenharmony_ciChecks whether the input value is a module namespace object. 4924e41f4b71Sopenharmony_ci 4925e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4926e41f4b71Sopenharmony_ci 4927e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4928e41f4b71Sopenharmony_ci 4929e41f4b71Sopenharmony_ci**Parameters** 4930e41f4b71Sopenharmony_ci 4931e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4932e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4933e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4934e41f4b71Sopenharmony_ci 4935e41f4b71Sopenharmony_ci**Return value** 4936e41f4b71Sopenharmony_ci 4937e41f4b71Sopenharmony_ci| Type| Description| 4938e41f4b71Sopenharmony_ci| -------- | -------- | 4939e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is a module namespace object; returns **false** otherwise.| 4940e41f4b71Sopenharmony_ci 4941e41f4b71Sopenharmony_ci**Example** 4942e41f4b71Sopenharmony_ci 4943e41f4b71Sopenharmony_ci ```ts 4944e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4945e41f4b71Sopenharmony_ci export function func() { 4946e41f4b71Sopenharmony_ci console.info("hello world"); 4947e41f4b71Sopenharmony_ci } 4948e41f4b71Sopenharmony_ci ``` 4949e41f4b71Sopenharmony_ci 4950e41f4b71Sopenharmony_ci ```ts 4951e41f4b71Sopenharmony_ci import * as nameSpace from './test'; 4952e41f4b71Sopenharmony_ci 4953e41f4b71Sopenharmony_ci let type = new util.types(); 4954e41f4b71Sopenharmony_ci let result = type.isModuleNamespaceObject(nameSpace); 4955e41f4b71Sopenharmony_ci console.info("result = " + result); 4956e41f4b71Sopenharmony_ci // Output: result = true 4957e41f4b71Sopenharmony_ci ``` 4958e41f4b71Sopenharmony_ci 4959e41f4b71Sopenharmony_ci 4960e41f4b71Sopenharmony_ci### isSharedArrayBuffer<sup>8+</sup> 4961e41f4b71Sopenharmony_ci 4962e41f4b71Sopenharmony_ciisSharedArrayBuffer(value: Object): boolean 4963e41f4b71Sopenharmony_ci 4964e41f4b71Sopenharmony_ciChecks whether the input value is of the SharedArrayBuffer type. 4965e41f4b71Sopenharmony_ci 4966e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 4967e41f4b71Sopenharmony_ci 4968e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 4969e41f4b71Sopenharmony_ci 4970e41f4b71Sopenharmony_ci**Parameters** 4971e41f4b71Sopenharmony_ci 4972e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 4973e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4974e41f4b71Sopenharmony_ci| value | Object | Yes| Object to check.| 4975e41f4b71Sopenharmony_ci 4976e41f4b71Sopenharmony_ci**Return value** 4977e41f4b71Sopenharmony_ci 4978e41f4b71Sopenharmony_ci| Type| Description| 4979e41f4b71Sopenharmony_ci| -------- | -------- | 4980e41f4b71Sopenharmony_ci| boolean | Returns **true** if the input value is of the SharedArrayBuffer type; returns **false** otherwise.| 4981e41f4b71Sopenharmony_ci 4982e41f4b71Sopenharmony_ci**Example** 4983e41f4b71Sopenharmony_ci 4984e41f4b71Sopenharmony_ci ```ts 4985e41f4b71Sopenharmony_ci let type = new util.types(); 4986e41f4b71Sopenharmony_ci let result = type.isSharedArrayBuffer(new SharedArrayBuffer(0)); 4987e41f4b71Sopenharmony_ci console.info("result = " + result); 4988e41f4b71Sopenharmony_ci // Output: result = true 4989e41f4b71Sopenharmony_ci ``` 4990e41f4b71Sopenharmony_ci 4991e41f4b71Sopenharmony_ci## LruBuffer<sup>(deprecated)</sup> 4992e41f4b71Sopenharmony_ci 4993e41f4b71Sopenharmony_ci> **NOTE** 4994e41f4b71Sopenharmony_ci> 4995e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache<sup>9+</sup>](#lrucache9) instead. 4996e41f4b71Sopenharmony_ci 4997e41f4b71Sopenharmony_ci### Attributes 4998e41f4b71Sopenharmony_ci 4999e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5000e41f4b71Sopenharmony_ci 5001e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 5002e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 5003e41f4b71Sopenharmony_ci| length | number | Yes| No| Total number of values in this cache.| 5004e41f4b71Sopenharmony_ci 5005e41f4b71Sopenharmony_ci**Example** 5006e41f4b71Sopenharmony_ci 5007e41f4b71Sopenharmony_ci ```ts 5008e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number>= new util.LruBuffer(); 5009e41f4b71Sopenharmony_ci pro.put(2,10); 5010e41f4b71Sopenharmony_ci pro.put(1,8); 5011e41f4b71Sopenharmony_ci let result = pro.length; 5012e41f4b71Sopenharmony_ci ``` 5013e41f4b71Sopenharmony_ci 5014e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 5015e41f4b71Sopenharmony_ci 5016e41f4b71Sopenharmony_ciconstructor(capacity?: number) 5017e41f4b71Sopenharmony_ci 5018e41f4b71Sopenharmony_ciA constructor used to create a **LruBuffer** instance. The default capacity of the cache is 64. 5019e41f4b71Sopenharmony_ci 5020e41f4b71Sopenharmony_ci> **NOTE** 5021e41f4b71Sopenharmony_ci> 5022e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.constructor<sup>9+</sup>](#constructor9-3) instead. 5023e41f4b71Sopenharmony_ci 5024e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5025e41f4b71Sopenharmony_ci 5026e41f4b71Sopenharmony_ci**Parameters** 5027e41f4b71Sopenharmony_ci 5028e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5029e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5030e41f4b71Sopenharmony_ci| capacity | number | No| Capacity of the cache to create. The default value is **64**.| 5031e41f4b71Sopenharmony_ci 5032e41f4b71Sopenharmony_ci**Example** 5033e41f4b71Sopenharmony_ci 5034e41f4b71Sopenharmony_ci ```ts 5035e41f4b71Sopenharmony_ci let lrubuffer : util.LruBuffer<number,number> = new util.LruBuffer(); 5036e41f4b71Sopenharmony_ci ``` 5037e41f4b71Sopenharmony_ci 5038e41f4b71Sopenharmony_ci### updateCapacity<sup>(deprecated)</sup> 5039e41f4b71Sopenharmony_ci 5040e41f4b71Sopenharmony_ciupdateCapacity(newCapacity: number): void 5041e41f4b71Sopenharmony_ci 5042e41f4b71Sopenharmony_ciChanges the cache capacity. If the new capacity is less than or equal to **0**, an exception will be thrown. 5043e41f4b71Sopenharmony_ci 5044e41f4b71Sopenharmony_ci> **NOTE** 5045e41f4b71Sopenharmony_ci> 5046e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.updateCapacity<sup>9+</sup>](#updatecapacity9) instead. 5047e41f4b71Sopenharmony_ci 5048e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5049e41f4b71Sopenharmony_ci 5050e41f4b71Sopenharmony_ci**Parameters** 5051e41f4b71Sopenharmony_ci 5052e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5053e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5054e41f4b71Sopenharmony_ci| newCapacity | number | Yes| New capacity of the cache.| 5055e41f4b71Sopenharmony_ci 5056e41f4b71Sopenharmony_ci**Example** 5057e41f4b71Sopenharmony_ci 5058e41f4b71Sopenharmony_ci ```ts 5059e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5060e41f4b71Sopenharmony_ci pro.updateCapacity(100); 5061e41f4b71Sopenharmony_ci ``` 5062e41f4b71Sopenharmony_ci 5063e41f4b71Sopenharmony_ci### toString<sup>(deprecated)</sup> 5064e41f4b71Sopenharmony_ci 5065e41f4b71Sopenharmony_citoString(): string 5066e41f4b71Sopenharmony_ci 5067e41f4b71Sopenharmony_ciObtains the string representation of this cache. 5068e41f4b71Sopenharmony_ci 5069e41f4b71Sopenharmony_ci> **NOTE** 5070e41f4b71Sopenharmony_ci> 5071e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.toString<sup>9+</sup>](#tostring9) instead. 5072e41f4b71Sopenharmony_ci 5073e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5074e41f4b71Sopenharmony_ci 5075e41f4b71Sopenharmony_ci**Return value** 5076e41f4b71Sopenharmony_ci 5077e41f4b71Sopenharmony_ci| Type| Description| 5078e41f4b71Sopenharmony_ci| -------- | -------- | 5079e41f4b71Sopenharmony_ci| string | String representation of this cache.| 5080e41f4b71Sopenharmony_ci 5081e41f4b71Sopenharmony_ci**Example** 5082e41f4b71Sopenharmony_ci 5083e41f4b71Sopenharmony_ci ```ts 5084e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5085e41f4b71Sopenharmony_ci pro.put(2,10); 5086e41f4b71Sopenharmony_ci pro.get(2); 5087e41f4b71Sopenharmony_ci pro.remove(20); 5088e41f4b71Sopenharmony_ci let result = pro.toString(); 5089e41f4b71Sopenharmony_ci ``` 5090e41f4b71Sopenharmony_ci 5091e41f4b71Sopenharmony_ci### getCapacity<sup>(deprecated)</sup> 5092e41f4b71Sopenharmony_ci 5093e41f4b71Sopenharmony_cigetCapacity(): number 5094e41f4b71Sopenharmony_ci 5095e41f4b71Sopenharmony_ciObtains the capacity of this cache. 5096e41f4b71Sopenharmony_ci 5097e41f4b71Sopenharmony_ci> **NOTE** 5098e41f4b71Sopenharmony_ci> 5099e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getCapacity<sup>9+</sup>](#getcapacity9) instead. 5100e41f4b71Sopenharmony_ci 5101e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5102e41f4b71Sopenharmony_ci 5103e41f4b71Sopenharmony_ci**Return value** 5104e41f4b71Sopenharmony_ci 5105e41f4b71Sopenharmony_ci| Type| Description| 5106e41f4b71Sopenharmony_ci| -------- | -------- | 5107e41f4b71Sopenharmony_ci| number | Capacity of the cache.| 5108e41f4b71Sopenharmony_ci 5109e41f4b71Sopenharmony_ci**Example** 5110e41f4b71Sopenharmony_ci 5111e41f4b71Sopenharmony_ci ```ts 5112e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5113e41f4b71Sopenharmony_ci let result = pro.getCapacity(); 5114e41f4b71Sopenharmony_ci ``` 5115e41f4b71Sopenharmony_ci 5116e41f4b71Sopenharmony_ci### clear<sup>(deprecated)</sup> 5117e41f4b71Sopenharmony_ci 5118e41f4b71Sopenharmony_ciclear(): void 5119e41f4b71Sopenharmony_ci 5120e41f4b71Sopenharmony_ciClears key-value pairs from this cache. The **afterRemoval()** method will be called to perform subsequent operations. 5121e41f4b71Sopenharmony_ci 5122e41f4b71Sopenharmony_ci> **NOTE** 5123e41f4b71Sopenharmony_ci> 5124e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.clear<sup>9+</sup>](#clear9) instead. 5125e41f4b71Sopenharmony_ci 5126e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5127e41f4b71Sopenharmony_ci 5128e41f4b71Sopenharmony_ci**Example** 5129e41f4b71Sopenharmony_ci 5130e41f4b71Sopenharmony_ci ```ts 5131e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5132e41f4b71Sopenharmony_ci pro.put(2,10); 5133e41f4b71Sopenharmony_ci let result = pro.length; 5134e41f4b71Sopenharmony_ci pro.clear(); 5135e41f4b71Sopenharmony_ci ``` 5136e41f4b71Sopenharmony_ci 5137e41f4b71Sopenharmony_ci### getCreateCount<sup>(deprecated)</sup> 5138e41f4b71Sopenharmony_ci 5139e41f4b71Sopenharmony_cigetCreateCount(): number 5140e41f4b71Sopenharmony_ci 5141e41f4b71Sopenharmony_ciObtains the number of return values for **createDefault()**. 5142e41f4b71Sopenharmony_ci 5143e41f4b71Sopenharmony_ci> **NOTE** 5144e41f4b71Sopenharmony_ci> 5145e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getCreateCount<sup>9+</sup>](#getcreatecount9) instead. 5146e41f4b71Sopenharmony_ci 5147e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5148e41f4b71Sopenharmony_ci 5149e41f4b71Sopenharmony_ci**Return value** 5150e41f4b71Sopenharmony_ci 5151e41f4b71Sopenharmony_ci| Type| Description| 5152e41f4b71Sopenharmony_ci| -------- | -------- | 5153e41f4b71Sopenharmony_ci| number | Number of return values for **createDefault()**.| 5154e41f4b71Sopenharmony_ci 5155e41f4b71Sopenharmony_ci**Example** 5156e41f4b71Sopenharmony_ci 5157e41f4b71Sopenharmony_ci ```ts 5158e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5159e41f4b71Sopenharmony_ci pro.put(1,8); 5160e41f4b71Sopenharmony_ci let result = pro.getCreateCount(); 5161e41f4b71Sopenharmony_ci ``` 5162e41f4b71Sopenharmony_ci 5163e41f4b71Sopenharmony_ci### getMissCount<sup>(deprecated)</sup> 5164e41f4b71Sopenharmony_ci 5165e41f4b71Sopenharmony_cigetMissCount(): number 5166e41f4b71Sopenharmony_ci 5167e41f4b71Sopenharmony_ciObtains the number of times that the queried values are mismatched. 5168e41f4b71Sopenharmony_ci 5169e41f4b71Sopenharmony_ci> **NOTE** 5170e41f4b71Sopenharmony_ci> 5171e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getMissCount<sup>9+</sup>](#getmisscount9) instead. 5172e41f4b71Sopenharmony_ci 5173e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5174e41f4b71Sopenharmony_ci 5175e41f4b71Sopenharmony_ci**Return value** 5176e41f4b71Sopenharmony_ci 5177e41f4b71Sopenharmony_ci| Type| Description| 5178e41f4b71Sopenharmony_ci| -------- | -------- | 5179e41f4b71Sopenharmony_ci| number | Number of times that the queried values are mismatched.| 5180e41f4b71Sopenharmony_ci 5181e41f4b71Sopenharmony_ci**Example** 5182e41f4b71Sopenharmony_ci 5183e41f4b71Sopenharmony_ci ```ts 5184e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5185e41f4b71Sopenharmony_ci pro.put(2,10); 5186e41f4b71Sopenharmony_ci pro.get(2); 5187e41f4b71Sopenharmony_ci let result = pro.getMissCount(); 5188e41f4b71Sopenharmony_ci ``` 5189e41f4b71Sopenharmony_ci 5190e41f4b71Sopenharmony_ci### getRemovalCount<sup>(deprecated)</sup> 5191e41f4b71Sopenharmony_ci 5192e41f4b71Sopenharmony_cigetRemovalCount(): number 5193e41f4b71Sopenharmony_ci 5194e41f4b71Sopenharmony_ciObtains the number of removals from this cache. 5195e41f4b71Sopenharmony_ci 5196e41f4b71Sopenharmony_ci> **NOTE** 5197e41f4b71Sopenharmony_ci> 5198e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getRemovalCount<sup>9+</sup>](#getremovalcount9) instead. 5199e41f4b71Sopenharmony_ci 5200e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5201e41f4b71Sopenharmony_ci 5202e41f4b71Sopenharmony_ci**Return value** 5203e41f4b71Sopenharmony_ci 5204e41f4b71Sopenharmony_ci| Type| Description| 5205e41f4b71Sopenharmony_ci| -------- | -------- | 5206e41f4b71Sopenharmony_ci| number | Number of removals from the cache.| 5207e41f4b71Sopenharmony_ci 5208e41f4b71Sopenharmony_ci**Example** 5209e41f4b71Sopenharmony_ci 5210e41f4b71Sopenharmony_ci ```ts 5211e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5212e41f4b71Sopenharmony_ci pro.put(2,10); 5213e41f4b71Sopenharmony_ci pro.updateCapacity(2); 5214e41f4b71Sopenharmony_ci pro.put(50,22); 5215e41f4b71Sopenharmony_ci let result = pro.getRemovalCount(); 5216e41f4b71Sopenharmony_ci ``` 5217e41f4b71Sopenharmony_ci 5218e41f4b71Sopenharmony_ci### getMatchCount<sup>(deprecated)</sup> 5219e41f4b71Sopenharmony_ci 5220e41f4b71Sopenharmony_cigetMatchCount(): number 5221e41f4b71Sopenharmony_ci 5222e41f4b71Sopenharmony_ciObtains the number of times that the queried values are matched. 5223e41f4b71Sopenharmony_ci 5224e41f4b71Sopenharmony_ci> **NOTE** 5225e41f4b71Sopenharmony_ci> 5226e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getMatchCount<sup>9+</sup>](#getmatchcount9) instead. 5227e41f4b71Sopenharmony_ci 5228e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5229e41f4b71Sopenharmony_ci 5230e41f4b71Sopenharmony_ci**Return value** 5231e41f4b71Sopenharmony_ci 5232e41f4b71Sopenharmony_ci| Type| Description| 5233e41f4b71Sopenharmony_ci| -------- | -------- | 5234e41f4b71Sopenharmony_ci| number | Number of times that the queried values are matched.| 5235e41f4b71Sopenharmony_ci 5236e41f4b71Sopenharmony_ci**Example** 5237e41f4b71Sopenharmony_ci 5238e41f4b71Sopenharmony_ci ```ts 5239e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5240e41f4b71Sopenharmony_ci pro.put(2,10); 5241e41f4b71Sopenharmony_ci pro.get(2); 5242e41f4b71Sopenharmony_ci let result = pro.getMatchCount(); 5243e41f4b71Sopenharmony_ci ``` 5244e41f4b71Sopenharmony_ci 5245e41f4b71Sopenharmony_ci### getPutCount<sup>(deprecated)</sup> 5246e41f4b71Sopenharmony_ci 5247e41f4b71Sopenharmony_cigetPutCount(): number 5248e41f4b71Sopenharmony_ci 5249e41f4b71Sopenharmony_ciObtains the number of additions to this cache. 5250e41f4b71Sopenharmony_ci 5251e41f4b71Sopenharmony_ci> **NOTE** 5252e41f4b71Sopenharmony_ci> 5253e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.getPutCount<sup>9+</sup>](#getputcount9) instead. 5254e41f4b71Sopenharmony_ci 5255e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5256e41f4b71Sopenharmony_ci 5257e41f4b71Sopenharmony_ci**Return value** 5258e41f4b71Sopenharmony_ci 5259e41f4b71Sopenharmony_ci| Type| Description| 5260e41f4b71Sopenharmony_ci| -------- | -------- | 5261e41f4b71Sopenharmony_ci| number | Number of additions to the cache.| 5262e41f4b71Sopenharmony_ci 5263e41f4b71Sopenharmony_ci**Example** 5264e41f4b71Sopenharmony_ci 5265e41f4b71Sopenharmony_ci ```ts 5266e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5267e41f4b71Sopenharmony_ci pro.put(2,10); 5268e41f4b71Sopenharmony_ci let result = pro.getPutCount(); 5269e41f4b71Sopenharmony_ci ``` 5270e41f4b71Sopenharmony_ci 5271e41f4b71Sopenharmony_ci### isEmpty<sup>(deprecated)</sup> 5272e41f4b71Sopenharmony_ci 5273e41f4b71Sopenharmony_ciisEmpty(): boolean 5274e41f4b71Sopenharmony_ci 5275e41f4b71Sopenharmony_ciChecks whether this cache is empty. 5276e41f4b71Sopenharmony_ci 5277e41f4b71Sopenharmony_ci> **NOTE** 5278e41f4b71Sopenharmony_ci> 5279e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.isEmpty<sup>9+</sup>](#isempty9) instead. 5280e41f4b71Sopenharmony_ci 5281e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5282e41f4b71Sopenharmony_ci 5283e41f4b71Sopenharmony_ci**Return value** 5284e41f4b71Sopenharmony_ci 5285e41f4b71Sopenharmony_ci| Type| Description| 5286e41f4b71Sopenharmony_ci| -------- | -------- | 5287e41f4b71Sopenharmony_ci| boolean | Returns **true** if the cache does not contain any value.| 5288e41f4b71Sopenharmony_ci 5289e41f4b71Sopenharmony_ci**Example** 5290e41f4b71Sopenharmony_ci 5291e41f4b71Sopenharmony_ci ```ts 5292e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5293e41f4b71Sopenharmony_ci pro.put(2,10); 5294e41f4b71Sopenharmony_ci let result = pro.isEmpty(); 5295e41f4b71Sopenharmony_ci ``` 5296e41f4b71Sopenharmony_ci 5297e41f4b71Sopenharmony_ci### get<sup>(deprecated)</sup> 5298e41f4b71Sopenharmony_ci 5299e41f4b71Sopenharmony_ciget(key: K): V | undefined 5300e41f4b71Sopenharmony_ci 5301e41f4b71Sopenharmony_ciObtains the value of the specified key. 5302e41f4b71Sopenharmony_ci 5303e41f4b71Sopenharmony_ci> **NOTE** 5304e41f4b71Sopenharmony_ci> 5305e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.get<sup>9+</sup>](#get9) instead. 5306e41f4b71Sopenharmony_ci 5307e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5308e41f4b71Sopenharmony_ci 5309e41f4b71Sopenharmony_ci**Parameters** 5310e41f4b71Sopenharmony_ci 5311e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5312e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5313e41f4b71Sopenharmony_ci| key | K | Yes| Key based on which the value is queried.| 5314e41f4b71Sopenharmony_ci 5315e41f4b71Sopenharmony_ci**Return value** 5316e41f4b71Sopenharmony_ci 5317e41f4b71Sopenharmony_ci| Type| Description| 5318e41f4b71Sopenharmony_ci| -------- | -------- | 5319e41f4b71Sopenharmony_ci| V \| undefined | Returns the value of the key if a match is found in the cache; returns **undefined** otherwise.| 5320e41f4b71Sopenharmony_ci 5321e41f4b71Sopenharmony_ci**Example** 5322e41f4b71Sopenharmony_ci 5323e41f4b71Sopenharmony_ci ```ts 5324e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5325e41f4b71Sopenharmony_ci pro.put(2,10); 5326e41f4b71Sopenharmony_ci let result = pro.get(2); 5327e41f4b71Sopenharmony_ci ``` 5328e41f4b71Sopenharmony_ci 5329e41f4b71Sopenharmony_ci### put<sup>(deprecated)</sup> 5330e41f4b71Sopenharmony_ci 5331e41f4b71Sopenharmony_ciput(key: K,value: V): V 5332e41f4b71Sopenharmony_ci 5333e41f4b71Sopenharmony_ciAdds a key-value pair to this cache. 5334e41f4b71Sopenharmony_ci 5335e41f4b71Sopenharmony_ci> **NOTE** 5336e41f4b71Sopenharmony_ci> 5337e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.put<sup>9+</sup>](#put9) instead. 5338e41f4b71Sopenharmony_ci 5339e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5340e41f4b71Sopenharmony_ci 5341e41f4b71Sopenharmony_ci**Parameters** 5342e41f4b71Sopenharmony_ci 5343e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5344e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5345e41f4b71Sopenharmony_ci| key | K | Yes| Key of the key-value pair to add.| 5346e41f4b71Sopenharmony_ci| value | V | Yes| Value of the key-value pair to add.| 5347e41f4b71Sopenharmony_ci 5348e41f4b71Sopenharmony_ci**Return value** 5349e41f4b71Sopenharmony_ci 5350e41f4b71Sopenharmony_ci| Type| Description| 5351e41f4b71Sopenharmony_ci| -------- | -------- | 5352e41f4b71Sopenharmony_ci| V | Returns the existing value if the key already exists; returns the value added otherwise; throws an error if **null** is passed in for **key** or **value**.| 5353e41f4b71Sopenharmony_ci 5354e41f4b71Sopenharmony_ci**Example** 5355e41f4b71Sopenharmony_ci 5356e41f4b71Sopenharmony_ci ```ts 5357e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5358e41f4b71Sopenharmony_ci let result = pro.put(2,10); 5359e41f4b71Sopenharmony_ci ``` 5360e41f4b71Sopenharmony_ci 5361e41f4b71Sopenharmony_ci### values<sup>(deprecated)</sup> 5362e41f4b71Sopenharmony_ci 5363e41f4b71Sopenharmony_civalues(): V[] 5364e41f4b71Sopenharmony_ci 5365e41f4b71Sopenharmony_ciObtains all values in this cache, listed from the most to the least recently accessed. 5366e41f4b71Sopenharmony_ci 5367e41f4b71Sopenharmony_ci> **NOTE** 5368e41f4b71Sopenharmony_ci> 5369e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.values<sup>9+</sup>](#values9) instead. 5370e41f4b71Sopenharmony_ci 5371e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5372e41f4b71Sopenharmony_ci 5373e41f4b71Sopenharmony_ci**Return value** 5374e41f4b71Sopenharmony_ci 5375e41f4b71Sopenharmony_ci| Type| Description| 5376e41f4b71Sopenharmony_ci| -------- | -------- | 5377e41f4b71Sopenharmony_ci| V [] | All values in the cache, listed from the most to the least recently accessed.| 5378e41f4b71Sopenharmony_ci 5379e41f4b71Sopenharmony_ci**Example** 5380e41f4b71Sopenharmony_ci 5381e41f4b71Sopenharmony_ci ```ts 5382e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number|string,number|string> = new util.LruBuffer(); 5383e41f4b71Sopenharmony_ci pro.put(2,10); 5384e41f4b71Sopenharmony_ci pro.put(2,"anhu"); 5385e41f4b71Sopenharmony_ci pro.put("afaf","grfb"); 5386e41f4b71Sopenharmony_ci let result = pro.values(); 5387e41f4b71Sopenharmony_ci ``` 5388e41f4b71Sopenharmony_ci 5389e41f4b71Sopenharmony_ci### keys<sup>(deprecated)</sup> 5390e41f4b71Sopenharmony_ci 5391e41f4b71Sopenharmony_cikeys(): K[] 5392e41f4b71Sopenharmony_ci 5393e41f4b71Sopenharmony_ciObtains all keys in this cache, listed from the most to the least recently accessed. 5394e41f4b71Sopenharmony_ci 5395e41f4b71Sopenharmony_ci> **NOTE** 5396e41f4b71Sopenharmony_ci> 5397e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.keys<sup>9+</sup>](#keys9) instead. 5398e41f4b71Sopenharmony_ci 5399e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5400e41f4b71Sopenharmony_ci 5401e41f4b71Sopenharmony_ci**Return value** 5402e41f4b71Sopenharmony_ci 5403e41f4b71Sopenharmony_ci| Type| Description| 5404e41f4b71Sopenharmony_ci| -------- | -------- | 5405e41f4b71Sopenharmony_ci| K [] | All keys in the cache, listed from the most to the least recently accessed.| 5406e41f4b71Sopenharmony_ci 5407e41f4b71Sopenharmony_ci**Example** 5408e41f4b71Sopenharmony_ci 5409e41f4b71Sopenharmony_ci ```ts 5410e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5411e41f4b71Sopenharmony_ci pro.put(2,10); 5412e41f4b71Sopenharmony_ci let result = pro.keys(); 5413e41f4b71Sopenharmony_ci ``` 5414e41f4b71Sopenharmony_ci 5415e41f4b71Sopenharmony_ci### remove<sup>(deprecated)</sup> 5416e41f4b71Sopenharmony_ci 5417e41f4b71Sopenharmony_ciremove(key: K): V | undefined 5418e41f4b71Sopenharmony_ci 5419e41f4b71Sopenharmony_ciRemoves the specified key and its value from this cache. 5420e41f4b71Sopenharmony_ci 5421e41f4b71Sopenharmony_ci> **NOTE** 5422e41f4b71Sopenharmony_ci> 5423e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.remove<sup>9+</sup>](#remove9) instead. 5424e41f4b71Sopenharmony_ci 5425e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5426e41f4b71Sopenharmony_ci 5427e41f4b71Sopenharmony_ci**Parameters** 5428e41f4b71Sopenharmony_ci 5429e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5430e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5431e41f4b71Sopenharmony_ci| key | K | Yes| Key to remove.| 5432e41f4b71Sopenharmony_ci 5433e41f4b71Sopenharmony_ci**Return value** 5434e41f4b71Sopenharmony_ci 5435e41f4b71Sopenharmony_ci| Type| Description| 5436e41f4b71Sopenharmony_ci| -------- | -------- | 5437e41f4b71Sopenharmony_ci| V \| undefined | Returns an **Optional** object containing the removed key-value pair if the key exists in the cache; returns an empty **Optional** object otherwise; throws an error if **null** is passed in for **key**.| 5438e41f4b71Sopenharmony_ci 5439e41f4b71Sopenharmony_ci**Example** 5440e41f4b71Sopenharmony_ci 5441e41f4b71Sopenharmony_ci ```ts 5442e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5443e41f4b71Sopenharmony_ci pro.put(2,10); 5444e41f4b71Sopenharmony_ci let result = pro.remove(20); 5445e41f4b71Sopenharmony_ci ``` 5446e41f4b71Sopenharmony_ci 5447e41f4b71Sopenharmony_ci### afterRemoval<sup>(deprecated)</sup> 5448e41f4b71Sopenharmony_ci 5449e41f4b71Sopenharmony_ciafterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void 5450e41f4b71Sopenharmony_ci 5451e41f4b71Sopenharmony_ciPerforms subsequent operations after a value is removed. 5452e41f4b71Sopenharmony_ci 5453e41f4b71Sopenharmony_ci> **NOTE** 5454e41f4b71Sopenharmony_ci> 5455e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.afterRemoval<sup>9+</sup>](#afterremoval9) instead. 5456e41f4b71Sopenharmony_ci 5457e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5458e41f4b71Sopenharmony_ci 5459e41f4b71Sopenharmony_ci**Parameters** 5460e41f4b71Sopenharmony_ci 5461e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5462e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5463e41f4b71Sopenharmony_ci| isEvict | boolean | Yes| Whether the capacity is insufficient. If the value is **true**, this API is called due to insufficient capacity.| 5464e41f4b71Sopenharmony_ci| key | K | Yes| Key removed.| 5465e41f4b71Sopenharmony_ci| value | V | Yes| Value removed.| 5466e41f4b71Sopenharmony_ci| newValue | V | Yes| New value for the key if the **put()** method is called and the key to be added already exists. In other cases, this parameter is left blank.| 5467e41f4b71Sopenharmony_ci 5468e41f4b71Sopenharmony_ci**Example** 5469e41f4b71Sopenharmony_ci 5470e41f4b71Sopenharmony_ci```ts 5471e41f4b71Sopenharmony_ciclass ChildLruBuffer<K, V> extends util.LruBuffer<K, V> { 5472e41f4b71Sopenharmony_ci constructor(capacity?: number) { 5473e41f4b71Sopenharmony_ci super(capacity); 5474e41f4b71Sopenharmony_ci } 5475e41f4b71Sopenharmony_ci 5476e41f4b71Sopenharmony_ci afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void { 5477e41f4b71Sopenharmony_ci if (isEvict === true) { 5478e41f4b71Sopenharmony_ci console.info('key: ' + key); 5479e41f4b71Sopenharmony_ci console.info('value: ' + value); 5480e41f4b71Sopenharmony_ci console.info('newValue: ' + newValue); 5481e41f4b71Sopenharmony_ci } 5482e41f4b71Sopenharmony_ci } 5483e41f4b71Sopenharmony_ci} 5484e41f4b71Sopenharmony_cilet lru: ChildLruBuffer<number, number> = new ChildLruBuffer(2); 5485e41f4b71Sopenharmony_cilru.put(11, 1); 5486e41f4b71Sopenharmony_cilru.put(22, 2); 5487e41f4b71Sopenharmony_cilru.put(33, 3); 5488e41f4b71Sopenharmony_ci``` 5489e41f4b71Sopenharmony_ci 5490e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 5491e41f4b71Sopenharmony_ci 5492e41f4b71Sopenharmony_cicontains(key: K): boolean 5493e41f4b71Sopenharmony_ci 5494e41f4b71Sopenharmony_ciChecks whether this cache contains the specified key. 5495e41f4b71Sopenharmony_ci 5496e41f4b71Sopenharmony_ci 5497e41f4b71Sopenharmony_ci> **NOTE** 5498e41f4b71Sopenharmony_ci> 5499e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.contains<sup>9+</sup>](#contains9) instead. 5500e41f4b71Sopenharmony_ci 5501e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5502e41f4b71Sopenharmony_ci 5503e41f4b71Sopenharmony_ci**Parameters** 5504e41f4b71Sopenharmony_ci 5505e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5506e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5507e41f4b71Sopenharmony_ci| key | K | Yes| Key to check.| 5508e41f4b71Sopenharmony_ci 5509e41f4b71Sopenharmony_ci**Return value** 5510e41f4b71Sopenharmony_ci 5511e41f4b71Sopenharmony_ci| Type| Description| 5512e41f4b71Sopenharmony_ci| -------- | -------- | 5513e41f4b71Sopenharmony_ci| boolean | Returns **true** if the cache contains the specified key; returns **false** otherwise.| 5514e41f4b71Sopenharmony_ci 5515e41f4b71Sopenharmony_ci**Example** 5516e41f4b71Sopenharmony_ci 5517e41f4b71Sopenharmony_ci ```ts 5518e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5519e41f4b71Sopenharmony_ci pro.put(2,10); 5520e41f4b71Sopenharmony_ci let result = pro.contains(20); 5521e41f4b71Sopenharmony_ci ``` 5522e41f4b71Sopenharmony_ci 5523e41f4b71Sopenharmony_ci### createDefault<sup>(deprecated)</sup> 5524e41f4b71Sopenharmony_ci 5525e41f4b71Sopenharmony_cicreateDefault(key: K): V 5526e41f4b71Sopenharmony_ci 5527e41f4b71Sopenharmony_ciCreates a value if the value of the specified key is not available. 5528e41f4b71Sopenharmony_ci 5529e41f4b71Sopenharmony_ci> **NOTE** 5530e41f4b71Sopenharmony_ci> 5531e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.createDefault<sup>9+</sup>](#createdefault9) instead. 5532e41f4b71Sopenharmony_ci 5533e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5534e41f4b71Sopenharmony_ci 5535e41f4b71Sopenharmony_ci**Parameters** 5536e41f4b71Sopenharmony_ci 5537e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5538e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5539e41f4b71Sopenharmony_ci| key | K | Yes| Key of which the value is missing.| 5540e41f4b71Sopenharmony_ci 5541e41f4b71Sopenharmony_ci**Return value** 5542e41f4b71Sopenharmony_ci 5543e41f4b71Sopenharmony_ci| Type| Description| 5544e41f4b71Sopenharmony_ci| -------- | -------- | 5545e41f4b71Sopenharmony_ci| V | Value of the key.| 5546e41f4b71Sopenharmony_ci 5547e41f4b71Sopenharmony_ci**Example** 5548e41f4b71Sopenharmony_ci 5549e41f4b71Sopenharmony_ci ```ts 5550e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5551e41f4b71Sopenharmony_ci let result = pro.createDefault(50); 5552e41f4b71Sopenharmony_ci ``` 5553e41f4b71Sopenharmony_ci 5554e41f4b71Sopenharmony_ci### entries<sup>(deprecated)</sup> 5555e41f4b71Sopenharmony_ci 5556e41f4b71Sopenharmony_cientries(): IterableIterator<[K,V]> 5557e41f4b71Sopenharmony_ci 5558e41f4b71Sopenharmony_ciObtains a new iterator object that contains all key-value pairs in this object. 5559e41f4b71Sopenharmony_ci 5560e41f4b71Sopenharmony_ci> **NOTE** 5561e41f4b71Sopenharmony_ci> 5562e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.entries<sup>9+</sup>](#entries9) instead. 5563e41f4b71Sopenharmony_ci 5564e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5565e41f4b71Sopenharmony_ci 5566e41f4b71Sopenharmony_ci**Return value** 5567e41f4b71Sopenharmony_ci 5568e41f4b71Sopenharmony_ci| Type| Description| 5569e41f4b71Sopenharmony_ci| -------- | -------- | 5570e41f4b71Sopenharmony_ci| [K, V] | Iterable array.| 5571e41f4b71Sopenharmony_ci 5572e41f4b71Sopenharmony_ci**Example** 5573e41f4b71Sopenharmony_ci 5574e41f4b71Sopenharmony_ci ```ts 5575e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5576e41f4b71Sopenharmony_ci pro.put(2,10); 5577e41f4b71Sopenharmony_ci let result = pro.entries(); 5578e41f4b71Sopenharmony_ci ``` 5579e41f4b71Sopenharmony_ci 5580e41f4b71Sopenharmony_ci### [Symbol.iterator]<sup>(deprecated)</sup> 5581e41f4b71Sopenharmony_ci 5582e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<[K, V]> 5583e41f4b71Sopenharmony_ci 5584e41f4b71Sopenharmony_ciObtains a two-dimensional array in key-value pairs. 5585e41f4b71Sopenharmony_ci 5586e41f4b71Sopenharmony_ci> **NOTE** 5587e41f4b71Sopenharmony_ci> 5588e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [LRUCache.Symbol.iterator<sup>9+</sup>](#symboliterator9) instead. 5589e41f4b71Sopenharmony_ci 5590e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5591e41f4b71Sopenharmony_ci 5592e41f4b71Sopenharmony_ci**Return value** 5593e41f4b71Sopenharmony_ci 5594e41f4b71Sopenharmony_ci| Type| Description| 5595e41f4b71Sopenharmony_ci| -------- | -------- | 5596e41f4b71Sopenharmony_ci| [K, V] | Two-dimensional array in key-value pairs.| 5597e41f4b71Sopenharmony_ci 5598e41f4b71Sopenharmony_ci**Example** 5599e41f4b71Sopenharmony_ci 5600e41f4b71Sopenharmony_ci ```ts 5601e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5602e41f4b71Sopenharmony_ci pro.put(2,10); 5603e41f4b71Sopenharmony_ci let result = pro[Symbol.iterator](); 5604e41f4b71Sopenharmony_ci ``` 5605e41f4b71Sopenharmony_ci 5606e41f4b71Sopenharmony_ci## Scope<sup>(deprecated)</sup> 5607e41f4b71Sopenharmony_ci 5608e41f4b71Sopenharmony_ci> **NOTE** 5609e41f4b71Sopenharmony_ci> 5610e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper<sup>9+</sup>](#scopehelper9) instead. 5611e41f4b71Sopenharmony_ci 5612e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 5613e41f4b71Sopenharmony_ci 5614e41f4b71Sopenharmony_ciconstructor(lowerObj: ScopeType, upperObj: ScopeType) 5615e41f4b71Sopenharmony_ci 5616e41f4b71Sopenharmony_ciA constructor used to create a **Scope** object with the specified upper and lower limits. 5617e41f4b71Sopenharmony_ci 5618e41f4b71Sopenharmony_ci> **NOTE** 5619e41f4b71Sopenharmony_ci> 5620e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.constructor<sup>9+</sup>](#constructor9-4) instead. 5621e41f4b71Sopenharmony_ci 5622e41f4b71Sopenharmony_ci 5623e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5624e41f4b71Sopenharmony_ci 5625e41f4b71Sopenharmony_ci**Parameters** 5626e41f4b71Sopenharmony_ci 5627e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5628e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5629e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes| Lower limit of the **Scope** object.| 5630e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes| Upper limit of the **Scope** object.| 5631e41f4b71Sopenharmony_ci 5632e41f4b71Sopenharmony_ci**Example** 5633e41f4b71Sopenharmony_ci ```ts 5634e41f4b71Sopenharmony_ci class Temperature{ 5635e41f4b71Sopenharmony_ci private readonly _temp: number; 5636e41f4b71Sopenharmony_ci constructor(value : number) { 5637e41f4b71Sopenharmony_ci this._temp = value; 5638e41f4b71Sopenharmony_ci } 5639e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5640e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5641e41f4b71Sopenharmony_ci } 5642e41f4b71Sopenharmony_ci getTemp() { 5643e41f4b71Sopenharmony_ci return this._temp; 5644e41f4b71Sopenharmony_ci } 5645e41f4b71Sopenharmony_ci toString() : string { 5646e41f4b71Sopenharmony_ci return this._temp.toString(); 5647e41f4b71Sopenharmony_ci } 5648e41f4b71Sopenharmony_ci } 5649e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5650e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5651e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5652e41f4b71Sopenharmony_ci ``` 5653e41f4b71Sopenharmony_ci 5654e41f4b71Sopenharmony_ci### toString<sup>(deprecated)</sup> 5655e41f4b71Sopenharmony_ci 5656e41f4b71Sopenharmony_citoString(): string 5657e41f4b71Sopenharmony_ci 5658e41f4b71Sopenharmony_ciObtains a string representation that contains this **Scope**. 5659e41f4b71Sopenharmony_ci 5660e41f4b71Sopenharmony_ci> **NOTE** 5661e41f4b71Sopenharmony_ci> 5662e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.toString<sup>9+</sup>](#tostring9-1) instead. 5663e41f4b71Sopenharmony_ci 5664e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5665e41f4b71Sopenharmony_ci 5666e41f4b71Sopenharmony_ci**Return value** 5667e41f4b71Sopenharmony_ci 5668e41f4b71Sopenharmony_ci| Type| Description| 5669e41f4b71Sopenharmony_ci| -------- | -------- | 5670e41f4b71Sopenharmony_ci| string | String representation containing the **Scope**.| 5671e41f4b71Sopenharmony_ci 5672e41f4b71Sopenharmony_ci**Example** 5673e41f4b71Sopenharmony_ci 5674e41f4b71Sopenharmony_ci ```ts 5675e41f4b71Sopenharmony_ci class Temperature{ 5676e41f4b71Sopenharmony_ci private readonly _temp: number; 5677e41f4b71Sopenharmony_ci constructor(value : number) { 5678e41f4b71Sopenharmony_ci this._temp = value; 5679e41f4b71Sopenharmony_ci } 5680e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5681e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5682e41f4b71Sopenharmony_ci } 5683e41f4b71Sopenharmony_ci getTemp() { 5684e41f4b71Sopenharmony_ci return this._temp; 5685e41f4b71Sopenharmony_ci } 5686e41f4b71Sopenharmony_ci toString() : string { 5687e41f4b71Sopenharmony_ci return this._temp.toString(); 5688e41f4b71Sopenharmony_ci } 5689e41f4b71Sopenharmony_ci } 5690e41f4b71Sopenharmony_ci 5691e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5692e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5693e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5694e41f4b71Sopenharmony_ci let result = range.toString(); 5695e41f4b71Sopenharmony_ci ``` 5696e41f4b71Sopenharmony_ci 5697e41f4b71Sopenharmony_ci### intersect<sup>(deprecated)</sup> 5698e41f4b71Sopenharmony_ci 5699e41f4b71Sopenharmony_ciintersect(range: Scope): Scope 5700e41f4b71Sopenharmony_ci 5701e41f4b71Sopenharmony_ciObtains the intersection of this **Scope** and the given **Scope**. 5702e41f4b71Sopenharmony_ci 5703e41f4b71Sopenharmony_ci> **NOTE** 5704e41f4b71Sopenharmony_ci> 5705e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.intersect<sup>9+</sup>](#intersect9) instead. 5706e41f4b71Sopenharmony_ci 5707e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5708e41f4b71Sopenharmony_ci 5709e41f4b71Sopenharmony_ci**Parameters** 5710e41f4b71Sopenharmony_ci 5711e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5712e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5713e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | Yes| **Scope** specified.| 5714e41f4b71Sopenharmony_ci 5715e41f4b71Sopenharmony_ci**Return value** 5716e41f4b71Sopenharmony_ci 5717e41f4b71Sopenharmony_ci| Type| Description| 5718e41f4b71Sopenharmony_ci| -------- | -------- | 5719e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | Intersection of this **Scope** and the given **Scope**.| 5720e41f4b71Sopenharmony_ci 5721e41f4b71Sopenharmony_ci**Example** 5722e41f4b71Sopenharmony_ci 5723e41f4b71Sopenharmony_ci ```ts 5724e41f4b71Sopenharmony_ci class Temperature{ 5725e41f4b71Sopenharmony_ci private readonly _temp: number; 5726e41f4b71Sopenharmony_ci constructor(value : number) { 5727e41f4b71Sopenharmony_ci this._temp = value; 5728e41f4b71Sopenharmony_ci } 5729e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5730e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5731e41f4b71Sopenharmony_ci } 5732e41f4b71Sopenharmony_ci getTemp() { 5733e41f4b71Sopenharmony_ci return this._temp; 5734e41f4b71Sopenharmony_ci } 5735e41f4b71Sopenharmony_ci toString() : string { 5736e41f4b71Sopenharmony_ci return this._temp.toString(); 5737e41f4b71Sopenharmony_ci } 5738e41f4b71Sopenharmony_ci } 5739e41f4b71Sopenharmony_ci 5740e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5741e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5742e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5743e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5744e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5745e41f4b71Sopenharmony_ci let rangeFir = new util.Scope(tempMiDF, tempMidS); 5746e41f4b71Sopenharmony_ci let result = range.intersect(rangeFir ); 5747e41f4b71Sopenharmony_ci ``` 5748e41f4b71Sopenharmony_ci 5749e41f4b71Sopenharmony_ci### intersect<sup>(deprecated)</sup> 5750e41f4b71Sopenharmony_ci 5751e41f4b71Sopenharmony_ciintersect(lowerObj:ScopeType,upperObj:ScopeType):Scope 5752e41f4b71Sopenharmony_ci 5753e41f4b71Sopenharmony_ciObtains the intersection of this **Scope** and the given lower and upper limits. 5754e41f4b71Sopenharmony_ci 5755e41f4b71Sopenharmony_ci> **NOTE** 5756e41f4b71Sopenharmony_ci> 5757e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.intersect<sup>9+</sup>](#intersect9-1) instead. 5758e41f4b71Sopenharmony_ci 5759e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5760e41f4b71Sopenharmony_ci 5761e41f4b71Sopenharmony_ci**Parameters** 5762e41f4b71Sopenharmony_ci 5763e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5764e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5765e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes| Lower limit.| 5766e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes| Upper limit.| 5767e41f4b71Sopenharmony_ci 5768e41f4b71Sopenharmony_ci**Return value** 5769e41f4b71Sopenharmony_ci 5770e41f4b71Sopenharmony_ci| Type| Description| 5771e41f4b71Sopenharmony_ci| -------- | -------- | 5772e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | Intersection of this **Scope** and the given lower and upper limits.| 5773e41f4b71Sopenharmony_ci 5774e41f4b71Sopenharmony_ci**Example** 5775e41f4b71Sopenharmony_ci 5776e41f4b71Sopenharmony_ci ```ts 5777e41f4b71Sopenharmony_ci class Temperature{ 5778e41f4b71Sopenharmony_ci private readonly _temp: number; 5779e41f4b71Sopenharmony_ci constructor(value : number) { 5780e41f4b71Sopenharmony_ci this._temp = value; 5781e41f4b71Sopenharmony_ci } 5782e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5783e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5784e41f4b71Sopenharmony_ci } 5785e41f4b71Sopenharmony_ci getTemp() { 5786e41f4b71Sopenharmony_ci return this._temp; 5787e41f4b71Sopenharmony_ci } 5788e41f4b71Sopenharmony_ci toString() : string { 5789e41f4b71Sopenharmony_ci return this._temp.toString(); 5790e41f4b71Sopenharmony_ci } 5791e41f4b71Sopenharmony_ci } 5792e41f4b71Sopenharmony_ci 5793e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5794e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5795e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5796e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5797e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5798e41f4b71Sopenharmony_ci let result = range.intersect(tempMiDF, tempMidS); 5799e41f4b71Sopenharmony_ci ``` 5800e41f4b71Sopenharmony_ci 5801e41f4b71Sopenharmony_ci### getUpper<sup>(deprecated)</sup> 5802e41f4b71Sopenharmony_ci 5803e41f4b71Sopenharmony_cigetUpper(): ScopeType 5804e41f4b71Sopenharmony_ci 5805e41f4b71Sopenharmony_ciObtains the upper limit of this **Scope**. 5806e41f4b71Sopenharmony_ci 5807e41f4b71Sopenharmony_ci> **NOTE** 5808e41f4b71Sopenharmony_ci> 5809e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.getUpper<sup>9+</sup>](#getupper9) instead. 5810e41f4b71Sopenharmony_ci 5811e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5812e41f4b71Sopenharmony_ci 5813e41f4b71Sopenharmony_ci**Return value** 5814e41f4b71Sopenharmony_ci 5815e41f4b71Sopenharmony_ci| Type| Description| 5816e41f4b71Sopenharmony_ci| -------- | -------- | 5817e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Upper limit of this **Scope**.| 5818e41f4b71Sopenharmony_ci 5819e41f4b71Sopenharmony_ci**Example** 5820e41f4b71Sopenharmony_ci 5821e41f4b71Sopenharmony_ci ```ts 5822e41f4b71Sopenharmony_ci class Temperature{ 5823e41f4b71Sopenharmony_ci private readonly _temp: number; 5824e41f4b71Sopenharmony_ci constructor(value : number) { 5825e41f4b71Sopenharmony_ci this._temp = value; 5826e41f4b71Sopenharmony_ci } 5827e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5828e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5829e41f4b71Sopenharmony_ci } 5830e41f4b71Sopenharmony_ci getTemp() { 5831e41f4b71Sopenharmony_ci return this._temp; 5832e41f4b71Sopenharmony_ci } 5833e41f4b71Sopenharmony_ci toString() : string { 5834e41f4b71Sopenharmony_ci return this._temp.toString(); 5835e41f4b71Sopenharmony_ci } 5836e41f4b71Sopenharmony_ci } 5837e41f4b71Sopenharmony_ci 5838e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5839e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5840e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5841e41f4b71Sopenharmony_ci let result = range.getUpper(); 5842e41f4b71Sopenharmony_ci ``` 5843e41f4b71Sopenharmony_ci 5844e41f4b71Sopenharmony_ci### getLower<sup>(deprecated)</sup> 5845e41f4b71Sopenharmony_ci 5846e41f4b71Sopenharmony_cigetLower(): ScopeType 5847e41f4b71Sopenharmony_ci 5848e41f4b71Sopenharmony_ciObtains the lower limit of this **Scope**. 5849e41f4b71Sopenharmony_ci 5850e41f4b71Sopenharmony_ci> **NOTE** 5851e41f4b71Sopenharmony_ci> 5852e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.getLower<sup>9+</sup>](#getlower9) instead. 5853e41f4b71Sopenharmony_ci 5854e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5855e41f4b71Sopenharmony_ci 5856e41f4b71Sopenharmony_ci**Return value** 5857e41f4b71Sopenharmony_ci 5858e41f4b71Sopenharmony_ci| Type| Description| 5859e41f4b71Sopenharmony_ci| -------- | -------- | 5860e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Lower limit of this **Scope**.| 5861e41f4b71Sopenharmony_ci 5862e41f4b71Sopenharmony_ci**Example** 5863e41f4b71Sopenharmony_ci 5864e41f4b71Sopenharmony_ci ```ts 5865e41f4b71Sopenharmony_ci class Temperature{ 5866e41f4b71Sopenharmony_ci private readonly _temp: number; 5867e41f4b71Sopenharmony_ci constructor(value : number) { 5868e41f4b71Sopenharmony_ci this._temp = value; 5869e41f4b71Sopenharmony_ci } 5870e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5871e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5872e41f4b71Sopenharmony_ci } 5873e41f4b71Sopenharmony_ci getTemp() { 5874e41f4b71Sopenharmony_ci return this._temp; 5875e41f4b71Sopenharmony_ci } 5876e41f4b71Sopenharmony_ci toString() : string { 5877e41f4b71Sopenharmony_ci return this._temp.toString(); 5878e41f4b71Sopenharmony_ci } 5879e41f4b71Sopenharmony_ci } 5880e41f4b71Sopenharmony_ci 5881e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5882e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5883e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5884e41f4b71Sopenharmony_ci let result = range.getLower(); 5885e41f4b71Sopenharmony_ci ``` 5886e41f4b71Sopenharmony_ci 5887e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5888e41f4b71Sopenharmony_ci 5889e41f4b71Sopenharmony_ciexpand(lowerObj: ScopeType,upperObj: ScopeType): Scope 5890e41f4b71Sopenharmony_ci 5891e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given lower and upper limits. 5892e41f4b71Sopenharmony_ci 5893e41f4b71Sopenharmony_ci> **NOTE** 5894e41f4b71Sopenharmony_ci> 5895e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.expand<sup>9+</sup>](#expand9) instead. 5896e41f4b71Sopenharmony_ci 5897e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5898e41f4b71Sopenharmony_ci 5899e41f4b71Sopenharmony_ci**Parameters** 5900e41f4b71Sopenharmony_ci 5901e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5902e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5903e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | Yes| Lower limit.| 5904e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | Yes| Upper limit.| 5905e41f4b71Sopenharmony_ci 5906e41f4b71Sopenharmony_ci**Return value** 5907e41f4b71Sopenharmony_ci 5908e41f4b71Sopenharmony_ci| Type| Description| 5909e41f4b71Sopenharmony_ci| -------- | -------- | 5910e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | Union set of this **Scope** and the given lower and upper limits.| 5911e41f4b71Sopenharmony_ci 5912e41f4b71Sopenharmony_ci**Example** 5913e41f4b71Sopenharmony_ci 5914e41f4b71Sopenharmony_ci ```ts 5915e41f4b71Sopenharmony_ci class Temperature{ 5916e41f4b71Sopenharmony_ci private readonly _temp: number; 5917e41f4b71Sopenharmony_ci constructor(value : number) { 5918e41f4b71Sopenharmony_ci this._temp = value; 5919e41f4b71Sopenharmony_ci } 5920e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5921e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5922e41f4b71Sopenharmony_ci } 5923e41f4b71Sopenharmony_ci getTemp() { 5924e41f4b71Sopenharmony_ci return this._temp; 5925e41f4b71Sopenharmony_ci } 5926e41f4b71Sopenharmony_ci toString() : string { 5927e41f4b71Sopenharmony_ci return this._temp.toString(); 5928e41f4b71Sopenharmony_ci } 5929e41f4b71Sopenharmony_ci } 5930e41f4b71Sopenharmony_ci 5931e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5932e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5933e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5934e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5935e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5936e41f4b71Sopenharmony_ci let result = range.expand(tempMiDF, tempMidS); 5937e41f4b71Sopenharmony_ci ``` 5938e41f4b71Sopenharmony_ci 5939e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5940e41f4b71Sopenharmony_ci 5941e41f4b71Sopenharmony_ciexpand(range: Scope): Scope 5942e41f4b71Sopenharmony_ci 5943e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given **Scope**. 5944e41f4b71Sopenharmony_ci 5945e41f4b71Sopenharmony_ci> **NOTE** 5946e41f4b71Sopenharmony_ci> 5947e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.expand<sup>9+</sup>](#expand9-1) instead. 5948e41f4b71Sopenharmony_ci 5949e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 5950e41f4b71Sopenharmony_ci 5951e41f4b71Sopenharmony_ci**Parameters** 5952e41f4b71Sopenharmony_ci 5953e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 5954e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5955e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | Yes| **Scope** specified.| 5956e41f4b71Sopenharmony_ci 5957e41f4b71Sopenharmony_ci**Return value** 5958e41f4b71Sopenharmony_ci 5959e41f4b71Sopenharmony_ci| Type| Description| 5960e41f4b71Sopenharmony_ci| -------- | -------- | 5961e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | Union set of this **Scope** and the given **Scope**.| 5962e41f4b71Sopenharmony_ci 5963e41f4b71Sopenharmony_ci**Example** 5964e41f4b71Sopenharmony_ci 5965e41f4b71Sopenharmony_ci ```ts 5966e41f4b71Sopenharmony_ci class Temperature{ 5967e41f4b71Sopenharmony_ci private readonly _temp: number; 5968e41f4b71Sopenharmony_ci constructor(value : number) { 5969e41f4b71Sopenharmony_ci this._temp = value; 5970e41f4b71Sopenharmony_ci } 5971e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5972e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5973e41f4b71Sopenharmony_ci } 5974e41f4b71Sopenharmony_ci getTemp() { 5975e41f4b71Sopenharmony_ci return this._temp; 5976e41f4b71Sopenharmony_ci } 5977e41f4b71Sopenharmony_ci toString() : string { 5978e41f4b71Sopenharmony_ci return this._temp.toString(); 5979e41f4b71Sopenharmony_ci } 5980e41f4b71Sopenharmony_ci } 5981e41f4b71Sopenharmony_ci 5982e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5983e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5984e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5985e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5986e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5987e41f4b71Sopenharmony_ci let rangeFir = new util.Scope(tempMiDF, tempMidS); 5988e41f4b71Sopenharmony_ci let result = range.expand(rangeFir); 5989e41f4b71Sopenharmony_ci ``` 5990e41f4b71Sopenharmony_ci 5991e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5992e41f4b71Sopenharmony_ci 5993e41f4b71Sopenharmony_ciexpand(value: ScopeType): Scope 5994e41f4b71Sopenharmony_ci 5995e41f4b71Sopenharmony_ciObtains the union set of this **Scope** and the given value. 5996e41f4b71Sopenharmony_ci 5997e41f4b71Sopenharmony_ci> **NOTE** 5998e41f4b71Sopenharmony_ci> 5999e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.expand<sup>9+</sup>](#expand9-2) instead. 6000e41f4b71Sopenharmony_ci 6001e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6002e41f4b71Sopenharmony_ci 6003e41f4b71Sopenharmony_ci**Parameters** 6004e41f4b71Sopenharmony_ci 6005e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6006e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6007e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes| Value specified.| 6008e41f4b71Sopenharmony_ci 6009e41f4b71Sopenharmony_ci**Return value** 6010e41f4b71Sopenharmony_ci 6011e41f4b71Sopenharmony_ci| Type| Description| 6012e41f4b71Sopenharmony_ci| -------- | -------- | 6013e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | Union set of this **Scope** and the given value.| 6014e41f4b71Sopenharmony_ci 6015e41f4b71Sopenharmony_ci**Example** 6016e41f4b71Sopenharmony_ci 6017e41f4b71Sopenharmony_ci ```ts 6018e41f4b71Sopenharmony_ci class Temperature{ 6019e41f4b71Sopenharmony_ci private readonly _temp: number; 6020e41f4b71Sopenharmony_ci constructor(value : number) { 6021e41f4b71Sopenharmony_ci this._temp = value; 6022e41f4b71Sopenharmony_ci } 6023e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6024e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6025e41f4b71Sopenharmony_ci } 6026e41f4b71Sopenharmony_ci getTemp() { 6027e41f4b71Sopenharmony_ci return this._temp; 6028e41f4b71Sopenharmony_ci } 6029e41f4b71Sopenharmony_ci toString() : string { 6030e41f4b71Sopenharmony_ci return this._temp.toString(); 6031e41f4b71Sopenharmony_ci } 6032e41f4b71Sopenharmony_ci } 6033e41f4b71Sopenharmony_ci 6034e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6035e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6036e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6037e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6038e41f4b71Sopenharmony_ci let result = range.expand(tempMiDF); 6039e41f4b71Sopenharmony_ci ``` 6040e41f4b71Sopenharmony_ci 6041e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 6042e41f4b71Sopenharmony_ci 6043e41f4b71Sopenharmony_cicontains(value: ScopeType): boolean 6044e41f4b71Sopenharmony_ci 6045e41f4b71Sopenharmony_ciChecks whether a value is within this **Scope**. 6046e41f4b71Sopenharmony_ci 6047e41f4b71Sopenharmony_ci> **NOTE** 6048e41f4b71Sopenharmony_ci> 6049e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.contains<sup>9+</sup>](#contains9-1) instead. 6050e41f4b71Sopenharmony_ci 6051e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6052e41f4b71Sopenharmony_ci 6053e41f4b71Sopenharmony_ci**Parameters** 6054e41f4b71Sopenharmony_ci 6055e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6056e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6057e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes| Value specified.| 6058e41f4b71Sopenharmony_ci 6059e41f4b71Sopenharmony_ci**Return value** 6060e41f4b71Sopenharmony_ci 6061e41f4b71Sopenharmony_ci| Type| Description| 6062e41f4b71Sopenharmony_ci| -------- | -------- | 6063e41f4b71Sopenharmony_ci| boolean | Returns **true** if the value is within this **Scope**; returns **false** otherwise.| 6064e41f4b71Sopenharmony_ci 6065e41f4b71Sopenharmony_ci**Example** 6066e41f4b71Sopenharmony_ci 6067e41f4b71Sopenharmony_ci ```ts 6068e41f4b71Sopenharmony_ci class Temperature{ 6069e41f4b71Sopenharmony_ci private readonly _temp: number; 6070e41f4b71Sopenharmony_ci constructor(value : number) { 6071e41f4b71Sopenharmony_ci this._temp = value; 6072e41f4b71Sopenharmony_ci } 6073e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6074e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6075e41f4b71Sopenharmony_ci } 6076e41f4b71Sopenharmony_ci getTemp() { 6077e41f4b71Sopenharmony_ci return this._temp; 6078e41f4b71Sopenharmony_ci } 6079e41f4b71Sopenharmony_ci toString() : string { 6080e41f4b71Sopenharmony_ci return this._temp.toString(); 6081e41f4b71Sopenharmony_ci } 6082e41f4b71Sopenharmony_ci } 6083e41f4b71Sopenharmony_ci 6084e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6085e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6086e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6087e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6088e41f4b71Sopenharmony_ci let result = range.contains(tempMiDF); 6089e41f4b71Sopenharmony_ci ``` 6090e41f4b71Sopenharmony_ci 6091e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 6092e41f4b71Sopenharmony_ci 6093e41f4b71Sopenharmony_cicontains(range: Scope): boolean 6094e41f4b71Sopenharmony_ci 6095e41f4b71Sopenharmony_ciChecks whether a range is within this **Scope**. 6096e41f4b71Sopenharmony_ci 6097e41f4b71Sopenharmony_ci> **NOTE** 6098e41f4b71Sopenharmony_ci> 6099e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.contains<sup>9+</sup>](#contains9-2) instead. 6100e41f4b71Sopenharmony_ci 6101e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6102e41f4b71Sopenharmony_ci 6103e41f4b71Sopenharmony_ci**Parameters** 6104e41f4b71Sopenharmony_ci 6105e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6106e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6107e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | Yes| **Scope** specified.| 6108e41f4b71Sopenharmony_ci 6109e41f4b71Sopenharmony_ci**Return value** 6110e41f4b71Sopenharmony_ci 6111e41f4b71Sopenharmony_ci| Type| Description| 6112e41f4b71Sopenharmony_ci| -------- | -------- | 6113e41f4b71Sopenharmony_ci| boolean | Returns **true** if the range is within this **Scope**; returns **false** otherwise.| 6114e41f4b71Sopenharmony_ci 6115e41f4b71Sopenharmony_ci**Example** 6116e41f4b71Sopenharmony_ci 6117e41f4b71Sopenharmony_ci ```ts 6118e41f4b71Sopenharmony_ci class Temperature{ 6119e41f4b71Sopenharmony_ci private readonly _temp: number; 6120e41f4b71Sopenharmony_ci constructor(value : number) { 6121e41f4b71Sopenharmony_ci this._temp = value; 6122e41f4b71Sopenharmony_ci } 6123e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6124e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6125e41f4b71Sopenharmony_ci } 6126e41f4b71Sopenharmony_ci getTemp() { 6127e41f4b71Sopenharmony_ci return this._temp; 6128e41f4b71Sopenharmony_ci } 6129e41f4b71Sopenharmony_ci toString() : string { 6130e41f4b71Sopenharmony_ci return this._temp.toString(); 6131e41f4b71Sopenharmony_ci } 6132e41f4b71Sopenharmony_ci } 6133e41f4b71Sopenharmony_ci 6134e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6135e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6136e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6137e41f4b71Sopenharmony_ci let tempLess = new Temperature(20); 6138e41f4b71Sopenharmony_ci let tempMore = new Temperature(45); 6139e41f4b71Sopenharmony_ci let rangeSec = new util.Scope(tempLess, tempMore); 6140e41f4b71Sopenharmony_ci let result = range.contains(rangeSec); 6141e41f4b71Sopenharmony_ci ``` 6142e41f4b71Sopenharmony_ci 6143e41f4b71Sopenharmony_ci### clamp<sup>(deprecated)</sup> 6144e41f4b71Sopenharmony_ci 6145e41f4b71Sopenharmony_ci 6146e41f4b71Sopenharmony_ciclamp(value: ScopeType): ScopeType 6147e41f4b71Sopenharmony_ci 6148e41f4b71Sopenharmony_ciLimits a value to this **Scope**. 6149e41f4b71Sopenharmony_ci 6150e41f4b71Sopenharmony_ci> **NOTE** 6151e41f4b71Sopenharmony_ci> 6152e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [ScopeHelper.clamp<sup>9+</sup>](#clamp9) instead. 6153e41f4b71Sopenharmony_ci 6154e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6155e41f4b71Sopenharmony_ci 6156e41f4b71Sopenharmony_ci**Parameters** 6157e41f4b71Sopenharmony_ci 6158e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6159e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6160e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | Yes| Value specified.| 6161e41f4b71Sopenharmony_ci 6162e41f4b71Sopenharmony_ci**Return value** 6163e41f4b71Sopenharmony_ci 6164e41f4b71Sopenharmony_ci| Type| Description| 6165e41f4b71Sopenharmony_ci| -------- | -------- | 6166e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | Returns **lowerObj** if the specified value is less than the lower limit; returns **upperObj** if the specified value is greater than the upper limit; returns the specified value if it is within this **Scope**.| 6167e41f4b71Sopenharmony_ci 6168e41f4b71Sopenharmony_ci**Example** 6169e41f4b71Sopenharmony_ci 6170e41f4b71Sopenharmony_ci ```ts 6171e41f4b71Sopenharmony_ci class Temperature{ 6172e41f4b71Sopenharmony_ci private readonly _temp: number; 6173e41f4b71Sopenharmony_ci constructor(value : number) { 6174e41f4b71Sopenharmony_ci this._temp = value; 6175e41f4b71Sopenharmony_ci } 6176e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6177e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6178e41f4b71Sopenharmony_ci } 6179e41f4b71Sopenharmony_ci getTemp() { 6180e41f4b71Sopenharmony_ci return this._temp; 6181e41f4b71Sopenharmony_ci } 6182e41f4b71Sopenharmony_ci toString() : string { 6183e41f4b71Sopenharmony_ci return this._temp.toString(); 6184e41f4b71Sopenharmony_ci } 6185e41f4b71Sopenharmony_ci } 6186e41f4b71Sopenharmony_ci 6187e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6188e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6189e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6190e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6191e41f4b71Sopenharmony_ci let result = range.clamp(tempMiDF); 6192e41f4b71Sopenharmony_ci ``` 6193e41f4b71Sopenharmony_ci 6194e41f4b71Sopenharmony_ci 6195e41f4b71Sopenharmony_ci## Base64<sup>(deprecated)</sup> 6196e41f4b71Sopenharmony_ci 6197e41f4b71Sopenharmony_ci> **NOTE** 6198e41f4b71Sopenharmony_ci> 6199e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper<sup>9+</sup>](#base64helper9) instead. 6200e41f4b71Sopenharmony_ci 6201e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 6202e41f4b71Sopenharmony_ci 6203e41f4b71Sopenharmony_ciconstructor() 6204e41f4b71Sopenharmony_ci 6205e41f4b71Sopenharmony_ciA constructor used to create a **Base64** object. 6206e41f4b71Sopenharmony_ci 6207e41f4b71Sopenharmony_ci> **NOTE** 6208e41f4b71Sopenharmony_ci> 6209e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.constructor<sup>9+</sup>](#constructor9-5) instead. 6210e41f4b71Sopenharmony_ci 6211e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6212e41f4b71Sopenharmony_ci 6213e41f4b71Sopenharmony_ci**Example** 6214e41f4b71Sopenharmony_ci 6215e41f4b71Sopenharmony_ci ```ts 6216e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6217e41f4b71Sopenharmony_ci ``` 6218e41f4b71Sopenharmony_ci 6219e41f4b71Sopenharmony_ci### encodeSync<sup>(deprecated)</sup> 6220e41f4b71Sopenharmony_ci 6221e41f4b71Sopenharmony_ciencodeSync(src: Uint8Array): Uint8Array 6222e41f4b71Sopenharmony_ci 6223e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. This API returns the result synchronously. 6224e41f4b71Sopenharmony_ci 6225e41f4b71Sopenharmony_ci> **NOTE** 6226e41f4b71Sopenharmony_ci> 6227e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.encodeSync<sup>9+</sup>](#encodesync9) instead. 6228e41f4b71Sopenharmony_ci 6229e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6230e41f4b71Sopenharmony_ci 6231e41f4b71Sopenharmony_ci**Parameters** 6232e41f4b71Sopenharmony_ci 6233e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6234e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6235e41f4b71Sopenharmony_ci| src | Uint8Array | Yes| Uint8Array object to encode.| 6236e41f4b71Sopenharmony_ci 6237e41f4b71Sopenharmony_ci**Return value** 6238e41f4b71Sopenharmony_ci 6239e41f4b71Sopenharmony_ci| Type| Description| 6240e41f4b71Sopenharmony_ci| -------- | -------- | 6241e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 6242e41f4b71Sopenharmony_ci 6243e41f4b71Sopenharmony_ci**Example** 6244e41f4b71Sopenharmony_ci 6245e41f4b71Sopenharmony_ci ```ts 6246e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6247e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6248e41f4b71Sopenharmony_ci let result = base64.encodeSync(array); 6249e41f4b71Sopenharmony_ci ``` 6250e41f4b71Sopenharmony_ci 6251e41f4b71Sopenharmony_ci### encodeToStringSync<sup>(deprecated)</sup> 6252e41f4b71Sopenharmony_ci 6253e41f4b71Sopenharmony_ciencodeToStringSync(src: Uint8Array): string 6254e41f4b71Sopenharmony_ci 6255e41f4b71Sopenharmony_ciEncodes the input content into a string. This API returns the result synchronously. 6256e41f4b71Sopenharmony_ci 6257e41f4b71Sopenharmony_ci> **NOTE** 6258e41f4b71Sopenharmony_ci> 6259e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.encodeToStringSync<sup>9+</sup>](#encodetostringsync9) instead. 6260e41f4b71Sopenharmony_ci 6261e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6262e41f4b71Sopenharmony_ci 6263e41f4b71Sopenharmony_ci**Parameters** 6264e41f4b71Sopenharmony_ci 6265e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6266e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6267e41f4b71Sopenharmony_ci| src | Uint8Array | Yes| Uint8Array object to encode.| 6268e41f4b71Sopenharmony_ci 6269e41f4b71Sopenharmony_ci**Return value** 6270e41f4b71Sopenharmony_ci 6271e41f4b71Sopenharmony_ci| Type| Description| 6272e41f4b71Sopenharmony_ci| -------- | -------- | 6273e41f4b71Sopenharmony_ci| string | String obtained.| 6274e41f4b71Sopenharmony_ci 6275e41f4b71Sopenharmony_ci**Example** 6276e41f4b71Sopenharmony_ci 6277e41f4b71Sopenharmony_ci ```ts 6278e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6279e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6280e41f4b71Sopenharmony_ci let result = base64.encodeToStringSync(array); 6281e41f4b71Sopenharmony_ci ``` 6282e41f4b71Sopenharmony_ci 6283e41f4b71Sopenharmony_ci### decodeSync<sup>(deprecated)</sup> 6284e41f4b71Sopenharmony_ci 6285e41f4b71Sopenharmony_cidecodeSync(src: Uint8Array | string): Uint8Array 6286e41f4b71Sopenharmony_ci 6287e41f4b71Sopenharmony_ciDecodes the input content into a Uint8Array object. 6288e41f4b71Sopenharmony_ci 6289e41f4b71Sopenharmony_ci> **NOTE** 6290e41f4b71Sopenharmony_ci> 6291e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.decodeSync<sup>9+</sup>](#decodesync9) instead. 6292e41f4b71Sopenharmony_ci 6293e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6294e41f4b71Sopenharmony_ci 6295e41f4b71Sopenharmony_ci**Parameters** 6296e41f4b71Sopenharmony_ci 6297e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6298e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6299e41f4b71Sopenharmony_ci| src | Uint8Array \| string | Yes| Uint8Array object or string to decode.| 6300e41f4b71Sopenharmony_ci 6301e41f4b71Sopenharmony_ci**Return value** 6302e41f4b71Sopenharmony_ci 6303e41f4b71Sopenharmony_ci| Type| Description| 6304e41f4b71Sopenharmony_ci| -------- | -------- | 6305e41f4b71Sopenharmony_ci| Uint8Array | Uint8Array object obtained.| 6306e41f4b71Sopenharmony_ci 6307e41f4b71Sopenharmony_ci**Example** 6308e41f4b71Sopenharmony_ci 6309e41f4b71Sopenharmony_ci ```ts 6310e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6311e41f4b71Sopenharmony_ci let buff = 'czEz'; 6312e41f4b71Sopenharmony_ci let result = base64.decodeSync(buff); 6313e41f4b71Sopenharmony_ci ``` 6314e41f4b71Sopenharmony_ci 6315e41f4b71Sopenharmony_ci### encode<sup>(deprecated)</sup> 6316e41f4b71Sopenharmony_ci 6317e41f4b71Sopenharmony_ciencode(src: Uint8Array): Promise<Uint8Array> 6318e41f4b71Sopenharmony_ci 6319e41f4b71Sopenharmony_ciEncodes the input content into a Uint8Array object. This API uses a promise to return the result. 6320e41f4b71Sopenharmony_ci 6321e41f4b71Sopenharmony_ci> **NOTE** 6322e41f4b71Sopenharmony_ci> 6323e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.encode<sup>9+</sup>](#encode9) instead. 6324e41f4b71Sopenharmony_ci 6325e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6326e41f4b71Sopenharmony_ci 6327e41f4b71Sopenharmony_ci**Parameters** 6328e41f4b71Sopenharmony_ci 6329e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6330e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6331e41f4b71Sopenharmony_ci| src | Uint8Array | Yes| Uint8Array object to encode.| 6332e41f4b71Sopenharmony_ci 6333e41f4b71Sopenharmony_ci**Return value** 6334e41f4b71Sopenharmony_ci 6335e41f4b71Sopenharmony_ci| Type| Description| 6336e41f4b71Sopenharmony_ci| -------- | -------- | 6337e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise used to return the Uint8Array object obtained.| 6338e41f4b71Sopenharmony_ci 6339e41f4b71Sopenharmony_ci**Example** 6340e41f4b71Sopenharmony_ci 6341e41f4b71Sopenharmony_ci ```ts 6342e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6343e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6344e41f4b71Sopenharmony_ci base64.encode(array).then((val) => { 6345e41f4b71Sopenharmony_ci console.info(val.toString()); 6346e41f4b71Sopenharmony_ci }) 6347e41f4b71Sopenharmony_ci ``` 6348e41f4b71Sopenharmony_ci 6349e41f4b71Sopenharmony_ci### encodeToString<sup>(deprecated)</sup> 6350e41f4b71Sopenharmony_ci 6351e41f4b71Sopenharmony_ciencodeToString(src: Uint8Array): Promise<string> 6352e41f4b71Sopenharmony_ci 6353e41f4b71Sopenharmony_ciEncodes the input content into a string. This API uses a promise to return the result. 6354e41f4b71Sopenharmony_ci 6355e41f4b71Sopenharmony_ci> **NOTE** 6356e41f4b71Sopenharmony_ci> 6357e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.encodeToString<sup>9+</sup>](#encodetostring9) instead. 6358e41f4b71Sopenharmony_ci 6359e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6360e41f4b71Sopenharmony_ci 6361e41f4b71Sopenharmony_ci**Parameters** 6362e41f4b71Sopenharmony_ci 6363e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6364e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6365e41f4b71Sopenharmony_ci| src | Uint8Array | Yes| Uint8Array object to encode.| 6366e41f4b71Sopenharmony_ci 6367e41f4b71Sopenharmony_ci**Return value** 6368e41f4b71Sopenharmony_ci 6369e41f4b71Sopenharmony_ci| Type| Description| 6370e41f4b71Sopenharmony_ci| -------- | -------- | 6371e41f4b71Sopenharmony_ci| Promise<string> | Promise used to return the string obtained.| 6372e41f4b71Sopenharmony_ci 6373e41f4b71Sopenharmony_ci**Example** 6374e41f4b71Sopenharmony_ci 6375e41f4b71Sopenharmony_ci ```ts 6376e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6377e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6378e41f4b71Sopenharmony_ci base64.encodeToString(array).then((val) => { 6379e41f4b71Sopenharmony_ci console.info(val); 6380e41f4b71Sopenharmony_ci }) 6381e41f4b71Sopenharmony_ci ``` 6382e41f4b71Sopenharmony_ci 6383e41f4b71Sopenharmony_ci### decode<sup>(deprecated)</sup> 6384e41f4b71Sopenharmony_ci 6385e41f4b71Sopenharmony_ci 6386e41f4b71Sopenharmony_cidecode(src: Uint8Array | string): Promise<Uint8Array> 6387e41f4b71Sopenharmony_ci 6388e41f4b71Sopenharmony_ciDecodes the input content into a Uint8Array object. This API uses a promise to return the result. 6389e41f4b71Sopenharmony_ci 6390e41f4b71Sopenharmony_ci> **NOTE** 6391e41f4b71Sopenharmony_ci> 6392e41f4b71Sopenharmony_ci> This API is supported since API version 8 and deprecated since API version 9. You are advised to use [Base64Helper.decode<sup>9+</sup>](#decode9) instead. 6393e41f4b71Sopenharmony_ci 6394e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang 6395e41f4b71Sopenharmony_ci 6396e41f4b71Sopenharmony_ci**Parameters** 6397e41f4b71Sopenharmony_ci 6398e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 6399e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6400e41f4b71Sopenharmony_ci| src | Uint8Array \| string | Yes| Uint8Array object or string to decode.| 6401e41f4b71Sopenharmony_ci 6402e41f4b71Sopenharmony_ci**Return value** 6403e41f4b71Sopenharmony_ci 6404e41f4b71Sopenharmony_ci| Type| Description| 6405e41f4b71Sopenharmony_ci| -------- | -------- | 6406e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise used to return the Uint8Array object obtained.| 6407e41f4b71Sopenharmony_ci 6408e41f4b71Sopenharmony_ci**Example** 6409e41f4b71Sopenharmony_ci 6410e41f4b71Sopenharmony_ci ```ts 6411e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6412e41f4b71Sopenharmony_ci let array = new Uint8Array([99,122,69,122]); 6413e41f4b71Sopenharmony_ci base64.decode(array).then((val) => { 6414e41f4b71Sopenharmony_ci console.info(val.toString()); 6415e41f4b71Sopenharmony_ci }) 6416e41f4b71Sopenharmony_ci ``` 6417