
/**
 * @fileoverview Generated type guards from RDF ontology
 * DO NOT EDIT - auto-generated by ggen sync
 * @module generated/guards
 */


/**
 * Type guard for Comment
 * @param {unknown} value - Value to check
 * @returns {value is Comment}
 */
export function isComment(value) {
  return (
    typeof value === 'object' &&
    value !== null &&
    'authorId' in value &&
    'content' in value &&
    'id' in value &&
    true
  );
}

/**
 * Type guard for Post
 * @param {unknown} value - Value to check
 * @returns {value is Post}
 */
export function isPost(value) {
  return (
    typeof value === 'object' &&
    value !== null &&
    'authorId' in value &&
    'content' in value &&
    'id' in value &&
    'published_at' in value &&
    'title' in value &&
    true
  );
}

/**
 * Type guard for Tag
 * @param {unknown} value - Value to check
 * @returns {value is Tag}
 */
export function isTag(value) {
  return (
    typeof value === 'object' &&
    value !== null &&
    'id' in value &&
    'name' in value &&
    true
  );
}

/**
 * Type guard for User
 * @param {unknown} value - Value to check
 * @returns {value is User}
 */
export function isUser(value) {
  return (
    typeof value === 'object' &&
    value !== null &&
    'email' in value &&
    'id' in value &&
    'username' in value &&
    true
  );
}
