@cardano-sdk/core 0.11.0-nightly.7 → 0.11.0-nightly.8

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.
@@ -7,18 +7,18 @@ export declare const ImageMediaType: (mediaType: string) => ImageMediaType;
7
7
  export declare type MediaType = OpaqueString<'MediaType'>;
8
8
  export declare const MediaType: (mediaType: string) => MediaType;
9
9
  export interface NftMetadataFile {
10
- name: string;
10
+ name?: string;
11
11
  mediaType: MediaType;
12
- src: Uri[];
12
+ src: Uri;
13
13
  otherProperties?: Map<string, Metadatum>;
14
14
  }
15
15
  export interface NftMetadata {
16
16
  name: string;
17
- image: Uri[];
17
+ image: Uri;
18
18
  version: string;
19
19
  mediaType?: ImageMediaType;
20
20
  files?: NftMetadataFile[];
21
- description?: string[];
21
+ description?: string;
22
22
  otherProperties?: Map<string, Metadatum>;
23
23
  }
24
24
  //# sourceMappingURL=NftMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NftMetadata.d.ts","sourceRoot":"","sources":["../../../../src/Asset/types/NftMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,oBAAY,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,eAAO,MAAM,GAAG,QAAS,MAAM,QAa9B,CAAC;AAEF,oBAAY,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC5D,eAAO,MAAM,cAAc,cAAe,MAAM,mBAK/C,CAAC;AAEF,oBAAY,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAClD,eAAO,MAAM,SAAS,cAAe,MAAM,cAK1C,CAAC;AAKF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,GAAG,EAAE,CAAC;IACX,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C;AAKD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"NftMetadata.d.ts","sourceRoot":"","sources":["../../../../src/Asset/types/NftMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,oBAAY,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,eAAO,MAAM,GAAG,QAAS,MAAM,QAa9B,CAAC;AAEF,oBAAY,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC5D,eAAO,MAAM,cAAc,cAAe,MAAM,mBAK/C,CAAC;AAEF,oBAAY,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAClD,eAAO,MAAM,SAAS,cAAe,MAAM,cAK1C,CAAC;AAKF,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C;AAKD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadatumToCip25.d.ts","sourceRoot":"","sources":["../../../../src/Asset/util/metadatumToCip25.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,WAAW,EAAwB,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAyHhC,eAAO,MAAM,gBAAgB,UACpB,KAAK,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,gBAC7B,QAAQ,YAAY,GAAG,SAAS,UACtC,MAAM,KACb,WAAW,GAAG,IAkChB,CAAC"}
1
+ {"version":3,"file":"metadatumToCip25.d.ts","sourceRoot":"","sources":["../../../../src/Asset/util/metadatumToCip25.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,WAAW,EAAwB,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwGhC,eAAO,MAAM,gBAAgB,UACpB,KAAK,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,gBAC7B,QAAQ,YAAY,GAAG,SAAS,UACtC,MAAM,KACb,WAAW,GAAG,IAkChB,CAAC"}
@@ -12,21 +12,15 @@ const asString = (obj) => {
12
12
  return obj;
13
13
  }
14
14
  };
15
- const asStringArray = (metadatum) => {
15
+ const metadatumToString = (metadatum) => {
16
16
  if (Array.isArray(metadatum)) {
17
17
  const result = metadatum.map(asString);
18
18
  if (result.some((str) => typeof str === 'undefined')) {
19
19
  return undefined;
20
20
  }
21
- if (result[0]?.startsWith('data:')) {
22
- return [result.join('')];
23
- }
24
- return result;
25
- }
26
- const str = asString(metadatum);
27
- if (str) {
28
- return [str];
21
+ return result.join('');
29
22
  }
23
+ return asString(metadatum);
30
24
  };
31
25
  const mapOtherProperties = (metadata, primaryProperties) => {
32
26
  const extraProperties = difference([...metadata.keys()].filter(isString), primaryProperties);
@@ -37,33 +31,27 @@ const mapOtherProperties = (metadata, primaryProperties) => {
37
31
  return result;
38
32
  }, new Map());
39
33
  };
40
- const toArray = (value) => (Array.isArray(value) ? value : [value]);
41
- const missingFileFieldLogMessage = (fieldType, assetId) => `Omitting cip25 metadata file: missing "${fieldType}". AssetId: ${assetId}`;
34
+ const missingFieldLogMessage = (fieldType, assetId, rootLevel) => `Omitting cip25 ${rootLevel ? 'root' : 'file'} metadata: missing "${fieldType}". AssetId: ${assetId}`;
42
35
  const mapFile = (metadatum, assetId, logger) => {
43
36
  const file = asMetadatumMap(metadatum);
44
37
  if (!file)
45
38
  throw new InvalidFileError();
39
+ const name = asString(file.get('name'));
46
40
  const mediaType = asString(file.get('mediaType'));
47
41
  if (!mediaType) {
48
- logger.warn(missingFileFieldLogMessage('mediaType', assetId));
42
+ logger.warn(missingFieldLogMessage('mediaType', assetId, false));
49
43
  return null;
50
44
  }
51
- const name = asString(file.get('name'));
52
- if (!name) {
53
- logger.warn(missingFileFieldLogMessage('name', assetId));
54
- return null;
55
- }
56
- const unknownTypeSrc = file.get('src');
57
- const src = asStringArray(unknownTypeSrc)?.map((fileSrc) => Uri(fileSrc));
45
+ const src = metadatumToString(file.get('src'));
58
46
  if (!src) {
59
- logger.warn(missingFileFieldLogMessage('source', assetId));
47
+ logger.warn(missingFieldLogMessage('source', assetId, false));
60
48
  return null;
61
49
  }
62
50
  return {
63
51
  mediaType: MediaType(mediaType),
64
52
  name,
65
53
  otherProperties: mapOtherProperties(file, ['mediaType', 'name', 'src']),
66
- src: toArray(src)
54
+ src: Uri(src)
67
55
  };
68
56
  };
69
57
  const getPolicyMetadata = (policy, policyId) => asMetadatumMap(policy.get(policyId) ||
@@ -95,19 +83,19 @@ export const metadatumToCip25 = (asset, metadatumMap, logger) => {
95
83
  if (!assetMetadata)
96
84
  return null;
97
85
  const name = asString(assetMetadata.get('name'));
98
- const image = asStringArray(assetMetadata.get('image'));
86
+ const image = metadatumToString(assetMetadata.get('image'));
87
+ const assetId = assetIdFromPolicyAndName(asset.policyId, asset.name);
99
88
  if (!name || !image) {
100
- logger.warn('Invalid CIP-25 metadata', assetMetadata);
89
+ logger.warn(missingFieldLogMessage(!name ? 'name' : 'image', assetId, true));
101
90
  return null;
102
91
  }
103
92
  const mediaType = asString(assetMetadata.get('mediaType'));
104
93
  const files = asMetadatumArray(assetMetadata.get('files'));
105
- const assetId = assetIdFromPolicyAndName(asset.policyId, asset.name);
106
94
  try {
107
95
  return {
108
- description: asStringArray(assetMetadata.get('description')),
96
+ description: metadatumToString(assetMetadata.get('description')),
109
97
  files: files?.map((file) => mapFile(file, assetId, logger)).filter(isNotNil),
110
- image: image.map((img) => Uri(img)),
98
+ image: Uri(image),
111
99
  mediaType: mediaType ? ImageMediaType(mediaType) : undefined,
112
100
  name,
113
101
  otherProperties: mapOtherProperties(assetMetadata, ['name', 'image', 'mediaType', 'description', 'files']),
@@ -1 +1 @@
1
- {"version":3,"file":"metadatumToCip25.js","sourceRoot":"","sources":["../../../../src/Asset/util/metadatumToCip25.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadatumToCip25.js","sourceRoot":"","sources":["../../../../src/Asset/util/metadatumToCip25.ts"],"names":[],"mappings":"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"}