Problem encountered when trying to export a variable using TypeScript

I am encountering an issue with my TypeScript file:

let constants = {
    urls: {
      delegates: {
        AUTHENTICATION: {
          LOGIN: "auth/pub/login",                                                        // User Login (POST)
          LOGOUT: "auth/pub/logout",                                                       // User Logout
          PASSWORD_CHANGE: "security/pub/changepassword",                                           // Change user password (POST)
          PASSWORD_RESET: "security/pub/resetpassword",                                             // Reset user password (POST)
          PASSWORD_FORGOT: "security/pub/forgotpassword/{email}"                                    // Forgot password
        },
 ...

export constants.urls;//Does not compile...

I have encountered the following error messages:

Expected function, variable, class, interface or namespace declaration.
Expression statement is not an assignment or call.

edit: I attempted the following solution:

const urls = constants.urls;
export urls;

However, this resulted in the same error messages...

edit 2: Thanks to the response below and advice from Matt, I found a working solution:

const URLS = constants.urls;
export {URLS};

Answer №1

Here is a sample code snippet showing how to utilize constants for various URLs:

const endpoints = {
    home: {
        ABOUT_US: "about",
        CONTACT_US: "contact",
        NEWS: "news"
    },
    products: {
        LIST: "products/list",               // Get list of products
        DETAILS: "products/details/{id}",    // Get product details by ID
        ADD_TO_CART: "products/add-to-cart"  // Add product to shopping cart (POST)
    },
    users: {
        LOGIN: "users/login",                // User login endpoint (POST)
        LOGOUT: "users/logout"               // User logout endpoint
    }
};

const urls = endpoints;
export {urls};

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

The Typescript generics are unable to be assigned to type T

Take a look at my code snippet: interface IDoc { doSomething(): void } class IDocFoo implements IDoc { doSomething(): void { console.log('Do doSomething'); } } class IDocFactory { getIDocInstance<T extends IDoc>(): T { re ...

What's the best way to address this blind spot?

Exploring the world of TypeScript has left me puzzled by a scenario where TypeScript does not perform type checking as expected. I'm running into an issue where 'this.a.method()' appears to be error-free when it should actually throw an erro ...

Issue with Next.js 14: Server Component causing app crashes when tabs with ShadowCN are repeatedly fetched and changed

I'm currently developing a Next.js 14 application that utilizes ShadCN for UI components and TanStack Query for data fetching. The main screen of the app features a Tabs component that enables users to switch between different sections. One of these s ...

The name property of event.currentTarget is now being returned as currentTarget

I am facing an issue with my handleChange function in typescript. When I try to retrieve the name attribute from a text field and log it, it returns 'currentTarget' instead of the assigned name. Additionally, the value is showing up as undefined. ...

Struggling with TypeScript Errors while Extending Theme Colors in Material UI React using TypeScript

Just started with typescript and feeling a bit lost, can someone offer some guidance? I'm working on a React project using material-ui with typescript. To add a new color the correct way, it needs to be added to a theme: const theme = createMuiTheme({ ...

Creating a Mocha+Chai test that anticipates an exception being thrown by setTimeout

Here is what I have: it('invalid use', () => { Matcher(1).case(1, () => {}); }); I am trying to ensure that the case method throws an exception after a delay. How can I specify this for Mocha/Chai so that the test passes only if an exce ...

Exploring the concept of TypeScript interface declaration

I have a function A that will return function B. The parameter of function B is object C, which has a property named D with a type of T. T's value is determined when function B is fetched; this means T can be set when calling function A or using alte ...

How does the order of objects in an array change when using *ngFor in Angular with a .subscribe() method in Ionic 3?

As a newcomer to Ionic 3 & Angular, I encountered a challenge with the *ngFor and .subscribe() method. Please bear with me if this question seems simple. I attempted to understand the behavior of the http.get(..).map(..).subscribe() function when combined ...

Type Script is throwing an unidentified error being encountered

I am a beginner in Type Script and I'm attempting to convert a small piece of javascript code into typescript, but I keep encountering an error: typeError list[i] is undefined. Here is my original js code: function handleDragStart(e) { this.style.o ...

I encountered an error stating "Buffer is not defined" originating from the Deode/Encode Stream Bundle.js script, not from my own code

I've encountered a major issue while attempting to update my npm project to webpack 5, and now I'm left with just one persistent error: bundle.js:1088566 Uncaught ReferenceError: Buffer is not defined at bundle.js:1044980:24 ...

Unveiling the magic behind using jasmine to spy on a generic

I am trying to spy on a generic method in TypeScript, but Jasmine is not recognizing it. Here is the code snippet: http: HttpClient <- Not actual code, just showing type. ... this.http.get<Customer[]>(url); In this code, I am trying to mock the ...

Ensuring there are no null values in TypeScript

I am encountering an issue with the following TypeScript code: console.log ('collection[0] -> ' + collection[0] ); console.log ('collection[0] !== null -> ' + collection[0] !== null); However, the output on the console is unexp ...

Learn the steps to refresh a component in Angular 5

src/shared.service.ts public _testData:any;   set testData(value:any) {     this._testData = value   }   get testData():any {     return this._testData;   } src/header.component.ts private postValues( ...

Retrieve all child components of a container, including those displayed through a router-outlet

I have a main element that must verify if it includes a specific kind of element within all currently displayed elements: In app.element.html: <router-outlet></router-outlet> In app.element.ts: @ViewChildren(ElementToLocate) query: QueryList& ...

How can I customize icons within the <mat-nav-list> using Angular?

Is it possible to change the icons as follows? If the list is expanded, display icon "arrow1" Otherwise, show icon named "arrow2". How can I determine if the list is expanded and implement this in HTML? <mat-nav-list> <mat-list-item> ...

The TypeScript package encountered an unexpected token export

I have integrated a module from a private git repository. Package.json: "my-module": "git+https://username:<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cebeb98eaca7baacbbada5abbae0a1bca9">[email protected]</a> ...

Is there a way to automatically extend my content to fill the space on the page below the Material UI AppBar?

I am currently using React and Material UI React to develop my application. My goal is to implement the AppBar component with content underneath, without causing the entire page to scroll. I want the content to occupy the maximum remaining height and the f ...

What is the best way to organize class usage within other classes to prevent circular dependencies?

The engine class presented below utilizes two renderer classes that extend a base renderer class: import {RendererOne} from "./renderer-one"; import {RendererTwo} from "./renderer-two"; export class Engine { coordinates: number; randomProperty: ...

Troubleshooting Next.js Mobile Freeze Issue: Unresponsive Scroll After Page Transition

Encountered a strange bug while testing my Next.js + Bootstrap demo project on mobile view. When using the burger menu to navigate to a new page on a mobile phone, attempting to scroll down causes it to stick/freeze/hang inexplicably. Despite my efforts to ...

What is the best way to define a precise return type for a JSX Element?

Is it possible to define a function that returns a Button element and what would the correct return type of the function be? For example: Ex: const clickMeButton = (): Button => { return ( <Button> Click Me </Button& ...