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 )=&gt;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) =&gt; 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) =&gt; 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&nbsp;[] | 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&nbsp;[] | 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&nbsp;\|&nbsp;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&lt;[K,V]&gt;
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,&nbsp;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&lt;[K, V]&gt;
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,&nbsp;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&nbsp;\|&nbsp;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&lt;Uint8Array&gt;
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&lt;Uint8Array&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;Uint8Array&gt;
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&nbsp;\|&nbsp;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&lt;Uint8Array&gt; | 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&nbsp;\|&nbsp;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&nbsp;[] | 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&nbsp;[] | 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&nbsp;\|&nbsp;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&lt;[K,V]&gt;
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,&nbsp;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&lt;[K, V]&gt;
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,&nbsp;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&nbsp;\|&nbsp;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&lt;Uint8Array&gt;
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&lt;Uint8Array&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;Uint8Array&gt;
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&nbsp;\|&nbsp;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&lt;Uint8Array&gt; | 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