Skip to content

Commit f2ffbcf

Browse files
committed
Apply some ideas of code review
1 parent 667265f commit f2ffbcf

6 files changed

Lines changed: 13 additions & 31 deletions

File tree

ts/src/action_sdk.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {ActionTransferServiceClient, TransferRequest} from "@code0-tech/tucana/a
55
import {FlowTypeSetting,} from "@code0-tech/tucana/shared";
66
import {constructValue, toAllowedValue} from "@code0-tech/tucana/helpers";
77
import 'reflect-metadata';
8-
import {connect as connectHelper} from "./sdk/connection/connection";
8+
import {connect} from "./sdk/connection/connection";
99
import {registerFunctionDefinitionClass} from "./sdk/builder/registerFunctionDefinitionClass";
1010
import {registerRuntimeFunctionDefinitionClass} from "./builder/registerRuntimeFunctionDefinitionClass";
1111

@@ -52,7 +52,7 @@ const createSdk = (config: ActionSdk["config"], configDefinitions?: HerculesActi
5252
state.stream?.responses.onError(handler)
5353
},
5454
connect: options => {
55-
return connectHelper(state, config, options);
55+
return connect(state, config, options);
5656
},
5757
getProjectActionConfigurations: () => {
5858
return state.projectConfigurations.map(value => {
@@ -97,7 +97,7 @@ const createSdk = (config: ActionSdk["config"], configDefinitions?: HerculesActi
9797
linkedDataTypeIdentifiers: dataType.linkedDataTypes || [],
9898
displayMessage: dataType.displayMessage || [],
9999
definitionSource: "action",
100-
version: dataType.version || config.version,
100+
version: config.version,
101101
});
102102
})
103103

@@ -116,7 +116,7 @@ const createSdk = (config: ActionSdk["config"], configDefinitions?: HerculesActi
116116
displayMessage: flowType.displayMessage || [],
117117
documentation: flowType.documentation || [],
118118
definitionSource: "action",
119-
version: flowType.version || config.version,
119+
version: config.version,
120120
linkedDataTypeIdentifiers: flowType.linkedDataTypes || [],
121121
settings: (flowType.settings || []).map(setting => ({
122122
name: setting.name || [],
@@ -146,7 +146,7 @@ const createSdk = (config: ActionSdk["config"], configDefinitions?: HerculesActi
146146
event: {
147147
projectId: projectIdBigInt,
148148
eventType: eventType,
149-
payload: constructValue(payload) || constructValue(null),
149+
payload: constructValue(payload || null),
150150
}
151151
}
152152
})
@@ -161,5 +161,5 @@ const createSdk = (config: ActionSdk["config"], configDefinitions?: HerculesActi
161161

162162
export {
163163
createSdk,
164-
connectHelper as connect
164+
connect
165165
}

ts/src/sdk/builder/builder.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ export function buildRuntimeFunctionDefinition(klass: RuntimeFunctionDefinitionC
2020
const documentation: HerculesRuntimeFunctionDefinition["documentation"] = Reflect.getMetadata('hercules:documentation', klass) || []
2121
const signature: HerculesRuntimeFunctionDefinition["signature"] = Reflect.getMetadata('hercules:signature', klass)
2222
const linkedDataTypeIdentifiers: HerculesRuntimeFunctionDefinition["linkedDataTypes"] = Reflect.getMetadata('hercules:linked_data_type_identifiers', klass) || []
23-
const version: HerculesRuntimeFunctionDefinition["version"] = Reflect.getMetadata('hercules:version', klass) || config.version
2423
const displayIcon: HerculesRuntimeFunctionDefinition["displayIcon"] = Reflect.getMetadata('hercules:display_icon', klass) || ""
2524
const throwsError: HerculesRuntimeFunctionDefinition["throwsError"] = Reflect.getMetadata('hercules:throws_error', klass) || false
2625
const runFunction = new klass().run
@@ -38,7 +37,7 @@ export function buildRuntimeFunctionDefinition(klass: RuntimeFunctionDefinitionC
3837
alias: alias || [],
3938
name: names || [],
4039
description: description || [],
41-
version: version || config.version,
40+
version: config.version,
4241
runtimeName: identifier,
4342
deprecationMessage: deprecationMessage || [],
4443
displayIcon: displayIcon || "tabler:note",

ts/src/sdk/builder/registerFunctionDefinitionClass.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ export function registerFunctionDefinitionClass(config: {
2727
const documentation: HerculesFunctionDefinition["documentation"] = Reflect.getMetadata('hercules:documentation', klass)
2828
const signature: HerculesFunctionDefinition["signature"] = Reflect.getMetadata('hercules:signature', klass)
2929
const linkedDataTypeIdentifiers: HerculesFunctionDefinition["linkedDataTypes"] = Reflect.getMetadata('hercules:linked_data_type_identifiers', klass)
30-
const version: HerculesFunctionDefinition["version"] = Reflect.getMetadata('hercules:version', klass)
3130
const displayIcon: HerculesFunctionDefinition["displayIcon"] = Reflect.getMetadata('hercules:display_icon', klass)
3231
const throwsError: HerculesFunctionDefinition["throwsError"] = Reflect.getMetadata('hercules:throws_error', klass)
3332

@@ -49,7 +48,7 @@ export function registerFunctionDefinitionClass(config: {
4948
signature: signature || runtimeDefinition.signature,
5049
throwsError: throwsError || runtimeDefinition.throwsError,
5150
alias: alias || runtimeDefinition.alias,
52-
version: version || runtimeDefinition.version,
51+
version: config.version,
5352
description: description || runtimeDefinition.description,
5453
name: names || runtimeDefinition.name,
5554
documentation: documentation || runtimeDefinition.documentation,

ts/src/sdk/connection/connection.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export async function connect(state: SdkState, config: ActionSdk["config"], opti
3535

3636
return new Promise(async (resolve, reject) => {
3737
try {
38-
for await (let message of state?.stream?.responses || []) {
38+
for await (const message of state?.stream?.responses || []) {
3939
logger.debug({
4040
message: message,
4141
config,

ts/src/sdk/execution.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ function buildContext(message: TransferResponse, execution: ExecutionRequest, st
4444
const params = buildParams(execution, func, message);
4545

4646
let conf = state.projectConfigurations.find(config => {
47-
//TODO
48-
return true
47+
return config.projectId === execution.projectId
4948
})
5049

5150
if (!conf) {
@@ -97,7 +96,7 @@ export function handleExecutionRequest(state: SdkState, message: TransferRespons
9796
context
9897
})
9998

100-
const funcHandler = (func as any).handler
99+
const funcHandler = func.handler
101100

102101
if (funcHandler.length == params.length + 1) {
103102
// handler has context parameter
@@ -110,14 +109,7 @@ export function handleExecutionRequest(state: SdkState, message: TransferRespons
110109
return;
111110
}
112111

113-
const result = new Promise((resolve, reject) => {
114-
try {
115-
resolve(funcHandler(...params))
116-
} catch (e) {
117-
reject(e)
118-
}
119-
})
120-
result.then((value: any) => {
112+
Promise.resolve(funcHandler(...params)) .then((value: any) => {
121113
const request = TransferRequest.create({
122114
data: {
123115
oneofKind: "result",

ts/src/types.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ export interface HerculesDataType {
3030
rules?: DefinitionDataTypeRule[],
3131
genericKeys?: string[],
3232
type: string,
33-
linkedDataTypes?: string[],
34-
// Will default to sdk version
35-
version?: string
33+
linkedDataTypes?: string[]
3634
}
3735

3836
export interface HerculesFlowTypeSetting {
@@ -55,7 +53,6 @@ export interface HerculesFlowType {
5553
documentation?: HerculesTranslation[],
5654
displayMessage?: HerculesTranslation[],
5755
alias?: HerculesTranslation[],
58-
version?: string,
5956
displayIcon?: string,
6057
}
6158

@@ -81,7 +78,6 @@ export interface HerculesRuntimeFunctionDefinition {
8178
displayMessage?: HerculesTranslation[],
8279
alias?: HerculesTranslation[],
8380
linkedDataTypes?: string[],
84-
version?: string,
8581
displayIcon?: string,
8682
}
8783

@@ -109,7 +105,6 @@ export interface HerculesFunctionDefinition {
109105
displayMessage?: HerculesTranslation[],
110106
alias?: HerculesTranslation[],
111107
linkedDataTypes?: string[],
112-
version?: string,
113108
displayIcon?: string,
114109
}
115110

@@ -222,9 +217,6 @@ export const Signature = (signature: string): ClassDecorator =>
222217
export const LinkedDataTypeIdentifiers = (...linkedDataTypeIdentifiers: string[]): ClassDecorator =>
223218
(target) => Reflect.defineMetadata('hercules:linked_data_type_identifiers', linkedDataTypeIdentifiers, target)
224219

225-
export const Version = (version: string): ClassDecorator =>
226-
(target) => Reflect.defineMetadata('hercules:version', version, target)
227-
228220
export const ThrowsError = (throwsError: boolean = true): ClassDecorator =>
229221
(target) => Reflect.defineMetadata('hercules:throws_error', throwsError, target)
230222

0 commit comments

Comments
 (0)