Tags: ken0nek/JavaScriptKit
Tags
Merge pull request swiftwasm#717 from PassiveLogic/kr/fix-class-stati… …c-method-ts BridgeJS: Emit static methods and properties on namespaced class entries
relax swift-syntax version constraint to allow 603 (swiftwasm#714) * relax swift-syntax version constraint to allow 603 Packages are updating to 603 and this can fail the dependency solver. * .. and also test against it
Add JSRemote<JSObject> (swiftwasm#711) Add `JSRemote<JSObject>` API for accessing JSObjects without transfer The new API allows creating a handle for a `JSObject` that remains on its original JavaScript thread and hopping back to that thread to access the object when needed. This is useful for cases where the object cannot be transferred to another thread, but occasional access is still required or when we want to guarantee that an object is always accessed on the same thread for safety (it should be statically guaranteed with strict Sendable checking, but modules with language mode 5 don't have that). Example: ```swift let document = JSObject.global.document.object! let remoteDocument = JSRemote(document) let executor = try await WebWorkerTaskExecutor(numberOfThreads: 1) let title = try await Task(executorPreference: executor) { try await remoteDocument.withJSObject { document in document.title.string ?? "" } }.value ```
BridgeJS: support imports of JS `Promise` as `async` Swift (swiftwasm… …#707) * BridgeJS: support imports of `Promise` JS as `async` Swift * E2e testing of bridging Promise<interface> returns * fix formatting * `JSTypedClosure`-based approach * Clean up `BridgeJSLink` * Fix missing `import _Concurrency` * Fix formatting * Use `JSTypedClosure` without wrapping the result value * Make closure parameters as `sending` * Check more stack ABI types * Add support for `async` in `@JSFunction` * Use namespaced import * Fix missing `fetchWeatherData` * Bring back `fetchWeatherData` * Regenerate `fetchWeatherData` bridging code * BridgeJS: Centralize closure sig collection in BridgeSkeletonWalker * BridgeJS: Stop spreading isAsync handling outside of CallJSEmission * BridgeJS: Remove error-prone default effects in thunk generation * BridgeJSLink: Centralize async handling in ImportedThunkBuilder * BridgeJS: Remove reundant returnType from `call` family of methods in ImportedThunkBuilder --------- Co-authored-by: Yuta Saito <[email protected]>
Gate `ExperimentalCustomExecutors` usage behind Swift 6.4 compiler ch… …eck (swiftwasm#705) Gate `ExperimentalCustomExecutors` usage behind Swift 6.4 for non-Wasm targets Seems like it's dropped in Swift 6.3 rc shipped along with Xcode 26.4 RC in the last minute
Merge pull request swiftwasm#699 from PassiveLogic/kr/protocol-in-clo… …sure BridgeJS: Support protocol types in closure parameters and returns
Merge pull request swiftwasm#693 from PassiveLogic/kr/fix-declare-glo… …bal-class-stubs BridgeJS: Include properties and release() in declare global class stubs
Merge pull request swiftwasm#687 from gn-adin-b/adin/property-access-… …tracing Add property access tracing to JSTracing
Merge pull request swiftwasm#683 from PassiveLogic/kr/namespace-abi-n… …ames BridgeJS: Include namespace prefix in ABI names for namespace-nested classes and structs
Merge pull request swiftwasm#671 from PassiveLogic/kr/fix-stack-ordering BridgeJS: Fix stack ordering for optional arrays and dictionaries
PreviousNext