diff --git a/Shared.fsx b/Shared.fsx index 3224a3438..11a758c45 100644 --- a/Shared.fsx +++ b/Shared.fsx @@ -316,7 +316,8 @@ let knownWorkerInterfaces = "MSAppAsyncOperation"; "MSAppView"; "MSBaseReader"; "MSBlobBuilder"; "MSExecAtPriorityFunctionCallback"; "MSLaunchUriCallback"; "MSStream"; "MSStreamReader"; "MSUnsafeFunctionCallback"; "NavigatorID"; "NavigatorOnLine"; "Position"; "PositionCallback"; "PositionError"; "PositionErrorCallback"; "ProgressEvent"; "WebSocket"; - "WindowBase64"; "WindowConsole"; "Worker"; "XMLHttpRequest"; "XMLHttpRequestEventTarget"; "XMLHttpRequestUpload" ] + "WindowBase64"; "WindowConsole"; "Worker"; "XMLHttpRequest"; "XMLHttpRequestEventTarget"; "XMLHttpRequestUpload"; + "IDBObjectStoreParameters"; "IDBIndexParameters"; "IDBKeyPath"] |> set let GetAllInterfacesByFlavor flavor = diff --git a/TS.fsx b/TS.fsx index 6fa8a77aa..7fec0861e 100644 --- a/TS.fsx +++ b/TS.fsx @@ -629,7 +629,10 @@ let EmitTypeDefs flavor = let EmitTypeDefFromJson (typeDef: ItemsType.Root) = Pt.printl "type %s = %s;" typeDef.Name.Value typeDef.Type.Value - if flavor <> Flavor.Worker then + match flavor with + | Flavor.Worker -> + browser.Typedefs |> Array.filter (fun typedef -> knownWorkerInterfaces.Contains typedef.NewType) |> Array.iter EmitTypeDef + | _ -> browser.Typedefs |> Array.iter EmitTypeDef JsonItems.getAddedItems ItemKind.TypeDef flavor diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 6ca8e81d5..e7bf11472 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -8,6 +8,16 @@ interface EventInit { cancelable?: boolean; } +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: IDBKeyPath; +} + interface EventListener { (evt: Event): void; } @@ -991,4 +1001,5 @@ declare var console: Console; declare function addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +type IDBKeyPath = string; type IDBValidKey = number | string | Date | IDBArrayKey; \ No newline at end of file