// Generated by purs version 0.14.5
"use strict";
var $foreign = require("./foreign.js");
var Data_Eq = require("../Data.Eq/index.js");
var Data_Functor = require("../Data.Functor/index.js");
var Data_Nullable = require("../Data.Nullable/index.js");
var Data_Ord = require("../Data.Ord/index.js");
var Effect = require("../Effect/index.js");
var QuerySelector = function (x) {
    return x;
};
var querySelector = function (qs) {
    var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);
    var $1 = $foreign["_querySelector"](qs);
    return function ($2) {
        return $0($1($2));
    };
};
var ordQuerySelector = Data_Ord.ordString;
var newtypeQuerySelector = {
    Coercible0: function () {
        return undefined;
    }
};
var lastElementChild = (function () {
    var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);
    return function ($4) {
        return $3($foreign["_lastElementChild"]($4));
    };
})();
var firstElementChild = (function () {
    var $5 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);
    return function ($6) {
        return $5($foreign["_firstElementChild"]($6));
    };
})();
var eqQuerySelector = Data_Eq.eqString;
module.exports = {
    firstElementChild: firstElementChild,
    lastElementChild: lastElementChild,
    QuerySelector: QuerySelector,
    querySelector: querySelector,
    eqQuerySelector: eqQuerySelector,
    ordQuerySelector: ordQuerySelector,
    newtypeQuerySelector: newtypeQuerySelector,
    children: $foreign.children,
    childElementCount: $foreign.childElementCount,
    querySelectorAll: $foreign.querySelectorAll
};
