MCPcopy
hub / github.com/python/mypy / write_json_value

Function write_json_value

mypy/cache.py:514–542  ·  view source on GitHub ↗
(data: WriteBuffer, value: JsonValue)

Source from the content-addressed store, hash-verified

512
513
514def write_json_value(data: WriteBuffer, value: JsonValue) -> None:
515 if value is None:
516 write_tag(data, LITERAL_NONE)
517 elif isinstance(value, bool):
518 write_bool(data, value)
519 elif isinstance(value, int):
520 write_tag(data, LITERAL_INT)
521 write_int_bare(data, value)
522 elif isinstance(value, str):
523 write_tag(data, LITERAL_STR)
524 write_str_bare(data, value)
525 elif isinstance(value, list):
526 write_tag(data, LIST_GEN)
527 write_int_bare(data, len(value))
528 for val in value:
529 write_json_value(data, val)
530 elif isinstance(value, tuple):
531 write_tag(data, TUPLE_GEN)
532 write_int_bare(data, len(value))
533 for val in value:
534 write_json_value(data, val)
535 elif isinstance(value, dict):
536 write_tag(data, DICT_STR_GEN)
537 write_int_bare(data, len(value))
538 for key in sorted(value):
539 write_str_bare(data, key)
540 write_json_value(data, value[key])
541 else:
542 assert False, f"Invalid JSON value: {value}"
543
544
545# These are functions for JSON *dictionaries* specifically. Unfortunately, we

Callers 3

options_snapshotFunction · 0.90
writeMethod · 0.85
write_jsonFunction · 0.85

Calls 3

isinstanceFunction · 0.85
lenFunction · 0.85
sortedFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…