Beispiel #1
0
 /// <summary>
 /// Converts the managed object returned from a native callback into its native jsonnet equivalent.
 /// </summary>
 public static JsonnetJsonValue ConvertToNative(JsonnetVmHandle vm, object v)
 {
     return(v switch
     {
         null => NativeMethods.jsonnet_json_make_null(vm),
         string str => NativeMethods.jsonnet_json_make_string(vm, str),
         bool b => NativeMethods.jsonnet_json_make_bool(vm, b),
         int i => NativeMethods.jsonnet_json_make_number(vm, i),
         double d => NativeMethods.jsonnet_json_make_number(vm, d),
         IDictionary <string, object> dictionary => ConvertDictionaryToNative(vm, dictionary),
         IEnumerable enumerable => ConvertEnumerableToNative(vm, enumerable),
         _ => ConvertObjectPropertiesToNative(vm, v)
     });
Beispiel #2
0
 public static extern void jsonnet_json_destroy(JsonnetVmHandle vm, JsonnetJsonValue v);
Beispiel #3
0
 public static extern void jsonnet_json_object_append(JsonnetVmHandle vm, JsonnetJsonValue obj, string f, JsonnetJsonValue v);
Beispiel #4
0
 public static extern JsonnetJsonValue jsonnet_json_make_object(JsonnetVmHandle vm);
Beispiel #5
0
 public static extern void jsonnet_gc_min_objects(JsonnetVmHandle vm, uint v);
Beispiel #6
0
 public static extern void jsonnet_jpath_add(JsonnetVmHandle vm, string v);
Beispiel #7
0
 public static extern void jsonnet_tla_code(JsonnetVmHandle vm, string key, string value);
Beispiel #8
0
 public static extern void jsonnet_native_callback(
     JsonnetVmHandle vm, string name, JsonnetNativeCallback cb, IntPtr ctx, string[] parms);
Beispiel #9
0
 public static extern JsonnetJsonValue jsonnet_json_make_string(JsonnetVmHandle vm, string v);
Beispiel #10
0
 public static extern bool jsonnet_json_extract_null(JsonnetVmHandle vm, JsonnetJsonValue v);
Beispiel #11
0
 public static extern int jsonnet_json_extract_bool(JsonnetVmHandle vm, JsonnetJsonValue v);
Beispiel #12
0
 public static extern bool jsonnet_json_extract_number(JsonnetVmHandle vm, JsonnetJsonValue v, out double outVal);
Beispiel #13
0
 public static extern IntPtr jsonnet_json_extract_string(JsonnetVmHandle vm, JsonnetJsonValue v);
Beispiel #14
0
 public static extern void jsonnet_string_output(JsonnetVmHandle vm, int v);
Beispiel #15
0
 public static extern void jsonnet_gc_growth_trigger(JsonnetVmHandle vm, double v);
Beispiel #16
0
 public static extern IntPtr jsonnet_realloc(JsonnetVmHandle vm, IntPtr buf, UIntPtr sz);
Beispiel #17
0
 public static extern void jsonnet_import_callback(JsonnetVmHandle vm, JsonnetImportCallback cb, IntPtr ctx);
Beispiel #18
0
 public static extern JsonnetJsonValue jsonnet_json_make_number(JsonnetVmHandle vm, double v);
Beispiel #19
0
 public static extern void jsonnet_ext_var(JsonnetVmHandle vm, string key, string value);
Beispiel #20
0
 public static extern JsonnetJsonValue jsonnet_json_make_bool(JsonnetVmHandle vm, bool v);
Beispiel #21
0
 public static extern void jsonnet_max_trace(JsonnetVmHandle vm, uint v);
Beispiel #22
0
 public static extern JsonnetJsonValue jsonnet_json_make_array(JsonnetVmHandle vm);
Beispiel #23
0
 public static extern void jsonnet_json_array_append(JsonnetVmHandle vm, JsonnetJsonValue arr, JsonnetJsonValue v);
Beispiel #24
0
 public static extern IntPtr jsonnet_evaluate_snippet(JsonnetVmHandle vm, string filename, string snippet, out bool error);