@hedhog/pagination 0.0.16 → 0.0.18

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 (55) hide show
  1. package/README.md +4 -4
  2. package/dist/databases/abstract.database.d.ts +61 -0
  3. package/dist/databases/abstract.database.d.ts.map +1 -0
  4. package/dist/databases/abstract.database.js +643 -0
  5. package/dist/databases/abstract.database.js.map +1 -0
  6. package/dist/databases/database.d.ts +5 -0
  7. package/dist/databases/database.d.ts.map +1 -0
  8. package/dist/databases/database.factory.d.ts +7 -0
  9. package/dist/databases/database.factory.d.ts.map +1 -0
  10. package/dist/databases/database.factory.js +44 -0
  11. package/dist/databases/database.factory.js.map +1 -0
  12. package/dist/databases/database.js +9 -0
  13. package/dist/databases/database.js.map +1 -0
  14. package/dist/databases/index.d.ts +4 -0
  15. package/dist/databases/index.d.ts.map +1 -0
  16. package/dist/databases/index.js +20 -0
  17. package/dist/databases/index.js.map +1 -0
  18. package/dist/databases/mysql.database.d.ts +10 -0
  19. package/dist/databases/mysql.database.d.ts.map +1 -0
  20. package/dist/databases/mysql.database.js +17 -0
  21. package/dist/databases/mysql.database.js.map +1 -0
  22. package/dist/databases/postgres.database.d.ts +10 -0
  23. package/dist/databases/postgres.database.d.ts.map +1 -0
  24. package/dist/databases/postgres.database.js +17 -0
  25. package/dist/databases/postgres.database.js.map +1 -0
  26. package/dist/pagination.service.d.ts +16 -2
  27. package/dist/pagination.service.d.ts.map +1 -1
  28. package/dist/pagination.service.js +131 -5
  29. package/dist/pagination.service.js.map +1 -1
  30. package/dist/types/pagination.types.d.ts +1 -0
  31. package/dist/types/pagination.types.d.ts.map +1 -1
  32. package/dist/types/query-option.d.ts +5 -0
  33. package/dist/types/query-option.d.ts.map +1 -0
  34. package/dist/types/query-option.js +3 -0
  35. package/dist/types/query-option.js.map +1 -0
  36. package/dist/types/relation-n2n-result.d.ts +7 -0
  37. package/dist/types/relation-n2n-result.d.ts.map +1 -0
  38. package/dist/types/relation-n2n-result.js +3 -0
  39. package/dist/types/relation-n2n-result.js.map +1 -0
  40. package/dist/types/transaction-queries.d.ts +7 -0
  41. package/dist/types/transaction-queries.d.ts.map +1 -0
  42. package/dist/types/transaction-queries.js +3 -0
  43. package/dist/types/transaction-queries.js.map +1 -0
  44. package/package.json +6 -2
  45. package/src/databases/abstract.database.ts +833 -0
  46. package/src/databases/database.factory.ts +26 -0
  47. package/src/databases/database.ts +4 -0
  48. package/src/databases/index.ts +3 -0
  49. package/src/databases/mysql.database.ts +14 -0
  50. package/src/databases/postgres.database.ts +14 -0
  51. package/src/pagination.service.ts +216 -12
  52. package/src/types/pagination.types.ts +1 -0
  53. package/src/types/query-option.ts +4 -0
  54. package/src/types/relation-n2n-result.ts +6 -0
  55. package/src/types/transaction-queries.ts +7 -0
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <img src="https://avatars.githubusercontent.com/u/177489127?s=200&v=4" alt="Hedhog Avatar" />
5
5
  </p>
6
6
 
7
- **Hedhog Pagination** is a powerful and flexible pagination library designed for use with HedHog-based projects. It simplifies the process of paginating data results from your database queries, making it easy to handle large datasets and provide users with a smooth and efficient browsing experience.
7
+ **Hedhog Pagination** is a powerful and flexible pagination library designed for use with HedHog-based projects. It simplifies the process of paginating data results from your database queries, making it easy to handle large datasets and provide user with a smooth and efficient browsing experience.
8
8
 
9
9
  ## Features
10
10
 
@@ -25,7 +25,7 @@ npm i @hedhog/pagination
25
25
 
26
26
  ```plaintext
27
27
  pagination/
28
- ├── dist/ # Compiled JavaScript files from build
28
+ ├── dist/ # Compiled JavaScript file from build
29
29
  ├── node_modules/ # Discardable folder with all module dependencies
30
30
  ├── src/
31
31
  │ ├── constants/
@@ -38,11 +38,11 @@ pagination/
38
38
  │ │ └── pagination.enums.ts # Enums for pagination
39
39
  │ ├── types/
40
40
  │ │ └── pagination.types.ts # Type definitions for pagination
41
- │ ├── index.ts # Entry point for pagination files
41
+ │ ├── index.ts # Entry point for pagination file
42
42
  │ ├── pagination.module.ts # Module definition for pagination functionalities
43
43
  │ ├── pagination.service.spec.ts # Unit tests for PaginationService
44
44
  │ └── pagination.service.ts # Service class for pagination logic
45
- ├── .gitignore # Specifies which files Git should ignore
45
+ ├── .gitignore # Specifies which file Git should ignore
46
46
  ├── package.json # Manages dependencies and scripts for the library
47
47
  ├── package-lock.json # Lock file for dependencies
48
48
  ├── README.md # Documentation for the library
@@ -0,0 +1,61 @@
1
+ import { DataSource } from 'typeorm';
2
+ import { QueryOption } from '../types/query-option';
3
+ import { RelationN2NResult } from '../types/relation-n2n-result';
4
+ import { TransactionQueries } from '../types/transaction-queries';
5
+ import { Database } from './database';
6
+ import EventEmitter = require('events');
7
+ export declare class AbstractDatabase {
8
+ protected type: Database;
9
+ protected host: string;
10
+ protected user: string;
11
+ protected password: string;
12
+ protected database: string;
13
+ protected port: number;
14
+ private client;
15
+ private foreignKeys;
16
+ private foreignKeysByTable;
17
+ private primaryKeys;
18
+ private columnNameFromRelation;
19
+ private relationN2N;
20
+ private relation1N;
21
+ private columnComment;
22
+ private tableHasColumnOrder;
23
+ private eventEmitter;
24
+ private autoClose;
25
+ constructor(type: Database, host: string, user: string, password: string, database: string, port: number);
26
+ getDataSource(): DataSource;
27
+ disableAutoClose(): void;
28
+ close(): any;
29
+ on(event: string, listener: (...args: any[]) => void): EventEmitter<[never]>;
30
+ getArrayType(values: any[]): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
31
+ getWhereWithIn(columnName: string, operator: 'in' | 'nin', values: string[] | number[]): string;
32
+ static addSimpleQuotes(value: any): string;
33
+ private replacePlaceholders;
34
+ getColumnNameWithScaping(columnName: string): string;
35
+ getLimit(offset: number, limit: number): string;
36
+ getTableNameFromQuery(query: string): string | null;
37
+ hasTableColumnOrder(tableName: string): Promise<any>;
38
+ getColumnComment(tableName: string, columnName: string): Promise<any>;
39
+ getTableNameFromForeignKey(tableName: string, foreignKey: string): Promise<string>;
40
+ private shouldHandleReturning;
41
+ private isReturningSingleField;
42
+ private isReturningIdWithoutPrimaryKeys;
43
+ private isMissingPrimaryKeys;
44
+ private hasPrimaryKeys;
45
+ private hasReturning;
46
+ private formatOptions;
47
+ private addReturningToQuery;
48
+ private getResult;
49
+ getClient(): Promise<any>;
50
+ testDatabaseConnection(): Promise<boolean>;
51
+ getPrimaryKeys(tableName: string): Promise<string[]>;
52
+ getForeignKeys(tableName: string): Promise<string[]>;
53
+ getColumnNameFromRelation(tableNameOrigin: string, tableNameDestination: string): Promise<any>;
54
+ getRelation1N(tableNameOrigin: string, tableNameDestination: string): Promise<string>;
55
+ getRelationN2N(tableNameOrigin: string, tableNameDestination: string): Promise<RelationN2NResult>;
56
+ static parseQueryValue(value: any): string | number | boolean;
57
+ static objectToWhereClause(obj: any): string;
58
+ transaction(queries: TransactionQueries[]): Promise<any[]>;
59
+ query(query: string, values?: any[], options?: QueryOption): Promise<any>;
60
+ }
61
+ //# sourceMappingURL=abstract.database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.database.d.ts","sourceRoot":"","sources":["../../src/databases/abstract.database.ts"],"names":[],"mappings":"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"}