@point-hub/papi 0.5.15 → 0.5.17

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,56 @@
1
+ /**
2
+ * Adds a case-insensitive regex filter to the filters array if a value is provided.
3
+ *
4
+ * @param filters - An array of MongoDB filter objects to be modified.
5
+ * @param field - The field name to apply the regex on.
6
+ * @param value - The string value to search for (optional). If empty or only whitespace, no filter is added.
7
+ */
8
+ export declare const addRegexFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
9
+ /**
10
+ * Adds a numeric filter to the filters array based on comparison operators or a single value.
11
+ *
12
+ * Accepts expressions like `">10<20"`, `"<=15"`, `"=5"` or `"50"` (interpreted as equality).
13
+ *
14
+ * @param filters - An array of MongoDB filter objects to be modified.
15
+ * @param field - The field name to apply the numeric comparison on.
16
+ * @param value - A string representing the numeric comparison(s).
17
+ */
18
+ export declare const addNumberFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
19
+ /**
20
+ * Parses a string expression into MongoDB-style numeric comparison operators.
21
+ *
22
+ * Supported formats:
23
+ * - `"50"` → `{ eq: 50 }`
24
+ * - `">10"` → `{ gt: 10 }`
25
+ * - `"<=15"` → `{ lte: 15 }`
26
+ * - `">=5<20"` → `{ gte: 5, lt: 20 }`
27
+ *
28
+ * Constraints:
29
+ * - Only one lower-bound (`>` or `>=`) and one upper-bound (`<` or `<=`) operator are allowed.
30
+ * - Throws an API error for malformed or ambiguous expressions.
31
+ *
32
+ * @param expr - A string representing numeric comparisons.
33
+ * @returns An object with numeric comparison constraints.
34
+ *
35
+ * @throws Will throw an API error if the input format is invalid or has duplicate bounds.
36
+ */
37
+ export declare const parseComparisons: (expr: string) => {
38
+ gt?: number;
39
+ gte?: number;
40
+ lt?: number;
41
+ lte?: number;
42
+ eq?: number;
43
+ };
44
+ declare const _default: {
45
+ parseComparisons: (expr: string) => {
46
+ gt?: number;
47
+ gte?: number;
48
+ lt?: number;
49
+ lte?: number;
50
+ eq?: number;
51
+ };
52
+ addNumberFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
53
+ addRegexFilter: (filters: Record<string, unknown>[], field: string, value?: string) => void;
54
+ };
55
+ export default _default;
56
+ //# sourceMappingURL=mongodb-query-filters.d.ts.map
@@ -0,0 +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;;;;;;;;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;8BAfzD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,UAAU,MAAM;;AA0GhG,wBAIC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mongodb-query-filters.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-query-filters.spec.d.ts","sourceRoot":"","sources":["../../../../src/database/mongodb/mongodb-query-filters.spec.ts"],"names":[],"mappings":""}
@@ -27,6 +27,7 @@ export declare const BaseMongoDBQuerystring: {
27
27
  convertStringToArray: typeof import("./database/mongodb/mongodb-querystring").convertStringToArray;
28
28
  convertArrayToObject: typeof import("./database/mongodb/mongodb-querystring").convertArrayToObject;
29
29
  };
30
+ export { default as BaseMongoDBQueryFilters } from './database/mongodb/mongodb-query-filters';
30
31
  export declare const BaseMongoServerError: typeof MongoServerError;
31
32
  export declare const BaseMongoErrorHandler: typeof MongoErrorHandler;
32
33
  export { default as BaseFactory } from '@point-hub/express-factory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,IAAI,EACJ,qBAAqB,EAErB,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,6BAA6B,MAAM,+CAA+C,CAAA;AAEzF,eAAO,MAAM,OAAO,QAAqF,CAAA;AAGzG,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACrE,eAAO,MAAM,kBAAkB,oBAAc,CAAA;AAC7C,eAAO,MAAM,iBAAiB,sBAAgB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,eAAO,MAAM,sBAAsB,2BAAqB,CAAA;AACxD,eAAO,MAAM,qBAAqB,0BAAoB,CAAA;AACtD,eAAO,MAAM,iBAAiB,sBAAgB,CAAA;AAC9C,eAAO,MAAM,sBAAsB;;;;;;;;;;CAAc,CAAA;AACjD,eAAO,MAAM,oBAAoB,yBAAmB,CAAA;AACpD,eAAO,MAAM,qBAAqB,0BAAoB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnE,eAAO,MAAM,gBAAgB;;;;;;;;CAQ5B,CAAA;AAED,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/C,YAAY,EAAE,cAAc,EAAE,CAAA;AAC9B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,IAAI,EACJ,qBAAqB,EAErB,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,6BAA6B,MAAM,+CAA+C,CAAA;AAEzF,eAAO,MAAM,OAAO,QAAqF,CAAA;AAGzG,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACrE,eAAO,MAAM,kBAAkB,oBAAc,CAAA;AAC7C,eAAO,MAAM,iBAAiB,sBAAgB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,eAAO,MAAM,sBAAsB,2BAAqB,CAAA;AACxD,eAAO,MAAM,qBAAqB,0BAAoB,CAAA;AACtD,eAAO,MAAM,iBAAiB,sBAAgB,CAAA;AAC9C,eAAO,MAAM,sBAAsB;;;;;;;;;;CAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AAC7F,eAAO,MAAM,oBAAoB,yBAAmB,CAAA;AACpD,eAAO,MAAM,qBAAqB,0BAAoB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnE,eAAO,MAAM,gBAAgB;;;;;;;;CAQ5B,CAAA;AAED,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/C,YAAY,EAAE,cAAc,EAAE,CAAA;AAC9B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,MAAM,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@point-hub/papi",
3
- "version": "0.5.15",
3
+ "version": "0.5.17",
4
4
  "description": "Point API Framework",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -10,9 +10,9 @@
10
10
  "stub/"
11
11
  ],
12
12
  "scripts": {
13
- "check-types": "tsc -p tsconfig.json",
13
+ "types": "tsc -p tsconfig.json",
14
14
  "dev": "shx rm -rf lib && bun run build.ts --watch",
15
- "build": "shx rm -rf lib && bun run check-types && bun run build.ts && bun run build:declaration",
15
+ "build": "shx rm -rf lib && bun run types && bun run build.ts && bun run build:declaration",
16
16
  "build:declaration": "shx rm -rf tsconfig.tsbuildinfo && shx rm -rf tsconfig.types.tsbuildinfo && tsc -p tsconfig.types.json",
17
17
  "lint": "eslint ./src/**/*.ts",
18
18
  "lint:fix": "bun run lint -- --fix"
@@ -34,24 +34,24 @@
34
34
  },
35
35
  "devDependencies": {
36
36
  "@eslint/eslintrc": "^3.3.1",
37
- "@eslint/js": "^9.24.0",
38
- "@types/compression": "^1.7.5",
39
- "@types/cors": "^2.8.17",
40
- "@types/express": "^5.0.1",
41
- "@types/node": "^22.14.1",
42
- "@types/shelljs": "^0.8.15",
37
+ "@eslint/js": "^9.37.0",
38
+ "@types/compression": "^1.8.1",
39
+ "@types/cors": "^2.8.19",
40
+ "@types/express": "^5.0.3",
41
+ "@types/node": "^24.7.2",
42
+ "@types/shelljs": "^0.8.17",
43
43
  "@types/validatorjs": "^3.15.5",
44
- "@typescript-eslint/eslint-plugin": "^8.30.1",
45
- "@typescript-eslint/parser": "^8.30.1",
46
- "bun-types": "^1.2.9",
47
- "cross-env": "^7.0.3",
48
- "eslint": "^9.24.0",
49
- "eslint-config-prettier": "^10.1.2",
50
- "eslint-plugin-prettier": "^5.2.6",
44
+ "@typescript-eslint/eslint-plugin": "^8.46.0",
45
+ "@typescript-eslint/parser": "^8.46.0",
46
+ "bun-types": "^1.3.0",
47
+ "cross-env": "^10.1.0",
48
+ "eslint": "^9.37.0",
49
+ "eslint-config-prettier": "^10.1.8",
50
+ "eslint-plugin-prettier": "^5.5.4",
51
51
  "eslint-plugin-simple-import-sort": "^12.1.1",
52
- "prettier": "^3.5.3",
52
+ "prettier": "^3.6.2",
53
53
  "shx": "^0.4.0",
54
- "typescript": "^5.8.3"
54
+ "typescript": "^5.9.3"
55
55
  },
56
56
  "dependencies": {
57
57
  "@point-hub/express-cli": "^0.2.2",
@@ -59,8 +59,8 @@
59
59
  "@point-hub/express-factory": "^1.1.4",
60
60
  "@point-hub/express-utils": "^0.2.10",
61
61
  "date-fns": "^4.1.0",
62
- "mongodb": "^6.15.0",
63
- "shelljs": "^0.9.2"
62
+ "mongodb": "^6.20.0",
63
+ "shelljs": "^0.10.0"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "express": "^5.1.0"