@instruments/taxonomy 0.1.0 → 0.3.0
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/README.md +62 -31
- package/dist/chunk-4ECRPD2I.js +7508 -0
- package/dist/chunk-CTKOLWGS.js +23 -0
- package/dist/chunk-FCMCKNQF.js +103 -0
- package/dist/chunk-WIRA24HM.js +42 -0
- package/dist/crosswalks/designshop.d.ts +33 -0
- package/dist/crosswalks/designshop.js +363 -0
- package/dist/crosswalks/materialgraph.d.ts +41 -0
- package/dist/crosswalks/materialgraph.js +178 -0
- package/dist/crosswalks/miu.d.ts +3 -0
- package/dist/crosswalks/miu.js +9 -3
- package/dist/estate/index.d.ts +233 -0
- package/dist/estate/index.js +1808 -0
- package/dist/index.d.ts +282 -10
- package/dist/index.js +168 -143
- package/dist/mapping-pvHk5VjC.d.ts +31 -0
- package/dist/match-CWzTEuL-.d.ts +403 -0
- package/dist/taste.d.ts +155 -0
- package/dist/taste.js +14 -0
- package/package.json +27 -8
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1,300 @@
|
|
|
1
|
-
|
|
1
|
+
import { R as RelationPredicate, T as Term, M as MatchStrength } from './match-CWzTEuL-.js';
|
|
2
|
+
export { A as AlternativeReason, b as AlternativesMatch, c as BundleMatch, d as BundleMember, a as BundleMemberInput, B as BundleRole, e as BundleSearch, f as CandidateAnnotations, C as CanonicalAlternatives, g as CanonicalBundle, D as DEFAULT_BUNDLE_ROLE, E as ExternalMapping, h as ExternalScheme, i as MATCH_TEST_VECTORS, j as MATCH_WEIGHTS, k as MatchTestCandidate, l as MatchTestVector, m as MatchTier, P as PeriodSpan, n as RankedCandidate, o as RelationRole, S as SearchOptions, p as SearchedWithout, q as SourceBasis, r as StyleKind, s as TermProvenance, t as TermRelation, u as TermStatus, v as TermUsage, U as UsageBand, w as UsageWithheld, x as defineAlternatives, y as defineBundle, z as matchAlternatives, F as matchBundle, G as searchBundle } from './match-CWzTEuL-.js';
|
|
3
|
+
export { C as CrosswalkMapping, a as ambiguousMapping, b as approximateMapping, c as constitutiveMapping, d as declinedMapping, r as resolvedMapping } from './mapping-pvHk5VjC.js';
|
|
4
|
+
export { AmbiguousAssertionMeaning, AmbiguousCanonicalisation, AssertionAuthority, AssertionMeaning, AssertionPolarity, AssertionProvenance, AssertionRole, AssertionScope, CanonicalisationInput, CanonicalisationVerdict, DeclinedCanonicalisation, PORTABLE_ASSERTION_TEST_VECTORS, PortableAssertionTestVector, PortableTasteAssertion, ProjectContextAssertion, RequirementAssertion, RequirementConstraint, RequirementOperator, ResolvedAssertionMeaning, ResolvedCanonicalisation, TASTE_ASSERTION_CONTRACT_VERSION, TAXONOMY_SNAPSHOT_VERSION, TasteAssertion, UnresolvedAssertionMeaning, UnresolvedCanonicalisation, assertionMeaningFrom } from './taste.js';
|
|
5
|
+
|
|
6
|
+
/** The relation predicates, at runtime. TypeScript cannot enumerate a union, so this is by hand. */
|
|
7
|
+
declare const RELATION_PREDICATES: readonly ["blend-of", "evokes", "influenced-by", "part-of", "reads-as", "related-to", "serves", "suitable-for", "typically-in"];
|
|
8
|
+
/** Where a canonical term lives, and what it is called in the one spelling that counts. */
|
|
9
|
+
interface TermLocation {
|
|
10
|
+
axisId: string;
|
|
11
|
+
facetId: string;
|
|
12
|
+
termId: string;
|
|
13
|
+
/** `<axis>.<term>`, or `<axis>.<facet>.<term>` on a faceted axis. ADR 0001's target form. */
|
|
14
|
+
qualifiedId: string;
|
|
15
|
+
term: Term;
|
|
16
|
+
}
|
|
17
|
+
/** A parsed assertion: an optional relation predicate wrapping a term reference. */
|
|
18
|
+
interface ParsedAssertion {
|
|
19
|
+
predicate?: RelationPredicate;
|
|
20
|
+
/** The term reference, verbatim and unfolded. */
|
|
21
|
+
target: string;
|
|
22
|
+
}
|
|
23
|
+
interface ResolvedAssertion extends ParsedAssertion {
|
|
24
|
+
location: TermLocation;
|
|
25
|
+
/** The spelling the matcher compares on: `predicate(qualifiedId)` or a bare `qualifiedId`. */
|
|
26
|
+
canonical: string;
|
|
27
|
+
/** True when the named term is deprecated. Resolves anyway; a published id must keep resolving. */
|
|
28
|
+
deprecated: boolean;
|
|
29
|
+
/** The term that replaced it, when deprecated. */
|
|
30
|
+
supersededBy?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Split `evokes(place.region.nordic)` into its predicate and target. A bare term reference parses
|
|
34
|
+
* to a target and no predicate. An unrecognised predicate does NOT parse: `foo(bar)` is not an
|
|
35
|
+
* assertion with an exotic predicate, it is a string nobody has defined.
|
|
36
|
+
*/
|
|
37
|
+
declare const parseAssertion: (assertion: string) => ParsedAssertion | undefined;
|
|
38
|
+
/** Every canonical term, with the qualified id that names it. */
|
|
39
|
+
declare const TERM_LOCATIONS: readonly TermLocation[];
|
|
40
|
+
/** Every accepted spelling of every term, folded. Exported so a consumer can size the vocabulary. */
|
|
41
|
+
declare const ASSERTION_KEYS: ReadonlySet<string>;
|
|
42
|
+
/** Resolve any published spelling of a term to the one location it names. */
|
|
43
|
+
declare const resolveTerm: (reference: string) => TermLocation | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a whole assertion, predicate included. Returns undefined when the predicate is not one
|
|
46
|
+
* `term.ts` defines, or when the target names no canonical term.
|
|
47
|
+
*/
|
|
48
|
+
declare const resolveAssertion: (assertion: string) => ResolvedAssertion | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* The spelling the matcher compares on.
|
|
51
|
+
*
|
|
52
|
+
* An assertion this package cannot resolve folds to ITSELF rather than to nothing. That is the
|
|
53
|
+
* difference between a matcher and a gate: a consumer's private tag must still match its own
|
|
54
|
+
* counterpart on the other side, and only the canon's own artefacts are held to resolving.
|
|
55
|
+
*/
|
|
56
|
+
declare const canonicalAssertion: (assertion: string) => string;
|
|
57
|
+
/** True when this package can resolve the assertion to a canonical term. */
|
|
58
|
+
declare const isCanonicalAssertion: (assertion: string) => boolean;
|
|
59
|
+
/** The assertions this package cannot resolve, in input order. The failure message IS the work item. */
|
|
60
|
+
declare const unknownAssertions: (assertions: Iterable<string>) => readonly string[];
|
|
61
|
+
/** Assertions naming a term that still resolves but has been superseded, with its successor. */
|
|
62
|
+
declare const deprecatedAssertions: (assertions: Iterable<string>) => readonly {
|
|
63
|
+
assertion: string;
|
|
64
|
+
supersededBy: string;
|
|
65
|
+
}[];
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The SKOS property each strength renders to.
|
|
69
|
+
*
|
|
70
|
+
* `skos:relatedMatch`, not `skos:related`: the target sits in another scheme, and SKOS reserves the
|
|
71
|
+
* unqualified property for associations inside one scheme.
|
|
72
|
+
*/
|
|
73
|
+
declare const SKOS_MATCH_PREDICATE: Readonly<Record<MatchStrength, string>>;
|
|
74
|
+
/** The strengths, at runtime. TypeScript cannot enumerate a union, so this is by hand. */
|
|
75
|
+
declare const MATCH_STRENGTHS: readonly ["broad", "close", "exact", "narrow", "related"];
|
|
76
|
+
/**
|
|
77
|
+
* True when the row asserts the two concepts are interchangeable. The only strength a consumer may
|
|
78
|
+
* treat as an identity; everything else is an approximation it has been told about.
|
|
79
|
+
*/
|
|
80
|
+
declare const isInterchangeable: (strength: MatchStrength) => boolean;
|
|
81
|
+
|
|
82
|
+
declare const ELEMENT_TERMS: readonly Term[];
|
|
83
|
+
|
|
84
|
+
/** How a product or material is made; never a claim about its style or visible motif. */
|
|
85
|
+
declare const CONSTRUCTION_TERMS: readonly Term[];
|
|
86
|
+
|
|
87
|
+
/** Kept for consumers importing the axis as one list; prefer the facets. */
|
|
88
|
+
declare const FINISH_TERMS: readonly Term[];
|
|
89
|
+
|
|
90
|
+
/** The supplied physical unit or delivery shape, independent of material and installation pattern. */
|
|
91
|
+
declare const FORMAT_TERMS: readonly Term[];
|
|
92
|
+
|
|
93
|
+
/** Specific substance or material system; narrower than the retrieval-oriented material family. */
|
|
94
|
+
declare const MATERIAL_TERMS: readonly Term[];
|
|
95
|
+
|
|
96
|
+
declare const MOOD_TERMS: readonly Term[];
|
|
97
|
+
|
|
98
|
+
/** Kept for consumers importing the axis as one list; prefer the facets. */
|
|
99
|
+
declare const PATTERN_TERMS: readonly Term[];
|
|
100
|
+
|
|
101
|
+
/** What kind of purchasable or specifiable thing the record describes, independent of substance. */
|
|
102
|
+
declare const PRODUCT_CATEGORY_TERMS: readonly Term[];
|
|
103
|
+
|
|
104
|
+
/** A dimension on which a project can impose a constraint; the assertion carries its operator/value. */
|
|
105
|
+
declare const REQUIREMENT_TERMS: readonly Term[];
|
|
106
|
+
|
|
107
|
+
declare const PALETTE_HUE_TERMS: readonly Term[];
|
|
108
|
+
declare const PALETTE_TEMPERATURE_TERMS: readonly Term[];
|
|
109
|
+
declare const PALETTE_CHARACTER_TERMS: readonly Term[];
|
|
110
|
+
/** The three palette facets, each a closed dictionary in its own right. */
|
|
111
|
+
declare const PALETTE_FACETS: readonly ["hue", "temperature", "character"];
|
|
112
|
+
type PaletteFacet = (typeof PALETTE_FACETS)[number];
|
|
113
|
+
|
|
114
|
+
declare const PERIOD_TERMS: readonly Term[];
|
|
115
|
+
/**
|
|
116
|
+
* The periods a year could belong to, best match first.
|
|
117
|
+
*
|
|
118
|
+
* Sibling spans overlap on purpose - Georgian and Regency genuinely do - so "what period is 1800?"
|
|
119
|
+
* has no single answer in the data. Resolving it lives here rather than in each consumer, because
|
|
120
|
+
* a tie-break reinvented five times is five different answers to one question.
|
|
121
|
+
*
|
|
122
|
+
* THE RANKING, and it is not quite the one TAX-10 proposed. That ticket said prefer the narrowest
|
|
123
|
+
* match, then the un-hedged one. Narrowest-first alone gets 1800 wrong: it returns Regency, whose
|
|
124
|
+
* core is 1811-1820, over Georgian, whose core contains 1800 outright. So the first key is whether
|
|
125
|
+
* the year falls in the period's UNCONTROVERSIAL CORE at all:
|
|
126
|
+
*
|
|
127
|
+
* 1. a core match beats an edge match 1800 is Georgian, only arguably Regency
|
|
128
|
+
* 2. then narrowest core 1815 is Regency, not merely Georgian
|
|
129
|
+
* 3. then `circa: false` dated boundaries beat conventional ones
|
|
130
|
+
* 4. among edge matches, least far outside 1832 is late Georgian, not late Regency
|
|
131
|
+
*
|
|
132
|
+
* `strict` drops the edge matches entirely, which is the difference between "give me a canonical
|
|
133
|
+
* period for this year" and "could this year defensibly be called that".
|
|
134
|
+
*/
|
|
135
|
+
declare const periodsAt: (year: number, { strict }?: {
|
|
136
|
+
strict?: boolean | undefined;
|
|
137
|
+
}) => readonly Term[];
|
|
138
|
+
/** The single best period for a year, or undefined when none covers it. */
|
|
139
|
+
declare const periodAt: (year: number, options?: {
|
|
140
|
+
strict?: boolean;
|
|
141
|
+
}) => Term | undefined;
|
|
142
|
+
|
|
143
|
+
declare const PLACE_REGION_TERMS: readonly Term[];
|
|
144
|
+
declare const PLACE_LANDSCAPE_TERMS: readonly Term[];
|
|
145
|
+
declare const PLACE_FACETS: readonly ["region", "landscape"];
|
|
146
|
+
type PlaceFacet = (typeof PLACE_FACETS)[number];
|
|
147
|
+
|
|
148
|
+
declare const STYLE_TERMS: readonly Term[];
|
|
149
|
+
|
|
150
|
+
type StyleId = (typeof STYLE_TERMS)[number]["id"];
|
|
151
|
+
/** At least one anchor, so a key cannot be added and left empty. */
|
|
152
|
+
type Anchors$1 = readonly [string, ...string[]];
|
|
153
|
+
declare const STYLE_ANCHORS: Readonly<Record<string, Anchors$1>>;
|
|
154
|
+
/** The anchors for a style term, or undefined when the id names no style. */
|
|
155
|
+
declare const anchorsFor: (styleId: string) => Anchors$1 | undefined;
|
|
156
|
+
|
|
157
|
+
declare const MOOD_ANCHORS: Readonly<Record<string, Anchors$1>>;
|
|
158
|
+
/** The anchors for a mood term, or undefined when the id names no mood. */
|
|
159
|
+
declare const moodAnchorsFor: (moodId: string) => Anchors$1 | undefined;
|
|
160
|
+
|
|
161
|
+
declare const PERIOD_ANCHORS: Readonly<Record<string, Anchors$1>>;
|
|
162
|
+
/** The anchors for a period term, or undefined when the id names no period. */
|
|
163
|
+
declare const periodAnchorsFor: (periodId: string) => Anchors$1 | undefined;
|
|
164
|
+
|
|
165
|
+
declare const PLACE_ANCHORS: Readonly<Record<string, Anchors$1>>;
|
|
166
|
+
/** The anchors for a place term, or undefined when the id names no place. */
|
|
167
|
+
declare const placeAnchorsFor: (placeId: string) => Anchors$1 | undefined;
|
|
168
|
+
|
|
169
|
+
type Anchors = readonly [string, ...string[]];
|
|
170
|
+
/**
|
|
171
|
+
* Every space anchor, one file per sector so each stays inside the line budget and reads
|
|
172
|
+
* alphabetically within its own group.
|
|
173
|
+
*/
|
|
174
|
+
declare const SPACE_ANCHORS: Readonly<Record<string, Anchors>>;
|
|
175
|
+
/** The anchors for a space term, or undefined when the id names no space. */
|
|
176
|
+
declare const spaceAnchorsFor: (spaceId: string) => Anchors | undefined;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* A sector of the SPACE axis: a group of rooms that answer the same programme question.
|
|
180
|
+
*
|
|
181
|
+
* NOT THE SECTOR AXIS, despite the shared word, and the collision is old rather than chosen:
|
|
182
|
+
* these are PROGRAMME groups (where you sleep, wash, eat), while `sector.*` is the market a
|
|
183
|
+
* project serves. The market claim lives on individual terms as `serves` edges - see
|
|
184
|
+
* `marketsServed` below and the register in `space/market-neutral.ts` - and this grouping makes
|
|
185
|
+
* no market claim at all: the "healthcare" file holds `clean_room`, which serves no single
|
|
186
|
+
* market, and the "domestic" file is a programme word, not `sector.residential`.
|
|
187
|
+
*
|
|
188
|
+
* NOT A FACET, and not part of a term's identifier. `space.scullery` is the id whatever sector the
|
|
189
|
+
* scullery is filed under, and re-filing a room must never move its URI. This is a browse
|
|
190
|
+
* structure, and it exists because 197 rooms sorted alphabetically put Operating Room next to
|
|
191
|
+
* Orangery - which is a list you can search and not a list you can read.
|
|
192
|
+
*
|
|
193
|
+
* NOR IS IT `broaderTermId`. A scullery is not a kind of "Dining", so an ISA edge would be false;
|
|
194
|
+
* ADR 0001's relation rule is explicit that subsumption means every instance of the narrower term
|
|
195
|
+
* is an instance of the broader one. Sector is a filing decision about the vocabulary, which is a
|
|
196
|
+
* different kind of claim from a fact about the world, and conflating the two is how hierarchies
|
|
197
|
+
* fill up with things that are not parents.
|
|
198
|
+
*/
|
|
199
|
+
interface SpaceSector {
|
|
2
200
|
id: string;
|
|
201
|
+
/** The reader's word for the sector. */
|
|
3
202
|
label: string;
|
|
4
|
-
|
|
5
|
-
semanticId?: string;
|
|
6
|
-
/** Parent term id for hierarchical dictionaries (applications). */
|
|
7
|
-
broaderTermId?: string;
|
|
203
|
+
terms: readonly Term[];
|
|
8
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* The seventeen sectors, in the order a browse page should show them.
|
|
207
|
+
*
|
|
208
|
+
* Ordered by programme rather than alphabetically or by size: where you arrive, where you move,
|
|
209
|
+
* where you sleep, wash, eat, gather, and so on out to the specialised sectors and the unclassified
|
|
210
|
+
* tail. A reader looking for their own corner of the built environment finds it by walking through
|
|
211
|
+
* a building, which is the order this list is in.
|
|
212
|
+
*
|
|
213
|
+
* `SPACE_TERMS` is DERIVED from this, so the flat list and the grouped one cannot disagree. It was
|
|
214
|
+
* previously the other way round - seventeen spreads into one array, with the grouping expressed
|
|
215
|
+
* only by which file a term happened to sit in, where nothing outside the package could read it.
|
|
216
|
+
*/
|
|
217
|
+
declare const SPACE_SECTORS: readonly SpaceSector[];
|
|
218
|
+
declare const SPACE_TERMS: readonly Term[];
|
|
219
|
+
/**
|
|
220
|
+
* The markets a space exists to serve, resolved through its ISA chain, or null where no market is
|
|
221
|
+
* part of the room's identity.
|
|
222
|
+
*
|
|
223
|
+
* THE ACCESSOR EXISTS SO THE INHERITANCE IS NOT REINVENTED. A `serves` edge restricts every
|
|
224
|
+
* descendant - each suite is a hotel room, so each suite serves hospitality - and a consumer
|
|
225
|
+
* reading raw edges would see `suite` carrying none and read it as unrestricted. The walk stops at
|
|
226
|
+
* the NEAREST edge-bearing ancestor, because a child's own edges are a narrower claim that
|
|
227
|
+
* replaces the inherited one rather than adding to it (`training_room` serves workplace inside a
|
|
228
|
+
* neutral `classroom`).
|
|
229
|
+
*
|
|
230
|
+
* Null is a reviewed claim, not a gap: the term serves whatever market its project serves. The
|
|
231
|
+
* register in `space/market-neutral.ts` is what makes that true, and the disposition test in
|
|
232
|
+
* `axes.test.ts` is what keeps it true. Answering "what belongs in a residential scheme" is
|
|
233
|
+
* therefore: every term whose result is null or includes "residential" - the neutral majority
|
|
234
|
+
* spans all sectors, and excluding it would fail closed.
|
|
235
|
+
*/
|
|
236
|
+
declare const marketsServed: (termId: string) => readonly Sector[] | null;
|
|
237
|
+
|
|
238
|
+
declare const MARKET_NEUTRAL_SPACES: ReadonlySet<string>;
|
|
239
|
+
|
|
240
|
+
declare const TYPOLOGY_TERMS: readonly Term[];
|
|
241
|
+
|
|
242
|
+
declare const AXIS_IDS: readonly ["material_family", "product_category", "material", "pattern", "finish", "format", "construction", "requirement", "sector", "application", "space", "element", "typology", "style", "period", "mood", "palette", "place", "tier", "procurement", "strategy", "form", "density"];
|
|
243
|
+
type AxisId = (typeof AXIS_IDS)[number];
|
|
244
|
+
interface AxisFacet {
|
|
245
|
+
id: string;
|
|
246
|
+
label: string;
|
|
247
|
+
terms: readonly Term[];
|
|
248
|
+
}
|
|
249
|
+
interface Axis {
|
|
250
|
+
id: AxisId;
|
|
251
|
+
label: string;
|
|
252
|
+
/** The question the axis answers, in a reader's words. One line. */
|
|
253
|
+
question: string;
|
|
254
|
+
/**
|
|
255
|
+
* Where this axis ends and its nearest neighbour begins, with the criterion that decides it.
|
|
256
|
+
* Rendered verbatim on the axis page, because a boundary nobody can read is a boundary that gets
|
|
257
|
+
* re-litigated.
|
|
258
|
+
*/
|
|
259
|
+
boundary: string;
|
|
260
|
+
/** `authored` ships terms. `declared` is a real question with no terms yet, and says so. */
|
|
261
|
+
status: "authored" | "declared";
|
|
262
|
+
/** Single-dictionary axes carry one facet named for the axis. */
|
|
263
|
+
facets: readonly AxisFacet[];
|
|
264
|
+
/** Why the axis has no terms yet. Present only when status is "declared". */
|
|
265
|
+
gap?: string;
|
|
266
|
+
}
|
|
267
|
+
declare const AXES: readonly Axis[];
|
|
268
|
+
declare const axisById: (id: AxisId) => Axis | undefined;
|
|
269
|
+
/** Every term on an axis, across all its facets. */
|
|
270
|
+
declare const axisTerms: (axis: Axis) => readonly Term[];
|
|
271
|
+
|
|
272
|
+
declare const MATERIAL_FAMILY_TERMS: readonly Term[];
|
|
273
|
+
declare const SECTOR_TERMS: readonly Term[];
|
|
274
|
+
declare const APPLICATION_TERMS: readonly Term[];
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* The published term shape. Widened in 0.2.0 from the original three fields to the full `Term` in
|
|
278
|
+
* `./term`, which adds external mappings, provenance, usage bands, supersession and typed
|
|
279
|
+
* relations. Every added field is optional, so this is a backward-compatible minor exactly as the
|
|
280
|
+
* banner above planned: "adding them later is a backward-compatible minor".
|
|
281
|
+
*/
|
|
282
|
+
type TaxonomyTerm = Term;
|
|
283
|
+
|
|
9
284
|
declare const PROVENANCE: {
|
|
10
285
|
readonly snapshot: "2026-07-08";
|
|
11
286
|
readonly source: "materialgraph packages/schema/src/registry/value-dictionaries.ts";
|
|
12
287
|
};
|
|
13
|
-
declare const MATERIAL_FAMILY_TERMS: readonly TaxonomyTerm[];
|
|
14
288
|
declare const MATERIAL_FAMILIES: readonly ["paint", "wall_finish", "wallcovering", "textile", "upholstery", "carpet", "wood", "stone", "tile", "terrazzo", "metal", "glass", "resilient_flooring", "composite", "concrete", "leather", "other"];
|
|
15
289
|
type MaterialFamily = (typeof MATERIAL_FAMILIES)[number];
|
|
16
290
|
declare const isMaterialFamily: (value: string) => value is MaterialFamily;
|
|
17
|
-
declare const SECTOR_TERMS: readonly TaxonomyTerm[];
|
|
18
291
|
declare const SECTORS: readonly ["hospitality", "healthcare", "workplace", "residential", "retail", "education", "civic", "mixed_use", "transportation", "other"];
|
|
19
292
|
type Sector = (typeof SECTORS)[number];
|
|
20
293
|
declare const isSector: (value: string) => value is Sector;
|
|
21
|
-
declare const
|
|
22
|
-
declare const APPLICATIONS: readonly ["wall", "flooring", "ceiling", "bath", "kitchen", "furniture", "lighting", "door", "window", "facade", "countertop", "fireplace", "stair_elevator", "bedding", "decor", "vertically_hanging", "transportation", "pool_fountain", "paving_deck", "partition", "millwork", "cabinetry", "masonry", "roof", "garage", "bar", "awning_umbrella", "recreation_sport", "ornamentation", "aquatic_environments", "wall_backsplash", "wall_upholstered", "wall_wet_shower", "flooring_wet_area", "flooring_entrance", "flooring_radiant_heat", "flooring_or_lab", "flooring_anti_fatigue", "flooring_esd", "flooring_safety_slip", "flooring_raised_access", "flooring_rigid_core", "flooring_dining_area", "flooring_subject_oil", "flooring_walk_in_freezer", "flooring_ramps_inclines", "furniture_seating", "furniture_headboard", "furniture_slipcover", "furniture_systems", "furniture_tackboard", "furniture_throw_pillow", "fireplace_firebox", "fireplace_hearth", "fireplace_mantel", "fireplace_surround", "bedding_bed_scarf", "bedding_sheets", "bedding_skirt", "bedding_bedspread", "bedding_box_spring_cover", "stair_riser", "stair_tread", "stair_railing", "stair_elevator_cladding", "vh_drapery", "vh_privacy_curtain", "vh_shower_curtain", "vh_theatrical_curtain", "vh_window_shade", "transportation_automotive", "transportation_aviation", "transportation_marine", "pool_coping", "pool_decking", "pool_lining", "paving_covered_areas", "paving_patio", "partition_toilet", "masonry_structural", "masonry_veneer", "recreation_gymnasium", "recreation_playground", "recreation_weightlifting", "awning", "tensile_structure", "umbrella", "countertop_chemical_resistant"];
|
|
294
|
+
declare const APPLICATIONS: readonly ["wall", "flooring", "ceiling", "bath", "kitchen", "furniture", "lighting", "door", "window", "facade", "countertop", "fireplace", "stair_elevator", "bedding", "decor", "vertically_hanging", "transportation", "pool_fountain", "paving_deck", "partition", "millwork", "cabinetry", "masonry", "roof", "garage", "bar", "awning_umbrella", "recreation_sport", "ornamentation", "aquatic_environments", "upholstery", "trim", "wall_backsplash", "wall_upholstered", "wall_wet_shower", "flooring_wet_area", "flooring_entrance", "flooring_radiant_heat", "flooring_or_lab", "flooring_anti_fatigue", "flooring_esd", "flooring_safety_slip", "flooring_raised_access", "flooring_rigid_core", "flooring_dining_area", "flooring_subject_oil", "flooring_walk_in_freezer", "flooring_ramps_inclines", "furniture_seating", "furniture_headboard", "furniture_slipcover", "furniture_systems", "furniture_tackboard", "furniture_throw_pillow", "fireplace_firebox", "fireplace_hearth", "fireplace_mantel", "fireplace_surround", "bedding_bed_scarf", "bedding_sheets", "bedding_skirt", "bedding_bedspread", "bedding_box_spring_cover", "stair_riser", "stair_tread", "stair_railing", "stair_elevator_cladding", "vh_drapery", "vh_privacy_curtain", "vh_shower_curtain", "vh_theatrical_curtain", "vh_window_shade", "transportation_automotive", "transportation_aviation", "transportation_marine", "pool_coping", "pool_decking", "pool_lining", "paving_covered_areas", "paving_patio", "partition_toilet", "masonry_structural", "masonry_veneer", "recreation_gymnasium", "recreation_playground", "recreation_weightlifting", "awning", "tensile_structure", "umbrella", "countertop_chemical_resistant"];
|
|
23
295
|
type Application = (typeof APPLICATIONS)[number];
|
|
24
296
|
declare const isApplication: (value: string) => value is Application;
|
|
25
297
|
declare const APPLICATION_PARENTS: Readonly<Partial<Record<Application, Application>>>;
|
|
26
298
|
declare const applicationTopLevelOf: (application: Application) => Application;
|
|
27
299
|
|
|
28
|
-
export { APPLICATIONS, APPLICATION_PARENTS, APPLICATION_TERMS, type Application, MATERIAL_FAMILIES, MATERIAL_FAMILY_TERMS, type MaterialFamily, PROVENANCE, SECTORS, SECTOR_TERMS, type Sector, type TaxonomyTerm, applicationTopLevelOf, isApplication, isMaterialFamily, isSector };
|
|
300
|
+
export { APPLICATIONS, APPLICATION_PARENTS, APPLICATION_TERMS, ASSERTION_KEYS, AXES, AXIS_IDS, type Anchors$1 as Anchors, type Application, type Axis, type AxisFacet, type AxisId, CONSTRUCTION_TERMS, ELEMENT_TERMS, FINISH_TERMS, FORMAT_TERMS, MARKET_NEUTRAL_SPACES, MATCH_STRENGTHS, MATERIAL_FAMILIES, MATERIAL_FAMILY_TERMS, MATERIAL_TERMS, MOOD_ANCHORS, MOOD_TERMS, MatchStrength, type MaterialFamily, PALETTE_CHARACTER_TERMS, PALETTE_FACETS, PALETTE_HUE_TERMS, PALETTE_TEMPERATURE_TERMS, PATTERN_TERMS, PERIOD_ANCHORS, PERIOD_TERMS, PLACE_ANCHORS, PLACE_FACETS, PLACE_LANDSCAPE_TERMS, PLACE_REGION_TERMS, PRODUCT_CATEGORY_TERMS, PROVENANCE, type PaletteFacet, type ParsedAssertion, type PlaceFacet, RELATION_PREDICATES, REQUIREMENT_TERMS, RelationPredicate, type ResolvedAssertion, SECTORS, SECTOR_TERMS, SKOS_MATCH_PREDICATE, SPACE_ANCHORS, SPACE_SECTORS, SPACE_TERMS, STYLE_ANCHORS, STYLE_TERMS, type Sector, type SpaceSector, type StyleId, TERM_LOCATIONS, TYPOLOGY_TERMS, type TaxonomyTerm, Term, type TermLocation, anchorsFor, applicationTopLevelOf, axisById, axisTerms, canonicalAssertion, deprecatedAssertions, isApplication, isCanonicalAssertion, isInterchangeable, isMaterialFamily, isSector, marketsServed, moodAnchorsFor, parseAssertion, periodAnchorsFor, periodAt, periodsAt, placeAnchorsFor, resolveAssertion, resolveTerm, spaceAnchorsFor, unknownAssertions };
|