@based/schema 0.0.16 → 1.0.2

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 (105) hide show
  1. package/dist/error.d.ts +18 -0
  2. package/dist/error.js +31 -0
  3. package/dist/error.js.map +1 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/set/collections.js +14 -32
  8. package/dist/set/collections.js.map +1 -1
  9. package/dist/set/error.d.ts +1 -2
  10. package/dist/set/error.js +3 -8
  11. package/dist/set/error.js.map +1 -1
  12. package/dist/set/fields/array.d.ts +2 -0
  13. package/dist/set/fields/array.js +96 -0
  14. package/dist/set/fields/array.js.map +1 -0
  15. package/dist/set/fields/index.d.ts +3 -0
  16. package/dist/set/fields/index.js +72 -0
  17. package/dist/set/fields/index.js.map +1 -0
  18. package/dist/set/fields/number.d.ts +4 -0
  19. package/dist/set/fields/number.js +121 -0
  20. package/dist/set/fields/number.js.map +1 -0
  21. package/dist/set/fields/object.d.ts +3 -0
  22. package/dist/set/fields/object.js +33 -0
  23. package/dist/set/fields/object.js.map +1 -0
  24. package/dist/set/fields/references.d.ts +3 -0
  25. package/dist/set/fields/references.js +106 -0
  26. package/dist/set/fields/references.js.map +1 -0
  27. package/dist/set/fields/set.d.ts +2 -0
  28. package/dist/set/fields/set.js +63 -0
  29. package/dist/set/fields/set.js.map +1 -0
  30. package/dist/set/fields/string.d.ts +3 -0
  31. package/dist/set/fields/string.js +190 -0
  32. package/dist/set/fields/string.js.map +1 -0
  33. package/dist/set/index.d.ts +2 -5
  34. package/dist/set/index.js +101 -126
  35. package/dist/set/index.js.map +1 -1
  36. package/dist/set/isValidId.d.ts +2 -0
  37. package/dist/set/isValidId.js +21 -0
  38. package/dist/set/isValidId.js.map +1 -0
  39. package/dist/set/number.js +23 -36
  40. package/dist/set/number.js.map +1 -1
  41. package/dist/set/parseDefaultAndValue.js +1 -3
  42. package/dist/set/parseDefaultAndValue.js.map +1 -1
  43. package/dist/set/references.js +5 -12
  44. package/dist/set/references.js.map +1 -1
  45. package/dist/set/rest.js +4 -4
  46. package/dist/set/rest.js.map +1 -1
  47. package/dist/set/string.js +35 -35
  48. package/dist/set/string.js.map +1 -1
  49. package/dist/set/types.d.ts +0 -5
  50. package/dist/set/types.js +0 -2
  51. package/dist/types.d.ts +7 -1
  52. package/dist/types.js.map +1 -1
  53. package/dist/walker/args.d.ts +31 -0
  54. package/dist/walker/args.js +120 -0
  55. package/dist/walker/args.js.map +1 -0
  56. package/dist/walker/index.d.ts +6 -0
  57. package/dist/walker/index.js +40 -0
  58. package/dist/walker/index.js.map +1 -0
  59. package/dist/walker/parse.d.ts +2 -0
  60. package/dist/walker/parse.js +157 -0
  61. package/dist/walker/parse.js.map +1 -0
  62. package/dist/walker/types.d.ts +44 -0
  63. package/dist/walker/types.js +9 -0
  64. package/dist/walker/types.js.map +1 -0
  65. package/package.json +2 -2
  66. package/src/{set/error.ts → error.ts} +3 -1
  67. package/src/index.ts +2 -2
  68. package/src/set/fields/array.ts +111 -0
  69. package/src/set/fields/index.ts +69 -0
  70. package/src/set/fields/number.ts +134 -0
  71. package/src/set/fields/object.ts +30 -0
  72. package/src/set/fields/references.ts +114 -0
  73. package/src/set/fields/set.ts +63 -0
  74. package/src/set/fields/string.ts +199 -0
  75. package/src/set/index.ts +105 -187
  76. package/src/set/isValidId.ts +23 -0
  77. package/src/set/types.ts +0 -20
  78. package/src/types.ts +4 -2
  79. package/src/walker/args.ts +159 -0
  80. package/src/walker/index.ts +35 -0
  81. package/src/walker/parse.ts +193 -0
  82. package/src/walker/types.ts +75 -0
  83. package/test/number.ts +289 -543
  84. package/test/reference.ts +150 -198
  85. package/test/rest.ts +227 -0
  86. package/test/string.ts +139 -183
  87. package/test/utils/index.ts +23 -0
  88. package/test/walker.ts +558 -3
  89. package/dist/set2/index.d.ts +0 -0
  90. package/dist/set2/index.js +0 -71
  91. package/dist/set2/index.js.map +0 -1
  92. package/dist/walker.d.ts +0 -51
  93. package/dist/walker.js +0 -120
  94. package/dist/walker.js.map +0 -1
  95. package/src/set/collections.ts +0 -338
  96. package/src/set/number.ts +0 -167
  97. package/src/set/parseDefaultAndValue.ts +0 -54
  98. package/src/set/parsers.ts +0 -20
  99. package/src/set/references.ts +0 -113
  100. package/src/set/rest.ts +0 -135
  101. package/src/set/string.ts +0 -254
  102. package/src/set2/index.ts +0 -71
  103. package/src/walker.ts +0 -201
  104. package/test/setWalker.ts +0 -494
  105. package/test/text.ts +0 -171
package/test/text.ts DELETED
@@ -1,171 +0,0 @@
1
- import test from 'ava'
2
- import { BasedSchema, setWalker, BasedSetOptionalHandlers } from '../src/index'
3
-
4
- const schema: BasedSchema = {
5
- types: {
6
- bla: {
7
- prefix: 'bl',
8
- fields: {
9
- name: {
10
- minLength: 3,
11
- maxLength: 6,
12
- type: 'text',
13
- },
14
- },
15
- },
16
- },
17
- $defs: {},
18
- languages: ['en', 'de'],
19
- root: {
20
- fields: {},
21
- },
22
- prefixToTypeMapping: {
23
- bl: 'bla',
24
- },
25
- }
26
-
27
- const createHandlers = (): {
28
- results: { path: (number | string)[]; value: any }[]
29
- handlers: BasedSetOptionalHandlers
30
- } => {
31
- const results: { path: (number | string)[]; value: any }[] = []
32
- const handlers = {
33
- collect: ({ path, value, typeSchema, fieldSchema, target }) => {
34
- console.log('collect', path)
35
- results.push({ path, value })
36
- },
37
- checkRequiredFields: async (paths) => {
38
- return true
39
- },
40
- referenceFilterCondition: async (id, filter) => {
41
- return true
42
- },
43
- }
44
- return { results, handlers }
45
- }
46
-
47
- test('text max length', async (t) => {
48
- const { handlers, results } = createHandlers()
49
- await t.throwsAsync(
50
- setWalker(
51
- schema,
52
- {
53
- $id: 'bl1',
54
- name: {
55
- de: 'ax',
56
- nl: 'axa',
57
- },
58
- },
59
- handlers
60
- )
61
- )
62
- await t.throwsAsync(
63
- setWalker(
64
- schema,
65
- {
66
- $id: 'bl1',
67
- $language: 'de',
68
- name: 'axaxaxax',
69
- },
70
- handlers
71
- )
72
- )
73
- await setWalker(
74
- schema,
75
- {
76
- $id: 'bl1',
77
- $language: 'en',
78
- name: 'xaxx',
79
- },
80
- handlers
81
- )
82
- t.deepEqual(results, [{ path: ['name'], value: { en: 'xaxx' } }])
83
- })
84
-
85
- test('text wrong language', async (t) => {
86
- const { handlers, results } = createHandlers()
87
- await t.throwsAsync(
88
- setWalker(
89
- schema,
90
- {
91
- $id: 'bl1',
92
- name: {
93
- de: 'xaxx',
94
- nl: 'xaxx',
95
- es: 'flap',
96
- },
97
- },
98
- handlers
99
- )
100
- )
101
-
102
- await setWalker(
103
- schema,
104
- {
105
- $id: 'bl1',
106
- $language: 'de',
107
- name: 'blabla',
108
- },
109
- handlers
110
- )
111
-
112
- //TODO fix
113
- t.deepEqual(results, [
114
- { path: ['name', 'de'], value: 'blabla' },
115
- { path: ['name'], value: { de: 'blabla' } },
116
- ])
117
- })
118
-
119
- test('default', async (t) => {
120
- const { handlers, results } = createHandlers()
121
- await setWalker(
122
- schema,
123
- {
124
- $id: 'bl1',
125
- $language: 'de',
126
- name: { $default: 'xaxx' },
127
- },
128
- handlers
129
- )
130
- await setWalker(
131
- schema,
132
- {
133
- $id: 'bl1',
134
- $language: 'de',
135
- name: { de: { $default: 'xaxx' } },
136
- },
137
- handlers
138
- )
139
- t.deepEqual(results, [
140
- { path: ['name'], value: { de: { $default: 'xaxx' } } },
141
- { path: ['name'], value: { de: { $default: 'xaxx' } } },
142
- ])
143
- })
144
-
145
- test('value', async (t) => {
146
- const { handlers, results } = createHandlers()
147
- await t.throwsAsync(
148
- setWalker(
149
- schema,
150
- {
151
- $id: 'bl1',
152
- $language: 'de',
153
- name: { $value: 'xaxx' },
154
- },
155
- handlers
156
- )
157
- )
158
- t.deepEqual(results, [])
159
-
160
- await setWalker(
161
- schema,
162
- {
163
- $id: 'bl1',
164
- $language: 'de',
165
- name: { de: { $value: 'xaxx' } },
166
- },
167
- handlers
168
- )
169
- console.log('-------------->', results)
170
- t.deepEqual(results, [{ path: ['name', 'de'], value: { $value: 'xaxx' } }])
171
- })