Meta type ‣ isArgumentPlain(T, arg_index) ᴾᴴᴾ - chung-leong/zigar GitHub Wiki

JavaScript | PHP


Determine whether an argument to a callback function should be a plain JavaScript object.

Usage:

const std = @import("std");

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

pub const @"meta(zigar)" = struct {
    pub fn isArgumentPlain(comptime T: type, comptime arg_index: usize) bool {
        return T == Callback and arg_index == 0;
    }
};
<?php

$m = zigar_use(__DIR__ . '/meta-type-plain-example-3.zig');

$m->call(function ($arg) {
    print_r($arg);
});
Array
(
    [0] => 104
    [1] => 101
    [2] => 108
    [3] => 108
    [4] => 111
)

Arguments:

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

Meta types | Plain object