@supernova-studio/pulsar-core 1.0.4 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -5
- package/build/browser/pulsar.js +0 -141743
- package/build/browser/pulsar.min.js +0 -270
- package/build/main/browser-bundle.d.ts +0 -1
- package/build/main/browser-bundle.js +0 -17
- package/build/main/browser-bundle.js.map +0 -1
- package/build/main/engine/ExportEngine.d.ts +0 -17
- package/build/main/engine/ExportEngine.js +0 -122
- package/build/main/engine/ExportEngine.js.map +0 -1
- package/build/main/engine/configuration/ExportConfiguration.d.ts +0 -18
- package/build/main/engine/configuration/ExportConfiguration.js +0 -47
- package/build/main/engine/configuration/ExportConfiguration.js.map +0 -1
- package/build/main/engine/generation/ExportDataProducer.d.ts +0 -15
- package/build/main/engine/generation/ExportDataProducer.js +0 -100
- package/build/main/engine/generation/ExportDataProducer.js.map +0 -1
- package/build/main/engine/generation/queue/ExportDataQueue.d.ts +0 -16
- package/build/main/engine/generation/queue/ExportDataQueue.js +0 -72
- package/build/main/engine/generation/queue/ExportDataQueue.js.map +0 -1
- package/build/main/engine/generation/queue/ExportDataQueueOperation.d.ts +0 -6
- package/build/main/engine/generation/queue/ExportDataQueueOperation.js +0 -36
- package/build/main/engine/generation/queue/ExportDataQueueOperation.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.d.ts +0 -7
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.js +0 -54
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.d.ts +0 -7
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.js +0 -40
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequest.d.ts +0 -19
- package/build/main/engine/generation/requests/ExportDataRequest.js +0 -55
- package/build/main/engine/generation/requests/ExportDataRequest.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.d.ts +0 -16
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.js +0 -57
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.d.ts +0 -22
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.js +0 -86
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestProducer.d.ts +0 -16
- package/build/main/engine/generation/requests/ExportDataRequestProducer.js +0 -162
- package/build/main/engine/generation/requests/ExportDataRequestProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataResponse.d.ts +0 -13
- package/build/main/engine/generation/requests/ExportDataResponse.js +0 -30
- package/build/main/engine/generation/requests/ExportDataResponse.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.d.ts +0 -14
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.js +0 -77
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.d.ts +0 -11
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.js +0 -43
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.js.map +0 -1
- package/build/main/engine/items/ExportItemProducer.d.ts +0 -14
- package/build/main/engine/items/ExportItemProducer.js +0 -70
- package/build/main/engine/items/ExportItemProducer.js.map +0 -1
- package/build/main/engine/items/construction/ExportItem.d.ts +0 -8
- package/build/main/engine/items/construction/ExportItem.js +0 -25
- package/build/main/engine/items/construction/ExportItem.js.map +0 -1
- package/build/main/engine/items/construction/ExportItemBuilder.d.ts +0 -9
- package/build/main/engine/items/construction/ExportItemBuilder.js +0 -47
- package/build/main/engine/items/construction/ExportItemBuilder.js.map +0 -1
- package/build/main/engine/items/queue/ExportItemQueue.d.ts +0 -16
- package/build/main/engine/items/queue/ExportItemQueue.js +0 -70
- package/build/main/engine/items/queue/ExportItemQueue.js.map +0 -1
- package/build/main/engine/items/queue/ExportItemQueueOperation.d.ts +0 -6
- package/build/main/engine/items/queue/ExportItemQueueOperation.js +0 -36
- package/build/main/engine/items/queue/ExportItemQueueOperation.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemRequest.d.ts +0 -16
- package/build/main/engine/items/requests/ExportItemRequest.js +0 -68
- package/build/main/engine/items/requests/ExportItemRequest.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemRequestProducer.d.ts +0 -8
- package/build/main/engine/items/requests/ExportItemRequestProducer.js +0 -24
- package/build/main/engine/items/requests/ExportItemRequestProducer.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemResponse.d.ts +0 -9
- package/build/main/engine/items/requests/ExportItemResponse.js +0 -25
- package/build/main/engine/items/requests/ExportItemResponse.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemResponseProducer.d.ts +0 -7
- package/build/main/engine/items/requests/ExportItemResponseProducer.js +0 -45
- package/build/main/engine/items/requests/ExportItemResponseProducer.js.map +0 -1
- package/build/main/engine/loaders/BlueprintLoader.d.ts +0 -9
- package/build/main/engine/loaders/BlueprintLoader.js +0 -55
- package/build/main/engine/loaders/BlueprintLoader.js.map +0 -1
- package/build/main/engine/writing/queue/ExportWriterQueue.d.ts +0 -16
- package/build/main/engine/writing/queue/ExportWriterQueue.js +0 -70
- package/build/main/engine/writing/queue/ExportWriterQueue.js.map +0 -1
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.d.ts +0 -6
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.js +0 -36
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterRequest.d.ts +0 -14
- package/build/main/engine/writing/requests/ExportWriterRequest.js +0 -40
- package/build/main/engine/writing/requests/ExportWriterRequest.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.d.ts +0 -8
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.js +0 -30
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterResponse.d.ts +0 -9
- package/build/main/engine/writing/requests/ExportWriterResponse.js +0 -25
- package/build/main/engine/writing/requests/ExportWriterResponse.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.d.ts +0 -7
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.js +0 -40
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.js.map +0 -1
- package/build/main/engine/writing/writers/ExportItemWriter.d.ts +0 -14
- package/build/main/engine/writing/writers/ExportItemWriter.js +0 -70
- package/build/main/engine/writing/writers/ExportItemWriter.js.map +0 -1
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.d.ts +0 -9
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.js +0 -63
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.d.ts +0 -4
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.js +0 -29
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.d.ts +0 -5
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.js +0 -59
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterStore.d.ts +0 -5
- package/build/main/engine/writing/writers/memory/ExportWriterStore.js +0 -33
- package/build/main/engine/writing/writers/memory/ExportWriterStore.js.map +0 -1
- package/build/main/exports.d.ts +0 -4
- package/build/main/exports.js +0 -13
- package/build/main/exports.js.map +0 -1
- package/build/main/index.d.ts +0 -1
- package/build/main/index.js +0 -14
- package/build/main/index.js.map +0 -1
- package/build/main/model/dsm/DSMReferenceStore.d.ts +0 -28
- package/build/main/model/dsm/DSMReferenceStore.js +0 -100
- package/build/main/model/dsm/DSMReferenceStore.js.map +0 -1
- package/build/main/model/exporters/Exporter.d.ts +0 -50
- package/build/main/model/exporters/Exporter.js +0 -88
- package/build/main/model/exporters/Exporter.js.map +0 -1
- package/build/main/model/maps/ExporterMapBlueprint.d.ts +0 -12
- package/build/main/model/maps/ExporterMapBlueprint.js +0 -39
- package/build/main/model/maps/ExporterMapBlueprint.js.map +0 -1
- package/build/main/model/sources/ExporterSource.d.ts +0 -25
- package/build/main/model/sources/ExporterSource.js +0 -58
- package/build/main/model/sources/ExporterSource.js.map +0 -1
- package/build/main/pulsar/Pulsar.d.ts +0 -105
- package/build/main/pulsar/Pulsar.js +0 -351
- package/build/main/pulsar/Pulsar.js.map +0 -1
- package/build/main/pulsar/PulsarInterface.d.ts +0 -152
- package/build/main/pulsar/PulsarInterface.js +0 -37
- package/build/main/pulsar/PulsarInterface.js.map +0 -1
- package/build/main/pulsar/PulsarStaticAnalysis.d.ts +0 -23
- package/build/main/pulsar/PulsarStaticAnalysis.js +0 -47
- package/build/main/pulsar/PulsarStaticAnalysis.js.map +0 -1
- package/build/main/pulsar/PulsarStaticAnalysisInterface.d.ts +0 -10
- package/build/main/pulsar/PulsarStaticAnalysisInterface.js +0 -10
- package/build/main/pulsar/PulsarStaticAnalysisInterface.js.map +0 -1
- package/build/main/pulsar/managers/PulsarBlueprintManager.d.ts +0 -16
- package/build/main/pulsar/managers/PulsarBlueprintManager.js +0 -76
- package/build/main/pulsar/managers/PulsarBlueprintManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarCIManager.d.ts +0 -25
- package/build/main/pulsar/managers/PulsarCIManager.js +0 -220
- package/build/main/pulsar/managers/PulsarCIManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarCodeManager.d.ts +0 -24
- package/build/main/pulsar/managers/PulsarCodeManager.js +0 -180
- package/build/main/pulsar/managers/PulsarCodeManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarConfigurationManager.d.ts +0 -16
- package/build/main/pulsar/managers/PulsarConfigurationManager.js +0 -48
- package/build/main/pulsar/managers/PulsarConfigurationManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarExporterManager.d.ts +0 -25
- package/build/main/pulsar/managers/PulsarExporterManager.js +0 -121
- package/build/main/pulsar/managers/PulsarExporterManager.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.d.ts +0 -16
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.js +0 -276
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.d.ts +0 -7
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.js +0 -63
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.js.map +0 -1
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.d.ts +0 -5
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.js +0 -28
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.d.ts +0 -11
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.js +0 -99
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.d.ts +0 -9
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.js +0 -81
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.d.ts +0 -20
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.js +0 -194
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.d.ts +0 -12
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.js +0 -143
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.d.ts +0 -12
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.js +0 -115
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.js.map +0 -1
- package/build/main/tests/TestConfiguration.d.ts +0 -9
- package/build/main/tests/TestConfiguration.js +0 -25
- package/build/main/tests/TestConfiguration.js.map +0 -1
- package/build/main/tests/casebuilders/ci.d.ts +0 -12
- package/build/main/tests/casebuilders/ci.js +0 -38
- package/build/main/tests/casebuilders/ci.js.map +0 -1
- package/build/main/tests/casebuilders/configuration.d.ts +0 -5
- package/build/main/tests/casebuilders/configuration.js +0 -25
- package/build/main/tests/casebuilders/configuration.js.map +0 -1
- package/build/main/tests/casebuilders/dsm.d.ts +0 -7
- package/build/main/tests/casebuilders/dsm.js +0 -57
- package/build/main/tests/casebuilders/dsm.js.map +0 -1
- package/build/main/tests/casebuilders/modelObjects.d.ts +0 -13
- package/build/main/tests/casebuilders/modelObjects.js +0 -120
- package/build/main/tests/casebuilders/modelObjects.js.map +0 -1
- package/build/main/tools/Logger.d.ts +0 -27
- package/build/main/tools/Logger.js +0 -98
- package/build/main/tools/Logger.js.map +0 -1
- package/build/main/tools/LoggerDefaultMessages.d.ts +0 -13
- package/build/main/tools/LoggerDefaultMessages.js +0 -41
- package/build/main/tools/LoggerDefaultMessages.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -2829
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// PLSPulsarFSLoader.ts
|
|
3
|
-
// Supernova
|
|
4
|
-
//
|
|
5
|
-
// Created by Jiri Trecak.
|
|
6
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PLSPulsarFSLoader = void 0;
|
|
13
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
14
|
-
// MARK: - Imports
|
|
15
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
16
|
-
const PulsarExporterMemoryLoader_1 = require("../memory/PulsarExporterMemoryLoader");
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const util_1 = require("util");
|
|
19
|
-
const path_1 = require("path");
|
|
20
|
-
const readdir = util_1.promisify(fs_1.default.readdir);
|
|
21
|
-
const stat = util_1.promisify(fs_1.default.stat);
|
|
22
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
23
|
-
// MARK: - Definitions
|
|
24
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
25
|
-
// MARK: - Class
|
|
26
|
-
class PLSPulsarFSLoader extends PulsarBaseLoader_1.PLSPulsarBaseLoader {
|
|
27
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
28
|
-
// MARK: - Setup
|
|
29
|
-
constructor(sourceZIPURL) {
|
|
30
|
-
super();
|
|
31
|
-
this.exporterRootURL = sourceZIPURL;
|
|
32
|
-
}
|
|
33
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
34
|
-
// MARK: - Initialization of the exporter
|
|
35
|
-
async initialize() {
|
|
36
|
-
let processedFiles = await this.loadFilesFromRootDirectory(this.exporterRootURL);
|
|
37
|
-
let unpackager = new PulsarExporterMemoryLoader_1.PLSPulsarExporterMemoryLoader(processedFiles);
|
|
38
|
-
let exporter = await unpackager.constructExporterFromSourceFiles();
|
|
39
|
-
return exporter;
|
|
40
|
-
}
|
|
41
|
-
async loadFilesFromRootDirectory(rootDirectory) {
|
|
42
|
-
let processedFiles = new Map();
|
|
43
|
-
let files = (await this.getFiles(rootDirectory));
|
|
44
|
-
console.log(JSON.stringify(files));
|
|
45
|
-
// Fetch each file from zip (only if not directory)
|
|
46
|
-
for (let file of files) {
|
|
47
|
-
// Obtain directory and filename of the unzipped file
|
|
48
|
-
let parsedFile = await this.loadFileAtUrl(file, rootDirectory);
|
|
49
|
-
if (parsedFile) {
|
|
50
|
-
console.log(parsedFile);
|
|
51
|
-
processedFiles.set(parsedFile.key, parsedFile);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return processedFiles;
|
|
55
|
-
}
|
|
56
|
-
async getFiles(directory) {
|
|
57
|
-
const subdirs = await readdir(directory);
|
|
58
|
-
const files = await Promise.all(subdirs.map(async (subdir) => {
|
|
59
|
-
const res = path_1.resolve(directory, subdir);
|
|
60
|
-
return (await stat(res)).isDirectory() ? this.getFiles(res) : res;
|
|
61
|
-
}));
|
|
62
|
-
return files.reduce((a, f) => a.concat(f), []);
|
|
63
|
-
}
|
|
64
|
-
async loadFileAtUrl(filePath, rootDirectory) {
|
|
65
|
-
// Only retrieve files that are .blazar or .json
|
|
66
|
-
let components = filePath.split('/');
|
|
67
|
-
// Extract filename, extension and paths
|
|
68
|
-
let filename = components[components.length - 1];
|
|
69
|
-
let fullpath = components.join('/');
|
|
70
|
-
// Extract directory
|
|
71
|
-
components.pop();
|
|
72
|
-
let directory = components.join('/');
|
|
73
|
-
// Get extension and check whether it is correct format
|
|
74
|
-
let nameParts = filename.split('.');
|
|
75
|
-
let extension;
|
|
76
|
-
let name;
|
|
77
|
-
if (nameParts.length >= 2) {
|
|
78
|
-
extension = nameParts[nameParts.length - 1];
|
|
79
|
-
nameParts.pop();
|
|
80
|
-
name = nameParts.join('.');
|
|
81
|
-
}
|
|
82
|
-
// Only blazar and json extension are of interest to us
|
|
83
|
-
if (extension !== 'pr' && extension !== 'json') {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
// Extract content
|
|
87
|
-
let content = fs_1.default.readFileSync(filePath, 'utf-8');
|
|
88
|
-
return {
|
|
89
|
-
key: fullpath.substring(rootDirectory.length + 1),
|
|
90
|
-
filename: filename,
|
|
91
|
-
name: name,
|
|
92
|
-
extension: extension,
|
|
93
|
-
directory: directory.substring(rootDirectory.length + 1),
|
|
94
|
-
content: content
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
exports.PLSPulsarFSLoader = PLSPulsarFSLoader;
|
|
99
|
-
//# sourceMappingURL=PulsarFSLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarFSLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/local/PulsarFSLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PLSPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PLSExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
import { ExporterPackageFileExtractionData } from './PulsarExporterMemoryLoader';
|
|
4
|
-
export declare class PLSPulsarExporterJSONLoader extends PLSPulsarBaseLoader {
|
|
5
|
-
blob: string | Object;
|
|
6
|
-
constructor(blob: string | Object);
|
|
7
|
-
initialize(): Promise<PLSExporter>;
|
|
8
|
-
validateBlobEntry(entry: ExporterPackageFileExtractionData): void;
|
|
9
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// PulsarExporterJSONLoader.ts
|
|
3
|
-
// Supernova
|
|
4
|
-
//
|
|
5
|
-
// Created by Jiri Trecak.
|
|
6
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.PLSPulsarExporterJSONLoader = void 0;
|
|
10
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
11
|
-
// MARK: - Imports
|
|
12
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
13
|
-
const PulsarExporterMemoryLoader_1 = require("./PulsarExporterMemoryLoader");
|
|
14
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
15
|
-
// MARK: - Definitions
|
|
16
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
17
|
-
// MARK: - Class
|
|
18
|
-
class PLSPulsarExporterJSONLoader extends PulsarBaseLoader_1.PLSPulsarBaseLoader {
|
|
19
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
20
|
-
// MARK: - Setup
|
|
21
|
-
constructor(blob) {
|
|
22
|
-
super();
|
|
23
|
-
this.blob = blob;
|
|
24
|
-
}
|
|
25
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
26
|
-
// MARK: - Initialization of the exporter
|
|
27
|
-
async initialize() {
|
|
28
|
-
let processedFiles = new Map();
|
|
29
|
-
let processedBlob;
|
|
30
|
-
if (typeof this.blob === 'object') {
|
|
31
|
-
processedBlob = this.blob;
|
|
32
|
-
}
|
|
33
|
-
else if (typeof this.blob === 'string') {
|
|
34
|
-
processedBlob = JSON.parse(this.blob);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
throw new Error('Unsupported blob type, supported: Object or JSON representation');
|
|
38
|
-
}
|
|
39
|
-
// Process each file of blob
|
|
40
|
-
if (processedBlob instanceof Array) {
|
|
41
|
-
for (let item of processedBlob) {
|
|
42
|
-
// Validate that item has all requested blob properties
|
|
43
|
-
this.validateBlobEntry(item);
|
|
44
|
-
// Create item from the blob
|
|
45
|
-
let correctItem = item;
|
|
46
|
-
processedFiles.set(correctItem.key, correctItem);
|
|
47
|
-
}
|
|
48
|
-
let unpackager = new PulsarExporterMemoryLoader_1.PLSPulsarExporterMemoryLoader(processedFiles);
|
|
49
|
-
let exporter = await unpackager.constructExporterFromSourceFiles();
|
|
50
|
-
return exporter;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
throw new Error('Blob must contain array of file descriptors');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
validateBlobEntry(entry) {
|
|
57
|
-
if (!(entry instanceof Object)) {
|
|
58
|
-
throw new Error('File descriptor must be provided and must be object');
|
|
59
|
-
}
|
|
60
|
-
if (typeof entry.directory !== 'string') {
|
|
61
|
-
throw new Error('File descriptor must contain directory attribute');
|
|
62
|
-
}
|
|
63
|
-
if (typeof entry.content !== 'string') {
|
|
64
|
-
throw new Error('File descriptor must contain content attribute');
|
|
65
|
-
}
|
|
66
|
-
if (typeof entry.extension !== 'string') {
|
|
67
|
-
throw new Error('File descriptor must contain extension attribute');
|
|
68
|
-
}
|
|
69
|
-
if (typeof entry.filename !== 'string') {
|
|
70
|
-
throw new Error('File descriptor must contain filename attribute');
|
|
71
|
-
}
|
|
72
|
-
if (typeof entry.key !== 'string') {
|
|
73
|
-
throw new Error('File descriptor must contain key attribute');
|
|
74
|
-
}
|
|
75
|
-
if (typeof entry.name !== 'string') {
|
|
76
|
-
throw new Error('File descriptor must contain name attribute');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
exports.PLSPulsarExporterJSONLoader = PLSPulsarExporterJSONLoader;
|
|
81
|
-
//# sourceMappingURL=PulsarExporterJSONLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterJSONLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,aAAa;AACb,EAAE;AACF,2BAA2B;AAC3B,sDAAsD;AACtD,EAAE;;;AAEF,8GAA8G;AAC9G,kBAAkB;AAElB,0DAA0D;AAE1D,6EAGsC;AAEtC,8GAA8G;AAC9G,sBAAsB;AAEtB,8GAA8G;AAC9G,gBAAgB;AAEhB,MAAa,2BAA4B,SAAQ,sCAAmB;IAMlE,8GAA8G;IAC9G,gBAAgB;IAEhB,YAAY,IAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,8GAA8G;IAC9G,yCAAyC;IAEzC,KAAK,CAAC,UAAU;QACd,IAAI,cAAc,GAAG,IAAI,GAAG,EAA6C,CAAC;QAE1E,IAAI,aAAqB,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACjC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;SAC3B;aAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACxC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;QAED,4BAA4B;QAC5B,IAAI,aAAa,YAAY,KAAK,EAAE;YAClC,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;gBAC9B,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE7B,4BAA4B;gBAC5B,IAAI,WAAW,GAAG,IAAyC,CAAC;gBAC5D,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAClD;YAED,IAAI,UAAU,GAAG,IAAI,0DAA6B,CAAC,cAAc,CAAC,CAAC;YACnE,IAAI,QAAQ,GAAG,MAAM,UAAU,CAAC,gCAAgC,EAAE,CAAC;YACnE,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;IACH,CAAC;IAED,iBAAiB,CAAC,KAAwC;QACxD,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QACD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;IACH,CAAC;CACF;AA1ED,kEA0EC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { PLSPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PLSExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
export declare type ExporterPackageExtractionData = Map<string, ExporterPackageFileExtractionData>;
|
|
4
|
-
export declare type ExporterPackageFileExtractionData = {
|
|
5
|
-
directory: string;
|
|
6
|
-
filename: string;
|
|
7
|
-
name: string;
|
|
8
|
-
extension: string;
|
|
9
|
-
content: string;
|
|
10
|
-
key: string;
|
|
11
|
-
};
|
|
12
|
-
export declare class PLSPulsarExporterMemoryLoader extends PLSPulsarBaseLoader {
|
|
13
|
-
sourceFiles: ExporterPackageExtractionData;
|
|
14
|
-
constructor(sourceFiles: ExporterPackageExtractionData);
|
|
15
|
-
constructExporterFromSourceFiles(): Promise<PLSExporter>;
|
|
16
|
-
private loadSourcesFromSourceDirectory;
|
|
17
|
-
private enhanceSourcesWithConfiguration;
|
|
18
|
-
private loadOutputMapping;
|
|
19
|
-
private validateExporterConfiguration;
|
|
20
|
-
}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// PulsarExporterMemoryLoader.ts
|
|
4
|
-
// Supernova
|
|
5
|
-
//
|
|
6
|
-
// Created by Jiri Trecak.
|
|
7
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
8
|
-
//
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.PLSPulsarExporterMemoryLoader = void 0;
|
|
11
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
12
|
-
// MARK: - Imports
|
|
13
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
14
|
-
const Exporter_1 = require("../../../../model/exporters/Exporter");
|
|
15
|
-
const ExporterSource_1 = require("../../../../model/sources/ExporterSource");
|
|
16
|
-
const ExporterMapBlueprint_1 = require("../../../../model/maps/ExporterMapBlueprint");
|
|
17
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
18
|
-
// MARK: - Class
|
|
19
|
-
class PLSPulsarExporterMemoryLoader extends PulsarBaseLoader_1.PLSPulsarBaseLoader {
|
|
20
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
21
|
-
// MARK: - Setup
|
|
22
|
-
constructor(sourceFiles) {
|
|
23
|
-
super();
|
|
24
|
-
this.sourceFiles = sourceFiles;
|
|
25
|
-
}
|
|
26
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
27
|
-
// MARK: - Initialization of the exporter
|
|
28
|
-
async constructExporterFromSourceFiles() {
|
|
29
|
-
// Retrieve and validate configuration file
|
|
30
|
-
console.log(JSON.stringify(this.sourceFiles, null, 2));
|
|
31
|
-
let configurationFile = this.sourceFiles.get('exporter.json');
|
|
32
|
-
if (!configurationFile) {
|
|
33
|
-
throw new Error('exporter.json not found it root directory of the exporter package');
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
// Parse and validate configuration file
|
|
37
|
-
let parsedConfiguration = JSON.parse(configurationFile.content);
|
|
38
|
-
this.validateExporterConfiguration(parsedConfiguration);
|
|
39
|
-
// Create exporter based on the configuration
|
|
40
|
-
let exporter = new Exporter_1.PLSExporter(parsedConfiguration);
|
|
41
|
-
// Load all sources including their configuration
|
|
42
|
-
this.loadSourcesFromSourceDirectory(exporter);
|
|
43
|
-
this.enhanceSourcesWithConfiguration(exporter);
|
|
44
|
-
// Create output definitions
|
|
45
|
-
this.loadOutputMapping(exporter);
|
|
46
|
-
// Exporter fully prepared and validated, enjoy :)
|
|
47
|
-
return exporter;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
loadSourcesFromSourceDirectory(exporter) {
|
|
54
|
-
let sources = new Array();
|
|
55
|
-
for (let sourceDefinition of this.sourceFiles.values()) {
|
|
56
|
-
// Only sources inside the source directory
|
|
57
|
-
if (sourceDefinition.directory.startsWith(exporter.sourceDirectory)) {
|
|
58
|
-
let source = new ExporterSource_1.PLSExporterSource(sourceDefinition.name, sourceDefinition.directory, sourceDefinition.content);
|
|
59
|
-
sources.push(source);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exporter.linkSources(sources);
|
|
63
|
-
}
|
|
64
|
-
enhanceSourcesWithConfiguration(exporter) {
|
|
65
|
-
// Load the output configuration file, if any
|
|
66
|
-
if (exporter.sourceConfigFilePath == null) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
let configPath = exporter.sourceConfigFilePath;
|
|
70
|
-
let configFile = this.sourceFiles.get(configPath);
|
|
71
|
-
// Configuration file must be present when defined, otherwise it is ignored
|
|
72
|
-
if (!configFile) {
|
|
73
|
-
throw `Could not find source configuration file at ${configPath}`;
|
|
74
|
-
}
|
|
75
|
-
// Configuration file must contain source definitions
|
|
76
|
-
let parsedConfiguration = JSON.parse(configFile.content);
|
|
77
|
-
// Update each source. If defined, source is required and must be valid configuration object
|
|
78
|
-
// Note: configuration keys are optional, if user defines something else, it is ignored
|
|
79
|
-
for (const [sourceId, configuration] of Object.entries(parsedConfiguration)) {
|
|
80
|
-
let source = exporter.sourceById(sourceId);
|
|
81
|
-
if (!source) {
|
|
82
|
-
throw `Source configuration file defines source id ${sourceId} but there is no such file`;
|
|
83
|
-
}
|
|
84
|
-
if (!(configuration instanceof Object)) {
|
|
85
|
-
throw `Source configuration for source id ${sourceId} must be key/value object`;
|
|
86
|
-
}
|
|
87
|
-
source.loadBlueprintConfiguration(configuration);
|
|
88
|
-
console.log(`loading blueprint configuration from source file ${configuration}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
loadOutputMapping(exporter) {
|
|
92
|
-
// Load the output configuration file, if any
|
|
93
|
-
if (exporter.outputConfigFilePath == null) {
|
|
94
|
-
throw `Output configuration file is not defined inside exporter.json file`;
|
|
95
|
-
}
|
|
96
|
-
let configPath = exporter.outputConfigFilePath;
|
|
97
|
-
let configFile = this.sourceFiles.get(configPath);
|
|
98
|
-
// Configuration file must be present when defined, otherwise it is ignored
|
|
99
|
-
if (!configFile) {
|
|
100
|
-
throw `Could not find output configuration file at ${configPath}`;
|
|
101
|
-
}
|
|
102
|
-
// Configuration file must contain source definitions
|
|
103
|
-
let parsedConfiguration = JSON.parse(configFile.content);
|
|
104
|
-
let outputDefinition = parsedConfiguration['blueprints'];
|
|
105
|
-
if (!outputDefinition) {
|
|
106
|
-
throw `Output configuration file must define 'blueprints' key`;
|
|
107
|
-
}
|
|
108
|
-
if (!(outputDefinition instanceof Array)) {
|
|
109
|
-
throw `Output configuration file 'blueprints' key must be an array`;
|
|
110
|
-
}
|
|
111
|
-
// Create output mapping object from each output entry
|
|
112
|
-
for (let configuration of outputDefinition) {
|
|
113
|
-
if (!(configuration instanceof Object)) {
|
|
114
|
-
throw `Output configuration source entry must be a key/value object`;
|
|
115
|
-
}
|
|
116
|
-
let invoke = configuration['invoke'];
|
|
117
|
-
let writeTo = configuration['write_to'];
|
|
118
|
-
let writeUsing = configuration['write_using'];
|
|
119
|
-
if (!invoke) {
|
|
120
|
-
throw `Output configuration source entry must define 'invoke' key`;
|
|
121
|
-
}
|
|
122
|
-
if (!writeTo && !writeUsing) {
|
|
123
|
-
throw `Output configuration source entry must define either 'write_to' or 'write_using' key`;
|
|
124
|
-
}
|
|
125
|
-
if (writeTo && writeUsing) {
|
|
126
|
-
throw `Output configuration source entry must define one of 'write_to' or 'write_using' keys, but not both`;
|
|
127
|
-
}
|
|
128
|
-
if (writeUsing && !exporter.sources.get(writeUsing)) {
|
|
129
|
-
throw `Output configuration source entry references unknown source '${writeUsing}'`;
|
|
130
|
-
}
|
|
131
|
-
let map = new ExporterMapBlueprint_1.PLSExporterMapBlueprint(configuration);
|
|
132
|
-
exporter.linkOutputs([map]);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
136
|
-
// MARK: - Validation
|
|
137
|
-
validateExporterConfiguration(parsedConfiguration) {
|
|
138
|
-
// Required
|
|
139
|
-
if (!parsedConfiguration.id ||
|
|
140
|
-
!(typeof parsedConfiguration.id === 'string')) {
|
|
141
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'id'");
|
|
142
|
-
}
|
|
143
|
-
if (!parsedConfiguration.name ||
|
|
144
|
-
!(typeof parsedConfiguration.name === 'string')) {
|
|
145
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'name'");
|
|
146
|
-
}
|
|
147
|
-
if (!parsedConfiguration.description ||
|
|
148
|
-
!(typeof parsedConfiguration.description === 'string')) {
|
|
149
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'description'");
|
|
150
|
-
}
|
|
151
|
-
if (!parsedConfiguration.source_dir ||
|
|
152
|
-
!(typeof parsedConfiguration.source_dir === 'string')) {
|
|
153
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'source_dir'");
|
|
154
|
-
}
|
|
155
|
-
if (!parsedConfiguration.version ||
|
|
156
|
-
!(typeof parsedConfiguration.version === 'string')) {
|
|
157
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'version'");
|
|
158
|
-
}
|
|
159
|
-
if (!parsedConfiguration.tags ||
|
|
160
|
-
!(parsedConfiguration.tags instanceof Array)) {
|
|
161
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'tags'");
|
|
162
|
-
}
|
|
163
|
-
if (parsedConfiguration.tags.length === 0) {
|
|
164
|
-
throw new Error("Invalid exporter.json configuration, 'tags' must not be empty");
|
|
165
|
-
}
|
|
166
|
-
// Optional
|
|
167
|
-
if (parsedConfiguration.author &&
|
|
168
|
-
!(typeof parsedConfiguration.author === 'string')) {
|
|
169
|
-
throw new Error("Invalid exporter.json configuration, invalid 'author'");
|
|
170
|
-
}
|
|
171
|
-
if (parsedConfiguration.organization &&
|
|
172
|
-
!(typeof parsedConfiguration.organization === 'string')) {
|
|
173
|
-
throw new Error("Invalid exporter.json configuration, invalid 'organization'");
|
|
174
|
-
}
|
|
175
|
-
if (parsedConfiguration.homepage &&
|
|
176
|
-
!(typeof parsedConfiguration.homepage === 'string')) {
|
|
177
|
-
throw new Error("Invalid exporter.json configuration, invalid 'homepage'");
|
|
178
|
-
}
|
|
179
|
-
// TODO Validate config and engines
|
|
180
|
-
/*
|
|
181
|
-
config?: {
|
|
182
|
-
sources?: string,
|
|
183
|
-
output?: string
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
engines?: {
|
|
187
|
-
blazar?: string,
|
|
188
|
-
supernova?: string
|
|
189
|
-
}
|
|
190
|
-
*/
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
exports.PLSPulsarExporterMemoryLoader = PLSPulsarExporterMemoryLoader;
|
|
194
|
-
//# sourceMappingURL=PulsarExporterMemoryLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterMemoryLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PLSPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PLSExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
import { ExporterPackageExtractionData, ExporterPackageFileExtractionData } from '../memory/PulsarExporterMemoryLoader';
|
|
4
|
-
import JSZip from 'jszip';
|
|
5
|
-
export declare class PLSPulsarExporterGitHubLoader extends PLSPulsarBaseLoader {
|
|
6
|
-
repositoryURL: string;
|
|
7
|
-
constructor(githubURL: string);
|
|
8
|
-
initialize(): Promise<PLSExporter>;
|
|
9
|
-
downloadZIPFromURL(url: string): Promise<JSZip>;
|
|
10
|
-
processZIP(zip: JSZip): Promise<ExporterPackageExtractionData>;
|
|
11
|
-
parseUnzippedFile(file: JSZip.JSZipObject): Promise<ExporterPackageFileExtractionData | null>;
|
|
12
|
-
}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// PulsarExporterGitHubLoader.ts
|
|
3
|
-
// Supernova
|
|
4
|
-
//
|
|
5
|
-
// Created by Jiri Trecak.
|
|
6
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PLSPulsarExporterGitHubLoader = void 0;
|
|
13
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
14
|
-
// MARK: - Imports
|
|
15
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
16
|
-
const PulsarExporterMemoryLoader_1 = require("../memory/PulsarExporterMemoryLoader");
|
|
17
|
-
const request_1 = __importDefault(require("request"));
|
|
18
|
-
const parse_github_url_1 = __importDefault(require("parse-github-url"));
|
|
19
|
-
const jszip_1 = __importDefault(require("jszip"));
|
|
20
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
21
|
-
// MARK: - Definitions
|
|
22
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
23
|
-
// MARK: - Class
|
|
24
|
-
class PLSPulsarExporterGitHubLoader extends PulsarBaseLoader_1.PLSPulsarBaseLoader {
|
|
25
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
26
|
-
// MARK: - Setup
|
|
27
|
-
constructor(githubURL) {
|
|
28
|
-
super();
|
|
29
|
-
this.repositoryURL = githubURL;
|
|
30
|
-
}
|
|
31
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
32
|
-
// MARK: - Initialization of the exporter
|
|
33
|
-
async initialize() {
|
|
34
|
-
let url = parse_github_url_1.default(this.repositoryURL);
|
|
35
|
-
if (url) {
|
|
36
|
-
let owner = url.owner;
|
|
37
|
-
let name = url.name;
|
|
38
|
-
// TODO: We should get the link to the archive dynamically using the API
|
|
39
|
-
let rawZIP;
|
|
40
|
-
try {
|
|
41
|
-
let zipballURL = `https://github.com/${owner}/${name}/archive/main.zip`;
|
|
42
|
-
rawZIP = await this.downloadZIPFromURL(zipballURL);
|
|
43
|
-
}
|
|
44
|
-
catch (_a) {
|
|
45
|
-
try {
|
|
46
|
-
let zipballURL = `https://github.com/${owner}/${name}/archive/master.zip`;
|
|
47
|
-
rawZIP = await this.downloadZIPFromURL(zipballURL);
|
|
48
|
-
}
|
|
49
|
-
catch (_b) {
|
|
50
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (!rawZIP) {
|
|
54
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
55
|
-
}
|
|
56
|
-
let processedFiles = await this.processZIP(rawZIP);
|
|
57
|
-
let unpackager = new PulsarExporterMemoryLoader_1.PLSPulsarExporterMemoryLoader(processedFiles);
|
|
58
|
-
let exporter = await unpackager.constructExporterFromSourceFiles();
|
|
59
|
-
return exporter;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async downloadZIPFromURL(url) {
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
// Write zip file into buffered chunks
|
|
68
|
-
let buffers = [];
|
|
69
|
-
let buffer;
|
|
70
|
-
// Create request to download the zipball.
|
|
71
|
-
request_1.default.get(url)
|
|
72
|
-
.on('end', () => {
|
|
73
|
-
buffer = Buffer.concat(buffers);
|
|
74
|
-
jszip_1.default.loadAsync(buffer)
|
|
75
|
-
.then(zip => {
|
|
76
|
-
resolve(zip);
|
|
77
|
-
})
|
|
78
|
-
.catch(error => {
|
|
79
|
-
reject(error);
|
|
80
|
-
});
|
|
81
|
-
})
|
|
82
|
-
.on('error', error => {
|
|
83
|
-
reject(error);
|
|
84
|
-
})
|
|
85
|
-
.on('data', d => {
|
|
86
|
-
buffers.push(d);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
async processZIP(zip) {
|
|
91
|
-
let processedFiles = new Map();
|
|
92
|
-
let values = Object.values(zip.files);
|
|
93
|
-
// Fetch each file from zip (only if not directory)
|
|
94
|
-
for (let file of values) {
|
|
95
|
-
if (file.dir) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
// Obtain directory and filename of the unzipped file
|
|
99
|
-
let parsedFile = await this.parseUnzippedFile(file);
|
|
100
|
-
if (parsedFile) {
|
|
101
|
-
processedFiles.set(parsedFile.key, parsedFile);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return processedFiles;
|
|
105
|
-
}
|
|
106
|
-
async parseUnzippedFile(file) {
|
|
107
|
-
// Only retrieve files that are .blazar or .json
|
|
108
|
-
// Modify filename by removing the first directory
|
|
109
|
-
let components = file.name.split('/');
|
|
110
|
-
components.shift();
|
|
111
|
-
// Extract filename, extension and paths
|
|
112
|
-
let filename = components[components.length - 1];
|
|
113
|
-
let fullpath = components.join('/');
|
|
114
|
-
// Extract directory
|
|
115
|
-
components.pop();
|
|
116
|
-
let directory = components.join('/');
|
|
117
|
-
// Get extension and check whether it is correct format
|
|
118
|
-
let nameParts = filename.split('.');
|
|
119
|
-
let extension;
|
|
120
|
-
let name;
|
|
121
|
-
if (nameParts.length >= 2) {
|
|
122
|
-
extension = nameParts[nameParts.length - 1];
|
|
123
|
-
nameParts.pop();
|
|
124
|
-
name = nameParts.join('.');
|
|
125
|
-
}
|
|
126
|
-
// Only blazar and json extension are of interest to us
|
|
127
|
-
if (extension !== 'pr' && extension !== 'json') {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
// Extract content
|
|
131
|
-
let content = await file.async('string');
|
|
132
|
-
return {
|
|
133
|
-
key: fullpath,
|
|
134
|
-
filename: filename,
|
|
135
|
-
name: name,
|
|
136
|
-
extension: extension,
|
|
137
|
-
directory: directory,
|
|
138
|
-
content: content
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
exports.PLSPulsarExporterGitHubLoader = PLSPulsarExporterGitHubLoader;
|
|
143
|
-
//# sourceMappingURL=PulsarExporterGitHubLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterGitHubLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PLSPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PLSExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
import { ExporterPackageExtractionData, ExporterPackageFileExtractionData } from '../memory/PulsarExporterMemoryLoader';
|
|
4
|
-
import JSZip from 'jszip';
|
|
5
|
-
export declare class PLSPulsarExporterZIPLoader extends PLSPulsarBaseLoader {
|
|
6
|
-
zipSourceURL: string;
|
|
7
|
-
constructor(sourceZIPURL: string);
|
|
8
|
-
initialize(): Promise<PLSExporter>;
|
|
9
|
-
downloadZIPFromURL(url: string): Promise<JSZip>;
|
|
10
|
-
processZIP(zip: JSZip): Promise<ExporterPackageExtractionData>;
|
|
11
|
-
parseUnzippedFile(file: JSZip.JSZipObject): Promise<ExporterPackageFileExtractionData | null>;
|
|
12
|
-
}
|