@antelopejs/interface-data-api 0.4.0 → 0.5.0

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 (121) hide show
  1. package/dist/components.d.ts +15 -7
  2. package/dist/components.js +98 -645
  3. package/dist/components.js.map +1 -1
  4. package/dist/index.d.ts +41 -36
  5. package/dist/index.js +94 -92
  6. package/dist/index.js.map +1 -1
  7. package/dist/internal/computed.d.ts +6 -0
  8. package/dist/internal/computed.js +43 -0
  9. package/dist/internal/computed.js.map +1 -0
  10. package/dist/internal/controller-types.d.ts +19 -0
  11. package/dist/internal/controller-types.js +4 -0
  12. package/dist/internal/controller-types.js.map +1 -0
  13. package/dist/internal/default-filter.d.ts +4 -0
  14. package/dist/internal/default-filter.js +19 -0
  15. package/dist/internal/default-filter.js.map +1 -0
  16. package/dist/internal/deferred-joined-stream.d.ts +11 -0
  17. package/dist/internal/deferred-joined-stream.js +112 -0
  18. package/dist/internal/deferred-joined-stream.js.map +1 -0
  19. package/dist/internal/field-types.d.ts +183 -0
  20. package/dist/internal/field-types.js +4 -0
  21. package/dist/internal/field-types.js.map +1 -0
  22. package/dist/internal/filters.d.ts +4 -0
  23. package/dist/internal/filters.js +15 -0
  24. package/dist/internal/filters.js.map +1 -0
  25. package/dist/internal/foreign.d.ts +6 -0
  26. package/dist/internal/foreign.js +116 -0
  27. package/dist/internal/foreign.js.map +1 -0
  28. package/dist/internal/guards.d.ts +20 -0
  29. package/dist/internal/guards.js +74 -0
  30. package/dist/internal/guards.js.map +1 -0
  31. package/dist/internal/joined.d.ts +28 -0
  32. package/dist/internal/joined.js +127 -0
  33. package/dist/internal/joined.js.map +1 -0
  34. package/dist/internal/list.d.ts +16 -0
  35. package/dist/internal/list.js +178 -0
  36. package/dist/internal/list.js.map +1 -0
  37. package/dist/internal/meta-records.d.ts +17 -0
  38. package/dist/internal/meta-records.js +73 -0
  39. package/dist/internal/meta-records.js.map +1 -0
  40. package/dist/internal/properties.d.ts +4 -0
  41. package/dist/internal/properties.js +43 -0
  42. package/dist/internal/properties.js.map +1 -0
  43. package/dist/internal/table-reference.d.ts +11 -0
  44. package/dist/internal/table-reference.js +46 -0
  45. package/dist/internal/table-reference.js.map +1 -0
  46. package/dist/internal/tables.d.ts +18 -0
  47. package/dist/internal/tables.js +37 -0
  48. package/dist/internal/tables.js.map +1 -0
  49. package/dist/internal/validation.d.ts +11 -0
  50. package/dist/internal/validation.js +88 -0
  51. package/dist/internal/validation.js.map +1 -0
  52. package/dist/metadata.d.ts +27 -228
  53. package/dist/metadata.js +61 -188
  54. package/dist/metadata.js.map +1 -1
  55. package/dist/tests/components/access_control.test.js +20 -20
  56. package/dist/tests/components/access_control.test.js.map +1 -1
  57. package/dist/tests/components/computed.test.js +28 -30
  58. package/dist/tests/components/computed.test.js.map +1 -1
  59. package/dist/tests/components/cross_instance.test.js +8 -6
  60. package/dist/tests/components/cross_instance.test.js.map +1 -1
  61. package/dist/tests/components/deferred_joined.test.js +56 -53
  62. package/dist/tests/components/deferred_joined.test.js.map +1 -1
  63. package/dist/tests/components/filter_options.test.js +8 -7
  64. package/dist/tests/components/filter_options.test.js.map +1 -1
  65. package/dist/tests/components/foreign_computed.test.js +14 -16
  66. package/dist/tests/components/foreign_computed.test.js.map +1 -1
  67. package/dist/tests/components/foreign_joined.test.js +19 -27
  68. package/dist/tests/components/foreign_joined.test.js.map +1 -1
  69. package/dist/tests/components/joined.test.js +41 -45
  70. package/dist/tests/components/joined.test.js.map +1 -1
  71. package/dist/tests/components/listable.test.js +59 -58
  72. package/dist/tests/components/listable.test.js.map +1 -1
  73. package/dist/tests/components/localized_sort.test.js +10 -11
  74. package/dist/tests/components/localized_sort.test.js.map +1 -1
  75. package/dist/tests/components/mandatory.test.js +25 -25
  76. package/dist/tests/components/mandatory.test.js.map +1 -1
  77. package/dist/tests/components/modifier_key.test.js +19 -18
  78. package/dist/tests/components/modifier_key.test.js.map +1 -1
  79. package/dist/tests/components/parse_body.test.d.ts +1 -0
  80. package/dist/tests/components/parse_body.test.js +75 -0
  81. package/dist/tests/components/parse_body.test.js.map +1 -0
  82. package/dist/tests/components/parsed_value.test.js +23 -21
  83. package/dist/tests/components/parsed_value.test.js.map +1 -1
  84. package/dist/tests/components/partial_edit.test.js +33 -32
  85. package/dist/tests/components/partial_edit.test.js.map +1 -1
  86. package/dist/tests/components/per_action_access.test.js +12 -12
  87. package/dist/tests/components/per_action_access.test.js.map +1 -1
  88. package/dist/tests/components/validator.test.js +45 -37
  89. package/dist/tests/components/validator.test.js.map +1 -1
  90. package/dist/tests/helpers/other-instance.d.ts +11 -1
  91. package/dist/tests/helpers/other-instance.js +27 -5
  92. package/dist/tests/helpers/other-instance.js.map +1 -1
  93. package/dist/tests/index/get_guard.test.js +6 -6
  94. package/dist/tests/index/get_guard.test.js.map +1 -1
  95. package/dist/tests/index/inheritance.test.js +10 -9
  96. package/dist/tests/index/inheritance.test.js.map +1 -1
  97. package/dist/tests/index/routes.test.js +40 -44
  98. package/dist/tests/index/routes.test.js.map +1 -1
  99. package/dist/tests/integration.test.d.ts +1 -1
  100. package/dist/tests/integration.test.js +53 -729
  101. package/dist/tests/integration.test.js.map +1 -1
  102. package/dist/tests/internal/http.d.ts +23 -0
  103. package/dist/tests/internal/http.js +35 -0
  104. package/dist/tests/internal/http.js.map +1 -0
  105. package/dist/tests/internal/shop-api.d.ts +1 -0
  106. package/dist/tests/internal/shop-api.js +331 -0
  107. package/dist/tests/internal/shop-api.js.map +1 -0
  108. package/dist/tests/internal/shop-schema.d.ts +154 -0
  109. package/dist/tests/internal/shop-schema.js +387 -0
  110. package/dist/tests/internal/shop-schema.js.map +1 -0
  111. package/dist/tests/utils.d.ts +5 -5
  112. package/dist/tests/utils.js +1 -3
  113. package/dist/tests/utils.js.map +1 -1
  114. package/dist/tests/utils.test.js +10 -11
  115. package/dist/tests/utils.test.js.map +1 -1
  116. package/docs/3.routes.md +8 -3
  117. package/docs/5.validators.md +12 -3
  118. package/docs/8.filters.md +7 -3
  119. package/package.json +14 -3
  120. package/skills/data-api-interface/SKILL.md +4 -0
  121. package/skills/data-api-interface/cases.json +99 -0
@@ -16,9 +16,10 @@ const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
17
  const interface_database_1 = require("@antelopejs/interface-database");
18
18
  const interface_api_1 = require("@antelopejs/interface-api");
19
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
20
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
+ const index_1 = require("../../index");
20
+ const metadata_1 = require("../../metadata");
21
21
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
+ const http_1 = require("../internal/http");
22
23
  const utils_1 = require("../utils");
23
24
  const currentTestName = node_path_1.default
24
25
  .basename(__filename)
@@ -63,15 +64,15 @@ const authorDataset = [
63
64
  ];
64
65
  const orphanAuthorId = "orphan-author-id";
65
66
  describe("Modifier key with foreign fields", () => {
66
- it("gets row with resolved foreign reference", async () => await getsRowWithResolvedForeignReference());
67
- it("gets row with null foreign reference", async () => await getsRowWithNullForeignReference());
68
- it("gets row with dangling foreign reference", async () => await getsRowWithDanglingForeignReference());
69
- it("lists rows containing null foreign references", async () => await listsRowsContainingNullForeignReferences());
67
+ it("gets row with resolved foreign reference", async () => await expectGetsRowWithResolvedForeignReference());
68
+ it("gets row with null foreign reference", async () => await expectGetsRowWithNullForeignReference());
69
+ it("gets row with dangling foreign reference", async () => await expectGetsRowWithDanglingForeignReference());
70
+ it("lists rows containing null foreign references", async () => await expectListsRowsContainingNullForeignReferences());
70
71
  });
71
72
  async function _createDataController(testName) {
72
- let _ModifierKeyTestAPI = class _ModifierKeyTestAPI extends (0, interface_data_api_1.DataController)(Post, {
73
- list: interface_data_api_1.DefaultRoutes.List,
74
- get: interface_data_api_1.DefaultRoutes.Get,
73
+ let _ModifierKeyTestAPI = class _ModifierKeyTestAPI extends (0, index_1.DataController)(Post, {
74
+ list: index_1.DefaultRoutes.List,
75
+ get: index_1.DefaultRoutes.Get,
75
76
  }, (0, interface_api_1.Controller)(`/${testName}`)) {
76
77
  };
77
78
  __decorate([
@@ -101,7 +102,7 @@ async function _createDataController(testName) {
101
102
  __metadata("design:type", String)
102
103
  ], _ModifierKeyTestAPI.prototype, "title", void 0);
103
104
  _ModifierKeyTestAPI = __decorate([
104
- (0, interface_data_api_1.RegisterDataController)()
105
+ (0, index_1.RegisterDataController)()
105
106
  ], _ModifierKeyTestAPI);
106
107
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
107
108
  await _dropTables();
@@ -126,42 +127,42 @@ async function _dropTables() {
126
127
  await schema.instance().table(authorTableName).delete();
127
128
  }
128
129
  }
129
- async function getsRowWithResolvedForeignReference() {
130
+ async function expectGetsRowWithResolvedForeignReference() {
130
131
  const { postIds } = await _createDataController((0, utils_1.getFunctionName)());
131
132
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), {
132
133
  id: postIds[0],
133
134
  locale,
134
135
  });
135
136
  (0, chai_1.expect)(response.status).to.equal(200);
136
- const post = (await response.json());
137
+ const post = await (0, http_1.readJson)(response);
137
138
  (0, chai_1.expect)(post.authorId).to.not.equal(null);
138
139
  (0, chai_1.expect)(post.authorId?.name).to.equal("Alice Carter");
139
140
  }
140
- async function getsRowWithNullForeignReference() {
141
+ async function expectGetsRowWithNullForeignReference() {
141
142
  const { postIds } = await _createDataController((0, utils_1.getFunctionName)());
142
143
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), {
143
144
  id: postIds[2],
144
145
  locale,
145
146
  });
146
147
  (0, chai_1.expect)(response.status).to.equal(200);
147
- const post = (await response.json());
148
+ const post = await (0, http_1.readJson)(response);
148
149
  (0, chai_1.expect)(post.authorId).to.equal(null);
149
150
  }
150
- async function getsRowWithDanglingForeignReference() {
151
+ async function expectGetsRowWithDanglingForeignReference() {
151
152
  const { postIds } = await _createDataController((0, utils_1.getFunctionName)());
152
153
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), {
153
154
  id: postIds[1],
154
155
  locale,
155
156
  });
156
157
  (0, chai_1.expect)(response.status).to.equal(200);
157
- const post = (await response.json());
158
+ const post = await (0, http_1.readJson)(response);
158
159
  (0, chai_1.expect)(post.authorId).to.equal(null);
159
160
  }
160
- async function listsRowsContainingNullForeignReferences() {
161
+ async function expectListsRowsContainingNullForeignReferences() {
161
162
  await _createDataController((0, utils_1.getFunctionName)());
162
163
  const response = await (0, utils_1.listRequest)((0, utils_1.getFunctionName)(), { locale });
163
164
  (0, chai_1.expect)(response.status).to.equal(200);
164
- const data = (await response.json());
165
+ const data = await (0, http_1.readJson)(response);
165
166
  (0, chai_1.expect)(data.results).to.have.lengthOf(3);
166
167
  const nullAuthorPosts = data.results.filter((post) => post.authorId == null);
167
168
  (0, chai_1.expect)(nullAuthorPosts).to.have.lengthOf(2);
@@ -1 +1 @@
1
- {"version":3,"file":"modifier_key.test.js","sourceRoot":"","sources":["../../../src/tests/components/modifier_key.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modifier_key.test.js","sourceRoot":"","sources":["../../../src/tests/components/modifier_key.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const interface_api_1 = require("@antelopejs/interface-api");
5
+ const components_1 = require("../../components");
6
+ function statusOfRefusal(body) {
7
+ try {
8
+ components_1.Validation.ParseBody(body);
9
+ }
10
+ catch (error) {
11
+ return error instanceof interface_api_1.HTTPResult ? error.getStatus() : undefined;
12
+ }
13
+ return 200;
14
+ }
15
+ function body(fields) {
16
+ return Buffer.from(JSON.stringify(fields));
17
+ }
18
+ class Money {
19
+ amount = 1;
20
+ }
21
+ describe("Validation.ParseBody", () => {
22
+ it("parses a JSON object", () => (0, chai_1.expect)(components_1.Validation.ParseBody(body({ name: "a", tags: [1, null] }))).to.eql({
23
+ name: "a",
24
+ tags: [1, null],
25
+ }));
26
+ it("hands back a body a route already parsed, with dates and undefined", () => {
27
+ const stamped = {
28
+ at: new Date(0),
29
+ nested: { list: [new Date(1), "x"], gone: undefined },
30
+ };
31
+ (0, chai_1.expect)(components_1.Validation.ParseBody(stamped)).to.equal(stamped);
32
+ });
33
+ it("refuses a body that is not a JSON object", () => {
34
+ (0, chai_1.expect)([
35
+ statusOfRefusal(Buffer.from("{")),
36
+ statusOfRefusal(body([1])),
37
+ statusOfRefusal(Buffer.from("null")),
38
+ statusOfRefusal(Buffer.from('"text"')),
39
+ ]).to.eql([400, 400, 400, 400]);
40
+ });
41
+ it("accepts a body nested far deeper than the call stack allows", () => {
42
+ const depth = 50000;
43
+ const nested = `{"a":${"[".repeat(depth)}${"]".repeat(depth)}}`;
44
+ (0, chai_1.expect)(Object.keys(components_1.Validation.ParseBody(Buffer.from(nested)))).to.eql([
45
+ "a",
46
+ ]);
47
+ });
48
+ it("refuses a body nested deeper than the call stack allows that ends in a function", () => {
49
+ const deepest = Object.create(null);
50
+ deepest.run = () => 1;
51
+ let nested = deepest;
52
+ for (let level = 0; level < 50000; level++)
53
+ nested = { next: nested };
54
+ (0, chai_1.expect)(statusOfRefusal(nested)).to.equal(400);
55
+ });
56
+ it("accepts a body without a prototype", () => {
57
+ const bare = Object.create(null);
58
+ bare.name = "a";
59
+ (0, chai_1.expect)(components_1.Validation.ParseBody(bare)).to.equal(bare);
60
+ });
61
+ it("refuses a parsed body holding what JSON cannot", () => {
62
+ const withFunction = Object.create(null);
63
+ withFunction.run = () => 1;
64
+ const withInstance = Object.create(null);
65
+ withInstance.price = new Money();
66
+ const withBigInt = Object.create(null);
67
+ withBigInt.count = 1n;
68
+ const withUndefined = Object.create(null);
69
+ withUndefined.list = [1, undefined];
70
+ const cyclic = {};
71
+ cyclic.self = cyclic;
72
+ (0, chai_1.expect)([withFunction, withInstance, withBigInt, withUndefined, cyclic].map(statusOfRefusal)).to.eql([400, 400, 400, 400, 400]);
73
+ });
74
+ });
75
+ //# sourceMappingURL=parse_body.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse_body.test.js","sourceRoot":"","sources":["../../../src/tests/components/parse_body.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,6DAAuD;AAEvD,iDAA8C;AAG9C,SAAS,eAAe,CAAC,IAAgD;IACvE,IAAI,CAAC;QACH,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,YAAY,0BAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,MAAkB;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,KAAK;IACT,MAAM,GAAG,CAAC,CAAC;CACZ;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAC9B,IAAA,aAAM,EAAC,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;QACxE,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;KAChB,CAAC,CAAC,CAAC;IACN,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;SACtD,CAAC;QACF,IAAA,aAAM,EAAC,uBAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,aAAM,EAAC;YACL,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAChE,IAAA,aAAM,EAAC,MAAM,CAAC,IAAI,CAAC,uBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;YACpE,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM,GAAgB,OAAO,CAAC;QAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE;YAAE,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtE,IAAA,aAAM,EAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAA,aAAM,EAAC,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,YAAY,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,IAAA,aAAM,EACJ,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,GAAG,CACjE,eAAe,CAChB,CACF,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -16,11 +16,13 @@ const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
17
  const interface_api_1 = require("@antelopejs/interface-api");
18
18
  const interface_database_1 = require("@antelopejs/interface-database");
19
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
20
- const components_1 = require("@antelopejs/interface-data-api/components");
21
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
+ const index_1 = require("../../index");
20
+ const components_1 = require("../../components");
21
+ const metadata_1 = require("../../metadata");
22
22
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
23
+ const http_1 = require("../internal/http");
23
24
  const utils_1 = require("../utils");
25
+ const guards_1 = require("../../internal/guards");
24
26
  const currentTestName = node_path_1.default
25
27
  .basename(__filename)
26
28
  .replace(/\.test\.(ts|js)$/, "");
@@ -47,23 +49,23 @@ Event = __decorate([
47
49
  ], Event);
48
50
  class EventModel extends (0, interface_database_decorators_1.BasicDataModel)(Event, eventTableName) {
49
51
  }
50
- function parseDate(value) {
51
- if (typeof value !== "string" || Number.isNaN(Date.parse(value))) {
52
+ const parseDate = (value) => {
53
+ if (!(0, guards_1.isString)(value) || Number.isNaN(Date.parse(value))) {
52
54
  return { success: false };
53
55
  }
54
56
  return { success: true, data: new Date(value) };
55
- }
56
- async function normalizeCode(value) {
57
- if (typeof value !== "string") {
57
+ };
58
+ const normalizeCode = async (value) => {
59
+ if (!(0, guards_1.isString)(value)) {
58
60
  return { success: false };
59
61
  }
60
62
  return { success: true, data: value.trim().toUpperCase() };
61
- }
63
+ };
62
64
  describe("Field Validator parsed value", () => {
63
- it("writes the parsed value on new", async () => await writesParsedValueOnNew());
64
- it("writes the parsed value on edit", async () => await writesParsedValueOnEdit());
65
- it("writes the value of an asynchronous parse", async () => await writesAsyncParsedValue());
66
- it("rejects a failed parse with the invalid field message", async () => await rejectsFailedParse());
65
+ it("writes the parsed value on new", async () => await expectWritesParsedValueOnNew());
66
+ it("writes the parsed value on edit", async () => await expectWritesParsedValueOnEdit());
67
+ it("writes the value of an asynchronous parse", async () => await expectWritesAsyncParsedValue());
68
+ it("rejects a failed parse with the invalid field message", async () => await expectRejectsFailedParse());
67
69
  });
68
70
  async function _dropEventTable() {
69
71
  const schema = interface_database_1.Schema.get(schemaName);
@@ -72,7 +74,7 @@ async function _dropEventTable() {
72
74
  }
73
75
  }
74
76
  async function _createDataController(testName, event) {
75
- let _ParsedValueTestAPI = class _ParsedValueTestAPI extends (0, interface_data_api_1.DataController)(Event, { new: interface_data_api_1.DefaultRoutes.New, edit: interface_data_api_1.DefaultRoutes.Edit }, (0, interface_api_1.Controller)(`/${testName}`)) {
77
+ let _ParsedValueTestAPI = class _ParsedValueTestAPI extends (0, index_1.DataController)(Event, { new: index_1.DefaultRoutes.New, edit: index_1.DefaultRoutes.Edit }, (0, interface_api_1.Controller)(`/${testName}`)) {
76
78
  };
77
79
  __decorate([
78
80
  (0, metadata_1.ModelReference)(),
@@ -94,7 +96,7 @@ async function _createDataController(testName, event) {
94
96
  __metadata("design:type", String)
95
97
  ], _ParsedValueTestAPI.prototype, "code", void 0);
96
98
  _ParsedValueTestAPI = __decorate([
97
- (0, interface_data_api_1.RegisterDataController)()
99
+ (0, index_1.RegisterDataController)()
98
100
  ], _ParsedValueTestAPI);
99
101
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
100
102
  await _dropEventTable();
@@ -105,19 +107,19 @@ async function _createDataController(testName, event) {
105
107
  }
106
108
  return { eventModel };
107
109
  }
108
- async function writesParsedValueOnNew() {
110
+ async function expectWritesParsedValueOnNew() {
109
111
  const { eventModel } = await _createDataController((0, utils_1.getFunctionName)());
110
112
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
111
113
  name: "Launch",
112
114
  startsAt,
113
115
  });
114
116
  (0, chai_1.expect)(response.status).to.equal(200);
115
- const { _id: id } = (await response.json());
117
+ const { _id: id } = await (0, http_1.readJson)(response);
116
118
  const event = await eventModel.get(id);
117
119
  (0, chai_1.expect)(event?.startsAt).to.be.instanceOf(Date);
118
120
  (0, chai_1.expect)(event?.startsAt.toISOString()).to.equal(startsAt);
119
121
  }
120
- async function writesParsedValueOnEdit() {
122
+ async function expectWritesParsedValueOnEdit() {
121
123
  const { id, eventModel } = await _createDataController((0, utils_1.getFunctionName)(), {
122
124
  name: "Launch",
123
125
  startsAt: new Date(startsAt),
@@ -130,18 +132,18 @@ async function writesParsedValueOnEdit() {
130
132
  (0, chai_1.expect)(event?.startsAt).to.be.instanceOf(Date);
131
133
  (0, chai_1.expect)(event?.startsAt.toISOString()).to.equal(editedStartsAt);
132
134
  }
133
- async function writesAsyncParsedValue() {
135
+ async function expectWritesAsyncParsedValue() {
134
136
  const { eventModel } = await _createDataController((0, utils_1.getFunctionName)());
135
137
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
136
138
  name: "Launch",
137
139
  code: " launch-26 ",
138
140
  });
139
141
  (0, chai_1.expect)(response.status).to.equal(200);
140
- const { _id: id } = (await response.json());
142
+ const { _id: id } = await (0, http_1.readJson)(response);
141
143
  const event = await eventModel.get(id);
142
144
  (0, chai_1.expect)(event?.code).to.equal("LAUNCH-26");
143
145
  }
144
- async function rejectsFailedParse() {
146
+ async function expectRejectsFailedParse() {
145
147
  await _createDataController((0, utils_1.getFunctionName)());
146
148
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
147
149
  name: "Launch",
@@ -1 +1 @@
1
- {"version":3,"file":"parsed_value.test.js","sourceRoot":"","sources":["../../../src/tests/components/parsed_value.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsed_value.test.js","sourceRoot":"","sources":["../../../src/tests/components/parsed_value.test.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,11 @@ const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
17
  const interface_api_1 = require("@antelopejs/interface-api");
18
18
  const interface_database_1 = require("@antelopejs/interface-database");
19
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
20
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
+ const index_1 = require("../../index");
20
+ const metadata_1 = require("../../metadata");
21
21
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
22
  const constants_1 = require("../constants");
23
+ const http_1 = require("../internal/http");
23
24
  const utils_1 = require("../utils");
24
25
  const currentTestName = node_path_1.default
25
26
  .basename(__filename)
@@ -72,17 +73,17 @@ const localizedArticle = {
72
73
  summary: { en: "Summary", fr: "Résumé" },
73
74
  };
74
75
  describe("Partial edit", () => {
75
- it("leaves the fields absent from the body unchanged", async () => await leavesAbsentFieldsUnchanged());
76
- it("clears a field sent as null", async () => await clearsNullField());
77
- it("skips the setters of fields absent from the body", async () => await skipsSettersOfAbsentFields());
78
- it("runs the setters of fields present in the body", async () => await runsSettersOfPresentFields());
79
- it("still runs every setter on new", async () => await runsEverySetterOnNew());
80
- it("keeps the other languages of a written localized field", async () => await keepsOtherLanguagesOfWrittenField());
81
- it("keeps the localized fields absent from the body", async () => await keepsAbsentLocalizedFields());
82
- it("answers 404 for a missing row", async () => await answersNotFound());
83
- it("answers 400 for a body that is not JSON", async () => await answersBadRequestForInvalidJson());
84
- it("answers 400 for a body that is not a JSON object", async () => await answersBadRequestForNonObjectBody());
85
- it("answers 400 on new for a body that is not a JSON object", async () => await answersBadRequestForNonObjectBodyOnNew());
76
+ it("leaves the fields absent from the body unchanged", async () => await expectLeavesAbsentFieldsUnchanged());
77
+ it("clears a field sent as null", async () => await expectClearsNullField());
78
+ it("skips the setters of fields absent from the body", async () => await expectSkipsSettersOfAbsentFields());
79
+ it("runs the setters of fields present in the body", async () => await expectRunsSettersOfPresentFields());
80
+ it("still runs every setter on new", async () => await expectRunsEverySetterOnNew());
81
+ it("keeps the other languages of a written localized field", async () => await expectKeepsOtherLanguagesOfWrittenField());
82
+ it("keeps the localized fields absent from the body", async () => await expectKeepsAbsentLocalizedFields());
83
+ it("answers 404 for a missing row", async () => await expectAnswersNotFound());
84
+ it("answers 400 for a body that is not JSON", async () => await expectAnswersBadRequestForInvalidJson());
85
+ it("answers 400 for a body that is not a JSON object", async () => await expectAnswersBadRequestForNonObjectBody());
86
+ it("answers 400 on new for a body that is not a JSON object", async () => await expectAnswersBadRequestForNonObjectBodyOnNew());
86
87
  });
87
88
  async function _dropArticleTable() {
88
89
  const schema = interface_database_1.Schema.get(schemaName);
@@ -91,10 +92,10 @@ async function _dropArticleTable() {
91
92
  }
92
93
  }
93
94
  async function _createDataController(testName, article) {
94
- let _PartialEditTestAPI = class _PartialEditTestAPI extends (0, interface_data_api_1.DataController)(Article, {
95
- get: interface_data_api_1.DefaultRoutes.Get,
96
- new: interface_data_api_1.DefaultRoutes.New,
97
- edit: interface_data_api_1.DefaultRoutes.Edit,
95
+ let _PartialEditTestAPI = class _PartialEditTestAPI extends (0, index_1.DataController)(Article, {
96
+ get: index_1.DefaultRoutes.Get,
97
+ new: index_1.DefaultRoutes.New,
98
+ edit: index_1.DefaultRoutes.Edit,
98
99
  }, (0, interface_api_1.Controller)(`/${testName}`)) {
99
100
  set slug(value) {
100
101
  this.table.slug = value ?? defaultSlug;
@@ -136,7 +137,7 @@ async function _createDataController(testName, article) {
136
137
  __metadata("design:paramtypes", [Object])
137
138
  ], _PartialEditTestAPI.prototype, "slug", null);
138
139
  _PartialEditTestAPI = __decorate([
139
- (0, interface_data_api_1.RegisterDataController)()
140
+ (0, index_1.RegisterDataController)()
140
141
  ], _PartialEditTestAPI);
141
142
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
142
143
  await _dropArticleTable();
@@ -153,18 +154,18 @@ async function _createLocalizedArticle(testName) {
153
154
  locale: allLocales,
154
155
  });
155
156
  (0, chai_1.expect)(response.status).to.equal(200);
156
- const { _id: id } = (await response.json());
157
+ const { _id: id } = await (0, http_1.readJson)(response);
157
158
  return id;
158
159
  }
159
160
  async function _getLocalized(testName, id, locale) {
160
161
  const response = await (0, utils_1.getRequest)(testName, { id, locale });
161
162
  (0, chai_1.expect)(response.status).to.equal(200);
162
- return (await response.json());
163
+ return await (0, http_1.readJson)(response);
163
164
  }
164
165
  async function _rawRequest(testName, uri, method, body, queryParams = {}) {
165
166
  return await fetch(`${constants_1.URL_BASE}/${testName}/${uri}?${new URLSearchParams(queryParams).toString()}`, { method, headers: { "Content-Type": "application/json" }, body });
166
167
  }
167
- async function leavesAbsentFieldsUnchanged() {
168
+ async function expectLeavesAbsentFieldsUnchanged() {
168
169
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
169
170
  if (!id)
170
171
  throw new Error("Expected id from _createDataController");
@@ -178,7 +179,7 @@ async function leavesAbsentFieldsUnchanged() {
178
179
  slug: storedArticle.slug,
179
180
  });
180
181
  }
181
- async function clearsNullField() {
182
+ async function expectClearsNullField() {
182
183
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
183
184
  if (!id)
184
185
  throw new Error("Expected id from _createDataController");
@@ -188,7 +189,7 @@ async function clearsNullField() {
188
189
  (0, chai_1.expect)(article?.notes).to.equal(null);
189
190
  (0, chai_1.expect)(article?.reference).to.equal(storedArticle.reference);
190
191
  }
191
- async function skipsSettersOfAbsentFields() {
192
+ async function expectSkipsSettersOfAbsentFields() {
192
193
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
193
194
  if (!id)
194
195
  throw new Error("Expected id from _createDataController");
@@ -197,7 +198,7 @@ async function skipsSettersOfAbsentFields() {
197
198
  const article = await articleModel.get(id);
198
199
  (0, chai_1.expect)(article?.slug).to.equal(storedArticle.slug);
199
200
  }
200
- async function runsSettersOfPresentFields() {
201
+ async function expectRunsSettersOfPresentFields() {
201
202
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
202
203
  if (!id)
203
204
  throw new Error("Expected id from _createDataController");
@@ -206,17 +207,17 @@ async function runsSettersOfPresentFields() {
206
207
  const article = await articleModel.get(id);
207
208
  (0, chai_1.expect)(article?.slug).to.equal("edited-slug");
208
209
  }
209
- async function runsEverySetterOnNew() {
210
+ async function expectRunsEverySetterOnNew() {
210
211
  const { articleModel } = await _createDataController((0, utils_1.getFunctionName)());
211
212
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
212
213
  reference: "ART-003",
213
214
  });
214
215
  (0, chai_1.expect)(response.status).to.equal(200);
215
- const { _id: id } = (await response.json());
216
+ const { _id: id } = await (0, http_1.readJson)(response);
216
217
  const article = await articleModel.get(id);
217
218
  (0, chai_1.expect)(article?.slug).to.equal(defaultSlug);
218
219
  }
219
- async function keepsOtherLanguagesOfWrittenField() {
220
+ async function expectKeepsOtherLanguagesOfWrittenField() {
220
221
  const id = await _createLocalizedArticle((0, utils_1.getFunctionName)());
221
222
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { title: "Nouveau titre" }, { id, locale: "fr" });
222
223
  (0, chai_1.expect)(response.status).to.equal(200);
@@ -229,7 +230,7 @@ async function keepsOtherLanguagesOfWrittenField() {
229
230
  summary: localizedArticle.summary.en,
230
231
  });
231
232
  }
232
- async function keepsAbsentLocalizedFields() {
233
+ async function expectKeepsAbsentLocalizedFields() {
233
234
  const id = await _createLocalizedArticle((0, utils_1.getFunctionName)());
234
235
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { reference: "ART-002-B" }, { id, locale: allLocales });
235
236
  (0, chai_1.expect)(response.status).to.equal(200);
@@ -242,12 +243,12 @@ async function keepsAbsentLocalizedFields() {
242
243
  summary: localizedArticle.summary.en,
243
244
  });
244
245
  }
245
- async function answersNotFound() {
246
+ async function expectAnswersNotFound() {
246
247
  await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
247
248
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { author: "Bob" }, { id: missingRowId });
248
249
  (0, chai_1.expect)(response.status).to.equal(404);
249
250
  }
250
- async function answersBadRequestForInvalidJson() {
251
+ async function expectAnswersBadRequestForInvalidJson() {
251
252
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
252
253
  if (!id)
253
254
  throw new Error("Expected id from _createDataController");
@@ -256,7 +257,7 @@ async function answersBadRequestForInvalidJson() {
256
257
  });
257
258
  (0, chai_1.expect)(response.status).to.equal(400);
258
259
  }
259
- async function answersBadRequestForNonObjectBody() {
260
+ async function expectAnswersBadRequestForNonObjectBody() {
260
261
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
261
262
  if (!id)
262
263
  throw new Error("Expected id from _createDataController");
@@ -267,7 +268,7 @@ async function answersBadRequestForNonObjectBody() {
267
268
  (0, chai_1.expect)(response.status).to.equal(400, `body ${body}`);
268
269
  }
269
270
  }
270
- async function answersBadRequestForNonObjectBodyOnNew() {
271
+ async function expectAnswersBadRequestForNonObjectBodyOnNew() {
271
272
  await _createDataController((0, utils_1.getFunctionName)());
272
273
  for (const body of ["{", "[]", "null"]) {
273
274
  const response = await _rawRequest((0, utils_1.getFunctionName)(), "new", "POST", body);
@@ -1 +1 @@
1
- {"version":3,"file":"partial_edit.test.js","sourceRoot":"","sources":["../../../src/tests/components/partial_edit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partial_edit.test.js","sourceRoot":"","sources":["../../../src/tests/components/partial_edit.test.ts"],"names":[],"mappings":"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"}