Files
docx-js/src/util/convenience-functions.ts

26 lines
1.0 KiB
TypeScript
Raw Normal View History

import { nanoid } from "nanoid/non-secure";
2021-03-12 03:58:05 +00:00
2020-12-24 03:37:43 +00:00
// Twip - twentieths of a point
2022-08-31 07:52:27 +01:00
export const convertMillimetersToTwip = (millimeters: number): number => Math.floor((millimeters / 25.4) * 72 * 20);
2020-12-24 03:37:43 +00:00
2022-08-31 07:52:27 +01:00
export const convertInchesToTwip = (inches: number): number => Math.floor(inches * 72 * 20);
2021-03-12 03:58:05 +00:00
2023-05-04 12:30:31 +03:00
export type UniqueNumericIdCreator = () => number;
export const uniqueNumericIdCreator = (initial = 0): UniqueNumericIdCreator => {
let currentCount = initial;
return () => ++currentCount;
};
2021-03-12 03:58:05 +00:00
2023-05-04 12:30:31 +03:00
export const abstractNumUniqueNumericIdGen = (): UniqueNumericIdCreator => uniqueNumericIdCreator();
// Setting initial to 1 as we have numId = 1 for "default-bullet-numbering"
export const concreteNumUniqueNumericIdGen = (): UniqueNumericIdCreator => uniqueNumericIdCreator(1);
export const docPropertiesUniqueNumericIdGen = (): UniqueNumericIdCreator => uniqueNumericIdCreator();
export const bookmarkUniqueNumericIdGen = (): UniqueNumericIdCreator => uniqueNumericIdCreator();
2023-04-19 16:51:03 +03:00
2022-08-31 07:52:27 +01:00
export const uniqueId = (): string => nanoid().toLowerCase();