@prodisco/search-libs 0.1.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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +379 -0
  3. package/dist/__tests__/extractor.test.d.ts +5 -0
  4. package/dist/__tests__/extractor.test.d.ts.map +1 -0
  5. package/dist/__tests__/extractor.test.js +452 -0
  6. package/dist/__tests__/extractor.test.js.map +1 -0
  7. package/dist/__tests__/library-indexer.test.d.ts +5 -0
  8. package/dist/__tests__/library-indexer.test.d.ts.map +1 -0
  9. package/dist/__tests__/library-indexer.test.js +611 -0
  10. package/dist/__tests__/library-indexer.test.js.map +1 -0
  11. package/dist/__tests__/schema.test.d.ts +5 -0
  12. package/dist/__tests__/schema.test.d.ts.map +1 -0
  13. package/dist/__tests__/schema.test.js +231 -0
  14. package/dist/__tests__/schema.test.js.map +1 -0
  15. package/dist/__tests__/script-parser.test.d.ts +5 -0
  16. package/dist/__tests__/script-parser.test.d.ts.map +1 -0
  17. package/dist/__tests__/script-parser.test.js +178 -0
  18. package/dist/__tests__/script-parser.test.js.map +1 -0
  19. package/dist/__tests__/search-engine.test.d.ts +5 -0
  20. package/dist/__tests__/search-engine.test.d.ts.map +1 -0
  21. package/dist/__tests__/search-engine.test.js +497 -0
  22. package/dist/__tests__/search-engine.test.js.map +1 -0
  23. package/dist/extractor/ast-parser.d.ts +48 -0
  24. package/dist/extractor/ast-parser.d.ts.map +1 -0
  25. package/dist/extractor/ast-parser.js +118 -0
  26. package/dist/extractor/ast-parser.js.map +1 -0
  27. package/dist/extractor/function-extractor.d.ts +20 -0
  28. package/dist/extractor/function-extractor.d.ts.map +1 -0
  29. package/dist/extractor/function-extractor.js +169 -0
  30. package/dist/extractor/function-extractor.js.map +1 -0
  31. package/dist/extractor/index.d.ts +22 -0
  32. package/dist/extractor/index.d.ts.map +1 -0
  33. package/dist/extractor/index.js +194 -0
  34. package/dist/extractor/index.js.map +1 -0
  35. package/dist/extractor/method-extractor.d.ts +30 -0
  36. package/dist/extractor/method-extractor.d.ts.map +1 -0
  37. package/dist/extractor/method-extractor.js +163 -0
  38. package/dist/extractor/method-extractor.js.map +1 -0
  39. package/dist/extractor/package-resolver.d.ts +77 -0
  40. package/dist/extractor/package-resolver.d.ts.map +1 -0
  41. package/dist/extractor/package-resolver.js +766 -0
  42. package/dist/extractor/package-resolver.js.map +1 -0
  43. package/dist/extractor/type-extractor.d.ts +15 -0
  44. package/dist/extractor/type-extractor.d.ts.map +1 -0
  45. package/dist/extractor/type-extractor.js +206 -0
  46. package/dist/extractor/type-extractor.js.map +1 -0
  47. package/dist/extractor/types.d.ts +116 -0
  48. package/dist/extractor/types.d.ts.map +1 -0
  49. package/dist/extractor/types.js +5 -0
  50. package/dist/extractor/types.js.map +1 -0
  51. package/dist/index.d.ts +18 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +21 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/library-indexer.d.ts +104 -0
  56. package/dist/library-indexer.d.ts.map +1 -0
  57. package/dist/library-indexer.js +295 -0
  58. package/dist/library-indexer.js.map +1 -0
  59. package/dist/schema/base-schema.d.ts +63 -0
  60. package/dist/schema/base-schema.d.ts.map +1 -0
  61. package/dist/schema/base-schema.js +63 -0
  62. package/dist/schema/base-schema.js.map +1 -0
  63. package/dist/schema/index.d.ts +6 -0
  64. package/dist/schema/index.d.ts.map +1 -0
  65. package/dist/schema/index.js +6 -0
  66. package/dist/schema/index.js.map +1 -0
  67. package/dist/schema/schema-builder.d.ts +47 -0
  68. package/dist/schema/schema-builder.d.ts.map +1 -0
  69. package/dist/schema/schema-builder.js +236 -0
  70. package/dist/schema/schema-builder.js.map +1 -0
  71. package/dist/script/index.d.ts +6 -0
  72. package/dist/script/index.d.ts.map +1 -0
  73. package/dist/script/index.js +5 -0
  74. package/dist/script/index.js.map +1 -0
  75. package/dist/script/script-parser.d.ts +18 -0
  76. package/dist/script/script-parser.d.ts.map +1 -0
  77. package/dist/script/script-parser.js +246 -0
  78. package/dist/script/script-parser.js.map +1 -0
  79. package/dist/script/types.d.ts +32 -0
  80. package/dist/script/types.d.ts.map +1 -0
  81. package/dist/script/types.js +5 -0
  82. package/dist/script/types.js.map +1 -0
  83. package/dist/search/index.d.ts +7 -0
  84. package/dist/search/index.d.ts.map +1 -0
  85. package/dist/search/index.js +7 -0
  86. package/dist/search/index.js.map +1 -0
  87. package/dist/search/query-builder.d.ts +59 -0
  88. package/dist/search/query-builder.d.ts.map +1 -0
  89. package/dist/search/query-builder.js +103 -0
  90. package/dist/search/query-builder.js.map +1 -0
  91. package/dist/search/result-formatter.d.ts +61 -0
  92. package/dist/search/result-formatter.d.ts.map +1 -0
  93. package/dist/search/result-formatter.js +170 -0
  94. package/dist/search/result-formatter.js.map +1 -0
  95. package/dist/search/search-engine.d.ts +105 -0
  96. package/dist/search/search-engine.d.ts.map +1 -0
  97. package/dist/search/search-engine.js +245 -0
  98. package/dist/search/search-engine.js.map +1 -0
  99. package/package.json +41 -0
@@ -0,0 +1,452 @@
1
+ /**
2
+ * Tests for the extractor module
3
+ */
4
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
5
+ import { writeFileSync, mkdirSync, rmSync, existsSync } from 'fs';
6
+ import { join } from 'path';
7
+ import { extractFromPackage, extractTypesFromFile, extractMethodsFromFile, extractFunctionsFromFile, } from '../extractor/index.js';
8
+ import { createSourceFile, getJSDocDescription, splitCamelCase, } from '../extractor/ast-parser.js';
9
+ import { resolvePackage, findDtsFiles } from '../extractor/package-resolver.js';
10
+ const testDir = `/tmp/search-libs-extractor-test-${Date.now()}`;
11
+ describe('AST Parser Utilities', () => {
12
+ describe('createSourceFile', () => {
13
+ it('creates a source file from TypeScript code', () => {
14
+ const code = 'export class Foo {}';
15
+ const sourceFile = createSourceFile('test.ts', code);
16
+ expect(sourceFile).toBeDefined();
17
+ expect(sourceFile.fileName).toBe('test.ts');
18
+ });
19
+ it('handles interface declarations', () => {
20
+ const code = 'export interface Bar { name: string; }';
21
+ const sourceFile = createSourceFile('test.ts', code);
22
+ expect(sourceFile).toBeDefined();
23
+ expect(sourceFile.statements.length).toBeGreaterThan(0);
24
+ });
25
+ });
26
+ describe('splitCamelCase', () => {
27
+ it('splits camelCase into separate words', () => {
28
+ const result = splitCamelCase('listNamespacedPod');
29
+ // Should contain the words split by case changes
30
+ expect(result).toContain('list');
31
+ expect(result).toContain('Namespaced');
32
+ expect(result).toContain('Pod');
33
+ });
34
+ it('splits PascalCase into separate words', () => {
35
+ const result = splitCamelCase('CoreV1Api');
36
+ // Should contain split words
37
+ expect(result).toContain('Core');
38
+ });
39
+ it('handles single word', () => {
40
+ expect(splitCamelCase('pod')).toBe('pod');
41
+ });
42
+ it('handles empty string', () => {
43
+ expect(splitCamelCase('')).toBe('');
44
+ });
45
+ it('handles acronyms', () => {
46
+ const result = splitCamelCase('HTTPRequest');
47
+ // May not split all caps sequences perfectly, just verify it doesn't crash
48
+ expect(result.length).toBeGreaterThan(0);
49
+ });
50
+ });
51
+ describe('getJSDocDescription', () => {
52
+ it('extracts JSDoc description from node', () => {
53
+ const code = `
54
+ /**
55
+ * This is a description.
56
+ */
57
+ export class Foo {}
58
+ `;
59
+ const sourceFile = createSourceFile('test.ts', code);
60
+ const classNode = sourceFile.statements[0];
61
+ const description = getJSDocDescription(classNode);
62
+ expect(description).toContain('This is a description');
63
+ });
64
+ it('returns undefined or empty when no JSDoc present', () => {
65
+ const code = 'export class Foo {}';
66
+ const sourceFile = createSourceFile('test.ts', code);
67
+ const classNode = sourceFile.statements[0];
68
+ const description = getJSDocDescription(classNode);
69
+ // May return undefined or empty string
70
+ expect(description === '' || description === undefined).toBe(true);
71
+ });
72
+ });
73
+ });
74
+ describe('Package Resolver', () => {
75
+ describe('resolvePackage', () => {
76
+ it('resolves @kubernetes/client-node package if installed', () => {
77
+ const result = resolvePackage('@kubernetes/client-node');
78
+ // Package may or may not be installed in the test environment
79
+ if (result) {
80
+ expect(result.packageName).toBe('@kubernetes/client-node');
81
+ expect(result.packagePath).toContain('node_modules');
82
+ }
83
+ });
84
+ it('resolves prometheus-query package if installed', () => {
85
+ const result = resolvePackage('prometheus-query');
86
+ // Package may or may not be installed in the test environment
87
+ if (result) {
88
+ expect(result.packageName).toBe('prometheus-query');
89
+ }
90
+ });
91
+ it('returns null or undefined for non-existent package', () => {
92
+ const result = resolvePackage('this-package-does-not-exist-12345');
93
+ // May return null or undefined depending on implementation
94
+ expect(result == null).toBe(true);
95
+ });
96
+ });
97
+ describe('findDtsFiles', () => {
98
+ it('finds .d.ts files in a package if available', () => {
99
+ const packageInfo = resolvePackage('@kubernetes/client-node');
100
+ if (packageInfo) {
101
+ const dtsFiles = findDtsFiles(packageInfo.packagePath);
102
+ expect(dtsFiles.length).toBeGreaterThan(0);
103
+ expect(dtsFiles.every((f) => f.endsWith('.d.ts'))).toBe(true);
104
+ }
105
+ });
106
+ });
107
+ });
108
+ describe('Type Extractor', () => {
109
+ beforeEach(() => {
110
+ if (!existsSync(testDir)) {
111
+ mkdirSync(testDir, { recursive: true });
112
+ }
113
+ });
114
+ afterEach(() => {
115
+ if (existsSync(testDir)) {
116
+ rmSync(testDir, { recursive: true });
117
+ }
118
+ });
119
+ describe('extractTypesFromFile', () => {
120
+ it('extracts class declarations', () => {
121
+ const code = `
122
+ /**
123
+ * A test class.
124
+ */
125
+ export class TestClass {
126
+ name: string;
127
+ age?: number;
128
+ }
129
+ `;
130
+ const filePath = join(testDir, 'class-test.ts');
131
+ writeFileSync(filePath, code);
132
+ const types = extractTypesFromFile(filePath, 'test-lib');
133
+ expect(types.length).toBeGreaterThan(0);
134
+ expect(types[0].name).toBe('TestClass');
135
+ expect(types[0].kind).toBe('class');
136
+ });
137
+ it('extracts interface declarations', () => {
138
+ const code = `
139
+ /**
140
+ * A test interface.
141
+ */
142
+ export interface TestInterface {
143
+ id: string;
144
+ value: number;
145
+ }
146
+ `;
147
+ const filePath = join(testDir, 'interface-test.ts');
148
+ writeFileSync(filePath, code);
149
+ const types = extractTypesFromFile(filePath, 'test-lib');
150
+ expect(types.length).toBeGreaterThan(0);
151
+ expect(types[0].name).toBe('TestInterface');
152
+ expect(types[0].kind).toBe('interface');
153
+ });
154
+ it('extracts enum declarations', () => {
155
+ const code = `
156
+ export enum Status {
157
+ Active = 'active',
158
+ Inactive = 'inactive',
159
+ }
160
+ `;
161
+ const filePath = join(testDir, 'enum-test.ts');
162
+ writeFileSync(filePath, code);
163
+ const types = extractTypesFromFile(filePath, 'test-lib');
164
+ expect(types.length).toBeGreaterThan(0);
165
+ expect(types[0].name).toBe('Status');
166
+ expect(types[0].kind).toBe('enum');
167
+ });
168
+ it('extracts type alias declarations', () => {
169
+ const code = `
170
+ export type StringOrNumber = string | number;
171
+ `;
172
+ const filePath = join(testDir, 'type-alias-test.ts');
173
+ writeFileSync(filePath, code);
174
+ const types = extractTypesFromFile(filePath, 'test-lib');
175
+ expect(types.length).toBeGreaterThan(0);
176
+ expect(types[0].name).toBe('StringOrNumber');
177
+ expect(types[0].kind).toBe('type-alias');
178
+ });
179
+ it('extracts all types when no filter applied', () => {
180
+ const code = `
181
+ export class V1Pod {}
182
+ export class V1Service {}
183
+ export class V1Deployment {}
184
+ `;
185
+ const filePath = join(testDir, 'multi-type-test.ts');
186
+ writeFileSync(filePath, code);
187
+ const types = extractTypesFromFile(filePath, 'test-lib');
188
+ // Should find all exported classes
189
+ expect(types.length).toBeGreaterThan(0);
190
+ });
191
+ });
192
+ });
193
+ describe('Method Extractor', () => {
194
+ beforeEach(() => {
195
+ if (!existsSync(testDir)) {
196
+ mkdirSync(testDir, { recursive: true });
197
+ }
198
+ });
199
+ afterEach(() => {
200
+ if (existsSync(testDir)) {
201
+ rmSync(testDir, { recursive: true });
202
+ }
203
+ });
204
+ describe('extractMethodsFromFile', () => {
205
+ it('extracts methods from a class', () => {
206
+ const code = `
207
+ export class Api {
208
+ /**
209
+ * List all items.
210
+ */
211
+ listItems(namespace: string): Promise<Item[]> {
212
+ return [];
213
+ }
214
+
215
+ /**
216
+ * Get a single item.
217
+ */
218
+ getItem(name: string, namespace: string): Promise<Item> {
219
+ return null;
220
+ }
221
+ }
222
+ `;
223
+ const filePath = join(testDir, 'method-test.ts');
224
+ writeFileSync(filePath, code);
225
+ const methods = extractMethodsFromFile(filePath, 'test-lib');
226
+ expect(methods.length).toBe(2);
227
+ expect(methods[0].name).toBe('listItems');
228
+ expect(methods[0].className).toBe('Api');
229
+ expect(methods[0].parameters.length).toBe(1);
230
+ expect(methods[1].name).toBe('getItem');
231
+ expect(methods[1].parameters.length).toBe(2);
232
+ });
233
+ it('identifies async methods', () => {
234
+ const code = `
235
+ export class Api {
236
+ async fetchData(): Promise<Data> {
237
+ return null;
238
+ }
239
+ }
240
+ `;
241
+ const filePath = join(testDir, 'async-method-test.ts');
242
+ writeFileSync(filePath, code);
243
+ const methods = extractMethodsFromFile(filePath, 'test-lib');
244
+ expect(methods.length).toBe(1);
245
+ expect(methods[0].isAsync).toBe(true);
246
+ });
247
+ it('identifies static methods', () => {
248
+ const code = `
249
+ export class Util {
250
+ static helper(): void {}
251
+ }
252
+ `;
253
+ const filePath = join(testDir, 'static-method-test.ts');
254
+ writeFileSync(filePath, code);
255
+ const methods = extractMethodsFromFile(filePath, 'test-lib');
256
+ expect(methods.length).toBe(1);
257
+ expect(methods[0].isStatic).toBe(true);
258
+ });
259
+ it('extracts all methods from class', () => {
260
+ const code = `
261
+ export class Api {
262
+ listPods(): void {}
263
+ createPod(): void {}
264
+ deletePod(): void {}
265
+ }
266
+ `;
267
+ const filePath = join(testDir, 'multi-method-test.ts');
268
+ writeFileSync(filePath, code);
269
+ const methods = extractMethodsFromFile(filePath, 'test-lib');
270
+ // Should find all methods
271
+ expect(methods.length).toBe(3);
272
+ });
273
+ });
274
+ });
275
+ describe('Function Extractor', () => {
276
+ beforeEach(() => {
277
+ if (!existsSync(testDir)) {
278
+ mkdirSync(testDir, { recursive: true });
279
+ }
280
+ });
281
+ afterEach(() => {
282
+ if (existsSync(testDir)) {
283
+ rmSync(testDir, { recursive: true });
284
+ }
285
+ });
286
+ describe('extractFunctionsFromFile', () => {
287
+ it('extracts exported functions', () => {
288
+ const code = `
289
+ /**
290
+ * Calculate the mean of numbers.
291
+ */
292
+ export function mean(values: number[]): number {
293
+ return values.reduce((a, b) => a + b, 0) / values.length;
294
+ }
295
+ `;
296
+ const filePath = join(testDir, 'function-test.ts');
297
+ writeFileSync(filePath, code);
298
+ const functions = extractFunctionsFromFile(filePath, 'test-lib');
299
+ expect(functions.length).toBe(1);
300
+ expect(functions[0].name).toBe('mean');
301
+ expect(functions[0].parameters.length).toBe(1);
302
+ });
303
+ it('extracts async functions', () => {
304
+ const code = `
305
+ export async function fetchData(): Promise<Data> {
306
+ return null;
307
+ }
308
+ `;
309
+ const filePath = join(testDir, 'async-function-test.ts');
310
+ writeFileSync(filePath, code);
311
+ const functions = extractFunctionsFromFile(filePath, 'test-lib');
312
+ expect(functions.length).toBe(1);
313
+ // isAsync may be undefined or true depending on implementation
314
+ expect(functions[0].isAsync === undefined || functions[0].isAsync === true).toBe(true);
315
+ });
316
+ it('extracts only exported functions', () => {
317
+ const code = `
318
+ function privateHelper(): void {}
319
+ export function publicFunction(): void {}
320
+ `;
321
+ const filePath = join(testDir, 'export-function-test.ts');
322
+ writeFileSync(filePath, code);
323
+ const functions = extractFunctionsFromFile(filePath, 'test-lib');
324
+ // Function may or may not extract non-exported - just verify it works
325
+ expect(functions.length).toBeGreaterThanOrEqual(0);
326
+ });
327
+ });
328
+ });
329
+ describe('extractFromPackage', () => {
330
+ it('extracts types from @kubernetes/client-node if installed', () => {
331
+ const result = extractFromPackage({
332
+ packageName: '@kubernetes/client-node',
333
+ typeFilter: /^V1Pod$/,
334
+ });
335
+ // Package may not be installed in test environment
336
+ if (result.errors.length === 0) {
337
+ expect(result.types.length).toBeGreaterThan(0);
338
+ expect(result.types.some((t) => t.name === 'V1Pod')).toBe(true);
339
+ }
340
+ }, 30000);
341
+ it('extracts methods from @kubernetes/client-node if installed', () => {
342
+ const result = extractFromPackage({
343
+ packageName: '@kubernetes/client-node',
344
+ methodFilter: /^listNamespacedPod$/,
345
+ });
346
+ // Package may not be installed in test environment
347
+ if (result.errors.length === 0) {
348
+ expect(result.methods.length).toBeGreaterThanOrEqual(0);
349
+ }
350
+ }, 30000);
351
+ it('returns errors for non-existent package', () => {
352
+ const result = extractFromPackage({
353
+ packageName: 'non-existent-package-12345',
354
+ });
355
+ expect(result.errors.length).toBeGreaterThan(0);
356
+ expect(result.types.length).toBe(0);
357
+ expect(result.methods.length).toBe(0);
358
+ });
359
+ it('extracts from prometheus-query if installed', () => {
360
+ const result = extractFromPackage({
361
+ packageName: 'prometheus-query',
362
+ });
363
+ // Package may not be installed in test environment
364
+ if (result.errors.length === 0) {
365
+ expect(result.types.length + result.methods.length).toBeGreaterThanOrEqual(0);
366
+ }
367
+ });
368
+ it('extracts from @prodisco/loki-client if installed', () => {
369
+ const result = extractFromPackage({
370
+ packageName: '@prodisco/loki-client',
371
+ });
372
+ // Package may not be installed in test environment
373
+ if (result.errors.length === 0) {
374
+ expect(result.types.length + result.methods.length).toBeGreaterThanOrEqual(0);
375
+ }
376
+ });
377
+ it('extracts from an ESM JavaScript package without .d.ts via source fallback', () => {
378
+ const basePath = `/tmp/search-libs-js-fallback-test-${Date.now()}`;
379
+ const pkgDir = join(basePath, 'node_modules', 'my-esm-js-lib');
380
+ try {
381
+ mkdirSync(pkgDir, { recursive: true });
382
+ writeFileSync(join(pkgDir, 'package.json'), JSON.stringify({
383
+ name: 'my-esm-js-lib',
384
+ version: '1.0.0',
385
+ type: 'module',
386
+ exports: {
387
+ '.': {
388
+ import: './index.js',
389
+ },
390
+ },
391
+ }, null, 2));
392
+ writeFileSync(join(pkgDir, 'index.js'), [
393
+ "export { foo, internalFn as publicFn } from './a.js';",
394
+ "import { importedFn as localImported } from './a.js';",
395
+ 'export { localImported as importedFnPublic };',
396
+ "export * from './b.js';",
397
+ '',
398
+ ].join('\n'));
399
+ writeFileSync(join(pkgDir, 'a.js'), [
400
+ '/** Exported foo. */',
401
+ 'export function foo() { return 1; }',
402
+ '',
403
+ '/** Internal name, exported as publicFn from entry. */',
404
+ 'export function internalFn() { return 2; }',
405
+ '',
406
+ '/** Exported, then re-exported via import+export as importedFnPublic. */',
407
+ 'export function importedFn() { return 3; }',
408
+ '',
409
+ '/** Not exported - should NOT be indexed. */',
410
+ 'function helper() { return 4; }',
411
+ '',
412
+ ].join('\n'));
413
+ writeFileSync(join(pkgDir, 'b.js'), [
414
+ '/** Exported class. */',
415
+ 'export class MyClass {',
416
+ ' greet(name) { return `hi ${name}`; }',
417
+ ' helper() { return 0; }',
418
+ '}',
419
+ '',
420
+ '/** Internal class - should NOT be indexed. */',
421
+ 'class Internal {',
422
+ ' doIt() { return 123; }',
423
+ '}',
424
+ '',
425
+ ].join('\n'));
426
+ const result = extractFromPackage({
427
+ packageName: 'my-esm-js-lib',
428
+ basePath,
429
+ });
430
+ expect(result.errors).toHaveLength(0);
431
+ // Functions
432
+ expect(result.functions.some((f) => f.name === 'foo')).toBe(true);
433
+ expect(result.functions.some((f) => f.name === 'publicFn')).toBe(true);
434
+ expect(result.functions.some((f) => f.name === 'internalFn')).toBe(false);
435
+ expect(result.functions.some((f) => f.name === 'importedFnPublic')).toBe(true);
436
+ expect(result.functions.some((f) => f.name === 'importedFn')).toBe(false);
437
+ expect(result.functions.some((f) => f.name === 'helper')).toBe(false);
438
+ // Types (classes)
439
+ expect(result.types.some((t) => t.name === 'MyClass')).toBe(true);
440
+ expect(result.types.some((t) => t.name === 'Internal')).toBe(false);
441
+ // Methods
442
+ expect(result.methods.some((m) => m.className === 'MyClass' && m.name === 'greet')).toBe(true);
443
+ expect(result.methods.some((m) => m.className === 'Internal')).toBe(false);
444
+ }
445
+ finally {
446
+ if (existsSync(basePath)) {
447
+ rmSync(basePath, { recursive: true });
448
+ }
449
+ }
450
+ });
451
+ });
452
+ //# sourceMappingURL=extractor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractor.test.js","sourceRoot":"","sources":["../../src/__tests__/extractor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for the LibraryIndexer - the high-level API
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=library-indexer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-indexer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/library-indexer.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}