Meta type ‣ isArgumentTypedArray(T, arg_index) - chung-leong/zigar GitHub Wiki

Determine whether an argument to a callback function should be a typed array.

Usage:

const std = @import("std");

const Callback = fn ([]const u8) void;
pub fn call(cb: *const Callback) void {
    cb("hello");
}

const module = @This();
pub const @"meta(zigar)" = struct {
    pub fn isArgumentTypedArray(comptime T: type, comptime arg_index: usize) bool {
        return T == Callback and arg_index == 0;
    }
};
import { call } from './meta-type-typed-array-example-3.zig';

call(arg => console.log(arg));
Uint8Array(5) [ 104, 101, 108, 108, 111 ]

Arguments:

  • T - Callback function type
  • arg_index - Index of argument in question

Meta types | Typed array