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;