UNPKG

obsidian-dev-utils

Version:

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

68 lines (64 loc) 5.95 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() { return '/'; }, env: {}, platform: 'android' }; globalThis.process = browserProcess; })(); import { moment as moment_ } from "obsidian"; import { CssClass } from "../../../CssClass.mjs"; import { extractDefaultExportInterop } from "../../../ObjectUtils.mjs"; import { TypedRangeTextComponent } from "./TypedRangeTextComponent.mjs"; const moment = extractDefaultExportInterop(moment_); 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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvV2Vla0NvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHdlZWsuXG4gKi9cblxuaW1wb3J0IHsgbW9tZW50IGFzIG1vbWVudF8gfSBmcm9tICdvYnNpZGlhbic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBTZXR0aW5nRXhgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCB9IGZyb20gJy4uLy4uLy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9UeXBlZFJhbmdlVGV4dENvbXBvbmVudC50cyc7XG5cbmNvbnN0IG1vbWVudCA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChtb21lbnRfKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWS1bV11XVyc7XG5cbi8qKlxuICogQW4gSVNPIDg2MDEgd2VlayBkYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzb1dlZWsge1xuICAvKipcbiAgICogQW4gSVNPIDg2MDEgd2VlayBudW1iZXIgKDEtNTMpLlxuICAgKi9cbiAgd2Vla051bWJlcjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHllYXIgKDEtOTk5OSkuXG4gICAqL1xuICB5ZWFyOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSBXZWVrLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkV2Vla30uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgV2Vla0NvbXBvbmVudCBleHRlbmRzIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50PElzb1dlZWs+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgV2VlayBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAnd2VlaycsIENzc0NsYXNzLldlZWtDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgV2Vlay5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIHdlZWsuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogSXNvV2VlayB7XG4gICAgY29uc3QgcGFyc2VkID0gbW9tZW50KHN0ciwgREFURV9GT1JNQVQpO1xuXG4gICAgaWYgKCFwYXJzZWQuaXNWYWxpZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd2VlaycpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB3ZWVrTnVtYmVyOiBwYXJzZWQuaXNvV2VlaygpLFxuICAgICAgeWVhcjogcGFyc2VkLnllYXIoKVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSB3ZWVrIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgd2VlayB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IElzb1dlZWspOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQoKS55ZWFyKHZhbHVlLnllYXIpLmlzb1dlZWsodmFsdWUud2Vla051bWJlcik7XG4gICAgcmV0dXJuIGRhdGUuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxVQUFVLGVBQWU7QUFPbEMsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxtQ0FBbUM7QUFDNUMsU0FBUywrQkFBK0I7QUFFeEMsTUFBTSxTQUFTLDRCQUE0QixPQUFPO0FBRWxELE1BQU0sY0FBYztBQTBCYixNQUFNLHNCQUFzQix3QkFBaUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNM0QsWUFBWSxhQUEwQjtBQUMzQyxVQUFNLGFBQWEsUUFBUSxTQUFTLGFBQWE7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGdCQUFnQixLQUFzQjtBQUNwRCxVQUFNLFNBQVMsT0FBTyxLQUFLLFdBQVc7QUFFdEMsUUFBSSxDQUFDLE9BQU8sUUFBUSxHQUFHO0FBQ3JCLFlBQU0sSUFBSSxNQUFNLGNBQWM7QUFBQSxJQUNoQztBQUVBLFdBQU87QUFBQSxNQUNMLFlBQVksT0FBTyxRQUFRO0FBQUEsTUFDM0IsTUFBTSxPQUFPLEtBQUs7QUFBQSxJQUNwQjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQXdCO0FBQ3BELFVBQU0sT0FBTyxPQUFPLEVBQUUsS0FBSyxNQUFNLElBQUksRUFBRSxRQUFRLE1BQU0sVUFBVTtBQUMvRCxXQUFPLEtBQUssT0FBTyxXQUFXO0FBQUEsRUFDaEM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K