feat: add worker related doms#1147
Merged
anmonteiro merged 4 commits intomelange-re:mainfrom Aug 11, 2024
Merged
Conversation
anmonteiro
reviewed
Jun 30, 2024
| type htmlVideoElement = _htmlVideoElement htmlElement_like | ||
| type location | ||
| type window | ||
| type windowProxy |
Member
There was a problem hiding this comment.
why do you need windowProxy? According to MDN it's only available in a "browsing context"
Author
There was a problem hiding this comment.
I was reading the MDN page of MessageEvent.source, and it seems that the source can be one of a WindowProxy, MessagePort or a ServiceWorker, so I added it.
After reading the page you linked above, I think it might be totally fine if we use window for all windowproxy...
anmonteiro
approved these changes
Jun 30, 2024
Member
anmonteiro
left a comment
There was a problem hiding this comment.
looks good, just have one question
tonyfettes
commented
Aug 5, 2024
Comment on lines
+23
to
+31
| type 'a _workerGlobalScope | ||
| type 'a workerGlobalScope_like = 'a _workerGlobalScope eventTarget_like | ||
| type workerGlobalScope = _baseClass workerGlobalScope_like | ||
| type _dedicatedWorkerGlobalScope | ||
| type dedicatedWorkerGlobalScope = _dedicatedWorkerGlobalScope workerGlobalScope_like | ||
| type _serviceWorkerGlobalScope | ||
| type serviceWorkerGlobalScope = _serviceWorkerGlobalScope workerGlobalScope_like | ||
| type _sharedWorkerGlobalScope | ||
| type sharedWorkerGlobalScope = _sharedWorkerGlobalScope workerGlobalScope_like |
Author
There was a problem hiding this comment.
@anmonteiro Hi, I add these types since your last review. Could you please take a look at it?
anmonteiro
reviewed
Aug 11, 2024
anmonteiro
added a commit
that referenced
this pull request
Aug 11, 2024
anmonteiro
added a commit
that referenced
this pull request
Aug 11, 2024
anmonteiro
added a commit
to anmonteiro/opam-repository
that referenced
this pull request
Feb 10, 2025
CHANGES: - Make the `unprocessed` alert fatal by default ([melange-re/melange#1135](melange-re/melange#1135)) - support `-H` for hidden include dirs in OCaml 5.2 ([melange-re/melange#1137](melange-re/melange#1137)) - support `[@mel.*]` attributes in uncurried externals ([melange-re/melange#1140](melange-re/melange#1140)) - add Worker types to `melange.dom` ([melange-re/melange#1147](melange-re/melange#1147)) - Add support for dynamic `import()` ([melange-re/melange#1164](melange-re/melange#1164)) - Fix code generation of custom `true` / `false` constructors ([melange-re/melange#1175](melange-re/melange#1175)) - Fix code generation of OCaml objects that refers to an init variable in scope ([melange-re/melange#1183](melange-re/melange#1183)) - Support `[@mel.as "string"]` in variant definitions ([melange-re/melange#884](melange-re/melange#884)) - BREAKING: remove `[@@deriving jsConverter]` for variant definitions ([melange-re/melange#884](melange-re/melange#884)). Use `[@mel.as "string here"]` instead. - Support OCaml 5.3 ([melange-re/melange#1168](melange-re/melange#1168)) - Upgrade Stdlib to the OCaml 5.3 Stdlib ([melange-re/melange#1182](melange-re/melange#1182)) - Support `[@mel.tag "the_tag"]` in variant definitions ([melange-re/melange#1189](melange-re/melange#1189)) - combined with `[@mel.as ..]` in variant definitions and inline record payloads, Melange can now express types for discriminated union object shapes. - melange-ppx: don't silence warning 20 (`ignored-extra-argument`) for `%mel.raw` application ([melange-re/melange#1166](melange-re/melange#1166)). - This change reverts the behavior introduced in ([melange-re/melange#915](melange-re/melange#915)). - The new recommendation is to annotate `%mel.raw` functions or disable warning 20 at the project level. - ppx,core: propagate internal FFI information via attributes instead of adding marshalled data in the native primitive name ([melange-re/melange#1222](melange-re/melange#1222)) - melange-ppx: allow `@mel.unwrap` polyvariants not to have a payload ([melange-re/melange#1239](melange-re/melange#1239)) - `melange.node`: fix `Buffer.fromString` and add `Buffer.fromStringWithEncoding` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.node`: bind to all supported Node.js `Buffer` encodings in `Node.Buffer` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.js`: Add `Js.FormData` with bindings to the [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) API ([melange-re/melange#1153](melange-re/melange#1153), [melange-re/melange#1270](melange-re/melange#1270), [melange-re/melange#1281](melange-re/melange#1281) - `melange.js`: Add `Js.Blob` and `Js.File` with bindings to the [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) and [File](https://developer.mozilla.org/en-US/docs/Web/API/File) APIs ([melange-re/melange#1218](melange-re/melange#1218)) - `melange.js`: add `TypedArray` types at the toplevel in the `Js` module ([melange-re/melange#1248](melange-re/melange#1248)) - BREAKING: remove `--mel-g` ([melange-re/melange#1234](melange-re/melange#1234)) - runtime(`melange.js`): port `[@mel.send.pipe]` functions to `[@mel.send]`, taking advantage of the `@mel.send` + labeled argument improvement (see above) ([melange-re/melange#1260](melange-re/melange#1260), [melange-re/melange#1264](melange-re/melange#1264), [melange-re/melange#1265](melange-re/melange#1265), [melange-re/melange#1266](melange-re/melange#1266), [melange-re/melange#1280](melange-re/melange#1280), [melange-re/melange#1278](melange-re/melange#1278)) - core: fix a crash related to finding constructor names in pattern matching triggered by dune's earlier implementation of `(implicit_transitive_deps false)` ([melange-re/melange#1238](melange-re/melange#1238), [melange-re/melange#1262](melange-re/melange#1262)) - core: pre-compute the closure param map for functions inlined with `--mel-cross-module-opt` ([melange-re/melange#1219](melange-re/melange#1219)) - BREAKING: ppx: print the `deprecated` alert for `@@deriving abstract` at the declaration site rather than at (all) usages ([melange-re/melange#1269](melange-re/melange#1269)) - JS generation: prettify `for` loops ([melange-re/melange#1275](melange-re/melange#1275)) - JS generation: improve formatting for `throw` and `return` statements, JS objects ([melange-re/melange#1286](melange-re/melange#1286), [melange-re/melange#1289](melange-re/melange#1289)) - JS generation: improve formatting for empty return and continue statements ([melange-re/melange#1288](melange-re/melange#1288)) - JS generation: remove trailing spaces before commas in `export` ([melange-re/melange#1287](melange-re/melange#1287)) - JS generation: remove redundant switch cases branches ([melange-re/melange#1295](melange-re/melange#1295)) - JS generation: move space before comma inside `for` definition ([melange-re/melange#1296](melange-re/melange#1296)) - JS generation: add space before while loop condition ([melange-re/melange#1297](melange-re/melange#1297)) - JS generation: improve indentation of parenthesized blocks ([melange-re/melange#1293](melange-re/melange#1293)) - JS generation: add space after constructor comments ([melange-re/melange#1294](melange-re/melange#1294)) - JS generation: improve identation of `switch` cases ([melange-re/melange#1299](melange-re/melange#1299)) - JS generation: don't generate empty `default:` cases in `switch` ([melange-re/melange#1300](melange-re/melange#1300)) - JS generation: emit `module.exports` in CommonJS instead of `exports.x` ([melange-re/melange#1314](melange-re/melange#1314)) - JS generation: remove trailing newline after `switch` ([melange-re/melange#1313](melange-re/melange#1313)) - ffi: allow annotating `@mel.send` FFI with `@mel.this` to specify which parameter should represent the "self" argument. ([melange-re/melange#1303](melange-re/melange#1285), [melange-re/melange#1310](melange-re/melange#1310)) - This improvement to the FFI allows expressing more FFI constructs via labeled and optionally labeled arguments, e.g. `external foo: value:string -> (t [@mel.this]) -> unit = "foo" [@@mel.send]` will now produce `t.foo(value)` instead of `value.foo(t)`. - It also allows removing usages of `[@mel.send.pipe: t]` in favor of `[@mel.send]` with `[@mel.this]`, including when used with `@mel.variadic`. - ppx: deprecate `[@mel.send.pipe]` ([melange-re/melange#1321](melange-re/melange#1321)) - core: fix missed optimization on OCaml versions 5.2 and above, caused by [ocaml/ocaml#12236](ocaml/ocaml#12236) generating multiple function nodes for `fun a -> fun b -> ...` in the Lambda IR.
anmonteiro
added a commit
to anmonteiro/opam-repository
that referenced
this pull request
Feb 10, 2025
CHANGES: - Make the `unprocessed` alert fatal by default ([melange-re/melange#1135](melange-re/melange#1135)) - support `-H` for hidden include dirs in OCaml 5.2 ([melange-re/melange#1137](melange-re/melange#1137)) - support `[@mel.*]` attributes in uncurried externals ([melange-re/melange#1140](melange-re/melange#1140)) - add Worker types to `melange.dom` ([melange-re/melange#1147](melange-re/melange#1147)) - Add support for dynamic `import()` ([melange-re/melange#1164](melange-re/melange#1164)) - Fix code generation of custom `true` / `false` constructors ([melange-re/melange#1175](melange-re/melange#1175)) - Fix code generation of OCaml objects that refers to an init variable in scope ([melange-re/melange#1183](melange-re/melange#1183)) - Support `[@mel.as "string"]` in variant definitions ([melange-re/melange#884](melange-re/melange#884)) - BREAKING: remove `[@@deriving jsConverter]` for variant definitions ([melange-re/melange#884](melange-re/melange#884)). Use `[@mel.as "string here"]` instead. - Support OCaml 5.3 ([melange-re/melange#1168](melange-re/melange#1168)) - Upgrade Stdlib to the OCaml 5.3 Stdlib ([melange-re/melange#1182](melange-re/melange#1182)) - Support `[@mel.tag "the_tag"]` in variant definitions ([melange-re/melange#1189](melange-re/melange#1189)) - combined with `[@mel.as ..]` in variant definitions and inline record payloads, Melange can now express types for discriminated union object shapes. - melange-ppx: don't silence warning 20 (`ignored-extra-argument`) for `%mel.raw` application ([melange-re/melange#1166](melange-re/melange#1166)). - This change reverts the behavior introduced in ([melange-re/melange#915](melange-re/melange#915)). - The new recommendation is to annotate `%mel.raw` functions or disable warning 20 at the project level. - ppx,core: propagate internal FFI information via attributes instead of adding marshalled data in the native primitive name ([melange-re/melange#1222](melange-re/melange#1222)) - melange-ppx: allow `@mel.unwrap` polyvariants not to have a payload ([melange-re/melange#1239](melange-re/melange#1239)) - `melange.node`: fix `Buffer.fromString` and add `Buffer.fromStringWithEncoding` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.node`: bind to all supported Node.js `Buffer` encodings in `Node.Buffer` ([melange-re/melange#1246](melange-re/melange#1246)) - `melange.js`: Add `Js.FormData` with bindings to the [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) API ([melange-re/melange#1153](melange-re/melange#1153), [melange-re/melange#1270](melange-re/melange#1270), [melange-re/melange#1281](melange-re/melange#1281) - `melange.js`: Add `Js.Blob` and `Js.File` with bindings to the [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) and [File](https://developer.mozilla.org/en-US/docs/Web/API/File) APIs ([melange-re/melange#1218](melange-re/melange#1218)) - `melange.js`: add `TypedArray` types at the toplevel in the `Js` module ([melange-re/melange#1248](melange-re/melange#1248)) - BREAKING: remove `--mel-g` ([melange-re/melange#1234](melange-re/melange#1234)) - runtime(`melange.js`): port `[@mel.send.pipe]` functions to `[@mel.send]`, taking advantage of the `@mel.send` + labeled argument improvement (see above) ([melange-re/melange#1260](melange-re/melange#1260), [melange-re/melange#1264](melange-re/melange#1264), [melange-re/melange#1265](melange-re/melange#1265), [melange-re/melange#1266](melange-re/melange#1266), [melange-re/melange#1280](melange-re/melange#1280), [melange-re/melange#1278](melange-re/melange#1278)) - core: fix a crash related to finding constructor names in pattern matching triggered by dune's earlier implementation of `(implicit_transitive_deps false)` ([melange-re/melange#1238](melange-re/melange#1238), [melange-re/melange#1262](melange-re/melange#1262)) - core: pre-compute the closure param map for functions inlined with `--mel-cross-module-opt` ([melange-re/melange#1219](melange-re/melange#1219)) - BREAKING: ppx: print the `deprecated` alert for `@@deriving abstract` at the declaration site rather than at (all) usages ([melange-re/melange#1269](melange-re/melange#1269)) - JS generation: prettify `for` loops ([melange-re/melange#1275](melange-re/melange#1275)) - JS generation: improve formatting for `throw` and `return` statements, JS objects ([melange-re/melange#1286](melange-re/melange#1286), [melange-re/melange#1289](melange-re/melange#1289)) - JS generation: improve formatting for empty return and continue statements ([melange-re/melange#1288](melange-re/melange#1288)) - JS generation: remove trailing spaces before commas in `export` ([melange-re/melange#1287](melange-re/melange#1287)) - JS generation: remove redundant switch cases branches ([melange-re/melange#1295](melange-re/melange#1295)) - JS generation: move space before comma inside `for` definition ([melange-re/melange#1296](melange-re/melange#1296)) - JS generation: add space before while loop condition ([melange-re/melange#1297](melange-re/melange#1297)) - JS generation: improve indentation of parenthesized blocks ([melange-re/melange#1293](melange-re/melange#1293)) - JS generation: add space after constructor comments ([melange-re/melange#1294](melange-re/melange#1294)) - JS generation: improve identation of `switch` cases ([melange-re/melange#1299](melange-re/melange#1299)) - JS generation: don't generate empty `default:` cases in `switch` ([melange-re/melange#1300](melange-re/melange#1300)) - JS generation: emit `module.exports` in CommonJS instead of `exports.x` ([melange-re/melange#1314](melange-re/melange#1314)) - JS generation: remove trailing newline after `switch` ([melange-re/melange#1313](melange-re/melange#1313)) - ffi: allow annotating `@mel.send` FFI with `@mel.this` to specify which parameter should represent the "self" argument. ([melange-re/melange#1303](melange-re/melange#1285), [melange-re/melange#1310](melange-re/melange#1310)) - This improvement to the FFI allows expressing more FFI constructs via labeled and optionally labeled arguments, e.g. `external foo: value:string -> (t [@mel.this]) -> unit = "foo" [@@mel.send]` will now produce `t.foo(value)` instead of `value.foo(t)`. - It also allows removing usages of `[@mel.send.pipe: t]` in favor of `[@mel.send]` with `[@mel.this]`, including when used with `@mel.variadic`. - ppx: deprecate `[@mel.send.pipe]` ([melange-re/melange#1321](melange-re/melange#1321)) - core: fix missed optimization on OCaml versions 5.2 and above, caused by [ocaml/ocaml#12236](ocaml/ocaml#12236) generating multiple function nodes for `fun a -> fun b -> ...` in the Lambda IR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR add type definition needed for web worker.
Issue in melange-webapi
Related PR in melange-webapi