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", "name": "@pushrocks/smartxml",
"version": "1.0.3", "version": "1.0.6",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

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

View File

@@ -2,19 +2,34 @@ import { expect, tap } from '@pushrocks/tapbundle';
import * as smartxml from '../ts/index'; import * as smartxml from '../ts/index';
let testSmartxml: smartxml.SmartXml; 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(); testSmartxml = new smartxml.SmartXml();
}); });
tap.test('should create an xml string', async () => { tap.test('should create an xml string', async () => {
const xmlResult = testSmartxml.createXmlFromObject({ const xmlResult = testSmartxml.createXmlFromObject({
hello: { hello: {
wow: 'test' "@_xlmns:teststring": "hellothere",
"@_xlmns:testnumber": 10,
wow: 'test',
url: [{loc: 3},{loc: 3}]
} }
}); });
console.log(xmlResult); 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(); tap.start();

View File

@@ -4,13 +4,18 @@ export class SmartXml {
constructor() {} constructor() {}
public parseXmlToObject<T = any>(xmlStringArg: string): T { public parseXmlToObject<T = any>(xmlStringArg: string): T {
const jsonObject = plugins.fastXmlParser.convertToJson(xmlStringArg); const jsonObject = plugins.fastXmlParser.parse(xmlStringArg);
return jsonObject; return jsonObject;
} }
public createXmlFromObject(jsObject: any): string { 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); const xml = jsToXmlParser.parse(jsObject);
return xml; return '<?xml version="1.0" encoding="UTF-8"?>\n' + xml;
} }
} }