@ifc-lite/ids 2.0.0 → 3.0.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.
Files changed (84) hide show
  1. package/dist/audit/coherence/index.js +3 -3
  2. package/dist/audit/coherence/regex.d.ts +2 -1
  3. package/dist/audit/coherence/regex.d.ts.map +1 -1
  4. package/dist/audit/coherence/regex.js +2 -1
  5. package/dist/audit/coherence/regex.js.map +1 -1
  6. package/dist/bridge/classifications.d.ts +24 -1
  7. package/dist/bridge/classifications.d.ts.map +1 -1
  8. package/dist/bridge/classifications.js +95 -22
  9. package/dist/bridge/classifications.js.map +1 -1
  10. package/dist/bridge/data-accessor.d.ts +14 -1
  11. package/dist/bridge/data-accessor.d.ts.map +1 -1
  12. package/dist/bridge/data-accessor.js +34 -9
  13. package/dist/bridge/data-accessor.js.map +1 -1
  14. package/dist/bridge/entity-visibility.d.ts +68 -0
  15. package/dist/bridge/entity-visibility.d.ts.map +1 -0
  16. package/dist/bridge/entity-visibility.js +161 -0
  17. package/dist/bridge/entity-visibility.js.map +1 -0
  18. package/dist/bridge/index.d.ts +1 -1
  19. package/dist/bridge/index.d.ts.map +1 -1
  20. package/dist/bridge/index.js.map +1 -1
  21. package/dist/bridge/materials.d.ts.map +1 -1
  22. package/dist/bridge/materials.js +10 -0
  23. package/dist/bridge/materials.js.map +1 -1
  24. package/dist/bridge/properties.d.ts.map +1 -1
  25. package/dist/bridge/properties.js +21 -12
  26. package/dist/bridge/properties.js.map +1 -1
  27. package/dist/bridge/property-overlay-resolver.d.ts.map +1 -1
  28. package/dist/bridge/property-overlay-resolver.js +10 -2
  29. package/dist/bridge/property-overlay-resolver.js.map +1 -1
  30. package/dist/constraints/describe.d.ts.map +1 -1
  31. package/dist/constraints/describe.js +2 -4
  32. package/dist/constraints/describe.js.map +1 -1
  33. package/dist/constraints/digit-facets.d.ts +19 -21
  34. package/dist/constraints/digit-facets.d.ts.map +1 -1
  35. package/dist/constraints/digit-facets.js +42 -55
  36. package/dist/constraints/digit-facets.js.map +1 -1
  37. package/dist/constraints/match-family.js +16 -7
  38. package/dist/constraints/match-family.js.map +1 -1
  39. package/dist/constraints/xsd-regex.d.ts +11 -1
  40. package/dist/constraints/xsd-regex.d.ts.map +1 -1
  41. package/dist/constraints/xsd-regex.js +65 -4
  42. package/dist/constraints/xsd-regex.js.map +1 -1
  43. package/dist/facets/material-facet.d.ts.map +1 -1
  44. package/dist/facets/material-facet.js +39 -4
  45. package/dist/facets/material-facet.js.map +1 -1
  46. package/dist/facets/property-datatype.d.ts +21 -0
  47. package/dist/facets/property-datatype.d.ts.map +1 -0
  48. package/dist/facets/property-datatype.js +33 -0
  49. package/dist/facets/property-datatype.js.map +1 -0
  50. package/dist/facets/property-facet.d.ts.map +1 -1
  51. package/dist/facets/property-facet.js +6 -26
  52. package/dist/facets/property-facet.js.map +1 -1
  53. package/dist/facets/test-helpers.d.ts +3 -0
  54. package/dist/facets/test-helpers.d.ts.map +1 -1
  55. package/dist/facets/test-helpers.js +3 -2
  56. package/dist/facets/test-helpers.js.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/translation/locales/de.d.ts +2 -0
  62. package/dist/translation/locales/de.d.ts.map +1 -1
  63. package/dist/translation/locales/de.js +2 -0
  64. package/dist/translation/locales/de.js.map +1 -1
  65. package/dist/translation/locales/en.d.ts +2 -0
  66. package/dist/translation/locales/en.d.ts.map +1 -1
  67. package/dist/translation/locales/en.js +2 -0
  68. package/dist/translation/locales/en.js.map +1 -1
  69. package/dist/translation/locales/fr.d.ts +2 -0
  70. package/dist/translation/locales/fr.d.ts.map +1 -1
  71. package/dist/translation/locales/fr.js +2 -0
  72. package/dist/translation/locales/fr.js.map +1 -1
  73. package/dist/translation/service.d.ts.map +1 -1
  74. package/dist/translation/service.js +4 -0
  75. package/dist/translation/service.js.map +1 -1
  76. package/dist/types.d.ts +10 -5
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/validation/format-failure-reason.d.ts.map +1 -1
  79. package/dist/validation/format-failure-reason.js +4 -0
  80. package/dist/validation/format-failure-reason.js.map +1 -1
  81. package/dist/validation/validator.d.ts.map +1 -1
  82. package/dist/validation/validator.js +33 -4
  83. package/dist/validation/validator.js.map +1 -1
  84. package/package.json +4 -4
@@ -0,0 +1,161 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { getAttributeNamesAcrossSchemas, SCHEMA_REGISTRY } from '@ifc-lite/parser';
5
+ /**
6
+ * Attributes the parser's `extractAllEntityAttributes` omits
7
+ * (`SKIP_DISPLAY_ATTRS`). A created entity reports the same attribute names a
8
+ * parsed one does. Its GlobalId is still answered through `globalIdOf`.
9
+ */
10
+ const SKIPPED_ATTRIBUTES = new Set([
11
+ 'GlobalId', 'OwnerHistory', 'ObjectPlacement', 'Representation', 'HasPropertySets', 'RepresentationMaps',
12
+ ]);
13
+ /**
14
+ * Index the overlay's created and retyped entities once per accessor. The
15
+ * validator's `getEntityType` is hot (once per candidate), and
16
+ * `getNewEntities()` copies on every call.
17
+ */
18
+ export function overlayEntityLookup(view) {
19
+ const created = new Map();
20
+ for (const entity of view.getNewEntities()) {
21
+ created.set(entity.expressId, { type: entity.type, attributes: entity.attributes ?? [] });
22
+ }
23
+ const retypes = view.getTypeMutations?.() ?? new Map();
24
+ const attributeCache = new Map();
25
+ function namedAttributes(expressId) {
26
+ const entity = created.get(expressId);
27
+ if (!entity)
28
+ return undefined;
29
+ let named = attributeCache.get(expressId);
30
+ if (!named) {
31
+ named = [];
32
+ const names = getAttributeNamesAcrossSchemas(entity.type);
33
+ const len = Math.min(names.length, entity.attributes.length);
34
+ for (let i = 0; i < len; i++) {
35
+ const value = scalarAttributeValue(entity.attributes[i]);
36
+ if (value !== undefined)
37
+ named.push({ name: names[i], value });
38
+ }
39
+ attributeCache.set(expressId, named);
40
+ }
41
+ return named;
42
+ }
43
+ return {
44
+ typeOf(expressId) {
45
+ const retype = retypes.get(expressId);
46
+ if (retype)
47
+ return retype.newType;
48
+ return created.get(expressId)?.type;
49
+ },
50
+ createdAttributes(expressId) {
51
+ return namedAttributes(expressId)?.filter((a) => !SKIPPED_ATTRIBUTES.has(a.name));
52
+ },
53
+ globalIdOf(expressId) {
54
+ const value = namedAttributes(expressId)?.find((a) => a.name === 'GlobalId')?.value;
55
+ return typeof value === 'string' && value ? value : undefined;
56
+ },
57
+ };
58
+ }
59
+ /**
60
+ * The scalar an authored attribute holds, normalised the way
61
+ * `extractAllEntityAttributes` normalises a parsed one: `.ENUM.` markers
62
+ * stripped, `.T.`/`.F.` as booleans, logical-unknown and unset as absent,
63
+ * typed wrappers unwrapped. References and aggregates are not attribute
64
+ * values the IDS attribute facet compares, so they are absent.
65
+ */
66
+ function scalarAttributeValue(raw) {
67
+ if (typeof raw === 'number' || typeof raw === 'boolean')
68
+ return raw;
69
+ if (typeof raw === 'string') {
70
+ if (raw === '.U.' || raw === '.X.')
71
+ return undefined;
72
+ if (raw === '.T.')
73
+ return true;
74
+ if (raw === '.F.')
75
+ return false;
76
+ if (/^#\d+$/.test(raw))
77
+ return undefined;
78
+ return raw.length > 1 && raw.startsWith('.') && raw.endsWith('.') ? raw.slice(1, -1) : raw;
79
+ }
80
+ if (raw && typeof raw === 'object' && !Array.isArray(raw)) {
81
+ if ('real' in raw && typeof raw.real === 'number')
82
+ return raw.real;
83
+ if ('typed' in raw && raw.typed && typeof raw.typed === 'object' && 'value' in raw.typed) {
84
+ return typedAuthoredValue(raw.typed);
85
+ }
86
+ }
87
+ return undefined;
88
+ }
89
+ /** EXPRESS base primitives a defined type ultimately resolves to. */
90
+ const EXPRESS_PRIMITIVES = new Set(['BOOLEAN', 'LOGICAL', 'INTEGER', 'REAL', 'NUMBER', 'STRING', 'BINARY']);
91
+ /**
92
+ * The EXPRESS primitive an IFC defined type resolves to, by walking the schema
93
+ * registry's `types` alias chain: the same lookup the STEP writer uses
94
+ * (`resolveExpressBase` in `@ifc-lite/export`, which this package cannot
95
+ * depend on). `null` for an unknown type.
96
+ */
97
+ function expressBase(typeName) {
98
+ let cursor = typeName;
99
+ const seen = new Set();
100
+ while (cursor && !seen.has(cursor)) {
101
+ seen.add(cursor);
102
+ const underlying = Object.prototype.hasOwnProperty.call(SCHEMA_REGISTRY.types, cursor)
103
+ ? SCHEMA_REGISTRY.types[cursor]
104
+ : undefined;
105
+ if (!underlying)
106
+ return null;
107
+ const head = underlying.replace(/\(.*$/, '').trim().toUpperCase();
108
+ if (EXPRESS_PRIMITIVES.has(head))
109
+ return head;
110
+ cursor = underlying;
111
+ }
112
+ return null;
113
+ }
114
+ /** The writer's tri-state reading of a boolean/logical inner value. */
115
+ function coerceLogical(value) {
116
+ if (typeof value === 'boolean')
117
+ return value;
118
+ if (typeof value === 'number')
119
+ return value !== 0;
120
+ const t = value.trim().toUpperCase();
121
+ if (t === 'TRUE' || t === '.T.' || t === 'T' || t === '1')
122
+ return true;
123
+ if (t === 'FALSE' || t === '.F.' || t === 'F' || t === '0')
124
+ return false;
125
+ return null;
126
+ }
127
+ /**
128
+ * The value of an authored `{ typed: { type, value } }` marker as the STEP
129
+ * writer emits it (#5249), converted by the type's EXPRESS base exactly as
130
+ * `serializeInnerByBase` does: REAL/NUMBER as a number, INTEGER truncated,
131
+ * BOOLEAN as a boolean (unrecognised reads `false`), LOGICAL tri-state (unknown
132
+ * is absent), STRING/BINARY as literal text, so a typed label reading `#22` is
133
+ * that text, never a reference. An unknown type infers from the JS value.
134
+ */
135
+ export function typedAuthoredValue(typed) {
136
+ const { value } = typed;
137
+ if (typeof value !== 'string' && typeof value !== 'number' && typeof value !== 'boolean')
138
+ return undefined;
139
+ switch (typeof typed.type === 'string' ? expressBase(typed.type) : null) {
140
+ case 'REAL':
141
+ case 'NUMBER': {
142
+ // The writer's toStepReal emits a non-finite number as `0.`.
143
+ const n = Number(value);
144
+ return Number.isFinite(n) ? n : 0;
145
+ }
146
+ case 'INTEGER': {
147
+ const n = Math.trunc(Number(value));
148
+ return Number.isFinite(n) ? n : undefined;
149
+ }
150
+ case 'BOOLEAN':
151
+ return coerceLogical(value) === true;
152
+ case 'LOGICAL':
153
+ return coerceLogical(value) ?? undefined;
154
+ case 'STRING':
155
+ case 'BINARY':
156
+ return String(value);
157
+ default:
158
+ return value;
159
+ }
160
+ }
161
+ //# sourceMappingURL=entity-visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-visibility.js","sourceRoot":"","sources":["../../src/bridge/entity-visibility.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * unwrapping, schema-driven attribute XSD types, etc.
14
14
  */
15
15
  export { createDataAccessor } from './data-accessor.js';
16
- export type { PropertyOverride, PropertyOverlayResolver } from './data-accessor.js';
16
+ export type { PropertyOverride, PropertyOverlayResolver, EntityVisibilityView, } from './data-accessor.js';
17
17
  export { narrowSchemaVersion } from './schema-version.js';
18
18
  export { resolveEntityMeasureScales, toRaw } from './units.js';
19
19
  export type { EntityMeasureScales } from './units.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/bridge/materials.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,GACnD,YAAY,EAAE,CAwDhB"}
1
+ {"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/bridge/materials.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,GACnD,YAAY,EAAE,CAkEhB"}
@@ -19,6 +19,16 @@ export function flattenMaterials(matInfo) {
19
19
  };
20
20
  switch (matInfo.type) {
21
21
  case 'Material':
22
+ if (matInfo.unresolved) {
23
+ // Confirmed materially-associated (a real relationship-graph edge),
24
+ // but the material's own name/category are unreadable on this data
25
+ // source (#5227). `push` above drops entries with no `name`, which
26
+ // would silently discard this marker and make the entity read as
27
+ // genuinely unmaterialed — the exact bug this fix closes. Preserve
28
+ // the marker itself instead.
29
+ out.push({ name: '', unresolved: true });
30
+ break;
31
+ }
22
32
  push(matInfo.name, matInfo.category);
23
33
  if (matInfo.category)
24
34
  push(matInfo.category, matInfo.category);
@@ -1 +1 @@
1
- {"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/bridge/materials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/bridge/materials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/bridge/properties.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,YAAY,EAQlB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAYnD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE,CAmBnB"}
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/bridge/properties.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,YAAY,EASlB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAyBnD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE,CAmBnB"}
@@ -1,10 +1,21 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
- import { extractPropertiesOnDemand, extractQuantitiesOnDemand, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractAllEntityAttributes, extractMaterialPropertiesForMaterialId, mergeInheritedPropertySets, } from '@ifc-lite/parser';
4
+ import { extractPropertiesOnDemand, extractQuantitiesOnDemand, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractAllEntityAttributes, extractMaterialPropertiesForMaterialId, mergeInheritedPropertySets, getAttributeTypeForSchema, } from '@ifc-lite/parser';
5
5
  import { RelationshipType } from '@ifc-lite/data';
6
6
  import { idsDataTypeForProperty, idsDataTypeForQuantity } from './data-types.js';
7
7
  import { applyUnitConversion, resolveEntityMeasureScales } from './units.js';
8
+ /**
9
+ * The IDS dataType of a raw property. The source's own tag wins. A
10
+ * multi-valued property without one is UNKNOWN: its display type says
11
+ * nothing about its members, so no type is invented. Only an explicit
12
+ * `dataTypeMixed` (a table) exempts a property from a dataType check (#5224).
13
+ */
14
+ function idsDataTypeOf(p) {
15
+ const hasMultiValue = Array.isArray(p.values) && p.values.length > 0;
16
+ const dataType = p.dataType ?? (hasMultiValue ? undefined : idsDataTypeForProperty(p.type));
17
+ return { dataType, ...(p.dataTypeMixed ? { dataTypeMixed: true } : {}) };
18
+ }
8
19
  /**
9
20
  * IDS treats `IfcElementQuantity` (Qto_*) and `IfcPropertySet` (Pset_*)
10
21
  * uniformly — both surface as "property sets" with named values. The
@@ -109,10 +120,10 @@ function appendPredefinedPropertySets(store, expressId, out) {
109
120
  .map((a) => ({
110
121
  name: a.name,
111
122
  value: a.value,
112
- // dataType intentionally left empty: without a per-attribute
113
- // schema lookup we can't know if PanelOperation is IFCDOORPANELOPERATIONENUM
114
- // vs anything else. The IDS dataType gate then no-ops for these slots.
115
- dataType: '',
123
+ // The attribute's declared EXPRESS type is its dataType (PanelOperation
124
+ // → IFCDOORPANELOPERATIONENUM). Unknown to the schema means unknown, and
125
+ // a dataType check fails rather than passing unchecked (#5224).
126
+ dataType: getAttributeTypeForSchema(tu, a.name, store.schemaVersion)?.toUpperCase(),
116
127
  }));
117
128
  if (properties.length > 0)
118
129
  out.push({ name: psetNameAttr, properties });
@@ -204,7 +215,7 @@ function appendTypeEntityOwnProperties(store, expressId, out) {
204
215
  value: Array.isArray(p.value)
205
216
  ? JSON.stringify(p.value)
206
217
  : p.value,
207
- dataType: idsDataTypeForProperty(p.type),
218
+ ...idsDataTypeOf(p),
208
219
  ...(Array.isArray(p.values) && p.values.length > 0
209
220
  ? { values: p.values }
210
221
  : {}),
@@ -215,14 +226,12 @@ function appendTypeEntityOwnProperties(store, expressId, out) {
215
226
  /**
216
227
  * Project a raw parser property record into the validator's
217
228
  * `PropertySetInfo['properties'][number]` shape — applies unit
218
- * conversion and resolves the IDS dataType. Multi-valued properties
219
- * (lists, enumerations, table values) suppress dataType so the
220
- * validator's dataType gate falls through to the value match.
229
+ * conversion and resolves the IDS dataType (`idsDataTypeOf`).
221
230
  */
222
231
  function projectProperty(p, scale, measureScales) {
223
232
  const hasMultiValue = Array.isArray(p.values) && p.values.length > 0;
224
- const dataType = p.dataType ??
225
- (hasMultiValue ? undefined : idsDataTypeForProperty(p.type));
233
+ const types = idsDataTypeOf(p);
234
+ const dataType = types.dataType;
226
235
  const baseValue = Array.isArray(p.value)
227
236
  ? JSON.stringify(p.value)
228
237
  : p.value;
@@ -231,7 +240,7 @@ function projectProperty(p, scale, measureScales) {
231
240
  return {
232
241
  name: p.name,
233
242
  value: converted.value,
234
- dataType: dataType ?? '',
243
+ ...types,
235
244
  ...(converted.values ? { values: converted.values } : {}),
236
245
  };
237
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/bridge/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/bridge/properties.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-overlay-resolver.d.ts","sourceRoot":"","sources":["../../src/bridge/property-overlay-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKnD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,uBAAuB,GAAG,SAAS,GACnD,eAAe,EAAE,CAkHnB"}
1
+ {"version":3,"file":"property-overlay-resolver.d.ts","sourceRoot":"","sources":["../../src/bridge/property-overlay-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKnD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,uBAAuB,GAAG,SAAS,GACnD,eAAe,EAAE,CA0HnB"}
@@ -126,7 +126,14 @@ export function resolveEffectivePropertySets(store, expressId, propertyOverlay)
126
126
  first.properties.push({
127
127
  name: override.propName,
128
128
  value: toBaseSI(override.value, override.dataType, scales),
129
- dataType: override.dataType ?? '',
129
+ // Carry `undefined` through as-is when the caller didn't supply
130
+ // a dataType — do NOT default to `''`. `''` is falsy exactly like
131
+ // `undefined` at every dataType gate, so defaulting to it here
132
+ // used to silently disable dataType-constrained IDS checks on a
133
+ // property a user created to fix a PROPERTY_MISSING finding
134
+ // (ifc-lite #5224). `undefined` is the correct "unrecorded"
135
+ // representation per `PropertySetInfo`'s dataType doc.
136
+ dataType: override.dataType,
130
137
  });
131
138
  }
132
139
  else {
@@ -138,7 +145,8 @@ export function resolveEffectivePropertySets(store, expressId, propertyOverlay)
138
145
  properties: [{
139
146
  name: override.propName,
140
147
  value: toBaseSI(override.value, override.dataType, scales),
141
- dataType: override.dataType ?? '',
148
+ // See the sibling push() above — carry undefined, never ''.
149
+ dataType: override.dataType,
142
150
  }],
143
151
  });
144
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"property-overlay-resolver.js","sourceRoot":"","sources":["../../src/bridge/property-overlay-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-overlay-resolver.js","sourceRoot":"","sources":["../../src/bridge/property-overlay-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/constraints/describe.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,aAAa,CAAC;AA+BrB;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,aAAa,EACzB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACxD,MAAM,CA6BR;AA6FD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAOlE"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/constraints/describe.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,aAAa,CAAC;AA8BrB;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,aAAa,EACzB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACxD,MAAM,CA6BR;AA0FD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAOlE"}
@@ -2,7 +2,7 @@
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
4
  import { conjunctiveFacetsOf, matchOneFamily, NUMERIC_TOLERANCE, } from './match-family.js';
5
- import { matchDigitFacets, countDecimalDigits, toFixedDecimalString, } from './digit-facets.js';
5
+ import { matchDigitFacets, countDecimalDigits, } from './digit-facets.js';
6
6
  import { isStrictNumericLiteral } from './comparators.js';
7
7
  /**
8
8
  * Cap enumeration rendering. These strings are embedded in per-entity
@@ -88,9 +88,7 @@ function getBoundsMismatchReason(constraint, actualValue) {
88
88
  violations.push(`must be < ${constraint.maxExclusive}`);
89
89
  }
90
90
  if (matchDigitFacets(constraint, actualValue) === false) {
91
- const decimalStr = typeof actualValue === 'number'
92
- ? toFixedDecimalString(actualValue)
93
- : String(actualValue);
91
+ const decimalStr = String(actualValue);
94
92
  if (!isStrictNumericLiteral(decimalStr)) {
95
93
  violations.push('must be a valid decimal literal');
96
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/constraints/describe.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,SAAS,gBAAgB,CAAC,MAAgB;IACxC,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAyB,EACzB,WAAyD;IAEzD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,qEAAqE;IACrE,+DAA+D;IAC/D,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,aAAa,UAAU,CAAC,KAAK,WAAW,WAAW,GAAG,CAAC;QAChE,KAAK,SAAS;YACZ,OAAO,IAAI,WAAW,6BAA6B,UAAU,CAAC,OAAO,GAAG,CAAC;QAC3E,KAAK,aAAa;YAChB,OAAO,IAAI,WAAW,mBAAmB,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjF,KAAK,QAAQ;YACX,OAAO,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D;YACE,OAAO,yBAAyB,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAC9B,iBAAwE;IAExE,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAA+B,EAC/B,WAAsC;IAEtC,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACrE,OAAO,CACL,4DAA4D;YAC5D,GAAG,MAAM,yDAAyD;YAClE,mEAAmE,WAAW,IAAI,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GACP,OAAO,WAAW,KAAK,QAAQ;QAC7B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,WAAW,yBAAyB,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IACE,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,GAAG,GAAG,UAAU,CAAC,YAAY,GAAG,iBAAiB,EACjD,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IACE,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,GAAG,GAAG,UAAU,CAAC,YAAY,GAAG,iBAAiB,EACjD,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;QACxD,MAAM,UAAU,GACd,OAAO,WAAW,KAAK,QAAQ;YAC7B,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,UAAU,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3E,UAAU,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,WAAW,eAAe,CAAC,CAAC;YAC9E,CAAC;YACD,IACE,UAAU,CAAC,cAAc,KAAK,SAAS;gBACvC,QAAQ,GAAG,UAAU,CAAC,cAAc,EACpC,CAAC;gBACD,UAAU,CAAC,IAAI,CACb,qBAAqB,UAAU,CAAC,cAAc,kBAAkB,CACjE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,YAAY,GAAG,IAAI,OAAO,EAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAyB;IACxD,IAAI,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACjD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAyB;IACzD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACvC,gEAAgE;IAChE,sEAAsE;IACtE,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,UAAyB;IAChD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,YAAY,UAAU,CAAC,OAAO,GAAG,CAAC;QAC3C,KAAK,aAAa;YAChB,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,CAAC;YACD,OAAO,UAAU,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;QAClC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,UAA+B;IACnD,+DAA+D;IAC/D,mDAAmD;IACnD,qEAAqE;IACrE,gEAAgE;IAChE,qEAAqE;IACrE,qEAAqE;IACrE,yDAAyD;IACzD,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACrE,OAAO,kEAAkE,MAAM,4BAA4B,CAAC;IAC9G,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IACE,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,UAAU,CAAC,YAAY,KAAK,SAAS,EACrC,CAAC;QACD,OAAO,WAAW,UAAU,CAAC,YAAY,QAAQ,UAAU,CAAC,YAAY,EAAE,CAAC;IAC7E,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,WAAW,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,cAAc,kBAAkB,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/constraints/describe.ts"],"names":[],"mappings":"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"}
@@ -6,29 +6,27 @@
6
6
  */
7
7
  import type { IDSBoundsConstraint } from '../types.js';
8
8
  /**
9
- * Canonical fixed-point decimal string for a JS number (no scientific
10
- * notation) — `xs:totalDigits`/`xs:fractionDigits` are defined over the
11
- * lexical decimal form, and `String(1e-7)` would otherwise smuggle an
12
- * `e` into the digit count.
13
- */
14
- export declare function toFixedDecimalString(num: number): string;
15
- /**
16
- * Count decimal digits per XSD §4.3.11/§4.3.12 facet semantics. The two
17
- * facets treat leading fraction zeros DIFFERENTLY:
9
+ * Count decimal digits per XSD §4.3.11/§4.3.12 facet semantics, over any
10
+ * strict numeric literal (`isStrictNumericLiteral`), exponent included.
11
+ * Write the value as `0.D × 10^p`, where `D` has no leading or trailing
12
+ * zeros and `L` digits:
13
+ *
14
+ * - `fractionDigits` is `n` in value = i × 10⁻ⁿ: the digits after the
15
+ * decimal point, `max(0, L - p)`. Leading fraction zeros count
16
+ * (`0.0025` → 4); trailing zeros do not (`1.4500` → 2).
17
+ * - `totalDigits` is the digit count of `i`. Leading zeros are absorbed
18
+ * into the scale and never count (`0.0025 = 25 × 10⁻⁴` → 2), trailing
19
+ * fraction zeros are dropped, and trailing INTEGER zeros stay
20
+ * significant (`1000` → 4): `max(L, p)`.
18
21
  *
19
- * - `fractionDigits` is `n` in value = i × 10⁻ⁿ: the count of digits
20
- * after the decimal point, full stop. Leading zeros in the fraction
21
- * DO count (`0.0025` → 4) since they fix the magnitude (`10⁻ⁿ`);
22
- * only trailing zeros are insignificant (`1.4500` → 2).
23
- * - `totalDigits` is the digit count of `i` in that same value = i ×
24
- * 10⁻ⁿ. Leading zeros — in the integer part AND in the fraction
25
- * before the first non-zero digit — are absorbed into the `10⁻ⁿ`
26
- * scale factor and do NOT count (`0.0025 = 25 × 10⁻⁴` → 2, not 4).
27
- * Trailing zeros in the fraction are still dropped (`0.250` → `25`
28
- * → 2). Trailing zeros in the INTEGER part stay significant per the
29
- * digit-count reading (`1000` → 4): only leading zeros are stripped.
22
+ * The exponent is applied arithmetically on the lexical digits (#5186), so
23
+ * `"1.5e3"` counts as 1500 (4, 0) without going through a double or
24
+ * materialising the expanded string. The count is exact for any number of
25
+ * significant digits and any exponent (BigInt), and a literal like
26
+ * `"1e999999"` costs nothing. A `number` is counted from
27
+ * `String(num)`, which may itself be exponential (`1e-7`).
30
28
  */
31
- export declare function countDecimalDigits(decimalStr: string): {
29
+ export declare function countDecimalDigits(literal: string): {
32
30
  total: number;
33
31
  fraction: number;
34
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"digit-facets.d.ts","sourceRoot":"","sources":["../../src/constraints/digit-facets.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAaA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,gBAAgB,CAAC,EACvE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GACrC,OAAO,GAAG,SAAS,CAmBrB"}
1
+ {"version":3,"file":"digit-facets.d.ts","sourceRoot":"","sources":["../../src/constraints/digit-facets.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAmBA;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,gBAAgB,CAAC,EACvE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GACrC,OAAO,GAAG,SAAS,CAgBrB"}