main
gallant 3 months ago
parent 451b5b0120
commit 1f6bdee567
  1. 6
      javascript/lunar.js
  2. 24
      package-lock.json
  3. 5
      package.json
  4. 9
      sass/style.scss
  5. 43
      static/moon_phase_wasm.d.ts
  6. 252
      static/moon_phase_wasm.js
  7. BIN
      static/moon_phase_wasm_bg.wasm
  8. 9
      static/moon_phase_wasm_bg.wasm.d.ts
  9. 50
      templates/index.html

@ -1,6 +0,0 @@
import * as Moon from 'lunarphase-js';
const phase = Moon.getLunarPhase();
function writePhase(){
document.write(phase);
}

24
package-lock.json generated

@ -1,24 +0,0 @@
{
"name": "site",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"lunarphase-js": "^1.0.10"
}
},
"node_modules/lunarphase-js": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/lunarphase-js/-/lunarphase-js-1.0.10.tgz",
"integrity": "sha512-+A+G3WzB2y+xcCfhVRLxbdOnTe/Ujmbx/ptS0cjUnb9zRAEfRpu6U3D1o+IaStpRu91++kFoVqOYKhyT1m3ywg=="
}
},
"dependencies": {
"lunarphase-js": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/lunarphase-js/-/lunarphase-js-1.0.10.tgz",
"integrity": "sha512-+A+G3WzB2y+xcCfhVRLxbdOnTe/Ujmbx/ptS0cjUnb9zRAEfRpu6U3D1o+IaStpRu91++kFoVqOYKhyT1m3ywg=="
}
}
}

@ -1,5 +0,0 @@
{
"dependencies": {
"lunarphase-js": "^1.0.10"
}
}

@ -4,7 +4,7 @@
margin: auto;
width: 75%;
height: 75%;
padding: 12%;
padding: 5% 12% 5% 12%;
}
body {
@ -24,6 +24,9 @@ body {
//padding: 10%;
}
.side {
width:100%;
}
hr {
border-top: 2px solid #DF5B61;
@ -78,3 +81,7 @@ html, body {
margin: auto;
padding: 5% 0;
}
.donald{
font-size: 100px;
}

@ -0,0 +1,43 @@
/* tslint:disable */
/* eslint-disable */
/**
* @param {string} name
*/
export function greet(name: string): void;
/**
* @returns {string}
*/
export function send_phase(): string;
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly greet: (a: number, b: number) => void;
readonly send_phase: (a: number) => void;
readonly __wbindgen_malloc: (a: number) => number;
readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
readonly __wbindgen_free: (a: number, b: number) => void;
}
export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {SyncInitInput} module
*
* @returns {InitOutput}
*/
export function initSync(module: SyncInitInput): InitOutput;
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;

@ -0,0 +1,252 @@
let wasm;
const heap = new Array(32).fill(undefined);
heap.push(undefined, null, true, false);
function getObject(idx) { return heap[idx]; }
let heap_next = heap.length;
function dropObject(idx) {
if (idx < 36) return;
heap[idx] = heap_next;
heap_next = idx;
}
function takeObject(idx) {
const ret = getObject(idx);
dropObject(idx);
return ret;
}
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
cachedTextDecoder.decode();
let cachedUint8Memory0 = new Uint8Array();
function getUint8Memory0() {
if (cachedUint8Memory0.byteLength === 0) {
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
}
return cachedUint8Memory0;
}
function getStringFromWasm0(ptr, len) {
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
}
let WASM_VECTOR_LEN = 0;
const cachedTextEncoder = new TextEncoder('utf-8');
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});
function passStringToWasm0(arg, malloc, realloc) {
if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length);
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
let len = arg.length;
let ptr = malloc(len);
const mem = getUint8Memory0();
let offset = 0;
for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}
if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3);
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);
offset += ret.written;
}
WASM_VECTOR_LEN = offset;
return ptr;
}
/**
* @param {string} name
*/
export function greet(name) {
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len0 = WASM_VECTOR_LEN;
wasm.greet(ptr0, len0);
}
let cachedInt32Memory0 = new Int32Array();
function getInt32Memory0() {
if (cachedInt32Memory0.byteLength === 0) {
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
}
return cachedInt32Memory0;
}
/**
* @returns {string}
*/
export function send_phase() {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.send_phase(retptr);
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
return getStringFromWasm0(r0, r1);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
wasm.__wbindgen_free(r0, r1);
}
}
function addHeapObject(obj) {
if (heap_next === heap.length) heap.push(heap.length + 1);
const idx = heap_next;
heap_next = heap[idx];
heap[idx] = obj;
return idx;
}
async function load(module, imports) {
if (typeof Response === 'function' && module instanceof Response) {
if (typeof WebAssembly.instantiateStreaming === 'function') {
try {
return await WebAssembly.instantiateStreaming(module, imports);
} catch (e) {
if (module.headers.get('Content-Type') != 'application/wasm') {
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
} else {
throw e;
}
}
}
const bytes = await module.arrayBuffer();
return await WebAssembly.instantiate(bytes, imports);
} else {
const instance = await WebAssembly.instantiate(module, imports);
if (instance instanceof WebAssembly.Instance) {
return { instance, module };
} else {
return instance;
}
}
}
function getImports() {
const imports = {};
imports.wbg = {};
imports.wbg.__wbg_alert_b29ee0fb3216154d = function(arg0, arg1) {
alert(getStringFromWasm0(arg0, arg1));
};
imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
const ret = new Error();
return addHeapObject(ret);
};
imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {
const ret = getObject(arg1).stack;
const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
try {
console.error(getStringFromWasm0(arg0, arg1));
} finally {
wasm.__wbindgen_free(arg0, arg1);
}
};
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
takeObject(arg0);
};
imports.wbg.__wbg_now_58886682b7e790d7 = function() {
const ret = Date.now();
return ret;
};
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
throw new Error(getStringFromWasm0(arg0, arg1));
};
return imports;
}
function initMemory(imports, maybe_memory) {
}
function finalizeInit(instance, module) {
wasm = instance.exports;
init.__wbindgen_wasm_module = module;
cachedInt32Memory0 = new Int32Array();
cachedUint8Memory0 = new Uint8Array();
return wasm;
}
function initSync(module) {
const imports = getImports();
initMemory(imports);
if (!(module instanceof WebAssembly.Module)) {
module = new WebAssembly.Module(module);
}
const instance = new WebAssembly.Instance(module, imports);
return finalizeInit(instance, module);
}
async function init(input) {
if (typeof input === 'undefined') {
input = new URL('moon_phase_wasm_bg.wasm', import.meta.url);
}
const imports = getImports();
if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
input = fetch(input);
}
initMemory(imports);
const { instance, module } = await load(await input, imports);
return finalizeInit(instance, module);
}
export { initSync }
export default init;

Binary file not shown.

@ -0,0 +1,9 @@
/* tslint:disable */
/* eslint-disable */
export const memory: WebAssembly.Memory;
export function greet(a: number, b: number): void;
export function send_phase(a: number): void;
export function __wbindgen_malloc(a: number): number;
export function __wbindgen_realloc(a: number, b: number, c: number): number;
export function __wbindgen_add_to_stack_pointer(a: number): number;
export function __wbindgen_free(a: number, b: number): void;

@ -7,21 +7,41 @@
<hr>
Hey I'm Gallant, I work with mostly Rust.
<hr>
<div style="display: flex;">
<div class="side">
<hr>
<h4>Stuff:</h4>
<ul>
<li><a href="https://git.karx.xyz/gallant/">My Git</a></li>
<li><a href="mailto:gallantcrusader@proton.me">Reach Out</a></li>
</ul>
<h4>Pals:</h4>
<ul>
<li><a href="https://karx.xyz/">karx</a></li>
<li><a href="https://lemonsh.moe">lemon</a></li>
<li><a href="https://famfo.xyz">famfo</a></li>
<li><a href="https://missingpiece.dev/">missing</a></li>
<li><a href="https://bonzi.link/">God</a></li>
<!-- <li><a href=""></a></li> -->
</ul>
</div>
<h4>Stuff:</h4>
<ul>
<li><a href="https://git.karx.xyz/gallant/">My Git</a></li>
<li><a href="mailto:gallantcrusader@proton.me">Reach Out</a></li>
</ul>
<h4>Pals:</h4>
<ul>
<li><a href="https://karx.xyz/">karx</a></li>
<li><a href="https://lemonsh.moe">lemon</a></li>
<li><a href="https://famfo.xyz">famfo</a></li>
<li><a href="https://missingpiece.dev/">missing</a></li>
<li><a href="https://bonzi.link/">God</a></li>
<!-- <li><a href=""></a></li> -->
</ul>
<div name="jared" class="side">
<h1 id="donald" class="donald"></h1>
<script type="module">
import init, { send_phase } from "./moon_phase_wasm.js";
init().then(() => {
//greet("A");
const phase = send_phase();
const bro = document.getElementById("donald");
bro.innerHTML = phase;
})
</script>
</div>
</div>
{% endblock content %}

Loading…
Cancel
Save