From 80870f38a2aef72cd0e5e5269551227cfb6f33d6 Mon Sep 17 00:00:00 2001 From: toastal Date: Sun, 21 Jun 2020 15:06:23 +0700 Subject: [PATCH] create new Audio --- src/Web/HTML/HTMLAudioElement.js | 14 ++++++++++++++ src/Web/HTML/HTMLAudioElement.purs | 29 ++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/Web/HTML/HTMLAudioElement.js diff --git a/src/Web/HTML/HTMLAudioElement.js b/src/Web/HTML/HTMLAudioElement.js new file mode 100644 index 0000000..cded82b --- /dev/null +++ b/src/Web/HTML/HTMLAudioElement.js @@ -0,0 +1,14 @@ +/* global Audio */ +"use strict"; + +exports.create = function () { + return function () { + return new Audio(); + }; +}; + +exports.createWithURL = function (url) { + return function () { + return new Audio(url); + }; +}; diff --git a/src/Web/HTML/HTMLAudioElement.purs b/src/Web/HTML/HTMLAudioElement.purs index 18b6c6d..536e1de 100644 --- a/src/Web/HTML/HTMLAudioElement.purs +++ b/src/Web/HTML/HTMLAudioElement.purs @@ -1,6 +1,27 @@ -module Web.HTML.HTMLAudioElement where +module Web.HTML.HTMLAudioElement + ( HTMLAudioElement + , fromHTMLElement + , fromElement + , fromNode + , fromChildNode + , fromNonDocumentTypeChildNode + , fromParentNode + , fromEventTarget + , toHTMLMediaElement + , toHTMLElement + , toElement + , toNode + , toChildNode + , toNonDocumentTypeChildNode + , toParentNode + , toEventTarget + , create + , create' + ) where import Data.Maybe (Maybe) +import Effect (Effect) +import Prelude (Unit) import Unsafe.Coerce (unsafeCoerce) import Web.DOM (ChildNode, Element, Node, NonDocumentTypeChildNode, ParentNode) import Web.Event.EventTarget (EventTarget) @@ -57,3 +78,9 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLAudioElement -> EventTarget toEventTarget = unsafeCoerce + +foreign import create :: Unit -> Effect HTMLAudioElement +foreign import createWithURL :: String -> Effect HTMLAudioElement + +create' :: String -> Effect HTMLAudioElement +create' = createWithURL