diff --git a/src/color_functions/color_module.d.ts b/src/color_functions/color_module.d.ts index b790f4f..6167b6c 100644 --- a/src/color_functions/color_module.d.ts +++ b/src/color_functions/color_module.d.ts @@ -1,9 +1,13 @@ /* tslint:disable */ /* eslint-disable */ export function represent_rgb(color: string): Uint8Array; +export function rgb_to_hex(r: number, g: number, b: number): string; export function represent_hsl(color: string): Float32Array; +export function hsl_to_hex(h: number, s: number, l: number): string; export function represent_lab(color: string): Float32Array; +export function lab_to_hex(l: number, a: number, b: number): string; export function represent_oklch(color: string): Float32Array; +export function oklch_to_hex(l: number, c: number, h: number): string; export function shift_hue(color: string, degree: number): string; export function lighten(color: string, percent: number): string; export function lighten_absolute(color: string, value: number): string; @@ -13,15 +17,25 @@ export function mix(color1: string, color2: string, percent: number): string; export function tint(color: string, percent: number): string; export function shade(color: string, percent: number): string; export function wacg_relative_contrast(fg_color: string, bg_color: string): number; +export function analogous_30(color: string): (string)[]; +export function analogous_60(color: string): (string)[]; +export function complementary(color: string): string; +export function split_complementary(color: string): (string)[]; +export function tetradic(color: string): (string)[]; +export function triadic(color: string): (string)[]; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly represent_rgb: (a: number, b: number) => [number, number, number, number]; + readonly rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_hsl: (a: number, b: number) => [number, number, number, number]; + readonly hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_lab: (a: number, b: number) => [number, number, number, number]; + readonly lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_oklch: (a: number, b: number) => [number, number, number, number]; + readonly oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; readonly lighten: (a: number, b: number, c: number) => [number, number, number, number]; readonly lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; @@ -31,11 +45,18 @@ export interface InitOutput { readonly tint: (a: number, b: number, c: number) => [number, number, number, number]; readonly shade: (a: number, b: number, c: number) => [number, number, number, number]; readonly wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly analogous_30: (a: number, b: number) => [number, number, number, number]; + readonly analogous_60: (a: number, b: number) => [number, number, number, number]; + readonly complementary: (a: number, b: number) => [number, number, number, number]; + readonly split_complementary: (a: number, b: number) => [number, number, number, number]; + readonly tetradic: (a: number, b: number) => [number, number, number, number]; + readonly triadic: (a: number, b: number) => [number, number, number, number]; readonly __wbindgen_export_0: WebAssembly.Table; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __externref_drop_slice: (a: number, b: number) => void; readonly __wbindgen_start: () => void; } diff --git a/src/color_functions/color_module.js b/src/color_functions/color_module.js index 33005e6..6f93727 100644 --- a/src/color_functions/color_module.js +++ b/src/color_functions/color_module.js @@ -100,6 +100,31 @@ export function represent_rgb(color) { return v2; } +/** + * @param {number} r + * @param {number} g + * @param {number} b + * @returns {string} + */ +export function rgb_to_hex(r, g, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.rgb_to_hex(r, g, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + let cachedFloat32ArrayMemory0 = null; function getFloat32ArrayMemory0() { @@ -129,6 +154,31 @@ export function represent_hsl(color) { return v2; } +/** + * @param {number} h + * @param {number} s + * @param {number} l + * @returns {string} + */ +export function hsl_to_hex(h, s, l) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.hsl_to_hex(h, s, l); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @returns {Float32Array} @@ -145,6 +195,31 @@ export function represent_lab(color) { return v2; } +/** + * @param {number} l + * @param {number} a + * @param {number} b + * @returns {string} + */ +export function lab_to_hex(l, a, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.lab_to_hex(l, a, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @returns {Float32Array} @@ -161,6 +236,31 @@ export function represent_oklch(color) { return v2; } +/** + * @param {number} l + * @param {number} c + * @param {number} h + * @returns {string} + */ +export function oklch_to_hex(l, c, h) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.oklch_to_hex(l, c, h); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @param {number} degree @@ -389,6 +489,130 @@ export function wacg_relative_contrast(fg_color, bg_color) { return ret[0]; } +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +function getArrayJsValueFromWasm0(ptr, len) { + ptr = ptr >>> 0; + const mem = getDataViewMemory0(); + const result = []; + for (let i = ptr; i < ptr + 4 * len; i += 4) { + result.push(wasm.__wbindgen_export_0.get(mem.getUint32(i, true))); + } + wasm.__externref_drop_slice(ptr, len); + return result; +} +/** + * @param {string} color + * @returns {(string)[]} + */ +export function analogous_30(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_30(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function analogous_60(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_60(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string} + */ +export function complementary(color) { + let deferred3_0; + let deferred3_1; + try { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.complementary(ptr0, len0); + var ptr2 = ret[0]; + var len2 = ret[1]; + if (ret[3]) { + ptr2 = 0; len2 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred3_0 = ptr2; + deferred3_1 = len2; + return getStringFromWasm0(ptr2, len2); + } finally { + wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); + } +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function split_complementary(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.split_complementary(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function tetradic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.tetradic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function triadic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.triadic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + async function __wbg_load(module, imports) { if (typeof Response === 'function' && module instanceof Response) { if (typeof WebAssembly.instantiateStreaming === 'function') { @@ -448,6 +672,7 @@ function __wbg_init_memory(imports, memory) { function __wbg_finalize_init(instance, module) { wasm = instance.exports; __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; cachedFloat32ArrayMemory0 = null; cachedUint8ArrayMemory0 = null; diff --git a/src/color_functions/color_module_bg.wasm b/src/color_functions/color_module_bg.wasm index f274d19..01d1b69 100644 Binary files a/src/color_functions/color_module_bg.wasm and b/src/color_functions/color_module_bg.wasm differ diff --git a/src/color_functions/color_module_bg.wasm.d.ts b/src/color_functions/color_module_bg.wasm.d.ts index e5ddb60..052d150 100644 --- a/src/color_functions/color_module_bg.wasm.d.ts +++ b/src/color_functions/color_module_bg.wasm.d.ts @@ -2,9 +2,13 @@ /* eslint-disable */ export const memory: WebAssembly.Memory; export const represent_rgb: (a: number, b: number) => [number, number, number, number]; +export const rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_hsl: (a: number, b: number) => [number, number, number, number]; +export const hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_lab: (a: number, b: number) => [number, number, number, number]; +export const lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_oklch: (a: number, b: number) => [number, number, number, number]; +export const oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; export const lighten: (a: number, b: number, c: number) => [number, number, number, number]; export const lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; @@ -14,9 +18,16 @@ export const mix: (a: number, b: number, c: number, d: number, e: number) => [nu export const tint: (a: number, b: number, c: number) => [number, number, number, number]; export const shade: (a: number, b: number, c: number) => [number, number, number, number]; export const wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const analogous_30: (a: number, b: number) => [number, number, number, number]; +export const analogous_60: (a: number, b: number) => [number, number, number, number]; +export const complementary: (a: number, b: number) => [number, number, number, number]; +export const split_complementary: (a: number, b: number) => [number, number, number, number]; +export const tetradic: (a: number, b: number) => [number, number, number, number]; +export const triadic: (a: number, b: number) => [number, number, number, number]; export const __wbindgen_export_0: WebAssembly.Table; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; export const __externref_table_dealloc: (a: number) => void; export const __wbindgen_free: (a: number, b: number, c: number) => void; +export const __externref_drop_slice: (a: number, b: number) => void; export const __wbindgen_start: () => void;