@venizia/ignis-docs 0.2.0 → 0.2.1-1
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/README.md +14 -14
- package/content/best-practices/api-usage-examples.md +39 -19
- package/content/best-practices/architectural-patterns.md +24 -13
- package/content/best-practices/architecture-decisions.md +29 -16
- package/content/best-practices/code-style-standards/advanced-patterns.md +43 -31
- package/content/best-practices/code-style-standards/constants-configuration.md +19 -4
- package/content/best-practices/code-style-standards/control-flow.md +33 -1
- package/content/best-practices/code-style-standards/documentation.md +28 -8
- package/content/best-practices/code-style-standards/function-patterns.md +15 -4
- package/content/best-practices/code-style-standards/index.md +7 -2
- package/content/best-practices/code-style-standards/naming-conventions.md +27 -3
- package/content/best-practices/code-style-standards/route-definitions.md +9 -5
- package/content/best-practices/code-style-standards/tooling.md +14 -1
- package/content/best-practices/code-style-standards/type-safety.md +39 -6
- package/content/best-practices/common-pitfalls.md +59 -35
- package/content/best-practices/contribution-workflow.md +8 -4
- package/content/best-practices/data-modeling.md +78 -62
- package/content/best-practices/deployment-strategies.md +56 -19
- package/content/best-practices/error-handling.md +247 -153
- package/content/best-practices/index.md +6 -0
- package/content/best-practices/performance-optimization.md +26 -13
- package/content/best-practices/security-guidelines.md +35 -9
- package/content/best-practices/testing-strategies.md +7 -2
- package/content/best-practices/troubleshooting-tips.md +27 -17
- package/content/extensions/components/api-reference.md +109 -323
- package/content/extensions/components/authentication/api.md +489 -602
- package/content/extensions/components/authentication/errors.md +135 -498
- package/content/extensions/components/authentication/index.md +89 -801
- package/content/extensions/components/authentication/usage.md +231 -955
- package/content/extensions/components/authorization/api.md +991 -644
- package/content/extensions/components/authorization/errors.md +204 -208
- package/content/extensions/components/authorization/getting-started.md +227 -0
- package/content/extensions/components/authorization/index.md +88 -795
- package/content/extensions/components/authorization/usage.md +219 -528
- package/content/extensions/components/health-check.md +77 -243
- package/content/extensions/components/index.md +24 -90
- package/content/extensions/components/mail/api.md +553 -285
- package/content/extensions/components/mail/errors.md +76 -62
- package/content/extensions/components/mail/index.md +111 -463
- package/content/extensions/components/mail/usage.md +139 -173
- package/content/extensions/components/request-tracker.md +70 -173
- package/content/extensions/components/socket-io/api.md +462 -785
- package/content/extensions/components/socket-io/errors.md +49 -51
- package/content/extensions/components/socket-io/index.md +69 -372
- package/content/extensions/components/socket-io/usage.md +212 -105
- package/content/extensions/components/static-asset/api.md +461 -141
- package/content/extensions/components/static-asset/errors.md +121 -53
- package/content/extensions/components/static-asset/index.md +84 -606
- package/content/extensions/components/static-asset/usage.md +184 -299
- package/content/extensions/components/template/index.md +3 -3
- package/content/extensions/components/websocket/api.md +311 -404
- package/content/extensions/components/websocket/errors.md +47 -56
- package/content/extensions/components/websocket/index.md +75 -407
- package/content/extensions/components/websocket/usage.md +120 -338
- package/content/extensions/helpers/cron/index.md +52 -160
- package/content/extensions/helpers/crypto/index.md +67 -480
- package/content/extensions/helpers/crypto/reference.md +528 -0
- package/content/extensions/helpers/env/index.md +64 -178
- package/content/extensions/helpers/error/index.md +286 -196
- package/content/extensions/helpers/index.md +61 -47
- package/content/extensions/helpers/inversion/index.md +76 -550
- package/content/extensions/helpers/inversion/reference.md +530 -0
- package/content/extensions/helpers/kafka/admin.md +23 -3
- package/content/extensions/helpers/kafka/compile-binary.md +83 -52
- package/content/extensions/helpers/kafka/consumer.md +65 -28
- package/content/extensions/helpers/kafka/examples.md +46 -253
- package/content/extensions/helpers/kafka/index.md +55 -617
- package/content/extensions/helpers/kafka/producer.md +156 -22
- package/content/extensions/helpers/kafka/schema-registry.md +59 -79
- package/content/extensions/helpers/logger/hf-logger.md +220 -0
- package/content/extensions/helpers/logger/index.md +78 -552
- package/content/extensions/helpers/logger/pino.md +105 -0
- package/content/extensions/helpers/logger/reference.md +937 -0
- package/content/extensions/helpers/network/api.md +276 -195
- package/content/extensions/helpers/network/index.md +87 -524
- package/content/extensions/helpers/queue/index.md +80 -897
- package/content/extensions/helpers/queue/reference.md +494 -0
- package/content/extensions/helpers/redis/index.md +86 -640
- package/content/extensions/helpers/redis/reference.md +784 -0
- package/content/extensions/helpers/secrets/index.md +136 -0
- package/content/extensions/helpers/socket-io/api.md +325 -204
- package/content/extensions/helpers/socket-io/index.md +79 -429
- package/content/extensions/helpers/storage/api.md +584 -464
- package/content/extensions/helpers/storage/index.md +80 -573
- package/content/extensions/helpers/types/index.md +75 -495
- package/content/extensions/helpers/types/reference.md +689 -0
- package/content/extensions/helpers/uid/index.md +176 -189
- package/content/extensions/helpers/websocket/api.md +366 -214
- package/content/extensions/helpers/websocket/index.md +68 -503
- package/content/extensions/helpers/worker-thread/index.md +62 -396
- package/content/extensions/helpers/worker-thread/reference.md +428 -0
- package/content/extensions/index.md +38 -39
- package/content/extensions/src-details/mcp-server.md +96 -548
- package/content/guides/core-concepts/persistent/datasources.md +2 -2
- package/content/guides/core-concepts/persistent/index.md +5 -1
- package/content/guides/core-concepts/persistent/models.md +1 -1
- package/content/guides/core-concepts/persistent/pglite.md +218 -0
- package/content/guides/core-concepts/persistent/postgres-drivers.md +21 -15
- package/content/guides/core-concepts/persistent/search-meilisearch.md +22 -12
- package/content/guides/core-concepts/persistent/search-typesense.md +28 -16
- package/content/guides/core-concepts/persistent/sqlite.md +296 -0
- package/content/guides/core-concepts/persistent/transactions.md +12 -11
- package/content/guides/core-concepts/secrets-vault.md +177 -0
- package/content/guides/core-concepts/services.md +1 -1
- package/content/guides/get-started/5-minute-quickstart.md +59 -206
- package/content/guides/get-started/philosophy.md +135 -670
- package/content/guides/get-started/setup.md +53 -74
- package/content/guides/migrations/redis-helpers-migration.md +5 -4
- package/content/guides/migrations/scoped-rbac-migration.md +5 -5
- package/content/guides/migrations/unified-connectors-migration.md +8 -7
- package/content/guides/tutorials/ecommerce-api.md +3 -8
- package/content/guides/tutorials/realtime-chat.md +1 -1
- package/content/references/base/application.md +64 -22
- package/content/references/base/components.md +3 -3
- package/content/references/base/connectors.md +79 -136
- package/content/references/base/controllers.md +12 -12
- package/content/references/base/datasources-reference.md +600 -0
- package/content/references/base/datasources.md +84 -444
- package/content/references/base/dependency-injection.md +25 -46
- package/content/references/base/filter-system/application-usage.md +95 -123
- package/content/references/base/filter-system/array-operators.md +33 -43
- package/content/references/base/filter-system/comparison-operators.md +55 -63
- package/content/references/base/filter-system/default-filter.md +144 -350
- package/content/references/base/filter-system/fields-order-pagination.md +116 -148
- package/content/references/base/filter-system/index.md +114 -253
- package/content/references/base/filter-system/json-filtering.md +52 -181
- package/content/references/base/filter-system/list-operators.md +28 -44
- package/content/references/base/filter-system/logical-operators.md +69 -114
- package/content/references/base/filter-system/null-operators.md +41 -98
- package/content/references/base/filter-system/pattern-matching.md +48 -51
- package/content/references/base/filter-system/quick-reference.md +93 -196
- package/content/references/base/filter-system/range-operators.md +22 -38
- package/content/references/base/filter-system/tips.md +70 -133
- package/content/references/base/filter-system/use-cases.md +173 -232
- package/content/references/base/grpc-controllers.md +53 -17
- package/content/references/base/index.md +5 -3
- package/content/references/base/middlewares.md +43 -28
- package/content/references/base/models-reference.md +886 -0
- package/content/references/base/models.md +81 -1452
- package/content/references/base/providers.md +8 -8
- package/content/references/base/repositories/advanced.md +281 -419
- package/content/references/base/repositories/index.md +84 -644
- package/content/references/base/repositories/mixins.md +25 -21
- package/content/references/base/repositories/relations.md +194 -375
- package/content/references/base/repositories/soft-deletable.md +67 -55
- package/content/references/base/secrets.md +267 -0
- package/content/references/base/services.md +8 -6
- package/content/references/configuration/environment-variables.md +73 -21
- package/content/references/configuration/index.md +51 -31
- package/content/references/index.md +1 -1
- package/content/references/quick-reference.md +3 -16
- package/content/references/utilities/crypto.md +35 -76
- package/content/references/utilities/date.md +33 -73
- package/content/references/utilities/duration.md +85 -0
- package/content/references/utilities/index.md +6 -2
- package/content/references/utilities/jsx-reference.md +298 -0
- package/content/references/utilities/jsx.md +82 -525
- package/content/references/utilities/module.md +81 -61
- package/content/references/utilities/parse.md +34 -64
- package/content/references/utilities/performance.md +33 -58
- package/content/references/utilities/promise.md +28 -62
- package/content/references/utilities/request.md +58 -218
- package/content/references/utilities/retry.md +139 -0
- package/content/references/utilities/schema.md +43 -137
- package/content/references/utilities/statuses-reference.md +361 -0
- package/content/references/utilities/statuses.md +63 -667
- package/dist/mcp-server/index.js +0 -0
- package/dist/mcp-server/tools/github/list-project-files.tool.d.ts +1 -1
- package/dist/mcp-server/tools/github/list-project-files.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/github/list-project-files.tool.js +3 -3
- package/dist/mcp-server/tools/github/search-code.tool.js +1 -1
- package/dist/mcp-server/tools/github/verify-dependencies.tool.js +1 -1
- package/dist/mcp-server/tools/github/view-source-file.tool.js +1 -1
- package/package.json +24 -23
|
@@ -6,113 +6,105 @@ difficulty: intermediate
|
|
|
6
6
|
|
|
7
7
|
# Comparison Operators
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Compares a field against a value: equality, inequality, and ordering.
|
|
10
10
|
|
|
11
|
+
| Operator | SQL | Meaning |
|
|
12
|
+
|----------|-----|---------|
|
|
13
|
+
| `eq` | `=` / `IS NULL` | Equal to |
|
|
14
|
+
| `ne` | `!=` / `IS NOT NULL` | Not equal to |
|
|
15
|
+
| `neq` | `!=` / `IS NOT NULL` | Alias for `ne` |
|
|
16
|
+
| `gt` | `>` | Greater than |
|
|
17
|
+
| `gte` | `>=` | Greater than or equal |
|
|
18
|
+
| `lt` | `<` | Less than |
|
|
19
|
+
| `lte` | `<=` | Less than or equal |
|
|
11
20
|
|
|
12
|
-
## eq
|
|
13
|
-
|
|
14
|
-
Matches records where field equals the value.
|
|
21
|
+
## eq
|
|
15
22
|
|
|
16
23
|
```typescript
|
|
17
|
-
// Implicit equality
|
|
18
|
-
{ where: { status: 'active' } }
|
|
19
|
-
|
|
20
|
-
// Explicit form
|
|
21
24
|
{ where: { status: { eq: 'active' } } }
|
|
22
|
-
|
|
23
25
|
// SQL: WHERE "status" = 'active'
|
|
24
26
|
```
|
|
25
27
|
|
|
26
|
-
**
|
|
27
|
-
```typescript
|
|
28
|
-
// Null equality
|
|
29
|
-
{ where: { deletedAt: null } }
|
|
30
|
-
{ where: { deletedAt: { eq: null } } }
|
|
31
|
-
// SQL: WHERE "deleted_at" IS NULL
|
|
32
|
-
|
|
33
|
-
// Array shorthand (becomes IN)
|
|
34
|
-
{ where: { id: [1, 2, 3] } }
|
|
35
|
-
// SQL: WHERE "id" IN (1, 2, 3)
|
|
36
|
-
|
|
37
|
-
// Empty array shorthand
|
|
38
|
-
{ where: { id: [] } }
|
|
39
|
-
// SQL: WHERE false (no results)
|
|
40
|
-
```
|
|
41
|
-
|
|
28
|
+
**Notice:** the bare shorthand `{ status: 'active' }` (no operator key) means the same thing.
|
|
42
29
|
|
|
43
|
-
|
|
30
|
+
**Edge cases:**
|
|
31
|
+
- `{ eq: null }` compiles to `IS NULL`, never `= NULL`.
|
|
32
|
+
- Bare array `{ field: [1, 2, 3] }` (no operator key) compiles to `IN (1, 2, 3)`.
|
|
33
|
+
- An explicit `{ eq: [1, 2, 3] }` does not become `IN` - it compares the column to an array value.
|
|
34
|
+
- Bare empty array `{ field: [] }` matches no rows (`WHERE false`).
|
|
44
35
|
|
|
45
|
-
|
|
36
|
+
## ne / neq
|
|
46
37
|
|
|
47
38
|
```typescript
|
|
48
39
|
{ where: { status: { ne: 'deleted' } } }
|
|
49
|
-
{ where: { status: { neq: 'deleted' } } } // Alias
|
|
50
|
-
|
|
51
40
|
// SQL: WHERE "status" != 'deleted'
|
|
52
|
-
|
|
53
|
-
// Null handling
|
|
54
|
-
{ where: { deletedAt: { ne: null } } }
|
|
55
|
-
{ where: { deletedAt: { neq: null } } }
|
|
56
|
-
// SQL: WHERE "deleted_at" IS NOT NULL
|
|
57
41
|
```
|
|
58
42
|
|
|
59
|
-
|
|
60
|
-
> When compared against a **real value** (not `null`), `ne`/`neq` follow SQL three-valued logic: a row whose field is `NULL` never matches `{ field: { neq: value } }`, because `NULL <> value` evaluates to UNKNOWN rather than TRUE. To include NULL rows, add an explicit branch: `{ or: [{ field: { neq: value } }, { field: null }] }`.
|
|
43
|
+
**Notice:** `ne` and `neq` are the same operator under two names.
|
|
61
44
|
|
|
45
|
+
**Edge cases:**
|
|
46
|
+
- `{ ne: null }` compiles to `IS NOT NULL`.
|
|
47
|
+
- SQL three-valued logic applies: a `NULL` field never matches `{ ne: value }`, because `NULL <> value` is UNKNOWN.
|
|
48
|
+
- Add an `or` branch to include NULL rows: `{ or: [{ field: { ne: value } }, { field: null }] }`.
|
|
62
49
|
|
|
63
|
-
## gt
|
|
50
|
+
## gt
|
|
64
51
|
|
|
65
52
|
```typescript
|
|
66
|
-
// Numbers
|
|
67
53
|
{ where: { price: { gt: 100 } } }
|
|
68
54
|
// SQL: WHERE "price" > 100
|
|
69
|
-
|
|
70
|
-
// Dates
|
|
71
|
-
{ where: { createdAt: { gt: new Date('2024-01-01') } } }
|
|
72
|
-
// SQL: WHERE "created_at" > '2024-01-01'
|
|
73
|
-
|
|
74
|
-
// Strings (lexicographic)
|
|
75
|
-
{ where: { name: { gt: 'M' } } }
|
|
76
|
-
// SQL: WHERE "name" > 'M'
|
|
77
55
|
```
|
|
78
56
|
|
|
57
|
+
**Notice:** works on numbers, dates, and strings (lexicographic comparison).
|
|
58
|
+
|
|
59
|
+
**Edge cases:**
|
|
60
|
+
- `{ gt: null }` compiles to `"price" > NULL`, which is never true - no rows match.
|
|
61
|
+
- Use `is`/`exists` instead to check for null.
|
|
62
|
+
- Combine with other operators in the same object: `{ gte: 18, lt: 65 }`.
|
|
79
63
|
|
|
80
|
-
## gte
|
|
64
|
+
## gte
|
|
81
65
|
|
|
82
66
|
```typescript
|
|
83
67
|
{ where: { quantity: { gte: 10 } } }
|
|
84
68
|
// SQL: WHERE "quantity" >= 10
|
|
85
|
-
|
|
86
|
-
// Combined with other operators
|
|
87
|
-
{ where: { age: { gte: 18, lt: 65 } } }
|
|
88
|
-
// SQL: WHERE "age" >= 18 AND "age" < 65
|
|
89
69
|
```
|
|
90
70
|
|
|
71
|
+
**Notice:** inclusive of the boundary value.
|
|
72
|
+
|
|
73
|
+
**Edge cases:**
|
|
74
|
+
- Same null behavior as `gt`: `{ gte: null }` matches no rows.
|
|
91
75
|
|
|
92
|
-
## lt
|
|
76
|
+
## lt
|
|
93
77
|
|
|
94
78
|
```typescript
|
|
95
79
|
{ where: { stock: { lt: 5 } } }
|
|
96
80
|
// SQL: WHERE "stock" < 5
|
|
97
81
|
```
|
|
98
82
|
|
|
83
|
+
**Notice:** exclusive of the boundary value.
|
|
99
84
|
|
|
100
|
-
|
|
85
|
+
**Edge cases:**
|
|
86
|
+
- Same null behavior as `gt`: `{ lt: null }` matches no rows.
|
|
87
|
+
|
|
88
|
+
## lte
|
|
101
89
|
|
|
102
90
|
```typescript
|
|
103
91
|
{ where: { rating: { lte: 3 } } }
|
|
104
92
|
// SQL: WHERE "rating" <= 3
|
|
105
93
|
```
|
|
106
94
|
|
|
95
|
+
**Notice:** inclusive of the boundary value.
|
|
107
96
|
|
|
108
|
-
|
|
97
|
+
**Edge cases:**
|
|
98
|
+
- Same null behavior as `gt`: `{ lte: null }` matches no rows.
|
|
109
99
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
100
|
+
## See also
|
|
101
|
+
|
|
102
|
+
- [Filter System Overview](./) - the `filter` shape and the full `where` operator table
|
|
103
|
+
- [Range Operators](./range-operators) - `between`/`notBetween`, and the `gte`/`lte` equivalent shown above
|
|
104
|
+
- [Quick Reference](./quick-reference) - every operator, one line each
|
|
105
|
+
|
|
106
|
+
**Files:**
|
|
107
|
+
|
|
108
|
+
- [`packages/core-server/src/connectors/postgres/repositories/dialect/query.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/core-server/src/connectors/postgres/repositories/dialect/query.ts) - `PostgresQueryOperators.FNS`, per-operator SQL builders
|
|
109
|
+
- [`packages/core-server/src/connectors/relational/repositories/dialect/filter.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/core-server/src/connectors/relational/repositories/dialect/filter.ts) - `FilterBuilder`, translates `TFilter` to Drizzle/SQL
|
|
110
|
+
- [`packages/filter/src/common/operators.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/filter/src/common/operators.ts) - `QueryOperators` constants
|