@gtkx/runtime 1.0.0-rc.1 → 1.0.0-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.
- package/dist/arg.d.ts +6 -5
- package/dist/arg.d.ts.map +1 -1
- package/dist/arg.js +5 -4
- package/dist/arg.js.map +1 -1
- package/dist/bind.d.ts +3 -2
- package/dist/bind.d.ts.map +1 -1
- package/dist/bind.js +5 -3
- package/dist/bind.js.map +1 -1
- package/dist/callback.d.ts +3 -3
- package/dist/callback.d.ts.map +1 -1
- package/dist/callback.js +51 -33
- package/dist/callback.js.map +1 -1
- package/dist/descriptors.d.ts +67 -64
- package/dist/descriptors.d.ts.map +1 -1
- package/dist/descriptors.js +92 -60
- package/dist/descriptors.js.map +1 -1
- package/dist/error.d.ts +5 -6
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +10 -6
- package/dist/error.js.map +1 -1
- package/dist/exit-hook.d.ts +2 -0
- package/dist/exit-hook.d.ts.map +1 -0
- package/dist/exit-hook.js +3 -0
- package/dist/exit-hook.js.map +1 -0
- package/dist/fn.d.ts +2 -2
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +26 -15
- package/dist/fn.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/library.d.ts +6 -5
- package/dist/library.d.ts.map +1 -1
- package/dist/library.js +6 -5
- package/dist/library.js.map +1 -1
- package/dist/lifecycle.d.ts +10 -9
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +38 -23
- package/dist/lifecycle.js.map +1 -1
- package/dist/listeners.d.ts +8 -8
- package/dist/listeners.d.ts.map +1 -1
- package/dist/listeners.js +28 -15
- package/dist/listeners.js.map +1 -1
- package/dist/mixin.d.ts +5 -11
- package/dist/mixin.d.ts.map +1 -1
- package/dist/mixin.js +24 -14
- package/dist/mixin.js.map +1 -1
- package/dist/native-value.d.ts +3 -2
- package/dist/native-value.d.ts.map +1 -1
- package/dist/native-value.js +75 -42
- package/dist/native-value.js.map +1 -1
- package/dist/object.d.ts +4 -3
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +8 -5
- package/dist/object.js.map +1 -1
- package/dist/promisify.d.ts +9 -1
- package/dist/promisify.d.ts.map +1 -1
- package/dist/promisify.js +18 -15
- package/dist/promisify.js.map +1 -1
- package/dist/properties.d.ts +14 -0
- package/dist/properties.d.ts.map +1 -0
- package/dist/properties.js +79 -0
- package/dist/properties.js.map +1 -0
- package/dist/register-class.d.ts +10 -2
- package/dist/register-class.d.ts.map +1 -1
- package/dist/register-class.js +83 -29
- package/dist/register-class.js.map +1 -1
- package/dist/registry.d.ts +23 -21
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +54 -35
- package/dist/registry.js.map +1 -1
- package/dist/signal.d.ts +7 -6
- package/dist/signal.d.ts.map +1 -1
- package/dist/signal.js +19 -12
- package/dist/signal.js.map +1 -1
- package/dist/t.d.ts +2 -2
- package/dist/t.d.ts.map +1 -1
- package/dist/t.js +2 -1
- package/dist/t.js.map +1 -1
- package/dist/tuple.d.ts +3 -2
- package/dist/tuple.d.ts.map +1 -1
- package/dist/tuple.js +7 -4
- package/dist/tuple.js.map +1 -1
- package/dist/type.d.ts +48 -41
- package/dist/type.d.ts.map +1 -1
- package/dist/type.js +107 -87
- package/dist/type.js.map +1 -1
- package/dist/value.d.ts +19 -10
- package/dist/value.d.ts.map +1 -1
- package/dist/value.js +164 -99
- package/dist/value.js.map +1 -1
- package/package.json +4 -6
- package/src/arg.ts +7 -5
- package/src/bind.ts +13 -4
- package/src/callback.ts +97 -35
- package/src/descriptors.ts +227 -85
- package/src/error.ts +18 -9
- package/src/exit-hook.ts +3 -0
- package/src/fn.ts +53 -22
- package/src/index.ts +4 -2
- package/src/library.ts +7 -5
- package/src/lifecycle.ts +54 -26
- package/src/listeners.ts +46 -18
- package/src/mixin.ts +39 -14
- package/src/native-value.ts +103 -46
- package/src/object.ts +19 -7
- package/src/promisify.ts +42 -15
- package/src/properties.ts +115 -0
- package/src/register-class.ts +157 -30
- package/src/registry.ts +144 -54
- package/src/signal.ts +53 -13
- package/src/t.ts +3 -1
- package/src/tuple.ts +16 -4
- package/src/type.ts +183 -93
- package/src/value.ts +231 -108
package/dist/type.js
CHANGED
|
@@ -9,108 +9,133 @@ const gTypeParent = bind(LIB, "g_type_parent", [biguint64T], biguint64T);
|
|
|
9
9
|
const gTypeFundamental = bind(LIB, "g_type_fundamental", [biguint64T], biguint64T);
|
|
10
10
|
const gTypeName = bind(LIB, "g_type_name", [biguint64T], stringT("borrowed"));
|
|
11
11
|
const gTypeInterfaces = bind(LIB, "g_type_interfaces", [biguint64T, refT(uint32T)], sizedArrayT(biguint64T, 1, "full"));
|
|
12
|
-
const lazyType = (name) => {
|
|
13
|
-
let cached;
|
|
14
|
-
return () => {
|
|
15
|
-
cached ??= typeFromName(name);
|
|
16
|
-
return cached;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export const isTypedClass = (value) => typeof value === "object" && value !== null && "__type__" in value && typeof value.__type__ === "bigint";
|
|
20
12
|
/** GType tag for an invalid or uninitialized type. */
|
|
21
|
-
|
|
13
|
+
const TYPE_INVALID = 0n;
|
|
22
14
|
/** GType tag for the absence of a value (`void`). */
|
|
23
|
-
|
|
15
|
+
const TYPE_NONE = typeFromName("void");
|
|
24
16
|
/** GType tag for the base GInterface type. */
|
|
25
|
-
|
|
17
|
+
const TYPE_INTERFACE = typeFromName("GInterface");
|
|
26
18
|
/** GType tag for `gchar` (signed 8-bit integer). */
|
|
27
|
-
|
|
19
|
+
const TYPE_CHAR = typeFromName("gchar");
|
|
28
20
|
/** GType tag for `guchar` (unsigned 8-bit integer). */
|
|
29
|
-
|
|
21
|
+
const TYPE_UCHAR = typeFromName("guchar");
|
|
30
22
|
/** GType tag for `gboolean`. */
|
|
31
|
-
|
|
23
|
+
const TYPE_BOOLEAN = typeFromName("gboolean");
|
|
32
24
|
/** GType tag for `gint`. */
|
|
33
|
-
|
|
25
|
+
const TYPE_INT = typeFromName("gint");
|
|
34
26
|
/** GType tag for `guint`. */
|
|
35
|
-
|
|
27
|
+
const TYPE_UINT = typeFromName("guint");
|
|
36
28
|
/** GType tag for `glong`. */
|
|
37
|
-
|
|
29
|
+
const TYPE_LONG = typeFromName("glong");
|
|
38
30
|
/** GType tag for `gulong`. */
|
|
39
|
-
|
|
31
|
+
const TYPE_ULONG = typeFromName("gulong");
|
|
40
32
|
/** GType tag for `gint64`. */
|
|
41
|
-
|
|
33
|
+
const TYPE_INT64 = typeFromName("gint64");
|
|
42
34
|
/** GType tag for `guint64`. */
|
|
43
|
-
|
|
35
|
+
const TYPE_UINT64 = typeFromName("guint64");
|
|
44
36
|
/** GType tag for the base GEnum type. */
|
|
45
|
-
|
|
37
|
+
const TYPE_ENUM = typeFromName("GEnum");
|
|
46
38
|
/** GType tag for the base GFlags type. */
|
|
47
|
-
|
|
39
|
+
const TYPE_FLAGS = typeFromName("GFlags");
|
|
48
40
|
/** GType tag for `gfloat`. */
|
|
49
|
-
|
|
41
|
+
const TYPE_FLOAT = typeFromName("gfloat");
|
|
50
42
|
/** GType tag for `gdouble`. */
|
|
51
|
-
|
|
43
|
+
const TYPE_DOUBLE = typeFromName("gdouble");
|
|
52
44
|
/** GType tag for `gchararray` (a nul-terminated C string). */
|
|
53
|
-
|
|
45
|
+
const TYPE_STRING = typeFromName("gchararray");
|
|
54
46
|
/** GType tag for `gpointer` (an opaque pointer). */
|
|
55
|
-
|
|
47
|
+
const TYPE_POINTER = typeFromName("gpointer");
|
|
56
48
|
/** GType tag for the base GBoxed type. */
|
|
57
|
-
|
|
49
|
+
const TYPE_BOXED = typeFromName("GBoxed");
|
|
58
50
|
/** GType tag for the base GParam type. */
|
|
59
|
-
|
|
51
|
+
const TYPE_PARAM = typeFromName("GParam");
|
|
60
52
|
/** GType tag for the base GObject type. */
|
|
61
|
-
|
|
53
|
+
const TYPE_OBJECT = typeFromName("GObject");
|
|
62
54
|
/** GType tag for a GType value itself. */
|
|
63
|
-
|
|
55
|
+
const TYPE_GTYPE = typeFromName("GType");
|
|
64
56
|
/** GType tag for GVariant. */
|
|
65
|
-
|
|
57
|
+
const TYPE_VARIANT = typeFromName("GVariant");
|
|
66
58
|
/** GType tag for a Unicode character stored as `guint`. */
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
59
|
+
const TYPE_UNICHAR = typeFromName("guint");
|
|
60
|
+
const getErrorType = lazyType("GError");
|
|
61
|
+
const getStrvType = lazyType("GStrv");
|
|
62
|
+
const PLAIN_DESCRIPTOR_TYPES = {
|
|
63
|
+
boolean: TYPE_BOOLEAN,
|
|
64
|
+
string: TYPE_STRING,
|
|
65
|
+
int8: TYPE_INT,
|
|
66
|
+
int16: TYPE_INT,
|
|
67
|
+
int32: TYPE_INT,
|
|
68
|
+
uint8: TYPE_UINT,
|
|
69
|
+
uint16: TYPE_UINT,
|
|
70
|
+
uint32: TYPE_UINT,
|
|
71
|
+
int64: TYPE_INT64,
|
|
72
|
+
bigint64: TYPE_INT64,
|
|
73
|
+
uint64: TYPE_UINT64,
|
|
74
|
+
biguint64: TYPE_UINT64,
|
|
75
|
+
float32: TYPE_FLOAT,
|
|
76
|
+
float64: TYPE_DOUBLE,
|
|
77
|
+
object: TYPE_OBJECT,
|
|
78
|
+
};
|
|
79
|
+
const RESOLVABLE_DESCRIPTOR_KINDS = new Set([
|
|
80
|
+
"enum",
|
|
81
|
+
"flags",
|
|
82
|
+
"boxed",
|
|
83
|
+
"fundamental",
|
|
84
|
+
"array",
|
|
85
|
+
]);
|
|
86
|
+
function lazyType(name) {
|
|
87
|
+
let cached;
|
|
88
|
+
return () => {
|
|
89
|
+
cached ??= typeFromName(name);
|
|
90
|
+
return cached;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const isTypedClass = (value) => typeof value === "object" && value !== null && "__type__" in value && typeof value.__type__ === "bigint";
|
|
94
|
+
/** Returns whether `type` is `ancestorType` or descends from it. */
|
|
95
|
+
function typeIsA(type, ancestorType) {
|
|
96
|
+
return gTypeIsA(type, ancestorType);
|
|
73
97
|
}
|
|
74
98
|
/** Returns the immediate parent GType of the given type. */
|
|
75
|
-
|
|
99
|
+
function typeParent(type) {
|
|
76
100
|
return gTypeParent(type);
|
|
77
101
|
}
|
|
78
102
|
/** Returns the GTypes of the interfaces implemented by the given type. */
|
|
79
|
-
|
|
103
|
+
function typeInterfaces(type) {
|
|
80
104
|
const nInterfacesRef = { value: 0 };
|
|
81
105
|
return gTypeInterfaces(type, nInterfacesRef);
|
|
82
106
|
}
|
|
83
107
|
/** Returns the GType registered under the given name, or `TYPE_INVALID` if none exists. */
|
|
84
|
-
|
|
108
|
+
function typeFromName(name) {
|
|
85
109
|
return gTypeFromName(name);
|
|
86
110
|
}
|
|
87
|
-
|
|
111
|
+
function typeFundamental(type) {
|
|
88
112
|
return gTypeFundamental(type);
|
|
89
113
|
}
|
|
90
114
|
/** Returns the registered name of a GType, or null if it has none. */
|
|
91
|
-
|
|
115
|
+
function typeName(type) {
|
|
92
116
|
return (gTypeName(type) ?? null);
|
|
93
117
|
}
|
|
94
118
|
/** Returns whether `value` is a typed wrapper whose GType is or descends from `gtype`. */
|
|
95
|
-
|
|
119
|
+
function valueIsA(value, gtype) {
|
|
96
120
|
return isTypedClass(value) && typeIsA(value.__type__, gtype);
|
|
97
121
|
}
|
|
98
122
|
/**
|
|
99
123
|
* Resolves the GType produced by a `get_type` function in a shared library, caching
|
|
100
124
|
* the result per library and function name.
|
|
101
125
|
* @param sharedLibrary Path or name of the shared library exporting the function.
|
|
102
|
-
* @param
|
|
126
|
+
* @param typeFnName Name of the `*_get_type` function to call.
|
|
103
127
|
*/
|
|
104
|
-
|
|
105
|
-
const key = `${sharedLibrary}:${
|
|
128
|
+
const resolveType = (sharedLibrary, typeFnName) => {
|
|
129
|
+
const key = `${sharedLibrary}:${typeFnName}`;
|
|
106
130
|
const cached = resolvedTypeCache.get(key);
|
|
107
|
-
if (cached !== undefined)
|
|
131
|
+
if (cached !== undefined) {
|
|
108
132
|
return cached;
|
|
109
|
-
|
|
133
|
+
}
|
|
134
|
+
const gtype = nativeResolveType(sharedLibrary, typeFnName);
|
|
110
135
|
resolvedTypeCache.set(key, gtype);
|
|
111
136
|
return gtype;
|
|
112
137
|
};
|
|
113
|
-
|
|
138
|
+
const resolveBoxedType = (descriptor) => {
|
|
114
139
|
if (descriptor.getTypeFnName && descriptor.sharedLibrary) {
|
|
115
140
|
return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);
|
|
116
141
|
}
|
|
@@ -120,55 +145,50 @@ export const resolveBoxedType = (descriptor) => {
|
|
|
120
145
|
}
|
|
121
146
|
return gtype;
|
|
122
147
|
};
|
|
123
|
-
|
|
148
|
+
const resolveFundamentalType = (descriptor) => {
|
|
124
149
|
if (descriptor.typeName) {
|
|
125
150
|
const gtype = typeFromName(descriptor.typeName);
|
|
126
|
-
if (gtype !== TYPE_INVALID)
|
|
151
|
+
if (gtype !== TYPE_INVALID) {
|
|
127
152
|
return gtype;
|
|
153
|
+
}
|
|
128
154
|
}
|
|
129
|
-
throw new Error(
|
|
155
|
+
throw new Error("Cannot resolve gtype for fundamental type without a typeName");
|
|
130
156
|
};
|
|
131
|
-
|
|
132
|
-
if (descriptor.kind === "
|
|
157
|
+
function resolveArrayType(descriptor) {
|
|
158
|
+
if (descriptor.itemDescriptor.kind === "string" && descriptor.arrayKind === "array") {
|
|
159
|
+
return getStrvType();
|
|
160
|
+
}
|
|
161
|
+
throw new Error(`Unsupported array type ${descriptor.arrayKind} of ${descriptor.itemDescriptor.kind}`);
|
|
162
|
+
}
|
|
163
|
+
function isResolvableDescriptor(descriptor) {
|
|
164
|
+
return RESOLVABLE_DESCRIPTOR_KINDS.has(descriptor.kind);
|
|
165
|
+
}
|
|
166
|
+
function resolveDescriptorType(descriptor) {
|
|
167
|
+
if (descriptor.kind === "biguint64" && "type" in descriptor) {
|
|
133
168
|
return TYPE_GTYPE;
|
|
169
|
+
}
|
|
170
|
+
const plain = PLAIN_DESCRIPTOR_TYPES[descriptor.kind];
|
|
171
|
+
if (plain !== undefined) {
|
|
172
|
+
return plain;
|
|
173
|
+
}
|
|
174
|
+
if (!isResolvableDescriptor(descriptor)) {
|
|
175
|
+
throw new Error(`Unsupported type descriptor '${descriptor.kind}'`);
|
|
176
|
+
}
|
|
134
177
|
switch (descriptor.kind) {
|
|
135
|
-
case "boolean":
|
|
136
|
-
return TYPE_BOOLEAN;
|
|
137
|
-
case "string":
|
|
138
|
-
return TYPE_STRING;
|
|
139
|
-
case "int8":
|
|
140
|
-
case "int16":
|
|
141
|
-
case "int32":
|
|
142
|
-
return TYPE_INT;
|
|
143
|
-
case "uint8":
|
|
144
|
-
case "uint16":
|
|
145
|
-
case "uint32":
|
|
146
|
-
return TYPE_UINT;
|
|
147
|
-
case "int64":
|
|
148
|
-
case "bigint64":
|
|
149
|
-
return TYPE_INT64;
|
|
150
|
-
case "uint64":
|
|
151
|
-
case "biguint64":
|
|
152
|
-
return TYPE_UINT64;
|
|
153
|
-
case "float32":
|
|
154
|
-
return TYPE_FLOAT;
|
|
155
|
-
case "float64":
|
|
156
|
-
return TYPE_DOUBLE;
|
|
157
|
-
case "object":
|
|
158
|
-
return TYPE_OBJECT;
|
|
159
178
|
case "enum":
|
|
160
|
-
case "flags":
|
|
179
|
+
case "flags": {
|
|
161
180
|
return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);
|
|
162
|
-
|
|
181
|
+
}
|
|
182
|
+
case "boxed": {
|
|
163
183
|
return resolveBoxedType(descriptor);
|
|
164
|
-
|
|
184
|
+
}
|
|
185
|
+
case "fundamental": {
|
|
165
186
|
return resolveFundamentalType(descriptor);
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
default:
|
|
171
|
-
throw new Error(`Unsupported type descriptor '${descriptor.kind}'`);
|
|
187
|
+
}
|
|
188
|
+
case "array": {
|
|
189
|
+
return resolveArrayType(descriptor);
|
|
190
|
+
}
|
|
172
191
|
}
|
|
173
192
|
}
|
|
193
|
+
export { TYPE_INVALID, TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR, TYPE_BOOLEAN, TYPE_INT, TYPE_UINT, TYPE_LONG, TYPE_ULONG, TYPE_INT64, TYPE_UINT64, TYPE_ENUM, TYPE_FLAGS, TYPE_FLOAT, TYPE_DOUBLE, TYPE_STRING, TYPE_POINTER, TYPE_BOXED, TYPE_PARAM, TYPE_OBJECT, TYPE_GTYPE, TYPE_VARIANT, TYPE_UNICHAR, getErrorType, getStrvType, isResolvableDescriptor, isTypedClass, typeIsA, typeParent, typeInterfaces, typeFromName, typeFundamental, typeName, valueIsA, resolveType, resolveBoxedType, resolveFundamentalType, resolveDescriptorType, };
|
|
174
194
|
//# sourceMappingURL=type.js.map
|
package/dist/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Descriptor, resolveType as nativeResolveType } from \"@gtkx/native\";\nimport { bind } from \"./bind.js\";\nimport {\n type BoxedDescriptor,\n biguint64T,\n booleanT,\n type FundamentalDescriptor,\n refT,\n sizedArrayT,\n stringT,\n uint32T,\n} from \"./descriptors.js\";\nimport { LIB } from \"./library.js\";\n\n/** Object tagged with its GLib type through a `__type__` GType field. */\nexport type TypedClass = {\n __type__: bigint;\n};\n\nconst resolvedTypeCache = new Map<string, bigint>();\n\nconst gTypeFromName = bind(LIB, \"g_type_from_name\", [stringT(\"borrowed\")], biguint64T);\nconst gTypeIsA = bind(LIB, \"g_type_is_a\", [biguint64T, biguint64T], booleanT);\nconst gTypeParent = bind(LIB, \"g_type_parent\", [biguint64T], biguint64T);\nconst gTypeFundamental = bind(LIB, \"g_type_fundamental\", [biguint64T], biguint64T);\nconst gTypeName = bind(LIB, \"g_type_name\", [biguint64T], stringT(\"borrowed\"));\nconst gTypeInterfaces = bind(LIB, \"g_type_interfaces\", [biguint64T, refT(uint32T)], sizedArrayT(biguint64T, 1, \"full\"));\n\nconst lazyType = (name: string): (() => bigint) => {\n let cached: bigint | undefined;\n return () => {\n cached ??= typeFromName(name);\n return cached;\n };\n};\n\nexport const isTypedClass = (value: unknown): value is TypedClass =>\n typeof value === \"object\" && value !== null && \"__type__\" in value && typeof value.__type__ === \"bigint\";\n\n/** GType tag for an invalid or uninitialized type. */\nexport const TYPE_INVALID: bigint = 0n;\n/** GType tag for the absence of a value (`void`). */\nexport const TYPE_NONE: bigint = typeFromName(\"void\");\n/** GType tag for the base GInterface type. */\nexport const TYPE_INTERFACE: bigint = typeFromName(\"GInterface\");\n/** GType tag for `gchar` (signed 8-bit integer). */\nexport const TYPE_CHAR: bigint = typeFromName(\"gchar\");\n/** GType tag for `guchar` (unsigned 8-bit integer). */\nexport const TYPE_UCHAR: bigint = typeFromName(\"guchar\");\n/** GType tag for `gboolean`. */\nexport const TYPE_BOOLEAN: bigint = typeFromName(\"gboolean\");\n/** GType tag for `gint`. */\nexport const TYPE_INT: bigint = typeFromName(\"gint\");\n/** GType tag for `guint`. */\nexport const TYPE_UINT: bigint = typeFromName(\"guint\");\n/** GType tag for `glong`. */\nexport const TYPE_LONG: bigint = typeFromName(\"glong\");\n/** GType tag for `gulong`. */\nexport const TYPE_ULONG: bigint = typeFromName(\"gulong\");\n/** GType tag for `gint64`. */\nexport const TYPE_INT64: bigint = typeFromName(\"gint64\");\n/** GType tag for `guint64`. */\nexport const TYPE_UINT64: bigint = typeFromName(\"guint64\");\n/** GType tag for the base GEnum type. */\nexport const TYPE_ENUM: bigint = typeFromName(\"GEnum\");\n/** GType tag for the base GFlags type. */\nexport const TYPE_FLAGS: bigint = typeFromName(\"GFlags\");\n/** GType tag for `gfloat`. */\nexport const TYPE_FLOAT: bigint = typeFromName(\"gfloat\");\n/** GType tag for `gdouble`. */\nexport const TYPE_DOUBLE: bigint = typeFromName(\"gdouble\");\n/** GType tag for `gchararray` (a nul-terminated C string). */\nexport const TYPE_STRING: bigint = typeFromName(\"gchararray\");\n/** GType tag for `gpointer` (an opaque pointer). */\nexport const TYPE_POINTER: bigint = typeFromName(\"gpointer\");\n/** GType tag for the base GBoxed type. */\nexport const TYPE_BOXED: bigint = typeFromName(\"GBoxed\");\n/** GType tag for the base GParam type. */\nexport const TYPE_PARAM: bigint = typeFromName(\"GParam\");\n/** GType tag for the base GObject type. */\nexport const TYPE_OBJECT: bigint = typeFromName(\"GObject\");\n/** GType tag for a GType value itself. */\nexport const TYPE_GTYPE: bigint = typeFromName(\"GType\");\n/** GType tag for GVariant. */\nexport const TYPE_VARIANT: bigint = typeFromName(\"GVariant\");\n/** GType tag for a Unicode character stored as `guint`. */\nexport const TYPE_UNICHAR: bigint = typeFromName(\"guint\");\nexport const getErrorType: () => bigint = lazyType(\"GError\");\nexport const getStrvType: () => bigint = lazyType(\"GStrv\");\n\n/** Returns whether `type` is `isAType` or descends from it. */\nexport function typeIsA(type: bigint, isAType: bigint): boolean {\n return gTypeIsA(type, isAType) as boolean;\n}\n\n/** Returns the immediate parent GType of the given type. */\nexport function typeParent(type: bigint): bigint {\n return gTypeParent(type) as bigint;\n}\n\n/** Returns the GTypes of the interfaces implemented by the given type. */\nexport function typeInterfaces(type: bigint): bigint[] {\n const nInterfacesRef = { value: 0 };\n return gTypeInterfaces(type, nInterfacesRef) as bigint[];\n}\n\n/** Returns the GType registered under the given name, or `TYPE_INVALID` if none exists. */\nexport function typeFromName(name: string): bigint {\n return gTypeFromName(name) as bigint;\n}\n\nexport function typeFundamental(type: bigint): bigint {\n return gTypeFundamental(type) as bigint;\n}\n\n/** Returns the registered name of a GType, or null if it has none. */\nexport function typeName(type: bigint): string | null {\n return (gTypeName(type) ?? null) as string | null;\n}\n\n/** Returns whether `value` is a typed wrapper whose GType is or descends from `gtype`. */\nexport function valueIsA(value: unknown, gtype: bigint): boolean {\n return isTypedClass(value) && typeIsA(value.__type__, gtype);\n}\n\n/**\n * Resolves the GType produced by a `get_type` function in a shared library, caching\n * the result per library and function name.\n * @param sharedLibrary Path or name of the shared library exporting the function.\n * @param getTypeFnName Name of the `*_get_type` function to call.\n */\nexport const resolveType = (sharedLibrary: string, getTypeFnName: string): bigint => {\n const key = `${sharedLibrary}:${getTypeFnName}`;\n const cached = resolvedTypeCache.get(key);\n if (cached !== undefined) return cached;\n const gtype = nativeResolveType(sharedLibrary, getTypeFnName);\n resolvedTypeCache.set(key, gtype);\n return gtype;\n};\n\nexport const resolveBoxedType = (descriptor: BoxedDescriptor): bigint => {\n if (descriptor.getTypeFnName && descriptor.sharedLibrary) {\n return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);\n }\n const gtype = typeFromName(descriptor.typeName);\n if (gtype === TYPE_INVALID) {\n throw new Error(`Cannot resolve gtype for boxed type '${descriptor.typeName}'`);\n }\n return gtype;\n};\n\nexport const resolveFundamentalType = (descriptor: FundamentalDescriptor): bigint => {\n if (descriptor.typeName) {\n const gtype = typeFromName(descriptor.typeName);\n if (gtype !== TYPE_INVALID) return gtype;\n }\n throw new Error(`Cannot resolve gtype for fundamental type without a typeName`);\n};\n\nexport function resolveDescriptorType(descriptor: Descriptor): bigint {\n if (descriptor.kind === \"biguint64\" && \"type\" in descriptor) return TYPE_GTYPE;\n switch (descriptor.kind) {\n case \"boolean\":\n return TYPE_BOOLEAN;\n case \"string\":\n return TYPE_STRING;\n case \"int8\":\n case \"int16\":\n case \"int32\":\n return TYPE_INT;\n case \"uint8\":\n case \"uint16\":\n case \"uint32\":\n return TYPE_UINT;\n case \"int64\":\n case \"bigint64\":\n return TYPE_INT64;\n case \"uint64\":\n case \"biguint64\":\n return TYPE_UINT64;\n case \"float32\":\n return TYPE_FLOAT;\n case \"float64\":\n return TYPE_DOUBLE;\n case \"object\":\n return TYPE_OBJECT;\n case \"enum\":\n case \"flags\":\n return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);\n case \"boxed\":\n return resolveBoxedType(descriptor);\n case \"fundamental\":\n return resolveFundamentalType(descriptor);\n case \"array\":\n if (descriptor.itemDescriptor.kind === \"string\" && descriptor.arrayKind === \"array\") return getStrvType();\n throw new Error(`Unsupported array type ${descriptor.arrayKind} of ${descriptor.itemDescriptor.kind}`);\n default:\n throw new Error(`Unsupported type descriptor '${descriptor.kind}'`);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Descriptor, resolveType as nativeResolveType } from \"@gtkx/native\";\nimport { bind } from \"./bind.js\";\nimport {\n type ArrayDescriptor,\n biguint64T,\n booleanT,\n type BoxedDescriptor,\n type FundamentalDescriptor,\n refT,\n sizedArrayT,\n stringT,\n uint32T,\n} from \"./descriptors.js\";\nimport { LIB } from \"./library.js\";\n\n/** Object tagged with its GLib type through a `__type__` GType field. */\ntype TypedClass = {\n __type__: bigint;\n};\n\ntype ResolvableKind = \"enum\" | \"flags\" | \"boxed\" | \"fundamental\" | \"array\";\n/** Descriptor kinds whose GType is resolved from library metadata rather than a fixed fundamental type. */\ntype ResolvableDescriptor = Extract<Descriptor, { kind: ResolvableKind }>;\n\nconst resolvedTypeCache: Map<string, bigint> = new Map();\nconst gTypeFromName = bind(LIB, \"g_type_from_name\", [stringT(\"borrowed\")], biguint64T);\nconst gTypeIsA = bind(LIB, \"g_type_is_a\", [biguint64T, biguint64T], booleanT);\nconst gTypeParent = bind(LIB, \"g_type_parent\", [biguint64T], biguint64T);\nconst gTypeFundamental = bind(LIB, \"g_type_fundamental\", [biguint64T], biguint64T);\nconst gTypeName = bind(LIB, \"g_type_name\", [biguint64T], stringT(\"borrowed\"));\nconst gTypeInterfaces = bind(LIB, \"g_type_interfaces\", [biguint64T, refT(uint32T)], sizedArrayT(biguint64T, 1, \"full\"));\n/** GType tag for an invalid or uninitialized type. */\nconst TYPE_INVALID = 0n;\n/** GType tag for the absence of a value (`void`). */\nconst TYPE_NONE: bigint = typeFromName(\"void\");\n/** GType tag for the base GInterface type. */\nconst TYPE_INTERFACE: bigint = typeFromName(\"GInterface\");\n/** GType tag for `gchar` (signed 8-bit integer). */\nconst TYPE_CHAR: bigint = typeFromName(\"gchar\");\n/** GType tag for `guchar` (unsigned 8-bit integer). */\nconst TYPE_UCHAR: bigint = typeFromName(\"guchar\");\n/** GType tag for `gboolean`. */\nconst TYPE_BOOLEAN: bigint = typeFromName(\"gboolean\");\n/** GType tag for `gint`. */\nconst TYPE_INT: bigint = typeFromName(\"gint\");\n/** GType tag for `guint`. */\nconst TYPE_UINT: bigint = typeFromName(\"guint\");\n/** GType tag for `glong`. */\nconst TYPE_LONG: bigint = typeFromName(\"glong\");\n/** GType tag for `gulong`. */\nconst TYPE_ULONG: bigint = typeFromName(\"gulong\");\n/** GType tag for `gint64`. */\nconst TYPE_INT64: bigint = typeFromName(\"gint64\");\n/** GType tag for `guint64`. */\nconst TYPE_UINT64: bigint = typeFromName(\"guint64\");\n/** GType tag for the base GEnum type. */\nconst TYPE_ENUM: bigint = typeFromName(\"GEnum\");\n/** GType tag for the base GFlags type. */\nconst TYPE_FLAGS: bigint = typeFromName(\"GFlags\");\n/** GType tag for `gfloat`. */\nconst TYPE_FLOAT: bigint = typeFromName(\"gfloat\");\n/** GType tag for `gdouble`. */\nconst TYPE_DOUBLE: bigint = typeFromName(\"gdouble\");\n/** GType tag for `gchararray` (a nul-terminated C string). */\nconst TYPE_STRING: bigint = typeFromName(\"gchararray\");\n/** GType tag for `gpointer` (an opaque pointer). */\nconst TYPE_POINTER: bigint = typeFromName(\"gpointer\");\n/** GType tag for the base GBoxed type. */\nconst TYPE_BOXED: bigint = typeFromName(\"GBoxed\");\n/** GType tag for the base GParam type. */\nconst TYPE_PARAM: bigint = typeFromName(\"GParam\");\n/** GType tag for the base GObject type. */\nconst TYPE_OBJECT: bigint = typeFromName(\"GObject\");\n/** GType tag for a GType value itself. */\nconst TYPE_GTYPE: bigint = typeFromName(\"GType\");\n/** GType tag for GVariant. */\nconst TYPE_VARIANT: bigint = typeFromName(\"GVariant\");\n/** GType tag for a Unicode character stored as `guint`. */\nconst TYPE_UNICHAR: bigint = typeFromName(\"guint\");\nconst getErrorType: () => bigint = lazyType(\"GError\");\nconst getStrvType: () => bigint = lazyType(\"GStrv\");\n\nconst PLAIN_DESCRIPTOR_TYPES: Partial<Record<Descriptor[\"kind\"], bigint>> = {\n boolean: TYPE_BOOLEAN,\n string: TYPE_STRING,\n int8: TYPE_INT,\n int16: TYPE_INT,\n int32: TYPE_INT,\n uint8: TYPE_UINT,\n uint16: TYPE_UINT,\n uint32: TYPE_UINT,\n int64: TYPE_INT64,\n bigint64: TYPE_INT64,\n uint64: TYPE_UINT64,\n biguint64: TYPE_UINT64,\n float32: TYPE_FLOAT,\n float64: TYPE_DOUBLE,\n object: TYPE_OBJECT,\n};\n\nconst RESOLVABLE_DESCRIPTOR_KINDS: Set<Descriptor[\"kind\"]> = new Set<ResolvableKind>([\n \"enum\",\n \"flags\",\n \"boxed\",\n \"fundamental\",\n \"array\",\n]);\n\nfunction lazyType(name: string): () => bigint {\n let cached: bigint | undefined;\n\n return () => {\n cached ??= typeFromName(name);\n\n return cached;\n };\n}\n\nconst isTypedClass = (value: unknown): value is TypedClass =>\n typeof value === \"object\" && value !== null && \"__type__\" in value && typeof value.__type__ === \"bigint\";\n\n/** Returns whether `type` is `ancestorType` or descends from it. */\nfunction typeIsA(type: bigint, ancestorType: bigint): boolean {\n return gTypeIsA(type, ancestorType) as boolean;\n}\n\n/** Returns the immediate parent GType of the given type. */\nfunction typeParent(type: bigint): bigint {\n return gTypeParent(type) as bigint;\n}\n\n/** Returns the GTypes of the interfaces implemented by the given type. */\nfunction typeInterfaces(type: bigint): bigint[] {\n const nInterfacesRef = { value: 0 };\n\n return gTypeInterfaces(type, nInterfacesRef) as bigint[];\n}\n\n/** Returns the GType registered under the given name, or `TYPE_INVALID` if none exists. */\nfunction typeFromName(name: string): bigint {\n return gTypeFromName(name) as bigint;\n}\n\nfunction typeFundamental(type: bigint): bigint {\n return gTypeFundamental(type) as bigint;\n}\n\n/** Returns the registered name of a GType, or null if it has none. */\nfunction typeName(type: bigint): string | null {\n return (gTypeName(type) ?? null) as string | null;\n}\n\n/** Returns whether `value` is a typed wrapper whose GType is or descends from `gtype`. */\nfunction valueIsA(value: unknown, gtype: bigint): boolean {\n return isTypedClass(value) && typeIsA(value.__type__, gtype);\n}\n\n/**\n * Resolves the GType produced by a `get_type` function in a shared library, caching\n * the result per library and function name.\n * @param sharedLibrary Path or name of the shared library exporting the function.\n * @param typeFnName Name of the `*_get_type` function to call.\n */\nconst resolveType = (sharedLibrary: string, typeFnName: string): bigint => {\n const key = `${sharedLibrary}:${typeFnName}`;\n const cached = resolvedTypeCache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const gtype = nativeResolveType(sharedLibrary, typeFnName);\n resolvedTypeCache.set(key, gtype);\n\n return gtype;\n};\n\nconst resolveBoxedType = (descriptor: BoxedDescriptor): bigint => {\n if (descriptor.getTypeFnName && descriptor.sharedLibrary) {\n return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);\n }\n\n const gtype = typeFromName(descriptor.typeName);\n\n if (gtype === TYPE_INVALID) {\n throw new Error(`Cannot resolve gtype for boxed type '${descriptor.typeName}'`);\n }\n\n return gtype;\n};\n\nconst resolveFundamentalType = (descriptor: FundamentalDescriptor): bigint => {\n if (descriptor.typeName) {\n const gtype = typeFromName(descriptor.typeName);\n\n if (gtype !== TYPE_INVALID) {\n return gtype;\n }\n }\n\n throw new Error(\"Cannot resolve gtype for fundamental type without a typeName\");\n};\n\nfunction resolveArrayType(descriptor: ArrayDescriptor): bigint {\n if (descriptor.itemDescriptor.kind === \"string\" && descriptor.arrayKind === \"array\") {\n return getStrvType();\n }\n\n throw new Error(`Unsupported array type ${descriptor.arrayKind} of ${descriptor.itemDescriptor.kind}`);\n}\n\nfunction isResolvableDescriptor(descriptor: Descriptor): descriptor is ResolvableDescriptor {\n return RESOLVABLE_DESCRIPTOR_KINDS.has(descriptor.kind);\n}\n\nfunction resolveDescriptorType(descriptor: Descriptor): bigint {\n if (descriptor.kind === \"biguint64\" && \"type\" in descriptor) {\n return TYPE_GTYPE;\n }\n\n const plain = PLAIN_DESCRIPTOR_TYPES[descriptor.kind];\n\n if (plain !== undefined) {\n return plain;\n }\n\n if (!isResolvableDescriptor(descriptor)) {\n throw new Error(`Unsupported type descriptor '${descriptor.kind}'`);\n }\n\n switch (descriptor.kind) {\n case \"enum\":\n case \"flags\": {\n return resolveType(descriptor.sharedLibrary, descriptor.getTypeFnName);\n }\n case \"boxed\": {\n return resolveBoxedType(descriptor);\n }\n case \"fundamental\": {\n return resolveFundamentalType(descriptor);\n }\n case \"array\": {\n return resolveArrayType(descriptor);\n }\n }\n}\n\nexport {\n TYPE_INVALID,\n TYPE_NONE,\n TYPE_INTERFACE,\n TYPE_CHAR,\n TYPE_UCHAR,\n TYPE_BOOLEAN,\n TYPE_INT,\n TYPE_UINT,\n TYPE_LONG,\n TYPE_ULONG,\n TYPE_INT64,\n TYPE_UINT64,\n TYPE_ENUM,\n TYPE_FLAGS,\n TYPE_FLOAT,\n TYPE_DOUBLE,\n TYPE_STRING,\n TYPE_POINTER,\n TYPE_BOXED,\n TYPE_PARAM,\n TYPE_OBJECT,\n TYPE_GTYPE,\n TYPE_VARIANT,\n TYPE_UNICHAR,\n getErrorType,\n getStrvType,\n isResolvableDescriptor,\n isTypedClass,\n typeIsA,\n typeParent,\n typeInterfaces,\n typeFromName,\n typeFundamental,\n typeName,\n valueIsA,\n resolveType,\n resolveBoxedType,\n resolveFundamentalType,\n resolveDescriptorType,\n type ResolvableDescriptor,\n type TypedClass,\n};\n"]}
|
package/dist/value.d.ts
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import { type Descriptor, type ExternalObject, type Handle } from "@gtkx/native";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare function getValueType(value: ExternalObject<Handle>): bigint;
|
|
3
|
+
declare function copyValue(dest: ExternalObject<Handle>, src: ExternalObject<Handle>): void;
|
|
4
4
|
/**
|
|
5
5
|
* Reads the boxed pointer out of a GValue and returns it wrapped in its registered
|
|
6
6
|
* class, or null when the value does not hold a boxed type.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
declare function getBoxedValue(value: ExternalObject<Handle>): object | null;
|
|
9
9
|
/** Stores a boxed object, or null, into a GValue that holds a boxed type. */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
declare function setBoxedValue(value: ExternalObject<Handle>, boxed: object | null): void;
|
|
11
|
+
/**
|
|
12
|
+
* Stores a JavaScript value into an already-initialized GValue, converting it to
|
|
13
|
+
* whatever type the GValue holds.
|
|
14
|
+
*
|
|
15
|
+
* @param value The initialized GValue to write into.
|
|
16
|
+
* @param jsValue The JavaScript value to store.
|
|
17
|
+
*/
|
|
18
|
+
declare function intoValue(value: ExternalObject<Handle>, jsValue: unknown): void;
|
|
19
|
+
declare function toValue(descriptor: Descriptor, value: unknown): ExternalObject<Handle>;
|
|
20
|
+
declare function fromValue(value: ExternalObject<Handle>): unknown;
|
|
21
|
+
declare function newValueForDescriptor(descriptor: Descriptor): ExternalObject<Handle>;
|
|
22
|
+
declare function outValueForDescriptor(descriptor: Descriptor, initial?: unknown): {
|
|
15
23
|
value: ExternalObject<Handle>;
|
|
16
24
|
read: () => unknown;
|
|
17
25
|
};
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
declare function outValueForBoxedDescriptor(descriptor: Descriptor, boxed: object): ExternalObject<Handle>;
|
|
27
|
+
declare function inoutValueForBoxedDescriptor(descriptor: Descriptor, boxed: object): ExternalObject<Handle>;
|
|
28
|
+
export { getValueType, intoValue, copyValue, getBoxedValue, setBoxedValue, toValue, fromValue, newValueForDescriptor, outValueForDescriptor, outValueForBoxedDescriptor, inoutValueForBoxedDescriptor, };
|
|
20
29
|
//# sourceMappingURL=value.d.ts.map
|
package/dist/value.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,KAAK,cAAc,EAAW,KAAK,MAAM,EAAe,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,KAAK,cAAc,EAAW,KAAK,MAAM,EAAe,MAAM,cAAc,CAAC;AAmL9G,iBAAS,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,CAE3D;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAMlF;AAqBD;;;GAGG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAWnE;AAED,6EAA6E;AAC7E,iBAAS,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAGhF;AAgGD;;;;;;GAMG;AACH,iBAAS,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CASxE;AAoBD,iBAAS,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAO/E;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAczD;AAED,iBAAS,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAE7E;AAED,iBAAS,qBAAqB,CAC1B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,OAAO,GAClB;IAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,OAAO,CAAA;CAAE,CAYxD;AAED,iBAAS,0BAA0B,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAEjG;AAED,iBAAS,4BAA4B,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAEnG;AAED,OAAO,EACH,YAAY,EACZ,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC/B,CAAC"}
|