ninegrid2 6.636.0 → 6.637.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.
@@ -244,6 +244,7 @@ class aiContainer extends HTMLElement
244
244
 
245
245
  #q1 = async () => {
246
246
 
247
+ /**
247
248
  const filter = {
248
249
  "should": [
249
250
  {
@@ -257,11 +258,11 @@ class aiContainer extends HTMLElement
257
258
  }
258
259
  }
259
260
  ]
260
- };
261
+ }; */
261
262
 
262
263
 
263
264
 
264
- //const filter = await this.#generateQdrantFilter();
265
+ const filter = await this.#generateQdrantFilter();
265
266
  console.log(filter);
266
267
 
267
268
  const searchResults = this.#isEmptyObject(filter) ? [] : ninegrid.filter(this.#getData(), filter);
@@ -11584,6 +11584,7 @@ class ninegrid {
11584
11584
  }
11585
11585
  }
11586
11586
 
11587
+ /**
11587
11588
  if (condition.range) {
11588
11589
  const range = condition.range;
11589
11590
  //console.log(valueInItem, range, typeof valueInItem, typeof range.gte);
@@ -11603,8 +11604,28 @@ class ninegrid {
11603
11604
  if (range.lte !== undefined && !(valueInItem <= range.lte)) return false;
11604
11605
  if (range.lt !== undefined && !(valueInItem < range.lt)) return false;
11605
11606
  return true;
11607
+ } */
11608
+ if (condition.range) {
11609
+ const range = condition.range;
11610
+
11611
+ if (typeof valueInItem === "string" && typeof range.gte === "string") {
11612
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
11613
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
11614
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
11615
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
11616
+ return true;
11617
+ } else if (typeof valueInItem === "number") {
11618
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
11619
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
11620
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
11621
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
11622
+ return true;
11623
+ } else {
11624
+ return false; // 문자열도 숫자도 아닌 경우
11625
+ }
11606
11626
  }
11607
11627
 
11628
+
11608
11629
  // 다른 필터 타입 (예: `geo_bounding_box`, `has_id` 등)은 필요에 따라 추가 구현
11609
11630
  // 현재는 `match`와 `range`만 지원합니다.
11610
11631
 
@@ -54421,6 +54442,7 @@ class aiContainer extends HTMLElement
54421
54442
 
54422
54443
  #q1 = async () => {
54423
54444
 
54445
+ /**
54424
54446
  const filter = {
54425
54447
  "should": [
54426
54448
  {
@@ -54434,11 +54456,11 @@ class aiContainer extends HTMLElement
54434
54456
  }
54435
54457
  }
54436
54458
  ]
54437
- };
54459
+ }; */
54438
54460
 
54439
54461
 
54440
54462
 
54441
- //const filter = await this.#generateQdrantFilter();
54463
+ const filter = await this.#generateQdrantFilter();
54442
54464
  console.log(filter);
54443
54465
 
54444
54466
  const searchResults = this.#isEmptyObject(filter) ? [] : ninegrid.filter(this.#getData(), filter);
@@ -11580,6 +11580,7 @@ class ninegrid {
11580
11580
  }
11581
11581
  }
11582
11582
 
11583
+ /**
11583
11584
  if (condition.range) {
11584
11585
  const range = condition.range;
11585
11586
  //console.log(valueInItem, range, typeof valueInItem, typeof range.gte);
@@ -11599,8 +11600,28 @@ class ninegrid {
11599
11600
  if (range.lte !== undefined && !(valueInItem <= range.lte)) return false;
11600
11601
  if (range.lt !== undefined && !(valueInItem < range.lt)) return false;
11601
11602
  return true;
11603
+ } */
11604
+ if (condition.range) {
11605
+ const range = condition.range;
11606
+
11607
+ if (typeof valueInItem === "string" && typeof range.gte === "string") {
11608
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
11609
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
11610
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
11611
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
11612
+ return true;
11613
+ } else if (typeof valueInItem === "number") {
11614
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
11615
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
11616
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
11617
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
11618
+ return true;
11619
+ } else {
11620
+ return false; // 문자열도 숫자도 아닌 경우
11621
+ }
11602
11622
  }
11603
11623
 
11624
+
11604
11625
  // 다른 필터 타입 (예: `geo_bounding_box`, `has_id` 등)은 필요에 따라 추가 구현
11605
11626
  // 현재는 `match`와 `range`만 지원합니다.
11606
11627
 
@@ -54417,6 +54438,7 @@ class aiContainer extends HTMLElement
54417
54438
 
54418
54439
  #q1 = async () => {
54419
54440
 
54441
+ /**
54420
54442
  const filter = {
54421
54443
  "should": [
54422
54444
  {
@@ -54430,11 +54452,11 @@ class aiContainer extends HTMLElement
54430
54452
  }
54431
54453
  }
54432
54454
  ]
54433
- };
54455
+ }; */
54434
54456
 
54435
54457
 
54436
54458
 
54437
- //const filter = await this.#generateQdrantFilter();
54459
+ const filter = await this.#generateQdrantFilter();
54438
54460
  console.log(filter);
54439
54461
 
54440
54462
  const searchResults = this.#isEmptyObject(filter) ? [] : ninegrid.filter(this.#getData(), filter);
@@ -742,6 +742,7 @@ export class ninegrid {
742
742
  }
743
743
  }
744
744
 
745
+ /**
745
746
  if (condition.range) {
746
747
  const range = condition.range;
747
748
  //console.log(valueInItem, range, typeof valueInItem, typeof range.gte);
@@ -761,8 +762,28 @@ export class ninegrid {
761
762
  if (range.lte !== undefined && !(valueInItem <= range.lte)) return false;
762
763
  if (range.lt !== undefined && !(valueInItem < range.lt)) return false;
763
764
  return true;
765
+ } */
766
+ if (condition.range) {
767
+ const range = condition.range;
768
+
769
+ if (typeof valueInItem === "string" && typeof range.gte === "string") {
770
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
771
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
772
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
773
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
774
+ return true;
775
+ } else if (typeof valueInItem === "number") {
776
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
777
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
778
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
779
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
780
+ return true;
781
+ } else {
782
+ return false; // 문자열도 숫자도 아닌 경우
783
+ }
764
784
  }
765
785
 
786
+
766
787
  // 다른 필터 타입 (예: `geo_bounding_box`, `has_id` 등)은 필요에 따라 추가 구현
767
788
  // 현재는 `match`와 `range`만 지원합니다.
768
789
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.636.0",
4
+ "version": "6.637.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -244,6 +244,7 @@ class aiContainer extends HTMLElement
244
244
 
245
245
  #q1 = async () => {
246
246
 
247
+ /**
247
248
  const filter = {
248
249
  "should": [
249
250
  {
@@ -257,11 +258,11 @@ class aiContainer extends HTMLElement
257
258
  }
258
259
  }
259
260
  ]
260
- };
261
+ }; */
261
262
 
262
263
 
263
264
 
264
- //const filter = await this.#generateQdrantFilter();
265
+ const filter = await this.#generateQdrantFilter();
265
266
  console.log(filter);
266
267
 
267
268
  const searchResults = this.#isEmptyObject(filter) ? [] : ninegrid.filter(this.#getData(), filter);
@@ -742,6 +742,7 @@ export class ninegrid {
742
742
  }
743
743
  }
744
744
 
745
+ /**
745
746
  if (condition.range) {
746
747
  const range = condition.range;
747
748
  //console.log(valueInItem, range, typeof valueInItem, typeof range.gte);
@@ -761,8 +762,28 @@ export class ninegrid {
761
762
  if (range.lte !== undefined && !(valueInItem <= range.lte)) return false;
762
763
  if (range.lt !== undefined && !(valueInItem < range.lt)) return false;
763
764
  return true;
765
+ } */
766
+ if (condition.range) {
767
+ const range = condition.range;
768
+
769
+ if (typeof valueInItem === "string" && typeof range.gte === "string") {
770
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
771
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
772
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
773
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
774
+ return true;
775
+ } else if (typeof valueInItem === "number") {
776
+ if (range.gte !== undefined && valueInItem < range.gte) return false;
777
+ if (range.gt !== undefined && valueInItem <= range.gt) return false;
778
+ if (range.lte !== undefined && valueInItem > range.lte) return false;
779
+ if (range.lt !== undefined && valueInItem >= range.lt) return false;
780
+ return true;
781
+ } else {
782
+ return false; // 문자열도 숫자도 아닌 경우
783
+ }
764
784
  }
765
785
 
786
+
766
787
  // 다른 필터 타입 (예: `geo_bounding_box`, `has_id` 등)은 필요에 따라 추가 구현
767
788
  // 현재는 `match`와 `range`만 지원합니다.
768
789