hakuban 0.5.5 → 0.6.2

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 @@
1
+ {"version":3,"file":"hakuban-with-wasm.js","sources":["pkg/hakuban.js","coffee/manager.coffee","coffee/common.coffee","coffee/hakuban-with-wasm.coffee"],"sourcesContent":["\nlet wasm;\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nfunction getObject(idx) { return heap[idx]; }\n\nlet heap_next = heap.length;\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedTextEncoder = new TextEncoder('utf-8');\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length);\n getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len);\n\n const mem = getUint8Memory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3);\n const view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n const state = { a: arg0, b: arg1, cnt: 1, dtor };\n const real = (...args) => {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n\n return real;\n}\nfunction __wbg_adapter_16(arg0, arg1, arg2) {\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h2cb5c9e37b253332(arg0, arg1, addHeapObject(arg2));\n}\n\nconst u32CvtShim = new Uint32Array(2);\n\nconst uint64CvtShim = new BigUint64Array(u32CvtShim.buffer);\n/**\n* @param {string} json_string\n* @returns {WasmHashResult}\n*/\nexport function hakuban_json_hash(json_string) {\n var ptr0 = passStringToWasm0(json_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_json_hash(ptr0, len0);\n return WasmHashResult.__wrap(ret);\n}\n\n/**\n* @param {string} default_log_level\n* @returns {number}\n*/\nexport function hakuban_logger_initialize(default_log_level) {\n var ptr0 = passStringToWasm0(default_log_level, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_logger_initialize(ptr0, len0);\n return ret;\n}\n\n/**\n* @param {string} name_str\n* @returns {WasmLocalNodeNewResult}\n*/\nexport function hakuban_local_node_new(name_str) {\n var ptr0 = passStringToWasm0(name_str, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_local_node_new(ptr0, len0);\n return WasmLocalNodeNewResult.__wrap(ret);\n}\n\n/**\n* @param {number} local_node\n*/\nexport function hakuban_local_node_drop(local_node) {\n wasm.hakuban_local_node_drop(local_node);\n}\n\n/**\n* @param {number} local_node\n* @param {string} descriptor\n* @returns {WasmObjectObserveResult}\n*/\nexport function hakuban_object_observe_new(local_node, descriptor) {\n var ptr0 = passStringToWasm0(descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_object_observe_new(local_node, ptr0, len0);\n return WasmObjectObserveResult.__wrap(ret);\n}\n\n/**\n* @param {number} object_ptr\n*/\nexport function hakuban_object_observe_drop(object_ptr) {\n wasm.hakuban_object_observe_drop(object_ptr);\n}\n\n/**\n* @param {number} object_observe_pointer\n* @returns {number}\n*/\nexport function hakuban_object_observe_state_borrow(object_observe_pointer) {\n var ret = wasm.hakuban_object_observe_state_borrow(object_observe_pointer);\n return ret;\n}\n\n/**\n* @param {number} state_ptr\n*/\nexport function hakuban_object_observe_state_return(state_ptr) {\n wasm.hakuban_object_observe_state_return(state_ptr);\n}\n\n/**\n* @param {number} state_ptr\n* @returns {BigInt}\n*/\nexport function hakuban_object_observe_state_synchronized(state_ptr) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_object_observe_state_synchronized(retptr, state_ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n u32CvtShim[0] = r0;\n u32CvtShim[1] = r1;\n const n0 = uint64CvtShim[0];\n return n0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} state_ptr\n* @returns {string}\n*/\nexport function hakuban_object_observe_state_data_version(state_ptr) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_object_observe_state_data_version(retptr, state_ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(r0, r1);\n }\n}\n\n/**\n* @param {number} state_ptr\n* @returns {string}\n*/\nexport function hakuban_object_observe_state_data_type(state_ptr) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_object_observe_state_data_type(retptr, state_ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(r0, r1);\n }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {number} state_ptr\n* @returns {Uint8Array}\n*/\nexport function hakuban_object_observe_state_data(state_ptr) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_object_observe_state_data(retptr, state_ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} object_observe_ptr\n* @returns {number}\n*/\nexport function hakuban_object_observe_events_get(object_observe_ptr) {\n var ret = wasm.hakuban_object_observe_events_get(object_observe_ptr);\n return ret;\n}\n\n/**\n* @param {number} events_pointer\n*/\nexport function hakuban_object_descriptor_events_drop(events_pointer) {\n wasm.hakuban_object_descriptor_events_drop(events_pointer);\n}\n\n/**\n* @param {number} events_pointer\n* @param {Promise<any>} cancel\n* @returns {Promise<any>}\n*/\nexport function hakuban_object_descriptor_events_next(events_pointer, cancel) {\n var ret = wasm.hakuban_object_descriptor_events_next(events_pointer, addHeapObject(cancel));\n return takeObject(ret);\n}\n\n/**\n* @param {number} local_node\n* @param {string} descriptor\n* @returns {WasmTagObserveResult}\n*/\nexport function hakuban_tag_observe_new(local_node, descriptor) {\n var ptr0 = passStringToWasm0(descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_tag_observe_new(local_node, ptr0, len0);\n return WasmTagObserveResult.__wrap(ret);\n}\n\n/**\n* @param {number} tag_observe_pointer\n*/\nexport function hakuban_tag_observe_drop(tag_observe_pointer) {\n wasm.hakuban_tag_observe_drop(tag_observe_pointer);\n}\n\n/**\n* @param {number} tag_observe_pointer\n* @param {string} object_descriptor\n* @returns {WasmTagObserveObjectStateBorrowResult}\n*/\nexport function hakuban_tag_observe_object_state_borrow(tag_observe_pointer, object_descriptor) {\n var ptr0 = passStringToWasm0(object_descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_tag_observe_object_state_borrow(tag_observe_pointer, ptr0, len0);\n return WasmTagObserveObjectStateBorrowResult.__wrap(ret);\n}\n\n/**\n* @param {number} tag_observe_pointer\n* @returns {string}\n*/\nexport function hakuban_tag_observe_object_descriptors(tag_observe_pointer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_tag_observe_object_descriptors(retptr, tag_observe_pointer);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(r0, r1);\n }\n}\n\n/**\n* @param {number} tag_observe_ptr\n* @returns {number}\n*/\nexport function hakuban_tag_observe_events_get(tag_observe_ptr) {\n var ret = wasm.hakuban_tag_observe_events_get(tag_observe_ptr);\n return ret;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n/**\n* @param {number} local_node_pointer\n* @param {boolean} upstream\n* @param {boolean | undefined} diff_produce\n* @param {boolean | undefined} diff_request\n* @returns {WasmRemoteNodeNewResult}\n*/\nexport function hakuban_remote_node_new(local_node_pointer, upstream, diff_produce, diff_request) {\n var ret = wasm.hakuban_remote_node_new(local_node_pointer, upstream, isLikeNone(diff_produce) ? 0xFFFFFF : diff_produce ? 1 : 0, isLikeNone(diff_request) ? 0xFFFFFF : diff_request ? 1 : 0);\n return WasmRemoteNodeNewResult.__wrap(ret);\n}\n\n/**\n* @param {number} remote_node_pointer\n*/\nexport function hakuban_remote_node_drop(remote_node_pointer) {\n wasm.hakuban_remote_node_drop(remote_node_pointer);\n}\n\n/**\n* @param {number} remote_node_pointer\n* @returns {Uint8Array}\n*/\nexport function hakuban_remote_node_connected(remote_node_pointer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_remote_node_connected(retptr, remote_node_pointer);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var r2 = getInt32Memory0()[retptr / 4 + 2];\n var r3 = getInt32Memory0()[retptr / 4 + 3];\n if (r3) {\n throw takeObject(r2);\n }\n var v0 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} remote_node_pointer\n*/\nexport function hakuban_remote_node_disconnected(remote_node_pointer) {\n wasm.hakuban_remote_node_disconnected(remote_node_pointer);\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n* @param {number} remote_node_pointer\n* @param {Uint8Array} data\n* @returns {Uint8Array}\n*/\nexport function hakuban_remote_node_received_message(remote_node_pointer, data) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.hakuban_remote_node_received_message(retptr, remote_node_pointer, ptr0, len0);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var r2 = getInt32Memory0()[retptr / 4 + 2];\n var r3 = getInt32Memory0()[retptr / 4 + 3];\n if (r3) {\n throw takeObject(r2);\n }\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} remote_node_pointer\n* @param {Promise<any>} cancel\n* @returns {Promise<any>}\n*/\nexport function hakuban_remote_node_next_local_node_event(remote_node_pointer, cancel) {\n var ret = wasm.hakuban_remote_node_next_local_node_event(remote_node_pointer, addHeapObject(cancel));\n return takeObject(ret);\n}\n\n/**\n* @param {number} remote_node_pointer\n* @param {string} event\n* @returns {Uint8Array}\n*/\nexport function hakuban_remote_node_received_local_node_event(remote_node_pointer, event) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passStringToWasm0(event, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.hakuban_remote_node_received_local_node_event(retptr, remote_node_pointer, ptr0, len0);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var r2 = getInt32Memory0()[retptr / 4 + 2];\n var r3 = getInt32Memory0()[retptr / 4 + 3];\n if (r3) {\n throw takeObject(r2);\n }\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} remote_node_pointer\n* @returns {Uint8Array}\n*/\nexport function hakuban_remote_node_ack(remote_node_pointer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_remote_node_ack(retptr, remote_node_pointer);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} local_node\n* @param {string} descriptor\n* @returns {WasmTagExposeResult}\n*/\nexport function hakuban_tag_expose_new(local_node, descriptor) {\n var ptr0 = passStringToWasm0(descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_tag_expose_new(local_node, ptr0, len0);\n return WasmTagExposeResult.__wrap(ret);\n}\n\n/**\n* @param {number} tag_expose_pointer\n*/\nexport function hakuban_tag_expose_drop(tag_expose_pointer) {\n wasm.hakuban_tag_expose_drop(tag_expose_pointer);\n}\n\n/**\n* @param {number} tag_expose_pointer\n* @returns {string}\n*/\nexport function hakuban_tag_expose_object_descriptors(tag_expose_pointer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_tag_expose_object_descriptors(retptr, tag_expose_pointer);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(r0, r1);\n }\n}\n\n/**\n* @param {number} tag_expose_pointer\n* @param {string} object_descriptor\n* @param {string} data_version\n* @param {string} data_type\n* @param {Uint8Array} data\n* @param {BigInt} assignment_id\n* @returns {WasmTagExposeSetObjectStateResult}\n*/\nexport function hakuban_tag_expose_set_object_state(tag_expose_pointer, object_descriptor, data_version, data_type, data, assignment_id) {\n var ptr0 = passStringToWasm0(object_descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = passStringToWasm0(data_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passStringToWasm0(data_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n uint64CvtShim[0] = assignment_id;\n const low4 = u32CvtShim[0];\n const high4 = u32CvtShim[1];\n var ret = wasm.hakuban_tag_expose_set_object_state(tag_expose_pointer, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, low4, high4);\n return WasmTagExposeSetObjectStateResult.__wrap(ret);\n}\n\n/**\n* @param {number} tag_expose_pointer\n* @param {string} object_descriptor\n* @returns {WasmTagExposeAssignmentResult}\n*/\nexport function hakuban_tag_expose_assignment(tag_expose_pointer, object_descriptor) {\n var ptr0 = passStringToWasm0(object_descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_tag_expose_assignment(tag_expose_pointer, ptr0, len0);\n return WasmTagExposeAssignmentResult.__wrap(ret);\n}\n\n/**\n* @param {number} tag_expose_pointer\n* @param {string} object_descriptor\n* @param {BigInt} assignment_id\n* @returns {number}\n*/\nexport function hakuban_tag_expose_desynchronize(tag_expose_pointer, object_descriptor, assignment_id) {\n var ptr0 = passStringToWasm0(object_descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n uint64CvtShim[0] = assignment_id;\n const low1 = u32CvtShim[0];\n const high1 = u32CvtShim[1];\n var ret = wasm.hakuban_tag_expose_desynchronize(tag_expose_pointer, ptr0, len0, low1, high1);\n return ret >>> 0;\n}\n\n/**\n* @param {number} tag_expose_ptr\n* @returns {number}\n*/\nexport function hakuban_tag_expose_events_get(tag_expose_ptr) {\n var ret = wasm.hakuban_tag_expose_events_get(tag_expose_ptr);\n return ret;\n}\n\n/**\n* @param {number} local_node\n* @param {string} descriptor\n* @returns {WasmObjectExposeResult}\n*/\nexport function hakuban_object_expose_new(local_node, descriptor) {\n var ptr0 = passStringToWasm0(descriptor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.hakuban_object_expose_new(local_node, ptr0, len0);\n return WasmObjectExposeResult.__wrap(ret);\n}\n\n/**\n* @param {number} object_expose_pointer\n*/\nexport function hakuban_object_expose_drop(object_expose_pointer) {\n wasm.hakuban_object_expose_drop(object_expose_pointer);\n}\n\n/**\n* @param {number} object_expose_pointer\n* @param {string} data_version\n* @param {string} data_type\n* @param {Uint8Array} data\n* @param {BigInt} assignment_id\n* @returns {WasmObjectExposeStateResult}\n*/\nexport function hakuban_object_expose_set_state(object_expose_pointer, data_version, data_type, data, assignment_id) {\n var ptr0 = passStringToWasm0(data_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = passStringToWasm0(data_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n uint64CvtShim[0] = assignment_id;\n const low3 = u32CvtShim[0];\n const high3 = u32CvtShim[1];\n var ret = wasm.hakuban_object_expose_set_state(object_expose_pointer, ptr0, len0, ptr1, len1, ptr2, len2, low3, high3);\n return WasmObjectExposeStateResult.__wrap(ret);\n}\n\n/**\n* @param {number} object_expose_pointer\n* @returns {BigInt}\n*/\nexport function hakuban_object_expose_assignment(object_expose_pointer) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.hakuban_object_expose_assignment(retptr, object_expose_pointer);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n u32CvtShim[0] = r0;\n u32CvtShim[1] = r1;\n const n0 = uint64CvtShim[0];\n return n0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} object_expose_pointer\n* @param {BigInt} assignment_id\n*/\nexport function hakuban_object_expose_desynchronize(object_expose_pointer, assignment_id) {\n uint64CvtShim[0] = assignment_id;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n wasm.hakuban_object_expose_desynchronize(object_expose_pointer, low0, high0);\n}\n\n/**\n* @param {number} object_expose_ptr\n* @returns {number}\n*/\nexport function hakuban_object_expose_events_get(object_expose_ptr) {\n var ret = wasm.hakuban_object_expose_events_get(object_expose_ptr);\n return ret;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\nfunction __wbg_adapter_120(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen__convert__closures__invoke2_mut__h3fbc4a767cc461bf(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\n/**\n*/\nexport const WasmError = Object.freeze({ None:0,\"0\":\"None\",InvalidString:1,\"1\":\"InvalidString\",InvalidJSON:2,\"2\":\"InvalidJSON\",InvalidURL:3,\"3\":\"InvalidURL\",ObjectNotFound:4,\"4\":\"ObjectNotFound\", });\n/**\n*/\nexport class WasmHashResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmHashResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmhashresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmhashresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmhashresult_error(this.ptr, arg0);\n }\n /**\n */\n get hash() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.__wbg_get_wasmhashresult_hash(retptr, this.ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n u32CvtShim[0] = r0;\n u32CvtShim[1] = r1;\n const n0 = uint64CvtShim[0];\n return n0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {BigInt} arg0\n */\n set hash(arg0) {\n uint64CvtShim[0] = arg0;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n wasm.__wbg_set_wasmhashresult_hash(this.ptr, low0, high0);\n }\n}\n/**\n*/\nexport class WasmLocalNodeNewResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmLocalNodeNewResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmlocalnodenewresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmlocalnodenewresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmlocalnodenewresult_error(this.ptr, arg0);\n }\n /**\n */\n get local_node_pointer() {\n var ret = wasm.__wbg_get_wasmlocalnodenewresult_local_node_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set local_node_pointer(arg0) {\n wasm.__wbg_set_wasmlocalnodenewresult_local_node_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmObjectExposeResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmObjectExposeResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmobjectexposeresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmobjectexposeresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmobjectexposeresult_error(this.ptr, arg0);\n }\n /**\n */\n get object_expose_pointer() {\n var ret = wasm.__wbg_get_wasmobjectexposeresult_object_expose_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set object_expose_pointer(arg0) {\n wasm.__wbg_set_wasmobjectexposeresult_object_expose_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmObjectExposeStateResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmObjectExposeStateResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmobjectexposestateresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmobjectexposestateresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmobjectexposestateresult_error(this.ptr, arg0);\n }\n /**\n */\n get changed() {\n var ret = wasm.__wbg_get_wasmobjectexposestateresult_changed(this.ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set changed(arg0) {\n wasm.__wbg_set_wasmobjectexposestateresult_changed(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmObjectObserveResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmObjectObserveResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmobjectobserveresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmobjectobserveresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmobjectobserveresult_error(this.ptr, arg0);\n }\n /**\n */\n get object_observe_pointer() {\n var ret = wasm.__wbg_get_wasmobjectobserveresult_object_observe_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set object_observe_pointer(arg0) {\n wasm.__wbg_set_wasmobjectobserveresult_object_observe_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmRemoteNode {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmremotenode_free(ptr);\n }\n}\n/**\n*/\nexport class WasmRemoteNodeNewResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmRemoteNodeNewResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmremotenodenewresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmremotenodenewresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmremotenodenewresult_error(this.ptr, arg0);\n }\n /**\n */\n get remote_node_pointer() {\n var ret = wasm.__wbg_get_wasmremotenodenewresult_remote_node_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set remote_node_pointer(arg0) {\n wasm.__wbg_set_wasmremotenodenewresult_remote_node_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmTagExposeAssignmentResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmTagExposeAssignmentResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmtagexposeassignmentresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmtagexposeassignmentresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmtagexposeassignmentresult_error(this.ptr, arg0);\n }\n /**\n */\n get assignment() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.__wbg_get_wasmtagexposeassignmentresult_assignment(retptr, this.ptr);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n u32CvtShim[0] = r0;\n u32CvtShim[1] = r1;\n const n0 = uint64CvtShim[0];\n return n0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {BigInt} arg0\n */\n set assignment(arg0) {\n uint64CvtShim[0] = arg0;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n wasm.__wbg_set_wasmtagexposeassignmentresult_assignment(this.ptr, low0, high0);\n }\n}\n/**\n*/\nexport class WasmTagExposeResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmTagExposeResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmtagexposeresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmtagexposeresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmtagexposeresult_error(this.ptr, arg0);\n }\n /**\n */\n get tag_expose_pointer() {\n var ret = wasm.__wbg_get_wasmtagexposeresult_tag_expose_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set tag_expose_pointer(arg0) {\n wasm.__wbg_set_wasmtagexposeresult_tag_expose_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmTagExposeSetObjectStateResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmTagExposeSetObjectStateResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmtagexposesetobjectstateresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmtagexposesetobjectstateresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmtagexposesetobjectstateresult_error(this.ptr, arg0);\n }\n /**\n */\n get changed() {\n var ret = wasm.__wbg_get_wasmtagexposesetobjectstateresult_changed(this.ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set changed(arg0) {\n wasm.__wbg_set_wasmtagexposesetobjectstateresult_changed(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmTagObserveObjectStateBorrowResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmTagObserveObjectStateBorrowResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmtagobserveobjectstateborrowresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmtagobserveobjectstateborrowresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmtagobserveobjectstateborrowresult_error(this.ptr, arg0);\n }\n /**\n */\n get state_pointer() {\n var ret = wasm.__wbg_get_wasmtagobserveobjectstateborrowresult_state_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set state_pointer(arg0) {\n wasm.__wbg_set_wasmtagobserveobjectstateborrowresult_state_pointer(this.ptr, arg0);\n }\n}\n/**\n*/\nexport class WasmTagObserveResult {\n\n static __wrap(ptr) {\n const obj = Object.create(WasmTagObserveResult.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmtagobserveresult_free(ptr);\n }\n /**\n */\n get error() {\n var ret = wasm.__wbg_get_wasmtagobserveresult_error(this.ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set error(arg0) {\n wasm.__wbg_set_wasmtagobserveresult_error(this.ptr, arg0);\n }\n /**\n */\n get tag_observe_pointer() {\n var ret = wasm.__wbg_get_wasmtagobserveresult_tag_observe_pointer(this.ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set tag_observe_pointer(arg0) {\n wasm.__wbg_set_wasmtagobserveresult_tag_observe_pointer(this.ptr, arg0);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n 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);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL('hakuban_bg.wasm', import.meta.url);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n var ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cb_drop = function(arg0) {\n const obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n var ret = false;\n return ret;\n };\n imports.wbg.__wbg_debug_6e114a5b27d7915d = function(arg0) {\n console.debug(getObject(arg0));\n };\n imports.wbg.__wbg_error_ca520cb687b085a1 = function(arg0) {\n console.error(getObject(arg0));\n };\n imports.wbg.__wbg_info_32ab782ec7072fac = function(arg0) {\n console.info(getObject(arg0));\n };\n imports.wbg.__wbg_log_fbd13631356d44e4 = function(arg0) {\n console.log(getObject(arg0));\n };\n imports.wbg.__wbg_warn_97f10a6b0dbb8c5c = function(arg0) {\n console.warn(getObject(arg0));\n };\n imports.wbg.__wbg_now_5fa0ca001e042f8a = function(arg0) {\n var ret = getObject(arg0).now();\n return ret;\n };\n imports.wbg.__wbg_newnoargs_f579424187aa1717 = function(arg0, arg1) {\n var ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_get_8bbb82393651dd9c = function() { return handleError(function (arg0, arg1) {\n var ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_call_89558c3e96703ca1 = function() { return handleError(function (arg0, arg1) {\n var ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_call_94697a95cb7e239c = function() { return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_new_4beacc9c71572250 = function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_120(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n var ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_resolve_4f8f547f26b30b27 = function(arg0) {\n var ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_a6860c82b90816ca = function(arg0, arg1) {\n var ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_58a04e42527f52c6 = function(arg0, arg1, arg2) {\n var ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_self_e23d74ae45fb17d1 = function() { return handleError(function () {\n var ret = self.self;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_window_b4be7f48b24ac56e = function() { return handleError(function () {\n var ret = window.window;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_globalThis_d61b1f48a57191ae = function() { return handleError(function () {\n var ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_global_e7669da72fd7f239 = function() { return handleError(function () {\n var ret = global.global;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n var ret = getObject(arg0) === undefined;\n return ret;\n };\n imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n var ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_693216e109162396 = function() {\n var ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function(arg0, arg1) {\n var ret = getObject(arg1).stack;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_error_09919627ac0992f5 = function(arg0, arg1) {\n try {\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n var ret = debugString(getObject(arg1));\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_closure_wrapper2024 = function(arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 490, __wbg_adapter_16);\n return addHeapObject(ret);\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\nexport default init;\n\n","\nclass Queue\n\n\tconstructor: ->\n\t\t@queue = []\n\t\t@wake = null\n\t\n\tpush: (value)->\n\t\t@queue.push(value)\n\t\tif @wake?\n\t\t\t@wake()\n\t\t\t@wake = null\n\t\n\tshift: ->\n\t\tloop\n\t\t\tvalue = @queue.shift()\n\t\t\tif value?\n\t\t\t\treturn value\n\t\t\telse\n\t\t\t\tthrow \"2 concurrent shifts on a single queue\" if @wake?\n\t\t\t\tawait new Promise (@wake)=> null\n\t\n\tclear: ->\n\t\t@queue = []\n\n\nexport class ObjectManagerBuilder\n\n\tconstructor: (@contract, @managed_object_class)->\n\t\t@_on_exception_policy = \"retry\"\n\t\t@_retry_backoff = [0.01, 0.1, 1.0, 10.0]\n\t\t@_terminate_on_deactivation = false\n\t\t\n\ton_exception: (policy)->\n\t\t@_on_exception_policy = policy\n\t\t@\n\n\t#terminate_on_deactivation: ()->\n\t#\t@terminate_on_deactivation = true\n\t#\t@\n\n\tretry_backoff: (times)->\n\t\t@_retry_backoff = times\n\t\t@\n\n\twith_async: (block)->\n\t\tnew ObjectManager(@contract, @managed_object_class, block, @_retry_backoff, @_terminate_on_deactivation, @_on_exception_policy)\n\n\nexport class ObjectManager\n\tconstructor: (@contract, object_class, block, retry_backoff, terminate_on_deactivation, on_exception_policy)->\n\t\t@_existing_objects = {}\n\t\t@_active_objects = {}\n\t\t@event_queue = new Queue()\n\n\t\t#TODO: make one loop out of following two\n\n\t\tevent_loop_stop_requested = new Promise (@event_loop_stop)=> null\n\t\t@event_loop_stopped = new Promise (resolve, reject)=>\n\t\t\tevents = @contract.events()\n\t\t\twhile event = await Promise.race([events.next(), event_loop_stop_requested])\n\t\t\t\tbreak if not event?\n\t\t\t\t@event_queue.push(event)\n\t\t\tevents.drop()\n\t\t\tresolve()\n\n\t\t@async_loop_stopped = new Promise (resolve, reject)=>\n\t\t\twhile (event = await @event_queue.shift())?\n\t\t\t\tswitch event.action\n\t\t\t\t\twhen \"Insert\", \"Change\", \"Remove\", \"Stopped\", \"Timer\"\n\t\t\t\t\t\tobject = @_existing_objects[event.descriptor.hash()] ||= new object_class(@contract, event.descriptor)\n\t\t\t\t\t\tif !object.running and object.block_result?\n\t\t\t\t\t\t\terror = await object.block_result\n\t\t\t\t\t\t\tobject.block_result = null\n\t\t\t\t\t\t\tif object.last_exception_at?\n\t\t\t\t\t\t\t\tinterval_since_last_exception = Date.now() - object.last_exception_at\n\t\t\t\t\t\t\t\theal_multiplier = 10\n\t\t\t\t\t\t\t\tobject.current_delay_index -= Math.floor(interval_since_last_exception / (retry_backoff[retry_backoff.length-1]*1000.0*heal_multiplier))\n\t\t\t\t\t\t\t\tobject.current_delay_index = 0 if object.current_delay_index < 0\n\t\t\t\t\t\t\tif error?\n\t\t\t\t\t\t\t\tswitch on_exception_policy\n\t\t\t\t\t\t\t\t\twhen \"throw\", \"raise\"\n\t\t\t\t\t\t\t\t\t\tthrow error.exception\n\t\t\t\t\t\t\t\t\twhen \"retry\"\n\t\t\t\t\t\t\t\t\t\tobject.last_exception_at = Date.now()\n\t\t\t\t\t\t\t\t\t\tobject.earliest_next_run = Date.now() + retry_backoff[object.current_delay_index]*1000.0\n\t\t\t\t\t\t\t\t\t\t#wrapped to avoid weird capture effects of coffee\n\t\t\t\t\t\t\t\t\t\t((lambda_sleep_time, lambda_descriptor, lambda_event_queue)-> \n\t\t\t\t\t\t\t\t\t\t\tsetTimeout((()=>lambda_event_queue.push({action: \"Timer\", descriptor: lambda_descriptor})),lambda_sleep_time)\n\t\t\t\t\t\t\t\t\t\t)(object.earliest_next_run - Date.now(), event.descriptor, @event_queue)\n\t\t\t\t\t\t\t\t\t\tobject.current_delay_index += 1 if object.current_delay_index < retry_backoff.length - 1\n\t\t\t\t\t\t\t\t\t#when \"ignore_failing_descriptor\"\n\t\t\t\t\t\t\t\t\t#when \"drop_contract\"\n\t\t\t\t\t\tif object.check_active()\n\t\t\t\t\t\t\tif block? and !object.running and (!object.earliest_next_run? or Date.now() >= object.earliest_next_run)\n\t\t\t\t\t\t\t\tdescriptor_for_lambda = event.descriptor\n\t\t\t\t\t\t\t\tobject.running = true\n\t\t\t\t\t\t\t\t#wrapped to avoid weird capture effects of coffee\n\t\t\t\t\t\t\t\tobject.block_result = ((descriptor, object, block, event_queue)-> new Promise((resolve,reject)=>\n\t\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t\t\tawait object.run(block)\n\t\t\t\t\t\t\t\t\t\tresolve(undefined)\n\t\t\t\t\t\t\t\t\tcatch error\n\t\t\t\t\t\t\t\t\t\tconsole.error(\"Exception in hakuban manager lambda:\",error)\n\t\t\t\t\t\t\t\t\t\tresolve(error)\n\t\t\t\t\t\t\t\t\tfinally\n\t\t\t\t\t\t\t\t\t\tobject.running = false\n\t\t\t\t\t\t\t\t\t\tevent_queue.push({action: \"Stopped\", descriptor: descriptor_for_lambda})\n\t\t\t\t\t\t\t\t))(event.descriptor, object, block, @event_queue)\n\t\t\t\t\t\t\t@_active_objects[event.descriptor.hash()] ||= object\n\t\t\t\t\t\t\tobject.change()\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tdelete @_active_objects[event.descriptor.hash()]\n\t\t\t\t\t\t\tif object.running\n\t\t\t\t\t\t\t\tobject.stop()\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tdelete @_existing_objects[event.descriptor.hash()]\n\t\t\t\t\twhen \"Drop\"\n\t\t\t\t\t\t@event_loop_stop()\n\t\t\t\t\t\tawait @event_loop_stopped\n\t\t\t\t\t\tfor key, object of { @_existing_objects... }\n\t\t\t\t\t\t\tif object.running\n\t\t\t\t\t\t\t\tobject.stop()\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tdelete @_existing_objects[key]\n\t\t\t\t\t\twhile Object.keys(@_existing_objects).length > 0\n\t\t\t\t\t\t\tevent = await @event_queue.shift()\n\t\t\t\t\t\t\tif event.action == \"Stopped\"\n\t\t\t\t\t\t\t\tdelete @_existing_objects[event.descriptor.hash()]\n\t\t\t\t\t\t@event_queue.clear()\n\t\t\t\t\t\tdelete @_active_objects[key] for key in Object.keys(@_active_objects)\n\t\t\t\t\t\t@contract.drop()\n\t\t\t\t\t\t@contract = null\n\t\t\t\t\t\t@event_queue = null\n\t\t\t\t\t\tresolve()\n\t\t\t\t\t\treturn \n\t\t\t\t\telse\n\t\t\t\t\t\tthrow \"Unknown action: \" + event.action\n\t\t\treject(\"Queue died unexpectedly\")\n\t\t\n\tobjects: ()=> Object.values(@_active_objects)\n\tobject: ()=> Object.values(@_active_objects)[0]\n\n\tdrop: ()=>\n\t\tif @contract\n\t\t\t@event_queue.push(action: 'Drop')\n\t\t\tawait @async_loop_stopped\n\n\n\n\nexport class ManagedObject\n\tconstructor: (@contract, @descriptor)->\n\t\t@_changes = new Queue()\n\t\t@current_delay_index = 0\n\n\trun: (handler)=>\n\t\tawait handler(@)\n\n\tnext_event: ()=> @next_change()\n\tnext_change: ()=>\n\t\tloop\n\t\t\tswitch await @_changes.shift()\n\t\t\t\twhen \"change\" then return true\n\t\t\t\twhen \"stop\" then return false\n\n\tchange: ()=>\n\t\t@_changes.push(\"change\")\n\n\tstop: ()=>\n\t\t@_changes.push(\"stop\")\n\n","import * as hakuban_js from \"../pkg/hakuban.js\"\nimport * as manager from \"./manager.coffee\"\n\nlogger_initialized = false\n\nexport initialize_wasm = (wasm)->\n\t\tawait hakuban_js.default(wasm)\n\nexport logger_initialize = (log_level, skip_if_already_initialized=false) ->\n\t\tif logger_initialized and skip_if_already_initialized\n\t\t\treturn true\n\n\t\tif 0 == (error = await hakuban_js.hakuban_logger_initialize(log_level))\n\t\t\tlogger_initialized = true\n\t\telse\n\t\t\tconsole.error \"Failed to initialize logger, error \" + error \n\t\t\tfalse\n\n\nraise_if_error = (error_code)->\n\tif error_code != 0\n\t\tthrow \"Hakuban error: \"+error_code\n\n\nexport JSON_serialize = (data_type, cooked)->\n\t{\n\t\tdata_type: [\"JSON\"].concat(data_type)\n\t\tdata: new TextEncoder().encode(JSON.stringify(cooked))\n\t}\n\nexport JSON_deserialize = (data_type, raw)-> \n\tthrow \"Expected JSON data_type, got: \"+data_type if data_type.length == 0 or data_type[0] != \"JSON\"\n\t{\n\t\tdata_type: data_type.slice(1)\n\t\tdata: JSON.parse(new TextDecoder().decode(raw))\n\t}\n\n\nexport class ObjectDescriptor\n\tconstructor: (tags, @json) -> @tags = ((if tag instanceof TagDescriptor then tag else new TagDescriptor(tag)) for tag in tags)\n\tas_json: ()->JSON.stringify(tags: @tags.map((tag)->tag.json), json: @json)\n\thash: ()-> \n\t\tif not @_hash?\n\t\t\t@_hash = @tags.map((tag)->tag.hash().toString()).sort().join(\",\") + \"|\"\n\t\t\tret = hakuban_js.hakuban_json_hash(JSON.stringify(@json))\n\t\t\traise_if_error(ret.error)\n\t\t\t@_hash += ret.hash.toString()\n\t\t@_hash\n\t\n\n\nexport class TagDescriptor\n\tconstructor: (@json) -> null\n\tas_json: ()->JSON.stringify(@json)\n\thash: ()-> \n\t\tif not @_hash?\n\t\t\tret = hakuban_js.hakuban_json_hash(JSON.stringify(@json))\n\t\t\traise_if_error(ret.error)\n\t\t\t@_hash = ret.hash\n\t\t@_hash\n\n\n\n\nLocalNode_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_local_node_drop(pointer)\n\nexport class LocalNode\n\tconstructor: (@name=\"wasm\") ->\n\t\tlogger_initialize(\"warn\", true)\n\t\tresult = hakuban_js.hakuban_local_node_new(@name)\n\t\traise_if_error(result.error)\n\t\t@pointer = result.local_node_pointer\n\t\tLocalNode_finalization_registry.register(@, @pointer, @)\n\t\t@with_default_serializer(JSON_serialize)\n\t\t@with_default_deserializer(JSON_deserialize)\n\n\tdestroy: () ->\n\t\thakuban_js.hakuban_local_node_drop(@pointer)\n\t\tLocalNode_finalization_registry.unregister(@)\n\n\tobject: (tags, json) ->\n\t\tnew ObjectBuilder(@, @default_serializer, @default_deserializer, tags, json)\n\n\ttag: (json) ->\n\t\tnew TagBuilder(@, @default_serializer, @default_deserializer, json)\n\n\twith_default_serializer: (@default_serializer) -> @\n\twith_default_deserializer: (@default_deserializer) -> @\n\n\nclass ObjectBuilder\n\tconstructor: (@local_node, @serializer, @deserializer, @tags, @json) -> null\n\tobserve: () -> new ObjectObserve(@local_node, new ObjectDescriptor(@tags, @json), @deserializer)\n\texpose: () -> new ObjectExpose(@local_node, new ObjectDescriptor(@tags, @json), @serializer)\n\twith_serializer: (@serializer) -> @\n\twith_deserializer: (@deserializer) -> @\n\nclass TagBuilder\n\tconstructor: (@local_node, @serializer, @deserializer, @json) -> null\n\tobserve: () -> new TagObserve(@local_node, new TagDescriptor(@json), @deserializer)\n\texpose: () -> new TagExpose(@local_node, new TagDescriptor(@json), @serializer)\n\twith_serializer: (@serializer) -> @\n\twith_deserializer: (@deserializer) -> @\n\n\n\nObjectDescriptorEvents_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_object_descriptor_events_drop(pointer)\n\nclass ObjectDescriptorEvents\n\n\tconstructor: (@pointer)->\n\t\tObjectDescriptorEvents_finalization_registry.register(@, @pointer, @)\n\n\twait: ()=>next()\n\tnext: ()=>\n\t\t@wait_released = new Promise (@wait_release)=>null\n\t\tcancel_waiting_promise = new Promise (resolve)=> @cancel_waiting_resolve = resolve\n\t\tnext_event_promise = hakuban_js.hakuban_object_descriptor_events_next(@pointer, cancel_waiting_promise)\n\t\tnext_event_promise.cancel = (value)=>\n\t\t\t@cancel_waiting_resolve.resolve(value)\n\t\t\tawait next_event_promise\n\t\tnext_event_promise.then (value)=>\n\t\t\t@wait_release()\n\t\t\t@wait_released = null\n\t\t\t@cancel_waiting_resolve = null\n\t\t\tparsed = JSON.parse(value)\n\t\t\t{ action: parsed.action, descriptor: new ObjectDescriptor(parsed.key.tags, parsed.key.json) }\n\n\tdrop: ()=>\n\t\tif @cancel_waiting_resolve?\n\t\t\t@cancel_waiting_resolve()\n\t\t\tawait @wait_released\n\t\tObjectDescriptorEvents_finalization_registry.unregister(@)\n\t\thakuban_js.hakuban_object_descriptor_events_drop(@pointer)\n\t\t@pointer = null\n\n\n\nObjectObserve_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_object_observe_drop(pointer)\n\nclass ObjectObserve\n\n\tconstructor: (@local_node, @descriptor, @deserializer) ->\n\t\tresult = hakuban_js.hakuban_object_observe_new(@local_node.pointer, @descriptor.as_json())\n\t\traise_if_error(result.error)\n\t\t@pointer = result.object_observe_pointer\n\t\tObjectObserve_finalization_registry.register(@, @pointer, @)\n\t\t@dropped = false\n\t\n\tdrop: ()=>\n\t\t@dropped = true\n\t\thakuban_js.hakuban_object_observe_drop(@pointer)\n\t\tObjectObserve_finalization_registry.unregister(@)\n\t\t@pointer = null\n\n\tobject_state: ()=>\n\t\treturn null if not @pointer?\n\t\tstate_pointer = hakuban_js.hakuban_object_observe_state_borrow(@pointer)\n\t\treturn null if state_pointer == 0\n\t\tsynchronized = hakuban_js.hakuban_object_observe_state_synchronized(state_pointer)\n\t\tversion = JSON.parse(hakuban_js.hakuban_object_observe_state_data_version(state_pointer))\n\t\tdata_type = JSON.parse(hakuban_js.hakuban_object_observe_state_data_type(state_pointer))\n\t\traw = hakuban_js.hakuban_object_observe_state_data(state_pointer)\n\t\thakuban_js.hakuban_object_observe_state_return(state_pointer)\n\t\tdeserialized = @deserializer(data_type, raw)\n\t\t{\n\t\t\tversion: version\n\t\t\tdata: deserialized.data\n\t\t\tdata_type: deserialized.data_type\n\t\t\tsynchronized: synchronized\n\t\t}\n\n\tevents: ()=>\n\t\tnew ObjectDescriptorEvents(hakuban_js.hakuban_object_observe_events_get(@pointer))\n\n\tmanage: ()=>\t\n\t\tclass ManagedObject extends manager.ManagedObject\n\t\t\tstate: ()->\n\t\t\t\t@contract?.object_state()\n\t\t\tdata: ()->\n\t\t\t\t@contract?.object_state()?.data\n\t\t\tcheck_active: ()->\n\t\t\t\t!!@state()\n\n\t\tnew manager.ObjectManagerBuilder(@, ManagedObject)\n\n\nObjectExpose_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_object_expose_drop(pointer)\n\nclass ObjectExpose\n\tconstructor: (@local_node, @descriptor, @serializer)->\n\t\tresult = hakuban_js.hakuban_object_expose_new(@local_node.pointer, @descriptor.as_json())\n\t\traise_if_error(result.error)\n\t\t@pointer = result.object_expose_pointer\n\t\tObjectExpose_finalization_registry.register(@, @pointer, @)\n\t\t@dropped = false\n\n\tdrop: ()=>\n\t\t@dropped = true\n\t\thakuban_js.hakuban_object_expose_drop(@pointer)\n\t\tObjectExpose_finalization_registry.unregister(@)\n\n\tset_object_state: (version, cooked_data, data_type=[], assignment=0)=>\n\t\tserialized = @serializer(data_type, cooked_data)\n\t\tassignment = BigInt(assignment) if not (typeof assignment == 'bigint')\n\t\tresult = hakuban_js.hakuban_object_expose_set_state(@pointer, JSON.stringify(version), JSON.stringify(serialized.data_type), serialized.data, assignment)\n\t\traise_if_error(result.error)\n\t\tresult.changed\n\n\tassignment: ()=>\n\t\thakuban_js.hakuban_object_expose_assignment(@pointer)\n\n\tassigned: ()=>\n\t\t@assignment() > 0\n\n\tdesynchronize: (assignment)=>\n\t\tassignment = BigInt(assignment) if not (typeof assignment == 'bigint')\n\t\thakuban_js.hakuban_object_expose_desynchronize(@pointer, assignment)\n\n\tevents: ()=>\n\t\tnew ObjectDescriptorEvents(hakuban_js.hakuban_object_expose_events_get(@pointer))\n\n\tmanage: ()=>\t\n\t\tclass ManagedObject extends manager.ManagedObject\n\t\t\tconstructor: (contract, descriptor)->\n\t\t\t\tsuper(contract, descriptor)\n\t\t\t\t@_assignment = contract.assignment()\n\t\t\trun: (handler)=>\n\t\t\t\tawait super(handler)\n\t\t\t\t@contract?.desynchronize(@_assignment)\n\t\t\tdo_change: (change)=>\n\t\t\t\t@_assignment = @contract?.assignment()\n\t\t\t\tsuper(change)\n\t\t\tassignment: ()=>\n\t\t\t\t@contract?.assignment()\n\t\t\tassigned: ()=>\n\t\t\t\t@contract?.assigned()\n\t\t\tset_state: (version, cooked_data, data_type=[])=>\n\t\t\t\t@contract?.set_object_state(version, cooked_data, data_type, @_assignment)\n\t\t\tset_data: (data)=>\n\t\t\t\ttimestamp = new Date().getTime()\n\t\t\t\t@set_state([1, Math.floor(timestamp/1000), timestamp - Math.floor(timestamp/1000)*1000, 0], data)\n\t\t\tcheck_active: ()->\n\t\t\t\t@assigned()\n\n\t\tnew manager.ObjectManagerBuilder(@, ManagedObject)\n\n\nTagObserve_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_tag_observe_drop(pointer)\n\nclass TagObserve\n\tconstructor: (@local_node, @descriptor, @deserializer) ->\n\t\tresult = hakuban_js.hakuban_tag_observe_new(@local_node.pointer, @descriptor.as_json())\n\t\traise_if_error(result.error)\n\t\t@pointer = result.tag_observe_pointer\n\t\tTagObserve_finalization_registry.register(@, @pointer, @)\n\t\t@dropped = false\n\t\n\tdrop: ()=>\n\t\t@dropped = true\n\t\thakuban_js.hakuban_tag_observe_drop(@pointer)\n\t\tTagObserve_finalization_registry.unregister(@)\n\n\tobject_descriptors: ()=>\n\t\tresult = hakuban_js.hakuban_tag_observe_object_descriptors(@pointer)\n\t\tfor descriptor_as_json in JSON.parse(result)\n\t\t\tnew ObjectDescriptor(descriptor_as_json.tags, descriptor_as_json.json)\n\n\tobject_state: (object_descriptor)=>\n\t\tresult = hakuban_js.hakuban_tag_observe_object_state_borrow(@pointer, object_descriptor.as_json())\n\t\treturn null if result.error == 4\n\t\treturn null if result.state_pointer == 0\n\t\tsynchronized = hakuban_js.hakuban_object_observe_state_synchronized(result.state_pointer)\n\t\tversion = JSON.parse(hakuban_js.hakuban_object_observe_state_data_version(result.state_pointer))\n\t\tdata_type = JSON.parse(hakuban_js.hakuban_object_observe_state_data_type(result.state_pointer))\n\t\traw = hakuban_js.hakuban_object_observe_state_data(result.state_pointer)\n\t\thakuban_js.hakuban_object_observe_state_return(result.state_pointer)\n\t\tdeserialized = @deserializer(data_type, raw)\n\t\t{\n\t\t\tversion: version\n\t\t\tdata: deserialized.data\n\t\t\tdata_type: deserialized.data_type\n\t\t\tsynchronized: synchronized\n\t\t}\n\n\tevents: ()->\n\t\tnew ObjectDescriptorEvents(hakuban_js.hakuban_tag_observe_events_get(@pointer))\n\n\n\tmanage: ()->\n\t\tclass ManagedObject extends manager.ManagedObject\n\t\t\tstate: ()->\n\t\t\t\t@contract?.object_state(@descriptor)\n\t\t\tdata: ()->\n\t\t\t\t@contract?.object_state(@descriptor)?.data\n\t\t\tcheck_active: ()->\n\t\t\t\t!!@state()\n\n\t\tnew manager.ObjectManagerBuilder(@, ManagedObject)\n\n\nTagExpose_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_tag_expose_drop(pointer)\n\nclass TagExpose\n\tconstructor: (@local_node, @descriptor, @serializer)->\n\t\tresult = hakuban_js.hakuban_tag_expose_new(@local_node.pointer, @descriptor.as_json())\n\t\traise_if_error(result.error)\n\t\t@pointer = result.tag_expose_pointer\n\t\tTagExpose_finalization_registry.register(@, @pointer, @)\n\t\t@dropped = false\n\t\n\tdrop: ()=>\n\t\t@dropped = true\n\t\thakuban_js.hakuban_tag_expose_drop(@pointer)\n\t\tTagExpose_finalization_registry.unregister(@)\n\n\tobject_descriptors: ()=>\n\t\tresult = hakuban_js.hakuban_tag_expose_object_descriptors(@pointer)\n\t\tfor descriptor_as_json in JSON.parse(result)\n\t\t\tnew ObjectDescriptor(descriptor_as_json.tags, descriptor_as_json.json)\n\n\tset_object_state: (object_descriptor, version, cooked_data, data_type=[], assignment=0)=>\n\t\tserialized = @serializer(data_type, cooked_data)\n\t\tassignment = BigInt(assignment) if not (typeof assignment == 'bigint')\n\t\tresult = hakuban_js.hakuban_tag_expose_set_object_state(@pointer, object_descriptor.as_json(), JSON.stringify(version), JSON.stringify(serialized.data_type), serialized.data, assignment)\n\t\traise_if_error(result.error)\n\t\tresult.changed\n\n\tassignment: (object_descriptor)=>\n\t\tresult = hakuban_js.hakuban_tag_expose_assignment(@pointer, object_descriptor.as_json())\n\t\traise_if_error(result.error)\n\t\tresult.assignment\n\n\tassigned: (object_descriptor)=>\n\t\t@assignment(object_descriptor) > 0\n\n\tdesynchronize: (object_descriptor, assignment)=>\n\t\tassignment = BigInt(assignment) if not (typeof assignment == 'bigint')\n\t\terror = hakuban_js.hakuban_tag_expose_desynchronize(@pointer, object_descriptor.as_json(), assignment)\n\t\traise_if_error(error)\n\n\tevents: ()=>\n\t\tnew ObjectDescriptorEvents(hakuban_js.hakuban_tag_expose_events_get(@pointer))\n\n\tmanage: ()=>\t\n\t\tclass ManagedObject extends manager.ManagedObject\n\t\t\tconstructor: (contract, descriptor)->\n\t\t\t\tsuper(contract, descriptor)\n\t\t\t\t@_assignment = contract.assignment(@descriptor)\n\t\t\trun: (handler)=>\n\t\t\t\tawait super(handler)\n\t\t\t\t@contract?.desynchronize(@descriptor, @_assignment)\n\t\t\tdo_change: (change)=>\n\t\t\t\t@_assignment = @contract?.assignment(@descriptor)\n\t\t\t\tsuper(change)\n\t\t\tassignment: ()=>\n\t\t\t\t@contract?.assignment(@descriptor)\n\t\t\tassigned: ()=>\n\t\t\t\t@contract?.assigned(@descriptor)\n\t\t\tset_state: (version, cooked_data, data_type=[])=>\n\t\t\t\t@contract?.set_object_state(@descriptor, version, cooked_data, data_type, @_assignment)\n\t\t\tset_data: (data)=>\n\t\t\t\ttimestamp = new Date().getTime()\n\t\t\t\t@set_state([1, Math.floor(timestamp/1000), timestamp - Math.floor(timestamp/1000)*1000, 0], data)\n\t\t\tcheck_active: ()->\n\t\t\t\t@assigned()\n\n\t\tnew manager.ObjectManagerBuilder(@, ManagedObject)\n\n\nWebsocketConnector_finalization_registry = new FinalizationRegistry (pointer)=>\n\thakuban_js.hakuban_remote_node_drop(pointer)\n\n#TODO: hide private methods\n#TODO: handle errors somehow\nexport class WebsocketConnector\n\n\tconstructor: (@local_node, @uri, @options={})->\n\t\t@connected = false\n\t\t@socket = undefined\n\t\t@error = undefined\n\t\t@reconnection_timer = undefined\n\t\t@reconnect_on_close = true\n\t\t@ack_timer = undefined\n\t\tresult = hakuban_js.hakuban_remote_node_new(@local_node.pointer, true, true, true)\n\t\traise_if_error(result.error)\t\t\n\t\t@remote_node_pointer = result.remote_node_pointer\n\t\t@event_loop_stop = new Promise (resolve) => @event_loop_stop_resolve = resolve\n\t\t@event_loop_promise = @event_loop()\n\t\tWebsocketConnector_finalization_registry.register(@, @remote_node_pointer, @)\n\t\t@connect()\n\n\tdestroy: () ->\n\t\t@event_loop_stop_resolve([\"stop\"])\n\t\tawait @event_loop_promise\n\t\t@reconnect_on_close = false\n\t\tif @keep_alive_interval\n\t\t\tclearInterval(@keep_alive_interval) \n\t\tif @reconnection_timer?\n\t\t\tclearTimeout(@reconnection_timer)\n\t\t\t@reconnection_timer = null\n\t\tif @socket?\n\t\t\t@socket.onclose = null\n\t\t\t@socket.onerror = null\n\t\t\t@socket.onmessage = null\n\t\t\t@socket.close()\n\t\t\t@socket_onclose()\n\t\tif @ack_timer?\n\t\t\tclearTimeout(@ack_timer)\n\t\t\t@ack_timer = null\n\t\thakuban_js.hakuban_remote_node_drop(@remote_node_pointer)\n\t\tWebsocketConnector_finalization_registry.unregister(@)\n\n\t\t\n\tconnect: ()=>\n\t\t@reconnection_timer = undefined\n\n\t\ttry\n\t\t\t@socket = new WebSocket(@uri)\n\t\tcatch error\n\t\t\t@error = { while: \"connecting\", error: error }\n\t\t\t@onstatuschange_proc(@) if @onstatuschange_proc?\n\t\t\treturn false\n\n\t\t@socket.binaryType = \"arraybuffer\"\n\n\t\t@socket.onopen = ()=>\n\t\t\tconsole.debug('Connected to hakuban remote node') if @options.debug\n\t\t\t@connected = true\n\t\t\t@error = undefined\n\t\t\t@onstatuschange_proc(@) if @onstatuschange_proc?\n\t\t\tbytes_to_send = hakuban_js.hakuban_remote_node_connected(@remote_node_pointer)\n\t\t\t@send(bytes_to_send)\n\n\t\t@socket.onclose = @socket_onclose = ()=>\n\t\t\tconsole.debug('Disconnected from hakuban remote node') if @options.debug\n\t\t\tclearInterval(@keep_alive_interval) if @keep_alive_interval\n\t\t\t@connected = false\n\t\t\t@socket = undefined\n\t\t\thakuban_js.hakuban_remote_node_disconnected(@remote_node_pointer)\n\t\t\t@onstatuschange_proc(@) if @onstatuschange_proc?\n\t\t\tclearTimeout(@reconnection_timer) if @reconnection_timer?\n\t\t\t@reconnection_timer = null\n\t\t\t@reconnection_timer = setTimeout(@connect, 1000) if @reconnect_on_close\n\n\t\t@socket.onerror = (error)=>\n\t\t\tconsole.debug('Hakuban socket error', error) if @options.debug\n\t\t\t@error = { while: \"connected\", error: error }\n\n\t\t@socket.onmessage = (event) =>\n\t\t\tbytes_to_send = hakuban_js.hakuban_remote_node_received_message(@remote_node_pointer, new Uint8Array(event.data))\n\t\t\t@send(bytes_to_send)\n\t\t\tclearTimeout(@ack_timer) if @ack_timer?\n\t\t\t@ack_timer = setTimeout(@ack, 1000)\n\t\t\tnull\n\n\tping: ()=>\n\t\t@socket.send(new Uint8Array()) if @socket\n\n\tsend: (bytes_to_send)=>\n\t\tif bytes_to_send.length > 0\n\t\t\t@socket.send(bytes_to_send)\n\t\t\tclearInterval(@keep_alive_interval) if @keep_alive_interval\n\t\t\t@keep_alive_interval = setInterval(@ping, 10000)\n\n\tack: ()=>\n\t\tif @socket?\n\t\t\tbytes_to_send = hakuban_js.hakuban_remote_node_ack(@remote_node_pointer)\n\t\t\t@send(bytes_to_send) if bytes_to_send.length > 0\n\n\tevent_loop: ()->\n\t\tnext_local_node_event = false\n\t\tcancel_waiting_resolve = null\n\t\tcancel_waiting_promise = new Promise (resolve) -> cancel_waiting_resolve = resolve\n\t\twhile true\n\t\t\tnext_local_node_event = hakuban_js.hakuban_remote_node_next_local_node_event(@remote_node_pointer, cancel_waiting_promise).then((event)->[\"local_node_event\", event]) if not next_local_node_event\n\t\t\t[promise, event] = await Promise.any([@event_loop_stop, next_local_node_event])\n\t\t\tif promise == \"local_node_event\"\n\t\t\t\tnext_local_node_event = false\n\t\t\t\tsetTimeout(((event)=>\n\t\t\t\t\tif @connected\n\t\t\t\t\t\tbytes_to_send = hakuban_js.hakuban_remote_node_received_local_node_event(@remote_node_pointer, event)\n\t\t\t\t\t\t@send(bytes_to_send)\n\t\t\t\t), 0, event)\n\t\t\telse\n\t\t\t\tbreak\n\t\tif next_local_node_event\n\t\t\tcancel_waiting_resolve(true)\n\t\t\tawait next_local_node_event\n\n\tonstatuschange: (proc)->\n\t\t@onstatuschange_proc = proc\n\t\t@onstatuschange_proc() if @onstatuschange_proc?\n\t\t@\n","import { initialize_wasm } from \"./common.coffee\"\nimport hakuban_wasm_base64 from \"../pkg/hakuban_bg.wasm\"\n\nexport * from './common.coffee'\n\nexport initialize = ()->\n\t# wow, this is disgusting\n\twasm_string = atob(hakuban_wasm_base64)\n\twasm_array = new Uint8Array(wasm_string.length)\n\tfor i in [0..wasm_string.length]\n\t\twasm_array[i] = wasm_string.charCodeAt(i) \n\tawait initialize_wasm(wasm_array)\n\n\n"],"names":["hakuban_js.default","hakuban_js.hakuban_logger_initialize","hakuban_js.hakuban_json_hash","hakuban_js.hakuban_local_node_drop","hakuban_js.hakuban_local_node_new","hakuban_js.hakuban_object_descriptor_events_drop","hakuban_js.hakuban_object_descriptor_events_next","hakuban_js.hakuban_object_observe_drop","hakuban_js.hakuban_object_observe_new","hakuban_js.hakuban_object_observe_state_borrow","hakuban_js.hakuban_object_observe_state_synchronized","hakuban_js.hakuban_object_observe_state_data_version","hakuban_js.hakuban_object_observe_state_data_type","hakuban_js.hakuban_object_observe_state_data","hakuban_js.hakuban_object_observe_state_return","hakuban_js.hakuban_object_observe_events_get","ManagedObject","manager.ManagedObject","manager.ObjectManagerBuilder","hakuban_js.hakuban_object_expose_drop","hakuban_js.hakuban_object_expose_new","hakuban_js.hakuban_object_expose_set_state","hakuban_js.hakuban_object_expose_assignment","hakuban_js.hakuban_object_expose_desynchronize","hakuban_js.hakuban_object_expose_events_get","hakuban_js.hakuban_tag_observe_drop","hakuban_js.hakuban_tag_observe_new","hakuban_js.hakuban_tag_observe_object_descriptors","hakuban_js.hakuban_tag_observe_object_state_borrow","hakuban_js.hakuban_tag_observe_events_get","hakuban_js.hakuban_tag_expose_drop","hakuban_js.hakuban_tag_expose_new","hakuban_js.hakuban_tag_expose_object_descriptors","hakuban_js.hakuban_tag_expose_set_object_state","hakuban_js.hakuban_tag_expose_assignment","hakuban_js.hakuban_tag_expose_desynchronize","hakuban_js.hakuban_tag_expose_events_get","hakuban_js.hakuban_remote_node_drop","hakuban_js.hakuban_remote_node_new","hakuban_js.hakuban_remote_node_connected","hakuban_js.hakuban_remote_node_disconnected","hakuban_js.hakuban_remote_node_received_message","hakuban_js.hakuban_remote_node_ack","hakuban_js.hakuban_remote_node_next_local_node_event","hakuban_js.hakuban_remote_node_received_local_node_event"],"mappings":"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"}