@1ry/silly-grade-calc 0.1.0 → 0.1.1

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.
@@ -0,0 +1,11 @@
1
+ /** Exported memory */
2
+ export declare const memory: WebAssembly.Memory;
3
+ /**
4
+ * assembly/calculateGrade/calculateGrade
5
+ * @param totalOfPoints `i32`
6
+ * @param reachedPoints `i32`
7
+ * @param pointsNeededToPass `i32`
8
+ * @param selectedFormel `i32`
9
+ * @returns `f32`
10
+ */
11
+ export declare function calculateGrade(totalOfPoints: number, reachedPoints: number, pointsNeededToPass?: number, selectedFormel?: number): number;
@@ -0,0 +1,42 @@
1
+ async function instantiate(module, imports = {}) {
2
+ const adaptedImports = {
3
+ env: Object.setPrototypeOf({
4
+ abort(message, fileName, lineNumber, columnNumber) {
5
+ // ~lib/builtins/abort(~lib/string/String | null?, ~lib/string/String | null?, u32?, u32?) => void
6
+ message = __liftString(message >>> 0);
7
+ fileName = __liftString(fileName >>> 0);
8
+ lineNumber = lineNumber >>> 0;
9
+ columnNumber = columnNumber >>> 0;
10
+ (() => {
11
+ // @external.js
12
+ throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);
13
+ })();
14
+ },
15
+ }, Object.assign(Object.create(globalThis), imports.env || {})),
16
+ };
17
+ const { exports } = await WebAssembly.instantiate(module, adaptedImports);
18
+ const memory = exports.memory || imports.env.memory;
19
+ function __liftString(pointer) {
20
+ if (!pointer) return null;
21
+ const
22
+ end = pointer + new Uint32Array(memory.buffer)[pointer - 4 >>> 2] >>> 1,
23
+ memoryU16 = new Uint16Array(memory.buffer);
24
+ let
25
+ start = pointer >>> 1,
26
+ string = "";
27
+ while (end - start > 1024) string += String.fromCharCode(...memoryU16.subarray(start, start += 1024));
28
+ return string + String.fromCharCode(...memoryU16.subarray(start, end));
29
+ }
30
+ return exports;
31
+ }
32
+ export const {
33
+ memory,
34
+ calculateGrade,
35
+ } = await (async url => instantiate(
36
+ await (async () => {
37
+ const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null);
38
+ if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); }
39
+ else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); }
40
+ })(), {
41
+ }
42
+ ))(new URL("release.wasm", import.meta.url));
Binary file