@comake/skl-js-engine 1.3.9 → 1.3.10
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/dist/JsExecutor/PermissionBuilder.d.ts +1 -0
- package/dist/JsExecutor/PermissionBuilder.d.ts.map +1 -0
- package/dist/JsExecutor/PermissionBuilder.js.map +1 -1
- package/dist/JsExecutor/constants.d.ts +1 -0
- package/dist/JsExecutor/constants.d.ts.map +1 -0
- package/dist/JsExecutor/constants.js.map +1 -1
- package/dist/JsExecutor/denoUtils.d.ts +1 -0
- package/dist/JsExecutor/denoUtils.d.ts.map +1 -0
- package/dist/JsExecutor/denoUtils.js.map +1 -1
- package/dist/JsExecutor/errors.d.ts +1 -0
- package/dist/JsExecutor/errors.d.ts.map +1 -0
- package/dist/JsExecutor/errors.js.map +1 -1
- package/dist/JsExecutor/examples/basic/index.d.ts +1 -0
- package/dist/JsExecutor/examples/basic/index.d.ts.map +1 -0
- package/dist/JsExecutor/examples/basic/index.js.map +1 -1
- package/dist/JsExecutor/examples/basic/process.d.ts +1 -0
- package/dist/JsExecutor/examples/basic/process.d.ts.map +1 -0
- package/dist/JsExecutor/examples/basic/process.js.map +1 -1
- package/dist/JsExecutor/examples/jsExecutor/index.d.ts +1 -0
- package/dist/JsExecutor/examples/jsExecutor/index.d.ts.map +1 -0
- package/dist/JsExecutor/examples/jsExecutor/index.js.map +1 -1
- package/dist/JsExecutor/examples/jsExecutor/process.d.ts +1 -0
- package/dist/JsExecutor/examples/jsExecutor/process.d.ts.map +1 -0
- package/dist/JsExecutor/examples/jsExecutor/process.js.map +1 -1
- package/dist/JsExecutor/index.d.ts +1 -0
- package/dist/JsExecutor/index.d.ts.map +1 -0
- package/dist/JsExecutor/index.js.map +1 -1
- package/dist/JsExecutor/jsExecutor.d.ts +1 -0
- package/dist/JsExecutor/jsExecutor.d.ts.map +1 -0
- package/dist/JsExecutor/jsExecutor.js.map +1 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts +1 -0
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts.map +1 -0
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.js.map +1 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts +1 -0
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts.map +1 -0
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.js.map +1 -1
- package/dist/JsExecutor/jsonRpc/index.d.ts +1 -0
- package/dist/JsExecutor/jsonRpc/index.d.ts.map +1 -0
- package/dist/JsExecutor/jsonRpc/index.js.map +1 -1
- package/dist/JsExecutor/jsonRpc/types.d.ts +1 -0
- package/dist/JsExecutor/jsonRpc/types.d.ts.map +1 -0
- package/dist/JsExecutor/jsonRpc/types.js.map +1 -1
- package/dist/JsExecutor/transport/Transport.d.ts +1 -0
- package/dist/JsExecutor/transport/Transport.d.ts.map +1 -0
- package/dist/JsExecutor/transport/Transport.js.map +1 -1
- package/dist/JsExecutor/transport/base/BaseTransport.d.ts +1 -0
- package/dist/JsExecutor/transport/base/BaseTransport.d.ts.map +1 -0
- package/dist/JsExecutor/transport/base/BaseTransport.js.map +1 -1
- package/dist/JsExecutor/transport/index.d.ts +1 -0
- package/dist/JsExecutor/transport/index.d.ts.map +1 -0
- package/dist/JsExecutor/transport/index.js.map +1 -1
- package/dist/JsExecutor/transport/process/ProcessManager.d.ts +1 -0
- package/dist/JsExecutor/transport/process/ProcessManager.d.ts.map +1 -0
- package/dist/JsExecutor/transport/process/ProcessManager.js.map +1 -1
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts +1 -0
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts.map +1 -0
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.js.map +1 -1
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts +1 -0
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts.map +1 -0
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.js.map +1 -1
- package/dist/JsExecutor/transport/utils/MessageUtils.d.ts +1 -0
- package/dist/JsExecutor/transport/utils/MessageUtils.d.ts.map +1 -0
- package/dist/JsExecutor/transport/utils/MessageUtils.js.map +1 -1
- package/dist/JsExecutor/transport/utils/PollingUtils.d.ts +1 -0
- package/dist/JsExecutor/transport/utils/PollingUtils.d.ts.map +1 -0
- package/dist/JsExecutor/transport/utils/PollingUtils.js.map +1 -1
- package/dist/JsExecutor/types.d.ts +1 -0
- package/dist/JsExecutor/types.d.ts.map +1 -0
- package/dist/JsExecutor/types.js.map +1 -1
- package/dist/SklEngine.d.ts +1 -0
- package/dist/SklEngine.d.ts.map +1 -0
- package/dist/SklEngine.js.map +1 -1
- package/dist/SklEngineOptions.d.ts +1 -0
- package/dist/SklEngineOptions.d.ts.map +1 -0
- package/dist/SklEngineOptions.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/customCapabilities.d.ts +1 -0
- package/dist/customCapabilities.d.ts.map +1 -0
- package/dist/customCapabilities.js.map +1 -1
- package/dist/examples/customCapabilitiesExample.d.ts +1 -0
- package/dist/examples/customCapabilitiesExample.d.ts.map +1 -0
- package/dist/examples/customCapabilitiesExample.js.map +1 -1
- package/dist/hooks/globalHooks.d.ts +1 -0
- package/dist/hooks/globalHooks.d.ts.map +1 -0
- package/dist/hooks/globalHooks.js.map +1 -1
- package/dist/hooks/types.d.ts +1 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js.map +1 -1
- package/dist/mapping/Mapper.d.ts +1 -0
- package/dist/mapping/Mapper.d.ts.map +1 -0
- package/dist/mapping/Mapper.js.map +1 -1
- package/dist/storage/FindOperator.d.ts +1 -0
- package/dist/storage/FindOperator.d.ts.map +1 -0
- package/dist/storage/FindOperator.js.map +1 -1
- package/dist/storage/FindOptionsTypes.d.ts +1 -0
- package/dist/storage/FindOptionsTypes.d.ts.map +1 -0
- package/dist/storage/FindOptionsTypes.js.map +1 -1
- package/dist/storage/GroupOptionTypes.d.ts +1 -0
- package/dist/storage/GroupOptionTypes.d.ts.map +1 -0
- package/dist/storage/GroupOptionTypes.js.map +1 -1
- package/dist/storage/operator/And.d.ts +1 -0
- package/dist/storage/operator/And.d.ts.map +1 -0
- package/dist/storage/operator/And.js.map +1 -1
- package/dist/storage/operator/Contains.d.ts +1 -0
- package/dist/storage/operator/Contains.d.ts.map +1 -0
- package/dist/storage/operator/Contains.js.map +1 -1
- package/dist/storage/operator/Equal.d.ts +1 -0
- package/dist/storage/operator/Equal.d.ts.map +1 -0
- package/dist/storage/operator/Equal.js.map +1 -1
- package/dist/storage/operator/Exists.d.ts +1 -0
- package/dist/storage/operator/Exists.d.ts.map +1 -0
- package/dist/storage/operator/Exists.js.map +1 -1
- package/dist/storage/operator/GreaterThan.d.ts +1 -0
- package/dist/storage/operator/GreaterThan.d.ts.map +1 -0
- package/dist/storage/operator/GreaterThan.js.map +1 -1
- package/dist/storage/operator/GreaterThanOrEqual.d.ts +1 -0
- package/dist/storage/operator/GreaterThanOrEqual.d.ts.map +1 -0
- package/dist/storage/operator/GreaterThanOrEqual.js.map +1 -1
- package/dist/storage/operator/In.d.ts +1 -0
- package/dist/storage/operator/In.d.ts.map +1 -0
- package/dist/storage/operator/In.js.map +1 -1
- package/dist/storage/operator/Inverse.d.ts +1 -0
- package/dist/storage/operator/Inverse.d.ts.map +1 -0
- package/dist/storage/operator/Inverse.js.map +1 -1
- package/dist/storage/operator/InversePath.d.ts +1 -0
- package/dist/storage/operator/InversePath.d.ts.map +1 -0
- package/dist/storage/operator/InversePath.js.map +1 -1
- package/dist/storage/operator/InverseRelation.d.ts +1 -0
- package/dist/storage/operator/InverseRelation.d.ts.map +1 -0
- package/dist/storage/operator/InverseRelation.js.map +1 -1
- package/dist/storage/operator/InverseRelationOrder.d.ts +1 -0
- package/dist/storage/operator/InverseRelationOrder.d.ts.map +1 -0
- package/dist/storage/operator/InverseRelationOrder.js.map +1 -1
- package/dist/storage/operator/LessThan.d.ts +1 -0
- package/dist/storage/operator/LessThan.d.ts.map +1 -0
- package/dist/storage/operator/LessThan.js.map +1 -1
- package/dist/storage/operator/LessThanOrEqual.d.ts +1 -0
- package/dist/storage/operator/LessThanOrEqual.d.ts.map +1 -0
- package/dist/storage/operator/LessThanOrEqual.js.map +1 -1
- package/dist/storage/operator/Not.d.ts +1 -0
- package/dist/storage/operator/Not.d.ts.map +1 -0
- package/dist/storage/operator/Not.js.map +1 -1
- package/dist/storage/operator/OneOrMorePath.d.ts +1 -0
- package/dist/storage/operator/OneOrMorePath.d.ts.map +1 -0
- package/dist/storage/operator/OneOrMorePath.js.map +1 -1
- package/dist/storage/operator/Sequence.d.ts +1 -0
- package/dist/storage/operator/Sequence.d.ts.map +1 -0
- package/dist/storage/operator/Sequence.js.map +1 -1
- package/dist/storage/operator/SequencePath.d.ts +1 -0
- package/dist/storage/operator/SequencePath.d.ts.map +1 -0
- package/dist/storage/operator/SequencePath.js.map +1 -1
- package/dist/storage/operator/ZeroOrMorePath.d.ts +1 -0
- package/dist/storage/operator/ZeroOrMorePath.d.ts.map +1 -0
- package/dist/storage/operator/ZeroOrMorePath.js.map +1 -1
- package/dist/storage/query-adapter/QueryAdapter.d.ts +1 -0
- package/dist/storage/query-adapter/QueryAdapter.d.ts.map +1 -0
- package/dist/storage/query-adapter/QueryAdapter.js.map +1 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js +16 -3
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js.map +1 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.js.map +1 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js +7 -22
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js.map +1 -1
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.js.map +1 -1
- package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/VariableGenerator.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts.map +1 -0
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.js.map +1 -1
- package/dist/util/PerformanceLogger.d.ts +1 -0
- package/dist/util/PerformanceLogger.d.ts.map +1 -0
- package/dist/util/PerformanceLogger.js.map +1 -1
- package/dist/util/SparqlUtil.d.ts +1 -0
- package/dist/util/SparqlUtil.d.ts.map +1 -0
- package/dist/util/SparqlUtil.js.map +1 -1
- package/dist/util/TripleUtil.d.ts +1 -0
- package/dist/util/TripleUtil.d.ts.map +1 -0
- package/dist/util/TripleUtil.js.map +1 -1
- package/dist/util/Types.d.ts +1 -0
- package/dist/util/Types.d.ts.map +1 -0
- package/dist/util/Types.js.map +1 -1
- package/dist/util/Util.d.ts +1 -0
- package/dist/util/Util.d.ts.map +1 -0
- package/dist/util/Util.js.map +1 -1
- package/dist/util/Vocabularies/Shared.d.ts +1 -0
- package/dist/util/Vocabularies/Shared.d.ts.map +1 -0
- package/dist/util/Vocabularies/Shared.js.map +1 -1
- package/dist/util/Vocabularies/helper.d.ts +1 -0
- package/dist/util/Vocabularies/helper.d.ts.map +1 -0
- package/dist/util/Vocabularies/helper.js.map +1 -1
- package/dist/util/Vocabularies/index.d.ts +1 -0
- package/dist/util/Vocabularies/index.d.ts.map +1 -0
- package/dist/util/Vocabularies/index.js.map +1 -1
- package/dist/util/safeJsonStringify.d.ts +1 -0
- package/dist/util/safeJsonStringify.d.ts.map +1 -0
- package/dist/util/safeJsonStringify.js.map +1 -1
- package/package.json +6 -3
- package/src/JsExecutor/PermissionBuilder.ts +60 -0
- package/src/JsExecutor/constants.ts +27 -0
- package/src/JsExecutor/denoUtils.ts +20 -0
- package/src/JsExecutor/errors.ts +63 -0
- package/src/JsExecutor/examples/basic/index.ts +54 -0
- package/src/JsExecutor/examples/basic/process.ts +39 -0
- package/src/JsExecutor/examples/jsExecutor/README.md +3 -0
- package/src/JsExecutor/examples/jsExecutor/index.ts +50 -0
- package/src/JsExecutor/examples/jsExecutor/process.ts +79 -0
- package/src/JsExecutor/index.ts +19 -0
- package/src/JsExecutor/jsExecutor.ts +194 -0
- package/src/JsExecutor/jsonRpc/JsonRpcClient.ts +422 -0
- package/src/JsExecutor/jsonRpc/JsonRpcServer.ts +454 -0
- package/src/JsExecutor/jsonRpc/index.ts +4 -0
- package/src/JsExecutor/jsonRpc/types.ts +231 -0
- package/src/JsExecutor/transport/README.md +67 -0
- package/src/JsExecutor/transport/Transport.ts +106 -0
- package/src/JsExecutor/transport/base/BaseTransport.ts +83 -0
- package/src/JsExecutor/transport/index.ts +56 -0
- package/src/JsExecutor/transport/process/ProcessManager.ts +281 -0
- package/src/JsExecutor/transport/stdio/ChildStdioTransport.ts +251 -0
- package/src/JsExecutor/transport/stdio/ParentStdioTransport.ts +308 -0
- package/src/JsExecutor/transport/utils/MessageUtils.ts +139 -0
- package/src/JsExecutor/transport/utils/PollingUtils.ts +114 -0
- package/src/JsExecutor/types.ts +130 -0
- package/src/SklEngine.ts +1828 -0
- package/src/SklEngineOptions.ts +28 -0
- package/src/constants.ts +120 -0
- package/src/customCapabilities.ts +65 -0
- package/src/examples/customCapabilitiesExample.ts +77 -0
- package/src/hooks/globalHooks.ts +238 -0
- package/src/hooks/types.ts +7 -0
- package/src/index.ts +45 -0
- package/src/logger.ts +144 -0
- package/src/mapping/Mapper.ts +52 -0
- package/src/storage/FindOperator.ts +55 -0
- package/src/storage/FindOptionsTypes.ts +107 -0
- package/src/storage/GroupOptionTypes.ts +32 -0
- package/src/storage/operator/And.ts +10 -0
- package/src/storage/operator/Contains.ts +9 -0
- package/src/storage/operator/Equal.ts +13 -0
- package/src/storage/operator/Exists.ts +6 -0
- package/src/storage/operator/GreaterThan.ts +12 -0
- package/src/storage/operator/GreaterThanOrEqual.ts +12 -0
- package/src/storage/operator/In.ts +12 -0
- package/src/storage/operator/Inverse.ts +11 -0
- package/src/storage/operator/InversePath.ts +17 -0
- package/src/storage/operator/InverseRelation.ts +18 -0
- package/src/storage/operator/InverseRelationOrder.ts +17 -0
- package/src/storage/operator/LessThan.ts +12 -0
- package/src/storage/operator/LessThanOrEqual.ts +12 -0
- package/src/storage/operator/Not.ts +11 -0
- package/src/storage/operator/OneOrMorePath.ts +17 -0
- package/src/storage/operator/Sequence.ts +11 -0
- package/src/storage/operator/SequencePath.ts +17 -0
- package/src/storage/operator/ZeroOrMorePath.ts +17 -0
- package/src/storage/query-adapter/QueryAdapter.ts +110 -0
- package/src/storage/query-adapter/sparql/SparqlQueryAdapter.ts +400 -0
- package/src/storage/query-adapter/sparql/SparqlQueryAdapterOptions.ts +38 -0
- package/src/storage/query-adapter/sparql/SparqlQueryBuilder.ts +1524 -0
- package/src/storage/query-adapter/sparql/SparqlUpdateBuilder.ts +347 -0
- package/src/storage/query-adapter/sparql/VariableGenerator.ts +8 -0
- package/src/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.ts +135 -0
- package/src/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.ts +146 -0
- package/src/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.ts +51 -0
- package/src/util/PerformanceLogger.ts +286 -0
- package/src/util/SparqlUtil.ts +516 -0
- package/src/util/TripleUtil.ts +412 -0
- package/src/util/Types.ts +399 -0
- package/src/util/Util.ts +116 -0
- package/src/util/Vocabularies/Shared.ts +99 -0
- package/src/util/Vocabularies/helper.ts +14 -0
- package/src/util/Vocabularies/index.ts +108 -0
- package/src/util/safeJsonStringify.ts +19 -0
- package/dist/JsExecutor/transport/StdioTransport.d.ts +0 -0
- package/dist/JsExecutor/transport/StdioTransport.js +0 -641
- package/dist/JsExecutor/transport/StdioTransport.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SparqlQueryAdapterOptions } from './storage/query-adapter/sparql/SparqlQueryAdapterOptions';
|
|
2
|
+
import type { Callbacks } from './util/Types';
|
|
3
|
+
|
|
4
|
+
export type SklEngineOptions = SparqlQueryAdapterOptions & {
|
|
5
|
+
/**
|
|
6
|
+
* Callbacks to execute upon events.
|
|
7
|
+
*/
|
|
8
|
+
readonly callbacks?: Callbacks;
|
|
9
|
+
/**
|
|
10
|
+
* Manually defined functions which can be used in mappings.
|
|
11
|
+
*/
|
|
12
|
+
readonly functions?: Record<string, (args: any | any[]) => any>;
|
|
13
|
+
/**
|
|
14
|
+
* When true, disables validation of verb parameters and return values according to schemas
|
|
15
|
+
*/
|
|
16
|
+
readonly disableValidation?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* An object containing files keyed on their title that can be used in mappings.
|
|
19
|
+
*/
|
|
20
|
+
readonly inputFiles?: Record<string, string>;
|
|
21
|
+
|
|
22
|
+
readonly debugMode?: boolean;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The path to the executor script.
|
|
26
|
+
*/
|
|
27
|
+
readonly scriptPath?: string;
|
|
28
|
+
};
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SKL_DATA_NAMESPACE as SKL_DATA_NAMESPACE_VOCAB,
|
|
3
|
+
SKL_ENGINE,
|
|
4
|
+
SKL_ENGINE_NAMESPACE as SKL_ENGINE_NAMESPACE_VOCAB,
|
|
5
|
+
SKL_NAMESPACE as SKL_NAMESPACE_VOCAB,
|
|
6
|
+
SKL_PROPERTY,
|
|
7
|
+
SKL_SPECS
|
|
8
|
+
} from './util/Vocabularies';
|
|
9
|
+
import {
|
|
10
|
+
OWL as OWL_VOCAB,
|
|
11
|
+
R2RML as R2RML_VOCAB,
|
|
12
|
+
RDF as RDF_VOCAB,
|
|
13
|
+
RDFS as RDFS_VOCAB, SHACL as SHACL_VOCAB, SHACL_NAMESPACE as SHACL_NAMESPACE_VOCAB, XSD as XSD_VOCAB
|
|
14
|
+
} from './util/Vocabularies/Shared';
|
|
15
|
+
|
|
16
|
+
export const SKL_NAMESPACE = SKL_NAMESPACE_VOCAB;
|
|
17
|
+
export const SKL_DATA_NAMESPACE = SKL_DATA_NAMESPACE_VOCAB;
|
|
18
|
+
export const SKL_ENGINE_NAMESPACE = SKL_ENGINE_NAMESPACE_VOCAB;
|
|
19
|
+
|
|
20
|
+
export const OWL = OWL_VOCAB;
|
|
21
|
+
export const RDF = RDF_VOCAB;
|
|
22
|
+
export const RDFS = RDFS_VOCAB;
|
|
23
|
+
export const R2RML = R2RML_VOCAB;
|
|
24
|
+
export const XSD = XSD_VOCAB;
|
|
25
|
+
export const SHACL = SHACL_VOCAB;
|
|
26
|
+
export const SHACL_NAMESPACE = SHACL_NAMESPACE_VOCAB;
|
|
27
|
+
export const PROP_ENTITY_ID = '@id';
|
|
28
|
+
export const PROP_ENTITY_TYPE = '@type';
|
|
29
|
+
export const PROP_ENTITY_VALUE = '@value';
|
|
30
|
+
|
|
31
|
+
// RML constants
|
|
32
|
+
|
|
33
|
+
export const RML_LIST = '@list';
|
|
34
|
+
|
|
35
|
+
export const OPEN_API_RUNTIME_AUTHORIZATION = 'getOpenApiRuntimeAuthorization';
|
|
36
|
+
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
38
|
+
export const EngineConstants = {
|
|
39
|
+
spec: {
|
|
40
|
+
capability: SKL_SPECS.Capability,
|
|
41
|
+
capabilityMapping: SKL_SPECS.CapabilityMapping,
|
|
42
|
+
triggerCapabilityMapping: SKL_SPECS.TriggerCapabilityMapping,
|
|
43
|
+
invalidTokenErrorMatcher: SKL_SPECS['integration/InvalidTokenErrorMatcher'],
|
|
44
|
+
jsonDataSource: SKL_SPECS.JsonDataSource,
|
|
45
|
+
mapping: SKL_SPECS.Mapping,
|
|
46
|
+
inputs: SKL_SPECS.Inputs,
|
|
47
|
+
openApi: SKL_SPECS.OpenAPI,
|
|
48
|
+
codeBlock: SKL_SPECS.CodeBlock,
|
|
49
|
+
integrationAuthenticationCredential: SKL_SPECS['integration/AuthenticationCredential'],
|
|
50
|
+
integrationInterface: SKL_SPECS['integration/IntegrationInterface']
|
|
51
|
+
},
|
|
52
|
+
prop: {
|
|
53
|
+
capability: SKL_PROPERTY.capability,
|
|
54
|
+
inputs: SKL_PROPERTY.inputs,
|
|
55
|
+
outputs: SKL_PROPERTY.outputs,
|
|
56
|
+
inputsContext: SKL_PROPERTY.inputsContext,
|
|
57
|
+
outputsContext: SKL_PROPERTY.outputsContext,
|
|
58
|
+
invalidTokenErrorMatcher: SKL_PROPERTY['integration/invalidTokenErrorMatcher'],
|
|
59
|
+
invalidTokenErrorMatcherStatus: SKL_PROPERTY['integration/invalidTokenErrorMatcherStatus'],
|
|
60
|
+
invalidTokenErrorMatcherMessageRegex: SKL_PROPERTY['integration/invalidTokenErrorMatcherMessageRegex'],
|
|
61
|
+
refreshToken: SKL_PROPERTY['integration/credential/refreshToken'],
|
|
62
|
+
jwtBearerOptions: SKL_PROPERTY['integration/credential/jwtBearerOptions'],
|
|
63
|
+
accessToken: SKL_PROPERTY['integration/credential/accessToken'],
|
|
64
|
+
bearerToken: SKL_PROPERTY['integration/credential/bearerToken'],
|
|
65
|
+
username: SKL_PROPERTY['integration/username'],
|
|
66
|
+
password: SKL_PROPERTY['integration/password'],
|
|
67
|
+
oneTimePassword: SKL_PROPERTY['integration/oneTimePassword'],
|
|
68
|
+
apiKey: SKL_PROPERTY['integration/apiKey'],
|
|
69
|
+
declarativeApiDescription: SKL_PROPERTY['integration/declarativeApiDescription'],
|
|
70
|
+
overrideBasePath: SKL_PROPERTY['integration/overrideBasePath'],
|
|
71
|
+
schemeName: SKL_PROPERTY['integration/schemeName'],
|
|
72
|
+
oauthFlow: SKL_PROPERTY['integration/oauthFlow'],
|
|
73
|
+
stage: SKL_PROPERTY['integration/stage'],
|
|
74
|
+
operationId: SKL_PROPERTY.operationId,
|
|
75
|
+
|
|
76
|
+
data: SKL_PROPERTY.data,
|
|
77
|
+
source: SKL_PROPERTY.source,
|
|
78
|
+
headers: SKL_PROPERTY.headers,
|
|
79
|
+
object: SKL_PROPERTY.object,
|
|
80
|
+
dataSource: SKL_PROPERTY.dataSource,
|
|
81
|
+
|
|
82
|
+
series: SKL_PROPERTY['mapping/series'],
|
|
83
|
+
parallel: SKL_PROPERTY['mapping/parallel'],
|
|
84
|
+
inputsReference: SKL_PROPERTY['mapping/inputsReference'],
|
|
85
|
+
inputsMapping: SKL_PROPERTY['mapping/inputsMapping'],
|
|
86
|
+
inputsMappingFrame: SKL_PROPERTY['mapping/inputsMappingFrame'],
|
|
87
|
+
inputsMappingRef: SKL_PROPERTY['mapping/inputsMappingRef'],
|
|
88
|
+
inputsMappingFrameRef: SKL_PROPERTY['mapping/inputsMappingFrameRef'],
|
|
89
|
+
outputsMapping: SKL_PROPERTY['mapping/outputsMapping'],
|
|
90
|
+
outputsMappingFrame: SKL_PROPERTY['mapping/outputsMappingFrame'],
|
|
91
|
+
preProcessingMapping: SKL_PROPERTY['mapping/preProcessingMapping'],
|
|
92
|
+
preProcessingMappingFrame: SKL_PROPERTY['mapping/preProcessingMappingFrame'],
|
|
93
|
+
operationMapping: SKL_PROPERTY['mapping/operationMapping'],
|
|
94
|
+
|
|
95
|
+
type: SKL_PROPERTY.type,
|
|
96
|
+
dateCreated: SKL_PROPERTY.dateTimeCreated,
|
|
97
|
+
dateModified: SKL_PROPERTY.dateTimeModified,
|
|
98
|
+
label: SKL_PROPERTY.label,
|
|
99
|
+
identifier: SKL_PROPERTY.identifier,
|
|
100
|
+
codeBody: SKL_PROPERTY['content/codeBody'],
|
|
101
|
+
codeBlocks: SKL_PROPERTY['content/codeBlocks'],
|
|
102
|
+
integration: SKL_PROPERTY['integration/integration'],
|
|
103
|
+
accountOrUser: SKL_PROPERTY.accountOrUser,
|
|
104
|
+
|
|
105
|
+
capabilityType: SKL_PROPERTY.capabilityType
|
|
106
|
+
},
|
|
107
|
+
dataSource: {
|
|
108
|
+
update: SKL_ENGINE.update,
|
|
109
|
+
findAll: SKL_ENGINE.findAll,
|
|
110
|
+
findAllBy: SKL_ENGINE.findAllBy,
|
|
111
|
+
find: SKL_ENGINE.find,
|
|
112
|
+
findBy: SKL_ENGINE.findBy,
|
|
113
|
+
exists: SKL_ENGINE.exists,
|
|
114
|
+
existsResult: SKL_ENGINE.existsResult,
|
|
115
|
+
count: SKL_ENGINE.count,
|
|
116
|
+
countResult: SKL_ENGINE.countResult,
|
|
117
|
+
save: SKL_ENGINE.save,
|
|
118
|
+
destroy: SKL_ENGINE.destroy
|
|
119
|
+
}
|
|
120
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { NodeObject } from 'jsonld';
|
|
2
|
+
import type { CapabilityConfig, JSONObject, OrArray } from './util/Types';
|
|
3
|
+
|
|
4
|
+
// Define the custom capability handler type
|
|
5
|
+
// Using any to avoid circular dependency
|
|
6
|
+
export type CustomCapabilityHandler = (
|
|
7
|
+
args: JSONObject,
|
|
8
|
+
sklEngine: any,
|
|
9
|
+
capabilityConfig?: CapabilityConfig
|
|
10
|
+
) => Promise<OrArray<NodeObject>>;
|
|
11
|
+
|
|
12
|
+
// Global custom capabilities registry
|
|
13
|
+
class GlobalCustomCapabilitiesRegistry {
|
|
14
|
+
private readonly customCapabilities: Map<string, CustomCapabilityHandler> = new Map();
|
|
15
|
+
|
|
16
|
+
public register(capabilityId: string, handler: CustomCapabilityHandler): void {
|
|
17
|
+
this.customCapabilities.set(capabilityId, handler);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public unregister(capabilityId: string): boolean {
|
|
21
|
+
return this.customCapabilities.delete(capabilityId);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public has(capabilityId: string): boolean {
|
|
25
|
+
return this.customCapabilities.has(capabilityId);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public async execute(
|
|
29
|
+
capabilityId: string,
|
|
30
|
+
args: JSONObject,
|
|
31
|
+
sklEngine: any,
|
|
32
|
+
capabilityConfig?: CapabilityConfig
|
|
33
|
+
): Promise<OrArray<NodeObject>> {
|
|
34
|
+
const handler = this.customCapabilities.get(capabilityId);
|
|
35
|
+
if (!handler) {
|
|
36
|
+
throw new Error(`Custom capability '${capabilityId}' not found`);
|
|
37
|
+
}
|
|
38
|
+
return await handler(args, sklEngine, capabilityConfig);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public getAll(): string[] {
|
|
42
|
+
return [ ...this.customCapabilities.keys() ];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public clear(): void {
|
|
46
|
+
this.customCapabilities.clear();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Global instance
|
|
51
|
+
const globalCustomCapabilities = new GlobalCustomCapabilitiesRegistry();
|
|
52
|
+
|
|
53
|
+
// Export functions for external use
|
|
54
|
+
export const customCapabilities = {
|
|
55
|
+
register(capabilityId: string, handler: CustomCapabilityHandler): void {
|
|
56
|
+
globalCustomCapabilities.register(capabilityId, handler);
|
|
57
|
+
},
|
|
58
|
+
unregister: (capabilityId: string): boolean => globalCustomCapabilities.unregister(capabilityId),
|
|
59
|
+
has: (capabilityId: string): boolean => globalCustomCapabilities.has(capabilityId),
|
|
60
|
+
getAll: (): string[] => globalCustomCapabilities.getAll(),
|
|
61
|
+
clear: (): void => globalCustomCapabilities.clear()
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// Export the registry instance for internal use
|
|
65
|
+
export { globalCustomCapabilities };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
|
|
4
|
+
import type { NodeObject } from 'jsonld';
|
|
5
|
+
import type { SKLEngine } from '../index';
|
|
6
|
+
import { customCapabilities } from '../index';
|
|
7
|
+
import type { JSONObject } from '../util/Types';
|
|
8
|
+
|
|
9
|
+
// Example 1: Simple custom capability
|
|
10
|
+
customCapabilities.register('greetUser', async(args: JSONObject): Promise<NodeObject> => ({
|
|
11
|
+
'@type': 'GreetingResult',
|
|
12
|
+
'@value': `Hello, ${args.name as string}! Welcome to SKL Engine.`
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
// Example 2: Custom capability that uses SKL Engine instance
|
|
16
|
+
customCapabilities.register(
|
|
17
|
+
'countEntitiesWithProcessing',
|
|
18
|
+
async(args: JSONObject, sklEngine: SKLEngine): Promise<NodeObject> => {
|
|
19
|
+
try {
|
|
20
|
+
// Use the SKL engine to count entities
|
|
21
|
+
const count = await sklEngine.count(args);
|
|
22
|
+
|
|
23
|
+
// Add some processing
|
|
24
|
+
const processedCount = count * 2;
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
'@type': 'ProcessedCountResult',
|
|
28
|
+
'@value': {
|
|
29
|
+
originalCount: count,
|
|
30
|
+
processedCount,
|
|
31
|
+
timestamp: new Date().toISOString()
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
} catch (error: unknown) {
|
|
35
|
+
return {
|
|
36
|
+
'@type': 'ErrorResult',
|
|
37
|
+
'@value': {
|
|
38
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
39
|
+
timestamp: new Date().toISOString()
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
// Example 3: Custom capability that returns multiple results
|
|
47
|
+
customCapabilities.register(
|
|
48
|
+
'generateMultipleGreetings',
|
|
49
|
+
async(args: JSONObject): Promise<NodeObject[]> => {
|
|
50
|
+
const names = args.names as string[] || [];
|
|
51
|
+
|
|
52
|
+
return names.map((name, index) => ({
|
|
53
|
+
'@type': 'IndexedGreeting',
|
|
54
|
+
'@value': {
|
|
55
|
+
index,
|
|
56
|
+
message: `Hello, ${name}!`,
|
|
57
|
+
timestamp: new Date().toISOString()
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Usage example:
|
|
64
|
+
console.log('Custom capabilities registered:');
|
|
65
|
+
console.log('- greetUser');
|
|
66
|
+
console.log('- countEntitiesWithProcessing');
|
|
67
|
+
console.log('- generateMultipleGreetings');
|
|
68
|
+
|
|
69
|
+
console.log('\nAll registered capabilities:', customCapabilities.getAll());
|
|
70
|
+
|
|
71
|
+
// Check if capabilities exist
|
|
72
|
+
console.log('\nCapability checks:');
|
|
73
|
+
console.log('greetUser exists:', customCapabilities.has('greetUser'));
|
|
74
|
+
console.log('nonExistent exists:', customCapabilities.has('nonExistent'));
|
|
75
|
+
|
|
76
|
+
export { };
|
|
77
|
+
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/* eslint-disable id-length */
|
|
2
|
+
/* eslint-disable symbol-description */
|
|
3
|
+
/* eslint-disable @typescript-eslint/explicit-member-accessibility */
|
|
4
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
|
+
import type { CapabilityMapping, Entity } from '../util/Types';
|
|
6
|
+
import type { SklHookContext } from './types';
|
|
7
|
+
|
|
8
|
+
// Use symbols for hook types to avoid string collisions
|
|
9
|
+
export const HookTypes = {
|
|
10
|
+
CREATE: Symbol('create'),
|
|
11
|
+
READ: Symbol('read'),
|
|
12
|
+
UPDATE: Symbol('update'),
|
|
13
|
+
DELETE: Symbol('delete'),
|
|
14
|
+
EXECUTE_CAPABILITY_MAPPING: Symbol('executeCapabilityMapping')
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const HookStages = {
|
|
18
|
+
BEFORE: Symbol('before'),
|
|
19
|
+
AFTER: Symbol('after'),
|
|
20
|
+
ERROR: Symbol('error')
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// Hook function types
|
|
24
|
+
export type GlobalBeforeHook = (context: SklHookContext) => Promise<void> | void;
|
|
25
|
+
export type GlobalAfterHook = (context: SklHookContext, result: any) => Promise<any> | any;
|
|
26
|
+
export type GlobalErrorHook = (context: SklHookContext, error: Error) => Promise<void> | void;
|
|
27
|
+
export type GlobalExecuteCapabilityHook = (
|
|
28
|
+
context: SklHookContext,
|
|
29
|
+
capabilityMapping: CapabilityMapping,
|
|
30
|
+
) => Promise<void> | void;
|
|
31
|
+
// Hook registry entry type with metadata
|
|
32
|
+
interface HookEntry {
|
|
33
|
+
id: symbol;
|
|
34
|
+
fn: GlobalBeforeHook | GlobalAfterHook | GlobalErrorHook;
|
|
35
|
+
priority: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Registry to store global hooks
|
|
39
|
+
class GlobalHooksRegistry {
|
|
40
|
+
private readonly hooks: Map<symbol, Map<symbol, HookEntry[]>> = new Map();
|
|
41
|
+
|
|
42
|
+
constructor() {
|
|
43
|
+
// Initialize hook maps for all CRUD operations and stages
|
|
44
|
+
Object.values(HookTypes).forEach(type => {
|
|
45
|
+
this.hooks.set(type, new Map());
|
|
46
|
+
Object.values(HookStages).forEach(stage => {
|
|
47
|
+
this.hooks.get(type)!.set(stage, []);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Register a hook with optional priority (higher runs first)
|
|
54
|
+
*/
|
|
55
|
+
register(
|
|
56
|
+
type: symbol,
|
|
57
|
+
stage: symbol,
|
|
58
|
+
hook: GlobalBeforeHook | GlobalAfterHook | GlobalErrorHook,
|
|
59
|
+
priority = 0
|
|
60
|
+
): symbol {
|
|
61
|
+
const hookId = Symbol();
|
|
62
|
+
const hooksList = this.hooks.get(type)?.get(stage);
|
|
63
|
+
|
|
64
|
+
if (!hooksList) {
|
|
65
|
+
throw new Error(`Invalid hook type or stage`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
hooksList.push({
|
|
69
|
+
id: hookId,
|
|
70
|
+
fn: hook,
|
|
71
|
+
priority
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Sort by priority (descending)
|
|
75
|
+
hooksList.sort((a, b) => b.priority - a.priority);
|
|
76
|
+
|
|
77
|
+
return hookId;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Unregister a hook by its ID
|
|
82
|
+
*/
|
|
83
|
+
unregister(hookId: symbol): boolean {
|
|
84
|
+
let removed = false;
|
|
85
|
+
|
|
86
|
+
this.hooks.forEach(stageMap => {
|
|
87
|
+
stageMap.forEach(hooksList => {
|
|
88
|
+
const index = hooksList.findIndex(entry => entry.id === hookId);
|
|
89
|
+
if (index !== -1) {
|
|
90
|
+
hooksList.splice(index, 1);
|
|
91
|
+
removed = true;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
return removed;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Execute hooks for a specific operation and stage
|
|
101
|
+
*/
|
|
102
|
+
async execute(type: symbol, stage: symbol, context: SklHookContext, resultOrError?: any): Promise<any> {
|
|
103
|
+
const hooksList = this.hooks.get(type)?.get(stage);
|
|
104
|
+
|
|
105
|
+
if (!hooksList || hooksList.length === 0) {
|
|
106
|
+
return resultOrError;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (stage === HookStages.BEFORE) {
|
|
110
|
+
for (const entry of hooksList) {
|
|
111
|
+
await (entry.fn as GlobalBeforeHook)(context);
|
|
112
|
+
}
|
|
113
|
+
return resultOrError;
|
|
114
|
+
}
|
|
115
|
+
if (stage === HookStages.AFTER) {
|
|
116
|
+
let result = resultOrError;
|
|
117
|
+
for (const entry of hooksList) {
|
|
118
|
+
const newResult = await (entry.fn as GlobalAfterHook)(context, result);
|
|
119
|
+
if (newResult !== undefined) {
|
|
120
|
+
result = newResult;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
if (stage === HookStages.ERROR) {
|
|
126
|
+
for (const entry of hooksList) {
|
|
127
|
+
await (entry.fn as GlobalErrorHook)(context, resultOrError);
|
|
128
|
+
}
|
|
129
|
+
return resultOrError;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return resultOrError;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Convenience methods for common operations
|
|
136
|
+
registerBeforeCreate(hook: GlobalBeforeHook, priority?: number): symbol {
|
|
137
|
+
return this.register(HookTypes.CREATE, HookStages.BEFORE, hook, priority);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
registerAfterCreate(hook: GlobalAfterHook, priority?: number): symbol {
|
|
141
|
+
return this.register(HookTypes.CREATE, HookStages.AFTER, hook, priority);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
registerErrorCreate(hook: GlobalErrorHook, priority?: number): symbol {
|
|
145
|
+
return this.register(HookTypes.CREATE, HookStages.ERROR, hook, priority);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Additional convenience methods for other CRUD operations
|
|
149
|
+
registerBeforeRead(hook: GlobalBeforeHook, priority?: number): symbol {
|
|
150
|
+
return this.register(HookTypes.READ, HookStages.BEFORE, hook, priority);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// ... other convenience methods for read, update, delete operations
|
|
154
|
+
|
|
155
|
+
// Convenience methods for execute capability operations
|
|
156
|
+
registerBeforeExecuteCapabilityMapping(hook: GlobalExecuteCapabilityHook, priority?: number): symbol {
|
|
157
|
+
return this.register(HookTypes.EXECUTE_CAPABILITY_MAPPING, HookStages.BEFORE, hook, priority);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
registerAfterExecuteCapabilityMapping(hook: GlobalAfterHook, priority?: number): symbol {
|
|
161
|
+
return this.register(HookTypes.EXECUTE_CAPABILITY_MAPPING, HookStages.AFTER, hook, priority);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
registerErrorExecuteCapabilityMapping(hook: GlobalErrorHook, priority?: number): symbol {
|
|
165
|
+
return this.register(HookTypes.EXECUTE_CAPABILITY_MAPPING, HookStages.ERROR, hook, priority);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Execution convenience methods
|
|
169
|
+
async executeBeforeCreate(entities: Entity[]): Promise<void> {
|
|
170
|
+
await this.execute(HookTypes.CREATE, HookStages.BEFORE, { entities, operation: 'save', operationParameters: {}});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
async executeAfterCreate(entities: Entity | Entity[]): Promise<any> {
|
|
174
|
+
if (!Array.isArray(entities)) {
|
|
175
|
+
entities = [ entities ];
|
|
176
|
+
}
|
|
177
|
+
return this.execute(
|
|
178
|
+
HookTypes.CREATE,
|
|
179
|
+
HookStages.AFTER,
|
|
180
|
+
{ entities, operation: 'save', operationParameters: {}},
|
|
181
|
+
entities
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
async executeErrorCreate(entities: Entity[], error: Error): Promise<void> {
|
|
186
|
+
await this.execute(
|
|
187
|
+
HookTypes.CREATE,
|
|
188
|
+
HookStages.ERROR,
|
|
189
|
+
{ entities, operation: 'save', operationParameters: {}},
|
|
190
|
+
error
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
async executeBeforeExecuteCapabilityMapping(entities: Entity[], capabilityMapping: CapabilityMapping): Promise<void> {
|
|
195
|
+
await this.execute(HookTypes.EXECUTE_CAPABILITY_MAPPING, HookStages.BEFORE, {
|
|
196
|
+
entities,
|
|
197
|
+
operation: 'executeCapabilityMapping',
|
|
198
|
+
operationParameters: { capabilityMapping }
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
async executeAfterExecuteCapabilityMapping(
|
|
203
|
+
entities: Entity[],
|
|
204
|
+
capabilityMapping: CapabilityMapping,
|
|
205
|
+
result: any
|
|
206
|
+
): Promise<any> {
|
|
207
|
+
return this.execute(
|
|
208
|
+
HookTypes.EXECUTE_CAPABILITY_MAPPING,
|
|
209
|
+
HookStages.AFTER,
|
|
210
|
+
{
|
|
211
|
+
entities,
|
|
212
|
+
operation: 'executeCapabilityMapping',
|
|
213
|
+
operationParameters: { capabilityMapping }
|
|
214
|
+
},
|
|
215
|
+
result
|
|
216
|
+
);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
async executeErrorExecuteCapabilityMapping(
|
|
220
|
+
entities: Entity[],
|
|
221
|
+
capabilityMapping: CapabilityMapping,
|
|
222
|
+
error: Error
|
|
223
|
+
): Promise<void> {
|
|
224
|
+
await this.execute(
|
|
225
|
+
HookTypes.EXECUTE_CAPABILITY_MAPPING,
|
|
226
|
+
HookStages.ERROR,
|
|
227
|
+
{
|
|
228
|
+
entities,
|
|
229
|
+
operation: 'executeCapabilityMapping',
|
|
230
|
+
operationParameters: { capabilityMapping }
|
|
231
|
+
},
|
|
232
|
+
error
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Export a singleton instance
|
|
238
|
+
export const globalHooks = new GlobalHooksRegistry();
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Mapping
|
|
2
|
+
export * from './constants';
|
|
3
|
+
export { customCapabilities, type CustomCapabilityHandler } from './customCapabilities';
|
|
4
|
+
export { globalHooks as SklHooks, HookStages, HookTypes } from './hooks/globalHooks';
|
|
5
|
+
export * from './hooks/types';
|
|
6
|
+
// Code Executor
|
|
7
|
+
export * from './JsExecutor';
|
|
8
|
+
export * from './mapping/Mapper';
|
|
9
|
+
export * from './SklEngine';
|
|
10
|
+
// Storage
|
|
11
|
+
export * from './storage/FindOperator';
|
|
12
|
+
export * from './storage/FindOptionsTypes';
|
|
13
|
+
export * from './storage/operator/And';
|
|
14
|
+
export * from './storage/operator/Contains';
|
|
15
|
+
// Storage/Operator
|
|
16
|
+
export * from './storage/operator/Equal';
|
|
17
|
+
export * from './storage/operator/Exists';
|
|
18
|
+
export * from './storage/operator/GreaterThan';
|
|
19
|
+
export * from './storage/operator/GreaterThanOrEqual';
|
|
20
|
+
export * from './storage/operator/In';
|
|
21
|
+
export * from './storage/operator/Inverse';
|
|
22
|
+
export * from './storage/operator/InversePath';
|
|
23
|
+
export * from './storage/operator/InverseRelation';
|
|
24
|
+
export * from './storage/operator/InverseRelationOrder';
|
|
25
|
+
export * from './storage/operator/LessThan';
|
|
26
|
+
export * from './storage/operator/LessThanOrEqual';
|
|
27
|
+
export * from './storage/operator/Not';
|
|
28
|
+
export * from './storage/operator/OneOrMorePath';
|
|
29
|
+
export * from './storage/operator/Sequence';
|
|
30
|
+
export * from './storage/operator/SequencePath';
|
|
31
|
+
export * from './storage/operator/ZeroOrMorePath';
|
|
32
|
+
export * from './storage/query-adapter/QueryAdapter';
|
|
33
|
+
export * from './storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor';
|
|
34
|
+
export * from './storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor';
|
|
35
|
+
// Storage/Sparql
|
|
36
|
+
export * from './storage/query-adapter/sparql/SparqlQueryAdapter';
|
|
37
|
+
export * from './storage/query-adapter/sparql/SparqlQueryBuilder';
|
|
38
|
+
export * from './storage/query-adapter/sparql/SparqlUpdateBuilder';
|
|
39
|
+
export * from './storage/query-adapter/sparql/VariableGenerator';
|
|
40
|
+
// Util
|
|
41
|
+
export * from './util/TripleUtil';
|
|
42
|
+
export * from './util/Types';
|
|
43
|
+
export * from './util/Util';
|
|
44
|
+
export * from './util/Vocabularies/helper';
|
|
45
|
+
|