From 3a4ceb22f40b1ecbcb5c957fb0ac202d70c074d2 Mon Sep 17 00:00:00 2001 From: Timo Behrendt Date: Mon, 7 Jul 2025 16:10:06 +0200 Subject: [PATCH 1/4] initial aws types --- src/aws/types.d.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/aws/types.d.ts diff --git a/src/aws/types.d.ts b/src/aws/types.d.ts new file mode 100644 index 0000000..d0fd08d --- /dev/null +++ b/src/aws/types.d.ts @@ -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 = Arn; +type GlobalArn = Arn; + +type RuleArn = RegionalArn<"events", `rule/${string}/${string}`>; +type RoleArn = GlobalArn<"iam", `role/${string}`>; +type SqsArn = RegionalArn<"sqs", string>; +type LambdaArn = RegionalArn<"lambda", `function:${string}`>; -- 2.49.1 From 5f6d3208ac74a81db816bc98ba37f517c7ef5d89 Mon Sep 17 00:00:00 2001 From: "t.behrendt" Date: Tue, 12 Aug 2025 09:32:37 +0200 Subject: [PATCH 2/4] refactor dir to single file --- src/{aws/types.d.ts => aws.d.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{aws/types.d.ts => aws.d.ts} (100%) diff --git a/src/aws/types.d.ts b/src/aws.d.ts similarity index 100% rename from src/aws/types.d.ts rename to src/aws.d.ts -- 2.49.1 From c105e493df7ca50db64bfe51f8263c6fb841968c Mon Sep 17 00:00:00 2001 From: "t.behrendt" Date: Tue, 12 Aug 2025 09:32:41 +0200 Subject: [PATCH 3/4] add brand --- src/brand.d.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/brand.d.ts diff --git a/src/brand.d.ts b/src/brand.d.ts new file mode 100644 index 0000000..d46d3d9 --- /dev/null +++ b/src/brand.d.ts @@ -0,0 +1 @@ +type Brand = T & { readonly __brand: B }; \ No newline at end of file -- 2.49.1 From 413139eb32fca62a2a35f73c2b2724a2a5f5a98e Mon Sep 17 00:00:00 2001 From: "t.behrendt" Date: Tue, 12 Aug 2025 09:32:45 +0200 Subject: [PATCH 4/4] add uuid --- src/uuid.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/uuid.d.ts diff --git a/src/uuid.d.ts b/src/uuid.d.ts new file mode 100644 index 0000000..f9c8ac4 --- /dev/null +++ b/src/uuid.d.ts @@ -0,0 +1,6 @@ +type VariantNibble = "8" | "9" | "A" | "B"; + +type UUID = `${string}-${string}-${V}${string}-${VariantNibble}${string}-${string}` + +type UUIDv4 = UUID<'4'>; +type UUIDv7 = UUID<'7'>; -- 2.49.1