This repository has been archived by the owner on Jan 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
wrapSassImporter.ts
84 lines (82 loc) · 4.55 KB
/
wrapSassImporter.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { cwrapSignature } from 'emscripten-wasm-loader';
/**
* Creates cwrapped interface for importer api.
*
* https://github.com/sass/libsass/blob/master/docs/api-importer.md
*/
//TODO: verify return type / param type of cwrapped signature for Sass_Import_Entry
const wrapSassImporter = (cwrap: cwrapSignature) => ({
//Sass_Importer_Entry sass_make_importer (Sass_Importer_Fn importer, double priority, void* cookie);
make_importer: cwrap<(importFnPtr: number, priority: number, cookie: number) => number>(
`sass_make_importer`,
'number',
['number', 'number', 'number']
),
//Sass_C_Import_Fn sass_importer_get_function (Sass_C_Import_Callback fn);
importer_get_function: cwrap<(importCallbackPtr: number) => number>(`sass_importer_get_function`, 'number', [
'number'
]),
//void* sass_importer_get_cookie (Sass_C_Import_Callback fn);
importer_get_cookie: cwrap<(importCallbackPtr: number) => number>(`sass_importer_get_cookie`, 'number', ['number']),
//void sass_delete_importer (Sass_C_Import_Callback fn);
delete_importer: cwrap<(importCallbackPtr: number) => null>(`sass_delete_importer`, null, ['number']),
//Sass_Import_Entry* sass_make_import_list (size_t length);
make_import_list: cwrap<(length: number) => number>(`sass_make_import_list`, 'number', ['number']),
//Sass_Import_Entry sass_make_import_entry (const char* path, char* source, char* srcmap);
make_import_entry: cwrap<(path: number, source: number, srcmap: number) => number>(
`sass_make_import_entry`,
'number',
['number', 'number', 'number']
),
//Sass_Import_Entry sass_make_import (const char* rel, const char* abs, char* source, char* srcmap);
make_import: cwrap<(rel: number, abs: number, source: number, srcmap: number) => number>(
`sass_make_import`,
'number',
['number', 'number', 'number', 'number']
),
//Sass_Import_Entry sass_import_set_error(Sass_Import_Entry import, const char* message, size_t line, size_t col);
import_set_error: cwrap<(importEntryPtr: number, message: number, line: number, col: number) => number>(
`sass_import_set_error`,
'number',
['number', 'number', 'number', 'number']
),
//void sass_import_set_list_entry (Sass_Import_Entry* list, size_t idx, Sass_Import_Entry entry);
import_set_list_entry: cwrap<(importEntryList: number, idx: number, entry: number) => null>(
`sass_import_set_list_entry`,
null,
['number', 'number', 'number']
),
//Sass_Import_Entry sass_import_get_list_entry (Sass_Import_Entry* list, size_t idx);
import_get_list_entry: cwrap<(importEntryList: number, idx: number) => number>(
`sass_import_get_list_entry`,
'number',
['number', 'number']
),
//const char* sass_import_get_imp_path (Sass_Import_Entry);
import_get_imp_path: cwrap<(importEntryPtr: number) => number>(`sass_import_get_imp_path`, 'number', ['number']),
//const char* sass_import_get_abs_path (Sass_Import_Entry);
import_get_abs_path: cwrap<(importEntryPtr: number) => number>(`sass_import_get_abs_path`, 'number', ['number']),
//const char* sass_import_get_source (Sass_Import_Entry);
import_get_source: cwrap<(importEntryPtr: number) => number>(`sass_import_get_source`, 'number', ['number']),
//const char* sass_import_get_srcmap (Sass_Import_Entry);
import_get_srcmap: cwrap<(importEntryPtr: number) => number>(`sass_import_get_srcmap`, 'number', ['number']),
//char* sass_import_take_source (Sass_Import_Entry);
import_take_source: cwrap<(importEntryPtr: number) => number>(`sass_import_take_source`, 'number', ['number']),
//char* sass_import_take_srcmap (Sass_Import_Entry);
import_take_srcmap: cwrap<(importEntryPtr: number) => number>(`sass_import_take_srcmap`, 'number', ['number']),
//size_t sass_import_get_error_line (Sass_Import_Entry);
import_get_error_line: cwrap<(importEntryPtr: number) => number>(`sass_import_get_error_line`, 'number', ['number']),
//size_t sass_import_get_error_column (Sass_Import_Entry);
import_get_error_column: cwrap<(importEntryPtr: number) => number>(`sass_import_get_error_column`, 'number', [
'number'
]),
//const char* sass_import_get_error_message (Sass_Import_Entry);
import_get_error_message: cwrap<(importEntryPtr: number) => number>(`sass_import_get_error_message`, 'number', [
'number'
]),
//void sass_delete_import_list (Sass_Import_Entry*);
delete_import_list: cwrap<(importEntryList: number) => void>(`sass_delete_import_list`, null, ['number']),
//void sass_delete_import (Sass_Import_Entry);
delete_import: cwrap<(importEntryPtr: number) => void>(`sass_delete_import`, null, ['number'])
});
export { wrapSassImporter };