Change all project enums to objects with as const (#2445)
* feat: change all enums to as const objects * Add word to dictionary --------- Co-authored-by: Dolan Miu <dolan_miu@hotmail.com>
This commit is contained in:
committed by
GitHub
parent
fd1ea5b4dc
commit
a756a7697c
@ -19,41 +19,47 @@ import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
||||
// <xsd:enumeration value="right"/>
|
||||
// </xsd:restriction>
|
||||
// </xsd:simpleType>
|
||||
export enum AlignmentType {
|
||||
/** Align Start */
|
||||
START = "start",
|
||||
/** Align Center */
|
||||
CENTER = "center",
|
||||
/** End */
|
||||
END = "end",
|
||||
/** Justified */
|
||||
BOTH = "both",
|
||||
/** Medium Kashida Length */
|
||||
MEDIUM_KASHIDA = "mediumKashida",
|
||||
/** Distribute All Characters Equally */
|
||||
DISTRIBUTE = "distribute",
|
||||
/** Align to List Tab */
|
||||
NUM_TAB = "numTab",
|
||||
/** Widest Kashida Length */
|
||||
HIGH_KASHIDA = "highKashida",
|
||||
/** Low Kashida Length */
|
||||
LOW_KASHIDA = "lowKashida",
|
||||
/** Thai Language Justification */
|
||||
THAI_DISTRIBUTE = "thaiDistribute",
|
||||
/** Align Left */
|
||||
LEFT = "left",
|
||||
/** Align Right */
|
||||
RIGHT = "right",
|
||||
/** Justified */
|
||||
JUSTIFIED = "both",
|
||||
}
|
||||
|
||||
export class AlignmentAttributes extends XmlAttributeComponent<{ readonly val: AlignmentType }> {
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export const AlignmentType = {
|
||||
/** Align Start */
|
||||
START: "start",
|
||||
/** Align Center */
|
||||
CENTER: "center",
|
||||
/** End */
|
||||
END: "end",
|
||||
/** Justified */
|
||||
BOTH: "both",
|
||||
/** Medium Kashida Length */
|
||||
MEDIUM_KASHIDA: "mediumKashida",
|
||||
/** Distribute All Characters Equally */
|
||||
DISTRIBUTE: "distribute",
|
||||
/** Align to List Tab */
|
||||
NUM_TAB: "numTab",
|
||||
/** Widest Kashida Length */
|
||||
HIGH_KASHIDA: "highKashida",
|
||||
/** Low Kashida Length */
|
||||
LOW_KASHIDA: "lowKashida",
|
||||
/** Thai Language Justification */
|
||||
THAI_DISTRIBUTE: "thaiDistribute",
|
||||
/** Align Left */
|
||||
LEFT: "left",
|
||||
/** Align Right */
|
||||
RIGHT: "right",
|
||||
/** Justified */
|
||||
JUSTIFIED: "both",
|
||||
} as const;
|
||||
|
||||
/* eslint-enable */
|
||||
|
||||
export class AlignmentAttributes extends XmlAttributeComponent<{
|
||||
readonly val: (typeof AlignmentType)[keyof typeof AlignmentType];
|
||||
}> {
|
||||
protected readonly xmlKeys = { val: "w:val" };
|
||||
}
|
||||
|
||||
export class Alignment extends XmlComponent {
|
||||
public constructor(type: AlignmentType) {
|
||||
public constructor(type: (typeof AlignmentType)[keyof typeof AlignmentType]) {
|
||||
super("w:jc");
|
||||
this.root.push(new AlignmentAttributes({ val: type }));
|
||||
}
|
||||
|
@ -2,14 +2,14 @@
|
||||
import { Attributes, XmlComponent } from "@file/xml-components";
|
||||
import { Run } from "../run";
|
||||
|
||||
enum BreakType {
|
||||
COLUMN = "column",
|
||||
PAGE = "page",
|
||||
const BreakType = {
|
||||
COLUMN: "column",
|
||||
PAGE: "page",
|
||||
// textWrapping breaks are the default and already exposed via the "Run" class
|
||||
}
|
||||
} as const;
|
||||
|
||||
class Break extends XmlComponent {
|
||||
public constructor(type: BreakType) {
|
||||
public constructor(type: (typeof BreakType)[keyof typeof BreakType]) {
|
||||
super("w:br");
|
||||
this.root.push(
|
||||
new Attributes({
|
||||
|
@ -1,17 +1,19 @@
|
||||
// http://officeopenxml.com/WPspacing.php
|
||||
import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
||||
|
||||
export enum LineRuleType {
|
||||
AT_LEAST = "atLeast",
|
||||
EXACTLY = "exactly",
|
||||
EXACT = "exact",
|
||||
AUTO = "auto",
|
||||
}
|
||||
export const LineRuleType = {
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
AT_LEAST: "atLeast",
|
||||
EXACTLY: "exactly",
|
||||
EXACT: "exact",
|
||||
AUTO: "auto",
|
||||
} as const;
|
||||
|
||||
export interface ISpacingProperties {
|
||||
readonly after?: number;
|
||||
readonly before?: number;
|
||||
readonly line?: number;
|
||||
readonly lineRule?: LineRuleType;
|
||||
readonly lineRule?: (typeof LineRuleType)[keyof typeof LineRuleType];
|
||||
readonly beforeAutoSpacing?: boolean;
|
||||
readonly afterAutoSpacing?: boolean;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
import { Attributes, XmlComponent } from "@file/xml-components";
|
||||
|
||||
export enum HeadingLevel {
|
||||
HEADING_1 = "Heading1",
|
||||
HEADING_2 = "Heading2",
|
||||
HEADING_3 = "Heading3",
|
||||
HEADING_4 = "Heading4",
|
||||
HEADING_5 = "Heading5",
|
||||
HEADING_6 = "Heading6",
|
||||
TITLE = "Title",
|
||||
}
|
||||
export const HeadingLevel = {
|
||||
HEADING_1: "Heading1",
|
||||
HEADING_2: "Heading2",
|
||||
HEADING_3: "Heading3",
|
||||
HEADING_4: "Heading4",
|
||||
HEADING_5: "Heading5",
|
||||
HEADING_6: "Heading6",
|
||||
TITLE: "Title",
|
||||
} as const;
|
||||
|
||||
export class Style extends XmlComponent {
|
||||
public constructor(styleId: string) {
|
||||
|
@ -2,9 +2,9 @@
|
||||
import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
||||
|
||||
export interface TabStopDefinition {
|
||||
readonly type: TabStopType;
|
||||
readonly position: number | TabStopPosition;
|
||||
readonly leader?: LeaderType;
|
||||
readonly type: (typeof TabStopType)[keyof typeof TabStopType];
|
||||
readonly position: number | (typeof TabStopPosition)[keyof typeof TabStopPosition];
|
||||
readonly leader?: (typeof LeaderType)[keyof typeof LeaderType];
|
||||
}
|
||||
|
||||
export class TabStop extends XmlComponent {
|
||||
@ -17,34 +17,35 @@ export class TabStop extends XmlComponent {
|
||||
}
|
||||
}
|
||||
|
||||
export enum TabStopType {
|
||||
LEFT = "left",
|
||||
RIGHT = "right",
|
||||
CENTER = "center",
|
||||
BAR = "bar",
|
||||
CLEAR = "clear",
|
||||
DECIMAL = "decimal",
|
||||
END = "end",
|
||||
NUM = "num",
|
||||
START = "start",
|
||||
}
|
||||
export const TabStopType = {
|
||||
LEFT: "left",
|
||||
RIGHT: "right",
|
||||
CENTER: "center",
|
||||
BAR: "bar",
|
||||
CLEAR: "clear",
|
||||
DECIMAL: "decimal",
|
||||
END: "end",
|
||||
NUM: "num",
|
||||
START: "start",
|
||||
} as const;
|
||||
|
||||
export enum LeaderType {
|
||||
DOT = "dot",
|
||||
HYPHEN = "hyphen",
|
||||
MIDDLE_DOT = "middleDot",
|
||||
NONE = "none",
|
||||
UNDERSCORE = "underscore",
|
||||
}
|
||||
export const LeaderType = {
|
||||
DOT: "dot",
|
||||
HYPHEN: "hyphen",
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
MIDDLE_DOT: "middleDot",
|
||||
NONE: "none",
|
||||
UNDERSCORE: "underscore",
|
||||
} as const;
|
||||
|
||||
export enum TabStopPosition {
|
||||
MAX = 9026,
|
||||
}
|
||||
export const TabStopPosition = {
|
||||
MAX: 9026,
|
||||
} as const;
|
||||
|
||||
export class TabAttributes extends XmlAttributeComponent<{
|
||||
readonly val: TabStopType;
|
||||
readonly val: (typeof TabStopType)[keyof typeof TabStopType];
|
||||
readonly pos: string | number;
|
||||
readonly leader?: LeaderType;
|
||||
readonly leader?: (typeof LeaderType)[keyof typeof LeaderType];
|
||||
}> {
|
||||
protected readonly xmlKeys = { val: "w:val", pos: "w:pos", leader: "w:leader" };
|
||||
}
|
||||
|
Reference in New Issue
Block a user