UNPKG

analytics-plugin-plausible

Version:
65 lines 2.44 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var plausible_tracker_1 = __importDefault(require("plausible-tracker")); var defaultConfig = { enabled: true, }; function plausiblePlugin(pluginConfig) { var context = { plausible: null, }; return { name: "plausible-analytics", config: __assign(__assign({}, defaultConfig), pluginConfig), initialize: function (_a) { var config = _a.config; var apiHost = config.apiHost, domain = config.domain, hashMode = config.hashMode, trackLocalhost = config.trackLocalhost; var plausibleConfig = { apiHost: apiHost, domain: domain, hashMode: hashMode, trackLocalhost: trackLocalhost, }; context.plausible = plausible_tracker_1.default(Object.keys(plausibleConfig).reduce(function (acc, key) { var _a; if (typeof plausibleConfig[key] !== "undefined") { return __assign(__assign({}, acc), (_a = {}, _a[key] = plausibleConfig[key], _a)); } return acc; }, {})); }, loaded: function () { return Boolean(context.plausible); }, page: function (_a) { var payload = _a.payload; if (!context.plausible) return; var properties = payload.properties; context.plausible.trackPageview({}, { props: properties }); }, track: function (_a) { var payload = _a.payload; if (!context.plausible) return; var properties = payload.properties, event = payload.event; context.plausible.trackEvent(event, { props: properties }); }, }; } exports.default = plausiblePlugin; //# sourceMappingURL=plausible.js.map