@helios-lang/contract-utils 0.1.15 → 0.1.17
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 +1 -1
- package/src/lib/Lib.js +1 -0
- package/src/lib/Libg_v0_16.js +47 -3
- package/types/lib/Lib.d.ts +2 -0
- package/types/lib/Lib.d.ts.map +1 -1
- package/types/lib/Libg_v0_16.d.ts +12 -1
- package/types/lib/Libg_v0_16.d.ts.map +1 -1
package/package.json
CHANGED
package/src/lib/Lib.js
CHANGED
package/src/lib/Libg_v0_16.js
CHANGED
|
@@ -114,17 +114,26 @@ import { readHeader } from "@helios-lang/compiler-utils"
|
|
|
114
114
|
* @implements {Lib}
|
|
115
115
|
*/
|
|
116
116
|
export class Lib_v0_16 {
|
|
117
|
+
/**
|
|
118
|
+
* @private
|
|
119
|
+
* @readonly
|
|
120
|
+
* @type {LibOptions}
|
|
121
|
+
*/
|
|
122
|
+
options
|
|
123
|
+
|
|
117
124
|
/**
|
|
118
125
|
* @param {any} lib
|
|
119
126
|
* @param {LibOptions} options
|
|
120
127
|
*/
|
|
121
|
-
constructor(lib,
|
|
128
|
+
constructor(lib, options) {
|
|
122
129
|
this.lib = lib
|
|
123
130
|
|
|
124
131
|
this.lib.config.set({
|
|
125
|
-
IS_TESTNET: !(isMainnet ?? false),
|
|
126
|
-
CHECK_CASTS: checkCasts ?? false
|
|
132
|
+
IS_TESTNET: !(options?.isMainnet ?? false),
|
|
133
|
+
CHECK_CASTS: options?.checkCasts ?? false
|
|
127
134
|
})
|
|
135
|
+
|
|
136
|
+
this.options = options
|
|
128
137
|
}
|
|
129
138
|
|
|
130
139
|
/**
|
|
@@ -348,6 +357,39 @@ export class Lib_v0_16 {
|
|
|
348
357
|
}
|
|
349
358
|
}
|
|
350
359
|
|
|
360
|
+
/**
|
|
361
|
+
* @param {string[]} modules
|
|
362
|
+
* @returns {string[]}
|
|
363
|
+
*/
|
|
364
|
+
sortModules(modules) {
|
|
365
|
+
if (!this.options?.moduleOrder) {
|
|
366
|
+
return modules
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
const n = modules.length
|
|
370
|
+
const tmp = modules.slice()
|
|
371
|
+
|
|
372
|
+
tmp.sort((a, b) => {
|
|
373
|
+
const nameA = readHeader(a)[1]
|
|
374
|
+
const nameB = readHeader(b)[1]
|
|
375
|
+
|
|
376
|
+
let iA = this.options.moduleOrder?.indexOf(nameA)
|
|
377
|
+
let iB = this.options.moduleOrder?.indexOf(nameB)
|
|
378
|
+
|
|
379
|
+
if (iA === undefined || iA == -1) {
|
|
380
|
+
iA = n
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
if (iB === undefined || iB == -1) {
|
|
384
|
+
iB = n
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
return iA - iB
|
|
388
|
+
})
|
|
389
|
+
|
|
390
|
+
return tmp
|
|
391
|
+
}
|
|
392
|
+
|
|
351
393
|
/**
|
|
352
394
|
* @param {string} main
|
|
353
395
|
* @param {string[]} modules
|
|
@@ -359,6 +401,8 @@ export class Lib_v0_16 {
|
|
|
359
401
|
const otherValidators = options.otherValidators ?? {}
|
|
360
402
|
const otherValidatorTypes = options.allValidatorTypes
|
|
361
403
|
|
|
404
|
+
modules = this.sortModules(modules)
|
|
405
|
+
|
|
362
406
|
const program = this.lib.Program.newInternal(
|
|
363
407
|
main,
|
|
364
408
|
modules,
|
package/types/lib/Lib.d.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* @typedef {{
|
|
18
18
|
* isMainnet?: boolean
|
|
19
19
|
* checkCasts?: boolean
|
|
20
|
+
* moduleOrder?: string[]
|
|
20
21
|
* }} LibOptions
|
|
21
22
|
*/
|
|
22
23
|
/**
|
|
@@ -68,6 +69,7 @@ export type CompileOutput = {
|
|
|
68
69
|
export type LibOptions = {
|
|
69
70
|
isMainnet?: boolean;
|
|
70
71
|
checkCasts?: boolean;
|
|
72
|
+
moduleOrder?: string[];
|
|
71
73
|
};
|
|
72
74
|
export type Lib = {
|
|
73
75
|
version: string;
|
package/types/lib/Lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../../src/lib/Lib.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../../src/lib/Lib.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AACH,gCAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,MAAM,EAAE,CAIpB;;;;;;;qBApDgD,MAAM;kBAAQ,MAAM;;;;;cAGtD,OAAO;;4BAKT;IACZ,OAAW,EAAE,MAAM,CAAA;IACnB,QAAY,EAAE,MAAM,CAAA;CACjB;yBAIS;IACZ,SAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;;aAKU,MAAM;gCACa,MAAM,KAAK,GAAG;;;;;;;;;;;;;oBAG1B,MAAM,WAAW,MAAM,EAAE,WAAW,cAAc,KAAK,aAAa;;kCAK5E,OAAO,qBAAqB,EAAE,UAAU;4BACxC,OAAO,qBAAqB,EAAE,MAAM;+BACpC,OAAO,qBAAqB,EAAE,SAAS;4BAIvC;IACZ,MAAU,MAAM,CAAA;IAChB,OAAW,EAAE,MAAM,CAAA;IACnB,UAAc,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -102,7 +102,13 @@ export class Lib_v0_16 implements Lib {
|
|
|
102
102
|
* @param {any} lib
|
|
103
103
|
* @param {LibOptions} options
|
|
104
104
|
*/
|
|
105
|
-
constructor(lib: any,
|
|
105
|
+
constructor(lib: any, options: LibOptions);
|
|
106
|
+
/**
|
|
107
|
+
* @private
|
|
108
|
+
* @readonly
|
|
109
|
+
* @type {LibOptions}
|
|
110
|
+
*/
|
|
111
|
+
private readonly options;
|
|
106
112
|
lib: any;
|
|
107
113
|
/**
|
|
108
114
|
* @type {string}
|
|
@@ -162,6 +168,11 @@ export class Lib_v0_16 implements Lib {
|
|
|
162
168
|
* @returns {InternalTypeDetails}
|
|
163
169
|
*/
|
|
164
170
|
getInternalTypeDetails(dt: DataType): InternalTypeDetails;
|
|
171
|
+
/**
|
|
172
|
+
* @param {string[]} modules
|
|
173
|
+
* @returns {string[]}
|
|
174
|
+
*/
|
|
175
|
+
sortModules(modules: string[]): string[];
|
|
165
176
|
/**
|
|
166
177
|
* @param {string} main
|
|
167
178
|
* @param {string[]} modules
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;GAMG;AACH;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"Libg_v0_16.d.ts","sourceRoot":"","sources":["../../src/lib/Libg_v0_16.js"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;GAMG;AACH;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAQI;;;OAGG;IACH,iBAHW,GAAG,WACH,UAAU,EAWpB;IApBD;;;;OAIG;IACH,yBAAO;IAOH,SAAc;IAUlB;;OAEG;IACH,sBAEC;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,QAAQ,CAapB;IAED;;;;;;OAMG;IACH,uBAcC;IAED;;;;;OAKG;IACH,iBAWC;IAED;;;;;OAKG;IACH,6BAeC;IAED;;;;OAIG;IACH;;;;;;;;;;;MAuEC;IAED;;;OAGG;IACH,wBAHW,UAAU,GACR,mBAAmB,CAgC/B;IAED;;;OAGG;IACH,2BAHW,QAAQ,GACN,mBAAmB,CAc/B;IAED;;;OAGG;IACH,qBAHW,MAAM,EAAE,GACN,MAAM,EAAE,CA6BpB;IAED;;;;;OAKG;IACH,cALW,MAAM,WACN,MAAM,EAAE,WACR,cAAc,GACZ,aAAa,CA4FzB;CACJ;4BAreY,OAAO,qBAAqB,EAAE,MAAM;+BACpC,OAAO,qBAAqB,EAAE,SAAS;kCACvC,OAAO,qBAAqB,EAAE,UAAU;6BACxC,OAAO,UAAU,EAAE,cAAc;4BACjC,OAAO,UAAU,EAAE,aAAa;kBAChC,OAAO,UAAU,EAAE,GAAG;yBACtB,OAAO,UAAU,EAAE,UAAU;4BAC7B,OAAO,UAAU,EAAE,aAAa;;;;uBAUhC,EACT;;kBAKe,MAAM,KAAK,OAAO;;4BAKxB;IACZ,MAAU,MAAM,CAAA;CACb;8BAIS;IACZ,MAAU,MAAM,CAAA;CACb;wBAIS,eAAe,GAAG,aAAa,GAAG,GAAG;;UAKvC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;8BACK,MAAM,EAAE,KAAK,MAAM,EAAE;gBACnC,SAAS,EAAE;;;UAKjB,MAAM;gBACA,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE;WACvC,SAAS;yBACK,MAAM,EAAE;gBACjB,MAAM;kBACJ,QAAQ,EAAE;;uBAKhB;IACZ,WAAe,CAAC,EAAE,WAAW,CAAA;CAC1B;yBAIS;IACZ,IAAQ,EAAG,MAAM,CAAA;CACd,GAAG;IACN,IAAQ,EAAM,MAAM,CAAA;IACpB,QAAY,EAAE,UAAU,CAAA;CACrB,GAAG;IACN,IAAQ,EAAO,KAAK,CAAA;IACpB,OAAW,EAAI,UAAU,CAAA;IACzB,SAAa,EAAE,UAAU,CAAA;CACtB,GAAG;IACN,IAAQ,EAAM,QAAQ,CAAA;IACtB,QAAY,EAAE,UAAU,CAAA;CACrB,GAAG;IACN,IAAQ,EAAQ,QAAQ,CAAA;IACxB,UAAc,EAAE,eAAe,EAAE,CAAA;CAC9B,GAAG;IACN,IAAQ,EAAU,MAAM,CAAA;IACxB,YAAgB,EAAE;QAAC,MAAM,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAC,EAAE,CAAA;CAC9D;8BAIS;IACZ,MAAU,MAAM,CAAA;CACb,GAAG,UAAU;0BAIJ;IACZ,SAAa,EAAE,MAAM,CAAA;IACrB,UAAc,EAAE,MAAM,CAAA;IACtB,YAAgB,EAAE,UAAU,CAAA;CACzB;wBAIS,EACT"}
|