code: def array_to_jsbuffer(array):
      """Serialize 1d NumPy array to JS TypedArray.
  
      Data is serialized to base64-encoded string, which is much faster
      and memory-efficient than json list serialization.
  
      Args:
        array: 1d NumPy array, dtype must be one of JS_ARRAY_TYPES.
  
      Returns:
        JS code that evaluates to a TypedArray as string.
  
      Raises:
        TypeError: if array dtype or shape not supported.
      """
      if array.ndim != 1:
          raise TypeError(
              "Only 1d arrays can be converted JS TypedArray."
          )
      if array.dtype.name not in JS_ARRAY_TYPES:
          raise TypeError("Array dtype not supported by JS TypedArray.")
      js_type_name = array.dtype.name.capitalize() + "Array"
      data_base64 = base64.b64encode(array.tobytes()).decode("ascii")
      code = """
      (function() {
        const data = atob("%s");
        const buf = new Uint8Array(data.length);
        for (var i=0; i<data.length; ++i) {
          buf[i] = data.charCodeAt(i);
        }
        var array_type = %s;
        if (array_type == Uint8Array) {
          return buf;
        }
        return new array_type(buf.buffer);
      })()
    """ % (
          data_base64,
          js_type_name,
      )
      return code
  
file_path: lucid/lucid/misc/io/serialize_array.py
imports: from __future__ import absolute_import, division, print_function
  import base64
  import logging
  import numpy
  import PIL.Image
  from io import BytesIO
label_desc: Use image node_id 4 for calling a global function with example usage: array_to_jsbuffer(array) and returns: code