6 Commits

Author SHA1 Message Date
5481831711 1.0.6 2020-10-26 00:44:27 +00:00
fb606e734b fix(core): update 2020-10-26 00:44:26 +00:00
e75a939214 1.0.5 2020-10-25 22:19:44 +00:00
deda012e03 fix(core): update 2020-10-25 22:19:44 +00:00
933a5e0a45 1.0.4 2020-10-24 21:03:51 +00:00
bb339b8c85 fix(core): update 2020-10-24 21:03:51 +00:00
4 changed files with 28 additions and 8 deletions

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartxml",
"version": "1.0.3",
"version": "1.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartxml",
"version": "1.0.3",
"version": "1.0.6",
"private": false,
"description": "a package for creating and parsing xml formated files",
"main": "dist_ts/index.js",
@@ -9,7 +9,7 @@
"license": "MIT",
"scripts": {
"test": "(tstest test/ --web)",
"build": "(tsbuild --web)"
"build": "(tsbuild --web && tsbundle npm)"
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.25",

View File

@@ -2,19 +2,34 @@ import { expect, tap } from '@pushrocks/tapbundle';
import * as smartxml from '../ts/index';
let testSmartxml: smartxml.SmartXml;
let testXml = `
<hello>
<wow>nice</wow>
</hello>
`;
tap.test('should create ', async () => {
tap.test('should create an instance', async () => {
testSmartxml = new smartxml.SmartXml();
});
tap.test('should create an xml string', async () => {
const xmlResult = testSmartxml.createXmlFromObject({
hello: {
wow: 'test'
"@_xlmns:teststring": "hellothere",
"@_xlmns:testnumber": 10,
wow: 'test',
url: [{loc: 3},{loc: 3}]
}
});
console.log(xmlResult);
});
tap.test('should parse an yml file', async () => {
const jsObject = testSmartxml.parseXmlToObject(testXml);
console.log(jsObject);
expect(typeof jsObject).to.equal('object');
expect(jsObject).property('hello').property('wow').to.equal('nice');
});
tap.start();

View File

@@ -4,13 +4,18 @@ export class SmartXml {
constructor() {}
public parseXmlToObject<T = any>(xmlStringArg: string): T {
const jsonObject = plugins.fastXmlParser.convertToJson(xmlStringArg);
const jsonObject = plugins.fastXmlParser.parse(xmlStringArg);
return jsonObject;
}
public createXmlFromObject(jsObject: any): string {
const jsToXmlParser = new plugins.fastXmlParser.j2xParser({});
const jsToXmlParser = new plugins.fastXmlParser.j2xParser({
ignoreAttributes: false,
attributeNamePrefix: "@_",
format: true,
indentBy: ' ',
});
const xml = jsToXmlParser.parse(jsObject);
return xml;
return '<?xml version="1.0" encoding="UTF-8"?>\n' + xml;
}
}