@helios-lang/contract-utils 0.2.32 → 0.2.33

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/contract-utils",
3
- "version": "0.2.32",
3
+ "version": "0.2.33",
4
4
  "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
5
  "main": "src/index.js",
6
6
  "types": "types/index.d.ts",
package/src/cast/Cast.js CHANGED
@@ -189,6 +189,10 @@ function schemaToUplc(schema, x, defs = {}) {
189
189
  ])
190
190
  )
191
191
  }
192
+ case "tuple":
193
+ return new ListData(
194
+ x.map((x, i) => schemaToUplc(schema.itemTypes[i], x, defs))
195
+ )
192
196
  case "option":
193
197
  return encodeOptionData(
194
198
  x ? schemaToUplc(schema.someType, x, defs) : None
@@ -342,6 +346,10 @@ function uplcToSchema(schema, data, config, defs = {}) {
342
346
  uplcToSchema(schema.valueType, v, config, defs)
343
347
  ])
344
348
  )
349
+ case "tuple":
350
+ return ListData.expect(data).items.map((x, i) =>
351
+ uplcToSchema(schema.itemTypes[i], x, config, defs)
352
+ )
345
353
  case "option": {
346
354
  const optionData = decodeOptionData(data)
347
355
  return optionData
@@ -106,6 +106,14 @@ export function genTypes(schema) {
106
106
 
107
107
  return [`Map<${ck}, ${cv}>`, `Map<${pk}, ${pv}> | [${pk}, ${pv}][]`]
108
108
  }
109
+ case "tuple": {
110
+ const itemTypes = schema.itemTypes.map((it) => genTypes(it))
111
+
112
+ return [
113
+ `[${itemTypes.map((it) => it[0]).join(", ")}]`,
114
+ `[${itemTypes.map((it) => it[1]).join(", ")}]`
115
+ ]
116
+ }
109
117
  case "option": {
110
118
  const [c, p] = genTypes(schema.someType)
111
119
  return [`(${c}) | null`, `(${p}) | null | undefined`]
@@ -1 +1 @@
1
- {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AAgdA;;;;;;GAMG;AACH,kGAHW,UAAU,8BASpB;AA3bD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH;IAaI;;;OAGG;IACH,oBAHW,UAAU,UACV,UAAU,EAKpB;IAnBD;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAEN;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAWN;;;OAGG;IACH,mBAHW,QAAQ,GACN,OAAO,CAInB;IAED;;;OAGG;IACH,cAHW,WAAW,GACT,QAAQ,CAIpB;CACJ;uBAhEY,OAAO,mBAAmB,EAAE,QAAQ;yBACpC,OAAO,qBAAqB,EAAE,UAAU;yBAIxC;IACZ,SAAa,EAAE,OAAO,CAAA;CACnB;8DAMkB,UAAU,KAAK,KAAK,OAAO,EAAE,WAAW,CAAC;;;;6CAOlD,KAAK,OAAO,EAAE,WAAW,CAAC,GAAG,iBAAiB,OAAO,EAAE,WAAW,CAAC"}
1
+ {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AAwdA;;;;;;GAMG;AACH,kGAHW,UAAU,8BASpB;AAncD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH;IAaI;;;OAGG;IACH,oBAHW,UAAU,UACV,UAAU,EAKpB;IAnBD;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAEN;;;OAGG;IACH,iBAFU,UAAU,CAEd;IAWN;;;OAGG;IACH,mBAHW,QAAQ,GACN,OAAO,CAInB;IAED;;;OAGG;IACH,cAHW,WAAW,GACT,QAAQ,CAIpB;CACJ;uBAhEY,OAAO,mBAAmB,EAAE,QAAQ;yBACpC,OAAO,qBAAqB,EAAE,UAAU;yBAIxC;IACZ,SAAa,EAAE,OAAO,CAAA;CACnB;8DAMkB,UAAU,KAAK,KAAK,OAAO,EAAE,WAAW,CAAC;;;;6CAOlD,KAAK,OAAO,EAAE,WAAW,CAAC,GAAG,iBAAiB,OAAO,EAAE,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSchema.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeSchema.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,iCAHW,UAAU,GACR,CAAC,MAAM,EAAE,MAAM,CAAC,CAoJ5B;yBA1JY,OAAO,yBAAyB,EAAE,UAAU"}
1
+ {"version":3,"file":"TypeSchema.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeSchema.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,iCAHW,UAAU,GACR,CAAC,MAAM,EAAE,MAAM,CAAC,CA4J5B;yBAlKY,OAAO,yBAAyB,EAAE,UAAU"}