diff --git a/R/generate_pkg-paths.R b/R/generate_pkg-paths.R
index 385b9e1..969cfa2 100644
--- a/R/generate_pkg-paths.R
+++ b/R/generate_pkg-paths.R
@@ -183,9 +183,7 @@ S7::method(as_bk_data, class_paths) <- function(x) {
}
.compile_param_class_descriptions <- function(type, allow_empty, required) {
- r_class_descriptions <- .glue_pipe_brace(
- "length-1 [|{type$r_class_package}|::|{type$r_class_link}|()]"
- ) |>
+ r_class_descriptions <- glue::glue("length-1 `{type$r_class_name}`") |>
.paste0_if(
allow_empty,
" or `NULL`"
diff --git a/tests/testthat/_fixtures/fec/paths-audit-get_audit_case.R b/tests/testthat/_fixtures/fec/paths-audit-get_audit_case.R
index 4444ada..df57209 100644
--- a/tests/testthat/_fixtures/fec/paths-audit-get_audit_case.R
+++ b/tests/testthat/_fixtures/fec/paths-audit-get_audit_case.R
@@ -6,26 +6,26 @@
#'
#' This endpoint contains Final Audit Reports approved by the Commission since inception. The search can be based on information about the audited committee (Name, FEC ID Number, Type, Election Cycle) or the issues covered in the report.
#'
-#' @param audit_case_id (length-1 [base::list()], optional) Primary/foreign key for audit tables
-#' @param cycle (length-1 [base::list()], optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
-#' @param sub_category_id (length-1 [base::character()], optional) The finding id of an audit. Finding are a category of broader issues. Each category has an unique ID.
-#' @param sort_nulls_last (length-1 [base::logical()], optional) Toggle that sorts null values last
-#' @param sort_hide_null (length-1 [base::logical()], optional) Hide null values on sorted column(s).
-#' @param min_election_cycle (length-1 [base::list()], optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
-#' @param audit_id (length-1 [base::list()], optional) The audit issue. Each subcategory has an unique ID
-#' @param q (length-1 [base::list()], optional) The name of the committee. If a committee changes its name, the most recent name will be shown. Committee names are not unique. Use committee_id for looking up records.
-#' @param per_page (length-1 [base::list()], optional) The number of results returned per page. Defaults to 20.
-#' @param max_election_cycle (length-1 [base::list()], optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
-#' @param candidate_id (length-1 [base::list()], optional) A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office.
-#' @param committee_type (length-1 [base::list()], optional) The one-letter type code of the organization: - C communication cost - D delegate - E electioneering communication - H House - I independent expenditure filer (not a committee) - N PAC - nonqualified - O independent expenditure-only (super PACs) - P presidential - Q PAC - qualified - S Senate - U single candidate independent expenditure - V PAC with non-contribution account, nonqualified - W PAC with non-contribution account, qualified - X party, nonqualified - Y party, qualified - Z national party non-federal account
-#' @param qq (length-1 [base::list()], optional) Name of candidate running for office
-#' @param page (length-1 [base::list()], optional) For paginating through results, starting at page 1
-#' @param committee_id (length-1 [base::list()], optional) A unique identifier assigned to each committee or filer registered with the FEC. In general committee id's begin with the letter C which is followed by eight digits.
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param committee_designation (length-1 [base::character()], optional) Type of committee: - H or S - Congressional - P - Presidential - X or Y or Z - Party - N or Q - PAC - I - Independent expenditure - O - Super PAC
-#' @param primary_category_id (length-1 [base::character()], optional) Audit category ID (table PK)
-#' @param sort_null_only (length-1 [base::logical()], optional) Toggle that filters out all rows having sort column that is non-null
-#' @param sort (length-1 [base::list()], optional) Provide a field to sort by. Use `-` for descending order. ex: `-case_no`
+#' @param audit_case_id (length-1 `list`, optional) Primary/foreign key for audit tables
+#' @param cycle (length-1 `list`, optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
+#' @param sub_category_id (length-1 `character`, optional) The finding id of an audit. Finding are a category of broader issues. Each category has an unique ID.
+#' @param sort_nulls_last (length-1 `logical`, optional) Toggle that sorts null values last
+#' @param sort_hide_null (length-1 `logical`, optional) Hide null values on sorted column(s).
+#' @param min_election_cycle (length-1 `list`, optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
+#' @param audit_id (length-1 `list`, optional) The audit issue. Each subcategory has an unique ID
+#' @param q (length-1 `list`, optional) The name of the committee. If a committee changes its name, the most recent name will be shown. Committee names are not unique. Use committee_id for looking up records.
+#' @param per_page (length-1 `list`, optional) The number of results returned per page. Defaults to 20.
+#' @param max_election_cycle (length-1 `list`, optional) Filter records to only those that are applicable to a given two-year period. This cycle follows the traditional House election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. The cycle begins with an odd year and is named for its ending, even year.
+#' @param candidate_id (length-1 `list`, optional) A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office.
+#' @param committee_type (length-1 `list`, optional) The one-letter type code of the organization: - C communication cost - D delegate - E electioneering communication - H House - I independent expenditure filer (not a committee) - N PAC - nonqualified - O independent expenditure-only (super PACs) - P presidential - Q PAC - qualified - S Senate - U single candidate independent expenditure - V PAC with non-contribution account, nonqualified - W PAC with non-contribution account, qualified - X party, nonqualified - Y party, qualified - Z national party non-federal account
+#' @param qq (length-1 `list`, optional) Name of candidate running for office
+#' @param page (length-1 `list`, optional) For paginating through results, starting at page 1
+#' @param committee_id (length-1 `list`, optional) A unique identifier assigned to each committee or filer registered with the FEC. In general committee id's begin with the letter C which is followed by eight digits.
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param committee_designation (length-1 `character`, optional) Type of committee: - H or S - Congressional - P - Presidential - X or Y or Z - Party - N or Q - PAC - I - Independent expenditure - O - Super PAC
+#' @param primary_category_id (length-1 `character`, optional) Audit category ID (table PK)
+#' @param sort_null_only (length-1 `logical`, optional) Toggle that filters out all rows having sort column that is non-null
+#' @param sort (length-1 `list`, optional) Provide a field to sort by. Use `-` for descending order. ex: `-case_no`
#' @inheritParams .shared-params
#'
#' @returns `fec_get_audit_case()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-audit-get_audit_category.R b/tests/testthat/_fixtures/fec/paths-audit-get_audit_category.R
index d779c74..f2c048d 100644
--- a/tests/testthat/_fixtures/fec/paths-audit-get_audit_category.R
+++ b/tests/testthat/_fixtures/fec/paths-audit-get_audit_category.R
@@ -6,15 +6,15 @@
#'
#' This lists the options for the categories and subcategories available in the /audit-search/ endpoint.
#'
-#' @param sort_nulls_last (length-1 [base::logical()], optional) Toggle that sorts null values last
-#' @param page (length-1 [base::list()], optional) For paginating through results, starting at page 1
-#' @param primary_category_name (length-1 [base::list()], optional) Primary Audit Category - No Findings or Issues/Not a Committee - Net Outstanding Campaign/Convention Expenditures/Obligations - Payments/Disgorgements - Allocation Issues - Prohibited Contributions - Disclosure - Recordkeeping - Repayment to US Treasury - Other - Misstatement of Financial Activity - Excessive Contributions - Failure to File Reports/Schedules/Notices - Loans - Referred Findings Not Listed
-#' @param sort_hide_null (length-1 [base::logical()], optional) Hide null values on sorted column(s).
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param primary_category_id (length-1 [base::list()], optional) Audit category ID (table PK)
-#' @param sort_null_only (length-1 [base::logical()], optional) Toggle that filters out all rows having sort column that is non-null
-#' @param per_page (length-1 [base::list()], optional) The number of results returned per page. Defaults to 20.
-#' @param sort (length-1 [base::character()], optional) Provide a field to sort by. Use `-` for descending order.
+#' @param sort_nulls_last (length-1 `logical`, optional) Toggle that sorts null values last
+#' @param page (length-1 `list`, optional) For paginating through results, starting at page 1
+#' @param primary_category_name (length-1 `list`, optional) Primary Audit Category - No Findings or Issues/Not a Committee - Net Outstanding Campaign/Convention Expenditures/Obligations - Payments/Disgorgements - Allocation Issues - Prohibited Contributions - Disclosure - Recordkeeping - Repayment to US Treasury - Other - Misstatement of Financial Activity - Excessive Contributions - Failure to File Reports/Schedules/Notices - Loans - Referred Findings Not Listed
+#' @param sort_hide_null (length-1 `logical`, optional) Hide null values on sorted column(s).
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param primary_category_id (length-1 `list`, optional) Audit category ID (table PK)
+#' @param sort_null_only (length-1 `logical`, optional) Toggle that filters out all rows having sort column that is non-null
+#' @param per_page (length-1 `list`, optional) The number of results returned per page. Defaults to 20.
+#' @param sort (length-1 `character`, optional) Provide a field to sort by. Use `-` for descending order.
#' @inheritParams .shared-params
#'
#' @returns `fec_get_audit_category()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-audit-get_audit_primary_category.R b/tests/testthat/_fixtures/fec/paths-audit-get_audit_primary_category.R
index 259e0c2..4641347 100644
--- a/tests/testthat/_fixtures/fec/paths-audit-get_audit_primary_category.R
+++ b/tests/testthat/_fixtures/fec/paths-audit-get_audit_primary_category.R
@@ -6,15 +6,15 @@
#'
#' This lists the options for the primary categories available in the /audit-search/ endpoint.
#'
-#' @param sort_nulls_last (length-1 [base::logical()], optional) Toggle that sorts null values last
-#' @param page (length-1 [base::list()], optional) For paginating through results, starting at page 1
-#' @param primary_category_name (length-1 [base::list()], optional) Primary Audit Category - No Findings or Issues/Not a Committee - Net Outstanding Campaign/Convention Expenditures/Obligations - Payments/Disgorgements - Allocation Issues - Prohibited Contributions - Disclosure - Recordkeeping - Repayment to US Treasury - Other - Misstatement of Financial Activity - Excessive Contributions - Failure to File Reports/Schedules/Notices - Loans - Referred Findings Not Listed
-#' @param sort_hide_null (length-1 [base::logical()], optional) Hide null values on sorted column(s).
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param primary_category_id (length-1 [base::list()], optional) Audit category ID (table PK)
-#' @param sort_null_only (length-1 [base::logical()], optional) Toggle that filters out all rows having sort column that is non-null
-#' @param per_page (length-1 [base::list()], optional) The number of results returned per page. Defaults to 20.
-#' @param sort (length-1 [base::character()], optional) Provide a field to sort by. Use `-` for descending order.
+#' @param sort_nulls_last (length-1 `logical`, optional) Toggle that sorts null values last
+#' @param page (length-1 `list`, optional) For paginating through results, starting at page 1
+#' @param primary_category_name (length-1 `list`, optional) Primary Audit Category - No Findings or Issues/Not a Committee - Net Outstanding Campaign/Convention Expenditures/Obligations - Payments/Disgorgements - Allocation Issues - Prohibited Contributions - Disclosure - Recordkeeping - Repayment to US Treasury - Other - Misstatement of Financial Activity - Excessive Contributions - Failure to File Reports/Schedules/Notices - Loans - Referred Findings Not Listed
+#' @param sort_hide_null (length-1 `logical`, optional) Hide null values on sorted column(s).
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param primary_category_id (length-1 `list`, optional) Audit category ID (table PK)
+#' @param sort_null_only (length-1 `logical`, optional) Toggle that filters out all rows having sort column that is non-null
+#' @param per_page (length-1 `list`, optional) The number of results returned per page. Defaults to 20.
+#' @param sort (length-1 `character`, optional) Provide a field to sort by. Use `-` for descending order.
#' @inheritParams .shared-params
#'
#' @returns `fec_get_audit_primary_category()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_candidates.R b/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_candidates.R
index da32a64..76727c7 100644
--- a/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_candidates.R
+++ b/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_candidates.R
@@ -6,8 +6,8 @@
#'
#' Search for candidates or committees by name. If you're looking for information on a particular person or group, using a name to find the `candidate_id` or `committee_id` on this endpoint can be a helpful first step.
#'
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param q (length-1 [base::list()]) Name (candidate or committee) to search for
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param q (length-1 `list`) Name (candidate or committee) to search for
#' @inheritParams .shared-params
#'
#' @returns `fec_get_names_audit_candidates()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_committees.R b/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_committees.R
index 41c3c69..9e6d5a5 100644
--- a/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_committees.R
+++ b/tests/testthat/_fixtures/fec/paths-audit-get_names_audit_committees.R
@@ -7,8 +7,8 @@
#' Search for candidates or committees by name. If you're looking for information on a particular person or group, using a name to find the `candidate_id` or `committee_id` on this endpoint can be a helpful first step.
#'
#'
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param q (length-1 [base::list()]) Name (candidate or committee) to search for
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param q (length-1 `list`) Name (candidate or committee) to search for
#' @inheritParams .shared-params
#'
#' @returns `fec_get_names_audit_committees()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d.R b/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d.R
index d529d72..9e61f1b 100644
--- a/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d.R
+++ b/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d.R
@@ -6,30 +6,30 @@
#'
#' Schedule D, it shows debts and obligations owed to or by the committee that are required to be disclosed.
#'
-#' @param creditor_debtor_name (length-1 [base::list()], optional)
-#' @param max_image_number (length-1 [base::character()], optional) Maxium image number of the page where the schedule item is reported
-#' @param sort_nulls_last (length-1 [base::logical()], optional) Toggle that sorts null values last
-#' @param max_amount_outstanding_beginning (length-1 [base::double()], optional)
-#' @param sort_hide_null (length-1 [base::logical()], optional) Hide null values on sorted column(s).
-#' @param min_payment_period (length-1 [base::double()], optional)
-#' @param max_amount_incurred (length-1 [base::double()], optional)
-#' @param nature_of_debt (length-1 [base::character()], optional)
-#' @param per_page (length-1 [base::list()], optional) The number of results returned per page. Defaults to 20.
-#' @param max_amount_outstanding_close (length-1 [base::double()], optional)
-#' @param candidate_id (length-1 [base::list()], optional) A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office.
-#' @param page (length-1 [base::list()], optional) For paginating through results, starting at page 1
-#' @param min_date (length-1 [base::Date()], optional) Minimum load date
-#' @param committee_id (length-1 [base::list()], optional) A unique identifier assigned to each committee or filer registered with the FEC. In general committee id's begin with the letter C which is followed by eight digits.
-#' @param min_amount_outstanding_close (length-1 [base::double()], optional)
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param max_payment_period (length-1 [base::double()], optional)
-#' @param min_image_number (length-1 [base::character()], optional) Minium image number of the page where the schedule item is reported
-#' @param min_amount_incurred (length-1 [base::double()], optional)
-#' @param sort_null_only (length-1 [base::logical()], optional) Toggle that filters out all rows having sort column that is non-null
-#' @param image_number (length-1 [base::list()], optional) An unique identifier for each page where the electronic or paper filing is reported.
-#' @param sort (length-1 [base::character()], optional) Provide a field to sort by. Use `-` for descending order.
-#' @param min_amount_outstanding_beginning (length-1 [base::double()], optional)
-#' @param max_date (length-1 [base::Date()], optional) Maximum load date
+#' @param creditor_debtor_name (length-1 `list`, optional)
+#' @param max_image_number (length-1 `character`, optional) Maxium image number of the page where the schedule item is reported
+#' @param sort_nulls_last (length-1 `logical`, optional) Toggle that sorts null values last
+#' @param max_amount_outstanding_beginning (length-1 `double`, optional)
+#' @param sort_hide_null (length-1 `logical`, optional) Hide null values on sorted column(s).
+#' @param min_payment_period (length-1 `double`, optional)
+#' @param max_amount_incurred (length-1 `double`, optional)
+#' @param nature_of_debt (length-1 `character`, optional)
+#' @param per_page (length-1 `list`, optional) The number of results returned per page. Defaults to 20.
+#' @param max_amount_outstanding_close (length-1 `double`, optional)
+#' @param candidate_id (length-1 `list`, optional) A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office.
+#' @param page (length-1 `list`, optional) For paginating through results, starting at page 1
+#' @param min_date (length-1 `Date`, optional) Minimum load date
+#' @param committee_id (length-1 `list`, optional) A unique identifier assigned to each committee or filer registered with the FEC. In general committee id's begin with the letter C which is followed by eight digits.
+#' @param min_amount_outstanding_close (length-1 `double`, optional)
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param max_payment_period (length-1 `double`, optional)
+#' @param min_image_number (length-1 `character`, optional) Minium image number of the page where the schedule item is reported
+#' @param min_amount_incurred (length-1 `double`, optional)
+#' @param sort_null_only (length-1 `logical`, optional) Toggle that filters out all rows having sort column that is non-null
+#' @param image_number (length-1 `list`, optional) An unique identifier for each page where the electronic or paper filing is reported.
+#' @param sort (length-1 `character`, optional) Provide a field to sort by. Use `-` for descending order.
+#' @param min_amount_outstanding_beginning (length-1 `double`, optional)
+#' @param max_date (length-1 `Date`, optional) Maximum load date
#' @inheritParams .shared-params
#'
#' @returns `fec_get_schedules_schedule_d()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d_sub_id.R b/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d_sub_id.R
index 6666c89..0a2a9bf 100644
--- a/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d_sub_id.R
+++ b/tests/testthat/_fixtures/fec/paths-debts-get_schedules_schedule_d_sub_id.R
@@ -6,14 +6,14 @@
#'
#' Schedule D, it shows debts and obligations owed to or by the committee that are required to be disclosed.
#'
-#' @param sort_nulls_last (length-1 [base::logical()], optional) Toggle that sorts null values last
-#' @param per_page (length-1 [base::list()], optional) The number of results returned per page. Defaults to 20.
-#' @param sort_null_only (length-1 [base::logical()], optional) Toggle that filters out all rows having sort column that is non-null
-#' @param sort_hide_null (length-1 [base::logical()], optional) Hide null values on sorted column(s).
-#' @param sort (length-1 [base::character()], optional) Provide a field to sort by. Use `-` for descending order.
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param page (length-1 [base::list()], optional) For paginating through results, starting at page 1
-#' @param sub_id (length-1 [base::character()])
+#' @param sort_nulls_last (length-1 `logical`, optional) Toggle that sorts null values last
+#' @param per_page (length-1 `list`, optional) The number of results returned per page. Defaults to 20.
+#' @param sort_null_only (length-1 `logical`, optional) Toggle that filters out all rows having sort column that is non-null
+#' @param sort_hide_null (length-1 `logical`, optional) Hide null values on sorted column(s).
+#' @param sort (length-1 `character`, optional) Provide a field to sort by. Use `-` for descending order.
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param page (length-1 `list`, optional) For paginating through results, starting at page 1
+#' @param sub_id (length-1 `character`)
#' @inheritParams .shared-params
#'
#' @returns `fec_get_schedules_schedule_d_sub_id()`: The API response.
diff --git a/tests/testthat/_fixtures/fec/paths-legal-get_legal_search.R b/tests/testthat/_fixtures/fec/paths-legal-get_legal_search.R
index d25908f..e622c7f 100644
--- a/tests/testthat/_fixtures/fec/paths-legal-get_legal_search.R
+++ b/tests/testthat/_fixtures/fec/paths-legal-get_legal_search.R
@@ -6,49 +6,49 @@
#'
#' Search legal documents by document type, or across all document types using keywords, parameter values and ranges.
#'
-#' @param hits_returned (length-1 [base::list()], optional) Number of results to return (max 10)
-#' @param af_report_year (length-1 [base::character()], optional) Admin fine report year
-#' @param case_max_open_date (length-1 [base::Date()], optional) The latest date opened of case
-#' @param ao_max_issue_date (length-1 [base::Date()], optional) Latest issue date of advisory opinion
-#' @param case_statutory_citation (length-1 [base::list()], optional) Statutory citations
-#' @param case_respondents (length-1 [base::character()], optional) Cases respondents
-#' @param q (length-1 [base::character()], optional) Text to search legal documents for
-#' @param ao_min_issue_date (length-1 [base::Date()], optional) Earliest issue date of advisory opinion
-#' @param af_max_fd_date (length-1 [base::Date()], optional) The latest Final Determination date
-#' @param from_hit (length-1 [base::list()], optional) Get results starting from this index
-#' @param af_fd_fine_amount (length-1 [base::list()], optional) Final Determination fine amount
-#' @param type (length-1 [base::character()], optional) Legal Document type to refine search by - statutes - regulations - advisory_opinions - murs - admin_fines
-#' @param api_key (length-1 [base::character()]) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
-#' @param af_name (length-1 [base::list()], optional) Admin fine committee name
-#' @param ao_requestor_type (length-1 [base::list()], optional) Code of the advisory opinion requestor type.
-#' @param ao_statutory_citation (length-1 [base::list()], optional) Statutory citations
-#' @param ao_entity_name (length-1 [base::list()], optional) Name of commenter or representative
-#' @param mur_type (length-1 [base::character()], optional) Type of MUR : current or archived
-#' @param ao_regulatory_citation (length-1 [base::list()], optional) Regulatory citations
-#' @param af_committee_id (length-1 [base::character()], optional) Admin fine committee ID
-#' @param ao_requestor (length-1 [base::character()], optional) The requestor of the advisory opinion
-#' @param case_citation_require_all (length-1 [base::logical()], optional) Require all citations to be in document (default behavior is any)
-#' @param af_min_fd_date (length-1 [base::Date()], optional) The earliest Final Determination date
-#' @param ao_is_pending (length-1 [base::logical()], optional) AO is pending
-#' @param af_rtb_fine_amount (length-1 [base::list()], optional) Reason to Believe fine amount
-#' @param case_election_cycles (length-1 [base::list()], optional) Cases election cycles
-#' @param ao_category (length-1 [base::list()], optional) Category of the document
-#' @param ao_citation_require_all (length-1 [base::logical()], optional) Require all citations to be in document (default behavior is any)
-#' @param case_dispositions (length-1 [base::list()], optional) Cases dispositions
-#' @param af_max_rtb_date (length-1 [base::Date()], optional) The latest Reason to Believe date
-#' @param case_min_open_date (length-1 [base::Date()], optional) The earliest date opened of case
-#' @param case_max_close_date (length-1 [base::Date()], optional) The latest date closed of case
-#' @param ao_min_request_date (length-1 [base::Date()], optional) Earliest request date of advisory opinion
-#' @param ao_status (length-1 [base::character()], optional) Status of AO (pending, withdrawn, or final)
-#' @param case_doc_category_id (length-1 [base::list()], optional) Select one or more case_doc_category_id to filter by corresponding CASE_DOCUMENT_CATEGORY: - 1 - Conciliation Agreements - 2 - Complaint, Responses, Designation of Counsel and Extensions of Timee - 3 - General Counsel Reports, Briefs, Notifications and Responses - 4 - Certifications - 5 - Civil Penalties, Disgorgements and Other Payments - 6 - Statements of Reasons
-#' @param af_min_rtb_date (length-1 [base::Date()], optional) The earliest Reason to Believe date
-#' @param ao_name (length-1 [base::list()], optional) Force advisory opinion name
-#' @param case_regulatory_citation (length-1 [base::list()], optional) Regulatory citations
-#' @param ao_no (length-1 [base::list()], optional) Force advisory opinion number
-#' @param case_min_close_date (length-1 [base::Date()], optional) The earliest date closed of case
-#' @param sort (length-1 [base::character()], optional) Provide a field to sort by. Use `-` for descending order. ex: `-case_no`
-#' @param ao_max_request_date (length-1 [base::Date()], optional) Latest request date of advisory opinion
-#' @param case_no (length-1 [base::list()], optional) Enforcement matter case number
+#' @param hits_returned (length-1 `list`, optional) Number of results to return (max 10)
+#' @param af_report_year (length-1 `character`, optional) Admin fine report year
+#' @param case_max_open_date (length-1 `Date`, optional) The latest date opened of case
+#' @param ao_max_issue_date (length-1 `Date`, optional) Latest issue date of advisory opinion
+#' @param case_statutory_citation (length-1 `list`, optional) Statutory citations
+#' @param case_respondents (length-1 `character`, optional) Cases respondents
+#' @param q (length-1 `character`, optional) Text to search legal documents for
+#' @param ao_min_issue_date (length-1 `Date`, optional) Earliest issue date of advisory opinion
+#' @param af_max_fd_date (length-1 `Date`, optional) The latest Final Determination date
+#' @param from_hit (length-1 `list`, optional) Get results starting from this index
+#' @param af_fd_fine_amount (length-1 `list`, optional) Final Determination fine amount
+#' @param type (length-1 `character`, optional) Legal Document type to refine search by - statutes - regulations - advisory_opinions - murs - admin_fines
+#' @param api_key (length-1 `character`) API key for https://api.data.gov. Get one at https://api.data.gov/signup.
+#' @param af_name (length-1 `list`, optional) Admin fine committee name
+#' @param ao_requestor_type (length-1 `list`, optional) Code of the advisory opinion requestor type.
+#' @param ao_statutory_citation (length-1 `list`, optional) Statutory citations
+#' @param ao_entity_name (length-1 `list`, optional) Name of commenter or representative
+#' @param mur_type (length-1 `character`, optional) Type of MUR : current or archived
+#' @param ao_regulatory_citation (length-1 `list`, optional) Regulatory citations
+#' @param af_committee_id (length-1 `character`, optional) Admin fine committee ID
+#' @param ao_requestor (length-1 `character`, optional) The requestor of the advisory opinion
+#' @param case_citation_require_all (length-1 `logical`, optional) Require all citations to be in document (default behavior is any)
+#' @param af_min_fd_date (length-1 `Date`, optional) The earliest Final Determination date
+#' @param ao_is_pending (length-1 `logical`, optional) AO is pending
+#' @param af_rtb_fine_amount (length-1 `list`, optional) Reason to Believe fine amount
+#' @param case_election_cycles (length-1 `list`, optional) Cases election cycles
+#' @param ao_category (length-1 `list`, optional) Category of the document
+#' @param ao_citation_require_all (length-1 `logical`, optional) Require all citations to be in document (default behavior is any)
+#' @param case_dispositions (length-1 `list`, optional) Cases dispositions
+#' @param af_max_rtb_date (length-1 `Date`, optional) The latest Reason to Believe date
+#' @param case_min_open_date (length-1 `Date`, optional) The earliest date opened of case
+#' @param case_max_close_date (length-1 `Date`, optional) The latest date closed of case
+#' @param ao_min_request_date (length-1 `Date`, optional) Earliest request date of advisory opinion
+#' @param ao_status (length-1 `character`, optional) Status of AO (pending, withdrawn, or final)
+#' @param case_doc_category_id (length-1 `list`, optional) Select one or more case_doc_category_id to filter by corresponding CASE_DOCUMENT_CATEGORY: - 1 - Conciliation Agreements - 2 - Complaint, Responses, Designation of Counsel and Extensions of Timee - 3 - General Counsel Reports, Briefs, Notifications and Responses - 4 - Certifications - 5 - Civil Penalties, Disgorgements and Other Payments - 6 - Statements of Reasons
+#' @param af_min_rtb_date (length-1 `Date`, optional) The earliest Reason to Believe date
+#' @param ao_name (length-1 `list`, optional) Force advisory opinion name
+#' @param case_regulatory_citation (length-1 `list`, optional) Regulatory citations
+#' @param ao_no (length-1 `list`, optional) Force advisory opinion number
+#' @param case_min_close_date (length-1 `Date`, optional) The earliest date closed of case
+#' @param sort (length-1 `character`, optional) Provide a field to sort by. Use `-` for descending order. ex: `-case_no`
+#' @param ao_max_request_date (length-1 `Date`, optional) Latest request date of advisory opinion
+#' @param case_no (length-1 `list`, optional) Enforcement matter case number
#' @inheritParams .shared-params
#'
#' @returns `fec_get_legal_search()`: The API response.
diff --git a/tests/testthat/_fixtures/guru/paths-apis-get_api.R b/tests/testthat/_fixtures/guru/paths-apis-get_api.R
index 346f0a6..9de7ccb 100644
--- a/tests/testthat/_fixtures/guru/paths-apis-get_api.R
+++ b/tests/testthat/_fixtures/guru/paths-apis-get_api.R
@@ -6,8 +6,8 @@
#'
#' Returns the API entry for one specific version of an API where there is no serviceName.
#'
-#' @param provider (length-1 [base::character()])
-#' @param api (length-1 [base::character()])
+#' @param provider (length-1 `character`)
+#' @param api (length-1 `character`)
#' @inheritParams .shared-params
#'
#' @returns `guru_get_api()`: The API response.
diff --git a/tests/testthat/_fixtures/guru/paths-apis-get_provider.R b/tests/testthat/_fixtures/guru/paths-apis-get_provider.R
index d4230b1..adea4b9 100644
--- a/tests/testthat/_fixtures/guru/paths-apis-get_provider.R
+++ b/tests/testthat/_fixtures/guru/paths-apis-get_provider.R
@@ -6,7 +6,7 @@
#'
#' List all APIs in the directory for a particular providerName Returns links to the individual API entry for each API.
#'
-#' @param provider (length-1 [base::character()])
+#' @param provider (length-1 `character`)
#' @inheritParams .shared-params
#'
#' @returns `guru_get_provider()`: The API response.
diff --git a/tests/testthat/_fixtures/guru/paths-apis-get_service_api.R b/tests/testthat/_fixtures/guru/paths-apis-get_service_api.R
index 2c6c727..0003878 100644
--- a/tests/testthat/_fixtures/guru/paths-apis-get_service_api.R
+++ b/tests/testthat/_fixtures/guru/paths-apis-get_service_api.R
@@ -6,9 +6,9 @@
#'
#' Returns the API entry for one specific version of an API where there is a serviceName.
#'
-#' @param provider (length-1 [base::character()])
-#' @param service (length-1 [base::character()])
-#' @param api (length-1 [base::character()])
+#' @param provider (length-1 `character`)
+#' @param service (length-1 `character`)
+#' @param api (length-1 `character`)
#' @inheritParams .shared-params
#'
#' @returns `guru_get_service_api()`: The API response.
diff --git a/tests/testthat/_fixtures/guru/paths-apis-get_services.R b/tests/testthat/_fixtures/guru/paths-apis-get_services.R
index 37dd8e8..b8d4600 100644
--- a/tests/testthat/_fixtures/guru/paths-apis-get_services.R
+++ b/tests/testthat/_fixtures/guru/paths-apis-get_services.R
@@ -6,7 +6,7 @@
#'
#' List all serviceNames in the directory for a particular providerName
#'
-#' @param provider (length-1 [base::character()])
+#' @param provider (length-1 `character`)
#' @inheritParams .shared-params
#'
#' @returns `guru_get_services()`: The API response.
diff --git a/tests/testthat/_fixtures/trello/paths-board-add_boards.R b/tests/testthat/_fixtures/trello/paths-board-add_boards.R
index c87dbd8..26663e9 100644
--- a/tests/testthat/_fixtures/trello/paths-board-add_boards.R
+++ b/tests/testthat/_fixtures/trello/paths-board-add_boards.R
@@ -6,8 +6,8 @@
#'
#' addBoards()
#'
-#' @param key (length-1 [base::character()]) Generate your application key
-#' @param token (length-1 [base::character()]) Getting a token from a user
+#' @param key (length-1 `character`) Generate your application key
+#' @param token (length-1 `character`) Getting a token from a user
#' @inheritParams .shared-params
#'
#' @returns `trello_add_boards()`: The API response.
diff --git a/tests/testthat/test-generate_pkg-paths.R b/tests/testthat/test-generate_pkg-paths.R
index 2d4782d..9386476 100644
--- a/tests/testthat/test-generate_pkg-paths.R
+++ b/tests/testthat/test-generate_pkg-paths.R
@@ -240,3 +240,20 @@ test_that(".generate_paths() writes correct paths.R for trello (#65)", {
expected_file_content
)
})
+
+test_that(".compile_param_class_descriptions() uses class names (#85)", {
+ type <- tibble::tibble(r_class_name = c("character", "Date"))
+ result <- .compile_param_class_descriptions(
+ type = type,
+ allow_empty = c(FALSE, TRUE),
+ required = c(TRUE, FALSE)
+ )
+
+ expect_identical(
+ as.character(result),
+ c(
+ "length-1 `character`",
+ "length-1 `Date` or `NULL`, optional"
+ )
+ )
+})