@memberjunction/react-test-harness 2.121.0 → 2.122.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-flow-analyzer.js","sourceRoot":"","sources":["../../src/lib/control-flow-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Type Context - Variable type tracking for component linting
3
+ *
4
+ * This module provides infrastructure for tracking variable types throughout
5
+ * component code. It integrates with entity metadata and query specs to provide
6
+ * type information for data-driven type checking.
7
+ */
8
+ import { UserInfo } from '@memberjunction/core';
9
+ import { ComponentSpec } from '@memberjunction/interactive-component-types';
10
+ /**
11
+ * Represents type information for a value
12
+ */
13
+ export interface TypeInfo {
14
+ /** Base type: string, number, boolean, array, object, entity-row, query-row, function, unknown */
15
+ type: string;
16
+ /** For entity-row types, the entity name */
17
+ entityName?: string;
18
+ /** For query-row types, the query name */
19
+ queryName?: string;
20
+ /** Known fields/properties and their types */
21
+ fields?: Map<string, FieldTypeInfo>;
22
+ /** For array types, the element type */
23
+ arrayElementType?: TypeInfo;
24
+ /** For object/dictionary types, the value type (e.g., Object.values() returns array of this) */
25
+ objectValueType?: TypeInfo;
26
+ /** Whether the value can be null/undefined */
27
+ nullable?: boolean;
28
+ /** Whether this type came from metadata (vs inferred) */
29
+ fromMetadata?: boolean;
30
+ }
31
+ /**
32
+ * Type information for a specific field
33
+ */
34
+ export interface FieldTypeInfo {
35
+ /** The JavaScript type */
36
+ type: string;
37
+ /** Whether this came from entity/query metadata */
38
+ fromMetadata: boolean;
39
+ /** Original SQL type if from database */
40
+ sqlType?: string;
41
+ /** Whether the field is nullable */
42
+ nullable?: boolean;
43
+ }
44
+ /**
45
+ * Information about a query parameter
46
+ */
47
+ export interface ParameterTypeInfo {
48
+ name: string;
49
+ type: string;
50
+ isRequired: boolean;
51
+ sqlType?: string;
52
+ }
53
+ /**
54
+ * Maps SQL Server types to JavaScript types
55
+ */
56
+ export declare function mapSQLTypeToJSType(sqlType: string): string;
57
+ /**
58
+ * TypeContext - Tracks variable types throughout component code
59
+ *
60
+ * Provides scoped variable type tracking with support for:
61
+ * - Entity field types from metadata
62
+ * - Query result types from spec
63
+ * - RunView/RunQuery result structure
64
+ * - Variable assignment tracking
65
+ */
66
+ export declare class TypeContext {
67
+ private componentSpec?;
68
+ private variableTypes;
69
+ private scopeStack;
70
+ private entityFieldCache;
71
+ private queryFieldCache;
72
+ private queryParamCache;
73
+ constructor(componentSpec?: ComponentSpec | undefined);
74
+ /**
75
+ * Cache query field and parameter metadata from spec
76
+ */
77
+ private cacheQueryMetadata;
78
+ /**
79
+ * Infer JavaScript type from a value
80
+ */
81
+ private inferTypeFromValue;
82
+ /**
83
+ * Load entity field types from metadata (async version)
84
+ */
85
+ loadEntityFieldTypes(entityName: string, contextUser?: UserInfo): Promise<Map<string, FieldTypeInfo>>;
86
+ /**
87
+ * Get entity field types from metadata (synchronous - uses pre-loaded metadata)
88
+ */
89
+ getEntityFieldTypesSync(entityName: string): Map<string, FieldTypeInfo>;
90
+ /**
91
+ * Get query field types from spec
92
+ */
93
+ getQueryFieldTypes(queryName: string, categoryPath?: string): Map<string, FieldTypeInfo> | undefined;
94
+ /**
95
+ * Get query parameter types from spec
96
+ */
97
+ getQueryParameters(queryName: string, categoryPath?: string): ParameterTypeInfo[] | undefined;
98
+ /**
99
+ * Enter a new scope (function, block, etc.)
100
+ */
101
+ enterScope(scopeName: string): void;
102
+ /**
103
+ * Exit the current scope
104
+ */
105
+ exitScope(): void;
106
+ /**
107
+ * Get the current scope prefix for variable names
108
+ */
109
+ private getCurrentScopePrefix;
110
+ /**
111
+ * Get the fully scoped name for a variable
112
+ */
113
+ private getScopedName;
114
+ /**
115
+ * Set a variable's type in the current scope
116
+ */
117
+ setVariableType(name: string, type: TypeInfo): void;
118
+ /**
119
+ * Get a variable's type, searching from current scope up to global
120
+ */
121
+ getVariableType(name: string): TypeInfo | undefined;
122
+ /**
123
+ * Check if a variable exists in any accessible scope
124
+ */
125
+ hasVariable(name: string): boolean;
126
+ /**
127
+ * Get all variables in the current scope
128
+ */
129
+ getCurrentScopeVariables(): Map<string, TypeInfo>;
130
+ /**
131
+ * Create TypeInfo for a RunView result
132
+ */
133
+ createRunViewResultType(entityName: string, entityFields?: Map<string, FieldTypeInfo>): TypeInfo;
134
+ /**
135
+ * Create TypeInfo for a RunQuery result
136
+ */
137
+ createRunQueryResultType(queryName: string, queryFields?: Map<string, FieldTypeInfo>): TypeInfo;
138
+ /**
139
+ * Create TypeInfo for an entity row
140
+ */
141
+ createEntityRowType(entityName: string, fields: Map<string, FieldTypeInfo>): TypeInfo;
142
+ /**
143
+ * Create TypeInfo for a query result row
144
+ */
145
+ createQueryRowType(queryName: string, fields: Map<string, FieldTypeInfo>): TypeInfo;
146
+ /**
147
+ * Clear all variable types (reset context)
148
+ */
149
+ clear(): void;
150
+ /**
151
+ * Get debug information about current state
152
+ */
153
+ getDebugInfo(): {
154
+ scopes: string[];
155
+ variables: [string, TypeInfo][];
156
+ };
157
+ }
158
+ /**
159
+ * Standard type definitions for common patterns
160
+ */
161
+ export declare const StandardTypes: {
162
+ string: TypeInfo;
163
+ number: TypeInfo;
164
+ boolean: TypeInfo;
165
+ unknown: TypeInfo;
166
+ null: TypeInfo;
167
+ undefined: TypeInfo;
168
+ function: TypeInfo;
169
+ /** Array of unknown elements */
170
+ array: TypeInfo;
171
+ /** Generic object */
172
+ object: TypeInfo;
173
+ };
174
+ /**
175
+ * Helper to check if two types are compatible
176
+ */
177
+ export declare function areTypesCompatible(expected: TypeInfo, actual: TypeInfo): boolean;
178
+ /**
179
+ * Get a human-readable description of a type
180
+ */
181
+ export declare function describeType(type: TypeInfo): string;
182
+ //# sourceMappingURL=type-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-context.d.ts","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,394 @@
1
+ "use strict";
2
+ /**
3
+ * Type Context - Variable type tracking for component linting
4
+ *
5
+ * This module provides infrastructure for tracking variable types throughout
6
+ * component code. It integrates with entity metadata and query specs to provide
7
+ * type information for data-driven type checking.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.describeType = exports.areTypesCompatible = exports.StandardTypes = exports.TypeContext = exports.mapSQLTypeToJSType = void 0;
11
+ const core_1 = require("@memberjunction/core");
12
+ /**
13
+ * Maps SQL Server types to JavaScript types
14
+ */
15
+ function mapSQLTypeToJSType(sqlType) {
16
+ const type = sqlType.toLowerCase();
17
+ // If already a JavaScript type, return it directly
18
+ // This handles cases where query metadata provides JS types instead of SQL types
19
+ if (['string', 'number', 'boolean'].includes(type)) {
20
+ return type;
21
+ }
22
+ // Numeric types
23
+ if (['int', 'bigint', 'smallint', 'tinyint', 'decimal', 'numeric', 'float', 'real', 'money', 'smallmoney'].includes(type)) {
24
+ return 'number';
25
+ }
26
+ // String types
27
+ if (['char', 'varchar', 'text', 'nchar', 'nvarchar', 'ntext', 'xml'].includes(type)) {
28
+ return 'string';
29
+ }
30
+ // Boolean types
31
+ if (['bit'].includes(type)) {
32
+ return 'boolean';
33
+ }
34
+ // Date/time types - represented as strings in JS (ISO format)
35
+ if (['date', 'time', 'datetime', 'datetime2', 'smalldatetime', 'datetimeoffset'].includes(type)) {
36
+ return 'string'; // Dates come as ISO strings from the API
37
+ }
38
+ // Binary types
39
+ if (['binary', 'varbinary', 'image'].includes(type)) {
40
+ return 'string'; // Base64 encoded
41
+ }
42
+ // GUID
43
+ if (['uniqueidentifier'].includes(type)) {
44
+ return 'string';
45
+ }
46
+ return 'unknown';
47
+ }
48
+ exports.mapSQLTypeToJSType = mapSQLTypeToJSType;
49
+ /**
50
+ * TypeContext - Tracks variable types throughout component code
51
+ *
52
+ * Provides scoped variable type tracking with support for:
53
+ * - Entity field types from metadata
54
+ * - Query result types from spec
55
+ * - RunView/RunQuery result structure
56
+ * - Variable assignment tracking
57
+ */
58
+ class TypeContext {
59
+ constructor(componentSpec) {
60
+ this.componentSpec = componentSpec;
61
+ this.variableTypes = new Map();
62
+ this.scopeStack = [];
63
+ this.entityFieldCache = new Map();
64
+ this.queryFieldCache = new Map();
65
+ this.queryParamCache = new Map();
66
+ // Initialize query caches from component spec
67
+ if (componentSpec?.dataRequirements?.queries) {
68
+ for (const query of componentSpec.dataRequirements.queries) {
69
+ this.cacheQueryMetadata(query);
70
+ }
71
+ }
72
+ }
73
+ /**
74
+ * Cache query field and parameter metadata from spec
75
+ */
76
+ cacheQueryMetadata(query) {
77
+ const queryKey = `${query.categoryPath}/${query.name}`;
78
+ // Cache parameters - note: ComponentQueryParameterValue has name, value, testValue
79
+ // For type info, we check for extended properties that test fixtures may include
80
+ if (query.parameters) {
81
+ const params = query.parameters.map(p => {
82
+ // Extended parameter info may be present in test fixtures
83
+ const extendedParam = p;
84
+ return {
85
+ name: p.name,
86
+ // Type may be in extended format or inferred from testValue
87
+ type: extendedParam.type
88
+ ? mapSQLTypeToJSType(extendedParam.type)
89
+ : this.inferTypeFromValue(p.testValue || p.value),
90
+ isRequired: extendedParam.isRequired ?? (p.value === '@runtime'),
91
+ sqlType: extendedParam.type
92
+ };
93
+ });
94
+ this.queryParamCache.set(queryKey, params);
95
+ }
96
+ // Cache fields if available (extended format for test fixtures)
97
+ if (query.fields) {
98
+ const fields = new Map();
99
+ for (const field of query.fields) {
100
+ fields.set(field.name, {
101
+ type: mapSQLTypeToJSType(field.type || 'nvarchar'),
102
+ fromMetadata: true,
103
+ sqlType: field.type,
104
+ nullable: field.nullable
105
+ });
106
+ }
107
+ this.queryFieldCache.set(queryKey, fields);
108
+ }
109
+ }
110
+ /**
111
+ * Infer JavaScript type from a value
112
+ */
113
+ inferTypeFromValue(value) {
114
+ if (value === undefined || value === null)
115
+ return 'unknown';
116
+ if (typeof value === 'string')
117
+ return 'string';
118
+ if (typeof value === 'number')
119
+ return 'number';
120
+ if (typeof value === 'boolean')
121
+ return 'boolean';
122
+ if (Array.isArray(value))
123
+ return 'array';
124
+ if (typeof value === 'object')
125
+ return 'object';
126
+ return 'unknown';
127
+ }
128
+ /**
129
+ * Load entity field types from metadata (async version)
130
+ */
131
+ async loadEntityFieldTypes(entityName, contextUser) {
132
+ return this.getEntityFieldTypesSync(entityName);
133
+ }
134
+ /**
135
+ * Get entity field types from metadata (synchronous - uses pre-loaded metadata)
136
+ */
137
+ getEntityFieldTypesSync(entityName) {
138
+ // Check cache first
139
+ if (this.entityFieldCache.has(entityName)) {
140
+ return this.entityFieldCache.get(entityName);
141
+ }
142
+ const fields = new Map();
143
+ try {
144
+ const md = new core_1.Metadata();
145
+ const entity = md.Entities.find(e => e.Name === entityName);
146
+ if (entity) {
147
+ for (const field of entity.Fields) {
148
+ fields.set(field.Name, {
149
+ type: mapSQLTypeToJSType(field.Type),
150
+ fromMetadata: true,
151
+ sqlType: field.Type,
152
+ nullable: field.AllowsNull
153
+ });
154
+ }
155
+ }
156
+ }
157
+ catch (error) {
158
+ console.warn(`Failed to load entity metadata for ${entityName}:`, error);
159
+ }
160
+ // Cache the result
161
+ this.entityFieldCache.set(entityName, fields);
162
+ return fields;
163
+ }
164
+ /**
165
+ * Get query field types from spec
166
+ */
167
+ getQueryFieldTypes(queryName, categoryPath) {
168
+ const queryKey = categoryPath ? `${categoryPath}/${queryName}` : queryName;
169
+ return this.queryFieldCache.get(queryKey);
170
+ }
171
+ /**
172
+ * Get query parameter types from spec
173
+ */
174
+ getQueryParameters(queryName, categoryPath) {
175
+ const queryKey = categoryPath ? `${categoryPath}/${queryName}` : queryName;
176
+ return this.queryParamCache.get(queryKey);
177
+ }
178
+ /**
179
+ * Enter a new scope (function, block, etc.)
180
+ */
181
+ enterScope(scopeName) {
182
+ this.scopeStack.push(scopeName);
183
+ }
184
+ /**
185
+ * Exit the current scope
186
+ */
187
+ exitScope() {
188
+ const scopePrefix = this.getCurrentScopePrefix();
189
+ // Remove all variables in this scope
190
+ for (const key of this.variableTypes.keys()) {
191
+ if (key.startsWith(scopePrefix)) {
192
+ this.variableTypes.delete(key);
193
+ }
194
+ }
195
+ this.scopeStack.pop();
196
+ }
197
+ /**
198
+ * Get the current scope prefix for variable names
199
+ */
200
+ getCurrentScopePrefix() {
201
+ return this.scopeStack.length > 0 ? `${this.scopeStack.join('/')}:` : '';
202
+ }
203
+ /**
204
+ * Get the fully scoped name for a variable
205
+ */
206
+ getScopedName(name) {
207
+ return `${this.getCurrentScopePrefix()}${name}`;
208
+ }
209
+ /**
210
+ * Set a variable's type in the current scope
211
+ */
212
+ setVariableType(name, type) {
213
+ const scopedName = this.getScopedName(name);
214
+ this.variableTypes.set(scopedName, type);
215
+ }
216
+ /**
217
+ * Get a variable's type, searching from current scope up to global
218
+ */
219
+ getVariableType(name) {
220
+ // First check current scope
221
+ const scopedName = this.getScopedName(name);
222
+ if (this.variableTypes.has(scopedName)) {
223
+ return this.variableTypes.get(scopedName);
224
+ }
225
+ // Then check parent scopes
226
+ for (let i = this.scopeStack.length - 1; i >= 0; i--) {
227
+ const prefix = this.scopeStack.slice(0, i + 1).join('/') + ':';
228
+ const key = `${prefix}${name}`;
229
+ if (this.variableTypes.has(key)) {
230
+ return this.variableTypes.get(key);
231
+ }
232
+ }
233
+ // Finally check global scope (no prefix)
234
+ return this.variableTypes.get(name);
235
+ }
236
+ /**
237
+ * Check if a variable exists in any accessible scope
238
+ */
239
+ hasVariable(name) {
240
+ return this.getVariableType(name) !== undefined;
241
+ }
242
+ /**
243
+ * Get all variables in the current scope
244
+ */
245
+ getCurrentScopeVariables() {
246
+ const prefix = this.getCurrentScopePrefix();
247
+ const result = new Map();
248
+ for (const [key, type] of this.variableTypes) {
249
+ if (key.startsWith(prefix)) {
250
+ const name = key.slice(prefix.length);
251
+ result.set(name, type);
252
+ }
253
+ }
254
+ return result;
255
+ }
256
+ /**
257
+ * Create TypeInfo for a RunView result
258
+ */
259
+ createRunViewResultType(entityName, entityFields) {
260
+ const resultFields = new Map([
261
+ ['Success', { type: 'boolean', fromMetadata: true }],
262
+ ['Results', { type: 'array', fromMetadata: true }],
263
+ ['UserViewRunID', { type: 'string', fromMetadata: true }],
264
+ ['RowCount', { type: 'number', fromMetadata: true }],
265
+ ['TotalRowCount', { type: 'number', fromMetadata: true }],
266
+ ['ExecutionTime', { type: 'number', fromMetadata: true }],
267
+ ['ErrorMessage', { type: 'string', fromMetadata: true, nullable: true }]
268
+ ]);
269
+ return {
270
+ type: 'object',
271
+ fields: resultFields,
272
+ fromMetadata: true
273
+ };
274
+ }
275
+ /**
276
+ * Create TypeInfo for a RunQuery result
277
+ */
278
+ createRunQueryResultType(queryName, queryFields) {
279
+ const resultFields = new Map([
280
+ ['QueryID', { type: 'string', fromMetadata: true }],
281
+ ['QueryName', { type: 'string', fromMetadata: true }],
282
+ ['Success', { type: 'boolean', fromMetadata: true }],
283
+ ['Results', { type: 'array', fromMetadata: true }],
284
+ ['RowCount', { type: 'number', fromMetadata: true }],
285
+ ['TotalRowCount', { type: 'number', fromMetadata: true }],
286
+ ['ExecutionTime', { type: 'number', fromMetadata: true }],
287
+ ['ErrorMessage', { type: 'string', fromMetadata: true, nullable: true }],
288
+ ['AppliedParameters', { type: 'object', fromMetadata: true }],
289
+ ['CacheHit', { type: 'boolean', fromMetadata: true }],
290
+ ['CacheKey', { type: 'string', fromMetadata: true, nullable: true }],
291
+ ['CacheTTLRemaining', { type: 'number', fromMetadata: true, nullable: true }]
292
+ ]);
293
+ return {
294
+ type: 'object',
295
+ fields: resultFields,
296
+ fromMetadata: true
297
+ };
298
+ }
299
+ /**
300
+ * Create TypeInfo for an entity row
301
+ */
302
+ createEntityRowType(entityName, fields) {
303
+ return {
304
+ type: 'entity-row',
305
+ entityName,
306
+ fields,
307
+ fromMetadata: true
308
+ };
309
+ }
310
+ /**
311
+ * Create TypeInfo for a query result row
312
+ */
313
+ createQueryRowType(queryName, fields) {
314
+ return {
315
+ type: 'query-row',
316
+ queryName,
317
+ fields,
318
+ fromMetadata: true
319
+ };
320
+ }
321
+ /**
322
+ * Clear all variable types (reset context)
323
+ */
324
+ clear() {
325
+ this.variableTypes.clear();
326
+ this.scopeStack = [];
327
+ }
328
+ /**
329
+ * Get debug information about current state
330
+ */
331
+ getDebugInfo() {
332
+ return {
333
+ scopes: [...this.scopeStack],
334
+ variables: [...this.variableTypes.entries()]
335
+ };
336
+ }
337
+ }
338
+ exports.TypeContext = TypeContext;
339
+ /**
340
+ * Standard type definitions for common patterns
341
+ */
342
+ exports.StandardTypes = {
343
+ string: { type: 'string' },
344
+ number: { type: 'number' },
345
+ boolean: { type: 'boolean' },
346
+ unknown: { type: 'unknown' },
347
+ null: { type: 'null' },
348
+ undefined: { type: 'undefined' },
349
+ function: { type: 'function' },
350
+ /** Array of unknown elements */
351
+ array: { type: 'array', arrayElementType: { type: 'unknown' } },
352
+ /** Generic object */
353
+ object: { type: 'object' },
354
+ };
355
+ /**
356
+ * Helper to check if two types are compatible
357
+ */
358
+ function areTypesCompatible(expected, actual) {
359
+ // Unknown types are always compatible (we can't prove they're wrong)
360
+ if (expected.type === 'unknown' || actual.type === 'unknown') {
361
+ return true;
362
+ }
363
+ // Direct type match
364
+ if (expected.type === actual.type) {
365
+ return true;
366
+ }
367
+ // Null is compatible with nullable types
368
+ if (actual.type === 'null' && expected.nullable) {
369
+ return true;
370
+ }
371
+ // Entity-row and query-row are objects
372
+ if (expected.type === 'object' && (actual.type === 'entity-row' || actual.type === 'query-row')) {
373
+ return true;
374
+ }
375
+ return false;
376
+ }
377
+ exports.areTypesCompatible = areTypesCompatible;
378
+ /**
379
+ * Get a human-readable description of a type
380
+ */
381
+ function describeType(type) {
382
+ if (type.entityName) {
383
+ return `${type.entityName} row`;
384
+ }
385
+ if (type.queryName) {
386
+ return `${type.queryName} result row`;
387
+ }
388
+ if (type.type === 'array' && type.arrayElementType) {
389
+ return `array of ${describeType(type.arrayElementType)}`;
390
+ }
391
+ return type.type;
392
+ }
393
+ exports.describeType = describeType;
394
+ //# sourceMappingURL=type-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-context.js","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}