Something went wrong. Try again.
The format that's super!
Something went wrong. Try again.
2.0 kB · 59 lines
HTML
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>@duper-js/wasm example</title> </head> <body> <script type="module"> import { DuperValue, parse, stringify } from "@duper-js/wasm";
// Parse some input const input = ` Product({ product_id: Uuid("1dd7b7aa-515e-405f-85a9-8ac812242609"), name: "Wireless Bluetooth Headphones", brand: "AudioTech", price: Decimal("129.99"), dimensions: (18.5, 15.2, 7.8), // In centimeters weight: Kilograms(0.285), in_stock: true, specifications: { battery_life: Duration("30h"), noise_cancellation: true, connectivity: ["Bluetooth 5.0", "3.5mm Jack"], }, image_thumbnail: Png(b64"iVBORw0KGgoAAAANSUhEUgAAAGQ="), tags: ["electronics", "audio", "wireless"], release_date: PlainDate('2023-11-15'), /* Warranty is optional */ warranty_period: null, customer_ratings: { latest_review: r#"Absolutely ""astounding""!! 😎"#, average: 4.5, count: 127, }, created_at: Instant('2023-11-17T21:50:43+00:00'), }) `; const duper = parse(input); console.log(duper.identifier); // Product console.log(duper.value.in_stock.type); // boolean
// Convert to JSON console.log(JSON.stringify(duper));
// Patch the Duper value and pretty-print it const newTags = DuperValue.Tuple([ DuperValue.String("music"), DuperValue.String("hi-fi", "DeprecatedTag"), ]); duper.value.tags = newTags; duper.value.image_thumbnail.identifier = null; duper.value.weight.identifier = "Pounds"; delete duper.value.dimensions; duper.value.test = DuperValue.Object({ foo: DuperValue.String("bar") }); console.log(stringify(duper, { indent: " " })); </script> </body></html>