@johnmorrisdotca/kyogijo-stadiums 0.45.2 → 0.45.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/annotate.d.ts +1 -1
- package/dist/annotate.js +1 -1
- package/dist/arenas-entry.d.ts +1 -0
- package/dist/arenas-entry.js +2 -0
- package/dist/athletics/describe.js +1 -1
- package/dist/athletics-entry.d.ts +1 -0
- package/dist/athletics-entry.js +2 -0
- package/dist/atlas-entry.d.ts +1 -0
- package/dist/atlas-entry.js +2 -0
- package/dist/ballpark.d.ts +1 -1
- package/dist/ballpark.js +1 -1
- package/dist/budo/describe.js +1 -1
- package/dist/budo-entry.d.ts +1 -0
- package/dist/budo-entry.js +2 -0
- package/dist/canvas-entry.d.ts +1 -0
- package/dist/canvas-entry.js +2 -0
- package/dist/charts-entry.d.ts +1 -0
- package/dist/charts-entry.js +2 -0
- package/dist/charts.athletics.js +1 -1
- package/dist/charts.baseball.js +1 -1
- package/dist/charts.curling.heat.js +1 -1
- package/dist/charts.curling.js +1 -1
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +1 -1
- package/dist/charts.network.js +1 -1
- package/dist/charts.pool.js +1 -1
- package/dist/charts.skating.js +1 -1
- package/dist/charts.soccer.js +1 -1
- package/dist/cityctx-entry.d.ts +1 -0
- package/dist/cityctx-entry.js +2 -0
- package/dist/d3-entry.d.ts +1 -0
- package/dist/d3-entry.js +2 -0
- package/dist/district-entry.d.ts +2 -0
- package/dist/district-entry.js +4 -0
- package/dist/district-lean-entry.js +1 -1
- package/dist/district.js +1 -1
- package/dist/draw.js +1 -1
- package/dist/element-entry.d.ts +1 -0
- package/dist/element-entry.js +2 -0
- package/dist/eras-entry.d.ts +1 -0
- package/dist/eras-entry.js +2 -0
- package/dist/events.js +1 -1
- package/dist/flythrough-entry.d.ts +1 -0
- package/dist/flythrough-entry.js +2 -0
- package/dist/frames-entry.d.ts +1 -0
- package/dist/frames-entry.js +2 -0
- package/dist/full.d.ts +1 -0
- package/dist/full.js +3 -1
- package/dist/geojson-entry.d.ts +1 -0
- package/dist/geojson-entry.js +2 -0
- package/dist/geometry-entry.d.ts +1 -0
- package/dist/geometry-entry.js +2 -0
- package/dist/grounds-entry.d.ts +1 -0
- package/dist/grounds-entry.js +2 -0
- package/dist/heat.js +1 -1
- package/dist/heat.zones.d.ts +1 -1
- package/dist/heat.zones.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/judging-entry.d.ts +1 -0
- package/dist/judging-entry.js +2 -0
- package/dist/judging.board.js +1 -1
- package/dist/judging.draw.js +1 -1
- package/dist/judging.js +1 -1
- package/dist/judging.text.js +1 -1
- package/dist/layers.env.d.ts +1 -1
- package/dist/layers.env.js +1 -1
- package/dist/layers.js +1 -1
- package/dist/layout.js +1 -1
- package/dist/layouts-entry.d.ts +1 -0
- package/dist/layouts-entry.js +2 -0
- package/dist/leagues-entry.d.ts +1 -0
- package/dist/leagues-entry.js +2 -0
- package/dist/mount-entry.d.ts +1 -0
- package/dist/mount-entry.js +2 -0
- package/dist/multi-entry.d.ts +1 -0
- package/dist/multi-entry.js +2 -0
- package/dist/multi.draw.js +1 -1
- package/dist/multi.js +1 -1
- package/dist/osm-entry.d.ts +1 -0
- package/dist/osm-entry.js +2 -0
- package/dist/outside.d.ts +2 -1
- package/dist/outside.js +7 -6
- package/dist/parks-entry.d.ts +1 -0
- package/dist/parks-entry.js +2 -0
- package/dist/plateau-entry.d.ts +1 -0
- package/dist/plateau-entry.js +2 -0
- package/dist/plot-entry.d.ts +1 -0
- package/dist/plot-entry.js +2 -0
- package/dist/png-entry.d.ts +1 -0
- package/dist/png-entry.js +2 -0
- package/dist/pool.replay.js +1 -1
- package/dist/pool.words.js +1 -1
- package/dist/ranges.js +1 -1
- package/dist/react-entry.d.ts +1 -0
- package/dist/react-entry.js +2 -0
- package/dist/replay-entry.d.ts +1 -0
- package/dist/replay-entry.js +2 -0
- package/dist/replay.d.ts +1 -1
- package/dist/replay.dom.js +1 -1
- package/dist/replay.js +1 -1
- package/dist/rules.js +1 -1
- package/dist/scene-entry.d.ts +1 -0
- package/dist/scene-entry.js +2 -0
- package/dist/situation.draw.js +1 -1
- package/dist/situation.js +1 -1
- package/dist/skating/describe.js +1 -1
- package/dist/skating-entry.d.ts +1 -0
- package/dist/skating-entry.js +2 -0
- package/dist/stadiums-entry.d.ts +1 -0
- package/dist/stadiums-entry.js +2 -0
- package/dist/strings.core.d.ts +1104 -0
- package/dist/strings.core.js +55 -0
- package/dist/strings.d.ts +4 -1084
- package/dist/strings.en.d.ts +2 -0
- package/dist/strings.en.js +537 -0
- package/dist/strings.ja.d.ts +2 -0
- package/dist/strings.ja.js +562 -0
- package/dist/strings.js +5 -1100
- package/dist/surfaces/venue.js +1 -1
- package/dist/target.js +1 -1
- package/dist/team.common.js +1 -1
- package/dist/team.formation.js +1 -1
- package/dist/team.lineup.js +1 -1
- package/dist/team.motion.js +1 -1
- package/dist/team.network.js +1 -1
- package/dist/team.shape.js +1 -1
- package/dist/turn-entry.d.ts +1 -0
- package/dist/turn-entry.js +2 -0
- package/dist/turn.model.d.ts +1 -1
- package/dist/turn.model.js +1 -1
- package/dist/uprights.js +1 -1
- package/dist/venue-data-entry.d.ts +2 -0
- package/dist/venue-data-entry.js +5 -1
- package/dist/venue-data.d.ts +1 -1
- package/dist/venue-data.js +5 -2
- package/dist/venues/amerant-bank-arena.data.d.ts +2 -0
- package/dist/venues/amerant-bank-arena.data.js +9 -0
- package/dist/venues/amerant-bank-arena.osm.data.d.ts +2 -0
- package/dist/venues/amerant-bank-arena.osm.data.js +47 -0
- package/dist/venues/american-airlines-center.data.d.ts +2 -0
- package/dist/venues/american-airlines-center.data.js +9 -0
- package/dist/venues/american-airlines-center.osm.data.d.ts +2 -0
- package/dist/venues/american-airlines-center.osm.data.js +57 -0
- package/dist/venues/ball-arena.data.d.ts +2 -0
- package/dist/venues/ball-arena.data.js +9 -0
- package/dist/venues/ball-arena.osm.data.d.ts +2 -0
- package/dist/venues/ball-arena.osm.data.js +63 -0
- package/dist/venues/bell-centre.data.d.ts +2 -0
- package/dist/venues/bell-centre.data.js +9 -0
- package/dist/venues/bell-centre.osm.data.d.ts +2 -0
- package/dist/venues/bell-centre.osm.data.js +24 -0
- package/dist/venues/benchmark-international-arena.data.d.ts +2 -0
- package/dist/venues/benchmark-international-arena.data.js +9 -0
- package/dist/venues/benchmark-international-arena.osm.data.d.ts +2 -0
- package/dist/venues/benchmark-international-arena.osm.data.js +57 -0
- package/dist/venues/bridgestone-arena.data.d.ts +2 -0
- package/dist/venues/bridgestone-arena.data.js +9 -0
- package/dist/venues/bridgestone-arena.osm.data.d.ts +2 -0
- package/dist/venues/bridgestone-arena.osm.data.js +43 -0
- package/dist/venues/canada-life-centre.data.d.ts +2 -0
- package/dist/venues/canada-life-centre.data.js +9 -0
- package/dist/venues/canada-life-centre.osm.data.d.ts +2 -0
- package/dist/venues/canada-life-centre.osm.data.js +35 -0
- package/dist/venues/canadian-tire-centre.data.d.ts +2 -0
- package/dist/venues/canadian-tire-centre.data.js +9 -0
- package/dist/venues/canadian-tire-centre.osm.data.d.ts +2 -0
- package/dist/venues/canadian-tire-centre.osm.data.js +45 -0
- package/dist/venues/capital-one-arena.data.d.ts +2 -0
- package/dist/venues/capital-one-arena.data.js +9 -0
- package/dist/venues/capital-one-arena.osm.data.d.ts +2 -0
- package/dist/venues/capital-one-arena.osm.data.js +22 -0
- package/dist/venues/climate-pledge-arena.data.d.ts +2 -0
- package/dist/venues/climate-pledge-arena.data.js +9 -0
- package/dist/venues/climate-pledge-arena.osm.data.d.ts +2 -0
- package/dist/venues/climate-pledge-arena.osm.data.js +32 -0
- package/dist/venues/crypto-com-arena.data.d.ts +2 -0
- package/dist/venues/crypto-com-arena.data.js +9 -0
- package/dist/venues/crypto-com-arena.osm.data.d.ts +2 -0
- package/dist/venues/crypto-com-arena.osm.data.js +64 -0
- package/dist/venues/delta-center.data.d.ts +2 -0
- package/dist/venues/delta-center.data.js +9 -0
- package/dist/venues/delta-center.osm.data.d.ts +2 -0
- package/dist/venues/delta-center.osm.data.js +40 -0
- package/dist/venues/enterprise-center.data.d.ts +2 -0
- package/dist/venues/enterprise-center.data.js +9 -0
- package/dist/venues/enterprise-center.osm.data.d.ts +2 -0
- package/dist/venues/enterprise-center.osm.data.js +35 -0
- package/dist/venues/grand-casino-arena.data.d.ts +2 -0
- package/dist/venues/grand-casino-arena.data.js +9 -0
- package/dist/venues/grand-casino-arena.osm.data.d.ts +2 -0
- package/dist/venues/grand-casino-arena.osm.data.js +37 -0
- package/dist/venues/honda-center.data.d.ts +2 -0
- package/dist/venues/honda-center.data.js +9 -0
- package/dist/venues/honda-center.osm.data.d.ts +2 -0
- package/dist/venues/honda-center.osm.data.js +46 -0
- package/dist/venues/keybank-center.data.d.ts +2 -0
- package/dist/venues/keybank-center.data.js +9 -0
- package/dist/venues/keybank-center.osm.data.d.ts +2 -0
- package/dist/venues/keybank-center.osm.data.js +34 -0
- package/dist/venues/lenovo-center.data.d.ts +2 -0
- package/dist/venues/lenovo-center.data.js +9 -0
- package/dist/venues/lenovo-center.osm.data.d.ts +2 -0
- package/dist/venues/lenovo-center.osm.data.js +51 -0
- package/dist/venues/little-caesars-arena.data.d.ts +2 -0
- package/dist/venues/little-caesars-arena.data.js +9 -0
- package/dist/venues/little-caesars-arena.osm.data.d.ts +2 -0
- package/dist/venues/little-caesars-arena.osm.data.js +64 -0
- package/dist/venues/madison-square-garden.data.d.ts +2 -0
- package/dist/venues/madison-square-garden.data.js +9 -0
- package/dist/venues/madison-square-garden.osm.data.d.ts +2 -0
- package/dist/venues/madison-square-garden.osm.data.js +47 -0
- package/dist/venues/nationwide-arena.data.d.ts +2 -0
- package/dist/venues/nationwide-arena.data.js +9 -0
- package/dist/venues/nationwide-arena.osm.data.d.ts +2 -0
- package/dist/venues/nationwide-arena.osm.data.js +50 -0
- package/dist/venues/ppg-paints-arena.data.d.ts +2 -0
- package/dist/venues/ppg-paints-arena.data.js +9 -0
- package/dist/venues/ppg-paints-arena.osm.data.d.ts +2 -0
- package/dist/venues/ppg-paints-arena.osm.data.js +31 -0
- package/dist/venues/prudential-center.data.d.ts +2 -0
- package/dist/venues/prudential-center.data.js +9 -0
- package/dist/venues/prudential-center.osm.data.d.ts +2 -0
- package/dist/venues/prudential-center.osm.data.js +41 -0
- package/dist/venues/rogers-arena.data.d.ts +2 -0
- package/dist/venues/rogers-arena.data.js +10 -0
- package/dist/venues/rogers-arena.osm.data.d.ts +2 -0
- package/dist/venues/rogers-arena.osm.data.js +27 -0
- package/dist/venues/rogers-place.data.d.ts +2 -0
- package/dist/venues/rogers-place.data.js +9 -0
- package/dist/venues/rogers-place.osm.data.d.ts +2 -0
- package/dist/venues/rogers-place.osm.data.js +40 -0
- package/dist/venues/sap-center.data.d.ts +2 -0
- package/dist/venues/sap-center.data.js +9 -0
- package/dist/venues/sap-center.osm.data.d.ts +2 -0
- package/dist/venues/sap-center.osm.data.js +54 -0
- package/dist/venues/scotiabank-arena.data.d.ts +2 -0
- package/dist/venues/scotiabank-arena.data.js +9 -0
- package/dist/venues/scotiabank-arena.osm.data.d.ts +2 -0
- package/dist/venues/scotiabank-arena.osm.data.js +45 -0
- package/dist/venues/scotiabank-saddledome.data.d.ts +2 -0
- package/dist/venues/scotiabank-saddledome.data.js +9 -0
- package/dist/venues/scotiabank-saddledome.osm.data.d.ts +2 -0
- package/dist/venues/scotiabank-saddledome.osm.data.js +46 -0
- package/dist/venues/t-mobile-arena.data.d.ts +2 -0
- package/dist/venues/t-mobile-arena.data.js +9 -0
- package/dist/venues/t-mobile-arena.osm.data.d.ts +2 -0
- package/dist/venues/t-mobile-arena.osm.data.js +50 -0
- package/dist/venues/td-garden.data.d.ts +2 -0
- package/dist/venues/td-garden.data.js +9 -0
- package/dist/venues/td-garden.osm.data.d.ts +2 -0
- package/dist/venues/td-garden.osm.data.js +24 -0
- package/dist/venues/ubs-arena.data.d.ts +2 -0
- package/dist/venues/ubs-arena.data.js +9 -0
- package/dist/venues/ubs-arena.osm.data.d.ts +2 -0
- package/dist/venues/ubs-arena.osm.data.js +33 -0
- package/dist/venues/united-center.data.d.ts +2 -0
- package/dist/venues/united-center.data.js +9 -0
- package/dist/venues/united-center.osm.data.d.ts +2 -0
- package/dist/venues/united-center.osm.data.js +56 -0
- package/dist/venues/xfinity-mobile-arena.data.d.ts +2 -0
- package/dist/venues/xfinity-mobile-arena.data.js +9 -0
- package/dist/venues/xfinity-mobile-arena.osm.data.d.ts +2 -0
- package/dist/venues/xfinity-mobile-arena.osm.data.js +47 -0
- package/dist/venues-entry.d.ts +1 -0
- package/dist/venues-entry.js +2 -0
- package/dist/venues.all.d.ts +1 -0
- package/dist/venues.all.js +6 -0
- package/dist/venues.d.ts +16 -4
- package/dist/venues.index.d.ts +8 -0
- package/dist/venues.index.js +34 -0
- package/dist/venues.js +45 -8
- package/dist/venues.osm.data.d.ts +0 -2
- package/dist/venues.osm.data.js +0 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/walk/vancouver.data.d.ts +2 -0
- package/dist/walk/vancouver.data.js +1291 -0
- package/dist/walk.d.ts +24 -1
- package/dist/walk.data.d.ts +2 -2
- package/dist/walk.data.js +13 -1293
- package/dist/walk.full.d.ts +1 -0
- package/dist/walk.full.js +5 -0
- package/dist/walk.index.d.ts +7 -0
- package/dist/walk.index.js +3 -0
- package/dist/walk.js +69 -7
- package/package.json +7 -2
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** The languages the words are in. */
|
|
2
|
+
const LANGUAGES = ["en", "ja"];
|
|
3
|
+
/**
|
|
4
|
+
* The words of the package, by language. Each language is a file of its own (`strings.en.ts`, `strings.ja.ts`), and an entry holds the languages it was given: every entry but the lean district imports `strings.ts`, which holds both, as it always
|
|
5
|
+
* did; the lean district (`district-lean`) holds none until `loadStrings(language)` has read the language it is about to draw in. Reading a language that is not held throws, naming the call that holds it.
|
|
6
|
+
*/
|
|
7
|
+
export const KYOGIJO_STRINGS = Object.defineProperties({}, Object.fromEntries(LANGUAGES.map((language) => [
|
|
8
|
+
language,
|
|
9
|
+
{
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
get() {
|
|
13
|
+
throw new Error(`the ${language === "en" ? "English" : "Japanese"} words are not read yet: await loadStrings("${language}") before the first draw in ${language}, or use an entry that holds both languages (the main entry, or any but the lean district's)`);
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
])));
|
|
17
|
+
/** Hold a language's words for the drawing: what `strings.en.ts` and `strings.ja.ts` do when they are read. After it `KYOGIJO_STRINGS[language]` is the words themselves. */
|
|
18
|
+
export function provideStrings(language, words) {
|
|
19
|
+
Object.defineProperty(KYOGIJO_STRINGS, language, { value: words, enumerable: true, configurable: true, writable: true });
|
|
20
|
+
}
|
|
21
|
+
/** Whether a language's words are held. */
|
|
22
|
+
export const hasStrings = (language) => {
|
|
23
|
+
const held = Object.getOwnPropertyDescriptor(KYOGIJO_STRINGS, language);
|
|
24
|
+
return held !== undefined && held.get === undefined;
|
|
25
|
+
};
|
|
26
|
+
const reading = new Map();
|
|
27
|
+
/**
|
|
28
|
+
* The words of a language, read from the file of that language (the first time) and held for the drawing: await it before the first call of the lean district that draws in the language, and again when the language changes (a language
|
|
29
|
+
* whose words are held is not read twice, and asking again gives the same promise). The entries that hold both languages need no call, and it does nothing there. A language there is no file for rejects.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { drawDistrict, loadStrings, loadVenueDataFor } from "@johnmorrisdotca/kyogijo-stadiums/district-lean";
|
|
33
|
+
* const venues = ["rogers-arena"];
|
|
34
|
+
* await Promise.all([loadVenueDataFor(venues), loadStrings("ja")]);
|
|
35
|
+
* console.log(drawDistrict({ venues, language: "ja" }).includes("ロジャーズ"));
|
|
36
|
+
* // true
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function loadStrings(language) {
|
|
40
|
+
if (hasStrings(language))
|
|
41
|
+
return Promise.resolve();
|
|
42
|
+
const found = reading.get(language);
|
|
43
|
+
if (found !== undefined)
|
|
44
|
+
return found;
|
|
45
|
+
const promise = language === "en" ? import("./strings.en.js").then(() => undefined)
|
|
46
|
+
: language === "ja" ? import("./strings.ja.js").then(() => undefined)
|
|
47
|
+
: Promise.reject(new Error(`no words in ${JSON.stringify(language)}: the languages are ${LANGUAGES.join(", ")}`));
|
|
48
|
+
reading.set(language, promise);
|
|
49
|
+
promise.catch(() => reading.delete(language));
|
|
50
|
+
return promise;
|
|
51
|
+
}
|
|
52
|
+
/** Fill {placeholders} in a template. */
|
|
53
|
+
export function fill(template, values) {
|
|
54
|
+
return template.replace(/\{(\w+)\}/g, (_, key) => String(values[key] ?? ""));
|
|
55
|
+
}
|