Skip to content

Bridge: implement JSContext, JSVirtualMachine, and JSValue behavior #158

Description

@chrisbbreuer

Parent: #138
Depends on: Objective-C inventory child

Implement the behavioral bridge over the completed C API and context-group runtime.

Acceptance:

  • Implement JSContext and JSVirtualMachine creation, C-ref wrapping, global access, naming/inspectability, evaluation/source URLs, current callback accessors, exception property/handler, and keyed subscripting.
  • Implement JSValue factories/conversions, exact wrapper identity per VM/context, equality/type predicates, keyed/indexed subscripting, calls, construction, invocation, and promise bridging for every inventoried entry.
  • Cover NSString/NSNumber/NSNull, dates, arrays, dictionaries, NSError/JavaScript errors, ArrayBuffer/typed arrays, Objective-C objects, classes, selectors, and unsupported conversions explicitly.
  • Preserve exceptions and callback current-context/callee/this/arguments semantics across nested re-entry.
  • Add focused Zig/C-API tests plus Objective-C differential transcripts against system JavaScriptCore.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions