MCPcopy Create free account
hub / github.com/callstackincubator/polygen / TableExample

Function TableExample

apps/example/src/examples/TableExample.tsx:15–67  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

13};
14
15export default function TableExample() {
16 const [module, setModule] = useState<any>();
17 const [instance, setInstance] = useState<any>();
18 const [number, setNumber] = useState<number>(0);
19 const [result, setResult] = useState<number>();
20
21 const numberText = useMemo(() => number.toString(), [number]);
22
23 const loadModule = useCallback(async () => {
24 setModule(await WebAssembly.compile(example));
25 }, []);
26
27 const makeInstance = useCallback(async () => {
28 setInstance(await WebAssembly.instantiate(module!, imports));
29 }, [module]);
30
31 const onNumberChanged = useCallback((value: string) => {
32 const parsed = parseInt(value.replace(/ /g, ''), 10);
33 setNumber(isNaN(parsed) ? 0 : parsed);
34 setResult(undefined);
35 }, []);
36
37 const compute = useCallback(() => {
38 setResult(instance.exports.fibonacci(number));
39 }, [number, instance]);
40
41 return (
42 <View style={styles.container}>
43 <Button title="Load module" onPress={loadModule} disabled={!!module} />
44 <Text>Module Loaded: {module != null ? 'yes' : 'no'}</Text>
45 <Button
46 title="Create instance"
47 disabled={!module}
48 onPress={makeInstance}
49 />
50 <Text>Instance created: {instance != null ? 'yes' : 'no'}</Text>
51 {instance != null && (
52 <Text>Exports: {JSON.stringify(Object.keys(instance.exports))}</Text>
53 )}
54 <TextInput
55 style={styles.input}
56 value={numberText}
57 onChangeText={onNumberChanged}
58 editable={!!instance}
59 aria-disabled={!instance}
60 />
61 <Button title="Compute" onPress={compute} disabled={!instance} />
62 <Text>
63 fib({number}) = {result ?? '---'}
64 </Text>
65 </View>
66 );
67}
68
69const styles = StyleSheet.create({
70 container: {

Callers

nothing calls this directly

Calls 1

toStringMethod · 0.65

Tested by

no test coverage detected