Generated by Cython 3.0.11

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: types.c

+001: # cython: language_level=3, embedsignature=True, boundscheck=False, wraparound=False, initializedcheck=False
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 002: # Copyright (C) 2018-present Jesus Lara
 003: #
+004: from typing import NewType
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_NewType);
  __Pyx_GIVEREF(__pyx_n_s_NewType);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_NewType)) __PYX_ERR(0, 4, __pyx_L1_error);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_NewType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_NewType, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+005: from datetime import (
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_date); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_date, __pyx_t_3) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_timedelta, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+006:     datetime,
  __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_s_datetime);
  __Pyx_GIVEREF(__pyx_n_s_datetime);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_datetime)) __PYX_ERR(0, 6, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_time);
  __Pyx_GIVEREF(__pyx_n_s_time);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_time)) __PYX_ERR(0, 6, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_date);
  __Pyx_GIVEREF(__pyx_n_s_date);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_date)) __PYX_ERR(0, 6, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_timedelta);
  __Pyx_GIVEREF(__pyx_n_s_timedelta);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_timedelta)) __PYX_ERR(0, 6, __pyx_L1_error);
 007:     time,
 008:     date,
 009:     timedelta
 010: )
+011: from uuid import UUID
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_UUID);
  __Pyx_GIVEREF(__pyx_n_s_UUID);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_UUID)) __PYX_ERR(0, 11, __pyx_L1_error);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_uuid, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_UUID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_UUID, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+012: from decimal import Decimal
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_s_Decimal);
  __Pyx_GIVEREF(__pyx_n_s_Decimal);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Decimal)) __PYX_ERR(0, 12, __pyx_L1_error);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_decimal, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Decimal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Decimal, __pyx_t_3) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 013: 
 014: 
+015: uint64 = NewType('uint64', int)  # uint64
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_NewType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_u_uint64);
  __Pyx_GIVEREF(__pyx_n_u_uint64);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_uint64)) __PYX_ERR(0, 15, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)(&PyInt_Type));
  __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 15, __pyx_L1_error);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_uint64, __pyx_t_4) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+016: uint64_min = 0
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_uint64_min, __pyx_int_0) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
+017: uint64_max = (1 << 64) - 1
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_uint64_max, __pyx_int_0xffffffffffffffff) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
 018: 
 019: 
 020: DB_TYPES: dict = {
+021:     bool: "boolean",
  __pyx_t_4 = __Pyx_PyDict_NewPresized(16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, ((PyObject*)&PyBool_Type), __pyx_n_u_boolean) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+022:     int: "integer",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyInt_Type)), __pyx_n_u_integer) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
 023:     # int64: "bigint",
+024:     uint64: "bigint",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_bigint) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+025:     float: "float",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyFloat_Type)), __pyx_n_u_float) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+026:     str: "character varying",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyUnicode_Type)), __pyx_kp_u_character_varying) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+027:     bytes: "byte",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyBytes_Type)), __pyx_n_u_byte) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+028:     list: "Array",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyList_Type)), __pyx_n_u_Array) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+029:     tuple: "Array",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyTuple_Type)), __pyx_n_u_Array) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+030:     Decimal: "numeric",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Decimal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_numeric) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+031:     date: "date",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_date); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_date) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+032:     datetime: "timestamp without time zone",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_kp_u_timestamp_without_time_zone) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+033:     time: "time",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_time) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+034:     timedelta: "timestamp without time zone",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_kp_u_timestamp_without_time_zone) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+035:     UUID: "uuid",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_UUID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_uuid) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+036:     dict: "jsonb",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyDict_Type)), __pyx_n_u_jsonb) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+037:     type(None): None
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)Py_TYPE(Py_None)), Py_None) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DB_TYPES, __pyx_t_4) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 038: }
 039: 
 040: 
 041: MODEL_TYPES: dict = {
+042:     "boolean": bool,
  __pyx_t_4 = __Pyx_PyDict_NewPresized(24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_boolean, ((PyObject*)&PyBool_Type)) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+043:     "integer": int,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_integer, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+044:     "bigint": uint64,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_bigint, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+045:     "float": float,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_float, ((PyObject *)(&PyFloat_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+046:     "character varying": str,
  if (PyDict_SetItem(__pyx_t_4, __pyx_kp_u_character_varying, ((PyObject *)(&PyUnicode_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+047:     "string": str,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_string, ((PyObject *)(&PyUnicode_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+048:     "varchar": str,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_varchar, ((PyObject *)(&PyUnicode_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+049:     "byte": bytes,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_byte, ((PyObject *)(&PyBytes_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+050:     "bytea": bytes,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_bytea, ((PyObject *)(&PyBytes_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+051:     "Array": list,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_Array, ((PyObject *)(&PyList_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+052:     "hstore": dict,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_hstore, ((PyObject *)(&PyDict_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+053:     "character varying[]": list,
  if (PyDict_SetItem(__pyx_t_4, __pyx_kp_u_character_varying_2, ((PyObject *)(&PyList_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+054:     "numeric": Decimal,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Decimal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_numeric, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+055:     "date": date,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_date); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_date, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+056:     "timestamp with time zone": datetime,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_kp_u_timestamp_with_time_zone, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+057:     "time": time,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_time, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+058:     "timestamp without time zone": datetime,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_kp_u_timestamp_without_time_zone, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+059:     "uuid": UUID,
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_UUID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_uuid, __pyx_t_3) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+060:     "json": dict,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_json, ((PyObject *)(&PyDict_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+061:     "jsonb": dict,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_jsonb, ((PyObject *)(&PyDict_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+062:     "text": str,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_text, ((PyObject *)(&PyUnicode_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+063:     "serial": int,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_serial, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+064:     "bigserial": int,
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_bigserial, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+065:     "inet": str
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_inet, ((PyObject *)(&PyUnicode_Type))) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODEL_TYPES, __pyx_t_4) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 066: }
 067: 
 068: 
 069: JSON_TYPES: dict = {
+070:     bool: "boolean",
  __pyx_t_4 = __Pyx_PyDict_NewPresized(14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, ((PyObject*)&PyBool_Type), __pyx_n_u_boolean) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+071:     int: "integer",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyInt_Type)), __pyx_n_u_integer) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+072:     uint64: "long",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_long) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+073:     float: "number",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyFloat_Type)), __pyx_n_u_number) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+074:     str: "string",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyUnicode_Type)), __pyx_n_u_string) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+075:     bytes: "byte",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyBytes_Type)), __pyx_n_u_byte) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+076:     list: "array",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyList_Type)), __pyx_n_u_array) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+077:     dict: "object",
  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)(&PyDict_Type)), __pyx_n_u_object) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
+078:     Decimal: "number",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Decimal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_number) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+079:     date: "date",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_date); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_date) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+080:     datetime: "datetime",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_datetime) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+081:     time: "time",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_time) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+082:     timedelta: "timedelta",
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_timedelta) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+083:     UUID: "uuid"
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_UUID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_3, __pyx_n_u_uuid) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_JSON_TYPES, __pyx_t_4) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 084: }
 085: 
 086: 
 087: ### Declaration of New Types:
+088: Text: str = NewType('Text', str)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NewType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_u_Text);
  __Pyx_GIVEREF(__pyx_n_u_Text);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_Text)) __PYX_ERR(0, 88, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
  __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 88, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Text, __pyx_t_2) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 089: 
 090: 
+091: def default_dict():
/* Python wrapper */
static PyObject *__pyx_pw_9datamodel_5types_1default_dict(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9datamodel_5types_default_dict, "default_dict()\nReturn a default empty string usable into Dataclasses.\n    ");
static PyMethodDef __pyx_mdef_9datamodel_5types_1default_dict = {"default_dict", (PyCFunction)__pyx_pw_9datamodel_5types_1default_dict, METH_NOARGS, __pyx_doc_9datamodel_5types_default_dict};
static PyObject *__pyx_pw_9datamodel_5types_1default_dict(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("default_dict (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9datamodel_5types_default_dict(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9datamodel_5types_default_dict(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("datamodel.types.default_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_9datamodel_5types_1default_dict, 0, __pyx_n_s_default_dict, NULL, __pyx_n_s_datamodel_types, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_default_dict, __pyx_t_2) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* … */
  __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_datamodel_types_pyx, __pyx_n_s_default_dict, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 91, __pyx_L1_error)
 092:     """Return a default empty string usable into Dataclasses.
 093:     """
+094:     return {}
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;
 095: 
 096: 
+097: def default_string():
/* Python wrapper */
static PyObject *__pyx_pw_9datamodel_5types_3default_string(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_9datamodel_5types_2default_string, "default_string()\nReturn a default string.\n    ");
static PyMethodDef __pyx_mdef_9datamodel_5types_3default_string = {"default_string", (PyCFunction)__pyx_pw_9datamodel_5types_3default_string, METH_NOARGS, __pyx_doc_9datamodel_5types_2default_string};
static PyObject *__pyx_pw_9datamodel_5types_3default_string(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("default_string (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9datamodel_5types_2default_string(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9datamodel_5types_2default_string(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_9datamodel_5types_3default_string, 0, __pyx_n_s_default_string, NULL, __pyx_n_s_datamodel_types, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_default_string, __pyx_t_2) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 098:     """Return a default string.
 099:     """
+100:     return ''
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_kp_u_);
  __pyx_r = __pyx_kp_u_;
  goto __pyx_L0;