diff --git a/src/common/types/util.ts b/src/common/types/util.ts index c595002..7c68058 100644 --- a/src/common/types/util.ts +++ b/src/common/types/util.ts @@ -107,7 +107,7 @@ export type SnakeCase = S extends `${infer A}${infer Rest}` export type ObjectToLower = T extends unknown[] ? ObjectToLower[] : Identify<{ - [K in keyof T as CamelCase>]: T[K] extends unknown[] + [K in keyof T as K extends number ? K : CamelCase>]: T[K] extends unknown[] ? Identify[]> : T[K] extends object ? Identify> @@ -119,7 +119,7 @@ export type ObjectToLower = T extends unknown[] export type ObjectToLowerUndefined = T extends unknown[] ? ObjectToLower[] : Identify<{ - [K in keyof T as CamelCase>]: T[K] extends unknown[] + [K in keyof T as K extends number ? K : CamelCase>]: T[K] extends unknown[] ? ObjectToLower[] : T[K] extends object ? ObjectToLower @@ -127,7 +127,7 @@ export type ObjectToLowerUndefined = T extends unknown[] }>; export type ObjectToSnake = Identify<{ - [K in keyof T as SnakeCase>]: T[K] extends unknown[] + [K in keyof T as K extends number ? K : SnakeCase>]: T[K] extends unknown[] ? Identify[]> : T[K] extends object ? Identify> @@ -139,7 +139,7 @@ export type ObjectToSnake = Identify<{ export type ObjectToSnakeUndefined = T extends unknown[] ? ObjectToSnake[] : Identify<{ - [K in keyof T as SnakeCase>]: T[K] extends unknown[] + [K in keyof T as K extends number ? K : SnakeCase>]: T[K] extends unknown[] ? ObjectToSnake[] : T[K] extends object ? ObjectToSnake diff --git a/src/index.ts b/src/index.ts index 00f8556..b5ff4d6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,9 +7,10 @@ import { type RuntimeConfig, type RuntimeConfigHTTP, } from './client/base'; -import { isCloudfareWorker } from './common'; +import { type ObjectToLower, isCloudfareWorker } from './common'; import type { ClientNameEvents, CustomEventsKeys, ResolveEventParams } from './events'; import { GatewayIntentBits } from './types'; +import type { APIMessageInteractionMetadata } from './types/payloads/_interactions/base'; export { Logger, PermissionStrings, Formatter } from './common'; // export { Collection, LimitedCollection } from './collection'; @@ -105,3 +106,14 @@ export function extendContext( ) { return cb; } + +declare const authorizedIntegrationOwners: ObjectToLower< + APIMessageInteractionMetadata['authorizing_integration_owners'] +>; +authorizedIntegrationOwners; +// ^? + +declare const interactionMetadataLowercase: ObjectToLower; + +interactionMetadataLowercase.authorizingIntegrationOwners; +//. ^?