Skip to content

Commit 2f67161

Browse files
committed
Merge branch 'enums' of https://github.com/SaschaNaz/TSJS-lib-generator into constructors
2 parents 0a85be0 + 8ea647a commit 2f67161

File tree

5 files changed

+262
-136
lines changed

5 files changed

+262
-136
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -289,3 +289,4 @@ __pycache__/
289289

290290
.paket/
291291
.fake/
292+
generated/

TS.fsx

+16-4
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,11 @@ module Data =
328328
|> KnownWorkerInterfaceType.Parse
329329
|> set
330330

331+
let knownWorkerEnums =
332+
File.ReadAllText(Path.Combine(GlobalVars.inputFolder, "knownWorkerEnums.json"))
333+
|> KnownWorkerInterfaceType.Parse
334+
|> set
335+
331336
let GetAllInterfacesByFlavor flavor =
332337
match flavor with
333338
| Flavor.Web -> allWebInterfaces |> Array.filter (ShouldKeep Web)
@@ -355,6 +360,13 @@ module Data =
355360
browser.CallbackFunctions
356361
|> Array.filter (fun cb -> (flavor <> Flavor.Worker || knownWorkerInterfaces.Contains cb.Name) && ShouldKeep flavor cb)
357362

363+
let GetEnumsByFlavor flavor =
364+
match flavor with
365+
| Flavor.Web | Flavor.All -> browser.Enums
366+
| Flavor.Worker ->
367+
let isFromBrowserXml = browser.Enums |> Array.filter (fun i -> knownWorkerEnums.Contains i.Name)
368+
Array.append isFromBrowserXml worker.Enums
369+
358370
/// Event name to event type map
359371
let eNameToEType =
360372
[ for i in allWebNonCallbackInterfaces do
@@ -878,11 +890,11 @@ module Emit =
878890
|> Array.iter emitCallbackFunctionsFromJson
879891

880892
GetCallbackFuncsByFlavor flavor |> Array.iter emitCallBackFunction
881-
882-
let EmitEnums () =
893+
894+
let EmitEnums flavor =
883895
let emitEnum (e: Browser.Enum) =
884896
Pt.Printl "type %s = %s;" e.Name (String.Join(" | ", e.Values |> Array.map (fun value -> "\"" + value + "\"")))
885-
browser.Enums |> Array.iter emitEnum
897+
GetEnumsByFlavor flavor |> Array.iter emitEnum
886898

887899
let EmitEventHandlerThis flavor (prefix: string) (i: Browser.Interface) =
888900
if prefix = "" then "this: " + i.Name + ", "
@@ -1485,7 +1497,7 @@ module Emit =
14851497
| _ -> ()
14861498

14871499
EmitTypeDefs flavor
1488-
EmitEnums()
1500+
EmitEnums flavor
14891501

14901502
fprintf target "%s" (Pt.GetResult())
14911503
target.Flush()

0 commit comments

Comments
 (0)