@point-hub/papi 0.5.51 → 0.5.53

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/lib/index.js CHANGED
@@ -70335,6 +70335,21 @@ var addExactFilter = (filters, field, value) => {
70335
70335
  filters.push({ [field]: value.trim() });
70336
70336
  }
70337
70337
  };
70338
+ var parseBoolean = (value) => {
70339
+ if (typeof value === "boolean") {
70340
+ return value;
70341
+ }
70342
+ if (value === "true") {
70343
+ return true;
70344
+ }
70345
+ if (value === "false") {
70346
+ return false;
70347
+ }
70348
+ return;
70349
+ };
70350
+ var addBooleanFilter = (filters, field, value) => {
70351
+ filters.push({ [field]: parseBoolean(value) });
70352
+ };
70338
70353
  var addDateRangeFilter = (filters, field, value_from, value_to) => {
70339
70354
  if (value_from?.trim() || value_to?.trim()) {
70340
70355
  const range = {};
@@ -70407,6 +70422,7 @@ var parseComparisons = (expr) => {
70407
70422
  };
70408
70423
  var mongodb_query_filters_default = {
70409
70424
  parseComparisons,
70425
+ addBooleanFilter,
70410
70426
  addNumberFilter,
70411
70427
  addRegexFilter,
70412
70428
  addDateRangeFilter,
@@ -14,6 +14,39 @@ export declare const addRegexFilter: (filters: Record<string, unknown>[], field:
14
14
  * @param value - The exact value to match (optional). If empty or only whitespace, no filter is added.
15
15
  */
16
16
  export declare const addExactFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
17
+ /**
18
+ * Parses a boolean value from a string or boolean input.
19
+ *
20
+ * - Accepts `true` / `false` booleans directly
21
+ * - Converts string values `"true"` and `"false"` to booleans
22
+ * - Returns `undefined` for any other value
23
+ *
24
+ * @param value - A boolean or a string representation of a boolean.
25
+ * @returns `true`, `false`, or `undefined` if the value cannot be parsed.
26
+ */
27
+ export declare const parseBoolean: (value?: string | boolean) => boolean | undefined;
28
+ /**
29
+ * Adds a boolean exact-match filter to the filters array.
30
+ *
31
+ * The filter is only added if the value can be successfully parsed
32
+ * into a boolean (`true` or `false`).
33
+ *
34
+ * @param filters - An array of MongoDB filter objects to be modified.
35
+ * @param field - The field name to match.
36
+ * @param value - A boolean or string (`"true"` / `"false"`) to match.
37
+ */
38
+ export declare const addBooleanFilter: (filters: Record<string, unknown>[], field: string, value?: string | boolean) => void;
39
+ /**
40
+ * Adds a MongoDB date range filter (`$gte` / `$lte`) to the filters array.
41
+ *
42
+ * The filter is only added if at least one of `value_from` or `value_to`
43
+ * is provided and non-empty.
44
+ *
45
+ * @param filters - An array of MongoDB filter objects to be modified.
46
+ * @param field - The date field name to apply the range filter on.
47
+ * @param value_from - The start date (inclusive) as a string.
48
+ * @param value_to - The end date (inclusive) as a string.
49
+ */
17
50
  export declare const addDateRangeFilter: (filters: Record<string, unknown>[], field: string, value_from?: string, value_to?: string) => void;
18
51
  /**
19
52
  * Adds a numeric filter to the filters array based on comparison operators or a single value.
@@ -58,6 +91,7 @@ declare const _default: {
58
91
  lte?: number;
59
92
  eq?: number;
60
93
  };
94
+ addBooleanFilter: (filters: Record<string, unknown>[], field: string, value?: string | boolean) => void;
61
95
  addNumberFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
62
96
  addRegexFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
63
97
  addDateRangeFilter: (filters: Record<string, unknown>[], field: string, value_from?: string, value_to?: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb-query-filters.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-query-filters.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAI/F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAI/F,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,aAAa,MAAM,EAAE,WAAW,MAAM,SAW3H,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAmBhG,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,KACX;IACD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;CA2CZ,CAAA;;6BAjDO,MAAM,KACX;QACD,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ;+BA/CwC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;8BAzCzD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;kCAmBpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,eAAe,MAAM,aAAa,MAAM;8BANpF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;;AAuHhG,wBAMC"}
1
+ {"version":3,"file":"mongodb-query-filters.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-query-filters.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAI/F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAI/F,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,GAAG,OAAO,KAAG,OAAO,GAAG,SAajE,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,GAAG,OAAO,SAE3G,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,aAAa,MAAM,EAAE,WAAW,MAAM,SAW3H,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,SAmBhG,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,KACX;IACD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;CA2CZ,CAAA;;6BAjDO,MAAM,KACX;QACD,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ;gCApFyC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM,GAAG,OAAO;+BAqCnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;8BA3FzD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;kCAqEpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,eAAe,MAAM,aAAa,MAAM;8BAxDpF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;;AAyKhG,wBAOC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@point-hub/papi",
3
- "version": "0.5.51",
3
+ "version": "0.5.53",
4
4
  "description": "Point API Framework",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",