chore: add jsdoc comments to utils

This commit is contained in:
Raghunath Prabhakar 2025-08-11 11:25:23 -05:00
commit 85c86de61e
2 changed files with 20 additions and 0 deletions

View file

@ -63,12 +63,22 @@ export type DataType =
| "array"
| "null";
/**
* Determines the specific data type of a JSON value
* @param value The JSON value to analyze
* @returns The specific data type including "array" and "null" as distinct types
*/
export function getDataType(value: JsonValue): DataType {
if (Array.isArray(value)) return "array";
if (value === null) return "null";
return typeof value;
}
/**
* Attempts to parse a string as JSON, only for objects and arrays
* @param str The string to parse
* @returns Object with success boolean and either parsed data or original string
*/
export function tryParseJson(str: string): {
success: boolean;
data: JsonValue;

View file

@ -24,6 +24,11 @@ type CallbackParams =
error_uri: string | null;
};
/**
* Parses OAuth 2.1 callback parameters from a URL search string
* @param location The URL search string (e.g., "?code=abc123" or "?error=access_denied")
* @returns Parsed callback parameters with success/error information
*/
export const parseOAuthCallbackParams = (location: string): CallbackParams => {
const params = new URLSearchParams(location);
@ -62,6 +67,11 @@ export const generateOAuthState = () => {
);
};
/**
* Generates a human-readable error description from OAuth callback error parameters
* @param params OAuth error callback parameters containing error details
* @returns Formatted multiline error message with error code, description, and optional URI
*/
export const generateOAuthErrorDescription = (
params: Extract<CallbackParams, { successful: false }>,
): string => {