@flipt-io/flipt-client-js 0.0.1-rc.1 → 0.0.1-rc.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../flipt_engine_wasm_js.js","../../src/core/types.ts","../../src/core/utils.ts","../../src/core/base.ts","../../src/node/index.ts"],"sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\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, 1) >>> 0;\n getUint8ArrayMemory0().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, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\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, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_export_4.set(idx, obj);\n return idx;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\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 && 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\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_4.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nconst EngineFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_engine_free(ptr >>> 0, 1));\n\nexport class Engine {\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EngineFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_engine_free(ptr, 0);\n }\n /**\n * @param {string} namespace\n */\n constructor(namespace) {\n const ptr0 = passStringToWasm0(namespace, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n EngineFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {any} data\n */\n snapshot(data) {\n const ret = wasm.engine_snapshot(this.__wbg_ptr, data);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_boolean(request) {\n const ret = wasm.engine_evaluate_boolean(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_variant(request) {\n const ret = wasm.engine_evaluate_variant(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_batch(request) {\n const ret = wasm.engine_evaluate_batch(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @returns {any}\n */\n list_flags() {\n const ret = wasm.engine_list_flags(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n}\n\nasync function __wbg_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\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_String_8f0eb39a4a4c2f66 = function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {\n const ret = arg0.buffer;\n return ret;\n };\n imports.wbg.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_done_769e5ede4b31c67b = function(arg0) {\n const ret = arg0.done;\n return ret;\n };\n imports.wbg.__wbg_entries_3265d4158b33e5dc = function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n };\n imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_getTime_46267b1c24877e30 = function(arg0) {\n const ret = arg0.getTime();\n return ret;\n };\n imports.wbg.__wbg_get_67b2ba62fc30de12 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_get_b9b93047fe3cf45b = function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n };\n imports.wbg.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) {\n const ret = arg0[arg1];\n return ret;\n };\n imports.wbg.__wbg_instanceof_ArrayBuffer_e14585432e3737fc = function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Uint8Array_17156bcf118086a9 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_isArray_a1eab7e0d067391b = function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n };\n imports.wbg.__wbg_iterator_9a24c88df860dc65 = function() {\n const ret = Symbol.iterator;\n return ret;\n };\n imports.wbg.__wbg_length_a446193dc22c12f8 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_length_e2d2a49132c1b256 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_new0_f788a2397c7ca929 = function() {\n const ret = new Date();\n return ret;\n };\n imports.wbg.__wbg_new_405e22f390576ce2 = function() {\n const ret = new Object();\n return ret;\n };\n imports.wbg.__wbg_new_78feb108b6472713 = function() {\n const ret = new Array();\n return ret;\n };\n imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n const ret = new Error();\n return ret;\n };\n imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n };\n imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_next_25feadfc0913fea9 = function(arg0) {\n const ret = arg0.next;\n return ret;\n };\n imports.wbg.__wbg_next_6574e1a8a62d1055 = function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) {\n const ret = arg0.now();\n return ret;\n };\n imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) {\n const ret = arg0.performance;\n return ret;\n };\n imports.wbg.__wbg_set_37837023f3d740e8 = function(arg0, arg1, arg2) {\n arg0[arg1 >>> 0] = arg2;\n };\n imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {\n arg0[arg1] = arg2;\n };\n imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) {\n arg0.set(arg1, arg2 >>> 0);\n };\n imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n const ret = arg1.stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_value_cd1ffa7b1ab794f1 = function(arg0) {\n const ret = arg0.value;\n return ret;\n };\n imports.wbg.__wbindgen_boolean_get = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;\n return ret;\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbindgen_in = function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_4;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n };\n imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return ret;\n };\n imports.wbg.__wbindgen_number_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbindgen_number_new = function(arg0) {\n const ret = arg0;\n return ret;\n };\n imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n wasm.__wbindgen_start();\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('flipt_engine_wasm_js_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","/**\n * Represents a specialized result object for variant evaluation, extending\n * the generic Result interface with a specific type VariantEvaluationResponse.\n */\nexport interface VariantResult extends Result<VariantEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for boolean evaluation, extending\n * the generic Result interface with a specific type BooleanEvaluationResponse.\n */\nexport interface BooleanResult extends Result<BooleanEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for batch evaluation, extending\n * the generic Result interface with a specific type BatchEvaluationResponse.\n */\nexport interface BatchResult extends Result<BatchEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for listing flags, extending\n * the generic Result interface with a specific type ListFlagsResponse.\n */\nexport interface ListFlagsResult extends Result<Flag[]> {}\n\nexport interface Result<T> {\n /** Status of the result - `success` or `failure`. */\n status: string;\n /** Actual result of type T if the operation was successful. */\n result?: T;\n /** Error message describing the reason for failure, if applicable.*/\n errorMessage: string;\n}\n\n/**\n * Minimal interface representing the Response properties we use\n */\nexport interface Response {\n ok: boolean;\n status: number;\n statusText: string;\n headers: {\n get(name: string): string | null;\n };\n json(): Promise<any>;\n}\n\n/**\n * Represents the options for a fetcher function.\n */\nexport interface IFetcherOptions {\n /**\n * ETag for the request.\n */\n etag?: string;\n}\n\n/**\n * Represents a function that fetches a response from a remote Flipt instance.\n */\nexport interface IFetcher {\n (opts?: IFetcherOptions): Promise<Response>;\n}\n\n/**\n * Authentication strategy for the client.\n */\nexport interface AuthenticationStrategy {}\n\n/**\n * Client Token Authentication.\n * @see {@link https://docs.flipt.io/authentication/using-tokens}.\n */\nexport interface ClientTokenAuthentication extends AuthenticationStrategy {\n /**\n * Flipt client token.\n */\n clientToken: string;\n}\n\n/**\n * JWT Authentication.\n * @see {@link https://docs.flipt.io/authentication/using-jwts}\n */\nexport interface JWTAuthentication extends AuthenticationStrategy {\n /**\n * JWT token.\n */\n jwtToken: string;\n}\n\nexport interface ClientOptions {\n /**\n * The namespace to use when evaluating flags.\n *\n * @defaultValue `default`\n */\n namespace?: string;\n /**\n * The URL of the upstream Flipt instance.\n *\n * @defaultValue `http://localhost:8080`\n */\n url?: string;\n /**\n * The interval (seconds) in which to fetch new flag state.\n * @defaultValue `120` seconds.\n */\n updateInterval?: number;\n /**\n * The authentication strategy to use when communicating with the upstream Flipt instance. If not provided, the client will default to no authentication.\n *\n * @remarks\n * Client supports the following authentication strategies: No Authentication, {@link ClientTokenAuthentication} and {@link JWTAuthentication}.\n */\n authentication?: AuthenticationStrategy;\n /**\n * The reference to use when fetching flag state. If not provided, reference will not be used.\n * @see {@link https://docs.flipt.io/guides/user/using-references}\n */\n reference?: string;\n\n /**\n * The fetcher to use when fetching flag state. If not provided, the client will default to a fetch function.\n */\n fetcher?: IFetcher;\n\n /**\n * The strategy to use for errors during refresh snapshot calls. {@link ErrorStrategy}\n */\n errorStrategy?: ErrorStrategy;\n}\n\n/**\n * Represents a request to evaluate a feature flag.\n */\nexport interface EvaluationRequest {\n /**\n * Feature flag key\n */\n flagKey: string;\n /**\n * Entity identifier\n */\n entityId: string;\n /**\n * Context information for flag evaluation\n *\n * @example\n * ```\n * {\n * fizz: 'buzz',\n * kind: 'small'\n * }\n * ```\n */\n context: object;\n}\n\n/**\n * Represents a feature flag in the system.\n */\nexport interface Flag {\n /**\n * Unique key for the flag.\n */\n key: string;\n /**\n * Status of the flag. For a Variant flag, this represents whether\n * the flag is enabled. For a Boolean flag, this represents the\n * default value.\n */\n enabled: boolean;\n /**\n * Type of the feature flag. This can be either 'BOOLEAN_FLAG_TYPE' or 'VARIANT_FLAG_TYPE'.\n */\n type: string;\n}\n\n/**\n * Represents the response returned after evaluating a feature flag variant.\n */\nexport interface VariantEvaluationResponse {\n /** Indicates whether the feature flag evaluation resulted in a match. */\n match: boolean;\n /** List of segment keys that were used to determine the match. */\n segmentKeys: string[];\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Variant key that was returned if the evaluation resulted in a match. */\n variantKey: string;\n /** Additional data attached to the variant if the evaluation resulted in a match. */\n variantAttachment: string;\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n /** Timestamp when the response was generated. */\n timestamp: string;\n}\n\n/**\n * Represents the response returned after evaluating a feature flag.\n */\nexport interface BooleanEvaluationResponse {\n /** Evaluation value of the flag. */\n enabled: boolean;\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n /** Timestamp when the response was generated. */\n timestamp: string;\n}\n\n/**\n * Represents the response returned when an error occurs during the evaluation of a feature flag.\n */\nexport interface ErrorEvaluationResponse {\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Key of the namespace in which the feature flag resides. */\n namespaceKey: string;\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n}\n\n/**\n * Represents a response object that encapsulates various types of evaluation results.\n */\nexport interface EvaluationResponse {\n /**\n * The type of evaluation response. Possible values include 'VARIANT_EVALUATION_RESPONSE_TYPE',\n * 'BOOLEAN_EVALUATION_RESPONSE_TYPE', or 'ERROR_EVALUATION_RESPONSE_TYPE'.\n */\n type: string;\n /** Boolean evaluation response base on the type */\n booleanEvaluationResponse?: BooleanEvaluationResponse;\n /** Variant evaluation response base on the type */\n variantEvaluationResponse?: VariantEvaluationResponse;\n /** Error evaluation response base on the type*/\n errorEvaluationResponse?: ErrorEvaluationResponse;\n}\n\n/**\n * Represents the response returned after batch evaluating multiple feature flags.\n */\nexport interface BatchEvaluationResponse {\n /** Array containing individual evaluation responses for each feature flag. */\n responses: EvaluationResponse[];\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n}\n\n/**\n * Defines the strategy to handle errors during the flags snapshot update calls.\n */\nexport enum ErrorStrategy {\n /** The client will throw an error if the flag state cannot be fetched. This is the default behavior. */\n Fail = 'fail',\n /** The client will maintain the last known good state and use that state for evaluation in case of an error. */\n Fallback = 'fallback'\n}\n","export function snakeToCamel(str: string): string {\n return str.replace(/([-_][a-z])/g, (group) =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n}\n\nexport function camelToSnake(str: string): string {\n return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);\n}\n\nexport function deserialize<T>(data: any): T {\n const result: any = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const camelKey = snakeToCamel(key);\n result[camelKey] = data[key];\n }\n }\n return result as T;\n}\n\nexport function serialize<T>(data: T): any {\n const result: any = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const snakeKey = camelToSnake(key);\n result[snakeKey] = (data as any)[key];\n }\n }\n return result;\n}\n","import {\n BatchEvaluationResponse,\n BooleanEvaluationResponse,\n ErrorEvaluationResponse,\n EvaluationRequest,\n EvaluationResponse,\n Flag,\n IFetcher,\n VariantEvaluationResponse,\n ErrorStrategy,\n Response,\n VariantResult,\n BooleanResult,\n BatchResult,\n ListFlagsResult\n} from './types';\n\nimport { deserialize, serialize } from './utils';\n\nexport abstract class BaseFliptClient {\n protected engine: any; // Type will be provided by platform implementations\n protected fetcher: IFetcher;\n protected etag?: string;\n protected errorStrategy?: ErrorStrategy;\n\n constructor(engine: any, fetcher: IFetcher) {\n this.engine = engine;\n this.fetcher = fetcher;\n }\n\n /**\n * Store etag from response for next requests\n */\n protected storeEtag(resp: Response) {\n const etag = resp.headers.get('etag');\n if (etag) {\n this.etag = etag;\n }\n }\n\n /**\n * Refresh the flags snapshot\n * @returns true if snapshot changed\n */\n public async refresh(): Promise<boolean> {\n try {\n const opts = { etag: this.etag };\n const resp = await this.fetcher(opts);\n\n const etag = resp.headers.get('etag');\n if (this.etag && this.etag === etag) {\n return false;\n }\n\n this.storeEtag(resp);\n\n const data = await resp.json();\n this.engine.snapshot(data);\n return true;\n } catch (error) {\n if (this.errorStrategy === ErrorStrategy.Fail) {\n throw error;\n }\n }\n return false;\n }\n\n /**\n * Evaluate a variant flag\n */\n public evaluateVariant({\n flagKey,\n entityId,\n context\n }: {\n flagKey: string;\n entityId: string;\n context: Record<string, unknown>;\n }): VariantEvaluationResponse {\n if (!flagKey || flagKey.trim() === '') {\n throw new Error('flagKey cannot be empty');\n }\n if (!entityId || entityId.trim() === '') {\n throw new Error('entityId cannot be empty');\n }\n\n const evaluationRequest: EvaluationRequest = {\n flagKey,\n entityId,\n context\n };\n\n const result: VariantResult | null = this.engine.evaluate_variant(\n serialize(evaluationRequest)\n );\n\n if (result === null) {\n throw new Error('Failed to evaluate variant');\n }\n\n const variantResult = deserialize<VariantResult>(result);\n\n if (variantResult.status === 'failure') {\n throw new Error(variantResult.errorMessage);\n }\n\n if (!variantResult.result) {\n throw new Error('Failed to evaluate variant');\n }\n\n return deserialize<VariantEvaluationResponse>(variantResult.result);\n }\n\n /**\n * Evaluate a boolean flag\n */\n public evaluateBoolean({\n flagKey,\n entityId,\n context\n }: {\n flagKey: string;\n entityId: string;\n context: Record<string, unknown>;\n }): BooleanEvaluationResponse {\n if (!flagKey || flagKey.trim() === '') {\n throw new Error('flagKey cannot be empty');\n }\n if (!entityId || entityId.trim() === '') {\n throw new Error('entityId cannot be empty');\n }\n\n const evaluationRequest: EvaluationRequest = {\n flagKey,\n entityId,\n context\n };\n\n const result: BooleanResult | null = this.engine.evaluate_boolean(\n serialize(evaluationRequest)\n );\n\n if (result === null) {\n throw new Error('Failed to evaluate boolean');\n }\n\n const booleanResult = deserialize<BooleanResult>(result);\n\n if (booleanResult.status === 'failure') {\n throw new Error(booleanResult.errorMessage);\n }\n\n if (!booleanResult.result) {\n throw new Error('Failed to evaluate boolean');\n }\n\n return deserialize<BooleanEvaluationResponse>(booleanResult.result);\n }\n\n /**\n * Evaluate a batch of flag requests\n */\n public evaluateBatch(requests: EvaluationRequest[]): BatchEvaluationResponse {\n const serializedRequests = requests.map(serialize);\n const batchResult: BatchResult | null =\n this.engine.evaluate_batch(serializedRequests);\n\n if (batchResult === null) {\n throw new Error('Failed to evaluate batch');\n }\n\n if (batchResult.status === 'failure') {\n throw new Error(batchResult.errorMessage);\n }\n\n if (!batchResult.result) {\n throw new Error('Failed to evaluate batch');\n }\n\n const responses = batchResult.result.responses\n .map((response): EvaluationResponse | undefined => {\n if (response.type === 'BOOLEAN_EVALUATION_RESPONSE_TYPE') {\n const booleanResponse = deserialize<BooleanEvaluationResponse>(\n // @ts-ignore\n response.boolean_evaluation_response\n );\n return {\n booleanEvaluationResponse: booleanResponse,\n type: 'BOOLEAN_EVALUATION_RESPONSE_TYPE'\n };\n }\n if (response.type === 'VARIANT_EVALUATION_RESPONSE_TYPE') {\n const variantResponse = deserialize<VariantEvaluationResponse>(\n // @ts-ignore\n response.variant_evaluation_response\n );\n return {\n variantEvaluationResponse: variantResponse,\n type: 'VARIANT_EVALUATION_RESPONSE_TYPE'\n };\n }\n if (response.type === 'ERROR_EVALUATION_RESPONSE_TYPE') {\n const errorResponse = deserialize<ErrorEvaluationResponse>(\n // @ts-ignore\n response.error_evaluation_response\n );\n return {\n errorEvaluationResponse: errorResponse,\n type: 'ERROR_EVALUATION_RESPONSE_TYPE'\n };\n }\n return undefined;\n })\n .filter(\n (response): response is EvaluationResponse => response !== undefined\n );\n\n return {\n responses,\n requestDurationMillis: batchResult.result.requestDurationMillis\n };\n }\n\n public listFlags(): Flag[] {\n const listFlagsResult: ListFlagsResult | null = this.engine.list_flags();\n\n if (listFlagsResult === null) {\n throw new Error('Failed to list flags');\n }\n\n const flags = deserialize<ListFlagsResult>(listFlagsResult);\n\n if (flags.status === 'failure') {\n throw new Error(flags.errorMessage);\n }\n\n if (!flags.result) {\n throw new Error('Failed to list flags');\n }\n\n return flags.result.map(deserialize<Flag>);\n }\n}\n","import init, { Engine } from '../../dist/flipt_engine_wasm_js.js';\nimport wasm from '../../dist/flipt_engine_wasm_js_bg.wasm';\nimport { BaseFliptClient } from '../core/base';\nimport { ClientOptions, ErrorStrategy } from '../core/types';\n\nexport class FliptClient extends BaseFliptClient {\n private updateInterval?: NodeJS.Timeout;\n\n /**\n * Initialize the client\n * @param namespace - optional namespace to evaluate flags\n * @param options - optional client options\n * @returns {Promise<FliptClient>}\n */\n static async init(\n options: ClientOptions = {\n namespace: 'default',\n url: 'http://localhost:8080',\n reference: '',\n updateInterval: 120,\n errorStrategy: ErrorStrategy.Fail\n }\n ): Promise<FliptClient> {\n const namespace = options.namespace ?? 'default';\n\n let url = options.url ?? 'http://localhost:8080';\n url = url.replace(/\\/$/, '');\n url = `${url}/internal/v1/evaluation/snapshot/namespace/${namespace}`;\n\n if (options.reference) {\n url = `${url}?reference=${options.reference}`;\n }\n\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'x-flipt-accept-server-version': '1.47.0'\n };\n\n if (options.authentication) {\n if ('clientToken' in options.authentication) {\n headers['Authorization'] =\n `Bearer ${options.authentication.clientToken}`;\n } else if ('jwtToken' in options.authentication) {\n headers['Authorization'] = `JWT ${options.authentication.jwtToken}`;\n }\n }\n\n let fetcher = options.fetcher;\n\n if (!fetcher) {\n // Dynamically import node-fetch only when needed\n const { default: fetch } = await import('node-fetch');\n\n fetcher = async (opts?: { etag?: string }) => {\n if (opts && opts.etag) {\n headers['If-None-Match'] = opts.etag;\n }\n\n const resp = await fetch(url, {\n method: 'GET',\n headers\n });\n\n if (!resp.ok && resp.status !== 304) {\n throw new Error(`Failed to fetch data: ${resp.statusText}`);\n }\n\n return resp;\n };\n }\n\n // Initialize WASM engine\n // @ts-ignore\n await init(await wasm());\n\n if (!fetcher) {\n throw new Error('Failed to initialize fetcher');\n }\n\n // handle case if they pass in a custom fetcher that doesn't throw on non-2xx status codes\n const resp = await fetcher();\n if (!resp.ok) {\n throw new Error(`Failed to fetch data: ${resp.statusText}`);\n }\n\n const data = await resp.json();\n const engine = new Engine(namespace);\n engine.snapshot(data);\n\n // We know fetcher is defined here since we checked above\n const client = new FliptClient(engine, fetcher);\n client.storeEtag(resp);\n client.errorStrategy = options.errorStrategy;\n\n // Setup auto-refresh if interval is provided\n if (options.updateInterval && options.updateInterval > 0) {\n client.setupAutoRefresh(options.updateInterval * 1000);\n }\n\n return client;\n }\n\n private setupAutoRefresh(interval: number = 120_000): void {\n this.cleanupAutoRefresh();\n this.updateInterval = setInterval(async () => {\n await this.refresh();\n }, interval);\n }\n\n private cleanupAutoRefresh(): void {\n if (this.updateInterval) {\n clearInterval(this.updateInterval);\n this.updateInterval = undefined;\n }\n }\n\n public close() {\n this.cleanupAutoRefresh?.();\n }\n}\n"],"names":["wasm","init"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../flipt_engine_wasm_js.js","../../src/core/types.ts","../../src/core/utils.ts","../../src/core/base.ts","../../src/node/index.ts"],"sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\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, 1) >>> 0;\n getUint8ArrayMemory0().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, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\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, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_export_4.set(idx, obj);\n return idx;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\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 && 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\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_4.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nconst EngineFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_engine_free(ptr >>> 0, 1));\n\nexport class Engine {\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EngineFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_engine_free(ptr, 0);\n }\n /**\n * @param {string} namespace\n */\n constructor(namespace) {\n const ptr0 = passStringToWasm0(namespace, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.engine_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n EngineFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {any} data\n */\n snapshot(data) {\n const ret = wasm.engine_snapshot(this.__wbg_ptr, data);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_boolean(request) {\n const ret = wasm.engine_evaluate_boolean(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_variant(request) {\n const ret = wasm.engine_evaluate_variant(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @param {any} request\n * @returns {any}\n */\n evaluate_batch(request) {\n const ret = wasm.engine_evaluate_batch(this.__wbg_ptr, request);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * @returns {any}\n */\n list_flags() {\n const ret = wasm.engine_list_flags(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n}\n\nasync function __wbg_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\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_String_8f0eb39a4a4c2f66 = function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {\n const ret = arg0.buffer;\n return ret;\n };\n imports.wbg.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_done_769e5ede4b31c67b = function(arg0) {\n const ret = arg0.done;\n return ret;\n };\n imports.wbg.__wbg_entries_3265d4158b33e5dc = function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n };\n imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_getTime_46267b1c24877e30 = function(arg0) {\n const ret = arg0.getTime();\n return ret;\n };\n imports.wbg.__wbg_get_67b2ba62fc30de12 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_get_b9b93047fe3cf45b = function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n };\n imports.wbg.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) {\n const ret = arg0[arg1];\n return ret;\n };\n imports.wbg.__wbg_instanceof_ArrayBuffer_e14585432e3737fc = function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Uint8Array_17156bcf118086a9 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_isArray_a1eab7e0d067391b = function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n };\n imports.wbg.__wbg_iterator_9a24c88df860dc65 = function() {\n const ret = Symbol.iterator;\n return ret;\n };\n imports.wbg.__wbg_length_a446193dc22c12f8 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_length_e2d2a49132c1b256 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_new0_f788a2397c7ca929 = function() {\n const ret = new Date();\n return ret;\n };\n imports.wbg.__wbg_new_405e22f390576ce2 = function() {\n const ret = new Object();\n return ret;\n };\n imports.wbg.__wbg_new_78feb108b6472713 = function() {\n const ret = new Array();\n return ret;\n };\n imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n const ret = new Error();\n return ret;\n };\n imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n };\n imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_next_25feadfc0913fea9 = function(arg0) {\n const ret = arg0.next;\n return ret;\n };\n imports.wbg.__wbg_next_6574e1a8a62d1055 = function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) {\n const ret = arg0.now();\n return ret;\n };\n imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) {\n const ret = arg0.performance;\n return ret;\n };\n imports.wbg.__wbg_set_37837023f3d740e8 = function(arg0, arg1, arg2) {\n arg0[arg1 >>> 0] = arg2;\n };\n imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {\n arg0[arg1] = arg2;\n };\n imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) {\n arg0.set(arg1, arg2 >>> 0);\n };\n imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n const ret = arg1.stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_value_cd1ffa7b1ab794f1 = function(arg0) {\n const ret = arg0.value;\n return ret;\n };\n imports.wbg.__wbindgen_boolean_get = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;\n return ret;\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbindgen_in = function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_4;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n };\n imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return ret;\n };\n imports.wbg.__wbindgen_number_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbindgen_number_new = function(arg0) {\n const ret = arg0;\n return ret;\n };\n imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n wasm.__wbindgen_start();\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('flipt_engine_wasm_js_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","/**\n * Represents a specialized result object for variant evaluation, extending\n * the generic Result interface with a specific type VariantEvaluationResponse.\n */\nexport interface VariantResult extends Result<VariantEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for boolean evaluation, extending\n * the generic Result interface with a specific type BooleanEvaluationResponse.\n */\nexport interface BooleanResult extends Result<BooleanEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for batch evaluation, extending\n * the generic Result interface with a specific type BatchEvaluationResponse.\n */\nexport interface BatchResult extends Result<BatchEvaluationResponse> {}\n\n/**\n * Represents a specialized result object for listing flags, extending\n * the generic Result interface with a specific type ListFlagsResponse.\n */\nexport interface ListFlagsResult extends Result<Flag[]> {}\n\nexport interface Result<T> {\n /** Status of the result - `success` or `failure`. */\n status: string;\n /** Actual result of type T if the operation was successful. */\n result?: T;\n /** Error message describing the reason for failure, if applicable.*/\n errorMessage: string;\n}\n\n/**\n * Minimal interface representing the Response properties we use\n */\nexport interface Response {\n ok: boolean;\n status: number;\n statusText: string;\n headers: {\n get(name: string): string | null;\n };\n json(): Promise<any>;\n}\n\n/**\n * Represents the options for a fetcher function.\n */\nexport interface IFetcherOptions {\n /**\n * ETag for the request.\n */\n etag?: string;\n}\n\n/**\n * Represents a function that fetches a response from a remote Flipt instance.\n */\nexport interface IFetcher {\n (opts?: IFetcherOptions): Promise<Response>;\n}\n\n/**\n * Authentication strategy for the client.\n */\nexport interface AuthenticationStrategy {}\n\n/**\n * Client Token Authentication.\n * @see {@link https://docs.flipt.io/authentication/using-tokens}.\n */\nexport interface ClientTokenAuthentication extends AuthenticationStrategy {\n /**\n * Flipt client token.\n */\n clientToken: string;\n}\n\n/**\n * JWT Authentication.\n * @see {@link https://docs.flipt.io/authentication/using-jwts}\n */\nexport interface JWTAuthentication extends AuthenticationStrategy {\n /**\n * JWT token.\n */\n jwtToken: string;\n}\n\nexport interface ClientOptions {\n /**\n * The namespace to use when evaluating flags.\n *\n * @defaultValue `default`\n */\n namespace?: string;\n /**\n * The URL of the upstream Flipt instance.\n *\n * @defaultValue `http://localhost:8080`\n */\n url?: string;\n /**\n * The interval (seconds) in which to fetch new flag state.\n * @defaultValue `120` seconds.\n */\n updateInterval?: number;\n /**\n * The authentication strategy to use when communicating with the upstream Flipt instance. If not provided, the client will default to no authentication.\n *\n * @remarks\n * Client supports the following authentication strategies: No Authentication, {@link ClientTokenAuthentication} and {@link JWTAuthentication}.\n */\n authentication?: AuthenticationStrategy;\n /**\n * The reference to use when fetching flag state. If not provided, reference will not be used.\n * @see {@link https://docs.flipt.io/guides/user/using-references}\n */\n reference?: string;\n\n /**\n * The fetcher to use when fetching flag state. If not provided, the client will default to a fetch function.\n */\n fetcher?: IFetcher;\n\n /**\n * The strategy to use for errors during refresh snapshot calls. {@link ErrorStrategy}\n */\n errorStrategy?: ErrorStrategy;\n}\n\n/**\n * Represents a request to evaluate a feature flag.\n */\nexport interface EvaluationRequest {\n /**\n * Feature flag key\n */\n flagKey: string;\n /**\n * Entity identifier\n */\n entityId: string;\n /**\n * Context information for flag evaluation\n *\n * @example\n * ```\n * {\n * fizz: 'buzz',\n * kind: 'small'\n * }\n * ```\n */\n context: object;\n}\n\n/**\n * Represents a feature flag in the system.\n */\nexport interface Flag {\n /**\n * Unique key for the flag.\n */\n key: string;\n /**\n * Status of the flag. For a Variant flag, this represents whether\n * the flag is enabled. For a Boolean flag, this represents the\n * default value.\n */\n enabled: boolean;\n /**\n * Type of the feature flag. This can be either 'BOOLEAN_FLAG_TYPE' or 'VARIANT_FLAG_TYPE'.\n */\n type: string;\n}\n\n/**\n * Represents the response returned after evaluating a feature flag variant.\n */\nexport interface VariantEvaluationResponse {\n /** Indicates whether the feature flag evaluation resulted in a match. */\n match: boolean;\n /** List of segment keys that were used to determine the match. */\n segmentKeys: string[];\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Variant key that was returned if the evaluation resulted in a match. */\n variantKey: string;\n /** Additional data attached to the variant if the evaluation resulted in a match. */\n variantAttachment: string;\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n /** Timestamp when the response was generated. */\n timestamp: string;\n}\n\n/**\n * Represents the response returned after evaluating a feature flag.\n */\nexport interface BooleanEvaluationResponse {\n /** Evaluation value of the flag. */\n enabled: boolean;\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n /** Timestamp when the response was generated. */\n timestamp: string;\n}\n\n/**\n * Represents the response returned when an error occurs during the evaluation of a feature flag.\n */\nexport interface ErrorEvaluationResponse {\n /** Key of the feature flag that was being evaluated. */\n flagKey: string;\n /** Key of the namespace in which the feature flag resides. */\n namespaceKey: string;\n /** Reason for the result that occurred during the evaluation. */\n reason: string;\n}\n\n/**\n * Represents a response object that encapsulates various types of evaluation results.\n */\nexport interface EvaluationResponse {\n /**\n * The type of evaluation response. Possible values include 'VARIANT_EVALUATION_RESPONSE_TYPE',\n * 'BOOLEAN_EVALUATION_RESPONSE_TYPE', or 'ERROR_EVALUATION_RESPONSE_TYPE'.\n */\n type: string;\n /** Boolean evaluation response base on the type */\n booleanEvaluationResponse?: BooleanEvaluationResponse;\n /** Variant evaluation response base on the type */\n variantEvaluationResponse?: VariantEvaluationResponse;\n /** Error evaluation response base on the type*/\n errorEvaluationResponse?: ErrorEvaluationResponse;\n}\n\n/**\n * Represents the response returned after batch evaluating multiple feature flags.\n */\nexport interface BatchEvaluationResponse {\n /** Array containing individual evaluation responses for each feature flag. */\n responses: EvaluationResponse[];\n /** Duration of the request in milliseconds. */\n requestDurationMillis: number;\n}\n\n/**\n * Defines the strategy to handle errors during the flags snapshot update calls.\n */\nexport enum ErrorStrategy {\n /** The client will throw an error if the flag state cannot be fetched. This is the default behavior. */\n Fail = 'fail',\n /** The client will maintain the last known good state and use that state for evaluation in case of an error. */\n Fallback = 'fallback'\n}\n","export function snakeToCamel(str: string): string {\n return str.replace(/([-_][a-z])/g, (group) =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n}\n\nexport function camelToSnake(str: string): string {\n return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);\n}\n\nexport function deserialize<T>(data: any): T {\n const result: any = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const camelKey = snakeToCamel(key);\n result[camelKey] = data[key];\n }\n }\n return result as T;\n}\n\nexport function serialize<T>(data: T): any {\n const result: any = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const snakeKey = camelToSnake(key);\n result[snakeKey] = (data as any)[key];\n }\n }\n return result;\n}\n","import {\n BatchEvaluationResponse,\n BooleanEvaluationResponse,\n ErrorEvaluationResponse,\n EvaluationRequest,\n EvaluationResponse,\n Flag,\n IFetcher,\n VariantEvaluationResponse,\n ErrorStrategy,\n Response,\n VariantResult,\n BooleanResult,\n BatchResult,\n ListFlagsResult\n} from './types';\n\nimport { deserialize, serialize } from './utils';\n\nexport abstract class BaseFliptClient {\n protected engine: any; // Type will be provided by platform implementations\n protected fetcher: IFetcher;\n protected etag?: string;\n protected errorStrategy?: ErrorStrategy;\n\n constructor(engine: any, fetcher: IFetcher) {\n this.engine = engine;\n this.fetcher = fetcher;\n }\n\n /**\n * Store etag from response for next requests\n */\n protected storeEtag(resp: Response) {\n const etag = resp.headers.get('etag');\n if (etag) {\n this.etag = etag;\n }\n }\n\n /**\n * Refresh the flags snapshot\n * @returns true if snapshot changed\n */\n public async refresh(): Promise<boolean> {\n try {\n const opts = { etag: this.etag };\n const resp = await this.fetcher(opts);\n\n const etag = resp.headers.get('etag');\n if (this.etag && this.etag === etag) {\n return false;\n }\n\n this.storeEtag(resp);\n\n const data = await resp.json();\n this.engine.snapshot(data);\n return true;\n } catch (error) {\n if (this.errorStrategy === ErrorStrategy.Fail) {\n throw error;\n }\n }\n return false;\n }\n\n /**\n * Evaluate a variant flag\n */\n public evaluateVariant({\n flagKey,\n entityId,\n context\n }: {\n flagKey: string;\n entityId: string;\n context: Record<string, unknown>;\n }): VariantEvaluationResponse {\n if (!flagKey || flagKey.trim() === '') {\n throw new Error('flagKey cannot be empty');\n }\n if (!entityId || entityId.trim() === '') {\n throw new Error('entityId cannot be empty');\n }\n\n const evaluationRequest: EvaluationRequest = {\n flagKey,\n entityId,\n context\n };\n\n const result: VariantResult | null = this.engine.evaluate_variant(\n serialize(evaluationRequest)\n );\n\n if (result === null) {\n throw new Error('Failed to evaluate variant');\n }\n\n const variantResult = deserialize<VariantResult>(result);\n\n if (variantResult.status === 'failure') {\n throw new Error(variantResult.errorMessage);\n }\n\n if (!variantResult.result) {\n throw new Error('Failed to evaluate variant');\n }\n\n return deserialize<VariantEvaluationResponse>(variantResult.result);\n }\n\n /**\n * Evaluate a boolean flag\n */\n public evaluateBoolean({\n flagKey,\n entityId,\n context\n }: {\n flagKey: string;\n entityId: string;\n context: Record<string, unknown>;\n }): BooleanEvaluationResponse {\n if (!flagKey || flagKey.trim() === '') {\n throw new Error('flagKey cannot be empty');\n }\n if (!entityId || entityId.trim() === '') {\n throw new Error('entityId cannot be empty');\n }\n\n const evaluationRequest: EvaluationRequest = {\n flagKey,\n entityId,\n context\n };\n\n const result: BooleanResult | null = this.engine.evaluate_boolean(\n serialize(evaluationRequest)\n );\n\n if (result === null) {\n throw new Error('Failed to evaluate boolean');\n }\n\n const booleanResult = deserialize<BooleanResult>(result);\n\n if (booleanResult.status === 'failure') {\n throw new Error(booleanResult.errorMessage);\n }\n\n if (!booleanResult.result) {\n throw new Error('Failed to evaluate boolean');\n }\n\n return deserialize<BooleanEvaluationResponse>(booleanResult.result);\n }\n\n /**\n * Evaluate a batch of flag requests\n */\n public evaluateBatch(requests: EvaluationRequest[]): BatchEvaluationResponse {\n const serializedRequests = requests.map(serialize);\n const batchResult: BatchResult | null =\n this.engine.evaluate_batch(serializedRequests);\n\n if (batchResult === null) {\n throw new Error('Failed to evaluate batch');\n }\n\n if (batchResult.status === 'failure') {\n throw new Error(batchResult.errorMessage);\n }\n\n if (!batchResult.result) {\n throw new Error('Failed to evaluate batch');\n }\n\n const responses = batchResult.result.responses\n .map((response): EvaluationResponse | undefined => {\n if (response.type === 'BOOLEAN_EVALUATION_RESPONSE_TYPE') {\n const booleanResponse = deserialize<BooleanEvaluationResponse>(\n // @ts-ignore\n response.boolean_evaluation_response\n );\n return {\n booleanEvaluationResponse: booleanResponse,\n type: 'BOOLEAN_EVALUATION_RESPONSE_TYPE'\n };\n }\n if (response.type === 'VARIANT_EVALUATION_RESPONSE_TYPE') {\n const variantResponse = deserialize<VariantEvaluationResponse>(\n // @ts-ignore\n response.variant_evaluation_response\n );\n return {\n variantEvaluationResponse: variantResponse,\n type: 'VARIANT_EVALUATION_RESPONSE_TYPE'\n };\n }\n if (response.type === 'ERROR_EVALUATION_RESPONSE_TYPE') {\n const errorResponse = deserialize<ErrorEvaluationResponse>(\n // @ts-ignore\n response.error_evaluation_response\n );\n return {\n errorEvaluationResponse: errorResponse,\n type: 'ERROR_EVALUATION_RESPONSE_TYPE'\n };\n }\n return undefined;\n })\n .filter(\n (response): response is EvaluationResponse => response !== undefined\n );\n\n return {\n responses,\n requestDurationMillis: batchResult.result.requestDurationMillis\n };\n }\n\n public listFlags(): Flag[] {\n const listFlagsResult: ListFlagsResult | null = this.engine.list_flags();\n\n if (listFlagsResult === null) {\n throw new Error('Failed to list flags');\n }\n\n const flags = deserialize<ListFlagsResult>(listFlagsResult);\n\n if (flags.status === 'failure') {\n throw new Error(flags.errorMessage);\n }\n\n if (!flags.result) {\n throw new Error('Failed to list flags');\n }\n\n return flags.result.map(deserialize<Flag>);\n }\n}\n","import init, { Engine } from '../../dist/flipt_engine_wasm_js.js';\nimport wasm from '../../dist/flipt_engine_wasm_js_bg.wasm';\nimport { BaseFliptClient } from '../core/base';\nimport { ClientOptions, ErrorStrategy } from '../core/types';\n\nexport * from '../core/exports';\n\nexport class FliptClient extends BaseFliptClient {\n private updateInterval?: NodeJS.Timeout;\n\n /**\n * Initialize the client\n * @param namespace - optional namespace to evaluate flags\n * @param options - optional client options\n * @returns {Promise<FliptClient>}\n */\n static async init(\n options: ClientOptions = {\n namespace: 'default',\n url: 'http://localhost:8080',\n reference: '',\n updateInterval: 120,\n errorStrategy: ErrorStrategy.Fail\n }\n ): Promise<FliptClient> {\n const namespace = options.namespace ?? 'default';\n\n let url = options.url ?? 'http://localhost:8080';\n url = url.replace(/\\/$/, '');\n url = `${url}/internal/v1/evaluation/snapshot/namespace/${namespace}`;\n\n if (options.reference) {\n url = `${url}?reference=${options.reference}`;\n }\n\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'x-flipt-accept-server-version': '1.47.0'\n };\n\n if (options.authentication) {\n if ('clientToken' in options.authentication) {\n headers['Authorization'] =\n `Bearer ${options.authentication.clientToken}`;\n } else if ('jwtToken' in options.authentication) {\n headers['Authorization'] = `JWT ${options.authentication.jwtToken}`;\n }\n }\n\n let fetcher = options.fetcher;\n\n if (!fetcher) {\n // Dynamically import node-fetch only when needed\n const { default: fetch } = await import('node-fetch');\n\n fetcher = async (opts?: { etag?: string }) => {\n if (opts && opts.etag) {\n headers['If-None-Match'] = opts.etag;\n }\n\n const resp = await fetch(url, {\n method: 'GET',\n headers\n });\n\n if (!resp.ok && resp.status !== 304) {\n throw new Error(`Failed to fetch data: ${resp.statusText}`);\n }\n\n return resp;\n };\n }\n\n // Initialize WASM engine\n // @ts-ignore\n await init(await wasm());\n\n if (!fetcher) {\n throw new Error('Failed to initialize fetcher');\n }\n\n // handle case if they pass in a custom fetcher that doesn't throw on non-2xx status codes\n const resp = await fetcher();\n if (!resp.ok) {\n throw new Error(`Failed to fetch data: ${resp.statusText}`);\n }\n\n const data = await resp.json();\n const engine = new Engine(namespace);\n engine.snapshot(data);\n\n // We know fetcher is defined here since we checked above\n const client = new FliptClient(engine, fetcher);\n client.storeEtag(resp);\n client.errorStrategy = options.errorStrategy;\n\n // Setup auto-refresh if interval is provided\n if (options.updateInterval && options.updateInterval > 0) {\n client.setupAutoRefresh(options.updateInterval * 1000);\n }\n\n return client;\n }\n\n private setupAutoRefresh(interval: number = 120_000): void {\n this.cleanupAutoRefresh();\n this.updateInterval = setInterval(async () => {\n await this.refresh();\n }, interval);\n }\n\n private cleanupAutoRefresh(): void {\n if (this.updateInterval) {\n clearInterval(this.updateInterval);\n this.updateInterval = undefined;\n }\n }\n\n public close() {\n this.cleanupAutoRefresh?.();\n }\n}\n"],"names":["wasm","init"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { BaseFliptClient } from '../core/base';
2
2
  import { ClientOptions } from '../core/types';
3
+ export * from '../core/exports';
3
4
  export declare class FliptClient extends BaseFliptClient {
4
5
  /**
5
6
  * Initialize the client
@@ -0,0 +1 @@
1
+ export * from './types';
@@ -1,5 +1,6 @@
1
1
  import { BaseFliptClient } from '../core/base';
2
2
  import { ClientOptions } from '../core/types';
3
+ export * from '../core/exports';
3
4
  export declare class FliptClient extends BaseFliptClient {
4
5
  private updateInterval?;
5
6
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flipt-io/flipt-client-js",
3
- "version": "0.0.1-rc.1",
3
+ "version": "0.0.1-rc.2",
4
4
  "description": "Flipt Client Evaluation SDK for Web and Node.js",
5
5
  "type": "module",
6
6
  "main": "./dist/node/index.cjs",