pyobjc-framework-WebKit 10.3.2__cp313-cp313t-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ """
2
+ Python mapping for the JavaScriptCore framework.
3
+
4
+ This module does not contain docstrings for the wrapped code, check Apple's
5
+ documentation for details on how to use these functions and classes.
6
+ """
7
+
8
+ import objc as _objc
9
+
10
+
11
+ def _setup():
12
+ import sys
13
+
14
+ import CoreFoundation
15
+ import objc
16
+ from . import _metadata, _util, _JavaScriptCore
17
+
18
+ dir_func, getattr_func = objc.createFrameworkDirAndGetattr(
19
+ name="JavaScriptCore",
20
+ frameworkIdentifier="com.apple.JavaScriptCore",
21
+ frameworkPath=objc.pathForFramework(
22
+ "/System/Library/Frameworks/JavaScriptCore.framework"
23
+ ),
24
+ globals_dict=globals(),
25
+ inline_list=None,
26
+ parents=(
27
+ _util,
28
+ _JavaScriptCore,
29
+ CoreFoundation,
30
+ ),
31
+ metadict=_metadata.__dict__,
32
+ )
33
+
34
+ globals()["__dir__"] = dir_func
35
+ globals()["__getattr__"] = getattr_func
36
+
37
+ del sys.modules["JavaScriptCore._metadata"]
38
+
39
+
40
+ globals().pop("_setup")()
41
+
42
+
43
+ def JSExportAs(PropertyName, Selector):
44
+ return (
45
+ _objc.selector(
46
+ None,
47
+ selector=Selector.selector
48
+ + b"__JS_EXPORT_AS__"
49
+ + PropertyName.encode()
50
+ + b":",
51
+ signature=Selector.signature + b"@",
52
+ isRequired=False,
53
+ isClassMethod=Selector.isClassMethod,
54
+ ),
55
+ Selector,
56
+ )
@@ -0,0 +1,602 @@
1
+ # This file is generated by objective.metadata
2
+ #
3
+ # Last update: Sat May 18 09:38:43 2024
4
+ #
5
+ # flake8: noqa
6
+
7
+ import objc, sys
8
+ from typing import NewType
9
+
10
+ if sys.maxsize > 2**32:
11
+
12
+ def sel32or64(a, b):
13
+ return b
14
+
15
+ else:
16
+
17
+ def sel32or64(a, b):
18
+ return a
19
+
20
+
21
+ if objc.arch == "arm64":
22
+
23
+ def selAorI(a, b):
24
+ return a
25
+
26
+ else:
27
+
28
+ def selAorI(a, b):
29
+ return b
30
+
31
+
32
+ misc = {}
33
+ constants = """$JSPropertyDescriptorConfigurableKey$JSPropertyDescriptorEnumerableKey$JSPropertyDescriptorGetKey$JSPropertyDescriptorSetKey$JSPropertyDescriptorValueKey$JSPropertyDescriptorWritableKey$"""
34
+ enums = """$JSC_OBJC_API_ENABLED@1$WEBKIT_VERSION_1_0@256$WEBKIT_VERSION_1_1@272$WEBKIT_VERSION_1_2@288$WEBKIT_VERSION_1_3@304$WEBKIT_VERSION_2_0@512$WEBKIT_VERSION_3_0@768$WEBKIT_VERSION_3_1@784$WEBKIT_VERSION_4_0@1024$WEBKIT_VERSION_LATEST@39321$kJSClassAttributeNoAutomaticPrototype@2$kJSClassAttributeNone@0$kJSPropertyAttributeDontDelete@8$kJSPropertyAttributeDontEnum@4$kJSPropertyAttributeNone@0$kJSPropertyAttributeReadOnly@2$kJSTypeBoolean@2$kJSTypeNull@1$kJSTypeNumber@3$kJSTypeObject@5$kJSTypeString@4$kJSTypeSymbol@6$kJSTypeUndefined@0$kJSTypedArrayTypeArrayBuffer@9$kJSTypedArrayTypeBigInt64Array@11$kJSTypedArrayTypeBigUint64Array@12$kJSTypedArrayTypeFloat32Array@7$kJSTypedArrayTypeFloat64Array@8$kJSTypedArrayTypeInt16Array@1$kJSTypedArrayTypeInt32Array@2$kJSTypedArrayTypeInt8Array@0$kJSTypedArrayTypeNone@10$kJSTypedArrayTypeUint16Array@5$kJSTypedArrayTypeUint32Array@6$kJSTypedArrayTypeUint8Array@3$kJSTypedArrayTypeUint8ClampedArray@4$"""
35
+ misc.update(
36
+ {
37
+ "JSType": NewType("JSType", int),
38
+ "JSTypedArrayType": NewType("JSTypedArrayType", int),
39
+ }
40
+ )
41
+ misc.update({})
42
+ misc.update({})
43
+ functions = {
44
+ "JSObjectSetPropertyForKey": (
45
+ b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}",
46
+ "",
47
+ {"arguments": {5: {"type_modifier": "o"}}},
48
+ ),
49
+ "JSClassRetain": (b"^{OpaqueJSClass=}^{OpaqueJSClass=}",),
50
+ "JSValueCreateJSONString": (
51
+ b"^{OpaqueJSString=}^{OpaqueJSContext=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}",
52
+ "",
53
+ {
54
+ "retval": {"already_cfretained": True},
55
+ "arguments": {3: {"type_modifier": "o"}},
56
+ },
57
+ ),
58
+ "JSObjectDeletePropertyForKey": (
59
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
60
+ "",
61
+ {"arguments": {3: {"type_modifier": "o"}}},
62
+ ),
63
+ "JSValueGetTypedArrayType": (
64
+ b"I^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
65
+ "",
66
+ {"arguments": {2: {"type_modifier": "o"}}},
67
+ ),
68
+ "JSStringCreateWithCFString": (
69
+ b"^{OpaqueJSString=}^{__CFString=}",
70
+ "",
71
+ {"retval": {"already_cfretained": True}},
72
+ ),
73
+ "JSValueToBoolean": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
74
+ "JSStringCopyCFString": (
75
+ b"^{__CFString=}^{__CFAllocator=}^{OpaqueJSString=}",
76
+ "",
77
+ {"retval": {"already_cfretained": True}},
78
+ ),
79
+ "JSObjectMakeTypedArray": (
80
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}IL^^{OpaqueJSValue=}",
81
+ "",
82
+ {"arguments": {3: {"type_modifier": "o"}}},
83
+ ),
84
+ "JSValueMakeString": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}",),
85
+ "JSObjectGetArrayBufferBytesPtr": (
86
+ b"^v^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
87
+ "",
88
+ {
89
+ "retval": {"c_array_of_variable_length": True},
90
+ "arguments": {2: {"type_modifier": "o"}},
91
+ },
92
+ ),
93
+ "JSObjectGetTypedArrayByteOffset": (
94
+ b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
95
+ "",
96
+ {"arguments": {2: {"type_modifier": "o"}}},
97
+ ),
98
+ "JSValueMakeNumber": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}d",),
99
+ "JSObjectMakeError": (
100
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
101
+ "",
102
+ {
103
+ "arguments": {
104
+ 2: {"c_array_length_in_arg": 1, "type_modifier": "n"},
105
+ 3: {"type_modifier": "o"},
106
+ }
107
+ },
108
+ ),
109
+ "JSValueProtect": (b"v^{OpaqueJSContext=}^{OpaqueJSValue=}",),
110
+ "JSValueIsDate": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
111
+ "JSObjectGetTypedArrayBytesPtr": (
112
+ b"^v^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
113
+ "",
114
+ {
115
+ "retval": {"c_array_of_variable_length": True},
116
+ "arguments": {2: {"type_modifier": "o"}},
117
+ },
118
+ ),
119
+ "JSValueToStringCopy": (
120
+ b"^{OpaqueJSString=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
121
+ "",
122
+ {
123
+ "retval": {"already_cfretained": True},
124
+ "arguments": {2: {"type_modifier": "o"}},
125
+ },
126
+ ),
127
+ "JSValueIsNumber": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
128
+ "JSObjectHasProperty": (
129
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}",
130
+ ),
131
+ "JSValueIsEqual": (
132
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
133
+ "",
134
+ {"arguments": {3: {"type_modifier": "o"}}},
135
+ ),
136
+ "JSValueIsArray": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
137
+ "JSValueToNumber": (
138
+ b"d^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
139
+ "",
140
+ {"arguments": {2: {"type_modifier": "o"}}},
141
+ ),
142
+ "JSObjectMakeDeferredPromise": (
143
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^^{OpaqueJSValue=}^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
144
+ "",
145
+ {
146
+ "arguments": {
147
+ 1: {"type_modifier": "o"},
148
+ 2: {"type_modifier": "o"},
149
+ 3: {"type_modifier": "o"},
150
+ }
151
+ },
152
+ ),
153
+ "JSObjectGetTypedArrayByteLength": (
154
+ b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
155
+ "",
156
+ {"arguments": {2: {"type_modifier": "o"}}},
157
+ ),
158
+ "JSValueUnprotect": (b"v^{OpaqueJSContext=}^{OpaqueJSValue=}",),
159
+ "JSObjectSetPropertyAtIndex": (
160
+ b"v^{OpaqueJSContext=}^{OpaqueJSValue=}I^{OpaqueJSValue=}^^{OpaqueJSValue=}",
161
+ "",
162
+ {"arguments": {4: {"type_modifier": "o"}}},
163
+ ),
164
+ "JSObjectGetTypedArrayLength": (
165
+ b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
166
+ "",
167
+ {"arguments": {2: {"type_modifier": "o"}}},
168
+ ),
169
+ "JSObjectCallAsFunction": (
170
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
171
+ "",
172
+ {
173
+ "arguments": {
174
+ 4: {"c_array_length_in_arg": 3, "type_modifier": "n"},
175
+ 5: {"type_modifier": "o"},
176
+ }
177
+ },
178
+ ),
179
+ "JSPropertyNameArrayGetCount": (b"Q^{OpaqueJSPropertyNameArray=}",),
180
+ "JSStringGetLength": (b"Q^{OpaqueJSString=}",),
181
+ "JSValueToObject": (
182
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
183
+ "",
184
+ {"arguments": {2: {"type_modifier": "o"}}},
185
+ ),
186
+ "JSValueIsString": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
187
+ "JSObjectCopyPropertyNames": (
188
+ b"^{OpaqueJSPropertyNameArray=}^{OpaqueJSContext=}^{OpaqueJSValue=}",
189
+ "",
190
+ {"retval": {"already_cfretained": True}},
191
+ ),
192
+ "JSGlobalContextCopyName": (
193
+ b"^{OpaqueJSString=}^{OpaqueJSContext=}",
194
+ "",
195
+ {"retval": {"already_cfretained": True}},
196
+ ),
197
+ "JSClassRelease": (b"v^{OpaqueJSClass=}",),
198
+ "JSValueMakeUndefined": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",),
199
+ "JSObjectMakeArray": (
200
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
201
+ "",
202
+ {
203
+ "arguments": {
204
+ 2: {"c_array_length_in_arg": 1, "type_modifier": "n"},
205
+ 3: {"type_modifier": "o"},
206
+ }
207
+ },
208
+ ),
209
+ "JSGlobalContextSetName": (b"v^{OpaqueJSContext=}^{OpaqueJSString=}",),
210
+ "JSStringGetMaximumUTF8CStringSize": (b"Q^{OpaqueJSString=}",),
211
+ "JSStringCreateWithCharacters": (
212
+ b"^{OpaqueJSString=}^TQ",
213
+ "",
214
+ {
215
+ "retval": {"already_cfretained": True},
216
+ "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}},
217
+ },
218
+ ),
219
+ "JSValueIsSymbol": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
220
+ "JSObjectMakeTypedArrayWithArrayBufferAndOffset": (
221
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^{OpaqueJSValue=}QQ^^{OpaqueJSValue=}",
222
+ "",
223
+ {"arguments": {5: {"type_modifier": "o"}}},
224
+ ),
225
+ "JSObjectCallAsConstructor": (
226
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
227
+ "",
228
+ {
229
+ "arguments": {
230
+ 3: {"c_array_length_in_arg": 2, "type_modifier": "n"},
231
+ 4: {"type_modifier": "o"},
232
+ }
233
+ },
234
+ ),
235
+ "JSObjectIsFunction": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
236
+ "JSValueIsInstanceOfConstructor": (
237
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
238
+ "",
239
+ {"arguments": {3: {"type_modifier": "o"}}},
240
+ ),
241
+ "JSCheckScriptSyntax": (
242
+ b"B^{OpaqueJSContext=}^{OpaqueJSString=}^{OpaqueJSString=}i^^{OpaqueJSValue=}",
243
+ "",
244
+ {"arguments": {4: {"type_modifier": "o"}}},
245
+ ),
246
+ "JSObjectIsConstructor": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
247
+ "JSPropertyNameArrayRelease": (b"v^{OpaqueJSPropertyNameArray=}",),
248
+ "JSValueIsBoolean": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
249
+ "JSGlobalContextIsInspectable": (b"B^{OpaqueJSContext=}",),
250
+ "JSContextGroupRetain": (b"^{OpaqueJSContextGroup=}^{OpaqueJSContextGroup=}",),
251
+ "JSGlobalContextRetain": (b"^{OpaqueJSContext=}^{OpaqueJSContext=}",),
252
+ "JSStringRelease": (b"v^{OpaqueJSString=}",),
253
+ "JSObjectMakeFunctionWithCallback": (
254
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}^?",
255
+ "",
256
+ {
257
+ "arguments": {
258
+ 2: {
259
+ "callable": {
260
+ "retval": {"type": b"^{OpaqueJSValue=}"},
261
+ "arguments": {
262
+ 0: {"type": b"^{OpaqueJSContext=}"},
263
+ 1: {"type": b"^{OpaqueJSValue=}"},
264
+ 2: {"type": b"^{OpaqueJSValue=}"},
265
+ 3: {"type": b"L"},
266
+ 4: {
267
+ "type": b"^^{OpaqueJSValue=}",
268
+ "type_modifier": "n",
269
+ "c_array_length_in_arg": 3,
270
+ },
271
+ 5: {"type": b"^^{OpaqueJSValue=}", "type_modifier": "o"},
272
+ },
273
+ }
274
+ }
275
+ }
276
+ },
277
+ ),
278
+ "JSValueIsObject": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
279
+ "JSStringGetUTF8CString": (
280
+ b"Q^{OpaqueJSString=}^tQ",
281
+ "",
282
+ {
283
+ "arguments": {
284
+ 1: {
285
+ "c_array_length_in_result": True,
286
+ "type_modifier": "o",
287
+ "c_array_length_in_arg": 2,
288
+ }
289
+ }
290
+ },
291
+ ),
292
+ "JSGlobalContextCreate": (
293
+ b"^{OpaqueJSContext=}^{OpaqueJSClass=}",
294
+ "",
295
+ {"retval": {"already_cfretained": True}},
296
+ ),
297
+ "JSObjectSetProperty": (
298
+ b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}",
299
+ "",
300
+ {"arguments": {5: {"type_modifier": "o"}}},
301
+ ),
302
+ "JSValueMakeBoolean": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}B",),
303
+ "JSGlobalContextRelease": (b"v^{OpaqueJSContext=}",),
304
+ "JSObjectMakeRegExp": (
305
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
306
+ "",
307
+ {
308
+ "arguments": {
309
+ 2: {"c_array_length_in_arg": 1, "type_modifier": "n"},
310
+ 3: {"type_modifier": "o"},
311
+ }
312
+ },
313
+ ),
314
+ "JSStringIsEqualToUTF8CString": (
315
+ b"B^{OpaqueJSString=}^t",
316
+ "",
317
+ {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}},
318
+ ),
319
+ "JSObjectGetProperty": (
320
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^^{OpaqueJSValue=}",
321
+ "",
322
+ {"arguments": {3: {"type_modifier": "o"}}},
323
+ ),
324
+ "JSObjectMakeArrayBufferWithBytesNoCopy": (
325
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^vQ^?^v^^{OpaqueJSValue=}",
326
+ "",
327
+ {
328
+ "retval": {"already_cfretained": True},
329
+ "arguments": {
330
+ 1: {"c_array_length_in_arg": 2, "type_modifier": "n"},
331
+ 3: {
332
+ "callable": {
333
+ "retval": {"type": b"v"},
334
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}},
335
+ },
336
+ "callable_retained": True,
337
+ },
338
+ 5: {"type_modifier": "o"},
339
+ },
340
+ },
341
+ ),
342
+ "JSValueIsNull": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
343
+ "JSPropertyNameAccumulatorAddName": (
344
+ b"v^{OpaqueJSPropertyNameAccumulator=}^{OpaqueJSString=}",
345
+ ),
346
+ "JSStringRetain": (b"^{OpaqueJSString=}^{OpaqueJSString=}",),
347
+ "JSObjectHasPropertyForKey": (
348
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
349
+ "",
350
+ {"arguments": {3: {"type_modifier": "o"}}},
351
+ ),
352
+ "JSObjectMakeConstructor": (
353
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSClass=}^?",
354
+ "",
355
+ {
356
+ "arguments": {
357
+ 2: {
358
+ "callable": {
359
+ "retval": {"type": b"^{OpaqueJSValue=}"},
360
+ "arguments": {
361
+ 0: {"type": b"^{OpaqueJSContext=}"},
362
+ 1: {"type": b"^{OpaqueJSValue=}"},
363
+ 2: {"type": b"L"},
364
+ 3: {
365
+ "type": b"^^{OpaqueJSValue=}",
366
+ "type_modifier": "n",
367
+ "c_array_length_in_arg": 2,
368
+ },
369
+ 4: {"type": b"^^{OpaqueJSValue=}", "type_modifier": "o"},
370
+ },
371
+ }
372
+ }
373
+ }
374
+ },
375
+ ),
376
+ "JSObjectSetPrivate": (b"B^{OpaqueJSValue=}^v",),
377
+ "JSObjectMakeTypedArrayWithBytesNoCopy": (
378
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^vL^?^v^^{OpaqueJSValue=}",
379
+ "",
380
+ {
381
+ "retval": {"already_cfretained": True},
382
+ "arguments": {
383
+ 2: {"c_array_length_in_arg": 3, "type_modifier": "n"},
384
+ 4: {
385
+ "callable": {
386
+ "retval": {"type": b"v"},
387
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}},
388
+ }
389
+ },
390
+ 6: {"type_modifier": "o"},
391
+ },
392
+ },
393
+ ),
394
+ "JSValueMakeFromJSONString": (
395
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}",
396
+ ),
397
+ "JSEvaluateScript": (
398
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}^{OpaqueJSValue=}^{OpaqueJSString=}i^^{OpaqueJSValue=}",
399
+ "",
400
+ {"arguments": {5: {"type_modifier": "o"}}},
401
+ ),
402
+ "JSContextGetGlobalContext": (b"^{OpaqueJSContext=}^{OpaqueJSContext=}",),
403
+ "JSStringCreateWithUTF8CString": (
404
+ b"^{OpaqueJSString=}^t",
405
+ "",
406
+ {
407
+ "retval": {"already_cfretained": True},
408
+ "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}},
409
+ },
410
+ ),
411
+ "JSObjectGetTypedArrayBuffer": (
412
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
413
+ "",
414
+ {"arguments": {2: {"type_modifier": "o"}}},
415
+ ),
416
+ "JSObjectGetArrayBufferByteLength": (
417
+ b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
418
+ "",
419
+ {"arguments": {2: {"type_modifier": "o"}}},
420
+ ),
421
+ "JSGlobalContextSetInspectable": (b"v^{OpaqueJSContext=}B",),
422
+ "JSContextGetGlobalObject": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",),
423
+ "JSPropertyNameArrayRetain": (
424
+ b"^{OpaqueJSPropertyNameArray=}^{OpaqueJSPropertyNameArray=}",
425
+ ),
426
+ "JSObjectMake": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSClass=}^v",),
427
+ "JSObjectGetPrivate": (b"^v^{OpaqueJSValue=}",),
428
+ "JSValueIsUndefined": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",),
429
+ "JSValueIsObjectOfClass": (
430
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSClass=}",
431
+ ),
432
+ "JSObjectGetPrototype": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}",),
433
+ "JSPropertyNameArrayGetNameAtIndex": (
434
+ b"^{OpaqueJSString=}^{OpaqueJSPropertyNameArray=}Q",
435
+ ),
436
+ "JSValueMakeNull": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",),
437
+ "JSContextGetGroup": (b"^{OpaqueJSContextGroup=}^{OpaqueJSContext=}",),
438
+ "JSContextGroupCreate": (
439
+ b"^{OpaqueJSContextGroup=}",
440
+ "",
441
+ {"retval": {"already_cfretained": True}},
442
+ ),
443
+ "JSObjectDeleteProperty": (
444
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^^{OpaqueJSValue=}",
445
+ "",
446
+ {"arguments": {3: {"type_modifier": "o"}}},
447
+ ),
448
+ "JSObjectGetPropertyForKey": (
449
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",
450
+ "",
451
+ {"arguments": {3: {"type_modifier": "o"}}},
452
+ ),
453
+ "JSObjectMakeFunction": (
454
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}I^^{OpaqueJSString=}^{OpaqueJSString=}^{OpaqueJSString=}i^^{OpaqueJSValue=}",
455
+ "",
456
+ {
457
+ "arguments": {
458
+ 3: {"c_array_length_in_arg": 2, "type_modifier": "n"},
459
+ 7: {"type_modifier": "o"},
460
+ }
461
+ },
462
+ ),
463
+ "JSObjectGetPropertyAtIndex": (
464
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}",
465
+ "",
466
+ {"arguments": {3: {"type_modifier": "o"}}},
467
+ ),
468
+ "JSStringIsEqual": (b"B^{OpaqueJSString=}^{OpaqueJSString=}",),
469
+ "JSObjectSetPrototype": (
470
+ b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}",
471
+ ),
472
+ "JSContextGroupRelease": (b"v^{OpaqueJSContextGroup=}",),
473
+ "JSValueIsStrictEqual": (
474
+ b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}",
475
+ ),
476
+ "JSGlobalContextCreateInGroup": (
477
+ b"^{OpaqueJSContext=}^{OpaqueJSContextGroup=}^{OpaqueJSClass=}",
478
+ "",
479
+ {"retval": {"already_cfretained": True}},
480
+ ),
481
+ "JSObjectMakeDate": (
482
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}",
483
+ "",
484
+ {
485
+ "arguments": {
486
+ 2: {"c_array_length_in_arg": 1, "type_modifier": "n"},
487
+ 3: {"type_modifier": "o"},
488
+ }
489
+ },
490
+ ),
491
+ "JSObjectMakeTypedArrayWithArrayBuffer": (
492
+ b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^{OpaqueJSValue=}^^{OpaqueJSValue=}",
493
+ "",
494
+ {"arguments": {3: {"type_modifier": "o"}}},
495
+ ),
496
+ "JSValueMakeSymbol": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}",),
497
+ "JSGarbageCollect": (b"v^{OpaqueJSContext=}",),
498
+ "JSValueGetType": (b"I^{OpaqueJSContext=}^{OpaqueJSValue=}",),
499
+ }
500
+ aliases = {"JSObjectRef": "JSValueRef", "JSGlobalContextRef": "JSContextRef"}
501
+ misc.update(
502
+ {
503
+ "JSValueRef": objc.createOpaquePointerType("JSValueRef", b"^{OpaqueJSValue=}"),
504
+ "JSStringRef": objc.createOpaquePointerType(
505
+ "JSStringRef", b"^{OpaqueJSString=}"
506
+ ),
507
+ "JSContextRef": objc.createOpaquePointerType(
508
+ "JSContextRef", b"^{OpaqueJSContext=}"
509
+ ),
510
+ "JSPropertyNameArrayRef": objc.createOpaquePointerType(
511
+ "JSPropertyNameArrayRef", b"^{OpaqueJSPropertyNameArray=}"
512
+ ),
513
+ "JSClassRef": objc.createOpaquePointerType("JSClassRef", b"^{OpaqueJSClass=}"),
514
+ "JSContextGroupRef": objc.createOpaquePointerType(
515
+ "JSContextGroupRef", b"^{OpaqueJSContextGroup=}"
516
+ ),
517
+ "JSPropertyNameAccumulatorRef": objc.createOpaquePointerType(
518
+ "JSPropertyNameAccumulatorRef", b"^{OpaqueJSPropertyNameAccumulator=}"
519
+ ),
520
+ }
521
+ )
522
+ r = objc.registerMetaDataForSelector
523
+ objc._updatingMetadata(True)
524
+ try:
525
+ r(
526
+ b"JSContext",
527
+ b"exceptionHandler",
528
+ {
529
+ "retval": {
530
+ "callable": {
531
+ "retval": {"type": b"v"},
532
+ "arguments": {
533
+ 0: {"type": b"^v"},
534
+ 1: {"type": b"@"},
535
+ 2: {"type": b"@"},
536
+ },
537
+ }
538
+ }
539
+ },
540
+ )
541
+ r(b"JSContext", b"isInspectable", {"retval": {"type": b"Z"}})
542
+ r(
543
+ b"JSContext",
544
+ b"setExceptionHandler:",
545
+ {
546
+ "arguments": {
547
+ 2: {
548
+ "callable": {
549
+ "retval": {"type": b"v"},
550
+ "arguments": {
551
+ 0: {"type": b"^v"},
552
+ 1: {"type": b"@"},
553
+ 2: {"type": b"@"},
554
+ },
555
+ }
556
+ }
557
+ }
558
+ },
559
+ )
560
+ r(b"JSContext", b"setInspectable:", {"arguments": {2: {"type": b"Z"}}})
561
+ r(b"JSValue", b"deleteProperty:", {"retval": {"type": "Z"}})
562
+ r(b"JSValue", b"hasProperty:", {"retval": {"type": "Z"}})
563
+ r(b"JSValue", b"isArray", {"retval": {"type": "Z"}})
564
+ r(b"JSValue", b"isBoolean", {"retval": {"type": "Z"}})
565
+ r(b"JSValue", b"isDate", {"retval": {"type": "Z"}})
566
+ r(b"JSValue", b"isEqualToObject:", {"retval": {"type": "Z"}})
567
+ r(b"JSValue", b"isEqualWithTypeCoercionToObject:", {"retval": {"type": "Z"}})
568
+ r(b"JSValue", b"isInstanceOf:", {"retval": {"type": "Z"}})
569
+ r(b"JSValue", b"isNull", {"retval": {"type": "Z"}})
570
+ r(b"JSValue", b"isNumber", {"retval": {"type": "Z"}})
571
+ r(b"JSValue", b"isObject", {"retval": {"type": "Z"}})
572
+ r(b"JSValue", b"isString", {"retval": {"type": "Z"}})
573
+ r(b"JSValue", b"isSymbol", {"retval": {"type": b"Z"}})
574
+ r(b"JSValue", b"isUndefined", {"retval": {"type": "Z"}})
575
+ r(b"JSValue", b"toBool", {"retval": {"type": "Z"}})
576
+ r(b"JSValue", b"valueWithBool:inContext:", {"arguments": {2: {"type": b"Z"}}})
577
+ r(
578
+ b"JSValue",
579
+ b"valueWithNewPromiseInContext:fromExecutor:",
580
+ {
581
+ "arguments": {
582
+ 3: {
583
+ "callable": {
584
+ "retval": {"type": b"v"},
585
+ "arguments": {
586
+ 0: {"type": b"^v"},
587
+ 1: {"type": b"@"},
588
+ 2: {"type": b"@"},
589
+ },
590
+ }
591
+ }
592
+ }
593
+ },
594
+ )
595
+ finally:
596
+ objc._updatingMetadata(False)
597
+
598
+ objc.registerNewKeywordsFromSelector("JSContext", b"initWithVirtualMachine:")
599
+ objc.registerNewKeywordsFromSelector("JSManagedValue", b"initWithValue:")
600
+ expressions = {}
601
+
602
+ # END OF FILE
@@ -0,0 +1,25 @@
1
+ import contextlib
2
+
3
+ import JavaScriptCore
4
+
5
+
6
+ @contextlib.contextmanager
7
+ def autoreleasing(value):
8
+ try:
9
+ yield value
10
+
11
+ finally:
12
+ if isinstance(value, JavaScriptCore.JSContextGroupRef):
13
+ JavaScriptCore.JSContextGroupRelease(value)
14
+
15
+ elif isinstance(value, JavaScriptCore.JSGlobalContextRef):
16
+ JavaScriptCore.JSGlobalContextRelease(value)
17
+
18
+ elif isinstance(value, JavaScriptCore.JSClassRef):
19
+ JavaScriptCore.JSClassRelease(value)
20
+
21
+ elif isinstance(value, JavaScriptCore.JSPropertyNameArrayRef):
22
+ JavaScriptCore.JSPropertyNameArrayRelease(value)
23
+
24
+ elif isinstance(value, JavaScriptCore.JSStringRef):
25
+ JavaScriptCore.JSStringRelease(value)
Binary file