Skip to content

Commit

Permalink
feat: add support for additional Fable.Core.JS types (#172)
Browse files Browse the repository at this point in the history
[converter]

=== changelog ===
- `Int8Array`
- `Uint8ClampedArray`
- `Int16Array`
- `Uint16Array`
- `Int32Array`
- `Uint32Array`
- `Float32Array`
- `Float64Array`
=== changelog ===
  • Loading branch information
NatElkins authored Dec 16, 2024
1 parent 2338fb9 commit 01fa782
Show file tree
Hide file tree
Showing 17 changed files with 120 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/Glutinum.Converter/Transform.fs
Original file line number Diff line number Diff line change
Expand Up @@ -145,14 +145,21 @@ let private mapTypeNameToFableCoreAwareName
(context: TransformContext)
(typeReference: GlueTypeReference)
=

let mappedName =
// When exposing a type, we also need to do it
if typeReference.IsStandardLibrary then
match typeReference.Name with
| "Date" -> "JS.Date"
| "Promise" -> "JS.Promise"
| "Uint8Array" -> "JS.Uint8Array"
| "Int8Array" -> "JS.Int8Array"
| "Uint8ClampedArray" -> "JS.Uint8ClampedArray"
| "Int16Array" -> "JS.Int16Array"
| "Uint16Array" -> "JS.Uint16Array"
| "Int32Array" -> "JS.Int32Array"
| "Uint32Array" -> "JS.Uint32Array"
| "Float32Array" -> "JS.Float32Array"
| "Float64Array" -> "JS.Float64Array"
| "Array" -> "ResizeArray"
| "Boolean" -> "bool"
| "Function" -> "Action"
Expand Down
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Float32Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Float32Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Float32Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Float32Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Float64Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Float64Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Float64Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Float64Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Int16Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Int16Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Int16Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Int16Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Int32Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Int32Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Int32Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Int32Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Int8Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Int8Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Int8Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Int8Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Uint16Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Uint16Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Uint16Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Uint16Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Uint32Array.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Uint32Array;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Uint32Array.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Uint32Array

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)
1 change: 1 addition & 0 deletions tests/specs/references/replacements/Uint8ClampedArray.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type T = Uint8ClampedArray;
13 changes: 13 additions & 0 deletions tests/specs/references/replacements/Uint8ClampedArray.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

type T =
JS.Uint8ClampedArray

(***)
#r "nuget: Fable.Core"
#r "nuget: Glutinum.Types"
(***)

0 comments on commit 01fa782

Please sign in to comment.