Is it possible for TypeScript to define a decimal type?

When storing price values in the database using MySQL and defining them as decimals, I encountered errors when trying to retrieve the data using tRPC.

 Types of property 'price' are incompatible.
    Type 'Decimal | null' is not assignable to type 'number'.
      Type 'null' is not assignable to type 'number'.

I searched for a way to define decimal types but could only find references to numbers.

prisma:

model project{
  price  Decimal?  @db.Decimal(19, 4)
...
}

frontend

type projectType = {
price:number
...
}

Even attempting to use BigInt resulted in an error:

Type 'Decimal | null' is not assignable to type 'BigInt'.

To work around the issue, I temporarily used any type. How can I solve this problem?

edit

  price  Decimal  @db.Decimal(19, 4)

Removing the question mark did not resolve the null problem; the error persisted.

Answer №1

I came across a helpful explanation about the error message "Type 'number' is not assignable to type 'Decimal'" on Stack Overflow

import { Prisma } from '@prisma/client'

type projectType = {
price:Prisma.Decimal
...
}

Additionally, I found information in this documentation link "Decimal"

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Connecting AngularFirebaseAuth: Running server API immediately following Firebase authentication?

My authentication process relies on two key factors: Using Firebase auth (email and password) Making a server API call to retrieve the complete customer entity from the database based on the firebaseID. The user must exist in both places for successful a ...

Is there a way to package extra files along with `NodejsFunction` in Node.js?

I am looking to add another HTML file to the source code, like shown below. https://i.sstatic.net/OyxDM.png Here is my current code: const mailerFunction = new aws_lambda_nodejs.NodejsFunction(this, 'ApiNotificationHandler', { runtime: lambd ...

find the element in cypress with multiple child elements

Looking for a way to target the first HTML element that contains more than 2 children. Another option is to access the children elements of the first parent element. <div class="market-template-2-columns"> <button type="button&q ...

Error Message Basics in Protractor End-to-End Testing

Recently delved into the world of Angular and now focusing on automating tests. I've created a simple app with a basic form prompting users to input their email. There's a required validator attached to the email field, ensuring that users must e ...

Tips for displaying three divs in one row and three divs in another row

I'm aiming for a design with 3 divs in one row and another 3 in the next, like this But what I currently have is different. Can someone assist me in achieving the desired layout? MY HTML : <div class="category-food"> < ...

Using the `require('ts-node/register')` method for programmatic implementation in TypeScript

ts-node recommends using require('ts-node/register'). This is also evident in the angular2-webpack-starter Protractor configuration. What exactly does require('ts-node/register') do? Does it modify require to compile TS files, allowing ...

Form an object using elements of a string array

Trying to convert a string array into an object. The string array is as follows : let BaseArray = ['origin/develop', 'origin/master', 'toto/branch', 'tata/hello', 'tata/world']; I want the resulting obje ...

Ensuring Map Safety in Typescript

Imagine having a Map structure like the one found in file CategoryMap.ts export default new Map<number, SubCategory[]>([ [11, [100, 101]], [12, [102, 103]], ... ]) Is there a way to create a type guard for this Map? import categoryMap fro ...

The tsconfig.json file does not support the path specified as "@types"

Having set up multiple absolute paths for my Next.js application, I encounter an issue where importing a component from the absolute path results in something like "../componentName" instead of "@components/componentName" when I am inside another folder. T ...

Can classes from an external package be imported into an Angular library within an Angular app using Openlayers?

I am currently developing an Angular library that configures an OpenLayers map as an Angular component. The component is functioning properly, but I need to access classes and constants from a package imported by the library, specifically OpenLayers. To w ...

JavaScript and TypeScript: Best practice for maintaining an Error's origin

Coming from a Java developer background, I am relatively new to JavaScript/TypeScript. Is there a standard approach for handling and preserving the cause of an Error in JavaScript/TypeScript? I aim to obtain a comprehensive stack trace when wrapping an E ...

Converting HTML to an array using Angular

Is there a way to convert HTML into an array of entities? For example: 'hi <em>there</em>' => ['hi', '<em>', 'there', '</em>'] ...

Error involving key mismatch between TypeScript inherited interface and literal string type

There are 3 interfaces (A, B, and C) that all extend from a shared interface (Common). Additionally, there is a container type which holds arrays of these 3 interfaces (Container). The goal is to select one of the arrays and extract a common property from ...

What is preventing me from utilizing maxLength with input fields?

Whenever I try to include maxLength in an input field, I encounter an error message stating "Invalid DOM property maxlength". Should I be using maxLength instead? Here's a link to the code: https://codesandbox.io/s/nkz2kwl7y0 ...

Stop the interval once the route is altered in Angular 2

After initiating a timer within an Angular 2 component located inside a router outlet, I encounter a problem when switching routes. The timer continues to run even after leaving the route. How can I ensure that the timer is properly stopped upon route ch ...

Is it possible to update input form fields in an Angular application?

I am currently designing a straightforward web page featuring a modal for creating a new object named Partner and sending it to the server. The page also includes multiple input fields to showcase the newly created data. In this project, I am utilizing Ang ...

Interactions between two components communicating through a method

I'm facing a peculiar issue with my code. I have component A and service B. I send an object from component A to service B, where it gets pushed into an array. Changes made to the data in the array are reflected back in the A component. Here's t ...

Is there a way to assign values of object properties to the corresponding object in TypeScript?

I'm looking for a solution in TypeScript where I can map values of object keys to the same object, and have IntelliSense work correctly. Here's an example that illustrates what I need: const obj = getByName([ { __name: 'foo', baz: &ap ...

Replacing a push operation in JavaScript with a splice operation

Upon entering a screen, 5 promises are automatically loaded using promise.all. The issue is that they are executed in a random order, and within each function, I use a push to store the information. The problem arises when I need to change the push to a s ...

Solving Circular Dependencies in React with TypeScript by using smart importing techniques

I've set up a union type in the parent component export type Students = "fresher" | "secondYear" | 'finalYear' | 'postGrad'; A circular dependency is causing issues, and the most obvious solution is to define ...