code: def get_object_defaults(object_schema):
      
      default = {}
      for k, schema in object_schema.get('properties', {}).items():
  
          if schema.get('type') == 'object':
              if 'default' in schema:
                  default[k] = schema['default']
  
              try:
                  object_defaults = get_object_defaults(schema)
              except NoObjectDefaults:
                  if 'default' not in schema:
                      raise NoObjectDefaults
              else:
                  if 'default' not in schema:
                      default[k] = {}
  
                  default[k].update(object_defaults)
          else:
              if 'default' in schema:
                  default[k] = schema['default']
  
      if default:
          return default
  
      raise NoObjectDefaults
docs: Extracts default values dict (nested) from an type object schema.
  
      :param object_schema: Schema type object
      :type  object_schema: dict
      :returns: Nested dict with defaults values