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

View File

@ -20,7 +20,6 @@ import { join } from "path";
import { import {
ArrowType, ArrowType,
ArrowWithoutCallbacks, ArrowWithoutCallbacks,
JSONValue,
LabeledProductType, LabeledProductType,
NilType, NilType,
SimpleTypes, 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) { if (typeof obj !== "object" || obj === null) {
return obj; 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; let accessProp = prop;
if (prop.includes("Laqua_js")) { if (prop.includes("Laqua_js")) {
@ -89,12 +90,14 @@ export function recursiveRenameLaquaProps(obj: JSONValue): unknown {
throw new Error(`Bad property name: ${prop}.`); throw new Error(`Bad property name: ${prop}.`);
} }
if (refinedProperty in obj) { if (refinedProperty in objType) {
accessProp = refinedProperty; accessProp = refinedProperty;
} }
} }
const laquaProp = obj[accessProp]; const accessObj: Record<string, unknown> = objType;
const laquaProp = accessObj[accessProp];
if (laquaProp === undefined) { if (laquaProp === undefined) {
return acc; 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 "./compilerSupport/aquaTypeDefinitions.js";
export * from "./commonTypes.js";
export * from "./future.js"; export * from "./future.js";