@itwin/core-common 5.14.0-dev.9 → 5.15.0-dev.1
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 +31 -1
- package/lib/cjs/ConcurrentQuery.d.ts +2 -2
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ECSqlReader.d.ts +4 -4
- package/lib/cjs/ECSqlReader.js +4 -4
- package/lib/cjs/ECSqlReader.js.map +1 -1
- package/lib/cjs/ECSqlReaderBase.d.ts +3 -3
- package/lib/cjs/ECSqlReaderBase.js.map +1 -1
- package/lib/cjs/annotation/TextBlock.d.ts.map +1 -1
- package/lib/cjs/annotation/TextBlock.js +7 -4
- package/lib/cjs/annotation/TextBlock.js.map +1 -1
- package/lib/cjs/annotation/TextField.d.ts +76 -11
- package/lib/cjs/annotation/TextField.d.ts.map +1 -1
- package/lib/cjs/annotation/TextField.js.map +1 -1
- package/lib/cjs/internal/annotations/FieldFormatter.d.ts +32 -3
- package/lib/cjs/internal/annotations/FieldFormatter.d.ts.map +1 -1
- package/lib/cjs/internal/annotations/FieldFormatter.js +47 -17
- package/lib/cjs/internal/annotations/FieldFormatter.js.map +1 -1
- package/lib/cjs/internal/cross-package.d.ts +1 -1
- package/lib/cjs/internal/cross-package.d.ts.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts +2 -2
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ECSqlReader.d.ts +4 -4
- package/lib/esm/ECSqlReader.js +4 -4
- package/lib/esm/ECSqlReader.js.map +1 -1
- package/lib/esm/ECSqlReaderBase.d.ts +3 -3
- package/lib/esm/ECSqlReaderBase.js.map +1 -1
- package/lib/esm/annotation/TextBlock.d.ts.map +1 -1
- package/lib/esm/annotation/TextBlock.js +7 -4
- package/lib/esm/annotation/TextBlock.js.map +1 -1
- package/lib/esm/annotation/TextField.d.ts +76 -11
- package/lib/esm/annotation/TextField.d.ts.map +1 -1
- package/lib/esm/annotation/TextField.js.map +1 -1
- package/lib/esm/internal/annotations/FieldFormatter.d.ts +32 -3
- package/lib/esm/internal/annotations/FieldFormatter.d.ts.map +1 -1
- package/lib/esm/internal/annotations/FieldFormatter.js +47 -17
- package/lib/esm/internal/annotations/FieldFormatter.js.map +1 -1
- package/lib/esm/internal/cross-package.d.ts +1 -1
- package/lib/esm/internal/cross-package.d.ts.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldFormatter.d.ts","sourceRoot":"","sources":["../../../../src/internal/annotations/FieldFormatter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAA8B,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/G;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,iBAAiB,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"FieldFormatter.d.ts","sourceRoot":"","sources":["../../../../src/internal/annotations/FieldFormatter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAA8B,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/G;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAC;IAC3B,6FAA6F;IAC7F,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;AAsF5D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,KAAK,EAAE,UAAU,CAAC;IAClB,iFAAiF;IACjF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,sEAAsE;IACtE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAG9G;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAEhF"}
|
|
@@ -6,9 +6,8 @@ const formatters = {
|
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
7
7
|
"string": (v, o) => formatString(v.toString(), o),
|
|
8
8
|
"datetime": (v, o) => formatString(formatDateTime(v, o?.dateTime), o),
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"coordinate": (v, o) => formatString(formatPointBasic(v), o),
|
|
9
|
+
"quantity": (v, o, fm) => formatString(formatMagnitudeValue(v, fm), o),
|
|
10
|
+
"coordinate": (v, o, fm) => formatString(formatPoint(v, fm), o),
|
|
12
11
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
13
12
|
"boolean": (v, o) => formatString(v.toString(), o),
|
|
14
13
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
@@ -49,25 +48,56 @@ function formatDateTime(v, o) {
|
|
|
49
48
|
}
|
|
50
49
|
return undefined;
|
|
51
50
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
parts.push(z);
|
|
59
|
-
}
|
|
60
|
-
return `(${parts.join(", ")})`;
|
|
51
|
+
/** A `"quantity"` magnitude rendered through `formatMagnitude`, or its raw string
|
|
52
|
+
* representation when no callback was supplied or the value is not a number.
|
|
53
|
+
*/
|
|
54
|
+
function formatMagnitudeValue(v, formatMagnitude) {
|
|
55
|
+
if (formatMagnitude && typeof v === "number") {
|
|
56
|
+
return formatMagnitude(v);
|
|
61
57
|
}
|
|
62
|
-
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
59
|
+
return v.toString();
|
|
63
60
|
}
|
|
64
|
-
/**
|
|
65
|
-
|
|
61
|
+
/** A coordinate rendered as `(x, y[, z])`, each component passed through `formatMagnitude` when
|
|
62
|
+
* one is supplied. Without a callback the components render bare, with no unit labels — Core
|
|
63
|
+
* carries no built-in coordinate format.
|
|
64
|
+
*/
|
|
65
|
+
function formatPoint(v, formatMagnitude) {
|
|
66
|
+
const magnitudes = getCoordinateMagnitudes(v);
|
|
67
|
+
if (!magnitudes) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
return `(${magnitudes.map((m) => formatMagnitude ? formatMagnitude(m) : `${m}`).join(", ")})`;
|
|
71
|
+
}
|
|
72
|
+
/** Formats `value` through the per-type entry in [[formatters]], wrapping the result with
|
|
73
|
+
* prefix/suffix/case.
|
|
74
|
+
*
|
|
75
|
+
* `formatMagnitude` is consulted only by the `"quantity"` and `"coordinate"` branches. Omitting
|
|
76
|
+
* it falls those values back to `value.toString()`.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export function formatFieldValue({ value, options, formatMagnitude }) {
|
|
66
80
|
const formatter = formatters[value.type];
|
|
67
|
-
return formatter ? formatter(value.value, options) : undefined;
|
|
81
|
+
return formatter ? formatter(value.value, options, formatMagnitude) : undefined;
|
|
68
82
|
}
|
|
69
|
-
/**
|
|
83
|
+
/** Type guard for [[FieldPropertyType]] strings that have a built-in per-type formatter.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
70
86
|
export function isKnownFieldPropertyType(type) {
|
|
71
87
|
return type in formatters;
|
|
72
88
|
}
|
|
89
|
+
/** The `x`, `y` and (when present) `z` components of a coordinate value, or `undefined` if `v` is
|
|
90
|
+
* not one.
|
|
91
|
+
*/
|
|
92
|
+
function getCoordinateMagnitudes(v) {
|
|
93
|
+
if (typeof v !== "object" || !("x" in v) || !("y" in v)) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
const parts = [v.x, v.y];
|
|
97
|
+
const z = "z" in v ? v.z : undefined;
|
|
98
|
+
if (undefined !== z) {
|
|
99
|
+
parts.push(z);
|
|
100
|
+
}
|
|
101
|
+
return parts;
|
|
102
|
+
}
|
|
73
103
|
//# sourceMappingURL=FieldFormatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldFormatter.js","sourceRoot":"","sources":["../../../../src/internal/annotations/FieldFormatter.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;
|
|
1
|
+
{"version":3,"file":"FieldFormatter.js","sourceRoot":"","sources":["../../../../src/internal/annotations/FieldFormatter.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\n\r\nimport { XAndY, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { DateTimeFieldFormatOptions, FieldFormatOptions, FieldPropertyType } from \"../../annotation/TextField\";\r\n\r\n/** A FieldPropertyPath must ultimately resolve to one of these primitive types.\r\n * @internal\r\n */\r\nexport type FieldPrimitiveValue = boolean | number | string | Date | XAndY | XYAndZ | Uint8Array;\r\n\r\n/** Resolved value of a field.\r\n * @internal\r\n */\r\nexport interface FieldValue {\r\n /** The raw property value, typed by [[type]]. For structured or array properties, this is\r\n * the primitive scalar the [FieldRun]($common)'s propertyPath ultimately resolved to.\r\n */\r\n value: FieldPrimitiveValue;\r\n /** How [[value]] should be formatted; drives the per-type branch in [[formatFieldValue]]. */\r\n type: FieldPropertyType;\r\n}\r\n\r\n/** Renders one magnitude of a `\"quantity\"` or `\"coordinate\"` value — typically by applying a\r\n * [FormatterSpec]($core-quantity) the caller resolved ahead of time. Supplying one is what lets\r\n * field evaluation stay synchronous on paths that cannot await.\r\n * @internal\r\n */\r\nexport type FormatMagnitude = (magnitude: number) => string;\r\n\r\ntype FieldFormatter = (value: FieldPrimitiveValue, options: FieldFormatOptions | undefined, formatMagnitude?: FormatMagnitude) => string | undefined;\r\n\r\nconst formatters: { [type: string]: FieldFormatter | undefined } = {\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n \"string\": (v, o) => formatString(v.toString(), o),\r\n\r\n \"datetime\": (v, o) => formatString(formatDateTime(v, o?.dateTime), o),\r\n\r\n \"quantity\": (v, o, fm) => formatString(formatMagnitudeValue(v, fm), o),\r\n\r\n \"coordinate\": (v, o, fm) => formatString(formatPoint(v, fm), o),\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n \"boolean\": (v, o) => formatString(v.toString(), o),\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n \"int-enum\": (v, o) => formatString(v.toString(), o),\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n \"string-enum\": (v, o) => formatString(v.toString(), o),\r\n};\r\n\r\nfunction formatString(s: string | undefined, o?: FieldFormatOptions): string | undefined {\r\n if (undefined === s || !o) {\r\n return s;\r\n }\r\n\r\n switch (o.case) {\r\n case \"upper\":\r\n s = s.toUpperCase();\r\n break;\r\n case \"lower\":\r\n s = s.toLowerCase();\r\n break;\r\n }\r\n\r\n if (o.prefix || o.suffix) {\r\n s = `${o.prefix ?? \"\"}${s}${o.suffix ?? \"\"}`;\r\n }\r\n\r\n return s;\r\n}\r\n\r\nfunction formatDateTime(v: FieldPrimitiveValue, o?: DateTimeFieldFormatOptions): string | undefined {\r\n if (!(v instanceof Date))\r\n return undefined;\r\n\r\n if (!isNaN(v.getTime())) {\r\n if (o?.formatOptions) {\r\n const locale = o.locale ?? \"en-US\";\r\n if (!Intl.DateTimeFormat.supportedLocalesOf([locale], { localeMatcher: \"lookup\" }).includes(locale)) {\r\n return undefined;\r\n }\r\n\r\n const formatter = new Intl.DateTimeFormat(locale, o.formatOptions);\r\n return formatter.format(v);\r\n }\r\n return v.toString();\r\n }\r\n return undefined;\r\n}\r\n\r\n/** A `\"quantity\"` magnitude rendered through `formatMagnitude`, or its raw string\r\n * representation when no callback was supplied or the value is not a number.\r\n */\r\nfunction formatMagnitudeValue(v: FieldPrimitiveValue, formatMagnitude?: FormatMagnitude): string | undefined {\r\n if (formatMagnitude && typeof v === \"number\") {\r\n return formatMagnitude(v);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n return v.toString();\r\n}\r\n\r\n/** A coordinate rendered as `(x, y[, z])`, each component passed through `formatMagnitude` when\r\n * one is supplied. Without a callback the components render bare, with no unit labels — Core\r\n * carries no built-in coordinate format.\r\n */\r\nfunction formatPoint(v: FieldPrimitiveValue, formatMagnitude?: FormatMagnitude): string | undefined {\r\n const magnitudes = getCoordinateMagnitudes(v);\r\n if (!magnitudes) {\r\n return undefined;\r\n }\r\n\r\n return `(${magnitudes.map((m) => formatMagnitude ? formatMagnitude(m) : `${m}`).join(\", \")})`;\r\n}\r\n\r\n/** Arguments supplied to [[formatFieldValue]].\r\n * @internal\r\n */\r\nexport interface FormatFieldValueArgs {\r\n /** The resolved field value to render. */\r\n value: FieldValue;\r\n /** Prefix, suffix, case, and per-type options applied to the rendered string. */\r\n options?: FieldFormatOptions;\r\n /** Consulted only by the `\"quantity\"` and `\"coordinate\"` branches. */\r\n formatMagnitude?: FormatMagnitude;\r\n}\r\n\r\n/** Formats `value` through the per-type entry in [[formatters]], wrapping the result with\r\n * prefix/suffix/case.\r\n *\r\n * `formatMagnitude` is consulted only by the `\"quantity\"` and `\"coordinate\"` branches. Omitting\r\n * it falls those values back to `value.toString()`.\r\n * @internal\r\n */\r\nexport function formatFieldValue({ value, options, formatMagnitude }: FormatFieldValueArgs): string | undefined {\r\n const formatter = formatters[value.type];\r\n return formatter ? formatter(value.value, options, formatMagnitude) : undefined;\r\n}\r\n\r\n/** Type guard for [[FieldPropertyType]] strings that have a built-in per-type formatter.\r\n * @internal\r\n */\r\nexport function isKnownFieldPropertyType(type: string): type is FieldPropertyType {\r\n return type in formatters;\r\n}\r\n\r\n/** The `x`, `y` and (when present) `z` components of a coordinate value, or `undefined` if `v` is\r\n * not one.\r\n */\r\nfunction getCoordinateMagnitudes(v: FieldPrimitiveValue): number[] | undefined {\r\n if (typeof v !== \"object\" || !(\"x\" in v) || !(\"y\" in v)) {\r\n return undefined;\r\n }\r\n const parts = [v.x, v.y];\r\n const z = \"z\" in v ? v.z : undefined;\r\n if (undefined !== z) {\r\n parts.push(z);\r\n }\r\n return parts;\r\n}\r\n"]}
|
|
@@ -4,5 +4,5 @@ export { MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTab
|
|
|
4
4
|
export type { BackendReadable, BackendWritable, BackendBuffer } from "./BackendTypes";
|
|
5
5
|
export { RenderMaterialParams } from "./RenderMaterialParams";
|
|
6
6
|
export { RenderTextureParams } from "./RenderTextureParams";
|
|
7
|
-
export { type FieldPrimitiveValue, type FieldValue, formatFieldValue, isKnownFieldPropertyType } from "./annotations/FieldFormatter";
|
|
7
|
+
export { type FieldPrimitiveValue, type FieldValue, type FormatFieldValueArgs, type FormatMagnitude, formatFieldValue, isKnownFieldPropertyType } from "./annotations/FieldFormatter";
|
|
8
8
|
//# sourceMappingURL=cross-package.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-package.d.ts","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,KAAK,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EACvI,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"cross-package.d.ts","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,KAAK,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EACvI,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-package.js","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,EACyB,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAyB,gBAAgB,EAAE,kBAAkB,EACvI,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"cross-package.js","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,EACyB,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAyB,gBAAgB,EAAE,kBAAkB,EACvI,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAA8F,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,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\nexport type { DecorationGeometryProps, SnapRequestProps, SnapResponseProps } from \"./Snapping\";\r\nexport {\r\n type EdgeAppearanceOverrides, EdgeArgs, MeshEdge, MeshEdges, MeshPolyline, type MeshPolylineList, PolylineEdgeArgs, SilhouetteEdgeArgs\r\n} from \"./RenderMesh\";\r\nexport {\r\n MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTable\r\n} from \"./PackedFeatureTable\";\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport type { BackendReadable, BackendWritable, BackendBuffer } from \"./BackendTypes\";\r\nexport { RenderMaterialParams } from \"./RenderMaterialParams\";\r\nexport { RenderTextureParams } from \"./RenderTextureParams\";\r\nexport { type FieldPrimitiveValue, type FieldValue, type FormatFieldValueArgs, type FormatMagnitude, formatFieldValue, isKnownFieldPropertyType } from \"./annotations/FieldFormatter\";\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-common",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.15.0-dev.1",
|
|
4
4
|
"description": "iTwin.js components common to frontend and backend",
|
|
5
5
|
"main": "lib/cjs/core-common.js",
|
|
6
6
|
"module": "lib/esm/core-common.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"js-base64": "^3.6.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@itwin/core-bentley": "5.
|
|
31
|
-
"@itwin/core-geometry": "5.
|
|
30
|
+
"@itwin/core-bentley": "5.15.0-dev.1",
|
|
31
|
+
"@itwin/core-geometry": "5.15.0-dev.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@itwin/eslint-plugin": "^6.0.0",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"rimraf": "^6.0.1",
|
|
41
41
|
"typescript": "~5.6.2",
|
|
42
42
|
"vitest": "^4.1.10",
|
|
43
|
-
"@itwin/build-tools": "5.
|
|
44
|
-
"@itwin/core-geometry": "5.
|
|
45
|
-
"@itwin/core-bentley": "5.
|
|
43
|
+
"@itwin/build-tools": "5.15.0-dev.1",
|
|
44
|
+
"@itwin/core-geometry": "5.15.0-dev.1",
|
|
45
|
+
"@itwin/core-bentley": "5.15.0-dev.1"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "npm run -s build:cjs && npm run -s build:esm",
|