@itwin/core-quantity 5.10.0-dev.1 → 5.10.0-dev.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 (115) hide show
  1. package/lib/cjs/BasicUnitsProvider.d.ts +44 -0
  2. package/lib/cjs/BasicUnitsProvider.d.ts.map +1 -0
  3. package/lib/cjs/BasicUnitsProvider.js +241 -0
  4. package/lib/cjs/BasicUnitsProvider.js.map +1 -0
  5. package/lib/cjs/CompositeUnitsProvider.d.ts +45 -0
  6. package/lib/cjs/CompositeUnitsProvider.d.ts.map +1 -0
  7. package/lib/cjs/CompositeUnitsProvider.js +111 -0
  8. package/lib/cjs/CompositeUnitsProvider.js.map +1 -0
  9. package/lib/cjs/Formatter/FormatterSpec.d.ts.map +1 -1
  10. package/lib/cjs/Formatter/FormatterSpec.js +14 -0
  11. package/lib/cjs/Formatter/FormatterSpec.js.map +1 -1
  12. package/lib/cjs/Interfaces.d.ts +14 -0
  13. package/lib/cjs/Interfaces.d.ts.map +1 -1
  14. package/lib/cjs/Interfaces.js.map +1 -1
  15. package/lib/cjs/Parser.d.ts.map +1 -1
  16. package/lib/cjs/Parser.js +16 -1
  17. package/lib/cjs/Parser.js.map +1 -1
  18. package/lib/cjs/ParserSpec.d.ts.map +1 -1
  19. package/lib/cjs/ParserSpec.js +15 -2
  20. package/lib/cjs/ParserSpec.js.map +1 -1
  21. package/lib/cjs/QuantityLoggerCategory.d.ts +3 -1
  22. package/lib/cjs/QuantityLoggerCategory.d.ts.map +1 -1
  23. package/lib/cjs/QuantityLoggerCategory.js +2 -0
  24. package/lib/cjs/QuantityLoggerCategory.js.map +1 -1
  25. package/lib/cjs/SerializedUnitSchema.d.ts +98 -0
  26. package/lib/cjs/SerializedUnitSchema.d.ts.map +1 -0
  27. package/lib/cjs/SerializedUnitSchema.js +25 -0
  28. package/lib/cjs/SerializedUnitSchema.js.map +1 -0
  29. package/lib/cjs/UnitConversion/Graph.d.ts +35 -0
  30. package/lib/cjs/UnitConversion/Graph.d.ts.map +1 -0
  31. package/lib/cjs/UnitConversion/Graph.js +87 -0
  32. package/lib/cjs/UnitConversion/Graph.js.map +1 -0
  33. package/lib/cjs/UnitConversion/Parser.d.ts +9 -0
  34. package/lib/cjs/UnitConversion/Parser.d.ts.map +1 -0
  35. package/lib/cjs/UnitConversion/Parser.js +42 -0
  36. package/lib/cjs/UnitConversion/Parser.js.map +1 -0
  37. package/lib/cjs/UnitConversion/UnitConversion.d.ts +56 -0
  38. package/lib/cjs/UnitConversion/UnitConversion.d.ts.map +1 -0
  39. package/lib/cjs/UnitConversion/UnitConversion.js +80 -0
  40. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -0
  41. package/lib/cjs/UnitConversion/UnitDefinitionResolver.d.ts +29 -0
  42. package/lib/cjs/UnitConversion/UnitDefinitionResolver.d.ts.map +1 -0
  43. package/lib/cjs/UnitConversion/UnitDefinitionResolver.js +102 -0
  44. package/lib/cjs/UnitConversion/UnitDefinitionResolver.js.map +1 -0
  45. package/lib/cjs/UnitConversion/nameUtils.d.ts +11 -0
  46. package/lib/cjs/UnitConversion/nameUtils.d.ts.map +1 -0
  47. package/lib/cjs/UnitConversion/nameUtils.js +25 -0
  48. package/lib/cjs/UnitConversion/nameUtils.js.map +1 -0
  49. package/lib/cjs/assets/Units.json +4215 -0
  50. package/lib/cjs/core-quantity.d.ts +15 -1
  51. package/lib/cjs/core-quantity.d.ts.map +1 -1
  52. package/lib/cjs/core-quantity.js +17 -1
  53. package/lib/cjs/core-quantity.js.map +1 -1
  54. package/lib/cjs/internal/cross-package.d.ts +4 -0
  55. package/lib/cjs/internal/cross-package.d.ts.map +1 -0
  56. package/lib/cjs/internal/cross-package.js +13 -0
  57. package/lib/cjs/internal/cross-package.js.map +1 -0
  58. package/lib/esm/BasicUnitsProvider.d.ts +44 -0
  59. package/lib/esm/BasicUnitsProvider.d.ts.map +1 -0
  60. package/lib/esm/BasicUnitsProvider.js +213 -0
  61. package/lib/esm/BasicUnitsProvider.js.map +1 -0
  62. package/lib/esm/CompositeUnitsProvider.d.ts +45 -0
  63. package/lib/esm/CompositeUnitsProvider.d.ts.map +1 -0
  64. package/lib/esm/CompositeUnitsProvider.js +108 -0
  65. package/lib/esm/CompositeUnitsProvider.js.map +1 -0
  66. package/lib/esm/Formatter/FormatterSpec.d.ts.map +1 -1
  67. package/lib/esm/Formatter/FormatterSpec.js +14 -0
  68. package/lib/esm/Formatter/FormatterSpec.js.map +1 -1
  69. package/lib/esm/Interfaces.d.ts +14 -0
  70. package/lib/esm/Interfaces.d.ts.map +1 -1
  71. package/lib/esm/Interfaces.js.map +1 -1
  72. package/lib/esm/Parser.d.ts.map +1 -1
  73. package/lib/esm/Parser.js +16 -1
  74. package/lib/esm/Parser.js.map +1 -1
  75. package/lib/esm/ParserSpec.d.ts.map +1 -1
  76. package/lib/esm/ParserSpec.js +15 -2
  77. package/lib/esm/ParserSpec.js.map +1 -1
  78. package/lib/esm/QuantityLoggerCategory.d.ts +3 -1
  79. package/lib/esm/QuantityLoggerCategory.d.ts.map +1 -1
  80. package/lib/esm/QuantityLoggerCategory.js +2 -0
  81. package/lib/esm/QuantityLoggerCategory.js.map +1 -1
  82. package/lib/esm/SerializedUnitSchema.d.ts +98 -0
  83. package/lib/esm/SerializedUnitSchema.d.ts.map +1 -0
  84. package/lib/esm/SerializedUnitSchema.js +22 -0
  85. package/lib/esm/SerializedUnitSchema.js.map +1 -0
  86. package/lib/esm/UnitConversion/Graph.d.ts +35 -0
  87. package/lib/esm/UnitConversion/Graph.d.ts.map +1 -0
  88. package/lib/esm/UnitConversion/Graph.js +83 -0
  89. package/lib/esm/UnitConversion/Graph.js.map +1 -0
  90. package/lib/esm/UnitConversion/Parser.d.ts +9 -0
  91. package/lib/esm/UnitConversion/Parser.d.ts.map +1 -0
  92. package/lib/esm/UnitConversion/Parser.js +39 -0
  93. package/lib/esm/UnitConversion/Parser.js.map +1 -0
  94. package/lib/esm/UnitConversion/UnitConversion.d.ts +56 -0
  95. package/lib/esm/UnitConversion/UnitConversion.d.ts.map +1 -0
  96. package/lib/esm/UnitConversion/UnitConversion.js +76 -0
  97. package/lib/esm/UnitConversion/UnitConversion.js.map +1 -0
  98. package/lib/esm/UnitConversion/UnitDefinitionResolver.d.ts +29 -0
  99. package/lib/esm/UnitConversion/UnitDefinitionResolver.d.ts.map +1 -0
  100. package/lib/esm/UnitConversion/UnitDefinitionResolver.js +98 -0
  101. package/lib/esm/UnitConversion/UnitDefinitionResolver.js.map +1 -0
  102. package/lib/esm/UnitConversion/nameUtils.d.ts +11 -0
  103. package/lib/esm/UnitConversion/nameUtils.d.ts.map +1 -0
  104. package/lib/esm/UnitConversion/nameUtils.js +21 -0
  105. package/lib/esm/UnitConversion/nameUtils.js.map +1 -0
  106. package/lib/esm/assets/Units.json +4215 -0
  107. package/lib/esm/core-quantity.d.ts +15 -1
  108. package/lib/esm/core-quantity.d.ts.map +1 -1
  109. package/lib/esm/core-quantity.js +15 -1
  110. package/lib/esm/core-quantity.js.map +1 -1
  111. package/lib/esm/internal/cross-package.d.ts +4 -0
  112. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  113. package/lib/esm/internal/cross-package.js +8 -0
  114. package/lib/esm/internal/cross-package.js.map +1 -0
  115. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnitDefinitionResolver.js","sourceRoot":"","sources":["../../../src/UnitConversion/UnitDefinitionResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { SERIALIZED_UNIT_SCHEMA_VERSION, type SerializedConstant, type SerializedUnit, type SerializedUnitSchema } from \"../SerializedUnitSchema\";\r\nimport { UnitConversion } from \"./UnitConversion\";\r\nimport { parseDefinition } from \"./Parser\";\r\nimport { stripAliasPrefix } from \"./nameUtils\";\r\n\r\nconst MAX_RESOLUTION_DEPTH = 30;\r\n\r\n/** Resolved unit entry containing the unit's name and its conversion to the base of its phenomenon.\r\n * @internal\r\n */\r\nexport interface ResolvedUnit {\r\n readonly name: string;\r\n readonly label: string;\r\n readonly phenomenon: string;\r\n readonly unitSystem: string;\r\n readonly conversion: UnitConversion;\r\n}\r\n\r\n/** Resolves every unit in a `SerializedUnitSchema` to a `UnitConversion` relative to its phenomenon's base unit.\r\n * @internal\r\n */\r\nexport class UnitDefinitionResolver {\r\n private readonly _schema: SerializedUnitSchema;\r\n private readonly _cache = new Map<string, UnitConversion>();\r\n\r\n constructor(schema: SerializedUnitSchema) {\r\n if (schema.version !== SERIALIZED_UNIT_SCHEMA_VERSION)\r\n throw new Error(`Unsupported Units.json version \"${schema.version}\". Expected \"${SERIALIZED_UNIT_SCHEMA_VERSION}\".`);\r\n this._schema = schema;\r\n }\r\n\r\n /** Resolve all Unit items in the schema and return a map from item name to `ResolvedUnit`. */\r\n public resolveAll(): Map<string, ResolvedUnit> {\r\n const result = new Map<string, ResolvedUnit>();\r\n\r\n for (const [name, item] of Object.entries(this._schema.items)) {\r\n if (item.schemaItemType === \"Unit\") {\r\n const conversion = this._resolveUnit(name, 0);\r\n result.set(name, {\r\n name,\r\n label: item.label ?? name,\r\n phenomenon: item.phenomenon,\r\n unitSystem: item.unitSystem,\r\n conversion,\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /** Resolve a single unit by unqualified name, returning its conversion to base. */\r\n private _resolveUnit(name: string, depth: number): UnitConversion {\r\n if (depth > MAX_RESOLUTION_DEPTH)\r\n throw new Error(`Unit resolution depth exceeded ${MAX_RESOLUTION_DEPTH} for \"${name}\"`);\r\n\r\n const cached = this._cache.get(name);\r\n if (cached)\r\n return cached;\r\n\r\n const item = this._schema.items[name];\r\n if (!item)\r\n throw new Error(`Unknown schema item: \"${name}\"`);\r\n\r\n let conversion: UnitConversion;\r\n\r\n if (item.schemaItemType === \"Constant\") {\r\n conversion = this._resolveConstant(name, item, depth);\r\n } else if (item.schemaItemType === \"Unit\") {\r\n conversion = this._resolveUnitItem(name, item, depth);\r\n } else {\r\n throw new Error(`Cannot resolve item of type \"${item.schemaItemType}\": \"${name}\"`);\r\n }\r\n\r\n this._cache.set(name, conversion);\r\n return conversion;\r\n }\r\n\r\n private _resolveConstant(name: string, item: SerializedConstant, depth: number): UnitConversion {\r\n // A constant is identity if its definition is its own name\r\n if (item.definition === name)\r\n return UnitConversion.identity;\r\n\r\n const selfConv = UnitConversion.from({\r\n numerator: item.numerator ?? 1,\r\n denominator: item.denominator ?? 1,\r\n });\r\n\r\n const defConv = this._resolveDefinition(item.definition, depth + 1);\r\n return defConv.compose(selfConv);\r\n }\r\n\r\n private _resolveUnitItem(name: string, item: SerializedUnit, depth: number): UnitConversion {\r\n // A unit is a base unit if its definition is its own name\r\n if (item.definition === name)\r\n return UnitConversion.identity;\r\n\r\n const selfConv = UnitConversion.from({\r\n numerator: item.numerator ?? 1,\r\n denominator: item.denominator ?? 1,\r\n offset: item.offset,\r\n });\r\n\r\n const defConv = this._resolveDefinition(item.definition, depth + 1);\r\n return defConv.compose(selfConv);\r\n }\r\n\r\n /** Parse and resolve a compound definition string like `[MILLI]*M` or `IN`. */\r\n private _resolveDefinition(definition: string, depth: number): UnitConversion {\r\n const fragments = parseDefinition(definition);\r\n let result: UnitConversion | undefined;\r\n\r\n for (const [, fragment] of fragments) {\r\n // Strip alias prefix if present (definitions in the schema use unqualified names)\r\n const fragName = stripAliasPrefix(fragment.name);\r\n const fragConv = this._resolveUnit(fragName, depth + 1);\r\n const raised = fragConv.raise(fragment.exponent);\r\n result = result ? result.multiply(raised) : raised;\r\n }\r\n\r\n return result ?? UnitConversion.identity;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,11 @@
1
+ /** Strips alias prefix from a schema item reference.
2
+ * `"u:FT"` → `"FT"`, `"FT"` → `"FT"`.
3
+ * @internal
4
+ */
5
+ export declare function stripAliasPrefix(raw: string): string;
6
+ /** Normalizes a schema item reference to fully-qualified `SchemaName.ItemName` format.
7
+ * Handles: already qualified (`"Units.FT"`), alias-qualified (`"u:FT"`), unqualified (`"FT"`).
8
+ * @internal
9
+ */
10
+ export declare function qualifyItemName(raw: string, schemaName: string): string;
11
+ //# sourceMappingURL=nameUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameUtils.d.ts","sourceRoot":"","sources":["../../../src/UnitConversion/nameUtils.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,21 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** Strips alias prefix from a schema item reference.
6
+ * `"u:FT"` → `"FT"`, `"FT"` → `"FT"`.
7
+ * @internal
8
+ */
9
+ export function stripAliasPrefix(raw) {
10
+ return raw.includes(":") ? raw.split(":")[1] : raw;
11
+ }
12
+ /** Normalizes a schema item reference to fully-qualified `SchemaName.ItemName` format.
13
+ * Handles: already qualified (`"Units.FT"`), alias-qualified (`"u:FT"`), unqualified (`"FT"`).
14
+ * @internal
15
+ */
16
+ export function qualifyItemName(raw, schemaName) {
17
+ if (raw.includes("."))
18
+ return raw;
19
+ return `${schemaName}.${stripAliasPrefix(raw)}`;
20
+ }
21
+ //# sourceMappingURL=nameUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameUtils.js","sourceRoot":"","sources":["../../../src/UnitConversion/nameUtils.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,UAAkB;IAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,OAAO,GAAG,UAAU,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** Strips alias prefix from a schema item reference.\r\n * `\"u:FT\"` → `\"FT\"`, `\"FT\"` → `\"FT\"`.\r\n * @internal\r\n */\r\nexport function stripAliasPrefix(raw: string): string {\r\n return raw.includes(\":\") ? raw.split(\":\")[1] : raw;\r\n}\r\n\r\n/** Normalizes a schema item reference to fully-qualified `SchemaName.ItemName` format.\r\n * Handles: already qualified (`\"Units.FT\"`), alias-qualified (`\"u:FT\"`), unqualified (`\"FT\"`).\r\n * @internal\r\n */\r\nexport function qualifyItemName(raw: string, schemaName: string): string {\r\n if (raw.includes(\".\"))\r\n return raw;\r\n return `${schemaName}.${stripAliasPrefix(raw)}`;\r\n}\r\n"]}