diff --git a/serverless/aws/src/index.ts b/serverless/aws/src/index.ts index e463a72..163ba0b 100644 --- a/serverless/aws/src/index.ts +++ b/serverless/aws/src/index.ts @@ -40,7 +40,7 @@ const CACHE = new ResolvedValueCache(undefined, undefined, nativeDecompress); // duplicated code below export const pmtiles_path = (name: string, setting?: string): string => { if (setting) { - return setting.replace("{name}", name); + return setting.replaceAll("{name}", name); } return name + ".pmtiles"; }; diff --git a/serverless/cloudflare/src/index.test.ts b/serverless/cloudflare/src/index.test.ts index 0956c48..0d40f09 100644 --- a/serverless/cloudflare/src/index.test.ts +++ b/serverless/cloudflare/src/index.test.ts @@ -16,6 +16,13 @@ test("pmtiles path with slash", (assertion) => { assertion.equal(result, "folder/foo/bar/file.pmtiles"); }); +test("pmtiles path with multiple names", (assertion) => { + let result = pmtiles_path("slug","folder/{name}/{name}.pmtiles"); + assertion.equal(result, "folder/slug/slug.pmtiles"); + result = pmtiles_path("foo/bar","folder/{name}/{name}.pmtiles"); + assertion.equal(result, "folder/foo/bar/foo/bar.pmtiles"); +}); + test("parse tile default", (assertion) => { let {ok, name, tile, ext} = tile_path("abcd"); assertion.equal(ok, false); diff --git a/serverless/cloudflare/src/index.ts b/serverless/cloudflare/src/index.ts index d66ecb9..0144bfe 100644 --- a/serverless/cloudflare/src/index.ts +++ b/serverless/cloudflare/src/index.ts @@ -29,7 +29,7 @@ class KeyNotFoundError extends Error { export const pmtiles_path = (name: string, setting?: string): string => { if (setting) { - return setting.replace("{name}", name); + return setting.replaceAll("{name}", name); } return name + ".pmtiles"; };