CodePointMapData8.mjs (25258B)
1 // generated by diplomat-tool 2 import { CodePointRangeIterator } from "./CodePointRangeIterator.mjs" 3 import { CodePointSetData } from "./CodePointSetData.mjs" 4 import { DataError } from "./DataError.mjs" 5 import { DataProvider } from "./DataProvider.mjs" 6 import { GeneralCategoryGroup } from "./GeneralCategoryGroup.mjs" 7 import wasm from "./diplomat-wasm.mjs"; 8 import * as diplomatRuntime from "./diplomat-runtime.mjs"; 9 10 11 /** 12 * An ICU4X Unicode Map Property object, capable of querying whether a code point (key) to obtain the Unicode property value, for a specific Unicode property. 13 * 14 * For properties whose values fit into 8 bits. 15 * 16 * See the [Rust documentation for `properties`](https://docs.rs/icu/latest/icu/properties/index.html) for more information. 17 * 18 * See the [Rust documentation for `CodePointMapData`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapData.html) for more information. 19 * 20 * See the [Rust documentation for `CodePointMapDataBorrowed`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html) for more information. 21 */ 22 const CodePointMapData8_box_destroy_registry = new FinalizationRegistry((ptr) => { 23 wasm.icu4x_CodePointMapData8_destroy_mv1(ptr); 24 }); 25 26 export class CodePointMapData8 { 27 // Internal ptr reference: 28 #ptr = null; 29 30 // Lifetimes are only to keep dependencies alive. 31 // Since JS won't garbage collect until there are no incoming edges. 32 #selfEdge = []; 33 34 #internalConstructor(symbol, ptr, selfEdge) { 35 if (symbol !== diplomatRuntime.internalConstructor) { 36 console.error("CodePointMapData8 is an Opaque type. You cannot call its constructor."); 37 return; 38 } 39 this.#ptr = ptr; 40 this.#selfEdge = selfEdge; 41 42 // Are we being borrowed? If not, we can register. 43 if (this.#selfEdge.length === 0) { 44 CodePointMapData8_box_destroy_registry.register(this, this.#ptr); 45 } 46 47 return this; 48 } 49 get ffiValue() { 50 return this.#ptr; 51 } 52 53 54 /** 55 * Gets the value for a code point. 56 * 57 * See the [Rust documentation for `get`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html#method.get) for more information. 58 */ 59 get(cp) { 60 61 const result = wasm.icu4x_CodePointMapData8_get_mv1(this.ffiValue, cp); 62 63 try { 64 return result; 65 } 66 67 finally { 68 } 69 } 70 71 /** 72 * Produces an iterator over ranges of code points that map to `value` 73 * 74 * See the [Rust documentation for `iter_ranges_for_value`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html#method.iter_ranges_for_value) for more information. 75 */ 76 iterRangesForValue(value) { 77 // This lifetime edge depends on lifetimes 'a 78 let aEdges = [this]; 79 80 81 const result = wasm.icu4x_CodePointMapData8_iter_ranges_for_value_mv1(this.ffiValue, value); 82 83 try { 84 return new CodePointRangeIterator(diplomatRuntime.internalConstructor, result, [], aEdges); 85 } 86 87 finally { 88 } 89 } 90 91 /** 92 * Produces an iterator over ranges of code points that do not map to `value` 93 * 94 * See the [Rust documentation for `iter_ranges_for_value_complemented`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html#method.iter_ranges_for_value_complemented) for more information. 95 */ 96 iterRangesForValueComplemented(value) { 97 // This lifetime edge depends on lifetimes 'a 98 let aEdges = [this]; 99 100 101 const result = wasm.icu4x_CodePointMapData8_iter_ranges_for_value_complemented_mv1(this.ffiValue, value); 102 103 try { 104 return new CodePointRangeIterator(diplomatRuntime.internalConstructor, result, [], aEdges); 105 } 106 107 finally { 108 } 109 } 110 111 /** 112 * Given a mask value (the nth bit marks property value = n), produce an iterator over ranges of code points 113 * whose property values are contained in the mask. 114 * 115 * The main mask property supported is that for General_Category, which can be obtained via `general_category_to_mask()` or 116 * by using `GeneralCategoryNameToMaskMapper` 117 * 118 * Should only be used on maps for properties with values less than 32 (like Generak_Category), 119 * other maps will have unpredictable results 120 * 121 * See the [Rust documentation for `iter_ranges_for_group`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html#method.iter_ranges_for_group) for more information. 122 */ 123 iterRangesForGroup(group) { 124 let functionCleanupArena = new diplomatRuntime.CleanupArena(); 125 126 // This lifetime edge depends on lifetimes 'a 127 let aEdges = [this]; 128 129 130 const result = wasm.icu4x_CodePointMapData8_iter_ranges_for_group_mv1(this.ffiValue, ...GeneralCategoryGroup._fromSuppliedValue(diplomatRuntime.internalConstructor, group)._intoFFI(functionCleanupArena, {})); 131 132 try { 133 return new CodePointRangeIterator(diplomatRuntime.internalConstructor, result, [], aEdges); 134 } 135 136 finally { 137 functionCleanupArena.free(); 138 139 } 140 } 141 142 /** 143 * Gets a [`CodePointSetData`] representing all entries in this map that map to the given value 144 * 145 * See the [Rust documentation for `get_set_for_value`](https://docs.rs/icu/latest/icu/properties/struct.CodePointMapDataBorrowed.html#method.get_set_for_value) for more information. 146 */ 147 getSetForValue(value) { 148 149 const result = wasm.icu4x_CodePointMapData8_get_set_for_value_mv1(this.ffiValue, value); 150 151 try { 152 return new CodePointSetData(diplomatRuntime.internalConstructor, result, []); 153 } 154 155 finally { 156 } 157 } 158 159 /** 160 * Create a map for the `General_Category` property, using compiled data. 161 * 162 * See the [Rust documentation for `GeneralCategory`](https://docs.rs/icu/latest/icu/properties/props/enum.GeneralCategory.html) for more information. 163 */ 164 static createGeneralCategory() { 165 166 const result = wasm.icu4x_CodePointMapData8_create_general_category_mv1(); 167 168 try { 169 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 170 } 171 172 finally { 173 } 174 } 175 176 /** 177 * Create a map for the `General_Category` property, using a particular data source 178 * 179 * See the [Rust documentation for `GeneralCategory`](https://docs.rs/icu/latest/icu/properties/props/enum.GeneralCategory.html) for more information. 180 */ 181 static createGeneralCategoryWithProvider(provider) { 182 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 183 184 185 const result = wasm.icu4x_CodePointMapData8_create_general_category_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 186 187 try { 188 if (!diplomatReceive.resultFlag) { 189 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 190 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 191 } 192 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 193 } 194 195 finally { 196 diplomatReceive.free(); 197 } 198 } 199 200 /** 201 * Create a map for the `Bidi_Class` property, using compiled data. 202 * 203 * See the [Rust documentation for `BidiClass`](https://docs.rs/icu/latest/icu/properties/props/struct.BidiClass.html) for more information. 204 */ 205 static createBidiClass() { 206 207 const result = wasm.icu4x_CodePointMapData8_create_bidi_class_mv1(); 208 209 try { 210 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 211 } 212 213 finally { 214 } 215 } 216 217 /** 218 * Create a map for the `Bidi_Class` property, using a particular data source. 219 * 220 * See the [Rust documentation for `BidiClass`](https://docs.rs/icu/latest/icu/properties/props/struct.BidiClass.html) for more information. 221 */ 222 static createBidiClassWithProvider(provider) { 223 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 224 225 226 const result = wasm.icu4x_CodePointMapData8_create_bidi_class_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 227 228 try { 229 if (!diplomatReceive.resultFlag) { 230 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 231 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 232 } 233 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 234 } 235 236 finally { 237 diplomatReceive.free(); 238 } 239 } 240 241 /** 242 * Create a map for the `East_Asian_Width` property, using compiled data. 243 * 244 * See the [Rust documentation for `EastAsianWidth`](https://docs.rs/icu/latest/icu/properties/props/struct.EastAsianWidth.html) for more information. 245 */ 246 static createEastAsianWidth() { 247 248 const result = wasm.icu4x_CodePointMapData8_create_east_asian_width_mv1(); 249 250 try { 251 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 252 } 253 254 finally { 255 } 256 } 257 258 /** 259 * Create a map for the `East_Asian_Width` property, using a particular data source. 260 * 261 * See the [Rust documentation for `EastAsianWidth`](https://docs.rs/icu/latest/icu/properties/props/struct.EastAsianWidth.html) for more information. 262 */ 263 static createEastAsianWidthWithProvider(provider) { 264 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 265 266 267 const result = wasm.icu4x_CodePointMapData8_create_east_asian_width_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 268 269 try { 270 if (!diplomatReceive.resultFlag) { 271 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 272 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 273 } 274 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 275 } 276 277 finally { 278 diplomatReceive.free(); 279 } 280 } 281 282 /** 283 * Create a map for the `Hangul_Syllable_Type` property, using compiled data. 284 * 285 * See the [Rust documentation for `HangulSyllableType`](https://docs.rs/icu/latest/icu/properties/props/struct.HangulSyllableType.html) for more information. 286 */ 287 static createHangulSyllableType() { 288 289 const result = wasm.icu4x_CodePointMapData8_create_hangul_syllable_type_mv1(); 290 291 try { 292 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 293 } 294 295 finally { 296 } 297 } 298 299 /** 300 * Create a map for the `Hangul_Syllable_Type` property, using a particular data source. 301 * 302 * See the [Rust documentation for `HangulSyllableType`](https://docs.rs/icu/latest/icu/properties/props/struct.HangulSyllableType.html) for more information. 303 */ 304 static createHangulSyllableTypeWithProvider(provider) { 305 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 306 307 308 const result = wasm.icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 309 310 try { 311 if (!diplomatReceive.resultFlag) { 312 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 313 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 314 } 315 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 316 } 317 318 finally { 319 diplomatReceive.free(); 320 } 321 } 322 323 /** 324 * Create a map for the `Indic_Syllabic_Property` property, using compiled data. 325 * 326 * See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html) for more information. 327 */ 328 static createIndicSyllabicCategory() { 329 330 const result = wasm.icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(); 331 332 try { 333 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 334 } 335 336 finally { 337 } 338 } 339 340 /** 341 * Create a map for the `Indic_Syllabic_Property` property, using a particular data source. 342 * 343 * See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html) for more information. 344 */ 345 static createIndicSyllabicCategoryWithProvider(provider) { 346 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 347 348 349 const result = wasm.icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 350 351 try { 352 if (!diplomatReceive.resultFlag) { 353 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 354 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 355 } 356 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 357 } 358 359 finally { 360 diplomatReceive.free(); 361 } 362 } 363 364 /** 365 * Create a map for the `Line_Break` property, using compiled data. 366 * 367 * See the [Rust documentation for `LineBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.LineBreak.html) for more information. 368 */ 369 static createLineBreak() { 370 371 const result = wasm.icu4x_CodePointMapData8_create_line_break_mv1(); 372 373 try { 374 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 375 } 376 377 finally { 378 } 379 } 380 381 /** 382 * Create a map for the `Line_Break` property, using a particular data source. 383 * 384 * See the [Rust documentation for `LineBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.LineBreak.html) for more information. 385 */ 386 static createLineBreakWithProvider(provider) { 387 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 388 389 390 const result = wasm.icu4x_CodePointMapData8_create_line_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 391 392 try { 393 if (!diplomatReceive.resultFlag) { 394 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 395 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 396 } 397 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 398 } 399 400 finally { 401 diplomatReceive.free(); 402 } 403 } 404 405 /** 406 * Create a map for the `Grapheme_Cluster_Break` property, using compiled data. 407 * 408 * See the [Rust documentation for `GraphemeClusterBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.GraphemeClusterBreak.html) for more information. 409 */ 410 static createGraphemeClusterBreak() { 411 412 const result = wasm.icu4x_CodePointMapData8_create_grapheme_cluster_break_mv1(); 413 414 try { 415 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 416 } 417 418 finally { 419 } 420 } 421 422 /** 423 * Create a map for the `Grapheme_Cluster_Break` property, using a particular data source. 424 * 425 * See the [Rust documentation for `GraphemeClusterBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.GraphemeClusterBreak.html) for more information. 426 */ 427 static createGraphemeClusterBreakWithProvider(provider) { 428 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 429 430 431 const result = wasm.icu4x_CodePointMapData8_create_grapheme_cluster_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 432 433 try { 434 if (!diplomatReceive.resultFlag) { 435 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 436 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 437 } 438 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 439 } 440 441 finally { 442 diplomatReceive.free(); 443 } 444 } 445 446 /** 447 * Create a map for the `Word_Break` property, using compiled data. 448 * 449 * See the [Rust documentation for `WordBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html) for more information. 450 */ 451 static createWordBreak() { 452 453 const result = wasm.icu4x_CodePointMapData8_create_word_break_mv1(); 454 455 try { 456 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 457 } 458 459 finally { 460 } 461 } 462 463 /** 464 * Create a map for the `Word_Break` property, using a particular data source. 465 * 466 * See the [Rust documentation for `WordBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.WordBreak.html) for more information. 467 */ 468 static createWordBreakWithProvider(provider) { 469 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 470 471 472 const result = wasm.icu4x_CodePointMapData8_create_word_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 473 474 try { 475 if (!diplomatReceive.resultFlag) { 476 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 477 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 478 } 479 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 480 } 481 482 finally { 483 diplomatReceive.free(); 484 } 485 } 486 487 /** 488 * Create a map for the `Sentence_Break` property, using compiled data. 489 * 490 * See the [Rust documentation for `SentenceBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.SentenceBreak.html) for more information. 491 */ 492 static createSentenceBreak() { 493 494 const result = wasm.icu4x_CodePointMapData8_create_sentence_break_mv1(); 495 496 try { 497 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 498 } 499 500 finally { 501 } 502 } 503 504 /** 505 * Create a map for the `Sentence_Break` property, using a particular data source. 506 * 507 * See the [Rust documentation for `SentenceBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.SentenceBreak.html) for more information. 508 */ 509 static createSentenceBreakWithProvider(provider) { 510 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 511 512 513 const result = wasm.icu4x_CodePointMapData8_create_sentence_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 514 515 try { 516 if (!diplomatReceive.resultFlag) { 517 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 518 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 519 } 520 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 521 } 522 523 finally { 524 diplomatReceive.free(); 525 } 526 } 527 528 /** 529 * Create a map for the `Joining_Type` property, using compiled data. 530 * 531 * See the [Rust documentation for `JoiningType`](https://docs.rs/icu/latest/icu/properties/props/struct.JoiningType.html) for more information. 532 */ 533 static createJoiningType() { 534 535 const result = wasm.icu4x_CodePointMapData8_create_joining_type_mv1(); 536 537 try { 538 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 539 } 540 541 finally { 542 } 543 } 544 545 /** 546 * Create a map for the `Joining_Type` property, using a particular data source. 547 * 548 * See the [Rust documentation for `JoiningType`](https://docs.rs/icu/latest/icu/properties/props/struct.JoiningType.html) for more information. 549 */ 550 static createJoiningTypeWithProvider(provider) { 551 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 552 553 554 const result = wasm.icu4x_CodePointMapData8_create_joining_type_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 555 556 try { 557 if (!diplomatReceive.resultFlag) { 558 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 559 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 560 } 561 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 562 } 563 564 finally { 565 diplomatReceive.free(); 566 } 567 } 568 569 /** 570 * Create a map for the `Canonical_Combining_Class` property, using compiled data. 571 * 572 * See the [Rust documentation for `CanonicalCombiningClass`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html) for more information. 573 */ 574 static createCanonicalCombiningClass() { 575 576 const result = wasm.icu4x_CodePointMapData8_create_canonical_combining_class_mv1(); 577 578 try { 579 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 580 } 581 582 finally { 583 } 584 } 585 586 /** 587 * Create a map for the `Canonical_Combining_Class` property, using a particular data source. 588 * 589 * See the [Rust documentation for `CanonicalCombiningClass`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html) for more information. 590 */ 591 static createCanonicalCombiningClassWithProvider(provider) { 592 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 593 594 595 const result = wasm.icu4x_CodePointMapData8_create_canonical_combining_class_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 596 597 try { 598 if (!diplomatReceive.resultFlag) { 599 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 600 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 601 } 602 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 603 } 604 605 finally { 606 diplomatReceive.free(); 607 } 608 } 609 610 /** 611 * Create a map for the `Vertical_Orientation` property, using compiled data. 612 * 613 * See the [Rust documentation for `VerticalOrientation`](https://docs.rs/icu/latest/icu/properties/props/struct.VerticalOrientation.html) for more information. 614 */ 615 static createVerticalOrientation() { 616 617 const result = wasm.icu4x_CodePointMapData8_create_vertical_orientation_mv1(); 618 619 try { 620 return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); 621 } 622 623 finally { 624 } 625 } 626 627 /** 628 * Create a map for the `Vertical_Orientation` property, using a particular data source. 629 * 630 * See the [Rust documentation for `VerticalOrientation`](https://docs.rs/icu/latest/icu/properties/props/struct.VerticalOrientation.html) for more information. 631 */ 632 static createVerticalOrientationWithProvider(provider) { 633 const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); 634 635 636 const result = wasm.icu4x_CodePointMapData8_create_vertical_orientation_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); 637 638 try { 639 if (!diplomatReceive.resultFlag) { 640 const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); 641 throw new globalThis.Error('DataError: ' + cause.value, { cause }); 642 } 643 return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); 644 } 645 646 finally { 647 diplomatReceive.free(); 648 } 649 } 650 651 constructor(symbol, ptr, selfEdge) { 652 return this.#internalConstructor(...arguments) 653 } 654 }