UNPKG

@progress/kendo-angular-schematics

Version:

Kendo UI Schematics for Angular

61 lines (51 loc) 2.39 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ // The following source code is copied from https://github.com/d3/d3-time // Copyright 2010-2022 Mike Bostock // Permission to use, copy, modify, and/or distribute this software for any purpose // with or without fee is hereby granted, provided that the above copyright notice // and this permission notice appear in all copies. // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH // REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, // INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS // OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF // THIS SOFTWARE. const { timeInterval } = require("./interval"); const { durationDay, durationMinute } = require("./duration"); const timeDay = timeInterval( date => date.setHours(0, 0, 0, 0), (date, step) => date.setDate(date.getDate() + step), (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay, date => date.getDate() - 1 ); module.exports.timeDay = timeDay; const timeDays = timeDay.range; module.exports.timeDays = timeDays; const utcDay = timeInterval((date) => { date.setUTCHours(0, 0, 0, 0); }, (date, step) => { date.setUTCDate(date.getUTCDate() + step); }, (start, end) => { return (end - start) / durationDay; }, (date) => { return date.getUTCDate() - 1; }); module.exports.utcDay = utcDay; const utcDays = utcDay.range; module.exports.utcDays = utcDay.range; const unixDay = timeInterval((date) => { date.setUTCHours(0, 0, 0, 0); }, (date, step) => { date.setUTCDate(date.getUTCDate() + step); }, (start, end) => { return (end - start) / durationDay; }, (date) => { return Math.floor(date / durationDay); }); module.exports.unixDay = unixDay; const unixDays = unixDay.range; module.exports.unixDays = unixDays;