mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-02 04:56:07 +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[]
|
export type ObjectToLower<T> = T extends unknown[]
|
||||||
? ObjectToLower<T[0]>[]
|
? ObjectToLower<T[0]>[]
|
||||||
: Identify<{
|
: 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]>[]>
|
? Identify<ObjectToLower<T[K][0]>[]>
|
||||||
: T[K] extends object
|
: T[K] extends object
|
||||||
? Identify<ObjectToLower<T[K]>>
|
? Identify<ObjectToLower<T[K]>>
|
||||||
@ -119,7 +119,7 @@ export type ObjectToLower<T> = T extends unknown[]
|
|||||||
export type ObjectToLowerUndefined<T> = T extends unknown[]
|
export type ObjectToLowerUndefined<T> = T extends unknown[]
|
||||||
? ObjectToLower<T[0]>[]
|
? ObjectToLower<T[0]>[]
|
||||||
: Identify<{
|
: 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]>[]
|
? ObjectToLower<T[K][0]>[]
|
||||||
: T[K] extends object
|
: T[K] extends object
|
||||||
? ObjectToLower<T[K]>
|
? ObjectToLower<T[K]>
|
||||||
@ -127,7 +127,7 @@ export type ObjectToLowerUndefined<T> = T extends unknown[]
|
|||||||
}>;
|
}>;
|
||||||
|
|
||||||
export type ObjectToSnake<T> = Identify<{
|
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]>[]>
|
? Identify<ObjectToSnake<T[K][0]>[]>
|
||||||
: T[K] extends object
|
: T[K] extends object
|
||||||
? Identify<ObjectToSnake<T[K]>>
|
? Identify<ObjectToSnake<T[K]>>
|
||||||
@ -139,7 +139,7 @@ export type ObjectToSnake<T> = Identify<{
|
|||||||
export type ObjectToSnakeUndefined<T> = T extends unknown[]
|
export type ObjectToSnakeUndefined<T> = T extends unknown[]
|
||||||
? ObjectToSnake<T[0]>[]
|
? ObjectToSnake<T[0]>[]
|
||||||
: Identify<{
|
: 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]>[]
|
? ObjectToSnake<T[K][0]>[]
|
||||||
: T[K] extends object
|
: T[K] extends object
|
||||||
? ObjectToSnake<T[K]>
|
? ObjectToSnake<T[K]>
|
||||||
|
14
src/index.ts
14
src/index.ts
@ -7,9 +7,10 @@ import {
|
|||||||
type RuntimeConfig,
|
type RuntimeConfig,
|
||||||
type RuntimeConfigHTTP,
|
type RuntimeConfigHTTP,
|
||||||
} from './client/base';
|
} from './client/base';
|
||||||
import { isCloudfareWorker } from './common';
|
import { type ObjectToLower, isCloudfareWorker } from './common';
|
||||||
import type { ClientNameEvents, CustomEventsKeys, ResolveEventParams } from './events';
|
import type { ClientNameEvents, CustomEventsKeys, ResolveEventParams } from './events';
|
||||||
import { GatewayIntentBits } from './types';
|
import { GatewayIntentBits } from './types';
|
||||||
|
import type { APIMessageInteractionMetadata } from './types/payloads/_interactions/base';
|
||||||
export { Logger, PermissionStrings, Formatter } from './common';
|
export { Logger, PermissionStrings, Formatter } from './common';
|
||||||
//
|
//
|
||||||
export { Collection, LimitedCollection } from './collection';
|
export { Collection, LimitedCollection } from './collection';
|
||||||
@ -105,3 +106,14 @@ export function extendContext<T extends {}>(
|
|||||||
) {
|
) {
|
||||||
return cb;
|
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