@antelopejs/interface-data-api 0.1.8 → 0.1.10

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 (59) hide show
  1. package/dist/antelope.test.js +11 -10
  2. package/dist/antelope.test.js.map +1 -1
  3. package/dist/components.d.ts +4 -2
  4. package/dist/components.js +13 -8
  5. package/dist/components.js.map +1 -1
  6. package/dist/index.d.ts +25 -33
  7. package/dist/index.js +30 -15
  8. package/dist/index.js.map +1 -1
  9. package/dist/metadata.d.ts +20 -3
  10. package/dist/metadata.js +5 -1
  11. package/dist/metadata.js.map +1 -1
  12. package/dist/tests/components/access_control.test.js +2 -2
  13. package/dist/tests/components/access_control.test.js.map +1 -1
  14. package/dist/tests/components/computed.test.js +2 -2
  15. package/dist/tests/components/computed.test.js.map +1 -1
  16. package/dist/tests/components/deferred_joined.test.js +3 -3
  17. package/dist/tests/components/deferred_joined.test.js.map +1 -1
  18. package/dist/tests/components/filter_options.test.d.ts +1 -0
  19. package/dist/tests/components/filter_options.test.js +78 -0
  20. package/dist/tests/components/filter_options.test.js.map +1 -0
  21. package/dist/tests/components/foreign_joined.test.js +2 -2
  22. package/dist/tests/components/foreign_joined.test.js.map +1 -1
  23. package/dist/tests/components/joined.test.js +3 -3
  24. package/dist/tests/components/joined.test.js.map +1 -1
  25. package/dist/tests/components/listable.test.js +2 -2
  26. package/dist/tests/components/listable.test.js.map +1 -1
  27. package/dist/tests/components/mandatory.test.js +2 -2
  28. package/dist/tests/components/mandatory.test.js.map +1 -1
  29. package/dist/tests/components/modifier_key.test.js +2 -2
  30. package/dist/tests/components/modifier_key.test.js.map +1 -1
  31. package/dist/tests/components/per_action_access.test.js +1 -1
  32. package/dist/tests/components/per_action_access.test.js.map +1 -1
  33. package/dist/tests/components/validator.test.js +1 -1
  34. package/dist/tests/components/validator.test.js.map +1 -1
  35. package/dist/tests/index/get_guard.test.d.ts +1 -0
  36. package/dist/tests/index/get_guard.test.js +112 -0
  37. package/dist/tests/index/get_guard.test.js.map +1 -0
  38. package/dist/tests/index/routes.test.js +2 -2
  39. package/dist/tests/index/routes.test.js.map +1 -1
  40. package/dist/tests/integration.test.js +1 -1
  41. package/dist/tests/integration.test.js.map +1 -1
  42. package/dist/tests/utils.d.ts +7 -0
  43. package/dist/tests/utils.js +48 -6
  44. package/dist/tests/utils.js.map +1 -1
  45. package/dist/tests/utils.test.d.ts +1 -0
  46. package/dist/tests/utils.test.js +28 -0
  47. package/dist/tests/utils.test.js.map +1 -0
  48. package/docs/1.introduction.md +7 -7
  49. package/docs/10.joined.md +13 -13
  50. package/docs/11.computed.md +11 -15
  51. package/docs/2.data-controllers.md +4 -4
  52. package/docs/3.routes.md +48 -48
  53. package/docs/4.access-rights.md +5 -5
  54. package/docs/6.listable.md +7 -7
  55. package/docs/7.foreign-keys.md +7 -7
  56. package/docs/8.filters.md +16 -16
  57. package/docs/9.modifiers.md +2 -2
  58. package/package.json +44 -35
  59. package/skills/data-api-interface/SKILL.md +51 -7
package/package.json CHANGED
@@ -1,26 +1,35 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-data-api",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "AntelopeJS interface for data API with CRUD controllers and route generation",
5
5
  "keywords": [
6
6
  "antelopejs",
7
- "interface",
7
+ "crud",
8
8
  "data-api",
9
- "crud"
9
+ "interface"
10
10
  ],
11
+ "license": "Apache-2.0",
11
12
  "repository": {
12
13
  "type": "git",
13
14
  "url": "git+https://github.com/AntelopeJS/interface-data-api.git"
14
15
  },
15
- "license": "Apache-2.0",
16
- "packageManager": "pnpm@10.6.5",
17
- "main": "dist/index.js",
18
- "types": "dist/index.d.ts",
19
16
  "files": [
20
17
  "dist",
21
18
  "docs",
22
19
  "skills"
23
20
  ],
21
+ "main": "dist/index.js",
22
+ "types": "dist/index.d.ts",
23
+ "typesVersions": {
24
+ "*": {
25
+ "components": [
26
+ "dist/components.d.ts"
27
+ ],
28
+ "metadata": [
29
+ "dist/metadata.d.ts"
30
+ ]
31
+ }
32
+ },
24
33
  "exports": {
25
34
  ".": {
26
35
  "types": "./dist/index.d.ts",
@@ -32,53 +41,53 @@
32
41
  },
33
42
  "./package.json": "./package.json"
34
43
  },
44
+ "publishConfig": {
45
+ "access": "public",
46
+ "provenance": true
47
+ },
35
48
  "scripts": {
36
49
  "build": "rimraf dist && tsc",
37
- "format": "biome format --write .",
38
- "lint:fix": "biome check --write .",
39
- "lint": "biome check .",
50
+ "format": "oxfmt .",
51
+ "lint:fix": "oxlint --fix",
52
+ "lint": "oxlint",
40
53
  "prepack": "pnpm run build",
41
54
  "release": "pnpm run lint && pnpm run prepack && release-it",
42
- "test": "pnpm run build && ajs module test ."
55
+ "test": "pnpm run build && ajs module test .",
56
+ "format:check": "oxfmt --check .",
57
+ "knip": "knip"
43
58
  },
44
59
  "devDependencies": {
45
- "@antelopejs/interface-api": "^0.0.5",
46
- "@antelopejs/interface-api-util": "^0.1.1",
47
- "@antelopejs/interface-core": "^0.0.5",
48
- "@antelopejs/interface-database": "^0.1.3",
49
- "@antelopejs/interface-database-decorators": "^0.1.4",
50
- "@biomejs/biome": "2.3.2",
60
+ "@antelopejs/core": "^1.13.4",
61
+ "@antelopejs/interface-api": "^0.0.13",
62
+ "@antelopejs/interface-api-util": "^0.1.2",
63
+ "@antelopejs/interface-core": "^0.1.1",
64
+ "@antelopejs/interface-database": "^0.1.7",
65
+ "@antelopejs/interface-database-decorators": "^0.1.6",
66
+ "@antelopejs/tooling-configs": "^0.0.6",
51
67
  "@types/chai": "^4.3.20",
52
68
  "@types/mocha": "^10.0.10",
53
69
  "@types/node": "^22.19.15",
54
70
  "@types/semver": "^7.7.1",
55
71
  "chai": "^4.5.0",
72
+ "eslint-plugin-perfectionist": "^5.11.0",
73
+ "knip": "^6.34.0",
56
74
  "mongodb-memory-server-core": "^10.4.3",
75
+ "oxfmt": "^0.66.0",
76
+ "oxlint": "1.81.0",
77
+ "oxlint-tsgolint": "^7.0.2001",
57
78
  "release-it": "^19.2.4",
58
79
  "release-it-changelogen": "^0.1.0",
59
80
  "rimraf": "^6.1.3",
60
81
  "typescript": "^5.9.3"
61
82
  },
62
83
  "peerDependencies": {
63
- "@antelopejs/interface-api": ">=0.0.3 <1.0.0",
64
- "@antelopejs/interface-api-util": ">=0.0.4 <1.0.0",
65
- "@antelopejs/interface-core": ">=0.0.3 <1.0.0",
66
- "@antelopejs/interface-database": ">=0.1.2 <1.0.0",
67
- "@antelopejs/interface-database-decorators": ">=0.1.1 <1.0.0"
68
- },
69
- "publishConfig": {
70
- "access": "public"
71
- },
72
- "typesVersions": {
73
- "*": {
74
- "components": [
75
- "dist/components.d.ts"
76
- ],
77
- "metadata": [
78
- "dist/metadata.d.ts"
79
- ]
80
- }
84
+ "@antelopejs/interface-api": ">=0.0.13 <1.0.0",
85
+ "@antelopejs/interface-api-util": ">=0.1.2 <1.0.0",
86
+ "@antelopejs/interface-core": ">=0.1.1 <1.0.0",
87
+ "@antelopejs/interface-database": ">=0.1.7 <1.0.0",
88
+ "@antelopejs/interface-database-decorators": ">=0.1.6 <1.0.0"
81
89
  },
90
+ "packageManager": "pnpm@10.6.5",
82
91
  "antelopeJs": {
83
92
  "standalone": true,
84
93
  "test": "src/antelope.test.ts",
@@ -17,9 +17,32 @@ your module must also import those peer interfaces.
17
17
  ## Imports
18
18
 
19
19
  ```typescript
20
- import { DataController, DefaultRoutes, RegisterDataController, GetDataControllerMeta } from "@antelopejs/interface-data-api";
21
- import { Access, AccessMode, Listable, Mandatory, Optional, Sortable, Filter, Foreign, Joined, Computed, Validator, ModelReference, ModifierKey } from "@antelopejs/interface-data-api/metadata";
22
- import { Parameters, Query, Validation } from "@antelopejs/interface-data-api/components";
20
+ import {
21
+ DataController,
22
+ DefaultRoutes,
23
+ RegisterDataController,
24
+ GetDataControllerMeta,
25
+ } from "@antelopejs/interface-data-api";
26
+ import {
27
+ Access,
28
+ AccessMode,
29
+ Listable,
30
+ Mandatory,
31
+ Optional,
32
+ Sortable,
33
+ Filter,
34
+ Foreign,
35
+ Joined,
36
+ Computed,
37
+ Validator,
38
+ ModelReference,
39
+ ModifierKey,
40
+ } from "@antelopejs/interface-data-api/metadata";
41
+ import {
42
+ Parameters,
43
+ Query,
44
+ Validation,
45
+ } from "@antelopejs/interface-data-api/components";
23
46
  ```
24
47
 
25
48
  `/components` is only needed for custom route callbacks (query building, validation helpers).
@@ -28,9 +51,26 @@ import { Parameters, Query, Validation } from "@antelopejs/interface-data-api/co
28
51
 
29
52
  ```typescript
30
53
  import { Controller } from "@antelopejs/interface-api";
31
- import { DataController, DefaultRoutes, RegisterDataController } from "@antelopejs/interface-data-api";
32
- import { Access, AccessMode, Listable, Mandatory, ModelReference, Sortable } from "@antelopejs/interface-data-api/metadata";
33
- import { BasicDataModel, Field, Model, RegisterTable, Table } from "@antelopejs/interface-database-decorators";
54
+ import {
55
+ DataController,
56
+ DefaultRoutes,
57
+ RegisterDataController,
58
+ } from "@antelopejs/interface-data-api";
59
+ import {
60
+ Access,
61
+ AccessMode,
62
+ Listable,
63
+ Mandatory,
64
+ ModelReference,
65
+ Sortable,
66
+ } from "@antelopejs/interface-data-api/metadata";
67
+ import {
68
+ BasicDataModel,
69
+ Field,
70
+ Model,
71
+ RegisterTable,
72
+ Table,
73
+ } from "@antelopejs/interface-database-decorators";
34
74
 
35
75
  @RegisterTable("tasks", "default")
36
76
  class Task extends Table {
@@ -43,7 +83,11 @@ class Task extends Table {
43
83
  class TaskModel extends BasicDataModel(Task, "tasks") {}
44
84
 
45
85
  @RegisterDataController()
46
- class TaskAPI extends DataController(Task, DefaultRoutes.All, Controller("/tasks")) {
86
+ class TaskAPI extends DataController(
87
+ Task,
88
+ DefaultRoutes.All,
89
+ Controller("/tasks"),
90
+ ) {
47
91
  @ModelReference()
48
92
  @Model(TaskModel, "my-database")
49
93
  declare taskModel: TaskModel;