Move custom properties to properties

This commit is contained in:
Dolan
2021-03-07 21:27:38 +00:00
parent bb6abe5e09
commit 5fc28cb67d
3 changed files with 14 additions and 8 deletions

View File

@ -9,15 +9,20 @@ import { Document, Packer } from "../build";
const doc = new Document( const doc = new Document(
// Standard properties // Standard properties
{ creator: "Creator", title: "Title", subject: "Subject", description: "Description" }, {
creator: "Creator",
title: "Title",
subject: "Subject",
description: "Description",
customProperties: [
{ name: "Subtitle", value: "Subtitle" },
{ name: "Address", value: "Address" },
],
},
// No file properties // No file properties
{}, {},
// No sections // No sections
[], [],
[
{ name: "Subtitle", value: "Subtitle" },
{ name: "Address", value: "Address" },
]
); );
Packer.toBuffer(doc).then((buffer) => { Packer.toBuffer(doc).then((buffer) => {

View File

@ -1,4 +1,5 @@
import { XmlComponent } from "file/xml-components"; import { XmlComponent } from "file/xml-components";
import { ICustomPropertyOptions } from "../custom-properties";
import { IDocumentBackgroundOptions } from "../document"; import { IDocumentBackgroundOptions } from "../document";
import { DocumentAttributes } from "../document/document-attributes"; import { DocumentAttributes } from "../document/document-attributes";
@ -24,6 +25,7 @@ export interface IPropertiesOptions {
readonly trackRevisions?: boolean; readonly trackRevisions?: boolean;
}; };
readonly compatabilityModeVersion?: number; readonly compatabilityModeVersion?: number;
readonly customProperties?: ICustomPropertyOptions[];
} }
export class CoreProperties extends XmlComponent { export class CoreProperties extends XmlComponent {

View File

@ -1,7 +1,7 @@
import { AppProperties } from "./app-properties/app-properties"; import { AppProperties } from "./app-properties/app-properties";
import { ContentTypes } from "./content-types/content-types"; import { ContentTypes } from "./content-types/content-types";
import { CoreProperties, IPropertiesOptions } from "./core-properties"; import { CoreProperties, IPropertiesOptions } from "./core-properties";
import { CustomProperties, ICustomPropertyOptions } from "./custom-properties"; import { CustomProperties } from "./custom-properties";
import { DocumentWrapper } from "./document-wrapper"; import { DocumentWrapper } from "./document-wrapper";
import { import {
FooterReferenceType, FooterReferenceType,
@ -69,7 +69,6 @@ export class File {
}, },
fileProperties: IFileProperties = {}, fileProperties: IFileProperties = {},
sections: ISectionOptions[] = [], sections: ISectionOptions[] = [],
customProperties: ICustomPropertyOptions[] = [],
) { ) {
this.coreProperties = new CoreProperties(options); this.coreProperties = new CoreProperties(options);
this.numbering = new Numbering( this.numbering = new Numbering(
@ -80,7 +79,7 @@ export class File {
}, },
); );
this.fileRelationships = new Relationships(); this.fileRelationships = new Relationships();
this.customProperties = new CustomProperties(customProperties); this.customProperties = new CustomProperties(options.customProperties ?? []);
this.appProperties = new AppProperties(); this.appProperties = new AppProperties();
this.footnotesWrapper = new FootnotesWrapper(); this.footnotesWrapper = new FootnotesWrapper();
this.contentTypes = new ContentTypes(); this.contentTypes = new ContentTypes();