@litert/typeguard 1.3.0 → 1.4.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 (61) hide show
  1. package/CHANGES.md +7 -1
  2. package/lib/BuiltInTypeCompiler.d.ts +1 -1
  3. package/lib/BuiltInTypeCompiler.js +4 -4
  4. package/lib/BuiltInTypeCompiler.js.map +1 -1
  5. package/lib/BuiltInTypes.d.ts +1 -1
  6. package/lib/BuiltInTypes.js +1 -1
  7. package/lib/Common.d.ts +6 -5
  8. package/lib/Common.d.ts.map +1 -1
  9. package/lib/Common.js +1 -1
  10. package/lib/Compiler.d.ts +1 -1
  11. package/lib/Compiler.d.ts.map +1 -1
  12. package/lib/Compiler.js +57 -35
  13. package/lib/Compiler.js.map +1 -1
  14. package/lib/Context.d.ts +2 -2
  15. package/lib/Context.d.ts.map +1 -1
  16. package/lib/Context.js +2 -2
  17. package/lib/Context.js.map +1 -1
  18. package/lib/FilterCompiler.d.ts +3 -3
  19. package/lib/FilterCompiler.d.ts.map +1 -1
  20. package/lib/FilterCompiler.js +4 -4
  21. package/lib/FilterCompiler.js.map +1 -1
  22. package/lib/InlineCompiler.d.ts +2 -2
  23. package/lib/InlineCompiler.d.ts.map +1 -1
  24. package/lib/InlineCompiler.js +5 -7
  25. package/lib/InlineCompiler.js.map +1 -1
  26. package/lib/Internal.d.ts +9 -4
  27. package/lib/Internal.d.ts.map +1 -1
  28. package/lib/Internal.js +45 -4
  29. package/lib/Internal.js.map +1 -1
  30. package/lib/Modifiers.d.ts +2 -1
  31. package/lib/Modifiers.d.ts.map +1 -1
  32. package/lib/Modifiers.js +3 -2
  33. package/lib/Modifiers.js.map +1 -1
  34. package/lib/index.d.ts +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/langs/JavaScript.d.ts +1 -1
  37. package/lib/langs/JavaScript.js +2 -2
  38. package/package.json +10 -12
  39. package/src/examples/quick-start.ts +5 -1
  40. package/src/lib/BuiltInTypeCompiler.ts +4 -4
  41. package/src/lib/BuiltInTypes.ts +1 -1
  42. package/src/lib/Common.ts +5 -4
  43. package/src/lib/Compiler.ts +66 -39
  44. package/src/lib/Context.ts +2 -2
  45. package/src/lib/FilterCompiler.ts +3 -3
  46. package/src/lib/InlineCompiler.ts +6 -9
  47. package/src/lib/Internal.ts +73 -4
  48. package/src/lib/Modifiers.ts +3 -1
  49. package/src/lib/index.ts +1 -1
  50. package/src/lib/langs/JavaScript.ts +2 -2
  51. package/src/test/00-all.ts +1 -1
  52. package/src/test/01-elemental-types.ts +580 -580
  53. package/src/test/02-array-and-list.ts +43 -43
  54. package/src/test/03-tuple.ts +61 -61
  55. package/src/test/04-from-string.ts +501 -501
  56. package/src/test/05-string-asserts.ts +203 -203
  57. package/src/test/06-structure.ts +71 -71
  58. package/src/test/07-modifiers.ts +297 -48
  59. package/src/test/08-map-and-dict.ts +11 -11
  60. package/src/test/09-exceptions.ts +11 -11
  61. package/src/test/abstracts.ts +57 -29
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { createTestDefinition, defaultItemss, ITestSuite } from './abstracts';
17
+ import { createTestDefinition, defaultItems, ITestSuite } from './abstracts';
18
18
 
19
19
  const testItems: ITestSuite = {
20
20
 
@@ -26,21 +26,21 @@ const testItems: ITestSuite = {
26
26
  'rule': {},
27
27
  'items': [
28
28
  {
29
- inputName: 'Empty object',
30
- inputValue: {},
29
+ title: 'Empty object',
30
+ value: {},
31
31
  expect: true
32
32
  },
33
33
  {
34
- inputName: 'Object with one property',
35
- inputValue: { 'a': 123 },
34
+ title: 'Object with one property',
35
+ value: { 'a': 123 },
36
36
  expect: true
37
37
  },
38
38
  {
39
- inputName: '[int, string]',
40
- inputValue: [123, 'fff'],
39
+ title: '[int, string]',
40
+ value: [123, 'fff'],
41
41
  expect: false
42
42
  },
43
- ...defaultItemss({
43
+ ...defaultItems({
44
44
  'object': true
45
45
  })
46
46
  ]
@@ -50,21 +50,21 @@ const testItems: ITestSuite = {
50
50
  'rule': { 'a': 'uint32' },
51
51
  'items': [
52
52
  {
53
- inputName: 'Empty object',
54
- inputValue: {},
53
+ title: 'Empty object',
54
+ value: {},
55
55
  expect: false
56
56
  },
57
57
  {
58
- inputName: 'Object with one property',
59
- inputValue: { 'a': 123 },
58
+ title: 'Object with one property',
59
+ value: { 'a': 123 },
60
60
  expect: true
61
61
  },
62
62
  {
63
- inputName: '[int, string]',
64
- inputValue: [123, 'fff'],
63
+ title: '[int, string]',
64
+ value: [123, 'fff'],
65
65
  expect: false
66
66
  },
67
- ...defaultItemss({
67
+ ...defaultItems({
68
68
  'object': false
69
69
  })
70
70
  ]
@@ -74,26 +74,26 @@ const testItems: ITestSuite = {
74
74
  'rule': { 'a?': 'uint32' },
75
75
  'items': [
76
76
  {
77
- inputName: 'Empty object',
78
- inputValue: {},
77
+ title: 'Empty object',
78
+ value: {},
79
79
  expect: true
80
80
  },
81
81
  {
82
- inputName: 'Object with one property',
83
- inputValue: { 'a': 123 },
82
+ title: 'Object with one property',
83
+ value: { 'a': 123 },
84
84
  expect: true
85
85
  },
86
86
  {
87
- inputName: 'Object with one mismatch-type property',
88
- inputValue: { 'a': '123' },
87
+ title: 'Object with one mismatch-type property',
88
+ value: { 'a': '123' },
89
89
  expect: false
90
90
  },
91
91
  {
92
- inputName: '[int, string]',
93
- inputValue: [123, 'fff'],
92
+ title: '[int, string]',
93
+ value: [123, 'fff'],
94
94
  expect: false
95
95
  },
96
- ...defaultItemss({
96
+ ...defaultItems({
97
97
  'object': true
98
98
  })
99
99
  ]
@@ -103,28 +103,28 @@ const testItems: ITestSuite = {
103
103
  'rule': { 'a?': 'uint32', 'b': { 'c': 'string' } },
104
104
  'items': [
105
105
  {
106
- inputName: 'Empty object',
107
- inputValue: {},
106
+ title: 'Empty object',
107
+ value: {},
108
108
  expect: false
109
109
  },
110
110
  {
111
- inputName: 'Object with one property',
112
- inputValue: { 'a': 123 },
111
+ title: 'Object with one property',
112
+ value: { 'a': 123 },
113
113
  expect: false
114
114
  },
115
115
  {
116
- inputName: 'Object with mismatch-typed nest property',
117
- inputValue: { 'a': 123, 'b': { 'c': 1232131 } },
116
+ title: 'Object with mismatch-typed nest property',
117
+ value: { 'a': 123, 'b': { 'c': 1232131 } },
118
118
  expect: false
119
119
  },
120
120
  {
121
- inputName: 'Object with one mismatch-typed property',
122
- inputValue: { 'a': '123', 'b': { 'c': 'ffff' } },
121
+ title: 'Object with one mismatch-typed property',
122
+ value: { 'a': '123', 'b': { 'c': 'ffff' } },
123
123
  expect: false
124
124
  },
125
125
  {
126
- inputName: 'Object with all corrected',
127
- inputValue: { 'a': 123, 'b': { 'c': 'ffff' } },
126
+ title: 'Object with all corrected',
127
+ value: { 'a': 123, 'b': { 'c': 'ffff' } },
128
128
  expect: true
129
129
  }
130
130
  ]
@@ -136,23 +136,23 @@ const testItems: ITestSuite = {
136
136
  }],
137
137
  'items': [
138
138
  {
139
- inputName: 'Empty object',
140
- inputValue: {},
139
+ title: 'Empty object',
140
+ value: {},
141
141
  expect: false
142
142
  },
143
143
  {
144
- inputName: 'Object with one property',
145
- inputValue: { 'a': 123 },
144
+ title: 'Object with one property',
145
+ value: { 'a': 123 },
146
146
  expect: true
147
147
  },
148
148
  {
149
- inputName: 'Object with one mismatch-typed property',
150
- inputValue: { 'a': '123' },
149
+ title: 'Object with one mismatch-typed property',
150
+ value: { 'a': '123' },
151
151
  expect: false
152
152
  },
153
153
  {
154
- inputName: 'Object with 2 properties',
155
- inputValue: { 'a': 123, 'b': { 'c': 'ffff' } },
154
+ title: 'Object with 2 properties',
155
+ value: { 'a': 123, 'b': { 'c': 'ffff' } },
156
156
  expect: false
157
157
  }
158
158
  ]
@@ -167,23 +167,23 @@ const testItems: ITestSuite = {
167
167
  }],
168
168
  'items': [
169
169
  {
170
- inputName: 'Object with one property',
171
- inputValue: { 'a': 123 },
170
+ title: 'Object with one property',
171
+ value: { 'a': 123 },
172
172
  expect: false
173
173
  },
174
174
  {
175
- inputName: 'Object with wrong type in nest',
176
- inputValue: { 'a': 123, 'b': { 'c': 'ffff' } },
175
+ title: 'Object with wrong type in nest',
176
+ value: { 'a': 123, 'b': { 'c': 'ffff' } },
177
177
  expect: false
178
178
  },
179
179
  {
180
- inputName: 'Object with all correct',
181
- inputValue: { 'a': 123, 'b': { 'c': 123 } },
180
+ title: 'Object with all correct',
181
+ value: { 'a': 123, 'b': { 'c': 123 } },
182
182
  expect: true
183
183
  },
184
184
  {
185
- inputName: 'Object with one more in nested',
186
- inputValue: { 'a': 123, 'b': { 'c': 123, 'd': '1213131' } },
185
+ title: 'Object with one more in nested',
186
+ value: { 'a': 123, 'b': { 'c': 123, 'd': '1213131' } },
187
187
  expect: true
188
188
  }
189
189
  ]
@@ -198,23 +198,23 @@ const testItems: ITestSuite = {
198
198
  }],
199
199
  'items': [
200
200
  {
201
- inputName: 'Object with one property',
202
- inputValue: { 'a': 123 },
201
+ title: 'Object with one property',
202
+ value: { 'a': 123 },
203
203
  expect: false
204
204
  },
205
205
  {
206
- inputName: 'Object with wrong type in nest',
207
- inputValue: { 'a': 123, 'b': { 'c': 'ffff' } },
206
+ title: 'Object with wrong type in nest',
207
+ value: { 'a': 123, 'b': { 'c': 'ffff' } },
208
208
  expect: false
209
209
  },
210
210
  {
211
- inputName: 'Object with all correct',
212
- inputValue: { 'a': 123, 'b': { 'c': 123 } },
211
+ title: 'Object with all correct',
212
+ value: { 'a': 123, 'b': { 'c': 123 } },
213
213
  expect: true
214
214
  },
215
215
  {
216
- inputName: 'Object with one more in nested',
217
- inputValue: { 'a': 123, 'b': { 'c': 123, 'd': '1213131' } },
216
+ title: 'Object with one more in nested',
217
+ value: { 'a': 123, 'b': { 'c': 123, 'd': '1213131' } },
218
218
  expect: false
219
219
  }
220
220
  ]
@@ -229,18 +229,18 @@ const testItems: ITestSuite = {
229
229
  }],
230
230
  'items': [
231
231
  {
232
- inputName: 'Object with all correct',
233
- inputValue: { 'a': 123, 'b': { 'c': 123 } },
232
+ title: 'Object with all correct',
233
+ value: { 'a': 123, 'b': { 'c': 123 } },
234
234
  expect: true
235
235
  },
236
236
  {
237
- inputName: 'Object with string incorrect-value',
238
- inputValue: { 'a': 123, 'b': { 'c': '123d' } },
237
+ title: 'Object with string incorrect-value',
238
+ value: { 'a': 123, 'b': { 'c': '123d' } },
239
239
  expect: false
240
240
  },
241
241
  {
242
- inputName: 'Object with string value',
243
- inputValue: { 'a': '123312312', 'b': { 'c': '123' } },
242
+ title: 'Object with string value',
243
+ value: { 'a': '123312312', 'b': { 'c': '123' } },
244
244
  expect: true
245
245
  }
246
246
  ]
@@ -255,18 +255,18 @@ const testItems: ITestSuite = {
255
255
  }],
256
256
  'items': [
257
257
  {
258
- inputName: 'Object with all correct',
259
- inputValue: { 'a': 123, 'b': { 'c': 123 } },
258
+ title: 'Object with all correct',
259
+ value: { 'a': 123, 'b': { 'c': 123 } },
260
260
  expect: true
261
261
  },
262
262
  {
263
- inputName: 'Object with string incorrect-value',
264
- inputValue: { 'a': 123, 'b': { 'c': '123d' } },
263
+ title: 'Object with string incorrect-value',
264
+ value: { 'a': 123, 'b': { 'c': '123d' } },
265
265
  expect: false
266
266
  },
267
267
  {
268
- inputName: 'Object with string value',
269
- inputValue: { 'a': '123312312', 'b': { 'c': '123' } },
268
+ title: 'Object with string value',
269
+ value: { 'a': '123312312', 'b': { 'c': '123' } },
270
270
  expect: true
271
271
  }
272
272
  ]