@ifc-lite/data 1.2.1 → 1.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/dist/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export type { RelationshipGraph, Edge, RelationshipInfo } from './relationship-g
13
13
  export * from './types.js';
14
14
  export { IfcTypeEnum, PropertyValueType, QuantityType, RelationshipType, EntityFlags } from './types.js';
15
15
  export type { SpatialNode, SpatialHierarchy } from './types.js';
16
+ export { createLogger, logger, type LogLevel, type LogContext } from './logger.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzF,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzF,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -12,4 +12,6 @@ export { RelationshipGraphBuilder } from './relationship-graph.js';
12
12
  export * from './types.js';
13
13
  // Explicitly export const enums for runtime use
14
14
  export { IfcTypeEnum, PropertyValueType, QuantityType, RelationshipType, EntityFlags } from './types.js';
15
+ // Logging utilities
16
+ export { createLogger, logger } from './logger.js';
15
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,cAAc,YAAY,CAAC;AAC3B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,cAAc,YAAY,CAAC;AAC3B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzG,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * IFC-Lite Logger - Provides consistent error logging across packages
3
+ *
4
+ * Log levels:
5
+ * - error: Always logged - critical failures that affect functionality
6
+ * - warn: Always logged - recoverable issues, degraded functionality
7
+ * - info: Logged when DEBUG is set - general operational info
8
+ * - debug: Logged when DEBUG is set - detailed debugging info
9
+ *
10
+ * Enable debug logging by setting:
11
+ * - localStorage.setItem('IFC_DEBUG', 'true') in browser
12
+ * - IFC_DEBUG=true environment variable in Node.js
13
+ */
14
+ export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
15
+ export interface LogContext {
16
+ /** Component/module name (e.g., 'Parser', 'Geometry', 'SpatialHierarchy') */
17
+ component: string;
18
+ /** Operation being performed (e.g., 'parseEntity', 'extractElevation') */
19
+ operation?: string;
20
+ /** Entity ID if applicable */
21
+ entityId?: number;
22
+ /** Entity type if applicable */
23
+ entityType?: string;
24
+ /** Additional context data */
25
+ data?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Create a logger instance for a specific component
29
+ */
30
+ export declare function createLogger(component: string): {
31
+ /**
32
+ * Log an error - always visible in console
33
+ * Use for critical failures that affect functionality
34
+ */
35
+ error(message: string, error?: unknown, ctx?: Partial<LogContext>): void;
36
+ /**
37
+ * Log a warning - always visible in console
38
+ * Use for recoverable issues or degraded functionality
39
+ */
40
+ warn(message: string, ctx?: Partial<LogContext>): void;
41
+ /**
42
+ * Log info - only visible when IFC_DEBUG=true
43
+ * Use for general operational information
44
+ */
45
+ info(message: string, ctx?: Partial<LogContext>): void;
46
+ /**
47
+ * Log debug - only visible when IFC_DEBUG=true
48
+ * Use for detailed debugging information
49
+ */
50
+ debug(message: string, data?: unknown, ctx?: Partial<LogContext>): void;
51
+ /**
52
+ * Log a caught error with context - visible when IFC_DEBUG=true
53
+ * Use in catch blocks where the error is handled/recovered
54
+ */
55
+ caught(message: string, error: unknown, ctx?: Partial<LogContext>): void;
56
+ };
57
+ /**
58
+ * Global logger for one-off logging without creating an instance
59
+ */
60
+ export declare const logger: {
61
+ error(component: string, message: string, error?: unknown): void;
62
+ warn(component: string, message: string): void;
63
+ info(component: string, message: string): void;
64
+ debug(component: string, message: string, data?: unknown): void;
65
+ };
66
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAuCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM;IAE1C;;;OAGG;mBACY,MAAM,UAAU,OAAO,QAAQ,OAAO,CAAC,UAAU,CAAC;IAiBjE;;;OAGG;kBACW,MAAM,QAAQ,OAAO,CAAC,UAAU,CAAC;IAS/C;;;OAGG;kBACW,MAAM,QAAQ,OAAO,CAAC,UAAU,CAAC;IAU/C;;;OAGG;mBACY,MAAM,SAAS,OAAO,QAAQ,OAAO,CAAC,UAAU,CAAC;IAUhE;;;OAGG;oBACa,MAAM,SAAS,OAAO,QAAQ,OAAO,CAAC,UAAU,CAAC;EAUpE;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;qBACA,MAAM,WAAW,MAAM,UAAU,OAAO;oBAGzC,MAAM,WAAW,MAAM;oBAGvB,MAAM,WAAW,MAAM;qBAGtB,MAAM,WAAW,MAAM,SAAS,OAAO;CAGzD,CAAC"}
package/dist/logger.js ADDED
@@ -0,0 +1,144 @@
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
+ function isDebugEnabled() {
5
+ // Check browser localStorage
6
+ if (typeof localStorage !== 'undefined') {
7
+ try {
8
+ return localStorage.getItem('IFC_DEBUG') === 'true';
9
+ }
10
+ catch {
11
+ // localStorage not available (e.g., in some workers)
12
+ }
13
+ }
14
+ // Check Node.js environment
15
+ if (typeof process !== 'undefined' && process.env) {
16
+ return process.env.IFC_DEBUG === 'true';
17
+ }
18
+ return false;
19
+ }
20
+ function formatContext(ctx) {
21
+ let prefix = `[${ctx.component}]`;
22
+ if (ctx.operation) {
23
+ prefix += ` ${ctx.operation}`;
24
+ }
25
+ if (ctx.entityId !== undefined) {
26
+ prefix += ` #${ctx.entityId}`;
27
+ }
28
+ if (ctx.entityType) {
29
+ prefix += ` (${ctx.entityType})`;
30
+ }
31
+ return prefix;
32
+ }
33
+ function formatError(error) {
34
+ if (error instanceof Error) {
35
+ return `${error.name}: ${error.message}${error.stack ? `\n${error.stack}` : ''}`;
36
+ }
37
+ return String(error);
38
+ }
39
+ /**
40
+ * Create a logger instance for a specific component
41
+ */
42
+ export function createLogger(component) {
43
+ return {
44
+ /**
45
+ * Log an error - always visible in console
46
+ * Use for critical failures that affect functionality
47
+ */
48
+ error(message, error, ctx) {
49
+ const prefix = formatContext({ component, ...ctx });
50
+ if (error !== undefined) {
51
+ if (ctx?.data !== undefined) {
52
+ console.error(`${prefix} ${message}:`, formatError(error), ctx.data);
53
+ }
54
+ else {
55
+ console.error(`${prefix} ${message}:`, formatError(error));
56
+ }
57
+ }
58
+ else {
59
+ if (ctx?.data !== undefined) {
60
+ console.error(`${prefix} ${message}`, ctx.data);
61
+ }
62
+ else {
63
+ console.error(`${prefix} ${message}`);
64
+ }
65
+ }
66
+ },
67
+ /**
68
+ * Log a warning - always visible in console
69
+ * Use for recoverable issues or degraded functionality
70
+ */
71
+ warn(message, ctx) {
72
+ const prefix = formatContext({ component, ...ctx });
73
+ if (ctx?.data !== undefined) {
74
+ console.warn(`${prefix} ${message}`, ctx.data);
75
+ }
76
+ else {
77
+ console.warn(`${prefix} ${message}`);
78
+ }
79
+ },
80
+ /**
81
+ * Log info - only visible when IFC_DEBUG=true
82
+ * Use for general operational information
83
+ */
84
+ info(message, ctx) {
85
+ if (!isDebugEnabled())
86
+ return;
87
+ const prefix = formatContext({ component, ...ctx });
88
+ if (ctx?.data !== undefined) {
89
+ console.log(`${prefix} ${message}`, ctx.data);
90
+ }
91
+ else {
92
+ console.log(`${prefix} ${message}`);
93
+ }
94
+ },
95
+ /**
96
+ * Log debug - only visible when IFC_DEBUG=true
97
+ * Use for detailed debugging information
98
+ */
99
+ debug(message, data, ctx) {
100
+ if (!isDebugEnabled())
101
+ return;
102
+ const prefix = formatContext({ component, ...ctx });
103
+ if (data !== undefined) {
104
+ console.debug(`${prefix} ${message}`, data);
105
+ }
106
+ else {
107
+ console.debug(`${prefix} ${message}`);
108
+ }
109
+ },
110
+ /**
111
+ * Log a caught error with context - visible when IFC_DEBUG=true
112
+ * Use in catch blocks where the error is handled/recovered
113
+ */
114
+ caught(message, error, ctx) {
115
+ if (!isDebugEnabled())
116
+ return;
117
+ const prefix = formatContext({ component, ...ctx });
118
+ if (ctx?.data !== undefined) {
119
+ console.debug(`${prefix} ${message} (recovered):`, formatError(error), ctx.data);
120
+ }
121
+ else {
122
+ console.debug(`${prefix} ${message} (recovered):`, formatError(error));
123
+ }
124
+ },
125
+ };
126
+ }
127
+ /**
128
+ * Global logger for one-off logging without creating an instance
129
+ */
130
+ export const logger = {
131
+ error(component, message, error) {
132
+ createLogger(component).error(message, error);
133
+ },
134
+ warn(component, message) {
135
+ createLogger(component).warn(message);
136
+ },
137
+ info(component, message) {
138
+ createLogger(component).info(message);
139
+ },
140
+ debug(component, message, data) {
141
+ createLogger(component).debug(message, data);
142
+ },
143
+ };
144
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA+B/D,SAAS,cAAc;IACrB,6BAA6B;IAC7B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IACD,4BAA4B;IAC5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAAe;IACpC,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC;IAClC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO;QACL;;;WAGG;QACH,KAAK,CAAC,OAAe,EAAE,KAAe,EAAE,GAAyB;YAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,IAAI,CAAC,OAAe,EAAE,GAAyB;YAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,IAAI,CAAC,OAAe,EAAE,GAAyB;YAC7C,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO;YAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,OAAe,EAAE,IAAc,EAAE,GAAyB;YAC9D,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO;YAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,MAAM,CAAC,OAAe,EAAE,KAAc,EAAE,GAAyB;YAC/D,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO;YAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAe;QACvD,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,SAAiB,EAAE,OAAe;QACrC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,SAAiB,EAAE,OAAe;QACrC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAc;QACtD,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/data",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "Columnar data structures for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -12,7 +12,8 @@
12
12
  }
13
13
  },
14
14
  "devDependencies": {
15
- "typescript": "^5.3.0"
15
+ "typescript": "^5.3.0",
16
+ "vitest": "^1.6.0"
16
17
  },
17
18
  "license": "MPL-2.0",
18
19
  "author": "Louis True",
@@ -39,6 +40,7 @@
39
40
  ],
40
41
  "scripts": {
41
42
  "build": "tsc",
42
- "dev": "tsc --watch"
43
+ "dev": "tsc --watch",
44
+ "test": "vitest run"
43
45
  }
44
46
  }