From 7e76f6f948577a9ccad8b529aaf0f8cb86a4c90e Mon Sep 17 00:00:00 2001 From: Aotumuri Date: Sun, 1 Jun 2025 13:49:37 +0900 Subject: [PATCH] base64url.decode --- src/client/TerritoryPatterns.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/client/TerritoryPatterns.ts b/src/client/TerritoryPatterns.ts index 8f84362d6..593e87dfa 100644 --- a/src/client/TerritoryPatterns.ts +++ b/src/client/TerritoryPatterns.ts @@ -1,9 +1,14 @@ +import { base64url } from "jose"; import { z } from "zod"; -import rawTerritoryPatterns from "../../resources/territory_patterns.json"; +import rawTerritoryPatterns from "../../resources/cosmetic/territory_patterns.json"; export const TerritoryPatternsSchema = z.record( z.string(), - z.string().base64(), + z.object({ + pattern: z.string().base64(), + role: z.array(z.string()).optional(), + role_group: z.array(z.string()).optional(), + }), ); export const territoryPatterns = @@ -17,11 +22,7 @@ export class PatternDecoder { private dataStart: number; constructor(base64: string) { - const byteString = atob(base64); - const bytes = new Uint8Array(byteString.length); - for (let i = 0; i < byteString.length; i++) { - bytes[i] = byteString.charCodeAt(i); - } + const bytes = base64url.decode(base64); const version = bytes[0]; if (version !== 1) {