deno.land / x / mongoose@6.7.5 / lib / helpers / timestamps / setDocumentTimestamps.js
123456789101112131415161718192021222324252627'use strict';
module.exports = function setDocumentTimestamps(doc, timestampOption, currentTime, createdAt, updatedAt) { const skipUpdatedAt = timestampOption != null && timestampOption.updatedAt === false; const skipCreatedAt = timestampOption != null && timestampOption.createdAt === false;
const defaultTimestamp = currentTime != null ? currentTime() : doc.ownerDocument().constructor.base.now();
if (!skipCreatedAt && (doc.isNew || doc.$isSubdocument) && createdAt && !doc.$__getValue(createdAt) && doc.$__isSelected(createdAt)) { doc.$set(createdAt, defaultTimestamp, undefined, { overwriteImmutable: true }); }
if (!skipUpdatedAt && updatedAt && (doc.isNew || doc.$isModified())) { let ts = defaultTimestamp; if (doc.isNew && createdAt != null) { ts = doc.$__getValue(createdAt); } doc.$set(updatedAt, ts); }};
Version Info