Refactor types

This commit is contained in:
Akim Mamedov 2024-03-04 18:56:50 +07:00
parent 6755f57b06
commit f7940618a1
4 changed files with 10 additions and 38 deletions

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
import { JSONValue, ServiceDef } from "@fluencelabs/interfaces";
import { ServiceDef } from "@fluencelabs/interfaces";
import { recursiveRenameLaquaProps } from "../utils.js";
@ -63,6 +63,6 @@ function generateRegisterServiceOverload(
}
function serviceToJson(service: ServiceDef): string {
const record: Record<never, JSONValue> = service;
const record: Record<never, unknown> = service;
return JSON.stringify(recursiveRenameLaquaProps(record), null, 4);
}

View File

@ -20,7 +20,6 @@ import { join } from "path";
import {
ArrowType,
ArrowWithoutCallbacks,
JSONValue,
LabeledProductType,
NilType,
SimpleTypes,
@ -67,7 +66,7 @@ export function getFuncArgs(
}
}
export function recursiveRenameLaquaProps(obj: JSONValue): unknown {
export function recursiveRenameLaquaProps(obj: unknown): unknown {
if (typeof obj !== "object" || obj === null) {
return obj;
}
@ -78,7 +77,9 @@ export function recursiveRenameLaquaProps(obj: JSONValue): unknown {
});
}
return Object.getOwnPropertyNames(obj).reduce((acc, prop) => {
const objType: {} = obj;
return Object.getOwnPropertyNames(objType).reduce((acc, prop) => {
let accessProp = prop;
if (prop.includes("Laqua_js")) {
@ -89,12 +90,14 @@ export function recursiveRenameLaquaProps(obj: JSONValue): unknown {
throw new Error(`Bad property name: ${prop}.`);
}
if (refinedProperty in obj) {
if (refinedProperty in objType) {
accessProp = refinedProperty;
}
}
const laquaProp = obj[accessProp];
const accessObj: Record<string, unknown> = objType;
const laquaProp = accessObj[accessProp];
if (laquaProp === undefined) {
return acc;

View File

@ -1,30 +0,0 @@
/**
* Copyright 2023 Fluence Labs Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Peer ID's id as a base58 string (multihash/CIDv0).
*/
export type PeerIdB58 = string;
export type JSONValue =
| string
| number
| boolean
| null
| { [x: string]: JSONValue }
| Array<JSONValue>;
export type JSONObject = { [x: string]: JSONValue };
export type JSONArray = Array<JSONValue>;

View File

@ -15,5 +15,4 @@
*/
export * from "./compilerSupport/aquaTypeDefinitions.js";
export * from "./commonTypes.js";
export * from "./future.js";