UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

52 lines (49 loc) 5.32 kB
/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})(); import moment from "moment"; import { CssClass } from "../../../CssClass.mjs"; import { TypedRangeTextComponent } from "./TypedRangeTextComponent.mjs"; const DATE_FORMAT = "YYYY-[W]WW"; class WeekComponent extends TypedRangeTextComponent { /** * Creates a new Week component. * * @param containerEl - The container element of the component. */ constructor(containerEl) { super(containerEl, "week", CssClass.WeekComponent); } /** * Converts a string to a Week. * * @param str - The string to convert. * @returns The week. */ valueFromString(str) { const parsed = moment(str, DATE_FORMAT); if (!parsed.isValid()) { throw new Error("Invalid week"); } return { weekNumber: parsed.isoWeek(), year: parsed.year() }; } /** * Converts a week to a string. * * @param value - The week to convert. * @returns The string. */ valueToString(value) { const date = moment().year(value.year).isoWeek(value.weekNumber); return date.format(DATE_FORMAT); } } export { WeekComponent }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvV2Vla0NvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHdlZWsuXG4gKi9cblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9UeXBlZFJhbmdlVGV4dENvbXBvbmVudC50cyc7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVktW1ddV1cnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVNPIDg2MDEgd2VlayBkYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzb1dlZWsge1xuICAvKipcbiAgICogVGhlIElTTyA4NjAxIHdlZWsgbnVtYmVyICgxLTUzKS5cbiAgICovXG4gIHdlZWtOdW1iZXI6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB5ZWFyICgxLTk5OTkpLlxuICAgKi9cbiAgeWVhcjogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgV2Vlay5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZFdlZWt9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFdlZWtDb21wb25lbnQgZXh0ZW5kcyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudDxJc29XZWVrPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFdlZWsgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihjb250YWluZXJFbCwgJ3dlZWsnLCBDc3NDbGFzcy5XZWVrQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIFdlZWsuXG4gICAqXG4gICAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSB3ZWVrLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlRnJvbVN0cmluZyhzdHI6IHN0cmluZyk6IElzb1dlZWsge1xuICAgIGNvbnN0IHBhcnNlZCA9IG1vbWVudChzdHIsIERBVEVfRk9STUFUKTtcblxuICAgIGlmICghcGFyc2VkLmlzVmFsaWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHdlZWsnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2Vla051bWJlcjogcGFyc2VkLmlzb1dlZWsoKSxcbiAgICAgIHllYXI6IHBhcnNlZC55ZWFyKClcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgd2VlayB0byBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHdlZWsgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZVRvU3RyaW5nKHZhbHVlOiBJc29XZWVrKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KCkueWVhcih2YWx1ZS55ZWFyKS5pc29XZWVrKHZhbHVlLndlZWtOdW1iZXIpO1xuICAgIHJldHVybiBkYXRlLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFNQSxPQUFPLFlBQVk7QUFPbkIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUywrQkFBK0I7QUFFeEMsTUFBTSxjQUFjO0FBeUJiLE1BQU0sc0JBQXNCLHdCQUFpQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU0zRCxZQUFZLGFBQTBCO0FBQzNDLFVBQU0sYUFBYSxRQUFRLFNBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQXNCO0FBQ3BELFVBQU0sU0FBUyxPQUFPLEtBQUssV0FBVztBQUV0QyxRQUFJLENBQUMsT0FBTyxRQUFRLEdBQUc7QUFDckIsWUFBTSxJQUFJLE1BQU0sY0FBYztBQUFBLElBQ2hDO0FBRUEsV0FBTztBQUFBLE1BQ0wsWUFBWSxPQUFPLFFBQVE7QUFBQSxNQUMzQixNQUFNLE9BQU8sS0FBSztBQUFBLElBQ3BCO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGNBQWMsT0FBd0I7QUFDcEQsVUFBTSxPQUFPLE9BQU8sRUFBRSxLQUFLLE1BQU0sSUFBSSxFQUFFLFFBQVEsTUFBTSxVQUFVO0FBQy9ELFdBQU8sS0FBSyxPQUFPLFdBQVc7QUFBQSxFQUNoQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=