aqua/api/api-npm/index.js
InversionSpaces 67d8151d94
feat(build): Implement custom bundle task (#894)
* Add link settings

* fix

* Rename to api-dist-js

* Correct import

* Update CI

* Implement bundleJS

* Add comments

* Add TODO

* Fix import

* Fix workflow

---------

Co-authored-by: Artsiom Shamsutdzinau <shamsartem@gmail.com>
2023-09-18 09:53:25 +02:00

66 lines
1.3 KiB
JavaScript

import { AquaConfig, Aqua, Call, Input, Path } from "./aqua-api.js";
function getConfig({
constants = [],
logLevel = "info",
noRelay = false,
noXor = false,
targetType = "air",
tracing = false,
}) {
return new AquaConfig(
logLevel,
constants,
noXor,
noRelay,
{
ts: "typescript",
js: "javascript",
air: "air",
}[targetType],
tracing,
);
}
export function compileFromString({ code, ...commonArgs }) {
const config = getConfig(commonArgs);
const { imports = [] } = commonArgs;
return Aqua.compile(new Input(code), imports, config);
}
export function compileFromPath({ filePath, ...commonArgs }) {
const config = getConfig(commonArgs);
const { imports = [] } = commonArgs;
return Aqua.compile(new Path(filePath), imports, config);
}
export function compileAquaCallFromString({
code,
funcCall,
data,
...commonArgs
}) {
const config = getConfig(commonArgs);
const { imports = [] } = commonArgs;
return Aqua.compile(
new Call(funcCall, data, new Input(code)),
imports,
config,
);
}
export function compileAquaCallFromPath({
filePath,
funcCall,
data,
...commonArgs
}) {
const config = getConfig(commonArgs);
const { imports = [] } = commonArgs;
return Aqua.compile(
new Call(funcCall, data, new Input(filePath)),
imports,
config,
);
}