Skip to content

Commit a458360

Browse files
authored
Merge pull request #11 from saulecabrera/add-new-javy-builtins
Add new Javy JSON builtins
2 parents 137a790 + 592a63f commit a458360

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"access": "public",
55
"@shopify:registry": "https://registry.npmjs.org/"
66
},
7-
"version": "0.1.0",
7+
"version": "0.2.0",
88
"description": "",
99
"main": "index.ts",
1010
"keywords": [],
@@ -18,6 +18,5 @@
1818
"typescript": "^4.8.4"
1919
},
2020
"peerDependencies": {
21-
"javy": "^0.1.0"
2221
}
2322
}

run.ts

+15-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
1-
import * as fs from "javy/fs";
2-
31
export type ShopifyFunction<Input extends {}, Output extends {}> = (
42
input: Input
53
) => Output;
64

5+
6+
interface Javy {
7+
JSON: {
8+
fromStdin(): any;
9+
toStdout(val: any);
10+
}
11+
}
12+
13+
declare global {
14+
const Javy: Javy;
15+
}
16+
17+
718
export default function <I extends {}, O extends {}>(userfunction: ShopifyFunction<I, O>) {
8-
const input_data = fs.readFileSync(fs.STDIO.Stdin);
9-
const input_str = new TextDecoder("utf-8").decode(input_data);
10-
const input_obj = JSON.parse(input_str);
19+
const input_obj = Javy.JSON.fromStdin();
1120
const output_obj = userfunction(input_obj);
12-
const output_str = JSON.stringify(output_obj);
13-
const output_data = new TextEncoder().encode(output_str);
14-
fs.writeFileSync(fs.STDIO.Stdout, output_data);
21+
Javy.JSON.toStdout(output_obj);
1522
}

0 commit comments

Comments
 (0)