@fluid-topics/public-api 1.0.74 → 1.0.76-alpha

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 (39) hide show
  1. package/dist/cjs/index.js +13 -10
  2. package/dist/cjs/roles/roles.js +7 -7
  3. package/dist/cjs/types/ft-common/public.js +29 -83
  4. package/dist/fluidtopics.min.js +1 -1
  5. package/dist/mjs/index.d.ts +7 -8
  6. package/dist/mjs/index.js +6 -6
  7. package/dist/mjs/preferences/unauthenticated-preferences.d.ts +1 -1
  8. package/dist/mjs/roles/roles.d.ts +1 -1
  9. package/dist/mjs/roles/roles.js +1 -1
  10. package/dist/mjs/types/ft-common/public.d.ts +17 -57
  11. package/dist/mjs/types/ft-common/public.js +25 -72
  12. package/package.json +2 -2
  13. package/.npmignore +0 -8
  14. package/build/cjs/helpers/GenAIChunkReader.js +0 -66
  15. package/build/cjs/index.js +0 -473
  16. package/build/cjs/preferences/unauthenticated-preferences.js +0 -67
  17. package/build/cjs/roles/roles.js +0 -31
  18. package/build/cjs/types/ft-common/public.js +0 -902
  19. package/build/cjs/types/ft-server/public.js +0 -146
  20. package/build/mjs/helpers/GenAIChunkReader.d.ts +0 -19
  21. package/build/mjs/helpers/GenAIChunkReader.js +0 -37
  22. package/build/mjs/index.d.ts +0 -191
  23. package/build/mjs/index.js +0 -432
  24. package/build/mjs/preferences/unauthenticated-preferences.d.ts +0 -9
  25. package/build/mjs/preferences/unauthenticated-preferences.js +0 -61
  26. package/build/mjs/roles/roles.d.ts +0 -2
  27. package/build/mjs/roles/roles.js +0 -25
  28. package/build/mjs/types/ft-common/public.d.ts +0 -697
  29. package/build/mjs/types/ft-common/public.js +0 -809
  30. package/build/mjs/types/ft-server/public.d.ts +0 -104
  31. package/build/mjs/types/ft-server/public.js +0 -127
  32. package/build/rollup/fluidtopics.min.js +0 -1
  33. package/build/test-results/web-components.xml +0 -12
  34. package/packages/cjs/package.json +0 -3
  35. package/packages/mjs/package.json +0 -3
  36. package/test-browser/helpers/GenAIChunkReader.test.ts +0 -54
  37. package/vite-plugin.mjs +0 -95
  38. package/web-test-runner.config.mjs +0 -58
  39. package/yarn.lock +0 -4132
@@ -262,10 +262,9 @@ export interface FtMySearchRequest {
262
262
  periodFilter?: FtPeriodFilter;
263
263
  query: string;
264
264
  scope?: FtSearchScopeKeys;
265
- filters?: Array<FtLegacyLabeledMetadataFilter>;
265
+ filters: Array<FtLabeledSearchFilter>;
266
266
  sort: Array<FtSearchSortCriterion>;
267
267
  virtualField?: FtVirtualFieldKeys;
268
- metadataFilters?: Array<FtLabeledMetadataFilter>;
269
268
  contentLocale?: string;
270
269
  }
271
270
  export declare const isFtMySearchRequest: (o: any) => o is FtMySearchRequest;
@@ -335,11 +334,17 @@ export declare enum FtPeriodFilterType {
335
334
  }
336
335
  export type FtPeriodFilterTypeKeys = keyof typeof FtPeriodFilterType;
337
336
  export declare const isFtPeriodFilterType: (o: any) => o is FtPeriodFilterType;
337
+ export interface FtSearchFilter {
338
+ negative: boolean;
339
+ values: Array<string>;
340
+ key: string;
341
+ }
342
+ export declare const isFtSearchFilter: (o: any) => o is FtSearchFilter;
338
343
  export interface FtSearchPreset {
339
344
  name: string;
345
+ filters: Array<FtSearchFilter>;
340
346
  priority: number;
341
347
  contentLocale?: string;
342
- metadataFilters: Array<FtMetadataFilter>;
343
348
  }
344
349
  export declare const isFtSearchPreset: (o: any) => o is FtSearchPreset;
345
350
  export declare enum FtSearchSortCriterionOrder {
@@ -399,18 +404,6 @@ export declare enum FtCollectionDocumentType {
399
404
  }
400
405
  export type FtCollectionDocumentTypeKeys = keyof typeof FtCollectionDocumentType;
401
406
  export declare const isFtCollectionDocumentType: (o: any) => o is FtCollectionDocumentType;
402
- export interface FtDateFilter {
403
- type: FtDateFilterTypeKeys;
404
- }
405
- export declare const isFtDateFilter: (o: any) => o is FtDateFilter;
406
- export declare enum FtDateFilterType {
407
- LAST_WEEK = "LAST_WEEK",
408
- LAST_MONTH = "LAST_MONTH",
409
- LAST_QUARTER = "LAST_QUARTER",
410
- LAST_YEAR = "LAST_YEAR"
411
- }
412
- export type FtDateFilterTypeKeys = keyof typeof FtDateFilterType;
413
- export declare const isFtDateFilterType: (o: any) => o is FtDateFilterType;
414
407
  export interface FtSearchResults {
415
408
  spellcheck?: FtSpellcheck;
416
409
  paging: FtSearchResultsPageInfo;
@@ -418,50 +411,24 @@ export interface FtSearchResults {
418
411
  facets: Array<FtSearchFacet>;
419
412
  }
420
413
  export declare const isFtSearchResults: (o: any) => o is FtSearchResults;
421
- export interface FtLabeledMetadataFilter {
422
- valueFilter?: FtValueFilter;
423
- rangeFilter?: FtRangeFilter;
424
- label: string;
425
- key: string;
426
- dateFilter?: FtDateFilter;
427
- }
428
- export declare const isFtLabeledMetadataFilter: (o: any) => o is FtLabeledMetadataFilter;
429
- export interface FtLegacyLabeledMetadataFilter {
414
+ export interface FtLabeledSearchFilter {
430
415
  negative: boolean;
431
416
  values: Array<string>;
432
417
  label: string;
433
418
  key: string;
434
419
  }
435
- export declare const isFtLegacyLabeledMetadataFilter: (o: any) => o is FtLegacyLabeledMetadataFilter;
436
- export interface FtLegacyMetadataFilter {
437
- negative: boolean;
438
- values: Array<string>;
439
- key: string;
420
+ export declare const isFtLabeledSearchFilter: (o: any) => o is FtLabeledSearchFilter;
421
+ export interface FtPeriod {
422
+ from: string;
423
+ to: string;
440
424
  }
441
- export declare const isFtLegacyMetadataFilter: (o: any) => o is FtLegacyMetadataFilter;
425
+ export declare const isFtPeriod: (o: any) => o is FtPeriod;
442
426
  export interface FtPeriodFilter {
443
427
  period?: FtPeriod;
444
428
  periodType: FtPeriodFilterTypeKeys;
445
429
  key?: string;
446
430
  }
447
431
  export declare const isFtPeriodFilter: (o: any) => o is FtPeriodFilter;
448
- export interface FtMetadataFilter {
449
- valueFilter?: FtValueFilter;
450
- rangeFilter?: FtRangeFilter;
451
- key: string;
452
- dateFilter?: FtDateFilter;
453
- }
454
- export declare const isFtMetadataFilter: (o: any) => o is FtMetadataFilter;
455
- export interface FtPeriod {
456
- from: string;
457
- to: string;
458
- }
459
- export declare const isFtPeriod: (o: any) => o is FtPeriod;
460
- export interface FtRangeFilter {
461
- from: string;
462
- to: string;
463
- }
464
- export declare const isFtRangeFilter: (o: any) => o is FtRangeFilter;
465
432
  export interface FtSearchPrior {
466
433
  weight: number;
467
434
  value: string;
@@ -472,10 +439,9 @@ export interface FtSearchRequest {
472
439
  periodFilter?: FtPeriodFilter;
473
440
  query: string;
474
441
  paging: FtPageRequest;
475
- filters?: Array<FtLegacyMetadataFilter>;
442
+ filters: Array<FtSearchFilter>;
476
443
  sort: Array<FtSearchSortCriterion>;
477
444
  virtualField?: FtVirtualFieldKeys;
478
- metadataFilters: Array<FtMetadataFilter>;
479
445
  facets: Array<FtSearchFacetConf>;
480
446
  scope?: FtSearchScopeKeys;
481
447
  lastModified?: any;
@@ -566,11 +532,6 @@ export declare enum FtSearchScope {
566
532
  }
567
533
  export type FtSearchScopeKeys = keyof typeof FtSearchScope;
568
534
  export declare const isFtSearchScope: (o: any) => o is FtSearchScope;
569
- export interface FtValueFilter {
570
- negative: boolean;
571
- values: Array<string>;
572
- }
573
- export declare const isFtValueFilter: (o: any) => o is FtValueFilter;
574
535
  export interface FtSearchFacet {
575
536
  hierarchical: boolean;
576
537
  label: string;
@@ -616,10 +577,10 @@ export declare const isFtTopicResource: (o: any) => o is FtTopicResource;
616
577
  export interface FtSuggestRequest {
617
578
  input: string;
618
579
  scope?: FtSearchScopeKeys;
580
+ filters: Array<FtSearchFilter>;
619
581
  sort: Array<FtSearchSortCriterion>;
620
582
  maxCount?: number;
621
583
  contentLocale?: string;
622
- metadataFilters: Array<FtMetadataFilter>;
623
584
  }
624
585
  export declare const isFtSuggestRequest: (o: any) => o is FtSuggestRequest;
625
586
  export interface FtSuggestResult {
@@ -669,8 +630,7 @@ export interface FtAuthenticatedSession {
669
630
  }
670
631
  export declare const isFtAuthenticatedSession: (o: any) => o is FtAuthenticatedSession;
671
632
  export interface FtSearchPreferences {
672
- defaultFilters?: Array<FtLegacyMetadataFilter>;
673
- defaultMetadataFilters: Array<FtMetadataFilter>;
633
+ defaultFilters: Array<FtSearchFilter>;
674
634
  }
675
635
  export declare const isFtSearchPreferences: (o: any) => o is FtSearchPreferences;
676
636
  export interface FtSession {
@@ -303,16 +303,14 @@ export const isFtMySearch = (o) => {
303
303
  };
304
304
  export const isFtMySearchRequest = (o) => {
305
305
  return isObject(o)
306
- && (o.periodFilter == null || o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
306
+ && (o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
307
307
  && (isString(o.query))
308
308
  && (o.scope == null || isFtSearchScope(o.scope))
309
- && (o.filters == null || (Array.isArray(o.filters)
310
- && o.filters.every((v) => isFtLegacyLabeledMetadataFilter(v))))
309
+ && ((Array.isArray(o.filters)
310
+ && o.filters.every((v) => isFtLabeledSearchFilter(v))))
311
311
  && ((Array.isArray(o.sort)
312
312
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
313
313
  && (o.virtualField == null || isFtVirtualField(o.virtualField))
314
- && (o.metadataFilters == null || (Array.isArray(o.metadataFilters)
315
- && o.metadataFilters.every((v) => isFtLabeledMetadataFilter(v))))
316
314
  && (o.contentLocale == null || isString(o.contentLocale));
317
315
  };
318
316
  // From: RatingType
@@ -392,13 +390,20 @@ export var FtPeriodFilterType;
392
390
  export const isFtPeriodFilterType = (o) => {
393
391
  return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR", "CUSTOM"].includes(o);
394
392
  };
393
+ export const isFtSearchFilter = (o) => {
394
+ return isObject(o)
395
+ && (isBoolean(o.negative))
396
+ && ((Array.isArray(o.values)
397
+ && o.values.every((v) => isString(v))))
398
+ && (isString(o.key));
399
+ };
395
400
  export const isFtSearchPreset = (o) => {
396
401
  return isObject(o)
397
402
  && (isString(o.name))
403
+ && ((Array.isArray(o.filters)
404
+ && o.filters.every((v) => isFtSearchFilter(v))))
398
405
  && (isNumber(o.priority))
399
- && (o.contentLocale == null || isString(o.contentLocale))
400
- && ((Array.isArray(o.metadataFilters)
401
- && o.metadataFilters.every((v) => isFtMetadataFilter(v))));
406
+ && (o.contentLocale == null || isString(o.contentLocale));
402
407
  };
403
408
  // From: SearchSortCriterionOrder
404
409
  export var FtSearchSortCriterionOrder;
@@ -475,21 +480,6 @@ export var FtCollectionDocumentType;
475
480
  export const isFtCollectionDocumentType = (o) => {
476
481
  return ["MAP", "DOCUMENT", "TOPIC", "PERSONAL_BOOK", "SHARED_BOOK"].includes(o);
477
482
  };
478
- export const isFtDateFilter = (o) => {
479
- return isObject(o)
480
- && (isFtDateFilterType(o.type));
481
- };
482
- // From: WsPublicDateFilterType
483
- export var FtDateFilterType;
484
- (function (FtDateFilterType) {
485
- FtDateFilterType["LAST_WEEK"] = "LAST_WEEK";
486
- FtDateFilterType["LAST_MONTH"] = "LAST_MONTH";
487
- FtDateFilterType["LAST_QUARTER"] = "LAST_QUARTER";
488
- FtDateFilterType["LAST_YEAR"] = "LAST_YEAR";
489
- })(FtDateFilterType || (FtDateFilterType = {}));
490
- export const isFtDateFilterType = (o) => {
491
- return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR"].includes(o);
492
- };
493
483
  export const isFtSearchResults = (o) => {
494
484
  return isObject(o)
495
485
  && (o.spellcheck == null || isFtSpellcheck(o.spellcheck))
@@ -499,15 +489,7 @@ export const isFtSearchResults = (o) => {
499
489
  && ((Array.isArray(o.facets)
500
490
  && o.facets.every((v) => isFtSearchFacet(v))));
501
491
  };
502
- export const isFtLabeledMetadataFilter = (o) => {
503
- return isObject(o)
504
- && (o.valueFilter == null || isFtValueFilter(o.valueFilter))
505
- && (o.rangeFilter == null || isFtRangeFilter(o.rangeFilter))
506
- && (isString(o.label))
507
- && (isString(o.key))
508
- && (o.dateFilter == null || isFtDateFilter(o.dateFilter));
509
- };
510
- export const isFtLegacyLabeledMetadataFilter = (o) => {
492
+ export const isFtLabeledSearchFilter = (o) => {
511
493
  return isObject(o)
512
494
  && (isBoolean(o.negative))
513
495
  && ((Array.isArray(o.values)
@@ -515,12 +497,10 @@ export const isFtLegacyLabeledMetadataFilter = (o) => {
515
497
  && (isString(o.label))
516
498
  && (isString(o.key));
517
499
  };
518
- export const isFtLegacyMetadataFilter = (o) => {
500
+ export const isFtPeriod = (o) => {
519
501
  return isObject(o)
520
- && (isBoolean(o.negative))
521
- && ((Array.isArray(o.values)
522
- && o.values.every((v) => isString(v))))
523
- && (isString(o.key));
502
+ && (isString(o.from))
503
+ && (isString(o.to));
524
504
  };
525
505
  export const isFtPeriodFilter = (o) => {
526
506
  return isObject(o)
@@ -528,23 +508,6 @@ export const isFtPeriodFilter = (o) => {
528
508
  && (isFtPeriodFilterType(o.periodType))
529
509
  && (o.key == null || isString(o.key));
530
510
  };
531
- export const isFtMetadataFilter = (o) => {
532
- return isObject(o)
533
- && (o.valueFilter == null || isFtValueFilter(o.valueFilter))
534
- && (o.rangeFilter == null || isFtRangeFilter(o.rangeFilter))
535
- && (isString(o.key))
536
- && (o.dateFilter == null || isFtDateFilter(o.dateFilter));
537
- };
538
- export const isFtPeriod = (o) => {
539
- return isObject(o)
540
- && (isString(o.from))
541
- && (isString(o.to));
542
- };
543
- export const isFtRangeFilter = (o) => {
544
- return isObject(o)
545
- && (isString(o.from))
546
- && (isString(o.to));
547
- };
548
511
  export const isFtSearchPrior = (o) => {
549
512
  return isObject(o)
550
513
  && (isNumber(o.weight))
@@ -553,16 +516,14 @@ export const isFtSearchPrior = (o) => {
553
516
  };
554
517
  export const isFtSearchRequest = (o) => {
555
518
  return isObject(o)
556
- && (o.periodFilter == null || o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
519
+ && (o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
557
520
  && (isString(o.query))
558
521
  && (isFtPageRequest(o.paging))
559
- && (o.filters == null || (Array.isArray(o.filters)
560
- && o.filters.every((v) => isFtLegacyMetadataFilter(v))))
522
+ && ((Array.isArray(o.filters)
523
+ && o.filters.every((v) => isFtSearchFilter(v))))
561
524
  && ((Array.isArray(o.sort)
562
525
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
563
526
  && (o.virtualField == null || isFtVirtualField(o.virtualField))
564
- && ((Array.isArray(o.metadataFilters)
565
- && o.metadataFilters.every((v) => isFtMetadataFilter(v))))
566
527
  && ((Array.isArray(o.facets)
567
528
  && o.facets.every((v) => isFtSearchFacetConf(v))))
568
529
  && (o.scope == null || isFtSearchScope(o.scope))
@@ -664,12 +625,6 @@ export var FtSearchScope;
664
625
  export const isFtSearchScope = (o) => {
665
626
  return ["DEFAULT", "DOCUMENTS", "ALL_TOPICS"].includes(o);
666
627
  };
667
- export const isFtValueFilter = (o) => {
668
- return isObject(o)
669
- && (isBoolean(o.negative))
670
- && ((Array.isArray(o.values)
671
- && o.values.every((v) => isString(v))));
672
- };
673
628
  export const isFtSearchFacet = (o) => {
674
629
  return isObject(o)
675
630
  && (isBoolean(o.hierarchical))
@@ -718,12 +673,12 @@ export const isFtSuggestRequest = (o) => {
718
673
  return isObject(o)
719
674
  && (isString(o.input))
720
675
  && (o.scope == null || isFtSearchScope(o.scope))
676
+ && ((Array.isArray(o.filters)
677
+ && o.filters.every((v) => isFtSearchFilter(v))))
721
678
  && ((Array.isArray(o.sort)
722
679
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
723
680
  && (o.maxCount == null || isNumber(o.maxCount))
724
- && (o.contentLocale == null || isString(o.contentLocale))
725
- && ((Array.isArray(o.metadataFilters)
726
- && o.metadataFilters.every((v) => isFtMetadataFilter(v))));
681
+ && (o.contentLocale == null || isString(o.contentLocale));
727
682
  };
728
683
  export const isFtSuggestResult = (o) => {
729
684
  return isObject(o)
@@ -777,10 +732,8 @@ export const isFtAuthenticatedSession = (o) => {
777
732
  };
778
733
  export const isFtSearchPreferences = (o) => {
779
734
  return isObject(o)
780
- && (o.defaultFilters == null || (Array.isArray(o.defaultFilters)
781
- && o.defaultFilters.every((v) => isFtLegacyMetadataFilter(v))))
782
- && ((Array.isArray(o.defaultMetadataFilters)
783
- && o.defaultMetadataFilters.every((v) => isFtMetadataFilter(v))));
735
+ && ((Array.isArray(o.defaultFilters)
736
+ && o.defaultFilters.every((v) => isFtSearchFilter(v))));
784
737
  };
785
738
  export const isFtSession = (o) => {
786
739
  return isObject(o)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/public-api",
3
- "version": "1.0.74",
3
+ "version": "1.0.76-alpha",
4
4
  "description": "Fluid Topics Public API",
5
5
  "author": "Fluid Topics dev team <opensource@antidot.net>",
6
6
  "license": "LGPL-3.0-only",
@@ -20,7 +20,7 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "cross-fetch": "3.1.5"
23
+ "cross-fetch": "4.1.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@cyclonedx/bom": "^3.10.6",
package/.npmignore DELETED
@@ -1,8 +0,0 @@
1
- .gradle
2
- build.gradle.kts
3
- node_modules
4
- test
5
- src
6
- tsconfig.*
7
- rollup.config.js
8
- INTERNAL_README.md
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
3
- var __asyncValues = (this && this.__asyncValues) || function (o) {
4
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
5
- var m = o[Symbol.asyncIterator], i;
6
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
7
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
8
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
9
- };
10
- var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
11
- var i, p;
12
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
13
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
14
- };
15
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
16
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
17
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
18
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
19
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
20
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
21
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
22
- function fulfill(value) { resume("next", value); }
23
- function reject(value) { resume("throw", value); }
24
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.GenAIChunkReader = void 0;
28
- class GenAIChunkReader {
29
- constructor(reader) {
30
- this.reader = reader;
31
- this.decoder = new TextDecoder();
32
- this.partialChunk = "";
33
- }
34
- read() {
35
- return __asyncGenerator(this, arguments, function* read_1() {
36
- while (true) {
37
- const { done, value } = yield __await(this.reader.read());
38
- if (done) {
39
- yield __await(yield* __asyncDelegator(__asyncValues(this.readRemainingChunks())));
40
- return yield __await(void 0);
41
- }
42
- else {
43
- yield __await(yield* __asyncDelegator(__asyncValues(this.readChunksFromValue(value))));
44
- }
45
- }
46
- });
47
- }
48
- *readRemainingChunks() {
49
- yield* this.parseLine(this.partialChunk);
50
- }
51
- *readChunksFromValue(value) {
52
- const text = this.partialChunk + this.decoder.decode(value);
53
- const lines = text.split("\n");
54
- this.partialChunk = lines.pop();
55
- for (let line of lines) {
56
- yield* this.parseLine(line);
57
- }
58
- }
59
- *parseLine(line) {
60
- const [type, content] = line.split(/:(.*)/);
61
- if (type == "data" && content.length > 0) {
62
- yield JSON.parse(content);
63
- }
64
- }
65
- }
66
- exports.GenAIChunkReader = GenAIChunkReader;