mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-01 12:36:08 +00:00
fix: update ObjectToLower and ObjectToSnake types to preserve numeric keys
This commit is contained in:
parent
d9aef4335d
commit
e095edd20f
@ -107,7 +107,7 @@ export type SnakeCase<S extends string> = S extends `${infer A}${infer Rest}`
|
||||
export type ObjectToLower<T> = T extends unknown[]
|
||||
? ObjectToLower<T[0]>[]
|
||||
: Identify<{
|
||||
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
[K in keyof T as K extends number ? K : CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
? Identify<ObjectToLower<T[K][0]>[]>
|
||||
: T[K] extends object
|
||||
? Identify<ObjectToLower<T[K]>>
|
||||
@ -119,7 +119,7 @@ export type ObjectToLower<T> = T extends unknown[]
|
||||
export type ObjectToLowerUndefined<T> = T extends unknown[]
|
||||
? ObjectToLower<T[0]>[]
|
||||
: Identify<{
|
||||
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
[K in keyof T as K extends number ? K : CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
? ObjectToLower<T[K][0]>[]
|
||||
: T[K] extends object
|
||||
? ObjectToLower<T[K]>
|
||||
@ -127,7 +127,7 @@ export type ObjectToLowerUndefined<T> = T extends unknown[]
|
||||
}>;
|
||||
|
||||
export type ObjectToSnake<T> = Identify<{
|
||||
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
[K in keyof T as K extends number ? K : SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
? Identify<ObjectToSnake<T[K][0]>[]>
|
||||
: T[K] extends object
|
||||
? Identify<ObjectToSnake<T[K]>>
|
||||
@ -139,7 +139,7 @@ export type ObjectToSnake<T> = Identify<{
|
||||
export type ObjectToSnakeUndefined<T> = T extends unknown[]
|
||||
? ObjectToSnake<T[0]>[]
|
||||
: Identify<{
|
||||
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
[K in keyof T as K extends number ? K : SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
|
||||
? ObjectToSnake<T[K][0]>[]
|
||||
: T[K] extends object
|
||||
? ObjectToSnake<T[K]>
|
||||
|
14
src/index.ts
14
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<T extends {}>(
|
||||
) {
|
||||
return cb;
|
||||
}
|
||||
|
||||
declare const authorizedIntegrationOwners: ObjectToLower<
|
||||
APIMessageInteractionMetadata['authorizing_integration_owners']
|
||||
>;
|
||||
authorizedIntegrationOwners;
|
||||
// ^?
|
||||
|
||||
declare const interactionMetadataLowercase: ObjectToLower<APIMessageInteractionMetadata>;
|
||||
|
||||
interactionMetadataLowercase.authorizingIntegrationOwners;
|
||||
//. ^?
|
||||
|
Loading…
x
Reference in New Issue
Block a user