Skip to content

Commit

Permalink
refactor: remove now obsolete nullish coalescing
Browse files Browse the repository at this point in the history
  • Loading branch information
JKRhb committed Nov 29, 2023
1 parent 0b96413 commit f5f1210
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 26 deletions.
4 changes: 2 additions & 2 deletions packages/binding-coap/src/coap-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ export default class CoapClient implements ProtocolClient {
debug(`CoapClient received Content-Format: ${res.headers["Content-Format"]}`);

// FIXME does not work with blockwise because of node-coap
const contentType = res.headers["Content-Format"] ?? form.contentType ?? ContentSerdes.DEFAULT;
const contentType = res.headers["Content-Format"] ?? form.contentType;

res.on("data", (data: Buffer) => {
next(new Content(`${contentType}`, Readable.from(res.payload)));
Expand Down Expand Up @@ -253,7 +253,7 @@ export default class CoapClient implements ProtocolClient {
const method = form["cov:method"] ?? defaultMethod;
debug(`CoapClient got Form "method" ${method}`);

const contentFormat = form["cov:contentFormat"] ?? form.contentType ?? "application/json";
const contentFormat = form["cov:contentFormat"] ?? form.contentType;
debug(`"CoapClient got Form 'contentType' ${contentFormat} `);

const accept = form["cov:accept"];
Expand Down
2 changes: 1 addition & 1 deletion packages/binding-coap/src/coap-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,7 @@ export default class CoapServer implements ProtocolServer {
);
}

return contentType ?? ContentSerdes.DEFAULT;
return contentType;
}

private checkContentTypeSupportForInput(method: string, contentType: string): boolean {
Expand Down
6 changes: 3 additions & 3 deletions packages/binding-coap/src/coaps-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export default class CoapsClient implements ProtocolClient {
debug(`CoapsClient received ${res.code} from ${form.href}`);

// FIXME: Add toString conversion for response Content-Format
const contentType = form.contentType ?? ContentSerdes.DEFAULT;
const contentType = form.contentType;
const body = Readable.from(res.payload ?? Buffer.alloc(0));

resolve(new Content(contentType, body));
Expand Down Expand Up @@ -79,7 +79,7 @@ export default class CoapsClient implements ProtocolClient {
debug(`CoapsClient received ${res.code} from ${form.href}`);

// FIXME: Add toString conversion for response Content-Format
const contentType = form.contentType ?? ContentSerdes.DEFAULT;
const contentType = form.contentType;
const body = Readable.from(res.payload ?? Buffer.alloc(0));

resolve(new Content(contentType, body));
Expand Down Expand Up @@ -118,7 +118,7 @@ export default class CoapsClient implements ProtocolClient {

const callback = (resp: CoapResponse) => {
if (resp.payload != null) {
next(new Content(form?.contentType ?? ContentSerdes.DEFAULT, Readable.from(resp.payload)));
next(new Content(form?.contentType, Readable.from(resp.payload)));
}
};

Expand Down
5 changes: 1 addition & 4 deletions packages/binding-http/src/subscription-protocols.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,7 @@ export class SSESubscription implements InternalSubscription {
};
this.eventSource.onmessage = (event) => {
debug(`HttpClient received ${JSON.stringify(event)} from ${this.form.href}`);
const output = new Content(
this.form.contentType ?? ContentSerdes.DEFAULT,
Readable.from(JSON.stringify(event))
);
const output = new Content(this.form.contentType, Readable.from(JSON.stringify(event)));
next(output);
};
this.eventSource.onerror = function (event) {
Expand Down
2 changes: 1 addition & 1 deletion packages/binding-modbus/src/modbus-connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ export class PropertyOperation {
this.quantity = form["modbus:quantity"];
this.function = form["modbus:function"] as ModbusFunction;
this.endianness = endianness;
this.contentType = form.contentType ?? ContentSerdes.DEFAULT;
this.contentType = form.contentType;
this.content = content;
this.transaction = null;
}
Expand Down
8 changes: 4 additions & 4 deletions packages/binding-mqtt/src/mqtt-broker-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ export default class MqttBrokerServer implements ProtocolServer {
* https://github.com/mqttjs/MQTT.js/pull/1103
* For further discussion see https://github.com/eclipse-thingweb/node-wot/pull/253
*/
const contentType = packet?.properties?.contentType ?? ContentSerdes.DEFAULT;
const contentType = packet?.properties?.contentType;

const options: InteractionOptions & { formIndex: number } = {
formIndex: ProtocolHelpers.findRequestMatchingFormIndex(
Expand All @@ -288,7 +288,7 @@ export default class MqttBrokerServer implements ProtocolServer {
),
};

const formContentType = action.forms[options.formIndex].contentType ?? ContentSerdes.DEFAULT;
const formContentType = action.forms[options.formIndex].contentType;
const inputContent = new Content(formContentType, Readable.from(payload));

thing
Expand Down Expand Up @@ -320,7 +320,7 @@ export default class MqttBrokerServer implements ProtocolServer {
) {
const readOnly = property.readOnly ?? false;
if (!readOnly) {
const contentType = packet?.properties?.contentType ?? ContentSerdes.DEFAULT;
const contentType = packet?.properties?.contentType;

const options: InteractionOptions & { formIndex: number } = {
formIndex: ProtocolHelpers.findRequestMatchingFormIndex(
Expand All @@ -331,7 +331,7 @@ export default class MqttBrokerServer implements ProtocolServer {
),
};

const formContentType = property.forms[options.formIndex].contentType ?? ContentSerdes.DEFAULT;
const formContentType = property.forms[options.formIndex].contentType;
const inputContent = new Content(formContentType, Readable.from(payload));

try {
Expand Down
2 changes: 1 addition & 1 deletion packages/binding-mqtt/src/mqtt-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export default class MqttClient implements ProtocolClient {
): Promise<Subscription> {
return new Promise<Subscription>((resolve, reject) => {
// get MQTT-based metadata
const contentType = form.contentType ?? ContentSerdes.DEFAULT;
const contentType = form.contentType;
const requestUri = new url.URL(form.href);
const topic = requestUri.pathname.slice(1);
const brokerUri: string = `${this.scheme}://` + requestUri.host;
Expand Down
6 changes: 2 additions & 4 deletions packages/binding-opcua/src/opcua-protocol-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ export class OPCUAProtocolClient implements ProtocolClient {

///
private async _dataValueToContent(form: OPCUAForm, dataValue: DataValue): Promise<Content> {
const contentType = form.contentType ?? "application/json";
const contentType = form.contentType;

// QUESTION: how can we extend the default contentSerDes.valueToContent for application/json,
const contentSerDes = ContentSerdes.get();
Expand Down Expand Up @@ -615,13 +615,11 @@ export class OPCUAProtocolClient implements ProtocolClient {
): Promise<Content> {
const outputArguments = (argumentDefinition.outputArguments ?? []) as unknown as Argument[];

const contentType = form.contentType ?? "application/json";

const body: Record<string, unknown> = {};
for (let index = 0; index < outputArguments.length; index++) {
const argument = outputArguments[index];
const { name } = argument;
const element = _variantToJSON(outputVariants[index], contentType);
const element = _variantToJSON(outputVariants[index], form.contentType);
body[name ?? "null"] = element;
}

Expand Down
8 changes: 3 additions & 5 deletions packages/core/src/consumed-thing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,7 @@ export default class ConsumedThing extends TD.Thing implements IConsumedThing {

const content = await client.invokeResource(form, input);
// infer media type from form if not in response metadata
if (!content.type) content.type = form.contentType ?? "application/json";
content.type ??= form.contentType;

// check if returned media type is the same as expected media type (from TD)
if (form.response != null) {
Expand Down Expand Up @@ -725,8 +725,7 @@ export default class ConsumedThing extends TD.Thing implements IConsumedThing {
formWithoutURITemplates,
// next
(content) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- tsc get confused when nullables are to listeners lambdas
if (!content.type) content.type = form!.contentType ?? "application/json";
content.type ??= form.contentType;
try {
listener(new InteractionOutput(content, form, tp));
} catch (e) {
Expand Down Expand Up @@ -782,8 +781,7 @@ export default class ConsumedThing extends TD.Thing implements IConsumedThing {
await client.subscribeResource(
formWithoutURITemplates,
(content) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- tsc get confused when nullables are to listeners lambdas
if (!content.type) content.type = form!.contentType ?? "application/json";
content.type ??= form.contentType;
try {
listener(new InteractionOutput(content, form, te.data));
} catch (e) {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/exposed-thing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ export default class ExposedThing extends TD.Thing implements WoT.ExposedThing {
return ContentManager.valueToContent(
result,
this.properties[propertyName],
form?.contentType ?? "application/json"
form.contentType
);
} else {
throw new Error(`ExposedThing '${this.title}' has no readHandler for Property '${propertyName}'`);
Expand Down

0 comments on commit f5f1210

Please sign in to comment.