Skip to content

Commit c280c36

Browse files
committed
MVP!
1 parent e75ecbf commit c280c36

File tree

134 files changed

+1549
-1139
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+1549
-1139
lines changed

Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ let package = Package(
1111
targets: ["DOMKit"]),
1212
],
1313
dependencies: [
14-
.package(name: "JavaScriptKit", url: "https://github.com/j-f1/forked-JavaScriptKit.git", .revision("663c091")),
14+
.package(name: "JavaScriptKit", url: "https://github.com/j-f1/forked-JavaScriptKit.git", .revision("fa1a06d")),
1515
],
1616
targets: [
1717
.target(
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// Created by Manuel Burghard. Licensed unter MIT.
3+
//
4+
5+
import JavaScriptKit
6+
7+
public class ArrayBuffer: JSBridgedType {
8+
9+
public class var classRef: JSFunctionRef { JSObjectRef.global.ArrayBuffer.function! }
10+
11+
public let objectRef: JSObjectRef
12+
13+
public required init(objectRef: JSObjectRef) {
14+
self.objectRef = objectRef
15+
}
16+
17+
public convenience init(length: Int) {
18+
19+
self.init(objectRef: Self.classRef(new: length))
20+
}
21+
22+
public static func isView(_ object: AnyJSValueCodable) -> Bool {
23+
return JSObjectRef.global.ArrayBuffer.object!.isView!(object).fromJSValue()
24+
}
25+
}
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
//
2+
// Created by Manuel Burghard. Licensed unter MIT.
3+
//
4+
5+
import JavaScriptKit
6+
7+
public class DataView: JSBridgedType {
8+
9+
public class var classRef: JSFunctionRef { JSObjectRef.global.DataView.function! }
10+
11+
public let objectRef: JSObjectRef
12+
13+
public required init(objectRef: JSObjectRef) {
14+
_buffer = ReadonlyAttribute(objectRef: objectRef, name: "buffer")
15+
_byteOffset = ReadonlyAttribute(objectRef: objectRef, name: "byteOffset")
16+
_byteLength = ReadonlyAttribute(objectRef: objectRef, name: "byteLength")
17+
self.objectRef = objectRef
18+
}
19+
20+
public convenience init(buffer: ArrayBuffer) {
21+
22+
self.init(objectRef: DataView.classRef(new: JSValue(from: buffer)))
23+
}
24+
25+
public convenience init(buffer: ArrayBuffer, byteOffset: UInt32) {
26+
27+
self.init(objectRef: DataView.classRef(new: JSValue(from: buffer), JSValue(from: byteOffset)))
28+
}
29+
30+
public convenience init(buffer: ArrayBuffer, byteOffset: UInt32, byteLength: UInt32) {
31+
32+
self.init(objectRef: DataView.classRef(new: JSValue(from: buffer), JSValue(from: byteOffset), JSValue(from: byteLength)))
33+
}
34+
35+
@ReadonlyAttribute
36+
public var buffer: ArrayBuffer
37+
38+
@ReadonlyAttribute
39+
public var byteOffset: UInt32
40+
41+
@ReadonlyAttribute
42+
public var byteLength: UInt32
43+
44+
45+
public func getFloat32(byteOffset: UInt32) -> Float {
46+
47+
return objectRef.getFloat32!(JSValue(from: byteOffset)).fromJSValue()
48+
}
49+
50+
public func getFloat32(byteOffset: UInt32, littleEndian: Bool) -> Float {
51+
52+
return objectRef.getFloat32!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
53+
}
54+
55+
public func getFloat64(byteOffset: UInt32) -> Double {
56+
57+
return objectRef.getFloat64!(JSValue(from: byteOffset)).fromJSValue()
58+
}
59+
60+
public func getFloat64(byteOffset: UInt32, littleEndian: Bool) -> Double {
61+
62+
return objectRef.getFloat64!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
63+
}
64+
65+
public func getUint8(byteOffset: UInt32) -> UInt8 {
66+
67+
return objectRef.getUint8!(JSValue(from: byteOffset)).fromJSValue()
68+
}
69+
70+
public func getUint16(byteOffset: UInt32) -> UInt16 {
71+
72+
return objectRef.getUint16!(JSValue(from: byteOffset)).fromJSValue()
73+
}
74+
75+
public func getUint16(byteOffset: UInt32, littleEndian: Bool) -> UInt16 {
76+
77+
return objectRef.getUint16!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
78+
}
79+
80+
public func getUint32(byteOffset: UInt32) -> UInt32 {
81+
82+
return objectRef.getUint32!(JSValue(from: byteOffset)).fromJSValue()
83+
}
84+
85+
public func getUint32(byteOffset: UInt32, littleEndian: Bool) -> UInt32 {
86+
87+
return objectRef.getUint32!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
88+
}
89+
90+
public func getInt8(byteOffset: UInt32) -> Int8 {
91+
92+
return objectRef.getInt8!(JSValue(from: byteOffset)).fromJSValue()
93+
}
94+
95+
public func getInt16(byteOffset: UInt32) -> Int16 {
96+
97+
return objectRef.getInt16!(JSValue(from: byteOffset)).fromJSValue()
98+
}
99+
100+
public func getInt16(byteOffset: UInt32, littleEndian: Bool) -> Int16 {
101+
102+
return objectRef.getInt16!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
103+
}
104+
105+
public func getInt32(byteOffset: UInt32) -> Int32 {
106+
107+
return objectRef.getInt32!(JSValue(from: byteOffset)).fromJSValue()
108+
}
109+
110+
public func getInt32(byteOffset: UInt32, littleEndian: Bool) -> Int32 {
111+
112+
return objectRef.getInt32!(JSValue(from: byteOffset), JSValue(from: littleEndian)).fromJSValue()
113+
}
114+
115+
public func setUint8(byteOffset: UInt32, value: UInt8) {
116+
_ = objectRef.setUint8!(JSValue(from: byteOffset), JSValue(from: value))
117+
}
118+
119+
public func setUint16(byteOffset: UInt32, value: UInt16) {
120+
_ = objectRef.setUint16!(JSValue(from: byteOffset), JSValue(from: value))
121+
}
122+
123+
public func setUint16(byteOffset: UInt32, value: UInt16, littleEndian: Bool) {
124+
_ = objectRef.setUint16!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
125+
}
126+
127+
public func setUint32(byteOffset: UInt32, value: UInt32) {
128+
_ = objectRef.setUint32!(JSValue(from: byteOffset), JSValue(from: value))
129+
}
130+
131+
public func setUint32(byteOffset: UInt32, value: UInt32, littleEndian: Bool) {
132+
_ = objectRef.setUint32!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
133+
}
134+
135+
public func setInt8(byteOffset: UInt32, value: Int8) {
136+
_ = objectRef.setUint8!(JSValue(from: byteOffset), JSValue(from: value))
137+
}
138+
139+
public func setInt16(byteOffset: UInt32, value: Int16) {
140+
_ = objectRef.setInt16!(JSValue(from: byteOffset), JSValue(from: value))
141+
}
142+
143+
public func setInt16(byteOffset: UInt32, value: Int16, littleEndian: Bool) {
144+
_ = objectRef.setInt16!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
145+
}
146+
147+
public func setInt32(byteOffset: UInt32, value: Int32) {
148+
_ = objectRef.setInt32!(JSValue(from: byteOffset), JSValue(from: value))
149+
}
150+
151+
public func setInt32(byteOffset: UInt32, value: Int32, littleEndian: Bool) {
152+
_ = objectRef.setInt32!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
153+
}
154+
155+
public func setFloat32(byteOffset: UInt32, value: Float) {
156+
_ = objectRef.setFloat32!(JSValue(from: byteOffset), JSValue(from: value))
157+
}
158+
159+
public func setFloat32(byteOffset: UInt32, value: Float, littleEndian: Bool) {
160+
_ = objectRef.setFloat32!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
161+
}
162+
163+
public func setFloat64(byteOffset: UInt32, value: Double) {
164+
_ = objectRef.setFloat64!(JSValue(from: byteOffset), JSValue(from: value))
165+
}
166+
167+
public func setFloat64(byteOffset: UInt32, value: Double, littleEndian: Bool) {
168+
_ = objectRef.setFloat64!(JSValue(from: byteOffset), JSValue(from: value), JSValue(from: littleEndian))
169+
}
170+
}
171+

Sources/DOMKit/ECMAScript/Date.swift

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//
2+
// Created by Manuel Burghard. Licensed unter MIT.
3+
//
4+
5+
import JavaScriptKit
6+
7+
public class Date: JSBridgedType {
8+
9+
public class var classRef: JSFunctionRef { JSObjectRef.global.Date.function! }
10+
11+
public let objectRef: JSObjectRef
12+
13+
public required init(objectRef: JSObjectRef) {
14+
self.objectRef = objectRef
15+
}
16+
17+
public convenience init() {
18+
self.init(objectRef: Date.classRef(.new))
19+
}
20+
21+
public func toDateString() -> String {
22+
return objectRef.toDateString!().fromJSValue()
23+
}
24+
25+
public func getTime() -> Double {
26+
return objectRef.getTime!().fromJSValue()
27+
}
28+
}

0 commit comments

Comments
 (0)