def _resolve_checks(resolve_value: str, schema: dict):
    """
    Performs standard checks while going through any type of "resolve"-based function (where a #resolve call is being
    processed) to prevent access errors.
    :param resolve_value: The value of the current resolve term being processed
    :param schema: The JSON schema of the data sub-structure currently being processed
    """
    if schema['type'] not in ('object', 'array'):
        raise TypeError('Cannot get property of literal')
    elif schema['type'] == 'object' and resolve_value not in schema[
        'properties']:
        raise ValueError('Property {} not found in object'.format(
            resolve_value))
    elif schema['type'] == 'array' and resolve_value != '[item]':
        raise TypeError('Cannot get property of array')
