"use strict";
/* Socket Lib - Built with esbuild */
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var system_exports = {};
__export(system_exports, {
  systemUTCEpochNanoseconds: () => systemUTCEpochNanoseconds
});
module.exports = __toCommonJS(system_exports);
var import_globals = require("../primordials/globals");
var import_date = require("../primordials/date");
const _hrtimeBigint = globalThis.process?.hrtime?.bigint;
const _anchorWallMs = (0, import_globals.BigIntCtor)((0, import_date.DateNow)());
const _anchorHrns = _hrtimeBigint ? _hrtimeBigint() : 0n;
const _NS_PER_MS = 1000000n;
function systemUTCEpochNanoseconds() {
  if (_hrtimeBigint) {
    const elapsedNs = _hrtimeBigint() - _anchorHrns;
    return _anchorWallMs * _NS_PER_MS + elapsedNs;
  }
  return (0, import_globals.BigIntCtor)((0, import_date.DateNow)()) * _NS_PER_MS;
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  systemUTCEpochNanoseconds
});
