@based/schema 3.0.0 → 3.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.
@@ -21,7 +21,10 @@ const convertNewToOldMeta = (props) => {
21
21
  if (i[0] !== '$') {
22
22
  const v = props[i];
23
23
  meta ??= {};
24
- if (i === 'display' && v === 'bytes') {
24
+ if (i === 'allowedTypes') {
25
+ meta.refTypes = v;
26
+ }
27
+ else if (i === 'display' && v === 'bytes') {
25
28
  meta.format = v;
26
29
  }
27
30
  else if (i === 'title') {
@@ -38,7 +41,10 @@ const convertOldToNewMeta = (props) => {
38
41
  const meta = {};
39
42
  for (const i in props) {
40
43
  const v = props[i];
41
- if (i === 'format' && v === 'bytes') {
44
+ if (i === 'refTypes') {
45
+ meta.allowedTypes = v;
46
+ }
47
+ else if (i === 'format' && v === 'bytes') {
42
48
  meta.display = 'bytes';
43
49
  }
44
50
  else if (i === 'name') {
@@ -29,6 +29,27 @@ const addStandardMetaToOld = (obj) => {
29
29
  }
30
30
  }
31
31
  };
32
+ test('refTypes', async (t) => {
33
+ const newSchema = convertOldToNew({
34
+ types: {
35
+ youzi: {
36
+ fields: {
37
+ image: {
38
+ type: 'reference',
39
+ meta: {
40
+ refTypes: ['youzi'],
41
+ },
42
+ },
43
+ },
44
+ },
45
+ },
46
+ });
47
+ // @ts-ignore
48
+ t.is(newSchema.types.youzi.fields.image.allowedTypes[0], 'youzi');
49
+ const oldSchema = convertNewToOld(newSchema);
50
+ // @ts-ignore
51
+ t.is(oldSchema.types.youzi.fields.image.meta.refTypes[0], 'youzi');
52
+ });
32
53
  test('old schema compat mode', async (t) => {
33
54
  for (let i = 0; i < oldSchemas.length - 1; i++) {
34
55
  const oldSchema = oldSchemas[i];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "license": "MIT",
5
5
  "main": "dist/src/index.js",
6
6
  "files": [