code: def gen_schema(data, **options):
      
      if data is None:
          return dict(type="null")
  
      _type = type(data)
  
      if _type in _SIMPLE_TYPES:
          typemap = options.get("ac_schema_typemap", _SIMPLETYPE_MAP)
          scm = dict(type=typemap[_type])
  
      elif anyconfig.utils.is_dict_like(data):
          scm = object_to_schema(data, **options)
  
      elif anyconfig.utils.is_list_like(data):
          scm = array_to_schema(data, **options)
  
      return scm
docs: Generate a node represents JSON schema object with type annotation added
      for given object node.
  
      :param data: Configuration data object (dict[-like] or namedtuple)
      :param options: Other keyword options such as:
  
          - ac_schema_strict: True if more strict (precise) schema is needed
          - ac_schema_typemap: Type to JSON schema type mappings
  
      :return: A dict represents JSON schema of this node