* build(deps-dev): bump eslint from 8.57.1 to 9.13.0 Bumps [eslint](https://github.com/eslint/eslint) from 8.57.1 to 9.13.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.57.1...v9.13.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Upgrade EsLint * Fix all new lint errors --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dolan Miu <dolan_miu@hotmail.com>
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
// http://officeopenxml.com/WPspacing.php
|
|
import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
|
|
export const LineRuleType = {
|
|
AT_LEAST: "atLeast",
|
|
EXACTLY: "exactly",
|
|
EXACT: "exact",
|
|
AUTO: "auto",
|
|
} as const;
|
|
|
|
export type ISpacingProperties = {
|
|
readonly after?: number;
|
|
readonly before?: number;
|
|
readonly line?: number;
|
|
readonly lineRule?: (typeof LineRuleType)[keyof typeof LineRuleType];
|
|
readonly beforeAutoSpacing?: boolean;
|
|
readonly afterAutoSpacing?: boolean;
|
|
};
|
|
|
|
class SpacingAttributes extends XmlAttributeComponent<ISpacingProperties> {
|
|
protected readonly xmlKeys = {
|
|
after: "w:after",
|
|
before: "w:before",
|
|
line: "w:line",
|
|
lineRule: "w:lineRule",
|
|
beforeAutoSpacing: "w:beforeAutospacing",
|
|
afterAutoSpacing: "w:afterAutoSpacing",
|
|
};
|
|
}
|
|
|
|
export class Spacing extends XmlComponent {
|
|
public constructor(options: ISpacingProperties) {
|
|
super("w:spacing");
|
|
this.root.push(new SpacingAttributes(options));
|
|
}
|
|
}
|