1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16var o = { 17 "foo" : function() { 18 var number0 = 1; 19 var string0 = "helloworld"; 20 var boolean0 = new Boolean(0); 21 var obj0 = { 22 "key0": "value0", 23 "key1": 100 24 }; 25 function function0() { 26 var test = 0; 27 } 28 var map0 = new Map(); 29 var set0 = new Set(); 30 var undefined0 = undefined; 31 let array0 = ['Apple', 'Banana'] 32 function* generator0() { 33 let aa = 0; 34 var a1 = 100; 35 yield 1; 36 yield 2; 37 yield 3; 38 } 39 var regexp0 = /^\d+\.\d+$/i; 40 var arraybuffer0 = new ArrayBuffer(24); 41 var uint8array0 = new Uint8Array(arraybuffer0); 42 const dataview0 = new DataView(arraybuffer0, 0); 43 var bigint0 = BigInt(999n); 44 var typedarray0 = new Uint8Array(); 45 var sharedarraybuffer0 = new SharedArrayBuffer(32); 46 var iterator0 = string0[Symbol.iterator]; 47 var weakref0 = new WeakRef(obj0); 48 49 var set1 = new Set(); 50 set1.add(number0); 51 var set2 = new Set(string0); 52 var set3 = new Set(); 53 set3.add(obj0); 54 var set4 = new Set(undefined0); 55 var set5 = new Set(array0); 56 var set6 = new Set(); 57 var set7 = new Set(); 58 var set8 = new Set(); 59 set8.add(generator0); 60 var set9 = new Set(); 61 set9.add(regexp0); 62 var set10 = new Set(); 63 set10.add(arraybuffer0); 64 var set11 = new Set(); 65 set11.add(uint8array0); 66 var set12 = new Set(); 67 set12.add(dataview0); 68 var set13 = new Set(); 69 set13.add(function0); 70 var set14 = set0; 71 var set15 = new Set(); 72 set15.add(0); 73 set15.add("hello"); 74 set15.add(obj0); 75 set15.add(number0); 76 var set16 = new Set(); 77 set16.add(map0); 78 var set17 = new Set(); 79 set17.add(bigint0); 80 var set18 = new Set(); 81 set18.add(boolean0); 82 var set19 = new Set(set0); 83 84 var number1 = 65535; 85 var number2 = 5e-324; 86 var number3 = 10 ** 10; 87 var number4 = 0x1ffffffffff; 88 var number5 = 0b11111111111111; 89 var number6 = new Number(bigint0); 90 var number7 = 123e45; 91 var number8 = number0; 92 var number9 = number0 + number1; 93 var number10 = number0 - number1; 94 var number11 = number0 * number1; 95 var number12 = number0 / number1; 96 var number13 = number0 % number1; 97 var number14 = new Number(0); 98 var number15 = new Number(1.7976931348623157e+308); 99 var number16 = new Number(5e-324); 100 var number17 = new Number(10 ** 10); 101 var number18 = new Number(0x1ffffffffff); 102 var number19 = new Number(0b11111111111111); 103 var number20 = new Number(123e45); 104 var number21 = new Number(number0); 105 var number22 = new Number(number0 + number1); 106 var number23 = new Number(number0 - number1); 107 var number24 = new Number(number0 * number1); 108 var number25 = new Number(number0 / number1); 109 var number26 = new Number(number0 % number1); 110 var number27 = 1.7976931348623157e+308; 111 112 var string1 = ""; 113 var string2 = string1; 114 var string3 = string1 + 'world'; 115 var string4 = 'hello' + 'world' 116 var string5 = string4.charAt(1); 117 var string6 = string1 + number0; 118 var string7 = new String(string1); 119 var string8 = new String(set0); 120 var string9 = new String(number0); 121 var string10 = new String(string0); 122 var string11 = new String(obj0); 123 var string12 = new String(undefined0); 124 var string13 = new String(array0); 125 var string14 = new String(bigint0); 126 var string15 = new String(generator0); 127 var string16 = new String(regexp0); 128 var string17 = new String(arraybuffer0); 129 var string18 = new String(uint8array0); 130 var string19 = new String(dataview0); 131 var string20 = new String(map0); 132 var string21 = new String(function0); 133 134 var bigint1 = BigInt(9007199254740991n); 135 var bigint2 = BigInt(9007199254740991); 136 var bigint3 = BigInt("9007199254740991"); 137 var bigint4 = BigInt("0x1fffffffffffff"); 138 var bigint5 = BigInt(0x1fffffffffffff); 139 var bigint6 = BigInt("0b11111111111111111111111111111111111111111111111111111"); 140 var bigint7 = bigint0; 141 var bigint8 = bigint0 + bigint1; 142 var bigint9 = bigint0 - bigint1; 143 var bigint10 = bigint0 * bigint1; 144 var bigint11 = bigint0 / bigint1; 145 var bigint12 = bigint0 % bigint1; 146 var bigint13 = 10n ** 10n; 147 var bigint14 = 888888888888888888888888888888888888888888888n; 148 var bigint15 = BigInt(0b11111111111111); 149 var bigint16 = BigInt(0); 150 var bigint17 = 0n; 151 var bigint18 = BigInt(123e45); 152 var bigint19 = BigInt("01234567"); 153 var bigint20 = BigInt(number1); 154 155 var boolean1 = new Boolean(1); 156 var boolean2 = new Boolean(-1); 157 var boolean3 = new Boolean(true); 158 var boolean4 = new Boolean(false); 159 var boolean5 = new Boolean(boolean0 + boolean1); 160 var boolean6 = new Boolean(boolean0 && boolean1); 161 var boolean7 = new Boolean(boolean0 || boolean1); 162 var boolean8 = new Boolean(!boolean0); 163 var boolean9 = true; 164 var boolean10 = false; 165 var boolean11 = boolean0; 166 var boolean12 = boolean0 && boolean10; 167 var boolean13 = boolean0 || boolean10; 168 var boolean14 = !boolean10; 169 var boolean15 = new Boolean("hello"); 170 var boolean16 = new Boolean(""); 171 var boolean17 = new Boolean(function0); 172 var boolean18 = new Boolean(map0); 173 var boolean19 = new Boolean(set0); 174 var boolean20 = new Boolean(number0); 175 var boolean21 = new Boolean(string0); 176 var boolean22 = new Boolean(obj0); 177 var boolean23 = new Boolean(undefined0); 178 var boolean24 = new Boolean(array0); 179 var boolean25 = new Boolean(generator0); 180 var boolean26 = new Boolean(regexp0); 181 var boolean27 = new Boolean(arraybuffer0); 182 var boolean28 = new Boolean(uint8array0); 183 var boolean29 = new Boolean(dataview0); 184 185 var map1 = new Map(map0); 186 var map2 = new Map([ 187 [1, 'hello'], 188 [2, 'world'] 189 ]); 190 var map3 = new Map(); 191 map3.set(NaN, 'NaN'); 192 var map4 = new Map(); 193 map4[0] = 'hello'; 194 var map5 = new Map(); 195 map5.set(0, 'zero'); 196 map5.set(1, 'one'); 197 map5.set(2, 'two'); 198 map5.set(3, 'three'); 199 var map6 = new Map(); 200 map6.set(set0, "set0"); 201 var map7 = new Map(); 202 map7.set(number0, "number0"); 203 var map8 = new Map(); 204 map8.set(string0, "string0"); 205 var map9 = new Map(); 206 map9.set(obj0, "object0"); 207 var map10 = new Map(); 208 map10.set(undefined0, "undefined0"); 209 var map11 = new Map(); 210 map11.set(array0, "array0"); 211 var map12 = new Map(); 212 map12.set(map3, "map3"); 213 var map13 = new Map(); 214 map13.set(generator0, "generator0"); 215 var map14 = new Map(); 216 map14.set(regexp0, "regexp0"); 217 var map15 = new Map(); 218 map15.set(arraybuffer0, "arraybuffer0"); 219 var map16 = new Map(); 220 map16.set(uint8array0, "uint8array0"); 221 var map17 = new Map(); 222 map17.set(dataview0, "dataview0"); 223 var map18 = new Map(); 224 map18.set(bigint10, "bigint10"); 225 var map19 = new Map(); 226 map19.set(function0, "function0"); 227 228 var object1 = {0 :'zero', 1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5 : 'five'}; 229 var object2 = object1; 230 var object3 = new Object({0 :'zero', 1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5 : 'five'}); 231 var object4 = new Object(set0); 232 var object5 = new Object(string0); 233 var object6 = new Object(map0); 234 var object7 = new Object(number0); 235 var object8 = new Object(obj0); 236 var object9 = new Object(undefined0); 237 var object10 = new Object(array0); 238 var object11 = new Object(bigint10); 239 var object12 = new Object(generator0); 240 var object13 = new Object(regexp0); 241 var object14 = new Object(bigint0); 242 var object15 = new Object(arraybuffer0); 243 var object16 = new Object(uint8array0); 244 var object17 = new Object(dataview0); 245 var object18 = new Object(boolean10); 246 var object19 = new Object(function0); 247 248 var regExp1 = /^a/g; 249 var regExp2 = new RegExp('^ab+c', 'g'); 250 var regExp3 = /123$/; 251 var regExp4 = /\d/i; 252 var regExp5 = new RegExp('^[a-zA-Z]/w{5,17}$', 'iu'); 253 var regExp6 = /[A-Z]/m; 254 var regExp7 = new RegExp('(/d{3}-|/d{4}-)?(/d{8}|/d{7})?', 'mg'); 255 var regExp8 = /[a-z]/y; 256 var regExp9 = /\s/u; 257 var regExp10 = /a+/s; 258 var regExp11 = new RegExp('(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?', 's'); 259 var regExp12 = /a?/gy; 260 var regExp13 = new RegExp('/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/'); 261 var regExp14 = /a*/igmy; 262 var regExp15 = new RegExp('^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$', 'ig'); 263 var regExp16 = /a|b/iymsg; 264 var regExp17 = new RegExp('^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$'); 265 var regExp18 = /\/<(.*)>.*<\/\/\/1>|<(.*) \/\/>/i; 266 var regExp19 = new RegExp('^[1-9]*[1-9][0-9]*$', 'm'); 267 var regExp20 = /^[a-zA-Z]\/w{5,17}$/; 268 var regExp21 = new RegExp('^[0-9a-zA-Z_]{1,}$', 'u'); 269 270 var target = { 271 name: "openharmony", 272 age: 3 273 }; 274 var handler = { 275 get(target, key) { 276 let result = target[key]; 277 if (key === "age") result += "岁"; 278 return result; 279 }, 280 set(target, key, value) { 281 if (key === "age" && typeof value !== "number") { 282 throw Error("age字段必须为Number类型"); 283 } 284 return Reflect.set(target, key, value); 285 } 286 } 287 var {proxy, revoke} = Proxy.revocable(target, handler); 288 var proxy1 = new Proxy(target, handler); 289 var proxy2 = Proxy.revocable(target, handler); 290 291 revoke(); 292 proxy2.revoke(); 293 294 var promiseFulfilled = new Promise((resolve, reject) => { 295 let result = { 296 flag: true 297 } 298 if (result.flag == true) { 299 resolve(result); 300 } else { 301 reject(new Error("The promise is rejected")); 302 } 303 }); 304 var string22 = "\uD83D"; 305 var string23 = string22 + "\uDE42"; 306 var string24 = "\u{1F468}"; 307 var string25 = string24 + "\u200D\u{1F468}\u200D\u{1F467}\u200D\u{1F466}\u200D"; 308 print(string22); 309 print(string23); 310 print(string24); 311 print(string25); 312 313 function resolveHandler(result) { 314 let a = promiseFulfilled; 315 print("promise is fulfilled with result.flag " + result.flag); 316 } 317 318 function rejectHandler(error) { 319 print(error.message); 320 } 321 322 promiseFulfilled.then(result => resolveHandler(result)).catch(error => rejectHandler(error)); 323 324 var nop = undefined; 325 } 326} 327 328o.foo()