@helios-lang/contract-utils 0.2.54 → 0.2.56

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,45 +1,44 @@
1
1
  {
2
- "name": "@helios-lang/contract-utils",
3
- "version": "0.2.54",
4
- "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
- "main": "src/index.js",
6
- "types": "types/index.d.ts",
7
- "type": "module",
8
- "bin": {
9
- "hl2ts": "src/hl2ts.js"
10
- },
11
- "scripts": {
12
- "build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
13
- "build:types": "tsc -p jsconfig.json --noEmit false --emitDeclarationOnly",
14
- "prepack": "pnpm run build",
15
- "prettify": "prettier . --write",
16
- "test": "pnpm run test:pretty && pnpm run test:types && pnpm run test:suite",
17
- "test:pretty": "prettier . --check",
18
- "test:suite": "node --test",
19
- "test:types": "pnpm run build:types"
20
- },
21
- "author": "Christian Schmitz",
22
- "license": "BSD-3-Clause",
23
- "devDependencies": {
24
- "@types/node": "^20.11.24",
25
- "prettier": "^3.1.0",
26
- "typescript": "^5.3.2"
27
- },
28
- "prettier": {
29
- "trailingComma": "none",
30
- "tabWidth": 4,
31
- "semi": false,
32
- "singleQuote": false
33
- },
34
- "peerDependencies": {
35
- "@helios-lang/compiler": "*"
36
- },
37
- "dependencies": {
38
- "@helios-lang/cli-utils": "^0.1.6",
39
- "@helios-lang/codec-utils": "^0.1.34",
40
- "@helios-lang/compiler-utils": "^0.1.25",
41
- "@helios-lang/ledger": "^0.4.10",
42
- "@helios-lang/type-utils": "^0.1.21",
43
- "@helios-lang/uplc": "^0.3.5"
44
- }
45
- }
2
+ "name": "@helios-lang/contract-utils",
3
+ "version": "0.2.56",
4
+ "description": "Convenience and type-safety utilities for using Helios validators from within Typescript",
5
+ "main": "src/index.js",
6
+ "types": "types/index.d.ts",
7
+ "type": "module",
8
+ "bin": {
9
+ "hl2ts": "src/hl2ts.js"
10
+ },
11
+ "author": "Christian Schmitz",
12
+ "license": "BSD-3-Clause",
13
+ "devDependencies": {
14
+ "@types/node": "^20.11.24",
15
+ "prettier": "^3.1.0",
16
+ "typescript": "^5.3.2"
17
+ },
18
+ "prettier": {
19
+ "trailingComma": "none",
20
+ "tabWidth": 4,
21
+ "semi": false,
22
+ "singleQuote": false
23
+ },
24
+ "peerDependencies": {
25
+ "@helios-lang/compiler": "*"
26
+ },
27
+ "dependencies": {
28
+ "@helios-lang/cli-utils": "^0.1.6",
29
+ "@helios-lang/codec-utils": "^0.1.34",
30
+ "@helios-lang/compiler-utils": "^0.1.25",
31
+ "@helios-lang/ledger": "^0.4.10",
32
+ "@helios-lang/type-utils": "^0.1.21",
33
+ "@helios-lang/uplc": "^0.3.5"
34
+ },
35
+ "scripts": {
36
+ "build": "pnpm run prettify && pnpm run build:types && pnpm run test:suite",
37
+ "build:types": "tsc -p jsconfig.json --noEmit false --emitDeclarationOnly",
38
+ "prettify": "prettier . --write",
39
+ "test": "pnpm run test:pretty && pnpm run test:types && pnpm run test:suite",
40
+ "test:pretty": "prettier . --check",
41
+ "test:suite": "node --test",
42
+ "test:types": "pnpm run build:types"
43
+ }
44
+ }
package/src/cast/Cast.js CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  AssetClass,
5
5
  DatumHash,
6
6
  MintingPolicyHash,
7
+ PubKey,
7
8
  PubKeyHash,
8
9
  ScriptHash,
9
10
  SpendingCredential,
@@ -143,6 +144,8 @@ function schemaToUplc(schema, x, defs = {}) {
143
144
  return new IntData(x)
144
145
  case "MintingPolicyHash":
145
146
  return MintingPolicyHash.new(x).toUplcData()
147
+ case "PubKey":
148
+ return PubKey.new(x).toUplcData()
146
149
  case "PubKeyHash":
147
150
  return PubKeyHash.new(x).toUplcData()
148
151
  case "Real":
@@ -331,6 +334,8 @@ function uplcToSchema(schema, data, config, defs = {}) {
331
334
  return IntData.expect(data).value
332
335
  case "MintingPolicyHash":
333
336
  return MintingPolicyHash.fromUplcData(data)
337
+ case "PubKey":
338
+ return PubKey.fromUplcData(data)
334
339
  case "PubKeyHash":
335
340
  return PubKeyHash.fromUplcData(data)
336
341
  case "Ratio": {
@@ -362,6 +367,8 @@ function uplcToSchema(schema, data, config, defs = {}) {
362
367
  return TxInput.fromUplcData(config.isMainnet, data)
363
368
  case "TxOutput":
364
369
  return TxOutput.fromUplcData(config.isMainnet, data)
370
+ case "TxOutputDatum":
371
+ return TxOutputDatum.fromUplcData(data)
365
372
  case "TxOutputId":
366
373
  return TxOutputId.fromUplcData(data)
367
374
  case "ValidatorHash":
@@ -13,6 +13,7 @@ import { Cast } from "./Cast.js"
13
13
  */
14
14
 
15
15
  /**
16
+ * `returns` is optional to accomodate main functions that return void
16
17
  * @typedef {{
17
18
  * name: string
18
19
  * requiresScriptContext: boolean
@@ -23,7 +24,7 @@ import { Cast } from "./Cast.js"
23
24
  * isOptional: boolean
24
25
  * isIgnored?: boolean
25
26
  * }[]
26
- * returns: TypeSchema
27
+ * returns?: TypeSchema
27
28
  * validatorIndices?: Record<string, number>
28
29
  * castConfig: CastConfig
29
30
  * }} UserFuncProps
@@ -103,14 +104,19 @@ export class UserFunc {
103
104
  /** @type {UnsafeArgsT<ArgsT>} */ (unsafeNamedArgs)
104
105
  )
105
106
 
106
- return new Cast(this.props.returns, this.props.castConfig).fromUplcData(
107
- result
108
- )
107
+ if (this.props.returns) {
108
+ return new Cast(
109
+ this.props.returns,
110
+ this.props.castConfig
111
+ ).fromUplcData(expectSome(/** @type {any} */ (result)))
112
+ } else {
113
+ return /** @type {any} */ (undefined)
114
+ }
109
115
  }
110
116
 
111
117
  /**
112
118
  * @param {UnsafeArgsT<ArgsT>} namedArgs
113
- * @returns {UplcData}
119
+ * @returns {RetT extends void ? void : UplcData}
114
120
  */
115
121
  evalUnsafe(namedArgs) {
116
122
  const result = this.profile(namedArgs).result
@@ -118,9 +124,11 @@ export class UserFunc {
118
124
  if (isLeft(result)) {
119
125
  throw new Error(result.left.error)
120
126
  } else if (!isString(result.right) && result.right.kind == "data") {
121
- return result.right.value
122
- } else {
127
+ return /** @type {any} */ (result.right.value)
128
+ } else if (this.props.returns) {
123
129
  throw new Error(`${result.right.toString()} isn't a UplcDataValue`)
130
+ } else {
131
+ return /** @type {any} */ (undefined)
124
132
  }
125
133
  }
126
134
 
@@ -179,9 +179,11 @@ export class LoadedScriptsWriter {
179
179
  "Address",
180
180
  "AssetClass",
181
181
  "DatumHash",
182
+ "DCert",
182
183
  "MintingPolicyHash",
183
184
  "PubKey",
184
185
  "PubKeyHash",
186
+ "ScriptHash",
185
187
  "SpendingCredential",
186
188
  "StakingCredential",
187
189
  "StakingHash",
@@ -191,6 +193,7 @@ export class LoadedScriptsWriter {
191
193
  "TxInput",
192
194
  "TxOutput",
193
195
  "TxOutputDatum",
196
+ "TxOutputId",
194
197
  "ValidatorHash",
195
198
  "Value"
196
199
  )
@@ -202,7 +205,7 @@ export class LoadedScriptsWriter {
202
205
  ["TStrict", "TPermissive"]
203
206
  )
204
207
  this.writeImportType("@helios-lang/ledger", "TimeLike")
205
- this.writeImportType("@helios-lang/ledger", "UplcData")
208
+ this.writeImportType("@helios-lang/uplc", "UplcData")
206
209
  this.writeImportType("@helios-lang/uplc", "UplcProgram")
207
210
  }
208
211
 
@@ -412,7 +415,7 @@ function genFuncType(fn) {
412
415
  })
413
416
 
414
417
  const argsTypeStr = `{${fields.join(", ")}}`
415
- const retTypeStr = genTypes(fn.returns)[0]
418
+ const retTypeStr = fn?.returns ? genTypes(fn.returns)[0] : "void"
416
419
 
417
420
  return [argsTypeStr, retTypeStr]
418
421
  }
@@ -5,6 +5,7 @@ export {}
5
5
  */
6
6
 
7
7
  /**
8
+ * `returns` is optional to accomodate main functions that return undefined
8
9
  * @typedef {{
9
10
  * name: string
10
11
  * requiresScriptContext: boolean
@@ -15,7 +16,7 @@ export {}
15
16
  * isOptional: boolean
16
17
  * isIgnored?: boolean
17
18
  * }[]
18
- * returns: TypeSchema
19
+ * returns?: TypeSchema
19
20
  * }} TypeCheckedUserFunc
20
21
  */
21
22
 
@@ -2,6 +2,8 @@
2
2
  * @typedef {import("@helios-lang/type-utils").TypeSchema} TypeSchema
3
3
  */
4
4
 
5
+ const NONE = "null"
6
+
5
7
  /**
6
8
  * TODO: handle recursive data structures
7
9
  * @param {TypeSchema} schema
@@ -82,8 +84,8 @@ export function genTypes(schema) {
82
84
  return ["TxOutput", "TxOutput"]
83
85
  case "TxOutputDatum":
84
86
  return [
85
- "TxOutputDatum | null",
86
- "TxOutputDatum | null | undefined | DatumHash | UplcData"
87
+ `TxOutputDatum | ${NONE}`,
88
+ `TxOutputDatum | ${NONE} | undefined | DatumHash | UplcData`
87
89
  ]
88
90
  case "TxOutputId":
89
91
  return ["TxOutputId", "TxOutputId | string"]
@@ -120,7 +122,7 @@ export function genTypes(schema) {
120
122
  }
121
123
  case "option": {
122
124
  const [c, p] = genTypes(schema.someType)
123
- return [`(${c}) | null`, `(${p}) | null | undefined`]
125
+ return [`(${c}) | ${NONE}`, `(${p}) | null | undefined`]
124
126
  }
125
127
  case "struct": {
126
128
  const fieldTypes = schema.fieldTypes.map(({ name, type }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AA4gBA;;;;;;GAMG;AACH,8BANa,OAAO,EACP,WAAW,QACb,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,UAC9B,UAAU,GACR,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAQtC;AArfD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH,kBAHa,OAAO,EACP,WAAW;IAepB;;;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;6BAIS,OAAO,EACP,WAAW,IACX,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;;;;qBAKlD,OAAO,EACP,WAAW,IACX,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC"}
1
+ {"version":3,"file":"Cast.d.ts","sourceRoot":"","sources":["../../src/cast/Cast.js"],"names":[],"mappings":"AAmhBA;;;;;;GAMG;AACH,8BANa,OAAO,EACP,WAAW,QACb,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,UAC9B,UAAU,GACR,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAQtC;AA3fD;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;GAGG;AACH,kBAHa,OAAO,EACP,WAAW;IAepB;;;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;6BAIS,OAAO,EACP,WAAW,IACX,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;;;;qBAKlD,OAAO,EACP,WAAW,IACX,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * @typedef {import("./Cast.js").CastConfig} CastConfig
8
8
  */
9
9
  /**
10
+ * `returns` is optional to accomodate main functions that return void
10
11
  * @typedef {{
11
12
  * name: string
12
13
  * requiresScriptContext: boolean
@@ -17,7 +18,7 @@
17
18
  * isOptional: boolean
18
19
  * isIgnored?: boolean
19
20
  * }[]
20
- * returns: TypeSchema
21
+ * returns?: TypeSchema
21
22
  * validatorIndices?: Record<string, number>
22
23
  * castConfig: CastConfig
23
24
  * }} UserFuncProps
@@ -60,9 +61,9 @@ export class UserFunc<ArgsT extends {
60
61
  eval(namedArgs: ArgsT): RetT;
61
62
  /**
62
63
  * @param {UnsafeArgsT<ArgsT>} namedArgs
63
- * @returns {UplcData}
64
+ * @returns {RetT extends void ? void : UplcData}
64
65
  */
65
- evalUnsafe(namedArgs: UnsafeArgsT<ArgsT>): UplcData;
66
+ evalUnsafe(namedArgs: UnsafeArgsT<ArgsT>): RetT extends void ? void : UplcData;
66
67
  /**
67
68
  * @param {UnsafeArgsT<ArgsT>} namedArgs
68
69
  * @returns {CekResult}
@@ -75,6 +76,9 @@ export type UplcData = import("@helios-lang/uplc").UplcData;
75
76
  export type UplcProgram = import("@helios-lang/uplc").UplcProgram;
76
77
  export type UplcValue = import("@helios-lang/uplc").UplcValue;
77
78
  export type CastConfig = import("./Cast.js").CastConfig;
79
+ /**
80
+ * `returns` is optional to accomodate main functions that return void
81
+ */
78
82
  export type UserFuncProps = {
79
83
  name: string;
80
84
  requiresScriptContext: boolean;
@@ -85,7 +89,7 @@ export type UserFuncProps = {
85
89
  isOptional: boolean;
86
90
  isIgnored?: boolean;
87
91
  }[];
88
- returns: TypeSchema;
92
+ returns?: TypeSchema;
89
93
  validatorIndices?: Record<string, number>;
90
94
  castConfig: CastConfig;
91
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;GAGG;AAEH;;;GAGG;AACH,sBAHwC,KAAK,SAAhC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1B,IAAI;IAgBb;;;OAGG;IACH,kBAHW,WAAW,SACX,aAAa,EAKvB;IApBD;;;OAGG;IACH,eAFU,WAAW,CAEjB;IAEJ;;;;OAIG;IACH,uBAAK;IAWL;;OAEG;IACH,mBAEC;IAED;;;OAGG;IACH,gBAHW,KAAK,GACH,IAAI,CAoChB;IAED;;;OAGG;IACH,sBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,QAAQ,CAYpB;IAED;;;OAGG;IACH,mBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,SAAS,CAyGrB;CACJ;yBApOY,OAAO,yBAAyB,EAAE,UAAU;wBAC5C,OAAO,mBAAmB,EAAE,SAAS;uBACrC,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;wBACvC,OAAO,mBAAmB,EAAE,SAAS;yBACrC,OAAO,WAAW,EAAE,UAAU;4BAI9B;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;QACzB,SAAe,CAAC,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;IACvB,gBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,UAAc,EAAE,UAAU,CAAA;CACvB;wBAIS,KAAK,IACL,GAAE,CAAgB,IAAX,MAAM,KAAK,GAAG,CAAC,SAAS,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAC"}
1
+ {"version":3,"file":"UserFunc.d.ts","sourceRoot":"","sources":["../../src/cast/UserFunc.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AAEH;;;GAGG;AACH,sBAHwC,KAAK,SAAhC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1B,IAAI;IAgBb;;;OAGG;IACH,kBAHW,WAAW,SACX,aAAa,EAKvB;IApBD;;;OAGG;IACH,eAFU,WAAW,CAEjB;IAEJ;;;;OAIG;IACH,uBAAK;IAWL;;OAEG;IACH,mBAEC;IAED;;;OAGG;IACH,gBAHW,KAAK,GACH,IAAI,CAyChB;IAED;;;OAGG;IACH,sBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAc/C;IAED;;;OAGG;IACH,mBAHW,WAAW,CAAC,KAAK,CAAC,GAChB,SAAS,CAyGrB;CACJ;yBA5OY,OAAO,yBAAyB,EAAE,UAAU;wBAC5C,OAAO,mBAAmB,EAAE,SAAS;uBACrC,OAAO,mBAAmB,EAAE,QAAQ;0BACpC,OAAO,mBAAmB,EAAE,WAAW;wBACvC,OAAO,mBAAmB,EAAE,SAAS;yBACrC,OAAO,WAAW,EAAE,UAAU;;;;4BAK9B;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;QACzB,SAAe,CAAC,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,CAAC,EAAE,UAAU,CAAA;IACxB,gBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,UAAc,EAAE,UAAU,CAAA;CACvB;wBAIS,KAAK,IACL,GAAE,CAAgB,IAAX,MAAM,KAAK,GAAG,CAAC,SAAS,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedScriptsWriter.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedScriptsWriter.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH;IAUI;;;OAGG;IACH,gBAFa,mBAAmB,CAQ/B;IAfG,yBAAoC;IACpC,0BAAqC;IACrC,uBAAkC;IAetC;;;OAGG;IACH,iBAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAC,GACjC,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,4BAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAC,GACpC,mBAAmB,CAoC/B;IAED;;OAEG;IACH,YAFa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQpC;IAED;;;;;OAKG;IACH,cAKC;IAED;;;;;OAKG;IACH,sBALW,MAAM,YACN,MAAM,eACN,MAAM,EAAE,GACN,mBAAmB,CAmB/B;IAED;;;;OAIG;IACH,kBAJW,MAAM,kBACN,MAAM,EAAE,GACN,mBAAmB,CAQ/B;IAED;;OAEG;IACH,qBAgCC;IAED;;OAEG;IACH,kBAFW,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAyBpC;IAED;;OAEG;IACH,0BAFW,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,QA2B7C;IAED;;;OAGG;IACH,oBA6BC;IAED;;;OAGG;IACH,uBAqDC;IAED;;OAEG;IACH,kCAFW,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAuB9C;CACJ;gCA5XY,OAAO,wBAAwB,EAAE,iBAAiB;kCAClD,OAAO,wBAAwB,EAAE,mBAAmB;mCACpD,OAAO,2BAA2B,EAAE,oBAAoB;yBACxD,OAAO,iBAAiB,EAAE,UAAU;6BARpB,0BAA0B"}
1
+ {"version":3,"file":"LoadedScriptsWriter.d.ts","sourceRoot":"","sources":["../../src/codegen/LoadedScriptsWriter.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH;IAUI;;;OAGG;IACH,gBAFa,mBAAmB,CAQ/B;IAfG,yBAAoC;IACpC,0BAAqC;IACrC,uBAAkC;IAetC;;;OAGG;IACH,iBAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAC,GACjC,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,4BAHW;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAC,GACpC,mBAAmB,CAoC/B;IAED;;OAEG;IACH,YAFa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQpC;IAED;;;;;OAKG;IACH,cAKC;IAED;;;;;OAKG;IACH,sBALW,MAAM,YACN,MAAM,eACN,MAAM,EAAE,GACN,mBAAmB,CAmB/B;IAED;;;;OAIG;IACH,kBAJW,MAAM,kBACN,MAAM,EAAE,GACN,mBAAmB,CAQ/B;IAED;;OAEG;IACH,qBAmCC;IAED;;OAEG;IACH,kBAFW,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAyBpC;IAED;;OAEG;IACH,0BAFW,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,QA2B7C;IAED;;;OAGG;IACH,oBA6BC;IAED;;;OAGG;IACH,uBAqDC;IAED;;OAEG;IACH,kCAFW,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAuB9C;CACJ;gCA/XY,OAAO,wBAAwB,EAAE,iBAAiB;kCAClD,OAAO,wBAAwB,EAAE,mBAAmB;mCACpD,OAAO,2BAA2B,EAAE,oBAAoB;yBACxD,OAAO,iBAAiB,EAAE,UAAU;6BARpB,0BAA0B"}
@@ -1,4 +1,7 @@
1
1
  export type TypeSchema = import("./TypeSchema.js").TypeSchema;
2
+ /**
3
+ * `returns` is optional to accomodate main functions that return undefined
4
+ */
2
5
  export type TypeCheckedUserFunc = {
3
6
  name: string;
4
7
  requiresScriptContext: boolean;
@@ -9,7 +12,7 @@ export type TypeCheckedUserFunc = {
9
12
  isOptional: boolean;
10
13
  isIgnored?: boolean;
11
14
  }[];
12
- returns: TypeSchema;
15
+ returns?: TypeSchema;
13
16
  };
14
17
  export type TypeCheckedModule = {
15
18
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;kCAIpC;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;QACzB,SAAe,CAAC,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,EAAE,UAAU,CAAA;CACpB;gCAIS;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;IACtB,iBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,KAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrC,SAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAChD"}
1
+ {"version":3,"file":"TypeCheckedModule.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeCheckedModule.js"],"names":[],"mappings":"yBAGa,OAAO,iBAAiB,EAAE,UAAU;;;;kCAKpC;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,qBAAyB,EAAE,OAAO,CAAA;IAClC,qBAAyB,EAAE,OAAO,CAAA;IAClC,SAAa,EAAE;QACf,IAAU,EAAE,MAAM,CAAA;QAClB,IAAU,EAAE,UAAU,CAAA;QACtB,UAAgB,EAAE,OAAO,CAAA;QACzB,SAAe,CAAC,EAAE,OAAO,CAAA;KACpB,EAAE,CAAA;IACP,OAAW,CAAC,EAAE,UAAU,CAAA;CACrB;gCAIS;IACZ,IAAQ,EAAE,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;IACtB,iBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,KAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrC,SAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAChD"}
@@ -1,6 +1,3 @@
1
- /**
2
- * @typedef {import("@helios-lang/type-utils").TypeSchema} TypeSchema
3
- */
4
1
  /**
5
2
  * TODO: handle recursive data structures
6
3
  * @param {TypeSchema} schema
@@ -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,CAgK5B;yBAtKY,OAAO,yBAAyB,EAAE,UAAU"}
1
+ {"version":3,"file":"TypeSchema.d.ts","sourceRoot":"","sources":["../../src/codegen/TypeSchema.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,iCAHW,UAAU,GACR,CAAC,MAAM,EAAE,MAAM,CAAC,CAgK5B;yBAxKY,OAAO,yBAAyB,EAAE,UAAU"}