Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 413139eb32 | |||
| c105e493df | |||
| 5f6d3208ac | |||
| 3a4ceb22f4 |
16
src/aws.d.ts
vendored
Normal file
16
src/aws.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
type AccountId = `${number}`;
|
||||
type Region = `${string}-${string}-${number}`;
|
||||
|
||||
type Arn<
|
||||
S extends string,
|
||||
R extends Region | "",
|
||||
T extends string
|
||||
> = `arn:aws:${S}:${R}:${AccountId}:${T}`;
|
||||
|
||||
type RegionalArn<S extends string, T extends string> = Arn<S, Region, T>;
|
||||
type GlobalArn<S extends string, T extends string> = Arn<S, "", T>;
|
||||
|
||||
type RuleArn = RegionalArn<"events", `rule/${string}/${string}`>;
|
||||
type RoleArn = GlobalArn<"iam", `role/${string}`>;
|
||||
type SqsArn = RegionalArn<"sqs", string>;
|
||||
type LambdaArn = RegionalArn<"lambda", `function:${string}`>;
|
||||
1
src/brand.d.ts
vendored
Normal file
1
src/brand.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
type Brand<T, B> = T & { readonly __brand: B };
|
||||
6
src/uuid.d.ts
vendored
Normal file
6
src/uuid.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
type VariantNibble = "8" | "9" | "A" | "B";
|
||||
|
||||
type UUID<V extends '4'|'7'> = `${string}-${string}-${V}${string}-${VariantNibble}${string}-${string}`
|
||||
|
||||
type UUIDv4 = UUID<'4'>;
|
||||
type UUIDv7 = UUID<'7'>;
|
||||
Reference in New Issue
Block a user