@openaddresses/batch-schema 9.4.0 → 10.0.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.
Files changed (56) hide show
  1. package/.eslintrc.json +5 -47
  2. package/.github/workflows/release.yml +5 -2
  3. package/CHANGELOG.md +8 -0
  4. package/LICENSE +1 -1
  5. package/README.md +21 -17
  6. package/dist/index.js +3 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/lib/api.js +46 -0
  9. package/dist/lib/api.js.map +1 -0
  10. package/{lib → dist/lib}/openapi.js +35 -29
  11. package/dist/lib/openapi.js.map +1 -0
  12. package/dist/lib/schema.js +237 -0
  13. package/dist/lib/schema.js.map +1 -0
  14. package/dist/lib/types.js +2 -0
  15. package/dist/lib/types.js.map +1 -0
  16. package/dist/test/schema.srv.test.js +98 -0
  17. package/dist/test/schema.srv.test.js.map +1 -0
  18. package/docs/assets/style.css +1354 -87
  19. package/docs/index.html +74 -792
  20. package/{routes/schema.js → lib/api.ts} +11 -4
  21. package/lib/openapi.ts +122 -0
  22. package/lib/schema.ts +293 -0
  23. package/lib/types.ts +32 -0
  24. package/package.json +16 -11
  25. package/test/{schema.srv.test.js → schema.srv.test.ts} +9 -20
  26. package/tsconfig.json +27 -0
  27. package/docs/assets/anchor.js +0 -350
  28. package/docs/assets/bass-addons.css +0 -12
  29. package/docs/assets/bass.css +0 -544
  30. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  31. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  32. package/docs/assets/fonts/LICENSE.txt +0 -93
  33. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  34. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  35. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  36. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  37. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  38. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  39. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  40. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  41. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  42. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  43. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  44. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  45. package/docs/assets/fonts/source-code-pro.css +0 -23
  46. package/docs/assets/github.css +0 -123
  47. package/docs/assets/site.js +0 -168
  48. package/docs/assets/split.css +0 -15
  49. package/docs/assets/split.js +0 -782
  50. package/lib/middleware.js +0 -159
  51. package/lib/param.js +0 -29
  52. package/lib/schema.js +0 -254
  53. package/schema/req.query.ListSchema.json +0 -25
  54. package/schema/res.ListSchema.json +0 -47
  55. package/test/schema.test.js +0 -33
  56. /package/{index.js → index.ts} +0 -0
@@ -0,0 +1,98 @@
1
+ import test from 'tape';
2
+ import express from 'express';
3
+ import Schema from '../index.js';
4
+ const app = express();
5
+ const schema = new Schema(express.Router());
6
+ app.use('/api', schema.router);
7
+ let server;
8
+ test('start', (t) => {
9
+ server = app.listen(2000, async () => {
10
+ await schema.api();
11
+ t.end();
12
+ });
13
+ });
14
+ test('GET: api/schema', async (t) => {
15
+ try {
16
+ const res = await fetch('http://localhost:2000/api/schema');
17
+ const body = await res.json();
18
+ t.deepEquals(body, {
19
+ 'GET /schema': {
20
+ body: false,
21
+ query: true,
22
+ res: true
23
+ },
24
+ 'GET /openapi': {
25
+ body: false,
26
+ query: false,
27
+ res: true
28
+ }
29
+ });
30
+ }
31
+ catch (err) {
32
+ t.error(err, 'no error');
33
+ }
34
+ t.end();
35
+ });
36
+ test('GET: api/schema?method=FAKE', async (t) => {
37
+ try {
38
+ const res = await fetch('http://localhost:2000/api/schema?method=fake');
39
+ t.notOk(res.ok);
40
+ t.deepEquals(await res.json(), {
41
+ status: 400,
42
+ message: 'Validation Error',
43
+ messages: [
44
+ { "type": "Query", "errors": [{ "type": 62, "schema": { "anyOf": [{ "const": "GET", "type": "string" }, { "const": "PUT", "type": "string" }, { "const": "POST", "type": "string" }, { "const": "DELETE", "type": "string" }, { "const": "OPTIONS", "type": "string" }, { "const": "HEAD", "type": "string" }, { "const": "PATCH", "type": "string" }, { "const": "TRACE", "type": "string" }] }, "path": "/method", "value": "fake", "message": "Expected union value" }] }
45
+ ]
46
+ });
47
+ }
48
+ catch (err) {
49
+ t.error(err);
50
+ }
51
+ t.end();
52
+ });
53
+ test('GET: api/schema?method=GET', async (t) => {
54
+ try {
55
+ const res = await fetch('http://localhost:2000/api/schema?method=GET');
56
+ t.notOk(res.ok);
57
+ t.deepEquals(await res.json(), {
58
+ status: 400,
59
+ message: 'url & method params must be used together',
60
+ messages: []
61
+ });
62
+ }
63
+ catch (err) {
64
+ t.error(err);
65
+ }
66
+ t.end();
67
+ });
68
+ test('GET: api/schema?url=123', async (t) => {
69
+ try {
70
+ const res = await fetch('http://localhost:2000/api/schema?url=123');
71
+ t.notOk(res.ok);
72
+ t.deepEquals(await res.json(), {
73
+ status: 400,
74
+ message: 'url & method params must be used together',
75
+ messages: []
76
+ });
77
+ }
78
+ catch (err) {
79
+ t.error(err);
80
+ }
81
+ t.end();
82
+ });
83
+ test('GET: api/schema?method=GET&url=/schema', async (t) => {
84
+ try {
85
+ const res = await fetch('http://localhost:2000/api/schema?method=GET&url=/schema');
86
+ t.equals(res.status, 200, 'http: 200');
87
+ t.deepEquals(Object.keys(await res.json()).sort(), ['query', 'res'].sort());
88
+ }
89
+ catch (err) {
90
+ t.error(err, 'no error');
91
+ }
92
+ t.end();
93
+ });
94
+ test('End', async (t) => {
95
+ await server.close();
96
+ t.end();
97
+ });
98
+ //# sourceMappingURL=schema.srv.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.srv.test.js","sourceRoot":"","sources":["../../test/schema.srv.test.ts"],"names":[],"mappings":"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"}