@commercelayer/sdk
Version:
Commerce Layer Javascript SDK
8 lines (6 loc) • 627 B
text/typescript
type ObjectType = Record<string, any>;
type CreateArrayWithLengthX<LENGTH extends number, ACC extends unknown[] = []> = ACC['length'] extends LENGTH ? ACC : CreateArrayWithLengthX<LENGTH, [...ACC, 1]>;
type NumericNumberRange<START_ARR extends number[], END extends number, ACC extends number = never> = START_ARR['length'] extends END ? ACC | END : NumericNumberRange<[...START_ARR, 1], END, ACC | START_ARR['length']>;
type PositiveNumberRange<MAX extends number> = NumericNumberRange<CreateArrayWithLengthX<1>, MAX>;
type StringKey<T> = Extract<keyof T, string>;
export type { ObjectType, PositiveNumberRange, StringKey };