@awhere/api
Version:
The awesome aWhere API for JavaScript.
83 lines • 4.12 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var interfaces_1 = require("@awhere/interfaces");
function fromJSON(json) {
if (typeof json === 'string' || typeof json === 'object') {
var item = typeof json === 'string' ? JSON.parse(json) : json;
switch (item.type) {
case interfaces_1.ItemType.databaseItem: {
switch (item.subtype) {
case interfaces_1.DatabaseItemType.featureCollection:
var FeatureCollection = require('../Database/FeatureCollection/FeatureCollection').default;
return new FeatureCollection(item);
case interfaces_1.DatabaseItemType.pointCollection:
var PointCollection = require('../Database/FeatureCollection/PointCollection').default;
return new PointCollection(item);
case interfaces_1.DatabaseItemType.polygonCollection:
var PolygonCollection = require('../Database/FeatureCollection/PolygonCollection').default;
return new PolygonCollection(item);
case interfaces_1.DatabaseItemType.polylineCollection:
var PolylineCollection = require('../Database/FeatureCollection/PolylineCollection').default;
return new PolylineCollection(item);
case interfaces_1.DatabaseItemType.table:
var Table = require('../Database/Table/Table').default;
return new Table(item);
case interfaces_1.DatabaseItemType.view:
var View = require('../Database/View/View').default;
return new View(item);
}
}
case interfaces_1.ItemType.application: {
var Application = require('../Application/Application').default;
return new Application(item);
}
case interfaces_1.ItemType.database: {
var Database = require('../Database/Database').default;
return new Database(item);
}
case interfaces_1.ItemType.databaseConnection: {
var DatabsaseConnection = require('../DatabsaseConnection/DatabaseConnection').default;
return new DatabsaseConnection(item);
}
case interfaces_1.ItemType.file: {
var FileItem = require('../FileItem/FileItem').default;
return new FileItem(item);
}
case interfaces_1.ItemType.folder: {
var Folder = require('../Folder/Folder').default;
return new Folder(item);
}
case interfaces_1.ItemType.form: {
var Form = require('../Form/Form').default;
return new Form(item);
}
case interfaces_1.ItemType.processingService: {
var ProcessingService = require('../ProcessingService/ProcessingService').default;
return new ProcessingService(item);
}
case interfaces_1.ItemType.webMap: {
var WebMap = require('../WebMap/WebMap').default;
return new WebMap(item);
}
case interfaces_1.ItemType.webService: {
var WebService = require('../WebService/WebService').default;
return new WebService(item);
}
case interfaces_1.ItemType.applicationItem: {
var ApplicationItem = require('../Application/ApplicationItem').default;
return new ApplicationItem(item);
}
case interfaces_1.ItemType.webMapItem: {
var WebMapItem = require('../WebMap/WebMapItem').default;
return new WebMapItem(item);
}
default:
return;
}
}
else {
throw new Error('An error occured while parsing JSON.');
}
}
exports.default = fromJSON;
//# sourceMappingURL=fromJSON.js.map